Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(autoware_traffic_light_occlusion_predictor): modify docs #9820

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 15 additions & 10 deletions perception/autoware_traffic_light_occlusion_predictor/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# The `autoware_traffic_light_occlusion_predictor` Package
# autoware_traffic_light_occlusion_predictor

## Overview

`autoware_traffic_light_occlusion_predictor` receives the detected traffic lights rois and calculates the occlusion ratios of each roi with point cloud.
If that rois is judged as occlusion, color, shape, and confidence of `~/output/traffic_signals` become `UNKNOWN`, `UNKNOWN`, and `0.0`.
This node publishes when each car and pedestrian `traffic_signals` is arrived and processed.

For each traffic light roi, hundreds of pixels would be selected and projected into the 3D space. Then from the camera point of view, the number of projected pixels that are occluded by the point cloud is counted and used for calculating the occlusion ratio for the roi. As shown in follow image, the red pixels are occluded and the occlusion ratio is the number of red pixels divided by the total pixel numbers.

Expand All @@ -12,18 +14,20 @@ If no point cloud is received or all point clouds have very large stamp differen

## Input topics

| Name | Type | Description |
| -------------------- | ---------------------------------------------- | ------------------------ |
| `~input/vector_map` | autoware_map_msgs::msg::LaneletMapBin | vector map |
| `~/input/rois` | autoware_perception_msgs::TrafficLightRoiArray | traffic light detections |
| `~input/camera_info` | sensor_msgs::CameraInfo | target camera parameter |
| `~/input/cloud` | sensor_msgs::PointCloud2 | LiDAR point cloud |
| Name | Type | Description |
| ------------------------------------ | ------------------------------------------------ | -------------------------------- |
| `~/input/vector_map` | autoware_map_msgs::msg::LaneletMapBin | vector map |
| `~/input/car/traffic_signals` | tier4_perception_msgs::msg::TrafficLightArray | vehicular traffic light signals |
| `~/input/pedestrian/traffic_signals` | tier4_perception_msgs::msg::TrafficLightArray | pedestrian traffic light signals |
| `~/input/rois` | tier4_perception_msgs::msg::TrafficLightRoiArray | traffic light detections |
| `~/input/camera_info` | sensor_msgs::msg::CameraInfo | target camera parameter |
| `~/input/cloud` | sensor_msgs::msg::PointCloud2 | LiDAR point cloud |

## Output topics

| Name | Type | Description |
| -------------------- | ---------------------------------------------------- | ---------------------------- |
| `~/output/occlusion` | autoware_perception_msgs::TrafficLightOcclusionArray | occlusion ratios of each roi |
| Name | Type | Description |
| -------------------------- | --------------------------------------------- | -------------------------------------------------------------- |
| `~/output/traffic_signals` | tier4_perception_msgs::msg::TrafficLightArray | traffic light signals which occluded image results overwritten |

## Node parameters

Expand All @@ -34,3 +38,4 @@ If no point cloud is received or all point clouds have very large stamp differen
| `max_valid_pt_dist` | double | The points within this distance would be used for calculation |
| `max_image_cloud_delay` | double | The maximum delay between LiDAR point cloud and camera image |
| `max_wait_t` | double | The maximum time waiting for the LiDAR point cloud |
| `max_occlusion_ratio` | int | The maximum occlusion ratio for setting signal as unknown |
Loading