Skip to content

Commit cd58d5b

Browse files
authored
chore(tier4_perception_launch): re-order objects_validation process after 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>
1 parent ece3809 commit cd58d5b

File tree

5 files changed

+30
-132
lines changed

5 files changed

+30
-132
lines changed

launch/tier4_perception_launch/launch/object_recognition/detection/detection.launch.xml

+13-27
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,11 @@
6464
<let name="radar_pipeline/output/objects" value="$(var ns)/radar/far_objects"/>
6565
<let name="radar_object_filter/output/objects" value="$(var ns)/radar/far_objects"/>
6666

67+
<let name="object_validator/input/obstacle_pointcloud" value="$(var pointcloud_filter/output/pointcloud)" if="$(var use_pointcloud_map)"/>
68+
<let name="object_validator/input/obstacle_pointcloud" value="$(var input/obstacle_segmentation/pointcloud)" unless="$(var use_pointcloud_map)"/>
69+
<let name="object_merger/input/ml_detected_objects" value="$(var lidar_object_filter/output/objects)" if="$(var use_validator)"/>
70+
<let name="object_merger/input/ml_detected_objects" value="$(var lidar_ml_detector/output/objects)" unless="$(var use_validator)"/>
71+
6772
<!-- Module switching -->
6873
<let name="switch/detector/camera_lidar" value="false"/>
6974
<let name="switch/detector/lidar_dnn" value="false"/>
@@ -75,7 +80,8 @@
7580

7681
<let name="switch/filter/pointcloud" value="false"/>
7782
<let name="switch/filter/camera_lidar_object" value="false"/>
78-
<let name="switch/filter/lidar_object" value="false"/>
83+
<let name="switch/filter/lidar_object" value="false" unless="$(var use_validator)"/>
84+
<let name="switch/filter/lidar_object" value="true" if="$(var use_validator)"/>
7985

