aleksandrkim61 / EagerMOT

Official code for "EagerMOT: 3D Multi-Object Tracking via Sensor Fusion" [ICRA 2021]
MIT License
404 stars 78 forks source link

Question about the Track creation and confirmation #20

Closed ideasplus closed 1 year ago

ideasplus commented 2 years ago

Hi, Thanks for sharing your code!

I have a question about the creation of unmatched detections. In the code, you seem to use a condition if instance.bbox3d is not None to create the new tracks for unmatched 3d detections only. How about the unmatched 2d detections? After reading your paper, I think EagerMot can identify the distant objects that only have 2d box in image. https://github.com/aleksandrkim61/EagerMOT/blob/3733e6070e7ac644315d28c1c5c4c525cce64746/tracking/tracking_manager.py#L203-L210

The second question is about the track confirmation. In your paper, you confirm the track if it was associated with an instance in the current frame and has been updated with 2d box in the last Age_2d frames. But your code logic seems to inconsistent with it. Please correct me if I'm wrong. https://github.com/aleksandrkim61/EagerMOT/blob/3733e6070e7ac644315d28c1c5c4c525cce64746/tracking/tracking_manager.py#L241-L246

The third question is about the concept about the track confirmation. In your code, you seem to only use hits to confirm the track. In your paper, you said that a track is considered confirmed if it was associated with an instance in the current frame and has been updated with 2D information in the last Age2d frames. So I'm a little confused about the concept. https://github.com/aleksandrkim61/EagerMOT/blob/3733e6070e7ac644315d28c1c5c4c525cce64746/tracking/tracking_manager.py#L261-L266

Looking forward to your reply!

Deephome commented 2 years ago

I have the same question. It seems that the code implementation only tracks the objects with 3D detection. The 2D-only detections are not used to create tracks.

aleksandrkim61 commented 1 year ago

@ideasplus You are right that the text is not totally correct time_since_2d_update is used to decrease track confidence if it has been too long since the last 2D confirmation hits, which is counted for both 3D or 2D matches is used to actually confirm tracks for reporting. So, it is not required to have a recent 2D match, but if there were no 2D matches for a long time, track confidence will be lower and it will probably be lower than the evaluation threshold

@ideasplus @Deephome There is no such thing 2D-only objects since we do 3D MOT only. It is possible to initialize tracks with 2D only and then match 3D boxes to it, but since you cannot actually report them until you have 3D boxes on them, it is pointless to initialize early.

Sorry for the late reply, was busy with other stuff and did not get proper notifications. Check out my latest work https://polarmot.github.io/