【论文翻译】Cross-Calibration of Push-Broom 2D LIDARs and Cameras In Natural Scenes论文学习笔记

自然场景中推扫式二维激光雷达与相机的交叉式校准

本文是2013.5年发表的EI会议(ICRA)

作者:Ashley Napier* and Peter Corke** and Paul Newman*

 

目录

摘要

1、引言

2、问题公式化

3、实验结果

4、结论与未来工作

5、致谢


 

摘要

本文解决了推扫式(push-broom)激光雷达与相机相对姿态的自动估计问题,不需要人工标定calibration目标或其他人为干预。此外,我们不要求传感器有重叠的视野,只要做到在一个移动平台上,在不同的时间、观察相同的场景,这就足够了。在不提取特征的情况下,实现了传感器模态之间的匹配。我们提出的现场试验结果表明,这种新方法在平移和旋转角度(十分之一角度,deci-degrees)上达到了毫米级别的外部校准精度。

1、引言

机器人技术中最流行的两种传感器,特别是在传输领域,是相机和激光雷达(光探测和测距)。越来越多的传感器被用来互相补充,其中一个例子是谷歌街景,这里LIDARs与一个全向相机结合使用,在捕捉到的图像中显示平面(planes)[1]。在[11]中还提出了一种多模态的定位方法,这里使用三维激光雷达传感器提供的场景几何结构来定位单眼相机。为了实现激光雷达扫描到相机拍摄的图像的投影,不同传感器之间的外部校准(extrinsic calibration)必须很精确地知晓[5]。

这种传感器的外部校准(extrinsic calibration)可以用许多不同的方法进行。最简单的方法是物理测量传感器之间的相对位置。然而,事实证明,这种方法比最初设想的要复杂得多,因为传感器通常安装在无法精确测量(传感元件本身)的外壳中。

另一种方法是将校准目标放置在工作空间中(workspace),工作空间同时位于两个传感器的视场中。校准是通过对两个传感器观测到的校准目标的特征进行校准。提出了一种基于棋盘图的二维测距仪相机外部标定方法[12]。棋盘格在[6]和[2]中再次被用来交叉校准(cross-calibrate)3D激光雷达(3D LIDAR),结合一个相机,需要不同数量的由用户引导的预处理

然而,鲁棒的长期自主性(如自主移动机器人的长期自主移动),要求对校准精度进行连续评估,这使得使用校准目标的方法变得不切实际。这里考虑的传感器通常包括在安全关键系统中(safety critical systems),因此在颠簸、敲打和振动后测试校准或重新校准的有效性的能力对可靠运行至关重要。[8]提出了一种无目标外部标定方法,该方法要求用户指定三维距离数据与摄像机图像之间的若干点的对应关系。Levinson[4]通过检查来自全向相机的图像边缘,减少了对用户干预的需求。全向相机被认为与三维激光雷达扫描中的距离不连续地对应(which are assumed to correspond to range discontinuities in 3D LIDAR scans. )。我们的方法与[7]描述的方法最为接近,该方法使用基于交互信息(Mutual Information)的目标函数注册静态三维激光雷达的反射率值,和所捕获的图像对应。

与现有技术相比,我们的方法不需要两个传感器具有重叠的视野。相反,我们利用车辆的运动来回顾比较激光雷达数据和摄像机数据。这是通过生成一长串激光雷达数据来实现的,这些数据是由安装在推扫装置上的激光雷达在遍历工作区时所构建的,如图1所示。因此,只要车辆的运动最终导致观察到的工作区重叠,我们的方法就可以使用。校准的这一特性在运输中特别有用,因为传感器通常可以安装在车辆上的任何部位,即使是传感器之间的视野没有重叠。还应该指出的是,2D激光雷达目前比3D激光雷达便宜几个数量级,而且更易于离散地(discretely)安装,这使得它们在商用无人驾驶汽车上的应用前景更具吸引力。

图1所示。这是一个感知带(swathe)的例子,它可以被看作是一个三维点云,由一个推扫式2D激光雷达在车辆运动的环境中扫描而成。红线显示的是安装在我们Bowler WildCat研究平台(Bowler WildCat research platform)前面的2D激光雷达的最新扫描结果。该感知带swathe是使用从该方法获得的标定估计值构建的,(该标定估计值)相对于根据视觉里程计提供轨迹的立体摄像机。(This swathe was constructed using calibration estimates obtained from the proposed method relative to a stereo camera providing a trajectory derived from visual odometry.)

