Closed ideasplus closed 1 year 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.
@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/
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-L210The 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 thata 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-L266Looking forward to your reply!