FastTrack 6.1.0
Tracks multiples objects dealing with occlusion and identities.
|
FastTrack is developed to be used as a standalone application. I can also be embedded in existing C++/Qt projects or adapted to a specific project by re-implementing the existing software.
Each library can be compilated from source code, see https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows_with_MSVC2017, https://wiki.qt.io/Building_Qt_6_from_Git, etc...
Library prebuild can be found for Windows, macOS, and Windows to speed up the installation process.
The MSVC compiler can be installed as a part of Visual Studio Community 2019. During the installation process do not forget to select Visual Studio Build Tools 2019 to install the build tools.
Follow the installation steps. On the Select Components page, select MSVC2019 64-bit.
Open the Settings dialogue.
Open the Edit the system environment variables and click on the Environment Variables button.
Double click on Path and add the Qt path: **C:\Qt\Qt6.1.2\Tools\msvc2019_64\bin** and the MSVC path **“C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\Hostx64\x64”**
Extract OpenCV in the C: folder.
brew install opencv4
/brew install qt
.qmake6 FastTrack.pro
then make
.qmake6 FastTrack.pro
then make
.FastTrack uses GoogleTest and Pytest to perform the unit and functional testing. The installation process can be found on these libraries' documentation.
To adapt FastTrack for our project, you must re-implement the startProcess() and imageAnalysis() virtual methods from the Tracking class with our image analysis workflow.
The startProcess() method initializes the tracking process by taking the first image of the sequence, detecting its format and all the objects in the image.
By default the image analysis workflow is the following:
The startProcess() method will emit a signal with the images to display and a signal to trigger the analysis of the rest of the image sequence.
The imageAnalysis() method detects objects, extracts its parameters and associates objects to keep track of individual identity.
By default the image analysis workflow is the following:
The imageAnalysis() method will emit a signal with the image to display and trigger the analysis of the next image of the image sequence.
To embed Fast Track in an existing project, you must first create a thread where the Tracking class will live.
The tracking analysis will be running in the thread and destroy itself at the end.
FastTrack supports live tracking analysis. Be sure to test the program on a video before to see if the analysis frame rate is lower or equal to the tracking analysis frame rate.
Create an acquisition image thread with an object Camera that sends a signal newImage(UMat) when a new image is available.
The documentation can be generated in HTML and PDF format with Doxygen. Install Doxygen and run