专栏名称: 点云PCL
公众号将会推送基于PCL库的点云处理,SLAM,三维视觉,高精地图相关的文章。公众号致力于理解三维世界相关内容的干货分享。不仅组织技术交流群,而且组建github组群,有兴趣的小伙伴们可以自由的分享。欢迎关注参与交流或分享。
目录
相关文章推荐
河北青年报  ·  刚刚,石家庄姑娘何卓佳3比0战胜张本美和! ·  昨天  
河北青年报  ·  刚刚,石家庄姑娘何卓佳3比0战胜张本美和! ·  昨天  
北京晚报  ·  蛇年首战,王楚钦“零封”对手 ·  4 天前  
北京晚报  ·  蛇年首战,王楚钦“零封”对手 ·  4 天前  
大皖新闻  ·  孙颖莎、王楚钦、王曼昱等,集体发声 ·  4 天前  
大皖新闻  ·  孙颖莎、王楚钦、王曼昱等,集体发声 ·  4 天前  
中工网  ·  刘国梁建言WTT ·  4 天前  
51好读  ›  专栏  ›  点云PCL

环视摄像机系统校准的基准和数据集

点云PCL  · 公众号  ·  · 2024-02-16 23:22

正文

文章:Camera Calibration for the Surround-View System: A Benchmark and Dataset

作者:Leidong Qin, Chunyu Lin*, Shujun Huang, Shangrong Yang, Yao Zhao

编辑:点云PCL


欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。 文章仅做学术分享,如有侵权联系删文。

公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系[email protected] 文章未申请原创 侵权或转载 联系微信cloudpoint9527。

摘要


环视系统(SVS)广泛应用于先进的驾驶辅助系统(ADAS)。SVS使用四个鱼眼镜头监视车辆周围的实时场景。然而为了系统正常运行,需要准确的内外参估计。目前可以通过使用棋盘格算法对内参进行流水线标定,而外参校准仍处于不成熟状态。因此提出了一种特定的校准流程来稳健地估计外参。该方案以四个摄像头的行驶序列作为输入。首先它利用车道线粗略估计每个摄像头的姿态。考虑到每个摄像头的环境条件差异,我们分别从两种方法中选择策略,以准确估计外参。

为了准确估计前后摄像头的参数,我们提出了一种相互迭代线检测和姿态估计的方法。至于双边摄像头,我们通过最小化相邻摄像头地面投影的纹理和边缘误差,迭代调整摄像头的位姿和位置。在估计外参后,可以通过基于单应性的变换合成环视图像。所提出的流程能够在真实驾驶环境中稳健地估计四个SVS摄像头的外参。此外为了评估所提出的方案,我们建立了一个环视鱼眼数据集,其中包含40个视频,共32000帧,来自不同的真实交通场景。每个视频中的所有帧都经过手动标注,包含车道标注及其GT外参。此外,其他研究人员可以使用此环视数据集来评估其性能。该数据集将很快提供。

介绍


环视系统在先进驾驶辅助系统(ADAS)中越来越受欢迎,图1显示了一个四摄像头的环视系统。环视系统生成车辆周围的360度图像,为驾驶员提供了一个全面的环境视图,没有任何盲点。此外环视系统广泛用于各种自动驾驶计算机视觉任务,包括交通标志识别和停车位检测。通常车载摄像头安装在车辆的前、后、左和右侧。然后利用车载摄像头捕捉的图像生成车辆环境的辅助视图。

要实现所有捕捉图像的无缝拼接,需要对多摄像头系统进行准确校准。不准确的校准参数可能导致对周围环境的错误感知,这对车辆控制是危险的。尽管内参校准技术已经成熟,但由于微小的摄像头运动,外参参数会有所变化。随着车辆的移动,摄像头可能会慢慢积累由引擎振动、车门开关、强风和路面颠簸等引起的外在变化。因此,需要重新估计车载摄像头的姿态和位置,以确保拼接性能。在大多数商业解决方案中,驾驶员必须依赖专业工厂或工人进行外参校准,这可能耗时且劳动密集。制造商对不需要人工干预的有效外参校准有需求。近年来,一些针对各种实际场景的自动校准方案出现了。然而具有环视场景的交通情景数据集仍然不足。为了解决这一研究空白,我们收集了一个包含具有车道线的交通场景的新数据集,并提出了一个自动校准流程。总体而言,我们的贡献主要包括三个方面:

  • 提出了一种外参校准方案,利用车道线和地面纹理。首先,我们的方法检测并过滤车辆附近的车道线。基于几何约束,通过利用车道线的方向,我们对摄像头姿态进行了粗略估计。其次对相邻摄像头的地面纹理进行对齐,以实现准确的外参估计。

  • 我们的方法通过车道线投影约束和车道重新检测的相互迭代来校正位姿。粗糙的车道检测会导致姿态估计不准确,通过使用粗略姿态将框架投影到粗糙的地平面上,可以更准确地重新定位车道标线。因此可以使用更新的车道标线迭代位姿。我们的方法鲁棒且能在长距离车道标线检测中保持亚像素精度。

  • 我们提出了一个包含地面真值(GT)的环视视频数据集。该数据集从不同环境条件下的各种交通场景中收集而来,包含由鱼眼摄像头收集的40组视频。所有视频帧都经过手动标注,具有高质量的车道点和摄像头外参。

