Repository navigation
feat(perception_utils): add detection class remapper and BEV NMS - #12786
amadeuszsz merged 6 commits into
Conversation
Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b730105a57
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Thank you for contributing to the Autoware project! 🚧 If your pull request is in progress, switch it to draft mode. Please ensure:
|
…finite params Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp>
mojomex
left a comment
There was a problem hiding this comment.
Basically LGTM, with only some minor change requests (mainly: split tests).
I compared the four files with their BEVFusion equivalents, algorithms check out 👍
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #12786 +/- ##
===========================================
- Coverage 19.55% 5.09% -14.46%
===========================================
Files 1903 57 -1846
Lines 131616 3691 -127925
Branches 46122 1659 -44463
===========================================
- Hits 25731 188 -25543
+ Misses 84911 3415 -81496
+ Partials 20974 88 -20886
☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp>
mojomex
left a comment
There was a problem hiding this comment.
LGTM! There's a duplicated test helper function, but it's small enough so it's not a blocker.
Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp>
Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp>
|
@amadeuszsz Renaming one of the two to something else seems like the easiest fix. |
…owarefoundation/autoware_universe#12786) * feat(perception_utils): add detection class remapper and BEV NMS Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> * fix(perception_utils): keep NMS source objects intact and reject non-finite params Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> * style(pre-commit): autofix * refactor(preception_utils): split tests Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> * refactor(perception_utils): test utils Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> --------- Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
…owarefoundation#12786) Cherry-picked from autowarefoundation/autoware_universe@98d09b02aa Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…owarefoundation#12786) * feat(perception_utils): add detection class remapper and BEV NMS Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> * fix(perception_utils): keep NMS source objects intact and reject non-finite params Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> * style(pre-commit): autofix * refactor(preception_utils): split tests Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> * refactor(perception_utils): test utils Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> --------- Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
…owarefoundation#12786) * feat(perception_utils): add detection class remapper and BEV NMS Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> * fix(perception_utils): keep NMS source objects intact and reject non-finite params Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> * style(pre-commit): autofix * refactor(preception_utils): split tests Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> * refactor(perception_utils): test utils Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> --------- Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Signed-off-by: TetsuKawa <kawaguchitnon@icloud.com>
…owarefoundation#12786) * feat(perception_utils): add detection class remapper and BEV NMS Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> * fix(perception_utils): keep NMS source objects intact and reject non-finite params Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> * style(pre-commit): autofix * refactor(preception_utils): split tests Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> * refactor(perception_utils): test utils Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> --------- Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Signed-off-by: TetsuKawa <kawaguchitnon@icloud.com>
…owarefoundation#12786) * feat(perception_utils): add detection class remapper and BEV NMS Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> * fix(perception_utils): keep NMS source objects intact and reject non-finite params Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> * style(pre-commit): autofix * refactor(preception_utils): split tests Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> * refactor(perception_utils): test utils Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> --------- Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
…owarefoundation#12786) * feat(perception_utils): add detection class remapper and BEV NMS Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> * fix(perception_utils): keep NMS source objects intact and reject non-finite params Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> * style(pre-commit): autofix * refactor(preception_utils): split tests Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> * refactor(perception_utils): test utils Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> --------- Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Description
Adds shared detection post-processing utilities to
perception_utilsso that perception detectors can reuse a single implementation instead of maintaining duplicated per-package copies.DetectionClassRemapper(detection_class_remapper.{hpp,cpp}) - remaps detection labels by BEV area thresholds, operating onautoware_perception_msgs::msg::DetectedObjects.IouBevNms(iou_bev_nms.{hpp,cpp}) - BEV IoU non-maximum suppression with optional score sorting and pedestrian-vs-other-class separation.test/test_detection_utils.cpp(5 cases).Related links
Parent Issue:
How was this PR tested?
colcon test --packages-select perception_utils-test_detection_utilsruns 5 cases, all pass.Notes for reviewers
Porting existing detectors to these shared utilities will be done in separate PRs. Packages to be affected:
autoware_bevfusion,autoware_camera_streampetr,autoware_image_projection_based_fusion(pointpainting fusion),autoware_lidar_centerpoint,autoware_lidar_transfusion, andautoware_ptv3.Circle NMS is written in CUDA and shall be addressed in a separate new package
autoware_cuda_perception_utils.Interface changes
None.
Effects on system behavior
None.