ByteTrack icon indicating copy to clipboard operation
ByteTrack copied to clipboard

Post processing sequence of lost list and remove list

Open YuNaruto opened this issue 2 years ago • 3 comments

https://github.com/ifzhang/ByteTrack/blob/72ca8b45d36caf5a39e949c6aa815d9abffd1ab5/yolox/tracker/byte_tracker.py#L283

For example, id = 7, state = lost, if the current frame does not match, it will be placed in removed_ stacks, the state is changed to state = remove. Meanwhile, in self.lost_ tracks, There are also id = 7 and state = lost.

after self.removed_tracks.extend (removed_strings), self.lost_stracks haive id = 7 and self.removed_stracks also have id = 7. If the next frame matches, the tracker(id=7) will be retraced. When another frame is lost, it will be directly removed.

Therefore, the correct order is: self.removed_stracks.extend(removed_stracks) self.lost_stracks = sub_stracks(self.lost_stracks, self.removed_stracks)

YuNaruto avatar Aug 09 '22 03:08 YuNaruto

@iFighting I wonder if my statement is clear?

YuNaruto avatar Aug 09 '22 03:08 YuNaruto

I have the same question! I think you are right

Susan19900316 avatar Apr 27 '23 05:04 Susan19900316

我也发现了而这个问题,也可以不改变顺序,直接self.lost_stracks = sub_stracks(self.lost_stracks, removed_stracks)

另外self.removed_stracks有内存泄露

licc0431 avatar May 29 '23 07:05 licc0431