我们将校准作为一个视图匹配问题提出,不需要明确的校准目标或人工干预,而大多数现有技术[12]、[7]、[2]都要求这样做。相反,我们明确利用了这样一个事实,即激光中的场景看起来与成品相机(off-the-shelf)记录的场景相似。我们根据假定的传感器之间的校准,综合激光雷达反射率值的图像,并测量它们的对齐程度,如图3所示(We synthesise images from LIDAR reflectance values based on the putative calibration between sensors and measure how well they align, figure 3.)。我们没有使用基于特征的方法来测量对齐,而是通过基于梯度的平方和目标函数的鲁棒度量(robust metric)来利用场景的总体外观。校准给出了最大对准,并将其视为相机-雷达校准的最佳估计。据我们所知,这是第一个在没有明确目标放置在工作空间或其他用户干预的情况下,在自然场景中自动校准相机和2D激光雷达的工作。这也是唯一一项不需要安装传感器,使其具有重叠的视野的工作。

2、问题公式化

为了创建一个二维推扫激光雷达感知带,它必须有经过其周围环境的运动。特别地,我们构建一个使用基地轨迹(base trajectory)估计的感知带——Xb (t),并使用INS,或者在我们的情况中,视觉里程计和假定的配准bTl——基地轨迹(base trajectory)和雷达l之间的假定配准bTl。然后感知带被投射到相机中使用当前配准bTc——相机c和基地轨迹(base trajectory)之间的当前配准bTc,如图2所示。然后生成插值后的激光雷达反射率图像,如图3所示。我们使用一个基于边缘的加权SSD(距离平方和)目标函数来量化测量相机捕获的图像和激光雷达反射图像的对齐。利用一个简单的迭代优化方法搜索SE(3)位姿,该位姿定义了外部标定,使相机图像和生成的激光雷达反射率图像的对齐最大化(从而实现最优的结果)。外部标定的最佳估计值可以实现两幅图像的最佳对齐。

A.生成一个感知带(Swathe)

要从推扫式激光雷达(push-broom LIDAR)中产生一个尺度正确的感知带,需要精确地了解传感器的运动。在图2所示的一般情况下,基本轨迹Xb(t)是一个完整的SE3姿态(x, y, z, roll, pitch, yaw),作为时间的函数。Xb(t)可以从包括惯性导航系统(INS)和视觉测程(VO)在内的许多传感器中得到,只要轨迹在尺度上是精确的。给出了激光雷达和相机相对于这一基本轨迹的姿态。为了保证毫秒计时精度,我们使用了TicSync库[3]来同步传感器到主计算机的时钟。

图2所示。显示基本轨迹Xb(t),和相对于基本轨迹Xb(t)的相机轨迹Xc(tk)与激光雷达轨迹Xl(ti)。需要注意的是,这是一般情况,在这里给出的结果中Xb(t)是用视觉测程法生成的,所以相机轨迹和基本轨迹是一回事,将搜索空间的维度(dimensionality)从12个自由度降低到6个自由度。

设第i次激光雷达扫描记录在ti时刻,由一组点xi和一组对应的反射率值Ri组成,使得本次扫描的激光点j,xij =[xj,yj]T与反射率值Ri,j相关联。我们目前做的近似是第i次扫描中所有的点j同时被捕获,实际上每次扫描需要20ms。由于用于校准的数据是在有意的低速下条件下收集的,故这种近似的影响可以忽略不计。首先根据当前假定的外部标定bTl和基本轨迹,计算了激光雷达Xl(ti)的位姿:

式中○+表示复合算子。每一次扫描都可以被投影到一个局部的3D场景Pi中,创建一个激光数据感知带。

我们现在可以生成一个感知带swathe作为传感器基本轨迹和激光雷达之间的外部校准函数。图1显示了这样做的一个示例。

B.生成激光雷达反射率图像

下一个阶段是生成激光雷达反射率图像——从相机c的姿态观察,捕捉在tk时刻的图像。首先,利用基本轨迹与相机之间的外部标定的当前估计,bTc,将感知带swathe Pi转换为相机的参照系(frame of reference)。相机Xc(tk)在tk时刻的姿态记为

然后,感知带swathe被转换为摄像机的坐标系,并使用假定为已知的摄像机的内在函数(intrinsics) K投影到摄像机中。因此,

