Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ByteTrack] - redesign update_with_detections to use IoU to match input Detections with tracker_id #754

Closed
SkalskiP opened this issue Jan 18, 2024 · 3 comments
Labels
api:tracker enhancement New feature or request Q1.2024 Tasks planned for execution in Q1 2024.

Comments

@SkalskiP
Copy link
Collaborator

SkalskiP commented Jan 18, 2024

Description

  • Currently, update_with_detections returns the predicted position of boxes, not their actual coordinates received from the detector. Many users have complained about the deterioration of box quality when using ByteTrack. (#743)
  • ByteTrack does not work with segmentation models because masks are not transferred to the update_with_detections output.
  • The Detections.data field is lost after passing through update_with_detections.

All these issues can be resolved by changing the logic in update_with_detections. Instead of mapping values obtained from update_with_tensors to new Detections objects, we should use IoU to map the results of update_with_tensors to input Detections objects. This way, the input xyxy coordinates and the input state of the mask and data fields will be preserved.

For this purpose, we can utilize the already existing function box_iou_batch. The matching procedure has been demonstrated in one of our videos on YouTube.

Additional

  • Note: Please share a Google Colab with minimal code to test the new feature. We know it's additional work, but it will definitely speed up the review process. Each change must be tested by the reviewer. Setting up a local environment to do this is time-consuming. Please ensure that Google Colab can be accessed without any issues (make it public). Thank you! 🙏🏻
@SkalskiP SkalskiP added enhancement New feature or request Q1.2024 Tasks planned for execution in Q1 2024. planning Feature not ready for implementation. labels Jan 18, 2024
@SkalskiP SkalskiP changed the title ByteTrack 2.0 [ByteTrack] - redesign update_with_detections to use IoU to match input Detections with tracker_id Jan 26, 2024
@SkalskiP SkalskiP added api:tracker and removed planning Feature not ready for implementation. labels Jan 26, 2024
@SkalskiP SkalskiP moved this to Todo in Supervision Q1 2024 Jan 26, 2024
@rolson24
Copy link
Contributor

Hi @SkalskiP!
Can I work on this issue? I think I can implement this in the way you want without modifying update_with_tensors and in a pretty simple way.

@SkalskiP
Copy link
Collaborator Author

Hi @rolson24 👋🏻! Feel free to submit PR. You will make me very happy.

rolson24 added a commit to rolson24/supervision that referenced this issue Mar 23, 2024
@rolson24 rolson24 mentioned this issue Mar 24, 2024
3 tasks
SkalskiP added a commit that referenced this issue Mar 25, 2024
…s-to-match-Detections-with-tracker_id-v2

Fix issue #754
@SkalskiP
Copy link
Collaborator Author

The solution for this issue is implemented via #1035. I am closing the issue. Thanks @rolson24 ! 🔥

@github-project-automation github-project-automation bot moved this from Todo to Done in Supervision Q1 2024 Mar 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api:tracker enhancement New feature or request Q1.2024 Tasks planned for execution in Q1 2024.
Projects
Development

No branches or pull requests

2 participants