-
Notifications
You must be signed in to change notification settings - Fork 668
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
feat(image_projection_based_fusion): add image segmentation_pointcloud_fusion for pointcloud filter #5562
feat(image_projection_based_fusion): add image segmentation_pointcloud_fusion for pointcloud filter #5562
Conversation
Signed-off-by: badai-nguyen <[email protected]>
Signed-off-by: badai-nguyen <[email protected]>
Signed-off-by: badai-nguyen <[email protected]>
Signed-off-by: badai-nguyen <[email protected]>
Signed-off-by: badai-nguyen <[email protected]>
Signed-off-by: badai-nguyen <[email protected]>
Signed-off-by: badai-nguyen <[email protected]>
Signed-off-by: badai-nguyen <[email protected]>
Signed-off-by: badai-nguyen <[email protected]>
Can you share the video and debugging screen with us? |
Signed-off-by: badai-nguyen <[email protected]>
@yukkysaito I have added the debug video in test performed. could you please check it. |
Signed-off-by: badai-nguyen <[email protected]>
Good 👍 |
@yukkysaito Not yet. Since the yolox-s semseg header was trained only on public dataset and need more time for the further improvement so I would to keep this new feature out of default. I hope can merge this feature so we can test autoware for some specific enviroments or weather condition and see how good it works first. |
This reverts commit 5dfa160.
Signed-off-by: badai-nguyen <[email protected]>
@yukkysaito As I dicussed with @miursh, since the semseg yolox model is still being improved by @dan-dnn, so I would like to merge the image_pointcloud fusion node first as preparation. The pointcloud filter and perception pipeline change will be considered and updated later when the semseg yolox is ready. |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #5562 +/- ##
==========================================
- Coverage 15.28% 15.28% -0.01%
==========================================
Files 1750 1751 +1
Lines 120568 120620 +52
Branches 36781 36781
==========================================
Hits 18434 18434
- Misses 81469 81521 +52
Partials 20665 20665
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM in code grammar, but I did not check if it works in real data.
perception/image_projection_based_fusion/src/segmentation_pointcloud_fusion/node.cpp
Outdated
Show resolved
Hide resolved
…tcloud_fusion/node.cpp Co-authored-by: Yoshi Ri <[email protected]>
} | ||
} | ||
|
||
pcl::toROSMsg(output_cloud, output_pointcloud_msg); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[imo]
Just some comments; not required to change now.
Since we don't use the PCL method, is it possible not to use PCL?
Converting ROS messages to PCL (and vice versa) incurs a significant computational cost, so we should try to avoid it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can access each point in directly ros message like this.
- The pointclouds are projected onto the semantic/instance segmentation mask image which is the output from 2D segmentation neural network. | ||
- The pointclouds are belong to segment such as road, sidewalk, building, vegetation, sky ... are considered as less important points for autonomous driving and could be removed. | ||
|
||
![segmentation_pointcloud_fusion_image](./images/segmentation_pointcloud_fusion.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[Q]
The image file has not been committed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with a few comments
…d_fusion for pointcloud filter (autowarefoundation#5562) * fix: roiCallback for Image Signed-off-by: badai-nguyen <[email protected]> * fix: pointcloud filter Signed-off-by: badai-nguyen <[email protected]> * fix: pointcloud filter bugfix Signed-off-by: badai-nguyen <[email protected]> * fix: segmentation poincloud filter Signed-off-by: badai-nguyen <[email protected]> * fix: add option in launch file Signed-off-by: badai-nguyen <[email protected]> * chore: refactor Signed-off-by: badai-nguyen <[email protected]> * docs: update docs Signed-off-by: badai-nguyen <[email protected]> * fix: roi_pointcloud_fusion with new template Signed-off-by: badai-nguyen <[email protected]> * fix: add param of selectable semantic id Signed-off-by: badai-nguyen <[email protected]> * chore: typo Signed-off-by: badai-nguyen <[email protected]> * fix: launch file Signed-off-by: badai-nguyen <[email protected]> * Revert "fix: launch file" This reverts commit 5dfa160. * fix: reverse perception launcher Signed-off-by: badai-nguyen <[email protected]> * style(pre-commit): autofix * Update perception/image_projection_based_fusion/src/segmentation_pointcloud_fusion/node.cpp Co-authored-by: Yoshi Ri <[email protected]> * style(pre-commit): autofix --------- Signed-off-by: badai-nguyen <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Yoshi Ri <[email protected]>
…d_fusion for pointcloud filter (autowarefoundation#5562) * fix: roiCallback for Image Signed-off-by: badai-nguyen <[email protected]> * fix: pointcloud filter Signed-off-by: badai-nguyen <[email protected]> * fix: pointcloud filter bugfix Signed-off-by: badai-nguyen <[email protected]> * fix: segmentation poincloud filter Signed-off-by: badai-nguyen <[email protected]> * fix: add option in launch file Signed-off-by: badai-nguyen <[email protected]> * chore: refactor Signed-off-by: badai-nguyen <[email protected]> * docs: update docs Signed-off-by: badai-nguyen <[email protected]> * fix: roi_pointcloud_fusion with new template Signed-off-by: badai-nguyen <[email protected]> * fix: add param of selectable semantic id Signed-off-by: badai-nguyen <[email protected]> * chore: typo Signed-off-by: badai-nguyen <[email protected]> * fix: launch file Signed-off-by: badai-nguyen <[email protected]> * Revert "fix: launch file" This reverts commit 5dfa160. * fix: reverse perception launcher Signed-off-by: badai-nguyen <[email protected]> * style(pre-commit): autofix * Update perception/image_projection_based_fusion/src/segmentation_pointcloud_fusion/node.cpp Co-authored-by: Yoshi Ri <[email protected]> * style(pre-commit): autofix --------- Signed-off-by: badai-nguyen <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Yoshi Ri <[email protected]>
…d_fusion for pointcloud filter (autowarefoundation#5562) * fix: roiCallback for Image Signed-off-by: badai-nguyen <[email protected]> * fix: pointcloud filter Signed-off-by: badai-nguyen <[email protected]> * fix: pointcloud filter bugfix Signed-off-by: badai-nguyen <[email protected]> * fix: segmentation poincloud filter Signed-off-by: badai-nguyen <[email protected]> * fix: add option in launch file Signed-off-by: badai-nguyen <[email protected]> * chore: refactor Signed-off-by: badai-nguyen <[email protected]> * docs: update docs Signed-off-by: badai-nguyen <[email protected]> * fix: roi_pointcloud_fusion with new template Signed-off-by: badai-nguyen <[email protected]> * fix: add param of selectable semantic id Signed-off-by: badai-nguyen <[email protected]> * chore: typo Signed-off-by: badai-nguyen <[email protected]> * fix: launch file Signed-off-by: badai-nguyen <[email protected]> * Revert "fix: launch file" This reverts commit 5dfa160. * fix: reverse perception launcher Signed-off-by: badai-nguyen <[email protected]> * style(pre-commit): autofix * Update perception/image_projection_based_fusion/src/segmentation_pointcloud_fusion/node.cpp Co-authored-by: Yoshi Ri <[email protected]> * style(pre-commit): autofix --------- Signed-off-by: badai-nguyen <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Yoshi Ri <[email protected]>
…d_fusion for pointcloud filter (autowarefoundation#5562) * fix: roiCallback for Image Signed-off-by: badai-nguyen <[email protected]> * fix: pointcloud filter Signed-off-by: badai-nguyen <[email protected]> * fix: pointcloud filter bugfix Signed-off-by: badai-nguyen <[email protected]> * fix: segmentation poincloud filter Signed-off-by: badai-nguyen <[email protected]> * fix: add option in launch file Signed-off-by: badai-nguyen <[email protected]> * chore: refactor Signed-off-by: badai-nguyen <[email protected]> * docs: update docs Signed-off-by: badai-nguyen <[email protected]> * fix: roi_pointcloud_fusion with new template Signed-off-by: badai-nguyen <[email protected]> * fix: add param of selectable semantic id Signed-off-by: badai-nguyen <[email protected]> * chore: typo Signed-off-by: badai-nguyen <[email protected]> * fix: launch file Signed-off-by: badai-nguyen <[email protected]> * Revert "fix: launch file" This reverts commit 5dfa160. * fix: reverse perception launcher Signed-off-by: badai-nguyen <[email protected]> * style(pre-commit): autofix * Update perception/image_projection_based_fusion/src/segmentation_pointcloud_fusion/node.cpp Co-authored-by: Yoshi Ri <[email protected]> * style(pre-commit): autofix --------- Signed-off-by: badai-nguyen <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Yoshi Ri <[email protected]>
Description
This PR to add a fusion node of pointcloud with image segmentation mask which is output from some kind of 2D detection model such as model to be added by #5553.
The fusion result could be used to filter the unnecessary pointcloud for autonomous driving which is discussed at #5594
One of the idea for node use
Related links
TIER IV INTERNAL LINK
Tests performed
Testing filter using front camera semantic segmentation:
/perception/object_recognition/detection/pointcloud_map_filtered/pointcloud
/perception/object_recognition/detection/image_segmentation_filtered/pointcloud
(note that it also covers the input green pointcloud)semantic_segmentation_based_filter_01d060d9-8d25-45e0-b45e-9fd7201ac27b_2023-05-26-11-18-34_p0900_0_.webm
Notes for reviewers
Interface changes
Effects on system behavior
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.
In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.
Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.
After all checkboxes are checked, anyone who has write access can merge the PR.