8086
<let name="switch/merger/camera_lidar_radar" value="false"/>
8187
<let name="switch/merger/camera_lidar" value="false"/>
@@ -90,7 +96,6 @@
9096
<let name="switch/merger/camera_lidar_radar" value="true" unless="$(var use_multi_channel_tracker_merger)"/>
9197
<group scoped="false" if="$(var use_multi_channel_tracker_merger)">
9298
<let name="switch/filter/camera_lidar_object" value="true"/>
93-
<let name="switch/filter/lidar_object" value="true"/>
9499
<let name="camera_lidar_rule_detector/output/objects" value="$(var ns)/clustering/camera_lidar_fusion/unfiltered/objects"/>
95100
<let name="camera_lidar_object_filter/output/objects" value="$(var ns)/clustering/camera_lidar_fusion/objects"/>
96101
</group>
@@ -102,7 +107,6 @@
102107
<let name="switch/merger/camera_lidar" value="true" unless="$(var use_multi_channel_tracker_merger)"/>
103108
<group scoped="false" if="$(var use_multi_channel_tracker_merger)">
104109
<let name="switch/filter/camera_lidar_object" value="true"/>
105-
<let name="switch/filter/lidar_object" value="true"/>
106110
<let name="camera_lidar_rule_detector/output/objects" value="$(var ns)/clustering/camera_lidar_fusion/unfiltered/objects"/>
107111
<let name="camera_lidar_object_filter/output/objects" value="$(var ns)/clustering/camera_lidar_fusion/objects"/>
108112
</group>
@@ -112,14 +116,12 @@
112116
<let name="switch/detector/lidar_dnn" value="true"/>
113117
<let name="switch/detector/lidar_rule" value="true"/>
114118
<let name="switch/detector/radar" value="true"/>
115-
<let name="switch/filter/lidar_object" value="true" if="$(var use_multi_channel_tracker_merger)"/>
116119
<let name="switch/merger/lidar_radar" value="true" unless="$(var use_multi_channel_tracker_merger)"/>
117120
</group>
118121
<group scoped="false" if="$(eval '&quot;$(var mode)&quot;==&quot;lidar&quot;')">
119122
<let name="switch/filter/pointcloud" value="true"/>
120123
<let name="switch/detector/lidar_dnn" value="true"/>
121124
<let name="switch/detector/lidar_rule" value="true"/>
122-
<let name="switch/filter/lidar_object" value="true" if="$(var use_multi_channel_tracker_merger)"/>
123125
<let name="switch/merger/lidar" value="true" unless="$(var use_multi_channel_tracker_merger)"/>
124126
</group>
125127
<group scoped="false" if="$(eval '&quot;$(var mode)&quot;==&quot;radar&quot;')">
@@ -244,10 +246,10 @@
244246
</group>
245247
<group if="$(var switch/filter/lidar_object)">
246248
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/filter/object_validator.launch.xml">
247-
<arg name="input/obstacle_pointcloud" value="$(var pointcloud_filter/output/pointcloud)"/>
249+
<arg name="input/obstacle_pointcloud" value="$(var object_validator/input/obstacle_pointcloud)"/>
248250
<arg name="input/objects" value="$(var lidar_ml_detector/output/objects)"/>
249251
<arg name="output/objects" value="$(var lidar_object_filter/output/objects)"/>
250-
<arg name="objects_validation_method" value="obstacle_pointcloud"/>
252+
<arg name="objects_validation_method" value="$(var objects_validation_method)"/>
251253
</include>
252254
</group>
253255
<group if="$(var switch/filter/camera_lidar_object)">
@@ -287,9 +289,7 @@
287289
<arg name="input/camera7/image" value="$(var input/camera7/image)"/>
288290
<arg name="input/camera7/info" value="$(var input/camera7/info)"/>
289291
<arg name="input/camera7/rois" value="$(var input/camera7/rois)"/>
290-
<arg name="input/pointcloud_map/pointcloud" value="$(var pointcloud_filter/output/pointcloud)"/>
291-
<arg name="input/obstacle_segmentation/pointcloud" value="$(var input/obstacle_segmentation/pointcloud)"/>
292-
<arg name="input/lidar_ml/objects" value="$(var lidar_ml_detector/output/objects)"/>
292+
<arg name="input/lidar_ml/objects" value="$(var object_merger/input/ml_detected_objects)"/>
293293
<arg name="input/lidar_rule/objects" value="$(var camera_lidar_rule_detector/output/objects)"/>
294294
<arg name="input/detection_by_tracker/objects" value="$(var tracker_based_detector/output/objects)"/>
295295
<arg name="input/radar/objects" value="radar/noise_filtered_objects"/>
@@ -301,8 +301,6 @@
301301
<arg name="use_pointcloud_map" value="$(var use_pointcloud_map)"/>
302302
<arg name="use_object_filter" value="$(var use_object_filter)"/>
303303
<arg name="objects_filter_method" value="$(var objects_filter_method)"/>
304-
<arg name="use_validator" value="$(var use_validator)"/>
305-
<arg name="objects_validation_method" value="$(var objects_validation_method)"/>
306304
<arg name="roi_detected_object_fusion_param_path" value="$(var roi_detected_object_fusion_param_path)"/>
307305
</include>
308306
</group>
@@ -335,16 +333,12 @@
335333
<arg name="input/camera7/image" value="$(var input/camera7/image)"/>
336334
<arg name="input/camera7/info" value="$(var input/camera7/info)"/>
337335
<arg name="input/camera7/rois" value="$(var input/camera7/rois)"/>
338-
<arg name="input/pointcloud_map/pointcloud" value="$(var pointcloud_filter/output/pointcloud)"/>
339-
<arg name="input/obstacle_segmentation/pointcloud" value="$(var input/obstacle_segmentation/pointcloud)"/>
340-
<arg name="input/lidar_ml/objects" value="$(var lidar_ml_detector/output/objects)"/>
336+
<arg name="input/lidar_ml/objects" value="$(var object_merger/input/ml_detected_objects)"/>
341337
<arg name="input/lidar_rule/objects" value="$(var camera_lidar_rule_detector/output/objects)"/>
342338
<arg name="input/detection_by_tracker/objects" value="$(var tracker_based_detector/output/objects)"/>
343339
<arg name="output/objects" value="$(var output/objects)"/>
344340
<arg name="use_object_filter" value="$(var use_object_filter)"/>
345341
<arg name="objects_filter_method" value="$(var objects_filter_method)"/>
346-
<arg name="use_validator" value="$(var use_validator)"/>
347-
<arg name="objects_validation_method" value="$(var objects_validation_method)"/>
348342
<arg name="lidar_detection_model_type" value="$(var lidar_detection_model_type)"/>
349343
<arg name="use_detection_by_tracker" value="$(var use_detection_by_tracker)"/>
350344
<arg name="use_pointcloud_map" value="$(var use_pointcloud_map)"/>
@@ -355,18 +349,14 @@
355349
<!-- Lidar object merger-->
356350
<group>
357351
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/merger/lidar_merger.launch.xml">
358-
<arg name="input/pointcloud_map/pointcloud" value="$(var pointcloud_filter/output/pointcloud)"/>
359-
<arg name="input/obstacle_segmentation/pointcloud" value="$(var input/obstacle_segmentation/pointcloud)"/>
360-
<arg name="input/lidar_ml/objects" value="$(var lidar_ml_detector/output/objects)"/>
352+
<arg name="input/lidar_ml/objects" value="$(var object_merger/input/ml_detected_objects)"/>
361353
<arg name="input/lidar_rule/objects" value="$(var lidar_rule_detector/output/objects)"/>
362354
<arg name="output/objects" value="lidar/objects"/>
363355
<arg name="lidar_detection_model_type" value="$(var lidar_detection_model_type)"/>
364356
<arg name="use_detection_by_tracker" value="$(var use_detection_by_tracker)"/>
365357
<arg name="use_pointcloud_map" value="$(var use_pointcloud_map)"/>
366358
<arg name="use_object_filter" value="$(var use_object_filter)"/>
367359
<arg name="objects_filter_method" value="$(var objects_filter_method)"/>
368-
<arg name="use_validator" value="$(var use_validator)"/>
369-
<arg name="objects_validation_method" value="$(var objects_validation_method)"/>
370360
</include>
371361
</group>
372362
<!-- Lidar-Radar object merger-->
@@ -382,9 +372,7 @@
382372
<group if="$(var switch/merger/lidar)">
383373
<!-- Lidar object merger-->
384374
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/merger/lidar_merger.launch.xml">
385-
<arg name="input/pointcloud_map/pointcloud" value="$(var pointcloud_filter/output/pointcloud)"/>
386-
<arg name="input/obstacle_segmentation/pointcloud" value="$(var input/obstacle_segmentation/pointcloud)"/>
387-
<arg name="input/lidar_ml/objects " value="$(var lidar_ml_detector/output/objects)"/>
375+
<arg name="input/lidar_ml/objects " value="$(var object_merger/input/ml_detected_objects)"/>
388376
<arg name="input/lidar_rule/objects" value="$(var lidar_rule_detector/output/objects)"/>
389377
<arg name="input/detection_by_tracker/objects" value="$(var tracker_based_detector/output/objects)"/>
390378
<arg name="output/objects" value="$(var output/objects)"/>
@@ -393,8 +381,6 @@
393381
<arg name="use_pointcloud_map" value="$(var use_pointcloud_map)"/>
394382
<arg name="use_object_filter" value="$(var use_object_filter)"/>
395383
<arg name="objects_filter_method" value="$(var objects_filter_method)"/>
396-
<arg name="use_validator" value="$(var use_validator)"/>
397-
<arg name="objects_validation_method" value="$(var objects_validation_method)"/>
398384
</include>
399385
</group>
400386
</launch>