给出了摄像机图像Ick中的点pi,k的像素点位置。此时,我们可以使用单个激光雷达的反射率值Ri,k,并将其反射率与像素强度Ick(pi,k)进行比较。然而,由于透视缩短效果(foreshortening effects)的影响,点的密度的变化范围很大,因为点在较大的范围内——从相机地图到图像中较小的区域。因此我们使用立方插值来采样在像素的位置pi,k的强度Ri, k,像素的位置pi,k具备和像素Ick相同的网格。这产生一个激光反射图像Ilk(bTc,bTl)作为外部校准的功能,这是在图3中可以看到的一个例子。在本文给出的结果中,基本轨迹Xb(t)是由立体视觉里程计(stereo visual odometry)[10]得到的。这简化了外部标定,因为基本帧等价于摄像机帧,将bTc简化为恒等式(identity),进而将搜索空间从12个自由度简化为6个自由度。然后,激光反射率图像只成为bTl的函数,相这当于cTl,即激光雷达与相机之间的外部标定。

图3所示。a)根据投射到相机的激光雷达反射率值,在估计的外部校准Ilk(cTl)处插入的激光反射率图像。

b)相机实际图像Ick

c)被错误校正的的内插激光图像Ilk (cT0l)。这一幕是在一次停车演习中看到的。

C.目标函数(The Objective Function)

在这一点上,我们有能力采取单一相机图像Ick,并结合2D激光雷达和平台轨迹信息,生成相应的激光反射率图像Ilk (cTl)——基于两个传感器之间的假设的外部校准。我们现在寻找一个度量,它准确地反映了两个图像之间的对齐的质量。这一任务比较困难,因为反射数据[9]的非线性,使交互信息(mutual information)、标准SSD等基本相关措施失效。经验表明,采用平滑梯度图像的稳定性要高得多。此外,应用了基于补丁(patch-based)的归一化方法,通过归一化局部梯度变化,使其在整个图像中保持一致,或者至少在Ick和Ilk (cTl)中相应的补丁(patch)之间保持一致。应用基于patch(patch-based)的归一化增强了局部图像的梯度,避免了非常强的边缘完全控制目标函数,如图4所示。然后将两幅图像的像素值通过wIck加权,wIck是反射率测量值pi,k在图像网格上的距离变换的倒数,赋予采样密度较高的区域额外的权重。目标函数可以表示为:

其中,∑Ick表示图像对(image pair)Ick和Ilk (cTl)中所有像素的和,Q(•)表示在获取幅度梯度图像和执行基于补丁的归一化之前执行高斯平滑的函数。在这里给出的结果中,我们使用了一个25×25像素的高斯核(Gaussian kernel),方差为6.5,补丁patch大小为20x20像素,用于基于patch的归一化过程。

图4所示。来自激光雷达的平滑边缘后的图像a),和对应的相机图像b),来源于图3。c)和d)分别为基于patch的归一化后的梯度图像。请注意,如果直接计算a)和b)的平方和距离SSD(sum of squares distance),那么基于补丁(patch-based)的归一化将利用可能被少数优势边淹没的细节来强调细节。(Note how the details are emphasised by the patch-based normalisation leveraging details that would have been drowned out by the few dominant edges if the sum of squares distance of a) and b) were computed directly.)

D.优化 Optimisation

目标函数在正确的解周围提供了一个明显的狭窄的收敛盆地(pronounced narrow convergence basin),见图9。因此,我们使用一个简单的迭代优化来找到一个解决方案。由于这种校准不需要是实时应用程序(它可以作为车辆的后台进程运行),所以快的运行速度不是最重要的。因此,从一个初始估计cTlo开始,沿着每个自由度分别搜索最小值,并随着时间的推移更新cTl的估计。对于本文给出的结果,我们使用范围为30cm和10度,分辨率为~1mm和0.02度。虽然这种蛮力优化方法在我们的实验中被发现工作得很好,我们的方法对于所用的精确优化方法是不可知的(our approach is agnostic to the exact optimisation method used)。特定图像在k时刻的标定估计值显式为:

E.通过估计融合来提高精度(Improving Accuracy With Estimate Fusion)

我们现在可以在任何时候得到激光雷达和照相机之间校准的估计。剩下的问题是

a)所有场景在支持交叉模型校准时是否同样有用?

b)如何融合多个校准估算?

