Repository navigation
Conversation
|
Thank you for contributing to the Autoware project! 🚧 If your pull request is in progress, switch it to draft mode. Please ensure:
|
93d9232 to
6b0ca5d
Compare
0cf7d6f to
28651ac
Compare
I've rebased this PR to main to test if it works, you can continue as usual, thanks 👍 |
…t speed Signed-off-by: lei.gu <lei.gu@tier4.jp>
Signed-off-by: lei.gu <lei.gu@tier4.jp>
This reverts commit c7e79ee. Signed-off-by: lei.gu <lei.gu@tier4.jp>
…racy Signed-off-by: lei.gu <lei.gu@tier4.jp>
c999f79 to
dbebca0
Compare
There was a problem hiding this comment.
Pull Request Overview
This pull request enhances the multi-object tracker by implementing dynamic generalized IoU thresholds for merging overlapped trackers based on target object speed. The improvement specifically addresses scenarios where objects have unknown classifications by making the overlap criteria more sensitive to object motion, preventing incorrect merging of static and moving objects.
- Added speed-dependent IoU threshold calculation for unknown objects using linear interpolation between static and moving speed ranges
- Updated tracker merging logic to use dynamic thresholds when one object has unknown classification
- Enhanced merge decision accuracy by considering object velocity in overlap determination
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #11237 +/- ##
==========================================
+ Coverage 20.20% 20.34% +0.13%
==========================================
Files 1512 1513 +1
Lines 109848 110079 +231
Branches 35940 36006 +66
==========================================
+ Hits 22200 22397 +197
- Misses 70526 70742 +216
+ Partials 17122 16940 -182
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…ed threshold handling Signed-off-by: lei.gu <lei.gu@tier4.jp>
… for clarity Signed-off-by: lei.gu <lei.gu@tier4.jp>
…for clarity on speed thresholds Signed-off-by: lei.gu <lei.gu@tier4.jp>
…eeds and IoU threshold Signed-off-by: lei.gu <lei.gu@tier4.jp>
Signed-off-by: lei.gu <lei.gu@tier4.jp>
2f7294d to
7bc384e
Compare
…autowarefoundation#11237) * feat(tracker): adjust generalized IoU threshold based on target object speed Signed-off-by: lei.gu <lei.gu@tier4.jp> * feat(tests): add merge test bench and update existing tests Signed-off-by: lei.gu <lei.gu@tier4.jp> * Revert "feat(tests): add merge test bench and update existing tests" This reverts commit c7e79ee. Signed-off-by: lei.gu <lei.gu@tier4.jp> * feat(tracker): update IoU threshold values for improved tracking accuracy Signed-off-by: lei.gu <lei.gu@tier4.jp> * feat(tracker): refactor calcGeneralizedIoUThresholdUnknown for improved threshold handling Signed-off-by: lei.gu <lei.gu@tier4.jp> * fix(tracker): restore comment on generalized IoU threshold adjustment for clarity Signed-off-by: lei.gu <lei.gu@tier4.jp> * fix(tracker): enhance comments in calcGeneralizedIoUThresholdUnknown for clarity on speed thresholds Signed-off-by: lei.gu <lei.gu@tier4.jp> * feat(tracker): add pruning parameters for static and moving target speeds and IoU threshold Signed-off-by: lei.gu <lei.gu@tier4.jp> * fix(tracker): rename target speed parameters to object speed for clarity Signed-off-by: lei.gu <lei.gu@tier4.jp> --------- Signed-off-by: lei.gu <lei.gu@tier4.jp>
…t speed (#2323) feat(tracker): adjust generalized IoU threshold based on object speed (autowarefoundation#11237) * feat(tracker): adjust generalized IoU threshold based on target object speed * feat(tests): add merge test bench and update existing tests * Revert "feat(tests): add merge test bench and update existing tests" This reverts commit c7e79ee. * feat(tracker): update IoU threshold values for improved tracking accuracy * feat(tracker): refactor calcGeneralizedIoUThresholdUnknown for improved threshold handling * fix(tracker): restore comment on generalized IoU threshold adjustment for clarity * fix(tracker): enhance comments in calcGeneralizedIoUThresholdUnknown for clarity on speed thresholds * feat(tracker): add pruning parameters for static and moving target speeds and IoU threshold * fix(tracker): rename target speed parameters to object speed for clarity --------- Signed-off-by: lei.gu <lei.gu@tier4.jp>
…autowarefoundation#11237) * feat(tracker): adjust generalized IoU threshold based on target object speed Signed-off-by: lei.gu <lei.gu@tier4.jp> * feat(tests): add merge test bench and update existing tests Signed-off-by: lei.gu <lei.gu@tier4.jp> * Revert "feat(tests): add merge test bench and update existing tests" This reverts commit c7e79ee. Signed-off-by: lei.gu <lei.gu@tier4.jp> * feat(tracker): update IoU threshold values for improved tracking accuracy Signed-off-by: lei.gu <lei.gu@tier4.jp> * feat(tracker): refactor calcGeneralizedIoUThresholdUnknown for improved threshold handling Signed-off-by: lei.gu <lei.gu@tier4.jp> * fix(tracker): restore comment on generalized IoU threshold adjustment for clarity Signed-off-by: lei.gu <lei.gu@tier4.jp> * fix(tracker): enhance comments in calcGeneralizedIoUThresholdUnknown for clarity on speed thresholds Signed-off-by: lei.gu <lei.gu@tier4.jp> * feat(tracker): add pruning parameters for static and moving target speeds and IoU threshold Signed-off-by: lei.gu <lei.gu@tier4.jp> * fix(tracker): rename target speed parameters to object speed for clarity Signed-off-by: lei.gu <lei.gu@tier4.jp> --------- Signed-off-by: lei.gu <lei.gu@tier4.jp>
…autowarefoundation#11237) * feat(tracker): adjust generalized IoU threshold based on target object speed Signed-off-by: lei.gu <lei.gu@tier4.jp> * feat(tests): add merge test bench and update existing tests Signed-off-by: lei.gu <lei.gu@tier4.jp> * Revert "feat(tests): add merge test bench and update existing tests" This reverts commit c7e79ee. Signed-off-by: lei.gu <lei.gu@tier4.jp> * feat(tracker): update IoU threshold values for improved tracking accuracy Signed-off-by: lei.gu <lei.gu@tier4.jp> * feat(tracker): refactor calcGeneralizedIoUThresholdUnknown for improved threshold handling Signed-off-by: lei.gu <lei.gu@tier4.jp> * fix(tracker): restore comment on generalized IoU threshold adjustment for clarity Signed-off-by: lei.gu <lei.gu@tier4.jp> * fix(tracker): enhance comments in calcGeneralizedIoUThresholdUnknown for clarity on speed thresholds Signed-off-by: lei.gu <lei.gu@tier4.jp> * feat(tracker): add pruning parameters for static and moving target speeds and IoU threshold Signed-off-by: lei.gu <lei.gu@tier4.jp> * fix(tracker): rename target speed parameters to object speed for clarity Signed-off-by: lei.gu <lei.gu@tier4.jp> --------- Signed-off-by: lei.gu <lei.gu@tier4.jp>
…autowarefoundation/autoware_universe#11237) * feat(tracker): adjust generalized IoU threshold based on target object speed Signed-off-by: lei.gu <lei.gu@tier4.jp> * feat(tests): add merge test bench and update existing tests Signed-off-by: lei.gu <lei.gu@tier4.jp> * Revert "feat(tests): add merge test bench and update existing tests" This reverts commit c7e79eec0b9928723175b3d52d9e235719a0932f. Signed-off-by: lei.gu <lei.gu@tier4.jp> * feat(tracker): update IoU threshold values for improved tracking accuracy Signed-off-by: lei.gu <lei.gu@tier4.jp> * feat(tracker): refactor calcGeneralizedIoUThresholdUnknown for improved threshold handling Signed-off-by: lei.gu <lei.gu@tier4.jp> * fix(tracker): restore comment on generalized IoU threshold adjustment for clarity Signed-off-by: lei.gu <lei.gu@tier4.jp> * fix(tracker): enhance comments in calcGeneralizedIoUThresholdUnknown for clarity on speed thresholds Signed-off-by: lei.gu <lei.gu@tier4.jp> * feat(tracker): add pruning parameters for static and moving target speeds and IoU threshold Signed-off-by: lei.gu <lei.gu@tier4.jp> * fix(tracker): rename target speed parameters to object speed for clarity Signed-off-by: lei.gu <lei.gu@tier4.jp> --------- Signed-off-by: lei.gu <lei.gu@tier4.jp>
…autowarefoundation/autoware_universe#11237) * feat(tracker): adjust generalized IoU threshold based on target object speed Signed-off-by: lei.gu <lei.gu@tier4.jp> * feat(tests): add merge test bench and update existing tests Signed-off-by: lei.gu <lei.gu@tier4.jp> * Revert "feat(tests): add merge test bench and update existing tests" This reverts commit c7e79eec0b9928723175b3d52d9e235719a0932f. Signed-off-by: lei.gu <lei.gu@tier4.jp> * feat(tracker): update IoU threshold values for improved tracking accuracy Signed-off-by: lei.gu <lei.gu@tier4.jp> * feat(tracker): refactor calcGeneralizedIoUThresholdUnknown for improved threshold handling Signed-off-by: lei.gu <lei.gu@tier4.jp> * fix(tracker): restore comment on generalized IoU threshold adjustment for clarity Signed-off-by: lei.gu <lei.gu@tier4.jp> * fix(tracker): enhance comments in calcGeneralizedIoUThresholdUnknown for clarity on speed thresholds Signed-off-by: lei.gu <lei.gu@tier4.jp> * feat(tracker): add pruning parameters for static and moving target speeds and IoU threshold Signed-off-by: lei.gu <lei.gu@tier4.jp> * fix(tracker): rename target speed parameters to object speed for clarity Signed-off-by: lei.gu <lei.gu@tier4.jp> --------- Signed-off-by: lei.gu <lei.gu@tier4.jp>



Need to merge with autowarefoundation/autoware_launch#1615
Description
This pull request enhances the logic for merging overlapped trackers in the multi-object tracker by introducing a dynamic threshold for the generalized IoU metric that adapts based on the speed of the tracked object. This change aims to improve the accuracy of tracker pruning, especially for objects with unknown classifications, by making the overlap criteria more sensitive to object motion.
Tracker pruning logic improvements
calcGeneralizedIoUThresholdUnknownfunction inprocessor.cppto compute a speed-dependent generalized IoU threshold, allowing for more nuanced handling of static and moving objects when their classification is unknown.mergeOverlappedTrackerto use the dynamic IoU threshold for unknown objects, replacing the previous static threshold and improving merge decisions for moving versus static targets.Detailed Explanation of Parameters
static_target_speed
moving_target_speed
Comparison
Before(Red) After(Green)
After this fix, the UNKNOWN object is kept without being merged into nearby TRUCK
simplescreenrecorder-2025-08-19_11.12.30.mp4
For moving target, UNKNOWN is merged as before
simplescreenrecorder-2025-08-19_11.37.05.mp4
In simulated scenes where we put different speed TRUCK with UNKNOWN nearby:
Before
before.mp4
After
after.mp4
Related links
Parent Issue:
How was this PR tested?
Notes for reviewers
None.
Interface changes
None.
Effects on system behavior
None.