Skip to content

Commit

Permalink
chore(tier4_perception_launch): re-order objects_validation process a…
Browse files Browse the repository at this point in the history
…fter lidar ml detector (#10160)

* fix: reorder object validator before the merge process

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* feat(camera_lidar_radar_merger): remove near radar fusion arguments and related logic

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* feat: remove validator and related arguments from camera, lidar, and radar merger launch files

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* feat(camera_lidar_detector): update cluster output references for shape estimation

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* feat: update camera and lidar merger launch files to use detected object ROI filter

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

---------

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
  • Loading branch information
technolojin authored Mar 3, 2025
1 parent ece3809 commit cd58d5b
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 132 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,11 @@
<let name="radar_pipeline/output/objects" value="$(var ns)/radar/far_objects"/>
<let name="radar_object_filter/output/objects" value="$(var ns)/radar/far_objects"/>

<let name="object_validator/input/obstacle_pointcloud" value="$(var pointcloud_filter/output/pointcloud)" if="$(var use_pointcloud_map)"/>
<let name="object_validator/input/obstacle_pointcloud" value="$(var input/obstacle_segmentation/pointcloud)" unless="$(var use_pointcloud_map)"/>
<let name="object_merger/input/ml_detected_objects" value="$(var lidar_object_filter/output/objects)" if="$(var use_validator)"/>
<let name="object_merger/input/ml_detected_objects" value="$(var lidar_ml_detector/output/objects)" unless="$(var use_validator)"/>

<!-- Module switching -->
<let name="switch/detector/camera_lidar" value="false"/>
<let name="switch/detector/lidar_dnn" value="false"/>
Expand All @@ -75,7 +80,8 @@

<let name="switch/filter/pointcloud" value="false"/>
<let name="switch/filter/camera_lidar_object" value="false"/>
<let name="switch/filter/lidar_object" value="false"/>
<let name="switch/filter/lidar_object" value="false" unless="$(var use_validator)"/>
<let name="switch/filter/lidar_object" value="true" if="$(var use_validator)"/>

<let name="switch/merger/camera_lidar_radar" value="false"/>
<let name="switch/merger/camera_lidar" value="false"/>
Expand All @@ -90,7 +96,6 @@
<let name="switch/merger/camera_lidar_radar" value="true" unless="$(var use_multi_channel_tracker_merger)"/>
<group scoped="false" if="$(var use_multi_channel_tracker_merger)">
<let name="switch/filter/camera_lidar_object" value="true"/>
<let name="switch/filter/lidar_object" value="true"/>
<let name="camera_lidar_rule_detector/output/objects" value="$(var ns)/clustering/camera_lidar_fusion/unfiltered/objects"/>
<let name="camera_lidar_object_filter/output/objects" value="$(var ns)/clustering/camera_lidar_fusion/objects"/>
</group>
Expand All @@ -102,7 +107,6 @@
<let name="switch/merger/camera_lidar" value="true" unless="$(var use_multi_channel_tracker_merger)"/>
<group scoped="false" if="$(var use_multi_channel_tracker_merger)">
<let name="switch/filter/camera_lidar_object" value="true"/>
<let name="switch/filter/lidar_object" value="true"/>
<let name="camera_lidar_rule_detector/output/objects" value="$(var ns)/clustering/camera_lidar_fusion/unfiltered/objects"/>
<let name="camera_lidar_object_filter/output/objects" value="$(var ns)/clustering/camera_lidar_fusion/objects"/>
</group>
Expand All @@ -112,14 +116,12 @@
<let name="switch/detector/lidar_dnn" value="true"/>
<let name="switch/detector/lidar_rule" value="true"/>
<let name="switch/detector/radar" value="true"/>
<let name="switch/filter/lidar_object" value="true" if="$(var use_multi_channel_tracker_merger)"/>
<let name="switch/merger/lidar_radar" value="true" unless="$(var use_multi_channel_tracker_merger)"/>
</group>
<group scoped="false" if="$(eval '&quot;$(var mode)&quot;==&quot;lidar&quot;')">
<let name="switch/filter/pointcloud" value="true"/>
<let name="switch/detector/lidar_dnn" value="true"/>
<let name="switch/detector/lidar_rule" value="true"/>
<let name="switch/filter/lidar_object" value="true" if="$(var use_multi_channel_tracker_merger)"/>
<let name="switch/merger/lidar" value="true" unless="$(var use_multi_channel_tracker_merger)"/>
</group>
<group scoped="false" if="$(eval '&quot;$(var mode)&quot;==&quot;radar&quot;')">
Expand Down Expand Up @@ -244,10 +246,10 @@
</group>
<group if="$(var switch/filter/lidar_object)">
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/filter/object_validator.launch.xml">
<arg name="input/obstacle_pointcloud" value="$(var pointcloud_filter/output/pointcloud)"/>
<arg name="input/obstacle_pointcloud" value="$(var object_validator/input/obstacle_pointcloud)"/>
<arg name="input/objects" value="$(var lidar_ml_detector/output/objects)"/>
<arg name="output/objects" value="$(var lidar_object_filter/output/objects)"/>
<arg name="objects_validation_method" value="obstacle_pointcloud"/>
<arg name="objects_validation_method" value="$(var objects_validation_method)"/>
</include>
</group>
<group if="$(var switch/filter/camera_lidar_object)">
Expand Down Expand Up @@ -287,9 +289,7 @@
<arg name="input/camera7/image" value="$(var input/camera7/image)"/>
<arg name="input/camera7/info" value="$(var input/camera7/info)"/>
<arg name="input/camera7/rois" value="$(var input/camera7/rois)"/>
<arg name="input/pointcloud_map/pointcloud" value="$(var pointcloud_filter/output/pointcloud)"/>
<arg name="input/obstacle_segmentation/pointcloud" value="$(var input/obstacle_segmentation/pointcloud)"/>
<arg name="input/lidar_ml/objects" value="$(var lidar_ml_detector/output/objects)"/>
<arg name="input/lidar_ml/objects" value="$(var object_merger/input/ml_detected_objects)"/>
<arg name="input/lidar_rule/objects" value="$(var camera_lidar_rule_detector/output/objects)"/>
<arg name="input/detection_by_tracker/objects" value="$(var tracker_based_detector/output/objects)"/>
<arg name="input/radar/objects" value="radar/noise_filtered_objects"/>
Expand All @@ -301,8 +301,6 @@
<arg name="use_pointcloud_map" value="$(var use_pointcloud_map)"/>
<arg name="use_object_filter" value="$(var use_object_filter)"/>
<arg name="objects_filter_method" value="$(var objects_filter_method)"/>
<arg name="use_validator" value="$(var use_validator)"/>
<arg name="objects_validation_method" value="$(var objects_validation_method)"/>
<arg name="roi_detected_object_fusion_param_path" value="$(var roi_detected_object_fusion_param_path)"/>
</include>
</group>
Expand Down Expand Up @@ -335,16 +333,12 @@
<arg name="input/camera7/image" value="$(var input/camera7/image)"/>
<arg name="input/camera7/info" value="$(var input/camera7/info)"/>
<arg name="input/camera7/rois" value="$(var input/camera7/rois)"/>
<arg name="input/pointcloud_map/pointcloud" value="$(var pointcloud_filter/output/pointcloud)"/>
<arg name="input/obstacle_segmentation/pointcloud" value="$(var input/obstacle_segmentation/pointcloud)"/>
<arg name="input/lidar_ml/objects" value="$(var lidar_ml_detector/output/objects)"/>
<arg name="input/lidar_ml/objects" value="$(var object_merger/input/ml_detected_objects)"/>
<arg name="input/lidar_rule/objects" value="$(var camera_lidar_rule_detector/output/objects)"/>
<arg name="input/detection_by_tracker/objects" value="$(var tracker_based_detector/output/objects)"/>
<arg name="output/objects" value="$(var output/objects)"/>
<arg name="use_object_filter" value="$(var use_object_filter)"/>
<arg name="objects_filter_method" value="$(var objects_filter_method)"/>
<arg name="use_validator" value="$(var use_validator)"/>
<arg name="objects_validation_method" value="$(var objects_validation_method)"/>
<arg name="lidar_detection_model_type" value="$(var lidar_detection_model_type)"/>
<arg name="use_detection_by_tracker" value="$(var use_detection_by_tracker)"/>
<arg name="use_pointcloud_map" value="$(var use_pointcloud_map)"/>
Expand All @@ -355,18 +349,14 @@
<!-- Lidar object merger-->
<group>
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/merger/lidar_merger.launch.xml">
<arg name="input/pointcloud_map/pointcloud" value="$(var pointcloud_filter/output/pointcloud)"/>
<arg name="input/obstacle_segmentation/pointcloud" value="$(var input/obstacle_segmentation/pointcloud)"/>
<arg name="input/lidar_ml/objects" value="$(var lidar_ml_detector/output/objects)"/>
<arg name="input/lidar_ml/objects" value="$(var object_merger/input/ml_detected_objects)"/>
<arg name="input/lidar_rule/objects" value="$(var lidar_rule_detector/output/objects)"/>
<arg name="output/objects" value="lidar/objects"/>
<arg name="lidar_detection_model_type" value="$(var lidar_detection_model_type)"/>
<arg name="use_detection_by_tracker" value="$(var use_detection_by_tracker)"/>
<arg name="use_pointcloud_map" value="$(var use_pointcloud_map)"/>
<arg name="use_object_filter" value="$(var use_object_filter)"/>
<arg name="objects_filter_method" value="$(var objects_filter_method)"/>
<arg name="use_validator" value="$(var use_validator)"/>
<arg name="objects_validation_method" value="$(var objects_validation_method)"/>
</include>
</group>
<!-- Lidar-Radar object merger-->
Expand All @@ -382,9 +372,7 @@
<group if="$(var switch/merger/lidar)">
<!-- Lidar object merger-->
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/merger/lidar_merger.launch.xml">
<arg name="input/pointcloud_map/pointcloud" value="$(var pointcloud_filter/output/pointcloud)"/>
<arg name="input/obstacle_segmentation/pointcloud" value="$(var input/obstacle_segmentation/pointcloud)"/>
<arg name="input/lidar_ml/objects " value="$(var lidar_ml_detector/output/objects)"/>
<arg name="input/lidar_ml/objects " value="$(var object_merger/input/ml_detected_objects)"/>
<arg name="input/lidar_rule/objects" value="$(var lidar_rule_detector/output/objects)"/>
<arg name="input/detection_by_tracker/objects" value="$(var tracker_based_detector/output/objects)"/>
<arg name="output/objects" value="$(var output/objects)"/>
Expand All @@ -393,8 +381,6 @@
<arg name="use_pointcloud_map" value="$(var use_pointcloud_map)"/>
<arg name="use_object_filter" value="$(var use_object_filter)"/>
<arg name="objects_filter_method" value="$(var objects_filter_method)"/>
<arg name="use_validator" value="$(var use_validator)"/>
<arg name="objects_validation_method" value="$(var objects_validation_method)"/>
</include>
</group>
</launch>
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,8 @@

<let name="euclidean_cluster/input/pointcloud" value="$(var segmentation_based_filtered/output/pointcloud)" if="$(var use_image_segmentation_based_filter)"/>
<let name="euclidean_cluster/input/pointcloud" value="$(var input/pointcloud_map/pointcloud)" unless="$(var use_image_segmentation_based_filter)"/>
<let name="clustering/clusters" value="$(var ns)/clustering/clusters"/>
<!-- <let name="euclidean_cluster/output/clusters" value="$(var ns)/clustering/euclidean_cluster/clusters" if="$(var use_roi_based_cluster)"/> -->
<let name="euclidean_cluster/output/clusters" value="$(var clustering/clusters)"/>
<let name="shape_estimation1/input/clusters" value="$(var clustering/clusters)"/>
<let name="euclidean_cluster/output/clusters" value="$(var ns)/clustering/clusters"/>
<let name="shape_estimation1/input/clusters" value="$(var euclidean_cluster/output/clusters)"/>
<let name="shape_estimation1/output/objects" value="$(var output/clustering/cluster_objects)"/>

<let name="roi_cluster_fusion/input/clusters" value="$(var euclidean_cluster/output/clusters)"/>
Expand All @@ -72,17 +70,8 @@
<let name="roi_cluster_merger/input/clusters0" value="$(var roi_cluster_fusion/output/clusters)" unless="$(var use_low_intensity_cluster_filter)"/>
<let name="roi_cluster_merger/output/clusters" value="$(var ns)/clustering/camera_lidar_fusion/merger/clusters"/>

<let name="shape_estimation2/input/clusters" value="$(var roi_cluster_merger/output/clusters)" if="$(eval &quot;'$(var use_roi_based_cluster)' == 'true'&quot;)"/>
<let
name="shape_estimation2/input/clusters"
value="$(var low_intensity_cluster_filter/output/clusters)"
if="$(eval &quot;'$(var use_roi_based_cluster)' == 'false' and '$(var use_low_intensity_cluster_filter)' == 'true'&quot;)"
/>
<let
name="shape_estimation2/input/clusters"
value="$(var roi_cluster_fusion/output/clusters)"
if="$(eval &quot;'$(var use_roi_based_cluster)' == 'false' and '$(var use_low_intensity_cluster_filter)' == 'false'&quot;)"
/>
<let name="shape_estimation2/input/clusters" value="$(var roi_cluster_merger/output/clusters)" if="$(var use_roi_based_cluster)"/>
<let name="shape_estimation2/input/clusters" value="$(var roi_cluster_merger/input/clusters0)" unless="$(var use_roi_based_cluster)"/>
<let name="shape_estimation2/output/objects" value="$(var ns)/clustering/camera_lidar_fusion/objects_with_feature"/>
<let name="detected_object_feature_remover/input/objects_with_feature" value="$(var shape_estimation2/output/objects)"/>
<let name="detected_object_feature_remover/output/objects" value="$(var output/rule_detector/objects)"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,6 @@
<arg name="lidar_detection_model_type"/>
<arg name="use_detection_by_tracker"/>

<arg name="use_validator"/>
<arg name="objects_validation_method"/>
<arg name="use_pointcloud_map"/>

<arg name="use_object_filter" description="use object filter"/>
<arg name="objects_filter_method"/>
<let name="without_dbt_and_filter" value="$(eval &quot;'$(var use_detection_by_tracker)'=='false' and '$(var use_object_filter)'=='false' &quot;)"/>
Expand Down Expand Up @@ -42,24 +38,16 @@
<arg name="input/camera7/image"/>
<arg name="input/camera7/info"/>
<arg name="input/camera7/rois"/>
<arg name="input/pointcloud_map/pointcloud"/>
<arg name="input/obstacle_segmentation/pointcloud"/>
<arg name="input/lidar_ml/objects"/>
<arg name="input/lidar_rule/objects"/>
<arg name="input/detection_by_tracker/objects"/>
<arg name="output/objects" default="objects"/>

<!-- internal interfaces -->
<let name="camera_roi_fusion/input/objects" value="$(var input/lidar_ml/objects)"/>
<let name="camera_roi_fusion/output/objects" value="$(var lidar_detection_model_type)/roi_fusion/objects"/>

<let name="validator/input/objects" value="$(var camera_roi_fusion/output/objects)"/>
<let name="validator/input/obstacle_pointcloud" value="$(var input/pointcloud_map/pointcloud)" if="$(var use_pointcloud_map)"/>
<let name="validator/input/obstacle_pointcloud" value="$(var input/obstacle_segmentation/pointcloud)" unless="$(var use_pointcloud_map)"/>
<let name="validator/output/objects" value="$(var lidar_detection_model_type)/validation/objects"/>
<let name="detected_object_roi_filter/input/objects" value="$(var input/lidar_ml/objects)"/>
<let name="detected_object_roi_filter/output/objects" value="$(var lidar_detection_model_type)/roi_fusion/objects"/>

<let name="merger1/input/objects0" value="$(var validator/output/objects)" if="$(var use_validator)"/>
<let name="merger1/input/objects0" value="$(var input/lidar_ml/objects)" unless="$(var use_validator)"/>
<let name="merger1/input/objects0" value="$(var detected_object_roi_filter/output/objects)"/>
<let name="merger1/input/objects1" value="$(var input/lidar_rule/objects)"/>
<let name="merger1/output/objects" value="$(var output/objects)" if="$(var without_dbt_and_filter)"/>
<let name="merger1/output/objects" value="$(var lidar_detection_model_type)_roi_cluster_fusion/objects" unless="$(var without_dbt_and_filter)"/>
Expand All @@ -73,7 +61,7 @@
<let name="filter/input/objects" value="$(var merger1/output/objects)" unless="$(var use_detection_by_tracker)"/>
<let name="filter/output/objects" value="$(var output/objects)"/>

<!-- Camera ROI fusion -->
<!-- Detected object filter by ROI -->
<group>
<include file="$(find-pkg-share autoware_image_projection_based_fusion)/launch/roi_detected_object_fusion.launch.xml">
<arg name="input/rois_number" value="$(var number_of_cameras)"/>
Expand Down Expand Up @@ -101,22 +89,12 @@
<arg name="input/image5" value="$(var input/camera5/image)"/>
<arg name="input/image6" value="$(var input/camera6/image)"/>
<arg name="input/image7" value="$(var input/camera7/image)"/>
<arg name="input/objects" value="$(var camera_roi_fusion/input/objects)"/>
<arg name="output/objects" value="$(var camera_roi_fusion/output/objects)"/>
<arg name="input/objects" value="$(var detected_object_roi_filter/input/objects)"/>
<arg name="output/objects" value="$(var detected_object_roi_filter/output/objects)"/>
<arg name="param_path" value="$(var roi_detected_object_fusion_param_path)"/>
</include>
</group>

<!-- Validator -->
<group if="$(var use_validator)">
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/filter/object_validator.launch.xml">
<arg name="input/obstacle_pointcloud" value="$(var validator/input/obstacle_pointcloud)"/>
<arg name="input/objects" value="$(var validator/input/objects)"/>
<arg name="output/objects" value="$(var validator/output/objects)"/>
<arg name="objects_validation_method" value="$(var objects_validation_method)"/>
</include>
</group>

<!-- 1st merger: camera_lidar_fusion + lidar cluster-->
<group>
<include file="$(find-pkg-share autoware_object_merger)/launch/object_association_merger.launch.xml">
Expand Down
Loading

0 comments on commit cd58d5b

Please sign in to comment.