https://github.com/ApolloAuto/apollo/blob/master/docs/specs/3d_obstacle_perception_cn.md
https://github.com/ApolloAuto/apollo/blob/master/docs/specs/3d_obstacle_perception.md
Summary :
- lidar 的点云数据先根据测量范围去查询HD map,得到当前车辆,可行驶区域的多边形边界 --ROI
- 利用这个ROI 来处理lidar数据,以外的点云全部剔除(缩小了数据处理的范围)
- ROI 内的点云结构化(pre-processing)-转换成多通道的2D数据,投影到地平面上 BEV
- 运用CNN 处理多通道的2D点云图。 输出结果,1/0 map
- 点云聚类,关联,输出障碍物的信息(位置,大小 etc)
- 和radar的目标数据进行KF 融合
3D Obstacle Perception
There are three main components of 3D obstacle perception:
- LiDAR Obstacle Perception
- RADAR Obstacle Perception
- Obstacle Results Fusion
LiDAR Obstacle Perception
The following sections describe the obstacle perception pipeline given input as 3D point cloud data from the LiDAR sensor that are resolved by Apollo:
- HDMap Region of Interest (ROI) Filter
- Convolutional Neural Networks (CNN) Segmentation
- MinBox Builder
- HM ObjectTracker
- Sequential TypeFusion
HDMap Region of Interest (ROI) Filter
The Region of Interest (ROI) specifies the drivable area that includes road surfaces and junctions that are retrieved from the HD (high-resolution) map. The HDMap ROI filter processes LiDAR points that are outside the ROI, removing background objects, e.g., buildings and trees around the road. What remains is the point cloud in the ROI for subsequent processing.
Given an HDMap, the affiliation of each LiDAR point indicates whether it is inside or outside the ROI. Each LiDAR point can be queried with a lookup table (LUT) of 2D quantization of the region around the car. The input and output of the HDMap ROI filter module are summarized in the table below.
Input | Output |
---|---|
The point cloud: A set of 3D points captured from LiDAR Sensor. | The indices of input points that are inside the ROI defined by HDMap. |
HDMap: A set of polygons, each of which is an ordered set of points. |
The Apollo HDMap ROI filter generally consists of three successive steps:
-
Coordinate transformation.
-
ROI LUT construction.
-
Point inquiry with ROI LUT.
Coordinate Transformation
For the HDMap ROI filter, the data interface for HDMap is defined by a set of polygons, each of which is actually an ordered set of points in the world coordinate system. Running an inquiry on the points with the HDMap ROI requires that the point cloud and polygons are represented in the same coordinate system. For this purpose, Apollo transforms the points of the input point cloud and the HDMap polygons into a local coordinate system that originates from the LiDAR sensor’s location.
ROI LUT Construction
To determine an input point, whether inside or outside the ROI, Apollo adopts a grid-wise LUT that quantifies the ROI into a birds-eye view 2D grid. As shown in Figure 1, this LUT covers a rectangle region, bounded by a predefined spatial range around the general view from above in the boundary of HDMap. Then it represents the affiliation with the ROI for each cell of the grid (i.e., 1/0 represents it is inside/outside the ROI). For computational efficiency, Apollo uses a scan line algorithm and bitmap encoding to construct the ROI LUT.
Figure 1 Illustration of ROI lookup table (LUT)
The blue lines indicate the boundary of HDMap ROI, including road surfaces and junctions. The red solid dot represents the origin of the local coordinate system corresponding to the LiDAR sensor location. The 2D grid is composed of 8×8 cells that are shown as green squares. The cells inside the ROI are blue-filled squares while the ones outside the ROI are yellow-filled squares.
Point Inquiry with ROI LUT
Based on the ROI LUT, the affiliation of each input point is queried using a two-step verification. Then, Apollo conducts data compilation and output as described below. For the point inquiry process, Apollo:
-
Identifies whether the point is inside or outside the rectangle region of ROI LUT.
-
Queries the corresponding cell of the point in the LUT for its affiliation with respect to the ROI.
-
Collects all the points that belong to the ROI and outputs their indices with respect to the input point cloud.
Set the user-defined parameters in the configuration file: modules/perception/production/data/perception/lidar/models/roi_filter/hdmap_roi_filter/hdmap_roi_filter.conf
.
The table below describes the usage of parameters for HDMap ROI Filter.
Parameter Name | Usage | Default |
---|---|---|
range | The range of ROI LUT (the 2D grid) with respect to the origin (LiDAR sensor). | 120.0 meters |
cell_size | The size of cells for quantizing the 2D grid. | 0.25 meter |
extend_dist | The distance that the ROI extends |