abewley / sort

Simple, online, and realtime tracking of multiple objects in a video sequence.
GNU General Public License v3.0
3.82k stars 1.07k forks source link

Advice for tweaking #99

Open artcontr opened 4 years ago

artcontr commented 4 years ago

Hi @abewley , thanks so much for this code.

I'm trying to count the fish passing through these kind of videos this video. I'm using yolov4 to detect, and I'm getting really good results. I tried SORT for tracking and it works pretty well. But I'm wondering if someone has any advice to optimise the SORT. The particularity of these videos that could help SORT are that fishes arrive on the left and leave on the right, they have no other option. They cannot appear or disappear from anywhere else. Any pointer / help would be appreciated to adjust iou_threshold, max_age, min_hit, or other modifications I could try to make on the code ? (Or any other method I should use)

Best regards.

JonathanSamelson commented 4 years ago

Hi @artcontr ,

I'm not working on fish counting but on traffic counting, so I'm not sure it will help you but in case it does, here are the parameters I use: max_age=1, min_hits=0.

Also, I noticed that when there is a large variation in the movements of the objects, there is an interesting parameter to tweak. It's called alpha in the documentation of Kalman filter: "Assign a value > 1.0 to turn this into a fading memory filter.". In my case this parameter is relevant because the speed of an object that moves away varies, so the most recent information are more important than the old ones to predict the position of the box. It can be set in the init function of the KalmanBoxTracker class.

I see that you have some videos where the fishes are packed, resulting in lots of occlusions. I personally noticed that SORT encounters some problems to deal with such issues, so maybe another tracker will work better.

varungupta31 commented 2 years ago

Hey @JonathanSamelson @artcontr I am trying to run the tracker on traffic sign detections as well. I created a custom video set, trained a yolo model for detections. Created the det file for the tracker, and generated tracker output (.txt) file as well. I want to visualize these tracking on my custom set of videos (not on the MOT benchmark dataset). are you aware how can I do that?

andreaceruti commented 2 years ago

@varungupta31 check this repo https://github.com/mlvlab/COSE474, if you see at the end of the demo number 3, you will see a script where authors output the tracked id label to the bounding box.