作者 | Lihao Wang 编辑 | 深蓝AI
点击下方卡片,关注“自动驾驶之心”公众号
戳我-> 领取自动驾驶近15个方向学习路线
本文只做学术分享,如有侵权,联系删文
导读:
本篇提出了一种用于鱼眼环视系统的无模式外参标定方法Click-Calib,它易于使用且无需任何特殊设置,并且在短距离和远距离处均能提供高精度。此外,它对关键点高度噪声具有鲁棒性。在内部数据集和公开的WoodScape数据集上的评估表明,与基线方法相比,Click-Calib具有更高的精度和鲁棒性。
©️【深蓝AI】编译
论文标题:Click-Calib: A Robust Extrinsic Calibration Method for Surround-View Systems
论文作者:Lihao Wang
论文地址:https://arxiv.org/pdf/2501.01557
代码链接:https://github.com/lwangvaleo/click_calib
本文介绍了Click-Calib:一种鲁棒的环视系统外参标定方法。环视系统(SVS)是高级驾驶辅助系统(ADAS)的重要组成部分,它需要精确的标定结果。然而,传统的离线外参标定方法既繁琐又耗时,这是因为它们严重依赖于物理模式。此外,这些方法主要注重于车辆周围的短距离区域,这导致更远区域中的标定质量较差。为了解决这些局限性,本文提出了Click-Calib,这是一种用于离线SVS外参标定的无模式方法。该方法无需任何特殊设置,用户仅需要点击自然场景中地面上的一些关键点即可。与其它离线标定方法不同,Click-Calib通过最小化关键点的重投影距离误差来优化相机位姿,从而在短距离和远距离处实现精确标定。此外,Click-Calib支持单帧和多帧模式,后者提供了更好的结果。本文在内部数据集和公开的WoodScape数据集上的评估表明,与基线方法相比,Click-Calib具有更高的精度和鲁棒性。
基于相机的SVS是ADAS和自动驾驶的关键组成部分。它们广泛用于鸟瞰图(BEV)图像生成、泊车辅助和3D感知。典型的SVS由四个环绕车辆安装的宽视角鱼眼相机组成,它们提供了360°的覆盖范围,如图2所示。
▲图1| 由四个鱼眼相机组成的环视系统(SVS)©️【深蓝AI】编译
尽管当前的离线外参标定方法能够在车辆周围的目标区域提供精确的标定,但是这些区域大多在短距离范围内(通常小于5米,如图3所示)。
▲图2| 基于模式和基于光度方法的示例©️【深蓝AI】编译
这种局限性主要有两个原因:首先,对于基于模式的方法,距离受限于模式的物理尺寸以及标定空间;其次,对于基于光度的方法,由于合成BEV图像的质量在较远距离处急剧降低,因此标定范围也受到限制。
本文提出了Click-Calib,这是一种简单而鲁棒的SVS外参标定方法(如图1所示)。
▲图3| 本文所提出的Click-Calib©️【深蓝AI】编译
当车辆静止或者低速(小于30km/h)行驶时,可以应用该方法。用户无需进行任何特殊设置,仅需要在相邻相机的重叠区域中选择地面上的一些关键点。Click-Calib的标定结果在短距离和远距离(大于10米)均能维持高精度,这使其非常适用于远距离3D感知任务。
本文的贡献为如下三方面:
1)本文提出了Click-Calib,这是一种无需特殊设置或者标定模式的SVS外参标定方法。与其它需要从鱼眼到透视图像去畸变的鱼眼标定方法不同,它直接从原始鱼眼图像中优化标定参数,从而避免信息损失;
2)本文证明了光度误差不太适用于反映远距离BEV图像的质量。相反,本文引入了平均距离误差(MDE)作为更精确的度量方式;
3)本文方法在三种不同的车辆上进行评估。与其它离线标定方法相比,Click-Calib展现出显著的改进,特别是在远距离处。其它实验还证明了它对环境不确定性(例如每个关键点的高度变化)的鲁棒性。
■ 3.1. 符号和术语
本文使用表示空间中的3D点,使用表示图像中的2D点(即像素坐标)。上标用于表示坐标系。例如,表示相机的2D图像中的像素,表示相机坐标系中的3D点。
■ 3.2. 鱼眼相机模型
自1906年发明鱼眼相机以来,其大视场(通常≥180°)在监控、增强现实,特别是汽车应用中得到广泛使用。与将3D点线性映射到2D图像的针孔相机不同,鱼眼相机产生的图像具有明显的径向畸变,特别是在图像边界附近。
为了描述鱼眼透镜的强径向畸变,本文提出了若干种几何模型。这些模型可分为四类:经典几何模型、代数模型、球面模型和其它模型。为了便于实现投影函数,本文采用了代数模型。具体而言,本文使用四阶多项式:
其中,表示入射角,表示图像半径(像素)。系数至是从内参标定中获得的畸变参数。图4展示了鱼眼投影,并且将其与针孔相机模型进行比较。
▲图4| 鱼眼相机模型©️【深蓝AI】编译
类似于将3D点投影到2D图像像素的投影过程,相机的重投影过程被定义为逆操作,将2D图像像素映射回3D点。对于鱼眼相机,这涉及从计算:
四阶多项式的解析解很复杂,因此在实践中经常使用Newton-Raphson方法等数值方法。求解的仅提供射线方向,因为在2D到3D映射过程中无法恢复深度信息。重投影射线的简单表示是其与单位球面的交点,因此:
其中,
以及,
和为图像中心的像素坐标。任何3D点可以表示为:
其中,尺度因子为点的深度。
■ 3.3. 相机-车辆投影
上述鱼眼相机模型描述了2D鱼眼图像和3D鱼眼坐标系之间的变换。为了获得车辆坐标系中的3D点坐标,这里讨论了相机-车辆投影。为了简化线性变换,使用齐次坐标。因此,2D 和3D 分别扩展为和。从到的齐次变换矩阵(也称为外参矩阵),由下式给出:
在该矩阵中,向量表示平移,描述了在中的位置。表示旋转矩阵的元素,其描述了相对于的姿态。可以通过四元数计算:
其具有将旋转自由度降低到3的约束:
通过,对于车辆坐标系中的点,其在相机坐标系中的对应点由下式计算:
类似地,也可以由计算:
结合上述公式:
由于存在尺度因子,仅决定一条射线。然而,本文仅考虑地面点,因此:
其中,是中的地面点。这里,,因为车辆坐标的原点是位于地面上的。通过这一约束,尺度因子可以被唯一确定,然后可以通过计算得到。
■ 3.4. 优化
优化目标是确定每个相机的位姿,该位姿由6个参数组成:平移向量中的三个参数和四元数确定的三个旋转参数。如图2所示,SVS包含四个相机、、和。对于一对相邻相机和,如果它们均能看见地面点,则两个相机的重投影距离误差为:
其中,表示欧式范数,为上述公式确定的地面投影函数,和分别为在和中的像素坐标。然后,通过最小化如下目标函数,可以获得SVS标定的最优估计:
其中,为从所有相邻相机对中选择的关键点的总数。
本文采用Broyden-Fletcher-Goldfarb-Shanno(BFGS)算法作为求解器,因为它在非线性优化中很有效。然而,由于问题是非凸的,因此BFGS等迭代方法很容易陷入局部极小值。为了解决这个问题,Click-Calib需要合理的初始值,特别是对于旋转参数。在实践中,这个初始值可以很容易地从每个相机的名义位姿中获取,也可以通过人工调整BEV图像来获得。
■ 3.5. 尺度模糊
尽管所提出的方法要求选择的地面点数量超过未知参数的数量,但是尺度模糊仍然存在(图5)。
▲图5| 尺度模糊©️【深蓝AI】编译
直观上而言,如果世界尺度减小,距离误差将相应降低。因此,如果在优化过程中没有引入尺度约束,那么最小化距离误差将最终导致世界尺度接近零,这在物理上是没有意义的。
为了解决这个问题,在优化过程中需要固定三个平移参数中的一个。在实践中,每个相机的高度被选为固定参数,因为它们易于测量。
■ 4.1. 实验设置
所提出的Click-Calib在两个数据集上进行测试:内部数据集(由两辆车采集,在以下部分称为汽车1和汽车2)和公开数据集WoodScape数据集(由一辆车采集)。所有这三辆车均装载四个鱼眼SVS相机,它们提供了自车周围360°的覆盖范围,相邻相机之间具有重叠区域,如图2所示。数据集中的图像分辨率为1280×800,而WoodScape数据集中的图像分辨率为1280×966。为了避免高速行驶时的图像不同步问题,这里仅考虑车速低于30km/h的图像帧。采集的图像涵盖了三个关键场景(室内泊车、室外泊车和城市驾驶),以证明所提出方法的鲁棒性。
对于每辆汽车,用于标定的帧被称为标定集(类似于机器学习中的训练集),用于评估的帧被称为测试集。在标定集和测试集中的鱼眼图像均是从连续图像序列中随机选择的。对于内部数据集中的汽车,首先使用基于模式的传统方法来标定SVS相机,该方法作为与Click-Calib比较的基准。对于WoodScape数据集中使用的汽车,将提供的标定结果作为基准。
在Click-Calib标定过程中,在每张SVS图像中手动选择关键点。为了确保优化后的标定结果在不同距离处维持高精度,每个重叠区域中至少需要选择10个关键点。
对于定量结果,本文使用逆透视映射(IPM)技术来生成BEV图像。IPM广泛应用于自动驾驶应用中,例如车道和停车位检测。假设世界是平的,它通过将相机图像投影到地面上来生成BEV图像。为了清晰地展示标定重投影的质量,叠加了每个相机重投影的所有像素。该可视化方法提供了一种直观的方法来评估标定精度,不精确的标定会导致BEV图像中出现严重的"重影"效应。
■ 4.2. 指标
为了评估标定质量,最近关于SVS标定的工作使用光度误差(也称为光度损失)作为指标。它衡量了两张BEV图像之间所有像素的强度差。一对相邻相机和的光度误差定义为:
其中,和分别为相机和生成的BEV图像。
然而,光度误差存在两个主要的局限性。首先,SVS图像由不同的相机拍摄,光照和曝光各不相同。即使对于良好对齐的图像,这些差异也会导致较高的光度误差值。其次,IPM生成的大范围BEV图像通常包括地面上的目标(例如汽车和墙壁),这些目标在不同的相机视图中无法正确对齐。这种误对齐也会导致明显的光度误差。
为了解决光度误差的局限性,本文采用平均距离误差(MDE)指标。具体而言,对于每张评估图像帧,随机选择地面上的个关键点(被固定为20),然后计算平均重投影距离误差。与光度误差不同,所提出的MDE对于相机属性和非平面目标具有不变性,因此可以对BEV图像质量进行公正评估。光度误差和MDE的比较如图6所示。
▲图6| 指标比较©️【深蓝AI】编译
■ 4.3. 单帧标定
本文首先仅使用一帧作为标定集来执行Click-Calib。结果如表格1所示。
▲表1| 在不同距离处单帧标定结果的MDE(米制)©️【深蓝AI】编译
对于所有三辆汽车,本文提出的方法在MDE指标上均超越了基线。在较短的距离处(即靠近自车的区域),基线和Click-Calib均精确。然而,在更远的距离处(特别是超过10米),Click-Calib的标定结果明显优于基线。这是因为Click-Calib允许用户选择远距离的关键点(只要它们在相邻相机中可见,如图7所示),这在求解标定时引入了更多的几何约束。
▲图7| 远距离关键点示例©️【深蓝AI】编译
一些定性结果如图8所示。
▲图8| 定性结果©️【深蓝AI】编译
生成的BEV图像覆盖了车辆周围25m×25m的范围。与基线相比,Click-Calib提供了相邻相机之间更好的对齐,从而证明了其高精度。
■ 4.4. 多帧标定
尽管所提出的方法已经可以仅使用一帧提供高质量的标定结果,但是也能使用多帧进行标定,以缓解单帧标定潜在的过拟合问题。
该实验在汽车1上进行。从连续的图像序列中,随机地选择帧(其中的范围从1到5)作为标定集,测试集与上一节相同。结果如表格3所示。
▲表2| 多帧标定结果©️【深蓝AI】编译
MDE在使用三帧时明显降低,并且在使用三帧以上时稳定。这种改进可以归因于两个主要因素。首先,额外的帧提供了更多的关键点以及自车周围更广泛的覆盖范围,从而降低了仅使用一帧的过拟合效应。其次,更多的帧还有助于平滑地面的不平坦区域,从而实现更精确的标定结果。
■ 4.5. 鲁棒性测试
实际上,地面并非完全平坦的,这意味着的假设并不总是成立。关键点的高度误差会在优化后的标定结果中引入误差。为了量化这个误差,一种直接的解决方案是精确测量每个关键点的高度。然而,该过程非常耗时,需要昂贵的设备。因此,使用仿真来估计该误差。国际平整度指数(IRI)是衡量道路平整度的最常用指标。它被定义为在给定行驶距离内测量的标准参考车辆相对于平坦道路的累积垂直位移。IRI值通常以米/公里(m/km)或者英尺/英里(in/mi)来表示。对于铺平的道路,IRI的范围在1.5至6m/km之间。本文采用最糟糕的场景6m/km作为道路不平整度进行误差估计。关键点的选择限制在自车周围±20m范围内,因此,对于自车的每一侧,高度的最大变化为:
该仿真使用单帧标定在汽车1上进行。本实验关注两个典型场景:斜坡情况和随机情况。为了简化分析,假设自车的四个车轮形成的平面是完全水平的。在斜坡情况下,自车被两侧高度为的斜坡围绕。在随机情况下,车辆停在颠簸的道路上,地面上每个点的高度随着随机噪声变化,最大可达(如图9所示)。
▲图9| 鲁棒性测试设置©️【深蓝AI】编译
鲁棒性测试的结果如表格2所示。
▲表3| 鲁棒性测试结果©️【深蓝AI】编译
地面点高度的噪声仅在标定中引入微小差异。这些差异可以认为是Click-Calib的标定误差的近似上限,这是因为误差的主要来源是地面点的高度。有趣的是,斜坡情况下的MDE甚至比无噪声情况下更小。本文认为,这是因为假设的斜坡与实际斜坡部分符合所导致的。
本文提出了Click-Calib,这是一种用于鱼眼环视系统的无模式外参标定方法。该方法仅需在相邻相机重叠区域的地面上点击几下即可实现精确标定。与传统的基于模式的方法和最近的基于光度的方法相比,Click-Calib具有三个主要优势:(i)它易于使用且速度较快,并且无需特殊设置;(ii)它在短距离和远距离(大于10米)处均能提供高精度;(iii)它对关键点高度噪声具有鲁棒性。这些特征使其特别适用于最近流行的基于BEV的感知方法。
局限性和未来工作:尽管Click-Calib在所有距离处均能提供可靠的标定结果,但是它受到某些限制。首先,它仅在车辆静止或者低速(低于30km/h)行驶时有效。其次,它需要手动点击,这对用户而言可能较为繁琐。因此,它被设计用于小批量汽车的离线标定,而不是大规模量产。为了将其转换为更通用且全自动的方法,未来工作将着重于自动关键点选取,并且将关键点从地面扩展到整个3D场景。
Ref:
Click-Calib: A Robust Extrinsic Calibration Method for Surround-View Systems
① 自动驾驶论文辅导来啦
② 国内首个自动驾驶学习社区
『自动驾驶之心知识星球』近4000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知(端到端自动驾驶、世界模型、仿真闭环、2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、大模型,更有行业动态和岗位发布!欢迎扫描加入

③全网独家视频课程
端到端自动驾驶、仿真测试、自动驾驶C++、BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、车道线检测、轨迹预测、在线高精地图、世界模型、点云3D目标检测、目标跟踪、Occupancy、CUDA与TensorRT模型部署、大模型与自动驾驶、NeRF、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习)
④【自动驾驶之心】全平台矩阵