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

missing objects for tracking objects video= 10fps #146

Open PROGRAMMINGENGINEER-NIKI opened 2 years ago

PROGRAMMINGENGINEER-NIKI commented 2 years ago

Thanks for the useful repository. I combined the sort algorithm with an object detection(YOLOV3), I run the application at 30 fps but my video feed is 10fps. I noticed when the video feed is slow,10fps, the system does not work well, it misses some object for a few frames and id switching happens. I wonder why this is happening? is it due to the Kalman filter? How Kalman filter can be affected when the video is slow 1 or 10 fps?

cappittall commented 2 years ago

@PROGRAMMINGENGINEER-NIKI hi, I have the same issue. Have you solved the problem? I tried to change --max_age argument which keeps alive the traking number even not detected at next frames. But seams not working as I expected. (max-age - Maximum number of frames to keep alive a track without associated detections.)

Ashsur commented 2 years ago

@PROGRAMMINGENGINEER-NIKI hi, I have the same issue. Have you solved the problem? I tried to change --max_age argument which keeps alive the traking number even not detected at next frames. But seams not working as I expected. (max-age - Maximum number of frames to keep alive a track without associated detections.)

in Line245: if (trk.time_since_update < 1) means kalmanTracker must [update] before [predict],so,if the detector output FrameRate is slower than video FrameRate, SORT will not output correct.

solution:

  1. change if (trk.time_since_update < 1) to if (trk.time_since_update < VIDEO_FRAME_RATE/DETECTOR_FRAME_RATE);
  2. chage max-age=1 to max_age=VIDEO_FRAME_RATE/DETECTOR_FRAME_RATE
varungupta31 commented 2 years ago

Hey @Ashsur @cappittall @PROGRAMMINGENGINEER-NIKI I have generated a sort output file for my custom video dataset, and want to visualize the tracker output on my custom video (not on the MOT benchmark data). Are you aware how to do this?