a) are all scenes equally useful in supporting the cross model calibration?

b) how might we fuse multiple calibration estimates?

这些问题的答案是一样的。看一下图9,我们得到的直觉是,在一个尖锐的沟底处的极小值比在一个粗糙的、宽阔的碗底处的极小值提供的信息更多。通过翻转代价函数和高斯拟合G (cT¯l,σ²)峰值(最小值)我们可以获得一个似然函数L (cTl)。这是拉普拉斯近似值,结果是一个“测量”模型,参数为σ²。

我们现在可以融合一系列关于潜在状态cTl的噪声测量。这样的一个序列cTl = (cT¯l1, cT¯l2, cT¯l3……cT¯lN)与相关差异∑ =(σ1²,σ2²,σ3²,…σN²)是通过递归贝叶斯滤波(recursive Bayes filter)融合,允许我们在进入新的工作空间部分时顺序地更新我们的校准,而无需对N帧进行昂贵的联合优化(allowing us to sequentially update our calibration as new parts of the workspace are entered, without the need for an expensive joint optimisation over N frames. )。将每个优化处理为一个噪声测量,并与单个帧的原始估计偏差相比的过程,显著降低了校准结果的标准差(This process of treating each optimisation as a noisy measurement significantly reduces the standard deviation of the calibration result when compared to the deviation of the raw estimates from individual frames)。见图6和表1。

图6所示。在每个六自由度上,箱形图(Box plots)的标准差(standard deviations)的外部校准估计。上图显示了单帧优化结果的标准差,下图显示了使用拉普拉斯近似和递归贝叶斯滤波器融合多帧优化结果后的标准差。在一次M选N试验中,从可能的73帧单帧中选择10个随机校准估计值的序列,得到20个融合结果。可见,融合后的标准差明显降低,详见表I,有效地忽略了异常值。盒子从第25个百分位延伸到第75个百分位,“虚线”(whiskers)延伸到不被认为是异常值的数据的极值(意思就是在正常范围之内),异常值(outliers)用红色叉表示。注意上下两张图纵坐标不同的垂直刻度。

表1。表中显示了来自多个场景的73帧交叉校准估计值的标准差,其中10帧如图8所示。使用贝叶斯滤波器进行融合估计的效果可以清楚地看到,校准估计的标准差(standard deviations)几乎降低了一个数量级。

3、实验结果

我们使用Wildcat平台,使用Point Grey bum-blebee2立体声摄像机和SICK LMS-100 2D激光雷达(见图5)来评估本文算法的性能。这里显示的结果是使用我们在Begbroke的野外中心周围的几个场景得到的。每个单独的校准估计使用了大约300个激光雷达扫描带,相当于14万多次测量。利用左侧“立体对”相机拍摄的73幅不同图像,验证了配准(calibration)估计。

图5所示。我们实验中使用的WildCat平台是一款装备齐全的自动驾驶汽车,它配备了车载计算机和多个传感器,包括一个德国SICK的2D激光雷达和一个PointGrey BumbleBee立体摄像机(stereo camera)。该平台能够快速、可靠地收集工作中使用的感知数据。还需要注意的是,二维激光雷达和立体摄像机(stereo camera)在静止时没有重叠的视场,这意味着数据库外部校准需要这里介绍的追溯校准技术( meaning a retrospective calibration technique as presented here is required for databased extrinsic calibration.)。

轨迹估计(trajectory estimates)由我们的室内立体视觉里程(VO)系统[10]提供。获取用于轨迹估计的地面真实值(ground truth)总是有问题的,然而VO系统已经显示出了很高的局部度量精度(local metric accuracy),在700米的闭环轨迹上仅漂移3米。

A."评估融合"的性能的评估(Evaluating The Performance Of Estimate Fusion)

为了评估该算法的性能和重复性,我们首先评估了73个独立帧的校准。实验结果如图6和表1所示。由于我们无法准确地测量地面真值(ground truth),估计结果的标准差(the standard deviation of the estimates)非常的重要,对于单独的框架来说,大约是几厘米和几度的精度水平,这类似于手工测量校准所能达到的预期精度水平。为了测试单个帧融合所取得的任何改进,我们进行了20次N选M试验,其中N为73帧,M = 10。每个融合估计选择10个随机帧,然后使用贝叶斯滤波器依次融合。图8中可以看到一个包含10帧的示例集(example set)。融合阶段的效果如图6和表1所示,标准差(standard deviations)下降了近一个数量级。

