Autoware 感知融合
1. 为什么要融合
不同传感器在不同条件下的性能对比
- 图像分辨率高,携带丰富的边缘、语义信息,成本低;但是损失了深度信息,夜间环境会大大降低图像检测性能
- 激光雷达测距准确,不受光线影响;但是波长短,穿透能力不强,远处分辨率太低,成本高
- 毫米波雷达不易受环境影响,测速准确;但是分辨率低、目标识别难度大
融合的目的:互为补充、冗余设计
2. 感知融合分类
按照融合在目标检测过程所处的位置分类:
分类 | 特点 |
---|---|
前融合 | 数据级 对融合后的多维综合数据或特征进行感知 传统、深度学习方法 |
后融合 | 决策级、目标级 每个传感器各自独立处理生成的目标数据,当所有传感器完成目标数据生成后,再由主处理器进行数据融合 传统方法 |
Autoware提供的融合方法:
- pixel_cloud_fusion (ai)
提取图像RGB信息,反投影到LiDAR空间,发布着色的点云
- range_vision_fusion (ai)
匹配图像2D检测和点云3D检测,将2D检测类别信息赋予3D检测
-
roi_cluster_fusion (universe)
原理同range_vision_fusion
3. 融合的大前提
统一坐标系和时间
实现三同一不同(同一个目标在同一个时刻出现在不同类别的传感器的同一坐标处)。
统一时间
同步不同传感器的时间戳
-
时钟同步:
例:
主机通过PPS+NMEA实现与GPS的时钟同步;
激光雷达、相机等其他节点通过1588协议实现与主机的时钟同步。
查找时间戳造成的误差:不同传感器的数据频率不同,通过找相邻时间戳的方式找到最近帧,如果两个时间戳差距较大,障碍物又在移动,会导致较大的同步误差
-
同步触发:
例:
以激光雷达作为触发相机的源头,当激光雷达转到某个角度时,才触发该角度的相机,这可以大大减少时间差的问题。
统一坐标系
-
运动补偿:长周期的传感器在采集数据时,周期开始的时间点和结束时间点车辆是处于不同位置的,导致不同时刻采集的数据所处坐标系不同,因此需要根据车体的运动对传感器采集的数据进行运动补偿。
-
传感器标定:内参标定和外参标定
autoware融合需要找到激光雷达坐标系和相机像素坐标系间的转换关系
相机内参标定
- 小孔成像原理
- 相机畸变模型
- 棋盘格标定法(张正友)
- 通过棋盘格建立辅助坐标系,经过一系列矩阵运算得到内参参数
相机激光联合标定
- 解pnp问题
- PnP (Perspective-n-Point)问题的目的是求解3D-2D点对运动的方法。简单来说,就是在已知n个三维空间点坐标(相对于某个指定的坐标系A)及其二维投影位置的情况下,如何估计相机的位姿(即相机在坐标系A下的姿态)的问题。
4. range_vision_fusion介绍
autoware.ai目标检测障碍物msg
-
通过相机内外参,将激光雷达检测到的3D障碍物点云投影到图像上
-
对投影点求最小外接矩形,获得2D投影bbox
-
投影bbox与图像检测的障碍物bbox通过IOU关联匹配
-
将关联后的图像bbox标签赋给对应的点云目标,得到带有类别的3D障碍物信息
融合结果