MCTracker is a multi camera tracker based on homography and costs. The costs are computed according to the Mahalanobis distance. Then, a Linear Assignment approach together with a Munkres algorithm have been used for assigning the current detections to the previous tracks.
- C++14
- OpenCV
- Darknet (https://github.com/AlexeyAB/darknet)
- Boost
- CUDA (not mandatory)
- Yaml-cpp
- Clone darknet repository into the main folder (mctracker).
- Modify the Makefile in order to use GPU (if any), to use OPENCV, and to build the library:
- GPU=1, LIBSO=1 and OPENCV=1
- If necessary, modify the cuda path as well as the architecture (inside the makefile)
- Inside the darknet folder, go into the forlder include and edit the file yolo_v2_class.hpp
- Comment Lines 107 and 179 (#ifdef OPENCV and #endif)
- Compile it with:
make
- Download the COCO weights:
- https://pjreddie.com/media/files/yolov3.weights
- Move the downloaded file into the folder weights
- In the main folder mctracker, create a folder build
- navigate into the folder build and compile it with the following commands:
cmake .. && make
- To launch the application:
./multi_camera_tracker ../configs/config.yaml
- To create a new homography file:
./homography_app /path/to/the/source/image /path/to/the/destination/image /path/to/yaml/file (where you save the homography)
MIT