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