Hello there,

using deep sort algorithm you actually detect and track in each iteration and creating an object for each detection. So each detection has as id. If something happens and the algorithm do not detect one object, then it may re detect it with a new id, but the old id is still there for some iterations. There isn’t any actually helpful complete tutorial in order to understand the algorithm in depth. So i am asking how i can keep only the latest detected bounding box for each object.

is.confirmed() and time_since_update() are two methods regarding objects and probably play a significant role to what i am saying but i cannot understand them fully. Is there anybody can help me with my question or suggest me a good tutorial?


If you are using some opencv function, please tell us which. Any link to the opencv reference will be helpful.

In general, if you tracking system continue to publish an id, that means the system doesn’t know it’s lost, unless there is an explicit flag for this.

Since redetections appear with new id, I believe the system didn’t know it was lost.

Depending of your the context, you may analize the movement of the tracked objects and see if they suddenly stop when they shouldn’t. Then compare new ids positions with the extrapolated movement of lost objects. That’s when Kalman filter enters the scene.