Full MOT17 benchmark & Hungarian algorithm#21
Merged
Conversation
Contributor
Author
|
If you ignore DPM detection with negative confidence, a lot of false positives get removed and the Hungarian algorithm performs better there than the k-d tree algorithm. Also, an IoU threshold of 0.05 seems really low to me. That results in a lot of bad matches with very small overlap and a lot of valid detections falsely removed as double detections. If you also change that to 0.2, you get the following result for the Hungarian algorithm: |
Member
|
@akretz wanted to do this for ages, thanks ! I'm super busy this end of week but next week I'll have a look |
Collaborator
|
@akretz Thank you for the contributions. Better late then never I guess ;-) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hello everyone,
currently, there's only one MOT17 sequence used for benchmarking purposes. I've added a bash script which downloads the labels of all MOT17 sequences, unpacks them in the correct directory, runs the tracker on all sequences and finally evaluates all results. Also, I've removed short trajectories consisting of less than 10 frames from the output, because a lot of detection boxes are false positives and this should remove most of them.
I've also added an alternative matching algorithm using the Hungarian algorithm (also called Munkres assignment algorithm) instead of k-d trees. That algorithm, I thought, should perform better because it finds the minimum cost matching while the k-d tree algorithm only approximates a good solution. Running the MOT17 benchmark, I've found that the k-d tree algorithm has the following results
while the Hungarian algorithm has the following results
Since the Hungarian algorithm finds optimal matchings, it matches tracked objects to detection boxes more often, which results in fewer false negatives (FN), but also more false positives (FP). Also, we have more mostly tracked (MT, trajectories which are tracked for at least 80% of frames) trajectories.
In general, you can see that the tracker using the Hungarian algorithm performs slightly worse when the detector has a lot of false positives (compare the results which use the DPM detector) and slightly better when the detector doesn't have that many false positives. I suspect the Hungarian algorithm should be slightly better when we use YOLO detections, as the number of false positives tends to be rather small.
I've added a parameter which can switch between the k-d tree algorithm and the Hungarian algorithm and left the k-d tree algorithm as default. In order to evaluate which algorithm is a better fit for OpenDataCam, I guess further evaluation needs to be done. Using YOLO detections instead of detections given by the MOT17 benchmark for evaluation purposes is probably a good idea. Since traffic scenarios seem to be a major use case of OpenDataCam, using the UA-DETRAC dataset for future evaluations might be a good idea.