A C++ program for testing and comparing the performance of different object tracking algorithms.
A sample test result video is included below:
test-in-6-tracker.mp4
This program uses OpenCV to read a video file and apply different tracking algorithms to detect and track objects. The program displays the tracking results in real-time, allowing for easy comparison of the different algorithms.
- Nano
- MIL
- KCF
- DaSiamRPN
- GOTURN
- CSRT
- OpenCV 4.10.0 or later
- C++ compiler (tested with GCC 13.2.0)
To build and run the program, follow these steps:
-
- For GOTURN:
- goturn.prototxt and goturn.caffemodel: https://github.com/opencv/opencv_extra/tree/c4219d5eb3105ed8e634278fad312a1a8d2c182d/testdata/tracking
-
- For DaSiamRPN:
- network: https://www.dropbox.com/s/rr1lk9355vzolqv/dasiamrpn_model.onnx?dl=0
- kernel_r1: https://www.dropbox.com/s/999cqx5zrfi7w4p/dasiamrpn_kernel_r1.onnx?dl=0
- kernel_cls1: https://www.dropbox.com/s/qvmtszx5h339a0w/dasiamrpn_kernel_cls1.onnx?dl=0
-
- For NanoTrack:
- nanotrack_backbone: https://github.com/HonglinChu/SiamTrackers/blob/master/NanoTrack/models/nanotrackv2/nanotrack_backbone_sim.onnx
- nanotrack_headneck: https://github.com/HonglinChu/SiamTrackers/blob/master/NanoTrack/models/nanotrackv2/nanotrack_head_sim.onnx
To download files via terminal you can use following method
wget <url>
- Clone the repository
- Create a build directory and navigate to it
- Run
cmake ..to generate the build files - Run
maketo build the program - Run
./tracker_tester_cppto execute the program