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

refactor(autoware_multi_object_tracker): add configurable tracker parameters #9621

Conversation

jakor97
Copy link
Contributor

@jakor97 jakor97 commented Dec 11, 2024

Description

Extracted autoware_multi_object_tracker parameters from source code, refactored parameters declaration and enabled setting confident_count_threshold for each classification label separately.

Changes

  • Extracted tracker-specific parameters: tracker_lifetime, min_known_object_removal_iou, min_unknown_object_removal_iou, distance_threshold, and confident_count_threshold to the multi_object_tracker_node.param.yaml configuration file.
  • Introduced TrackerProcessorConfig struct to encapsulate tracker-related parameters and refactored the TrackerProcessor class to use this struct for initialization.
  • Updated the TrackerProcessor methods to use the new configuration struct, including createNewTracker, removeOldTracker, removeOverlappedTracker, and isConfidentTracker.

Related links

autowarefoundation/autoware_launch#1273 autoware_launch PR for according parameters.

How was this PR tested?

Build completed successfully.
Tested parameters changes in Carla environment.

Notes for reviewers

None.

ROS Parameter Changes

Extracted parameters from source code and renamed them according to their use:

Old New
max_elapsed_time_ tracker_lifetime
min_iou_ min_known_object_removal_iou
min_iou_for_unknown_object_ min_unknown_object_removal_iou
distance_threshold_ distance_threshold
confident_count_threshold_ confident_count_threshold for each label type

Additions and removals

Change type Parameter Name Type Default Value Description
Added tracker_lifetime float 1.0 How long will tracker last
Added min_known_object_removal_iou float 0.1 Minimal IoU between associated objects with known label to remove younger tracker
Added min_unknown_object_removal_iou float 0.001 Minimal IoU between associated objects with unknown label to remove unknown tracker
Added distance_threshold float 5.0 Distance threshold for removing overlapped trackers
Added confident_count_threshold std::map<std::string, LabelType> Label : 3 Number of measurements to consider tracker as confident. Separated for each label.

Effects on system behavior

None.

@github-actions github-actions bot added component:perception Advanced sensor data processing and environment understanding. (auto-assigned) tag:require-cuda-build-and-test labels Dec 11, 2024
Copy link

github-actions bot commented Dec 11, 2024

Thank you for contributing to the Autoware project!

🚧 If your pull request is in progress, switch it to draft mode.

Please ensure:

Copy link
Contributor

@technolojin technolojin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jakor97 Thank you for your contribution.
Those are the parameters may someone want to configure.

Copy link
Contributor

@technolojin technolojin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jakor97 jakor97 force-pushed the configurable-parameters-for-multi-object-tracker branch from 986a0e4 to bf7c213 Compare December 12, 2024 12:52
@technolojin technolojin added the tag:run-build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label Dec 13, 2024
Copy link
Contributor

@technolojin technolojin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other than these fixes, LGTM

I would like to approve it after the fix.

Copy link
Contributor

@technolojin technolojin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link

codecov bot commented Dec 13, 2024

Codecov Report

Attention: Patch coverage is 0% with 29 lines in your changes missing coverage. Please review.

Project coverage is 29.61%. Comparing base (e8ea100) to head (7b384cc).
Report is 9 commits behind head on main.

Files with missing lines Patch % Lines
...e_multi_object_tracker/src/processor/processor.cpp 0.00% 16 Missing ⚠️
...i_object_tracker/src/multi_object_tracker_node.cpp 0.00% 13 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #9621      +/-   ##
==========================================
- Coverage   29.61%   29.61%   -0.01%     
==========================================
  Files        1440     1440              
  Lines      108348   108363      +15     
  Branches    41384    41388       +4     
==========================================
  Hits        32088    32088              
- Misses      73148    73163      +15     
  Partials     3112     3112              
Flag Coverage Δ *Carryforward flag
differential 0.00% <0.00%> (?)
total 29.62% <ø> (+<0.01%) ⬆️ Carriedforward from e8ea100

*This pull request uses carry forward flags. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

@YoshiRi YoshiRi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@technolojin technolojin merged commit 35da6d8 into autowarefoundation:main Dec 16, 2024
34 checks passed
@jakor97 jakor97 deleted the configurable-parameters-for-multi-object-tracker branch December 16, 2024 06:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:perception Advanced sensor data processing and environment understanding. (auto-assigned) tag:require-cuda-build-and-test tag:run-build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci)
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants