Closed anozaki closed 1 year ago
@anozaki hello. Well, what you are talking about is a flavor. Not all people require such behavior at all because when you are not sure about established object dynamics (like for a thrown stone or vehicle), there is no meaning in multistep predictions.
In your case, it looks like you either track objects with established dynamics together with a low-quality detector or you are trying to mitigate obstacles along the trajectory.
If you want to make idle trajectories progress, pass the predictions from idle tracks to the tracker again. But in that case, because you can associate a custom value with the detection, you can count when to stop doing so if a track is lost (like 5 idle steps).
Skipping epochs is a utility function: it is not intended to make progress. It is more for scene finalization and cleaning.
Not a bug
I wouldn't say my setup has established dynamics, but it does try to figure things out over time. It is also a fixed camera view so that might make things a little easier.
In my case, I have a different transition/observation model and noise covariance. Also, in my other implementation, I do change the observation noise covariance over time as well. In these cases, calling update would give me the wrong result since it will calculate the value using the observation values.
I think I understand the code a little better now as well but will need to think about how to implement this. Thanks for the reply.
@anozaki anyway, code commits are welcome, so if you manage to make a flavor or add additional parameters to make the approach, I will be happy to consider the code for inclusion.
With SORT, I think you are supposed to calculate the prediction on all tracked objects before the IOU association is done. The current implementation looks like it only runs the prediction if the IOU matches.
This also means that any idle item doesn't advance correctly with time.
Furthermore, if you are skipping epics, the prediction should be executed for those skipped epics. Otherwise, the bounding box would be stuck in older epics.