launch/tier4_perception_launch/launch/object_recognition/detection/detector/camera_lidar_detector.launch.xml

+4-15
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,8 @@
5555

5656
<let name="euclidean_cluster/input/pointcloud" value="$(var segmentation_based_filtered/output/pointcloud)" if="$(var use_image_segmentation_based_filter)"/>
5757
<let name="euclidean_cluster/input/pointcloud" value="$(var input/pointcloud_map/pointcloud)" unless="$(var use_image_segmentation_based_filter)"/>
58-
<let name="clustering/clusters" value="$(var ns)/clustering/clusters"/>
59-
<!-- <let name="euclidean_cluster/output/clusters" value="$(var ns)/clustering/euclidean_cluster/clusters" if="$(var use_roi_based_cluster)"/> -->
60-
<let name="euclidean_cluster/output/clusters" value="$(var clustering/clusters)"/>
61-
<let name="shape_estimation1/input/clusters" value="$(var clustering/clusters)"/>
58+
<let name="euclidean_cluster/output/clusters" value="$(var ns)/clustering/clusters"/>
59+
<let name="shape_estimation1/input/clusters" value="$(var euclidean_cluster/output/clusters)"/>
6260
<let name="shape_estimation1/output/objects" value="$(var output/clustering/cluster_objects)"/>
6361

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

