autowarefoundation / autoware.universe

https://autowarefoundation.github.io/autoware.universe/
Apache License 2.0
964 stars 630 forks source link

fix(shape_estimation): unintented roi shape estimation #8842

Open emuemuJP opened 2 weeks ago

emuemuJP commented 2 weeks ago

Description

ROI is different than expected and comes out horizontally. Screenshot from 2024-08-26 16-51-21

In the function “correctWithDefaultValue” of the corrector, which corrects the point cluster to the size according to the object type, a judgment is made as to which side of the ROI should be corrected. The decision is made based on the relative positional relationship between the vehicle and the point cluster. In this case, the ROI was corrected in an unintended direction because the second farthest edge was corrected instead of the farthest edge, especially when the point cluster was located right next to the vehicle.

image

Related links

Parent Issue:

How was this PR tested?

Test with specified rosbag.

shape_estimation_before.webm

shape_estimation_after.webm

Notes for reviewers

None.

Interface changes

None.

Effects on system behavior

None.

github-actions[bot] commented 2 weeks ago

Thank you for contributing to the Autoware project!

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

Please ensure:

emuemuJP commented 1 week ago

I have considered these conditional branches. For the case of extending the ROI horizontally, it may be more appropriate to return false because the condition is indefinite.

case_check drawio

Owen-Liuyuxuan commented 6 days ago

I have considered these conditional branches. For the case of extending the ROI horizontally, it may be more appropriate to return false because the condition is indefinite.

@emuemuJP Sorry, the edges'number does not seem to be labeled correctly, which could mislead my judgment.

But does that mean we should return False in case 3?

emuemuJP commented 4 days ago

The correspondence between roi edge index and the furthest edge index may be confusing.

The white dots in the video are /perception/obstacle_segmentation/pointcloud topic from occupancy_grid_based_outlier_filter node. The purple dots in the video are /perception/object_recognition/detection/pointcloud_map_filtered/pointcloud topic from voxel_based_compare_map_filter node. The yellow dots in the video are The white dots in the video are /perception/obstacle_segmentation/pointcloud topic from /perception/object_recognition/detection/clustering/roi_cluster/roi_pointcloud_fusion node.

We have concluded that it is not essential to change the shape estimation node.

I will investigate this issue in the future, as it may be that fewer yellow and purple points, which are the result of filtering out the white points, will be assigned to the wrong ROI.