所提出的方法需要以下假设作为先决条件:

  • 内参参数和摄像头位置已知。

  • 道路表面是平坦且笔直的,此外行驶方向始终与车道线平行,车辆前进方向与车道线之间的角度被假设为-2到2度。在我们的校准流程中,车辆前进方向与车道线之间的横滚和偏航角范围被假设为-10到10度。俯仰角的范围是从20到90度。对于每个摄像头,需要内参参数(包括畸变系数),并且x坐标的误差应在-0.2到+0.2米之间。z坐标(摄像头高度)的误差应在-0.2到+0.2米之间。SVS系统通常由四个或六个鱼眼摄像头组成。我们的论文针对的是四摄像头系统。所提出的方法是完全自动的,在交通场景中,它可以在各种环境条件下保持稳定的估计。

图1.具有四个环视相机的SVS系统示意图

内容概述


图2显示了所提方法的流程图。首先该方法从四个摄像头捕获的图像中检测车道标线。在定位了车道标线之后,该方法校准前后摄像头的外参。然后使用前后摄像头的估计值处理左右摄像头。

图2 所示为所提方法的流程图。分别显示了每个步骤的外参生成的环视图像 (a) 到 (e)

车道检测和选择

我们使用Kannala-Brandt的畸变模型对鱼眼图像进行去畸变,并使用Canny边缘检测来检测车道线,所提出的方法在去畸变图像上采用Hough线检测来检测车道标线。由于检测结果可能包含错误检测到的车道标线,我们采取了一系列措施来筛选所需的车道标线。首先使用一个消失点(VP)来拒绝外部线条。与消失点的垂直距离小于指定阈值的车道标线将被保留,总体目标是拒绝远离消失点的线条。考虑到左右摄像头不能捕捉到车辆下方的车道标线,这里设置了一个感兴趣区域(RoI)来拒绝这样的标线。由于前后摄像头只需要一对车道标线,所以选择距离摄像头最近的一对车道标线进行估计。至于左右摄像头,它们只需要一个车道标线。

图3 前后摄像头姿态估计算法。(a). 计算俯仰角的子步骤。(b) 计算偏航角的子步骤。(c) 计算横滚角的子步骤

前后摄像头校准

所提方法利用投影平面上车道线的几何约束迭代地估计相机位姿, 本文提出了一种迭代估计相机位姿的算法。该算法由三个子步骤组成,每个子步骤分别估计俯仰、偏航和横滚角,假设 P' 是畸变图像中的点,其在环视图像中的对应点是P,P可以通过单应矩阵 H 进行如下变换:

其中,K1是表示真实相机内参的 3x3 矩阵,K2 是表示环视平面上虚拟相机内参的 3x3 矩阵。R 是旋转矩阵,I′ 是环视平面上的点。设计了三种代价函数,分别用于估计俯仰、横滚和偏航角,图 3 说明了它们的功能。我们的算法首先通过迭代更新旋转矩阵来最小化成本函数 c_φ,其中:

其中,φ 是俯仰角。俯仰角通过最大化代价函数 c_φ 来估计,如下所示:

如图3所示,点ai和bi(i=1,2,3,4)对应于环视图像中提取的标线的端点,a1、a2、a3、a4是与直线y=0相交的点。ai bi (i=1,2,3,4)是ai bi的单位化方向向量,即标线的方向向量。在这个子步骤中,我们通过使用方程(2)迭代计算旋转矩阵,逼近c_φ的唯一极值。

在第二个子步骤中,迭代策略是使用以下更新旋转矩阵的方式:

其中 ω 是偏航角,在大多数情况下,右车道线的宽度等于左车道线的宽度。因此通过最小化代价 c_ω,可以估计偏航角。

