目录
1 引言
2 原理
A 概述
B 边缘提取和匹配
C 外部标定
D 对标定结果上边缘分布的分析
E 初始化和粗略标定
论文链接:https://arxiv.org/pdf/2103.01627v2.pdf
源码链接:https://github.com/hku-mars/livox_camera_calib
摘要:在本文中,我们提出了一种新颖的方法,用于在无目标环境中自动外部标定高分辨率激光雷达和RGB相机。我们的方法不需要棋盘格,但可以通过对两个传感器中的自然边缘特征进行对齐,实现像素级的精度。在理论层面上,我们分析了边缘特征所施加的约束以及与场景中边缘分布相关的标定精度的敏感性。在实施层面上,我们仔细研究了激光雷达的物理测量原理,并提出了一种基于点云体素分割和平面拟合的高效准确的激光雷达边缘提取方法。由于自然场景中边缘的丰富性,我们在许多室内和室外场景中进行了实验。结果表明,该方法具有很高的鲁棒性、准确性和一致性。它可以推动激光雷达和相机融合的研究和应用。
目前的外参标定方法主要依赖于外部目标,如棋盘格或特定图像模式。通过从图像和点云中检测、提取和匹配特征点,将原始问题转化为并通过最小二乘方程解决。由于其重复扫描模式和机械旋转LiDAR不可避免的振动,反射的点云往往稀疏且噪声较大。这种特性可能导致代价函数产生不稳定的结果。固态LiDAR(如Livox)可以通过其密集的点云来弥补这个缺点。然而,由于这些标定目标通常放置在传感器套件附近,外参误差可能在长距离场景(如大规模点云着色)中被放大。此外,每次任务开始时准备标定目标并不总是切实可行。
为了解决上述挑战,本文提出了一种在无目标环境中自动像素级外参标定方法。该系统通过从图像和点云中提取自然边缘特征并最小化重投影误差来运行。所提出的方法不依赖于外部目标,如棋盘格,并且能够在室内和室外场景中运行。这种简单方便的标定方法允许在每次数据收集之前或中间校准外参参数,或在传感器在线运行过程中检测到传感器的任何错位,这通常是使用基于目标的方法无法实现的。我们的贡献如下:
图2定义了本文涉及的坐标系:LiDAR坐标系,相机坐标系
和图像平面上的2D坐标系。记
为待校准的LiDAR和相机之间的外参。由于自然室内和室外场景中存在丰富的边缘特征,我们的方法对LiDAR和相机传感器观测到的这些边缘特征进行对齐。
图2进一步说明了单个边缘对外参施加的约束数量。如图所示,无法区分LiDAR相对于相机的以下自由度(DoF):
因此,单个边缘特征对外参构成了两个有效约束。为了获得足够的外参约束,我们提取了不同方向和位置的边缘特征。
图2
一些现有的工作将点云投影到图像平面,并从投影的点云中提取特征,例如边缘提取和互信息相关性。在点云投影后进行特征提取的一个主要问题是由遮挡引起的多值和零值映射。如图3(a)所示,如果相机在激光雷达上方,由于遮挡,相机可以观察到区域A,但激光雷达无法观察到,导致该区域在投影后没有点(零值映射,图3(b)中A区域的间隙)。另一方面,激光雷达可以观察到区域B,但相机无法观察到,该区域的点(图3(a)中的红点)在投影后将干扰其前景上的点的投影(图3(a)中的黑点)。结果就是,前景和背景的点将对应于相同的图像区域(多值映射,图3(b)中的B区域)。这些现象对于低分辨率的激光雷达可能不明显[13],但随着激光雷达分辨率的提高,这些现象变得明显(参见图3(b))。在投影的点云上提取特征并将其与图像特征进行匹配,例如[13],将受到这些基本问题的影响,并在边缘提取和标定中引起显著的错误。
为了避免由投影引起的零值和多值映射问题,我们直接在激光雷达点云上提取边缘特征。边缘特征有两种类型:深度不连续和深度连续。如图4(a)所示,深度不连续的边缘指的是前景对象和背景对象之间深度跳变的边缘。相反,深度连续的边缘指的是深度连续变化的平面连接线。许多现有方法使用深度不连续的边缘,因为它们可以通过检查点的深度来轻松提取。
然而,仔细研究激光雷达测量原理,我们发现深度不连续的边缘对于高精度标定来说既不可靠也不准确。如图 a5所示,实际的激光脉冲不是一个理想的点,而是一个具有一定发散角度的光束(即光束发散角度)。当从前景对象扫描到背景对象时,部分激光脉冲被前景对象反射,剩余部分被背景反射,产生两个反射脉冲到激光接收器。在前景对象的反射率较高的情况下,由第一个脉冲引起的信号将占主导地位,即使光束中心线偏离前景对象,这也会导致超出实际边缘的前景对象的虚假点(图5(a)中最左边的黄点)。如果前景对象靠近背景,由两个脉冲引起的信号将合并,合并的信号将导致一组连接前景和背景的点(称为出血点,图5(a)中的黄点)。这两种现象将错误地放大前景对象,并在边缘提取(图5(b))和标定中引起显著的错误。
为了避免由于深度不连续边缘引起的前景膨胀和渗透点,我们提出了提取深度连续边缘的方法。总体流程如图6所示,我们首先将点云分割成给定大小的小体素(例如,室外场景为1米,室内场景为0.5米)。对于每个体素,我们重复使用RANSAC算法来拟合和提取体素内的平面。然后,我们保留连接并形成一定范围内角度(例如,[30°; 150°])的平面对,并求解平面的交线(即深度连续边缘)。如图6所示,我们的方法能够在一个体素内提取多个相互垂直或平行的交线。此外,通过适当选择体素大小,我们甚至可以提取曲线边缘。
图7显示了在使用正确外部值叠加图像时,提取的深度连续边缘与深度不连续边缘之间的比较。深度不连续边缘是基于局部曲率提取的。可以看出,深度连续边缘更准确且噪声更少。 对于图像边缘提取,我们使用Canny算法。提取的边缘像素保存在一个k维树(k = 2)中,用于对应匹配。
需要将提取的LiDAR边缘与图像中对应的边缘进行匹配。对于每个提取的LiDAR边缘,我们在边缘上采样多个点。每个采样点被转换到相机坐标系中:
其中表示将刚性变换
应用于点
。然后,将转换后的点
投影到相机图像平面上,得到预期位置
,
其中是针孔投影模型。由于实际相机可能存在畸变,投影点
在图像平面上的实际位置为:
其中是相机畸变模型。 我们在从图像边缘像素构建的 k-D 树中搜索
的κ个最近邻。记为
κ个最近邻:
然后,由形成的线由位于该线上的点
和法向量
参数化,
是
的最小特征值对应的特征向量。
除了将采样在提取的LiDAR边缘上的点投影到图像平面上,我们还将边缘方向投影到图像平面并验证其与
的正交性。这可以有效地消除图像平面上两条非平行线靠近时的匹配误差。图8显示了提取的LiDAR边缘(红线)、图像边缘像素(蓝线)和对应关系(绿线)的示例。
1)测量噪声:提取的LiDAR边缘点和图像中对应的边缘特征
受到测量噪声的影响。设
为图像边缘提取过程中与
相关联的噪声,其协方差矩阵为
,其中
表示由于像素离散化引起的一像素噪声。
对于LiDAR点,设
为其测量噪声。在实际应用中,LiDAR通过扫描电机的编码器测量方位角,并通过计算激光飞行时间测量深度。设
为测量得到的方位角
为切平面上的测量噪声(见图9)。然后利用
中封装的
操作,我们得到真实方位角
与其测量值
之间的关系如下:
其中是切平面上的正交基向量(见图9(a)),
表示将叉乘映射为反对称矩阵。
操作实际上是围绕切平面上的轴
旋转单位向量
,结果仍然是单位向量(即仍然位于S2上)。
因此
这个噪声模型将用于产生一致的外部标定,如下所述。
2)标定公式和优化:设为从LiDAR点云中提取的边缘点,其在图像中对应的边缘由其法向量
和位于边缘上的点
表示(第III-B.2节)。通过补偿
中的噪声并使用地面真实外部标定将其投影到图像平面上,应该恰好位于从图像中提取的边缘
上(参见(1-3)和图9(b)):
方程(9)意味着一个LiDAR边缘点对外部标定施加了一个约束,这与第III-A节中的一个边缘特征对外部标定施加两个约束的观点一致,因为一个边缘由两个独立的点组成。此外,(9)以测量和未知噪声
为变量,对外部标定
引入了一个非线性方程。这个非线性方程可以通过迭代的方式求解:设
为当前外部标定估计值,并使用
中的
操作在
的切空间中对
参数化:
其中
将(10)代入(9)并近似得到一阶项的结果为
其中
的计算如图9(b)所示。方程(11)定义了一个边对应的约束,堆叠所有N个这样的边对应得到:
其中
方程(13)意味着
基于(14),我们提出了最大似然(同时也是最小方差)的外参估计:
最优解
上述过程((16和(17))迭代直到收敛(即),收敛的
即为标定的外参。
3) 标定不确定性:除了外参标定之外,估计标定不确定性也是有用的,可以通过地面真实外参与标定外参之间误差的协方差来表征。为了做到这一点,我们将(13)两边都乘以,并解出
:
这意味着,地面真实的,地面真实外参
与估计外参
之间的误差,以及在
的切空间中参数化,都服从均值为
、协方差等于(15)的Hessian矩阵的逆的高斯分布。在收敛时,
接近于零,协方差为:
我们使用这个协方差矩阵来表征我们的外参标定不确定性。
式(12)中的雅可比矩阵表示残差相对于外部变化的敏感性。如果边缘特征很少或分布不均匀,
可能会非常小,从而导致估计的不确定性(协方差)很大,如式(19)所示。从这个意义上讲,数据质量通过协方差矩阵(19)自动和定量地编码。在实践中,通常在收集数据之前对标定场景进行快速粗略评估是有用的。这可以通过解析地导出雅可比矩阵
来实现。忽略畸变模型,并将针孔投影模型π(·)代入式(12),我们得到
其中表示相机坐标系中表示的LiDAR边缘点
(参见(1))。可以看到,在投影后靠近图像中心的点(即,小的Xi=Zi;Yi=Zi)导致雅可比矩阵很小。因此,在图像中均匀分布边缘特征是有益的。此外,由于LiDAR的噪声随距离增加而增加(如式(8)所示),标定场景应具有适度的深度。
所提出的基于优化的外参标定方法旨在实现高精度标定,但需要一个可能并不总是可用的外参参数的良好初始估计。为了扩大其收敛范围,我们在标定流程中进一步集成了一个初始化阶段,通过最大化边缘对应的百分比()来对外参值进行粗略标定,该百分比定义如下:
其中是LiDAR边缘点的总数,
是匹配的LiDAR边缘点的数量。匹配是基于LiDAR边缘点(投影到图像平面后)到图像中最近边缘的距离和方向进行的(参见第III-B.2节)。粗略标定是通过对给定范围内的旋转(网格大小为0.5°)和平移(网格大小为2cm)进行交替的网格搜索来完成的。