传感器融合,一般可以分为四种:
- Early fusion — Fusing the raw data ,一般称为前融合(或数据融合),汇总所有传感器的数据,得到一个super-sensor,再进行检测;
- Late fusion — Fusing the results, 一般称为后融合(或结果融合/信息融合),每个传感器独立检测处理,得到检测结果,再汇总;
- Mid-level fusion , 一般称为中级融合/中层融合,各传感器提供一个中等表示(比如特征),再汇总;
- Sequential fusion , 一般称为顺序融合,将多传感器级联,前一个为后一个提供信息,帮助下一个传感器检测更准确,缺点是容易造成误差的累积;
前融合为数据层的融合,可以作为其他三种融合方式的基础,目的是将多个传感器数据源统一到同一度量时空,即时空一致性,时间一致性是为了让两个传感器捕获信息的瞬时时间戳要尽可能地接近,空间一致性是为了将传感器坐标系统一到同一个坐标系。
- 硬件同步、硬同步:使用同一种硬件同时发布触发采集命令,实现各传感器采集、测量的时间同步。做到同一时刻采集相同的信息。
- 软件同步:时间同步、空间同步。
- 时间同步、时间戳同步、软同步:通过统一的主机给各个传感器提供基准时间,各传感器根据已经校准后的各自时间为各自独立采集的数据加上时间戳信息,可以做到所有传感器时间戳同步,但由于各个传感器各自采集周期相互独立,无法保证同一时刻采集相同的信息。
- 空间同步: 将不同传感器坐标系的测量值转换到同一个坐标系中,其中激光传感器在高速移动的情况下需要考虑当前速度下的帧内位移校准。
以激光雷达(LiDAR)与相机(Camera)的前融合为例,原理是将单帧三维点云转换并映射到单帧图像(二维)的过程,主要指的是将两者进行标定,两者的外参(旋转与平移关系)以及相机本身的内参(小孔成像模型与镜头畸变系数);
首先,我们应当知道LiDAR(以机械16线为例)本身获取的原始数据是由每个激光器的测距值r,旋转角度即方位角以及固定线束信息组成,通过球面坐标系转换到3D笛卡尔坐标系,得到了三维点云坐标系XYZ,这个坐标系转换过程不在本次讨论中,我们默认已经得到了三维点云xyz。
由简单的刚体变换知识(具体可以参考高翔的视觉SLAM十四讲第三讲三维空间刚体运动),我们可以知道,两个3D笛卡尔坐标系可以通过旋转矩阵()与平移向量()产生联系,故将每个激光点通过以下公式可以转换到相机坐标系下
其中,,
转换到相机坐标系下后,还需要按照齐次坐标的方式,把最后一维进行归一化处理,得到P在相机归一化平面上的投影(PS:可以参考高翔的视觉SLAM十四讲第四讲相机于图像),这时可以看成一个二维的齐次坐标,称为归一化坐标。它位于相机前方 z = 1 处的平面上。该平面称为归一化平面。
然后考虑到镜头的畸变,我们在这个归一化平面上进行畸变矫正(去畸变),默认三个径向畸变系数(k1,k2,k3)和两个切向畸变系数(p1,p2),对归一化平面上的点进行径向畸变和切向畸变纠正,其数学过程为
以上去畸变的数学公式在《学习Opencv3》书中也有涉及。
最后,将纠正后的点通过内参数矩阵投影到像素平面,得到该点在图像上的正确位置。
总结一下,与单目相机成像过程类似
- 首先,世界坐标系下有一个固定的点 P,激光雷达坐标为 ;
- 由于Lidar和Camera存在固定相对位置,这个变换可由 或变换矩阵描述。 P 的相机坐标为:;
- 这时的仍有三个量,把它们投影到归一化平面 Z = 1 上,得到 P 的归一化相机坐标:;
- 最后, P 的归一化坐标经过内参后,对应到它的像素坐标:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)