其中|a1a2| 对应于 a1a2 的长度,|a3a4| 对应于 a3a4 的长度。类似地通过使用方程(4)迭代计算旋转矩阵,可以逼近 c_ω 的唯一极值。在第三个子步骤中,迭代策略可以表示为:

其中 θ 是横滚角,由于车辆的方向与车道标线平行,车道标线的投影线也与投影平面的轴平行。通过最小化代价 c_θ,可以估计横滚角,

其中,e1 是环视平面中等于 [1, 0] 的向量,n 等于 4。同样通过使用方程(6)迭代计算旋转矩阵,可以逼近 c_θ 的唯一极值。

总体上,每个“代价函数”的动机并未很好地描述。最终,变得清晰的是,第一个使所有的线“指向相同的方向”,第二个使线宽度标准化,第三个使线在图像中“指向上方”。完整的算法显示在算法1中。

在子步骤中,通过确定成本函数的梯度方向来更新 φ、ω 和 θ。忽略线检测误差,φ 的 c_φ 中的一阶导数是单调的,因此 ω 的 c_ω 中的导数以及 θ 的 c_θ 中的导数也是如此。每个子步骤迭代地逼近代价函数的极值,从而逐渐估计相机姿态。基于这些代价函数,可以粗略估计相机姿态。该方法可以在精确检测车道标线的情况下实现准确的相机姿态估计。考虑到实际中复杂的交通场景,线检测需要在随后的步骤中进一步优化。

车道线优化

车道标线检测的准确性对于校准至关重要。对于左右摄像头,由于车道标线距离车辆很近,上面提到的检测方法已足以满足准确性要求。然而,在极端光照和车道标线不连续等环境条件下,上述检测方法对于前后摄像头的结果不尽如人意。如图4(b)所示,当车道标线远离摄像头时,该方法在边缘检测上不稳定。这个问题可以在投影平面下得到解决。在基于车道线成本函数的粗略校准之后,利用初步估计的姿态生成基于单应性变换的投影图像。如图4(c)所示,在投影图像中,通过线检测(如Hough线检测)精确估计车道标线。原始选择的车道线通过搜索最近检测到的线进行更新。在修正车道标线后,根据车道标线成本函数重新对前后摄像头进行校准。

图4 (a) 在未畸变图像中找到的直线车道标线。(b) 在对前置摄像头进行粗校准后的粗糙投影。(c) 在粗糙投影图像中的车道标线校正。(d) 姿态重新校正后

联合优化前后摄像头

如图5所示,在分别估计了前后摄像头的位姿之后,可以优化前后摄像头在世界坐标系中的x坐标。

图5 SVS的世界坐标系, y轴方向是车辆的方向,原点是地平面上四个摄像头的十字中心。

如图6所示,为了稳健地生成全景图像,需要考虑摄像机位置误差和姿态误差。因此,通过最小化成本函数 cfb,同时对前后摄像头进行精确校准

其中xfi和xbi分别是afi和abi的x坐标(i=1,2,3,4)。成本函数 cfb 反映了前后摄像头相对齐的误差。因此只优化后置摄像头在世界坐标系中的x坐标。

图6 解释了 cfb 代价函数。前后置摄像头的图像将投影到全景视图平面上,通过对齐车道线来逼近位置。

校准左右摄像头

校准左右摄像头的方法类似于前后摄像头的方法。

图7:前后摄像头姿态估计算法。(a) 原始环视图。(b) 解决偏航角的子步骤。(c) 解决横滚角的子步骤。(d) 解决俯仰角的子步骤。

如图7所示,该方法首先估算了侧面摄像头的偏航角(图7,从a到b)和横滚角(图7,从b到c)。侧面摄像头的偏航角和横滚角的估算方法与上面介绍的方法类似。

如图7所示,点as1、as2、bs1、bs2分别对应于环视图图像中提取标线的末端点,即与线y = 0和线y = y0的交点。

偏航角通过最小化成本cω,side来估算,具体方法为:

其中,|as1 as2|对应于as1 as2的长度,|bs1 bs2|对应于bs1bs2的长度。同样,我们可以通过迭代使用方程(4)中的旋转矩阵来逼近cθ的唯一极值。

横滚角通过最大化成本cθ,side来估算,具体方法为:

其中,as1 bs1和as2 bs2分别对应于as1bs1和as2bs2的单位化方向向量,即车道标线的方向向量,e1是环视平面中等于[1, 0]的矢量。同样,我们可以通过迭代使用方程(6)中的旋转矩阵来逼近cθ的唯一极值。

