chore(autoware_multi_object_tracker): refactoring association algorithms#12477
chore(autoware_multi_object_tracker): refactoring association algorithms#12477technolojin wants to merge 18 commits intoautowarefoundation:mainfrom
Conversation
|
Thank you for contributing to the Autoware project! 🚧 If your pull request is in progress, switch it to draft mode. Please ensure:
|
… modules - Added AssociationManager class to handle online measurement-to-tracker associations and overlap merging. - Introduced scoring modules for match scoring and overlap scoring, including methods for calculating association scores and determining overlap thresholds. - Implemented new association algorithms: SensorPerspectiveAssociation for future enhancements and OverlapMerger for managing spatially redundant trackers. - Updated CMakeLists.txt to include new source files and headers for the association and scoring functionalities. This commit enhances the multi-object tracking capabilities by providing a structured approach to manage associations and overlaps, paving the way for improved tracking accuracy and efficiency. Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
…nterface and algorithms - Introduced IAssociation interface for measurement-to-tracker association strategies. - Updated AssociationManager to select associators based on input channel configuration. - Implemented DataAssociation and SensorPerspectiveAssociation classes adhering to the new interface. - Enhanced InputChannel struct to support associator type selection. - Updated relevant source files to integrate new association logic and improve modularity. These changes improve the flexibility and extensibility of the association algorithms used in multi-object tracking. Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
…e classes for clarity - Renamed OverlapMerger to TrackerMerger to better reflect its functionality in merging spatially redundant trackers. - Updated AssociationManager to utilize TrackerMerger and BevAreaAssociation for improved association management. - Enhanced documentation to clarify the two-layer association process: Detection-to-Tracker (D2T) and Tracker-to-Tracker (T2T). - Adjusted configuration structures and parameters to align with the new naming conventions and improve clarity. These changes enhance the modularity and readability of the multi-object tracking system, facilitating future enhancements and maintenance. Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
…rackerMerger - Replaced instances of OverlapMerger with TrackerMerger in the test_multi_object_tracker.cpp file to align with recent refactoring changes. - This update ensures consistency in the configuration naming and improves clarity in the association management process. These changes contribute to a more coherent structure in the multi-object tracking system. Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
…vAreaAssociation Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
…ement-to-tracker association - Added AssociationInterface as an abstract base class for various association strategies. - Updated existing association classes (BevAreaAssociation, SensorPerspectiveAssociation) to inherit from AssociationInterface, enhancing modularity and clarity. - Refactored AssociationManager to utilize AssociationInterface for selecting association implementations based on input channel configuration. These changes improve the flexibility and maintainability of the multi-object tracking system's association logic. Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
…duce new algorithms - Renamed and refactored association classes: OverlapMerger is now TrackerMerger, and new classes BevAssociation and PolarAssociation have been introduced for improved measurement-to-tracker association strategies. - Updated AssociationManager to utilize the new TrackerOverlapManager for merging spatially overlapping trackers, enhancing the modularity and clarity of the association logic. - Adjusted configuration structures to reflect the new naming conventions and improve clarity in the association management process. These changes enhance the flexibility and maintainability of the multi-object tracking system, paving the way for future enhancements. Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
…ng TrackerOverlapManager - Removed TrackerOverlapManager from AssociationManager, streamlining the association process to focus solely on measurement-to-tracker associations. - Updated constructor and associated methods to reflect this change, enhancing clarity and reducing complexity in the association logic. - Adjusted TrackerProcessor to directly manage tracker merging through TrackerOverlapManager, maintaining functionality while improving modularity. These changes contribute to a more efficient and maintainable multi-object tracking system. Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
…sociation logic - Replaced match scoring and overlap scoring with new assignment scoring and redundancy check modules to enhance the association process. - Introduced new scoring methods for calculating assignment scores and checking for spatial redundancy between trackers. - Updated relevant source files and CMakeLists.txt to reflect these changes, improving modularity and clarity in the association logic. These updates contribute to a more efficient and maintainable multi-object tracking system. Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
… deprecated tracker_lifetime parameter Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
…annels Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
… single header - Replaced multiple includes of object_model/types.hpp with a unified include of types.hpp across various files to streamline dependencies. - Introduced a new types.hpp file that consolidates type definitions previously scattered across different files, improving organization and maintainability. - Updated CMakeLists.txt to reflect the new file structure. Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
- Updated comments in configurations.hpp, association_manager.hpp, and tracker_overlap_manager.cpp to use a consistent arrow notation (->) instead of the previous notation (→). - This change enhances readability and maintains uniformity across the codebase. Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
…tracker files - Changed comment notation from single-line to multi-line style for improved readability in configurations.hpp, association_base.hpp, multi_object_tracker_core.cpp, multi_object_tracker_core.hpp, and debugger.cpp. - This update enhances uniformity in the codebase, making it easier to follow and maintain. Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
ec0ccd0 to
f8d994f
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #12477 +/- ##
===========================================
+ Coverage 18.71% 43.15% +24.43%
===========================================
Files 1906 57 -1849
Lines 130359 3434 -126925
Branches 44133 1201 -42932
===========================================
- Hits 24401 1482 -22919
+ Misses 85956 1570 -84386
+ Partials 20002 382 -19620
☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…oved assignment scoring - Replaced the previous assignment scoring mechanism with a new `bev_assignment_scoring` module to enhance the calculation of assignment scores between trackers and measurements. - Updated relevant files to reflect the new scoring method, including changes in CMakeLists.txt and associated header/source files. - This update aims to improve the accuracy and efficiency of the multi-object tracking system. Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
| return *polar_association_; | ||
| } | ||
| } | ||
| return *bev_association_; |
There was a problem hiding this comment.
For the abnormal case where channel_index >= channels_config_.size(), this returns bev_association_ instead of raising an error or warning. Is this behavior by design
There was a problem hiding this comment.
the index always smaller than the config array size.
we may not need to check in the first place.
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Description
Refactoring association related algorithms as new classes.
add a placeholder for new association algorithm
remove deprecated parameter
tracker_lifetimeadd association parameter
associator_typeper channelThis PR does not change any logic
Related links
Parameter update autowarefoundation/autoware_launch#1819
How was this PR tested?
Tested by the sample sensor kit system
Notes for reviewers
None.
Interface changes
ROS Parameter Changes
Additions and removals
associator_typestringbevtracker_lifetimeEffects on system behavior
None.