ByteTrack
ByteTrack copied to clipboard
Post processing sequence of lost list and remove list
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)
@iFighting I wonder if my statement is clear?
I have the same question! I think you are right
我也发现了而这个问题,也可以不改变顺序,直接self.lost_stracks = sub_stracks(self.lost_stracks, removed_stracks)
另外self.removed_stracks有内存泄露