Yet another C++ adaptation of SOTA multi-object tracking algorithm
Get the MOT dataset of your choice from MOT website
cd data
wget https://motchallenge.net/data/MOT20.zip
unzip MOT20.zip && rm MOT20.zip
In config
folder, add your custom tracker config:
SORT
{
"tracker": {
"name": "sort",
"kalman": {
"time_step": 1,
"process_noise_scale": 1.0,
"measurement_noise_scale": 1.0
},
"max_time_lost": 15,
"match_thresh": 0.3
}
}
BoTSORT
{
"tracker": {
"name": "botsort",
"kalman": {
"time_step": 1,
"process_noise_scale": 1.0,
"measurement_noise_scale": 1.0
},
"max_time_lost": 15,
"track_high_thresh": 0.5,
"track_low_thresh": 0.1,
"new_track_thresh": 0.6,
"first_match_thresh": 0.3,
"second_match_thresh": 0.1,
"unconfirmed_match_thresh": 0.2,
"proximity_thresh": 0.5,
"appearance_thresh": 0.9
}
}
meson setup build
meson compile -C build
cd build/app
./mot -h
# Example
./mot -i data/MOT20/train/<seq-name> -c config/sort.json --display
chmod +x mot-eval.sh
./mot-eval.sh --dataset data/MOT20 --split train --config app/config/sort.json --save
# experiment output available in runs folder
https://github.com/tensorworksio/TensorRT-Vision/tree/main/app/mot