From e9bdc642eac80cf21acfcd701f05eaba790f723e Mon Sep 17 00:00:00 2001 From: badai-nguyen Date: Fri, 6 Dec 2024 10:03:33 +0900 Subject: [PATCH] feat: add traffic_light_detector launch Signed-off-by: badai-nguyen fix: tier4 perception launch Signed-off-by: badai-nguyen fix: add multi tlr detector launch Signed-off-by: badai-nguyen fix: tier4 launch Signed-off-by: badai-nguyen fix: tl detector launch Signed-off-by: badai-nguyen fix: data director Signed-off-by: badai-nguyen fix: precision int8 Signed-off-by: badai-nguyen chore: revert to fp16 Signed-off-by: badai-nguyen feat: remove occlusion and add car ped classification merger Signed-off-by: badai-nguyen fix: launch for multi camera Signed-off-by: badai-nguyen chore: pre-commit Signed-off-by: badai-nguyen fix: update matching score Signed-off-by: badai-nguyen feat: add max_iou_threshold Signed-off-by: badai-nguyen feat: add occlusion unknown classifier Signed-off-by: badai-nguyen --- .../traffic_light.launch.xml | 5 +- .../traffic_light_detector.launch.xml | 70 +++++++++++++++++++ ...traffic_light_map_based_detector.launch.py | 28 ++++++++ .../traffic_light_node_container.launch.py | 22 +++++- 4 files changed, 121 insertions(+), 4 deletions(-) create mode 100644 launch/tier4_perception_launch/launch/traffic_light_recognition/traffic_light_detector.launch.xml diff --git a/launch/tier4_perception_launch/launch/traffic_light_recognition/traffic_light.launch.xml b/launch/tier4_perception_launch/launch/traffic_light_recognition/traffic_light.launch.xml index d4a0a8b5abdd8..7735ef62ec537 100644 --- a/launch/tier4_perception_launch/launch/traffic_light_recognition/traffic_light.launch.xml +++ b/launch/tier4_perception_launch/launch/traffic_light_recognition/traffic_light.launch.xml @@ -34,6 +34,7 @@ + @@ -47,12 +48,12 @@ - + diff --git a/launch/tier4_perception_launch/launch/traffic_light_recognition/traffic_light_detector.launch.xml b/launch/tier4_perception_launch/launch/traffic_light_recognition/traffic_light_detector.launch.xml new file mode 100644 index 0000000000000..ca41ad8b3147e --- /dev/null +++ b/launch/tier4_perception_launch/launch/traffic_light_recognition/traffic_light_detector.launch.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/launch/tier4_perception_launch/launch/traffic_light_recognition/traffic_light_map_based_detector.launch.py b/launch/tier4_perception_launch/launch/traffic_light_recognition/traffic_light_map_based_detector.launch.py index e38c05f9caa3e..8cb961dded957 100644 --- a/launch/tier4_perception_launch/launch/traffic_light_recognition/traffic_light_map_based_detector.launch.py +++ b/launch/tier4_perception_launch/launch/traffic_light_recognition/traffic_light_map_based_detector.launch.py @@ -56,6 +56,27 @@ def create_traffic_light_map_based_detector(namespace, context): return group +def create_traffic_light_detector(namespace, context): + package = FindPackageShare("tier4_perception_launch") + include = PathJoinSubstitution( + [package, "launch/traffic_light_recognition/traffic_light_detector.launch.xml"] + ) + arguments = { + "namespace": namespace, + "use_decompress": "true", + }.items() + + group = GroupAction( + [ + PushRosNamespace(namespace), + PushRosNamespace("detection"), + IncludeLaunchDescription(include, launch_arguments=arguments), + ] + ) + + return group + + def launch_setup(context, *args, **kwargs): # Load all camera namespaces all_camera_namespaces = LaunchConfiguration("all_camera_namespaces").perform(context) @@ -76,6 +97,13 @@ def launch_setup(context, *args, **kwargs): create_traffic_light_map_based_detector(namespace, context) for namespace in all_camera_namespaces ] + + _ = [ + traffic_light_recognition_containers.append( + create_traffic_light_detector(namespace, context) + ) + for namespace in all_camera_namespaces + ] return traffic_light_recognition_containers diff --git a/launch/tier4_perception_launch/launch/traffic_light_recognition/traffic_light_node_container.launch.py b/launch/tier4_perception_launch/launch/traffic_light_recognition/traffic_light_node_container.launch.py index 9603570b3cfe7..0aa8f8d07c743 100644 --- a/launch/tier4_perception_launch/launch/traffic_light_recognition/traffic_light_node_container.launch.py +++ b/launch/tier4_perception_launch/launch/traffic_light_recognition/traffic_light_node_container.launch.py @@ -122,6 +122,24 @@ def create_parameter_dict(*args): {"use_intra_process_comms": LaunchConfiguration("use_intra_process")} ], ), + ComposableNode( + package="autoware_traffic_light_signals_merger", + plugin="autoware::traffic_light::TrafficLightSignalsMergerNode", + name="traffic_light_signals_merger", + namespace="classification", + remappings=[ + ("input/car_signals", "classified/car/traffic_signals"), + ("input/pedestrian_signals", "classified/pedestrian/traffic_signals"), + ( + "input/expect_rois", + f"/perception/traffic_light_recognition/{namespace}/detection/expect/rois", + ), + ("output/traffic_light_signals", "traffic_signals"), + ], + extra_arguments=[ + {"use_intra_process_comms": LaunchConfiguration("use_intra_process")} + ], + ), ComposableNode( package="autoware_traffic_light_visualization", plugin="autoware::traffic_light::TrafficLightRoiVisualizerNode", @@ -197,8 +215,8 @@ def create_parameter_dict(*args): return [ GroupAction([PushRosNamespace(namespace), container]), - decompressor_loader, - fine_detector_loader, + # decompressor_loader, + # traffic_light_selector_loader, ]