cheind / py-motmetrics

:bar_chart: Benchmark multiple object trackers (MOT) in Python
MIT License
1.37k stars 259 forks source link

fix bug when re-establish tracks and privide consistent result with matlab toolbox #127

Closed shensheng27 closed 11 months ago

shensheng27 commented 3 years ago

Considering match before last frameid when re-establish tracks will lead to unpredicted match and neglected id tranfer.

From result on private dataset and result, HId 148 trasfer bettween 23 and 27, but not counted timely. Before bug fix: events.loc[event["HId"]==148] image events.loc[event["0Id"]==23] image events.loc[event["0Id"]==27] image

After bug fix: events.loc[event["HId"]==148] image

iou_det_SDP.zip When testing the iou_det_SDP.zip on MOT16_train, average MOTA is 62.9%(pymotmetrics) with 63.1%(mot challendge matlab toolbox)

image image

By the way, ML MT definition is slight different with matlab toolbox, but it's unimportant: pymotmetrics: ML >= 0.8; partially_tracked 0.2 <= <0.8 matlab: ML > 0.8; partially_tracked 0.2 <= <=0.8

If change the ML MT definition in metrics.py as well, result will be: image

The commit is tested in master branch, but mot.py is same in the branch.

cheind commented 11 months ago

thanks!