作者:鱼骨 | 来源:3D视觉工坊
在公众号「3D视觉工坊」后台,回复「原论文」可获取论文pdf、代码、视频链接。
添加微信:dddvisiona,备注:3D点云,拉你入群。文末附行业细分群。
激光雷达摄像机标定作为数据融合的重要步骤,对自主车辆和机器人导航具有重要意义。大多数校准方法依赖手工制作的特征,需要大量提取的特征或特定的校准目标。随着深度学习技术的发展,一些人尝试利用卷积神经网络来回归6个自由度(DOF)的外部参数。然而,据报道,这些基于深度学习的方法的性能比非深度学习的方法更差。本文提出了一种结合深度学习和几何方法的激光雷达相机外部标定在线算法。通过定义一个双通道图像命名为校准流,以说明从初始投影到地面真值的偏差。采用随机样本一致性(RANSAC)方案中的EPnP算法,利用校准流构建的二维-三维对应关系估计外部参数。在KITTI数据集上的实验表明,本文提出的方法优于目前最先进的方法。在此基础上,提出了一种引入实例质心的语义初始化算法。这里也推荐「3D视觉工坊」新课程《如何学习相机模型与标定?(代码+实战)》。
引言
场景感知是自动驾驶和机器人导航的一个重要方面。对周围环境中物体的鲁棒感知依赖于安装在移动平台上的各种机载传感器。光探测与测距(LiDAR)传感器可以获得大范围、高精度的场景空间测量。但激光雷达传感器的分辨率较低,特别是在水平方向上,缺乏颜色和纹理信息。相机传感器可以提供高分辨率的RGB图像,但对光照变化敏感,没有距离信息。激光雷达和相机传感器的结合可以弥补彼此的不足。这两个传感器的有效融合对于三维目标检测以及语义映射任务至关重要。外部标定是激光雷达与相机融合的一个重要过程,需要通过外部标定来准确估计激光雷达与相机之间的刚体变换。
早期的激光雷达相机校准方法依赖于特定的校准目标,如棋盘或自制物体。通过手工标注或自动标注获得二维特征点(摄像机图像)与三维特征点(激光雷达点云)之间的匹配关系,然后利用该匹配关系计算外部参数。自动驾驶汽车在运行过程中,由于运行环境的变化(如振动等),会对外部参数产生不可控的偏差。针对这一问题,提出了一系列无目标在线自校正算法,有效地提高了自适应能力。这些在线定标方法主要利用图像和点云的强度以及边缘相关性来计算外部定标参数。这种技术依赖于准确的初始外部参数或附加的运动信息(手眼标定初始化)。此外,用于构建标定参数惩罚函数的特征通常是手工设置的,高度依赖于场景,在没有特征的情况下无法工作。
近年来,有一些方法尝试利用深度学习来预测激光雷达与相机之间的相对变换。与传统方法相比,这些方法的标定误差仍然较大。因此,这些基于学习的标定方法不能满足标定要求。此外,在实际应用中,当传感器参数发生变化时,需要大量的训练数据来对网络模型进行微调,这极大地限制了算法的泛化能力。
本文提出了一种自动在线激光雷达相机自标定方法CFNet。CFNet是全自动的,不需要特定的校准场景、校准目标和初始校准参数。我们定义一个校准流来表示初始投影点的位置与地面真值之间的偏差。利用预测的校准流对初始投影点进行校正,以建立精确的2D-3D对应关系。采用EPnP算法计算RANSAC方案的最终外部参数。为了使CFNet完全自动化,我们还提出了一种语义初始化算法。更具体地说,CFNet的贡献如下:
(1)据我们所知,CFNet是第一种结合了深度学习和几何方法的激光成像相机外部标定方法。与直接预测标定参数相比,CFNet具有较强的泛化能力。
(2)定义校准流来预测初始投影点位置与地面真值之间的偏差。校准流可以将初始投影移到正确的位置,构建精确的2D-3D对应。
(3)引入二维/三维实例质心(IC)来估计初始外部参数。利用该语义初始化过程,CFNet可以自动执行激光雷达摄像机标定。
总结:(1)早期的雷达相机标定方法:依赖于特定的目标,手动或自动标注二三维对应关系;无特定目标时利用图像和点云的强度以及边缘相关性来计算外部参数,依赖于准确的初始外部参数或附加的运动信息(手眼标定初始化)。
(2)深度学习方法的弊端:标定误差不能满足要求;当传感器参数发生变化时,需要大量的训练数据对网络模型进行微调,限制了算法的泛化能力。
(3)引入二维-三维实例质心估计初始外部参数。
方法
在本节中,我们首先描述校准流的定义。然后提出了校准方法CFNet,包括网络结构、损失函数、语义初始化和训练细节。如下图所示为本文提出的CFNet方法,是一种估计三维激光雷达与二维相机之间转换参数的自动在线外部校准方法。
实验与结果
对KITTI数据集的评价结果如表1所示。
可以看出,在所有这些测试序列中,平均平移误差小于2cm,平均旋转误差小于0.13度。图5显示了两个CFNet预测的例子。我们可以看到,重新校准后的投影深度图像和RGB图像中的参考对象对齐准确。在所有的测试序列中,序列01的校准误差最大。主要原因是这个序列是从高速公路场景中收集的,而高速公路场景不包括在训练数据集中。
与随机初始标定参数相比,使用语义初始化的校准结果能提供更好的初始标定参数。因此,最终的校准误差要小得多。此外,语义初始化过程是自动的,基本要求是场景中有效实例对应的数量≥3。由结果可知,语义初始化的平移误差远大于旋转误差。即使语义初始化提供的初始参数与真值偏差较大,我们提出的CFNet也可以预测准确的校准参数。图6显示了一些带有语义初始化的CFNet预测示例。第一列检测实例之间存在较多遮挡,导致2D-3D实例匹配不准确,预测的初始标定参数偏差较大。第二列图像中的实例遮挡比第一列图像中的要好,因此初始误差要小得多。在第三列中检测到的二维和三维实例是完整的,没有任何遮挡,因此初始校准参数非常准确,与地面真实值的偏差很小。在最后一列中,我们发现了2D和3D实例之间的不匹配(用箭头表示),但我们仍然可以得到一个很好的初始校准值。通过语义初始化,无论初始校准误差大小,CFNet都能准确地重新校准。
由KITTI原始记录的校准结果可知,CFNet的平均平移误差为0.995cm (X, Y, Z: 1.025cm, 0.919cm, 1.042cm),平均角度误差为0.087度(Roll, Pitch, Yaw: 0.059度,0.110度,0.092度)。很明显,CFNet远远优于RegNet和CalibNet。虽然CalibNet的误校准范围(±0.2m,±20度)小于CFNet(±1.5m,±20度),但CFNet的校准性能远优于CalibNet。
我们还在KITTI360基准数据集上测试了CFNet的性能。结果如图7所示。尽管在一个周期的数据集上重新训练,但在测试序列中获得了很好的结果。因此,当传感器参数(如相机焦距或LiDAR-Camera的外在参数)发生变化时,都具有优异的性能。这里也推荐「3D视觉工坊」新课程《如何学习相机模型与标定?(代码+实战)》。
结论
本文提出了一种新的激光雷达相机在线外部标定算法。为了表示激光雷达点云的初始投影与地面真值的偏差,我们定义了一个称为校准流的图像。受光流网络的启发,设计了一个深度校准流网络CFNet。通过CFNet的预测对初始投影点进行校正,以构建精确的2D-3D对应关系。利用RANSAC方案中的EPnP算法,通过迭代细化估计外部参数。实验证明了CFNet的优越性。在KITTI360数据集上的附加实验说明了我们的方法的泛化。