Vertical-Beach / ByteTrack-cpp

C++ implementation of ByteTrack that does not include an object detection algorithm.
MIT License
146 stars 29 forks source link

Tracking Outputs vs Detection Outputs #14

Open SwEngine opened 10 months ago

SwEngine commented 10 months ago

While using ByteTrack as a tracker, the visualized bounding boxes sometimes do not precisely match the detection results. Are there any methods to assign tracking IDs to detections without altering the bounding box coordinates? I am asking this question because the tracking bounding boxes are sometimes too wide for my specific case.

derpda commented 8 months ago

I believe ByteTrack ends up using the predicted bounding box for the next step instead of the current bounding box. See below https://github.com/Vertical-Beach/ByteTrack-cpp/blob/d43805d461a714f65da039981bd5f5d21cf5cf59/src/STrack.cpp#L110

I have changed that in my own fork, but also made a lot of changes specific to my use case, which may or may not be appropriate for you. Tests are also currently not passing since I changed (in my opinion fixed) the IoU calculation. I'm looking into that at the moment.

Have a look for yourself: https://github.com/derpda/ByteTrack-cpp