Line-based Automatic Extrinsic Calibration of LiDAR and Camera论文阅读

摘要

LiDAR和相机对于多模态感知系统是关键的传感器。然而外参变换矩阵会随时间而发生漂移。为了解决这个问题,本文提出一个基于线特征的方法来进行在线相机LiDAR自标定。线特征因为无处不在,所以被选来约束外参矩阵。首先在点云和图片中提取线特征。然后自适应优化方法被用来获取精确的外参矩阵。论文表明线特征是可以从点云和图片中提取的鲁棒几何特征,然后用于外参标定。本文在KITTI数据集上评估本文的算法,实验表明其标定精度的优秀。在在线的几百帧实验中,本文的方法达到0.2°的精度,本文也展示了其不同场景下的适应性较强。

 主要贡献

1)提出一个在线标定六自由度外参的方法,其使用一般的线特征来降低漂移误差,而不需要人工选点和特殊的targets,因此可以适用于任意给定场景。

2)提出从点云中在线获取线特征的点云线提取方法。

3)引入自适应优化方法和结果置信度评估方法来确保优化朝着正确方向,以及更有效地计算标定结果。

方法

算法分为三步。首先对点云和图片数据进行前处理。然后从图片和点云中提取线特征,以及通过特征滤除进行refine操作。最后将点云线特征通过在初始外参上增加扰动后投影到像素帧中,然后计算和优化每次得到的分数。

 A 问题构建和假设

本文使用欧拉角和平移来表示LiDAR和相机的相对外参。本文将点云记为P_t,图像像素值记为I_{ij}^t(灰度图像素0-255,白色为255,黑色为0,所以离边缘点越近,则其值越大,则下面的分数越高),它表示第t帧数据的点i和像素ij值。本文通过将每个点投影到像素坐标下,然后给每个像素增加灰度值计算当前参数的分数,进而优化6-DOF外参。目标函数如下

其中F_h表示水平特征,F_v表示垂直特征,p_t点就是这两种特征中的点。系数\alpha代表两种特征的权重,本文设定的是0.65,以便增加水平约束的作用。\omega表示滑窗的大小,第t帧的score是由前面\omega帧平均得到的。(这里可以图像的权重就是对应像素的灰度值,灰度值越大,则越可能是边缘;而LiDAR点云的权重可以是其作为边缘的置信度,比如此边缘点与最近点的距离,距离越大,则越可能是边缘,则相应权重越大)

本文的基本假设就是当标定参数正确时点云的线特征会对应图像线特征有更高的响应。而且本文也假设LiDAR和相机的内参已经正确标定,数据也进行了同步。

B 图片处理

首先将RGB转为灰度图,使用[Lsd: a line segment detector ]提取线特征。然后将距离变换模型应用到这些灰度图中。Fig3(c)中的线特征更加有序,灰度值变化要求(边缘提取需要的超参)更小,可以容忍更大的搜索步长,即可以避免优化陷入局部极值。

 C LiDAR处理

LiDAR主要利用距离连续性来获取边缘线特征。本文是引用局部建图方法将三帧点云拼在一起,可以在一帧中得到更多点。使用NDT方法来计算三帧的相对运动。Fig4展示了多帧点云和单帧点云的边缘点提取效果,说明多帧点云可以提升线特征提取的效果,尤其当LiDAR线束较低时。

 然后将稠密点云转换到图像格式,每个像素保存对应点云的距离信息(Range Image)。通过比较当前点和相邻点的距离,更精确的线特征可以提取出来,并且剔除了与相邻点很近的外点。与[Automatic online calibration of cameras and lasers]不同的是,我们使用了多条线束,而不是一条线束(beam)。这就可以提取水平特征,可以用线特征最小化水平和垂直误差。水平和垂直线特征保存在不同点云中。平面的侥幸因为很少出现,所以这里被忽略了,这样也可以减少计算量。

D 特征滤波

上述方法提取的线特征是无序的,因此这里采用两种方法来提取外点。因为点云被转为range image,所以使用卷积核来滤除与八个相邻点距离大于某个阈值的点。这种方法可以滤除外点和地面点。剩余的点可以视作线特征。

然后使用聚类方法来滤除只有很少相邻点的线特征点。

这两步可以提取更有序的点云线特征,可以在接下来的优化中获得更优的结果。

图片中的线特征会滤除少于8个像素的特征。

E 自适应优化 

优化时要考虑计算量和计算精度。优化前将LiDAR的线特征投影到图片中,然后LiDAR点投影到灰度区域的比例(???)会被计算出来。

如Fig6所示,为了计算精度,采取两个搜索步骤来得到更精确的结果。首先,为了避免搜索陷入局部最优解,一个更宽图像线,更小灰度变化,和相对更大的补偿的粗糙搜索方法被采用,以快速发现包含最优解的区域。然后更细的图像线特征,更大的灰度变化,更小的搜索步长被采用来获取更精确的标定结果。两部中的尺度和灰度变化的切换会在投影到灰度区域的点云的比例(proportion,怎么计算???)超过某个阈值后发生。

为了计算效率,本文采取了一个自适应方法来让优化朝着正确的方向进行。[Automatic online calibration of cameras and laser]中,他们在729个不同值中做运算以获取函数分数,这种方法效率不高,因为有的步骤是冗余的。本文采用搜索方法来优化目标函数。他会将当前分数与相邻728个分数进行比较。这个过程中,日和平搜索程序发现外参有更高的分数,就会暂停当前搜索步骤,然后在更高分数位置开始一个新的搜索。搜索过程会在达到最大迭代次数或者找到最有分数后停止,这样可以增加计算效率。同时使用滑窗方法。本文中三帧点云用来防止优化搜索朝着错误的方向进行或者陷入局部最优解。因此,最终的优化参数应该在滑窗的所有帧中是最优的。

总的来说,两个步骤可以得到更加鲁棒和精确的结果,终止的策略也可以加速标定。算法如Algorithm1.

猜你喜欢

转载自blog.csdn.net/qq_38650944/article/details/128386570
今日推荐