图7显示了校正估计值的标准差是如何随着更多的单独估计值融合在一起而减小的,这种效果在大约10帧后似乎达到饱和。

图9显示了病态帧和有噪声的帧如何进行校准估计(Figure 9 shows how frames with ill conditioned and noisy calibration estimates),参见图9 (b),会自动分配一个更高的σ²,按照第2节的E中的流程。与图9(a)所示的最小值周围有更明显波谷的估计值相反,被赋予较低的σ²,并且如预期的那样,为融合后的最终校准估计提供更多信息。(Estimates with more distinct troughs around the minima, figure 9(a), conversely are assigned a lower σ2 and as expected contribute more information to the final calibration estimate after fusion. )图9中的柱状图说明了这一点,其中绘制了反向方差1/σ²,它有效地加权了Bayes过滤器中的单个估计。

鉴于立体摄像机和二维激光雷达没有即时重叠的视场,这种校准方法不可能通过文献中报道的任何其他技术实现。

图7所示。图中显示了校正估计的标准差(standard deviations)如何随着遇到更多的帧而减小,以及校正估计是如何更新的。该数据表示从可能的73帧中随机选择的25帧的20个序列。(This data represents twenty sequences of 25 frames randomly
selected from a possible 73 frames.)

图8。融合校正估计中随机选取的10帧。可以看出,这些帧是在不同的场景中从不同的位置获取的

图9所示。给出了两个实例场景的目标函数。a)举例说明目标函数在解的周围是凸的,并且有一个明显的全局极小值。在远离最小值的情况下,目标函数可以是非凸的,这证明了使用网格搜索方法可以改进收敛范围(basin of convergence),降低初始化所需的精度。然而,b)显示了某些场景如何在solution周围(around the solution)产生噪声和病态的目标函数。由目标函数在最小值处的形状得到的估计值的反方差的柱状图说明了,在贝叶斯滤波器中,不那么明显的最小值产生的信息更少,因而给出的权重更小。(The bar charts of inverse variance of the estimate derived from the shape of the objective function at the minima demonstrate how less pronounced minima yield less information and are given less weight in the Bayes filter.)

B.感知的目标函数(Objective Function Around Solution)

图9显示了绘制的关于两帧估计外部校准的目标函数。可以看出,在a)中存在一个明显的凸峰,而在b)中凸峰较少。然而,由于目标函数不是真正的解,目标函数是非凸的,这就证明了相对于传统的基于梯度的优化方法,选择基于简单搜索的优化是合理的。一旦搜索找到一个粗略的解,最终的校准可能通过一个最终的梯度体面样型(final gradient decent type)优化得到改善,这在本文工作中还没有研究。也可以看出,某些自由度比其他自由度更敏感,这被认为是由于典型环境的几何场景和传感器布局位置所致。注意,这是由我们的过滤器自然地处理的。

4、结论与未来工作

提出了一种相机和二维激光雷达在一般运动条件下的自动标定方法。一种不需要目标就可以在自然场景中使用的方法,实现了对目标的实时校准(calibration)。该方法也不需要将传感器安装到具有重叠视图的位置。与其他方法不同的是,我们通过车辆的运动利用轨迹估计来建立激光雷达数据感知带(swathe)来生成激光反射率图像,以便与相机捕获的图像进行比较。我们采用了一种鲁棒相关测量,它对反射率返回和相机图像两者的非线性是不变的。此外,我们还演示了利用多个场景曝光(exposure)和融合多个单镜头校准的 校准方法,可产生毫米级别的平移精度和旋转精度。这样做的方式与用场景结构和外观、约束外部校准参数的方法是一致的。(This is done in a way which is sympathetic to the utility of the scene structure and appearance in constraining the extrinsic calibration parameters.)

虽然这些结果令人信服,但在我们今后的工作中仍有许多工作要做。我们打算研究光照条件对这一过程的影响,将优化扩展到覆盖多个激光器,也许最有趣的是,用它来相互注册(register)多个2D激光器,而无需借助相机。

5、致谢

本文的工作由EPSRC DTA资助。Paul Newman获得EPSRC领导层fellow - ship EP/J012017/1的支持。Peter Corke获得了澳大利亚研究委员会DP110103006终生机器人视觉导航项目的支持。作者感谢提供WildCat平台的BAE系统公司的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值