75-
<let name="shape_estimation2/input/clusters" value="$(var roi_cluster_merger/output/clusters)" if="$(eval &quot;'$(var use_roi_based_cluster)' == 'true'&quot;)"/>
76-
<let
77-
name="shape_estimation2/input/clusters"
78-
value="$(var low_intensity_cluster_filter/output/clusters)"
79-
if="$(eval &quot;'$(var use_roi_based_cluster)' == 'false' and '$(var use_low_intensity_cluster_filter)' == 'true'&quot;)"
80-
/>
81-
<let
82-
name="shape_estimation2/input/clusters"
83-
value="$(var roi_cluster_fusion/output/clusters)"
84-
if="$(eval &quot;'$(var use_roi_based_cluster)' == 'false' and '$(var use_low_intensity_cluster_filter)' == 'false'&quot;)"
85-
/>
73+
<let name="shape_estimation2/input/clusters" value="$(var roi_cluster_merger/output/clusters)" if="$(var use_roi_based_cluster)"/>
74+
<let name="shape_estimation2/input/clusters" value="$(var roi_cluster_merger/input/clusters0)" unless="$(var use_roi_based_cluster)"/>
8675
<let name="shape_estimation2/output/objects" value="$(var ns)/clustering/camera_lidar_fusion/objects_with_feature"/>
8776
<let name="detected_object_feature_remover/input/objects_with_feature" value="$(var shape_estimation2/output/objects)"/>
8877
<let name="detected_object_feature_remover/output/objects" value="$(var output/rule_detector/objects)"/>

launch/tier4_perception_launch/launch/object_recognition/detection/merger/camera_lidar_merger.launch.xml

+6-28
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,6 @@
88
<arg name="lidar_detection_model_type"/>
99
<arg name="use_detection_by_tracker"/>
1010

11-
<arg name="use_validator"/>
12-
<arg name="objects_validation_method"/>
13-
<arg name="use_pointcloud_map"/>
14-
1511
<arg name="use_object_filter" description="use object filter"/>
1612
<arg name="objects_filter_method"/>
1713
<let name="without_dbt_and_filter" value="$(eval &quot;'$(var use_detection_by_tracker)'=='false' and '$(var use_object_filter)'=='false' &quot;)"/>
@@ -42,24 +38,16 @@
4238
<arg name="input/camera7/image"/>
4339
<arg name="input/camera7/info"/>
4440
<arg name="input/camera7/rois"/>
45-
<arg name="input/pointcloud_map/pointcloud"/>
46-
<arg name="input/obstacle_segmentation/pointcloud"/>
4741
<arg name="input/lidar_ml/objects"/>
4842
<arg name="input/lidar_rule/objects"/>
4943
<arg name="input/detection_by_tracker/objects"/>
5044
<arg name="output/objects" default="objects"/>
5145

