Skip to content

autoware_traffic_light_fine_detector#

Purpose#

It is a package for traffic light detection using YOLOX-s.

Training Information#

Pretrained Model#

The model is based on YOLOX and the pretrained model could be downloaded from here.

Training Data#

The model was fine-tuned on around 17,000 TIER IV internal images of Japanese traffic lights.

Trained Onnx model#

You can download the ONNX file using these instructions.
Please visit autoware-documentation for more information.

Inner-workings / Algorithms#

Based on the camera image and the global ROI array detected by map_based_detector node, a CNN-based detection method enables highly accurate traffic light detection. If can not detect traffic light, x_offset, y_offset, height and width of output ROI become 0. ROIs detected from YOLOX will be selected by a combination of expect/rois. At this time, evaluate the whole as ROIs, not just the ROI alone.

Inputs / Outputs#

Input#

Name Type Description
~/input/image sensor_msgs::msg::Image The full size camera image
~/input/rois tier4_perception_msgs::msg::TrafficLightRoiArray The array of ROIs detected by map_based_detector
~/expect/rois tier4_perception_msgs::msg::TrafficLightRoiArray The array of ROIs detected by map_based_detector without any offset, used to select the best detection results

Output#

Name Type Description
~/output/rois tier4_perception_msgs::msg::TrafficLightRoiArray The detected accurate rois
~/debug/exe_time_ms autoware_internal_debug_msgs::msg::Float32Stamped The time taken for inference

Parameters#

Name Type Description Default Range
fine_detector_label_path string The label file with label names for detected objects written on it. \((var traffic_light_fine_detector_model_path)/\)(var traffic_light_fine_detector_label_name) N/A
fine_detector_model_path string The ONNX file name for the YOLO model. \((var traffic_light_fine_detector_model_path)/\)(var traffic_light_fine_detector_model_name).onnx N/A
fine_detector_precision string Precision used for traffic light fine detector inference. Valid values: [fp32, fp16]. fp16 N/A
fine_detector_score_thresh float If the objectness score is less than this value, the object is ignored. 0.3 N/A
fine_detector_nms_thresh float IoU threshold to perform Non-Maximum Suppression (NMS). 0.65 N/A
approximate_sync boolean Flag for whether to use approximate sync policy. False N/A
gpu_id integer ID for selecting the CUDA GPU device. 0 N/A

Assumptions / Known limits#

Reference repositories#

YOLOX github repository