俯仰角的优化依赖于前后摄像头的校准结果。一旦完成前后摄像头的估算,车道标线的宽度可以简单地计算出来。通过最小化成本cφ,side来估算俯仰角,具体方法为:

其中,|as1 as2|对应于as1 as2的长度,dl对应于前一节中计算的车道标线宽度。同样,我们可以通过迭代使用方程(2)中的旋转矩阵来逼近c(φ, side)的唯一极值。

然而,由于前后校准的车道宽度精度有限,俯仰角估算不稳定。这代表了基于车道标线的校准的一个局限性。因此,我们提出了一种基于纹理的方法来稳健地估算侧摄像头的俯仰角。

联合优化左右相机

在这一步中,该流程通过在投影平面中收缩感兴趣区域(RoI)的像素颜色误差来估算俯仰角和位置。图8提供了相邻摄像头如何通过RoI纹理处理的示例。纹理对齐误差考虑了像素的颜色差异和边缘梯度。在计算像素颜色误差之前,相邻摄像头的投影图像需要在三个颜色通道上进行归一化,以减小不同照明条件下相邻摄像头的影响。

图8 显示了相邻摄像头投影的比较。通过遍历算法可以估算双摄像头的俯仰角和位置。

假设两个相邻摄像头的投影映射分别为 I2 和 I1。从 I2 归一化到 I1 的过程如下:

其中,σ1、µ1 是 I1 的标准差和均值,σ2、µ2 是 I2 的标准差和均值。通过最小化成本 ctext,可以估计俯仰角和位置:

其中,h 是 RoI 图像的高度,w 是图像的宽度,Gy 是像素的纵向边缘梯度,由 Sobel 算子计算。考虑到鱼眼镜头的特性,两个相邻摄像头的投影图像清晰度不同。因此,Gy 是由RoI离其主点更近的摄像头计算的。对于我们的数据集,我们选择左右摄像头计算 G y。由于前一步骤的粗略估计,遍历范围已经缩小。通过遍历算法可以接近俯仰角和位置,而且时间成本可接受。

数据集与实验


我们的数据集是通过安装在汽车上的四个鱼眼摄像头收集的。数据集包括40组视频。每组视频包括四个视频流,前置、后置、左侧和右侧。帧率为25 fps。而且数据集是由具有不同摄像机参数的多套鱼眼摄像机捕获的,并且摄像机系统安装在几辆车辆上进行采集。因此,数据集中外部参数的GT各不相同,如图9所示。

图9 展示了提出的视频环视数据集,包含不同的真实交通场景,并提供了车道标注

每个视频的帧共享相同的外参参数和地面真值,这些参数是使用棋盘格标定得出的。摄像头型号为深圳中科南光科技有限公司生产的200万像素高清全景防水镜头。摄像头的视场角为190度,图像传感器型号为索尼的IMX307。每一帧的车道线、车辆内外参数都存储在相应的JSON文件中。此外,所有车道线标注均为手动标注。每条车道线由两组边缘点表示,并标有其类型,包括单实线白色、单虚线白色、单实线黄色、单虚线黄色、双实线白色、双实线黄色、双虚线黄色、双实虚线白色、双实线白色、白黄实线等。

在真实的交通场景中,当行驶在虚线车道时,四个摄像头不能同时捕捉到有效的车道。我们的数据集包含了这种情况的解决方案。我们保留了在短时间内出现的车道线。这是因为在进入直行车道时,驾驶方向可以假定为短时间内保持直行。使用我们的数据集对管道进行了测试。我们从各种环境中选择了输入片段。部分结果如图10所示。从结果中可以看出,我们的方法在各种交通场景中表现稳定。

图10 代表性交通场景示例。请注意,在(c)、(e)、(f)和(h)中,车辆的侧面有一堵墙或踏步。不在地平面上的3D点将被错误地转换。

为了验证所提方法的有效性,我们重新实现了Choi等人的方案、OCPO和WESNet以进行比较。每种方法在每个世界轴上将位置参数初始化为距离地面真值5厘米的误差。表1显示了结果。平均摄像头角度误差等于三个欧拉角的平均值。平均位置误差等于在世界坐标系中估计值与地面真值之间的欧几里德距离。