5246
<!-- internal interfaces -->
53-
<let name="camera_roi_fusion/input/objects" value="$(var input/lidar_ml/objects)"/>
54-
<let name="camera_roi_fusion/output/objects" value="$(var lidar_detection_model_type)/roi_fusion/objects"/>
55-
56-
<let name="validator/input/objects" value="$(var camera_roi_fusion/output/objects)"/>
57-
<let name="validator/input/obstacle_pointcloud" value="$(var input/pointcloud_map/pointcloud)" if="$(var use_pointcloud_map)"/>
58-
<let name="validator/input/obstacle_pointcloud" value="$(var input/obstacle_segmentation/pointcloud)" unless="$(var use_pointcloud_map)"/>
59-
<let name="validator/output/objects" value="$(var lidar_detection_model_type)/validation/objects"/>
47+
<let name="detected_object_roi_filter/input/objects" value="$(var input/lidar_ml/objects)"/>
48+
<let name="detected_object_roi_filter/output/objects" value="$(var lidar_detection_model_type)/roi_fusion/objects"/>
6049

61-
<let name="merger1/input/objects0" value="$(var validator/output/objects)" if="$(var use_validator)"/>
62-
<let name="merger1/input/objects0" value="$(var input/lidar_ml/objects)" unless="$(var use_validator)"/>
50+
<let name="merger1/input/objects0" value="$(var detected_object_roi_filter/output/objects)"/>
6351
<let name="merger1/input/objects1" value="$(var input/lidar_rule/objects)"/>
6452
<let name="merger1/output/objects" value="$(var output/objects)" if="$(var without_dbt_and_filter)"/>
6553
<let name="merger1/output/objects" value="$(var lidar_detection_model_type)_roi_cluster_fusion/objects" unless="$(var without_dbt_and_filter)"/>
@@ -73,7 +61,7 @@
7361
<let name="filter/input/objects" value="$(var merger1/output/objects)" unless="$(var use_detection_by_tracker)"/>
7462
<let name="filter/output/objects" value="$(var output/objects)"/>
7563

76-
<!-- Camera ROI fusion -->
64+
<!-- Detected object filter by ROI -->
7765
<group>
7866
<include file="$(find-pkg-share autoware_image_projection_based_fusion)/launch/roi_detected_object_fusion.launch.xml">
7967
<arg name="input/rois_number" value="$(var number_of_cameras)"/>
@@ -101,22 +89,12 @@
10189
<arg name="input/image5" value="$(var input/camera5/image)"/>
10290
<arg name="input/image6" value="$(var input/camera6/image)"/>
10391
<arg name="input/image7" value="$(var input/camera7/image)"/>
104-
<arg name="input/objects" value="$(var camera_roi_fusion/input/objects)"/>
105-
<arg name="output/objects" value="$(var camera_roi_fusion/output/objects)"/>
92+
<arg name="input/objects" value="$(var detected_object_roi_filter/input/objects)"/>
93+
<arg name="output/objects" value="$(var detected_object_roi_filter/output/objects)"/>
10694
<arg name="param_path" value="$(var roi_detected_object_fusion_param_path)"/>
10795
</include>
10896
</group>
10997

110-
<!-- Validator -->
111-
<group if="$(var use_validator)">
112-
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/filter/object_validator.launch.xml">
113-
<arg name="input/obstacle_pointcloud" value="$(var validator/input/obstacle_pointcloud)"/>
114-
<arg name="input/objects" value="$(var validator/input/objects)"/>
115-
<arg name="output/objects" value="$(var validator/output/objects)"/>
116-
<arg name="objects_validation_method" value="$(var objects_validation_method)"/>
117-
</include>
118-
</group>
119-
12098
<!-- 1st merger: camera_lidar_fusion + lidar cluster-->
12199
<group>
122100
<include file="$(find-pkg-share autoware_object_merger)/launch/object_association_merger.launch.xml">

0 commit comments

Comments
 (0)