-
Notifications
You must be signed in to change notification settings - Fork 704
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 <dai.nguyen@tier4.jp>
Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp>
Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp>
Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp>
Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp>
Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp>
Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp>
Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp>
Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp>
Can you share the video and debugging screen with us? |
Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp>
@yukkysaito I have added the debug video in test performed. could you please check it. |
Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp>
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 <dai.nguyen@tier4.jp>
@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 <yoshiyoshidetteiu@gmail.com>
} | ||
} | ||
|
||
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. | ||
|
||
 |
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 <dai.nguyen@tier4.jp> * fix: pointcloud filter Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: pointcloud filter bugfix Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: segmentation poincloud filter Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: add option in launch file Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * chore: refactor Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * docs: update docs Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: roi_pointcloud_fusion with new template Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: add param of selectable semantic id Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * chore: typo Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: launch file Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * Revert "fix: launch file" This reverts commit 5dfa160. * fix: reverse perception launcher Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * style(pre-commit): autofix * Update perception/image_projection_based_fusion/src/segmentation_pointcloud_fusion/node.cpp Co-authored-by: Yoshi Ri <yoshiyoshidetteiu@gmail.com> * style(pre-commit): autofix --------- Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Yoshi Ri <yoshiyoshidetteiu@gmail.com>
…d_fusion for pointcloud filter (autowarefoundation#5562) * fix: roiCallback for Image Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: pointcloud filter Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: pointcloud filter bugfix Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: segmentation poincloud filter Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: add option in launch file Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * chore: refactor Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * docs: update docs Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: roi_pointcloud_fusion with new template Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: add param of selectable semantic id Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * chore: typo Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: launch file Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * Revert "fix: launch file" This reverts commit 5dfa160. * fix: reverse perception launcher Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * style(pre-commit): autofix * Update perception/image_projection_based_fusion/src/segmentation_pointcloud_fusion/node.cpp Co-authored-by: Yoshi Ri <yoshiyoshidetteiu@gmail.com> * style(pre-commit): autofix --------- Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Yoshi Ri <yoshiyoshidetteiu@gmail.com>
…d_fusion for pointcloud filter (autowarefoundation#5562) * fix: roiCallback for Image Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: pointcloud filter Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: pointcloud filter bugfix Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: segmentation poincloud filter Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: add option in launch file Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * chore: refactor Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * docs: update docs Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: roi_pointcloud_fusion with new template Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: add param of selectable semantic id Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * chore: typo Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: launch file Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * Revert "fix: launch file" This reverts commit 5dfa160. * fix: reverse perception launcher Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * style(pre-commit): autofix * Update perception/image_projection_based_fusion/src/segmentation_pointcloud_fusion/node.cpp Co-authored-by: Yoshi Ri <yoshiyoshidetteiu@gmail.com> * style(pre-commit): autofix --------- Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Yoshi Ri <yoshiyoshidetteiu@gmail.com>
…d_fusion for pointcloud filter (autowarefoundation#5562) * fix: roiCallback for Image Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: pointcloud filter Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: pointcloud filter bugfix Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: segmentation poincloud filter Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: add option in launch file Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * chore: refactor Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * docs: update docs Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: roi_pointcloud_fusion with new template Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: add param of selectable semantic id Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * chore: typo Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * fix: launch file Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * Revert "fix: launch file" This reverts commit 5dfa160. * fix: reverse perception launcher Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> * style(pre-commit): autofix * Update perception/image_projection_based_fusion/src/segmentation_pointcloud_fusion/node.cpp Co-authored-by: Yoshi Ri <yoshiyoshidetteiu@gmail.com> * style(pre-commit): autofix --------- Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Yoshi Ri <yoshiyoshidetteiu@gmail.com>
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.