我们为每种类型的场景提供了详细的校准方法评估结果。表1显示了平均角度误差和平均位置误差。角度单位和长度单位分别为度和米。最佳结果用粗体突出显示。从表1可以看出,与所有对手相比,我们的方法在所有数据组上都表现出压倒性的性能。Choi的方法利用车道标线只估计摄像头角度。对于左右摄像头,由于摄像头高度误差,Choi的方法表现不稳定。相比之下,我们的方法通过限制投影车道标线的宽度并对齐投影纹理,同时估计高度和俯仰角。具体而言,OCPO仅将光度误差作为指导来纠正摄像头姿态。然而,在低纹理环境中,光度误差主要受到噪声的影响,而不是摄像头姿态的不准确。在这种情况下,OCPO可以产生光度误差较低的外参数,但其准确性无法保证。WESNet采用弱监督学习框架。在微调阶段,WESNet利用光度误差训练网络,这将导致与OCPO类似的误差。总之,我们的方法在外参数估计的卓越准确性和泛化能力方面得到了很好的证明。

在表2中,我们进行了割裂实验以证明我们提出的每个组成部分的有效性。车道标线的重新检测通过提高每个摄像头的车道标线检测精度来改善外参估计。纹理处理也对校准产生了贡献。

对内参干扰的鲁棒性: 为了评估我们的方法对内参准确性的鲁棒性,我们在经验上改变了每个摄像头的内参。扰动可以表示为一个内参扰动因子 d。我们将其添加到摄像头的焦距上。摄像头 Ci 的扰动内参矩阵 Kd Ci 可以表示为:

我们测试了上述方法和我们的方案,使用不同的 d 设置,并记录了结果。结果显示在图 11 中。它说明我们的方法在内参干扰更大时能够计算出更精确的结果。原因是内参被扰动后,像素离主点更远,产生更大的畸变误差。我们的方案利用车道信息作为强约束。车道线大多分布在鱼眼图像中心,而感兴趣区域分布在鱼眼图像侧面。因此,基于车道的校准比基于纹理的校准更加鲁棒。此外,根据我们的经验,由于自然碰撞或颠簸引起的相机焦距变化通常不超过 5 个像素。因此可以得出结论,我们的方法对内参变化具有鲁棒性。

图 11 在不同扰动因子 d 设置下的角度误差和位置误差。(a) 和 (b) 分别显示前后摄像头的平均角度误差和位置误差。(c) 和 (d) 分别显示左右摄像头的误差。

执行时间: 表 3 显示了所提方法的四个主要模块的执行时间。这些时间是在使用仅有一个拥有 2.30GHz 的单核 Intel Core i7-10875 CPU 上测量的。请注意,在所提方法的四个模块中,只有车道标线检测模块需要实时处理。其他三个模块只需要在收集到足够数量的车道标线后进行一次处理。在表 3 中,车道标线检测模块需要 29.74 毫秒来处理从 AVN 系统的四个摄像头获取的四幅图像,这意味着该模块可以实时处理超过 30 帧。所提方法的其他三个模块需要总计 315.54 毫秒的执行时间。由于这些模块只需要在收集到车道标线后进行一次处理,它们的执行时间不会妨碍所提方法实时运行。

总结


本文提出了一种使用车道标线和纹理进行摄像机姿态校准的新数据集和实用方法。为了促进围绕视系统的自校准研究,我们收集了一个新的数据集,其中包含所有帧的高质量车道标注。所提出的方法具有几个优点。首先,它适用于车辆的自然驾驶情况,无论车辆以低速还是高速行驶。其次,该方法使用相邻摄像头图像中的相应车道线将每个摄像头关联起来,生成车辆的无缝航拍视图。该方法在各种实际驾驶条件下使用捕获的图像序列进行评估,结果表明其具有良好的实时性能。该实验使用了一个四摄像头系统。因此,这种校准方法也适用于具有六个或更多摄像头的六摄像头系统。在六摄像头系统中,当车辆在车道上行驶时,车辆前部将有两个摄像头,后部将有两个摄像头。两侧车道线可以同时捕捉到。通过将捕捉两条车道线的摄像头视为校准过程中的“前后视角”,将捕捉一侧车道线的摄像头视为“左右视角”,可以将此方法用于摄像机校准和圆形投影拼接。

资源

自动驾驶及定位相关分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

自动驾驶中基于光流的运动物体检测

基于语义分割的相机外参标定

综述:用于自动驾驶的全景鱼眼相机的理论模型和感知介绍

高速场景下自动驾驶车辆定位方法综述

Patchwork++:基于点云的快速、稳健的地面分割方法

PaGO-LOAM:基于地面优化的激光雷达里程计

多模态路沿检测与滤波方法







请到「今天看啥」查看全文