【论文翻译】OpenCalib: A Multi-sensor Calibration Toolbox for Autonomous Driving


OpenCalib: A Multi-sensor Calibration Toolbox for Autonomous Driving——OpenCalib: 用于自主驾驶的多传感器校准工具箱


摘要

准确的传感器校准是自主车辆多传感器感知和定位系统的前提条件。传感器的内参校准旨在获得传感器内部的映射关系,而外参校准则是将两个或多个传感器转化为统一的空间坐标系统。大多数传感器在安装后需要进行校准,以确保传感器测量的准确性。为此,我们推出了OpenCalib,一个包含丰富的多种传感器校准方法的工具箱。OpenCalib覆盖了不同应用场景下的手动校准工具、自动校准工具、工厂校准工具和在线校准工具。同时,为了评估校准精度并随后提高校准算法的准确性,我们发布了相应的基准数据集。本文介绍了该工具箱的各种功能和校准方法。据我们所知,这是第一个包含该领域全套自主驾驶相关校准方法的开源校准代码库。我们希望该工具箱能够对自主驾驶研究人员有所帮助。我们的代码已在GitHub上开源,以造福社区。代码可在https://github.com/PJLab-ADG/SensorsCalibration获取。


I. 引言

自主驾驶最近已成为工业和学术界最热门的技术之一。作为一个复杂的系统,它需要多个模块协同工作。由于不同传感器各有优缺点,融合多种异构传感器成为实现稳健而准确的感知与定位能力的关键。IMU(惯性测量单元)、GNSS(全球导航卫星系统)、LiDAR(激光雷达)、摄像头、毫米波雷达和车轮速度计是自主驾驶系统中最常用的传感器。

IMU是一种惯性导航传感器,可以在短时间内提供相对位移和航向角变化,具有较高的可靠性。众所周知,GNSS可以为车辆提供米级精度的绝对定位。然而,GNSS信号的质量并不总是能够得到保证。因此,在自主驾驶领域,GNSS的输出通常与IMU和车辆传感器(如车轮速度计、方向盘角度传感器等)融合使用。

在众多主流传感器中,摄像头的应用范围相对广泛且成本较低。摄像头具备提取环境详细信息的强大能力。除了颜色,它还可以提供纹理和对比度数据,从而可靠地识别道路标记或交通标志,准确检测和识别静止和移动物体。因此,无论使用哪种传感器方案,摄像头通常都是必不可少的。依赖强大处理器、算法和神经网络的图像处理技术相对成熟。尽管具有诸多优点,但摄像头在自主驾驶感知系统中并不能“独领风骚”。这不仅是因为它需要良好的光照环境,还因为在雪、雾等恶劣环境条件以及黑暗中,摄像头的可靠性受到限制。此外,摄像头获取的数据或图像是二维的,没有直接的深度值信息,算法获得的深度信息的准确性也不足。

LiDAR具有高精度、长距离、良好的实时性能和丰富的信息采集能力等显著优势。同时,它的环境适应性较强,不受光照影响。然而,LiDAR的成本相对较高,通常较为昂贵。此外,它缺乏颜色信息,无法准确检测产生反射或透明物体。所采集的数据需要极高的计算能力,扫描速度也相对较慢。毫米波雷达同样是成熟技术的一类环境传感器。由于其大规模生产,雷达相对便宜,对周围车辆的检测精度高,并对某些材料敏感。同时,它响应迅速,操作简便,能够适应恶劣天气。然而,雷达的分辨率相对较低,无法判断识别物体的大小,也无法感知行人,无法准确建模所有周围障碍物。由于单一传感器的优缺点,多传感器融合系统的目的是提高信息冗余性和信息互补性,以全面保障自主驾驶的安全性。

前一段介绍了自主驾驶中每种传感器的优缺点以及多传感器融合的必要性。然而,要获得良好的融合结果,这些不同的传感器需要进行准确的校准。车辆上安装了多个传感器,传感器之间的坐标关系需要通过传感器校准来确定。因此,传感器校准是自动驾驶的基本要求。传感器校准可以分为两部分:内参校准和外参校准。内参确定了传感器的内部映射关系。例如,摄像头的内参通过焦距和镜头畸变进行校准。IMU的内参通过陀螺仪和加速度计的零偏、比例因子和安装误差进行校准。LiDAR的内参则是内部激光发射器坐标与LiDAR坐标设备之间的转换关系。外参则确定了传感器与外部坐标系统之间的转换关系,包括6个自由度的旋转和位移参数。

在自主驾驶的研究和开发中,传感器之间外部参数的校准是一个常见的问题。不同传感器之间校准的最大挑战在于如何最佳地测量,因为所获得的数据类型各不相同。因此,由于传感器配对的不同,最小化校准误差的目标函数也会不同。外部校准方法通常可以分为无目标和有目标两类。前者是在自然环境中进行,约束条件较少,不需要特殊的目标;后者则需要一个特殊的控制场地,并具有真实的目标。

目前,已经有一些与传感器校准相关的开源项目,例如Kalibr、Autoware等,还有一些特定类型的校准开源项目,如用于激光雷达和IMU校准的lidar align。OpenCV也提供了一些校准工具。然而,目前尚无适用于自主驾驶不同应用场景的完整校准工具箱。因此,我们将基于之前的校准研究和项目经验,将多种自主驾驶的校准工具整合为一个校准工具箱。

本工作的贡献如下:

  1. 我们提出了OpenCalib,这是一个用于自主驾驶的多传感器校准工具箱。该工具箱可以用于不同的校准场景,包括手动校准工具、自动校准工具、工厂校准工具和在线校准工具。

  2. 我们在工具箱中提出了多种新颖的校准算法,例如基于道路场景的各种自动校准方法。对于工具箱中的工厂校准,我们提出了对多种校准板类型更稳健的识别算法,校准板识别程序消除了对OpenCV库的依赖。

  3. 为了基准测试校准性能,我们引入了基于Carla的合成数据集,在该数据集中我们可以获得校准结果的真实值。未来,我们将进一步开源校准基准数据集。

  4. 我们在GitHub上开源了工具箱代码,以造福社区。开源代码为v0.1版本,我们将继续在未来版本中引入更多先进的校准算法。


2.相关工作

研究人员提出了许多方法来解决多模态传感器标定的问题。根据观察到的场景,这些标定方法大致分为基于目标的方法和无目标的方法(有和没有人工目标)。根据人类交互的程度,进一步分为手动和自动方法。此外,研究人员还提出了一些在线标定方法,主要是基于运动估计的运动基础方法和基于深度学习的学习基础方法。

A. 基于目标的方法
基于目标的标定方法在传感器标定过程中被广泛使用。基于目标的方法通常需要手动标定目标,例如棋盘格、多边形板,这两种传感器模式都可以轻松检测。此外,基于目标的方法可以利用有关目标的先验知识,从而增强标定结果。基于目标的方法通常比无目标的方法更精确。传感器的内部标定通常采用目标方法。常用的相机内部标定方法是张氏方法[4],使用棋盘格。除了棋盘格图案,还有常见的圆形网格[5]用于标定相机内部参数。一些LiDAR的内部标定方法通过箱体[6]或平面墙壁[7]进行。多个传感器之间的外部标定通常通过基于目标的方法进行,例如工厂标定和标定室。张等[8]基于棋盘格求解外部参数,并通过最小化激光点到棋盘平面的重投影误差进行优化。严等[9]提出了一种基于棋盘格和四个圆孔的目标联合标定方法。王等[10]通过金属面板进行雷达与相机的标定。Perˇsi´c等[11]提出了一种适合LiDAR和雷达的互补标定目标设计。

B. 无目标方法
在某些情况下,基于目标的方法并不实用,因此发展出了无目标方法。无目标方法比有目标方法更为方便,因为不需要特定的目标。这些方法利用环境特征来匹配传感器数据中的对应关系。根据不同的信息提取方法,多传感器在线标定的研究方向可以分为三种方法:边缘配准 [12]、互信息 [13] 和分割 [14],[15]。Barazzetti 等 [16] 仅使用自然场景进行相机内部标定。Levinson 等 [12] 提出了一种通过对齐环境中物体的边缘特征进行在线外部标定的方法。一些方法利用道路特征来实现多传感器的自动标定。Ma 等 [15] 通过路面场景中的线特征来标定 LiDAR 和相机的外部参数。Wei 等 [17] 使用道路场景中的路面特征来标定多个 LiDAR 的外部参数。Gong 等 [18] 提出了一种在城市和室内环境中常见的三棱柱目标的方法。Pandey 等 [19] 使用 LiDAR 测量的反射强度和相机的强度值进行外部标定。同样,Taylor 等 [20] 通过归一化互信息和最大化图像与 LiDAR 点的梯度相关性来进行 LiDAR-相机标定。

C. 基于运动的方法
基于运动的方法将传感器的外部标定视为一个手眼标定问题 [21]。该方法不需要传感器之间的视野重叠,通常对初始值具有更好的鲁棒性,但该方法的准确性较低。只要传感器具有里程计信息,问题就可以转化为求解一个齐次线性方程组的问题 [22]。该问题有不同形式的解法,如四元数形式 [23]、双四元数形式 [24] 以及螺旋运动和螺旋轴形式 [25]。不同形式的解法对应于相同的方法,但与只能获取旋转标定的其他形式的解法相比,双四元数形式还可以额外获得平移标定 [26]。然而,这些方法并没有充分考虑测量的不确定性,导致标定精度容易受到传感器噪声的影响。Dornaika 等 [27] 将旋转和平移统一到一个非线性优化框架中。Strobl 等 [21] 引入了欧几里得群,考虑了旋转和平移的相对误差。最近的工作,如 Huang 等 [28],将高斯-赫尔默特模型应用于运动约束的解法,同时优化传感器的相对运动估计和外部参数,使其对传感器噪声和外部参数的初始值具有很强的鲁棒性。
时间标定也是基于运动方法的重要组成部分 [29]。一般来说,时间标定有三种方法,包括硬件同步、带双向通信的软件同步和带单向通信的软件同步。我们的时间标定属于第三种方法,主要通过两种方式完成:利用每个传感器的里程计数据,通过优化解法获得时间标定,或者通过数据相关性获得标定结果。Paul 等 [30] 提出了使用批量、连续时间、最大似然估计确定传感器之间固定时间偏移的统一方法。Qin 等 [31] 提出了一种新的 IMU 和相机时间标定算法。与其他通过将速度和角速度乘以时间差来补偿相机姿态或 IMU 姿态的算法不同,该算法假设特征点在短时间内以恒定速度在图像平面上移动,延迟了 IMU 和相机之间的时间,将其转换为图像平面上特征位置的延迟,从而简化了残差函数。Qiu 等 [32] 通过运动相关分析提出了一种新的时间标定方法。

D. 基于学习的方法
近年来,深度学习网络在处理二维和三维计算机视觉任务(如定位、物体检测和分割)方面显示出了有效性。也有一些研究将深度学习应用于传感器标定任务,尤其是适应相机和 LiDAR 的标定问题。Schneider 等 [33] 提出了首个深度卷积神经网络 RegNet,用于 LiDAR-相机标定,直接推断外部参数,通过基于监督网络的回归来获得标定参数。为了进一步引入空间信息并消除内参的影响,Iyer 等 [34] 提出了几何监督网络 CalibNet,通过减少密集光度误差和密集点云距离误差来进行 LiDAR-相机标定。RGGNet [35] 考虑了黎曼几何,并利用深度生成模型学习 LiDAR-相机标定的隐式容忍模型。相比之下,针对内参标定问题的基于学习的方法则少得多。DeepCalib [36] 提出了一种基于 CNN 的方法,用于广视场相机的内参标定,并自动生成大规模内参数据集。由于相机内参标定问题的空间关系不够直观,以及对高精度的要求,基于学习的方法显示出的优势较少。除了用于传感器标定的端到端深度学习网络外,相关视觉任务中的一些工作可以作为标定过程的关键部分进行适应,例如消失点检测 [37]、车辆朝向预测 [38] 和相机姿态估计 [39]–[43]。尽管基于学习的方法在模型训练后更有效地利用深度学习的优势进行空间特征提取和匹配,而无需人工干预,但这些方法在某些传感器的标定,尤其是相机和 LiDAR 的标定中受到限制。与非学习方法相比,大多数基于学习的方法稳定性和精度较低,而精度在标定任务中至关重要。因此,通常情况下,深度网络不常用于多传感器标定问题。


3. 方法论

在本节中,我们介绍我们的标定工具箱的细节,包括手动标定工具、自动标定工具、工厂标定工具和在线标定工具。

A. 手动无目标标定工具

手动标定,又称为手动校准,是自主车辆最简单的一种标定方法。尽管与其他方法相比,原理和完成过程相当简单,但如果用户在这些方法上花费足够的时间,仍然可以获得高准确性和可靠性的标定结果。早期的手动标定方法依赖于类似目标的棋盘或普通盒子,标定过程通常在定制的标定室内进行。然而,这种复杂的设置对于小型自主驾驶公司和个人用户而言成本较高。

因此,我们的标定工具箱为用户提供了四种手动标定工具,用于在无目标和任意道路场景中进行自主车辆的标定。显然,具有强烈且易于识别特征(如树木和交通标志)的道路场景将导致更好的标定结果。外部参数可以在图 1 中左侧的用户友好控制面板上进行调整,或使用表 I 和表 II 中显示的键盘作为控制输入来实现标定,经过良好标定的场景示例见图 1。以下部分将详细介绍这四种标定工具。

1) LiDAR 与相机的标定:整个标定过程是通过调整内参和外参,将 3D LiDAR 点云与道路场景中的图像对齐。3D 点云表示为 p L i = ( X i , Y i , Z i ) T ∈ R 3 p_L^i = (X_i, Y_i, Z_i)^T \in R^3 pLi=(Xi,Yi,Zi)TR3,在 LiDAR 坐标系中,然后该点可以根据以下公式转换到相机坐标系 p C i = ( X c , Y c , Z c ) T ∈ R 3 p_C^i = (X_c, Y_c, Z_c)^T \in R^3 pCi=(Xc,Yc,Zc)TR3
p C i = R ⋅ p L i + t , (1) p_C^i = R \cdot p_L^i + t, \tag{1} pCi=RpLi+t,(1)
其中 R R R 表示旋转参数, t t t 表示平移参数,两者共同构成外部参数。接下来, p C i p_C^i pCi 通过投影函数投影到图像平面上:
K : R 3 → R 2 , q i = K ( p C i ) . (2) K: R^3 \rightarrow R^2, \quad q_i = K(p_C^i). \tag{2} K:R3R2,qi=K(pCi).(2)
K K K 是相机的内参,由相机特性(如焦距和镜头畸变)定义,并通过张的算法进行标定 [4]。除了这些参数外,调整的更新步骤和点的大小也可以在面板上进行调节。值得一提的是,IntensityColor 按钮可以将显示模式更改为强度图显示模式,而 OverlapFilter 按钮则用于消除深度为 0.4m 内的重叠 LiDAR 点。

在这里插入图片描述
2) LiDAR 与 LiDAR 的标定:该标定过程旨在通过仅调整外部参数来实现源点云与目标点云之间的 3D 点云配准。源点云表示为 p S i = ( X i , Y i , Z i ) T ∈ R 3 p_S^i = (X_i, Y_i, Z_i)^T \in R^3 pSi=(Xi,Yi,Zi)TR3,而目标点云表示为 p T i = ( X i , Y i , Z i ) T ∈ R 3 p_T^i = (X_i, Y_i, Z_i)^T \in R^3 pTi=(Xi,Yi,Zi)TR3。那么,两者之间的刚性变换可以表示为:

p S i = R ⋅ p T i + t (3) p_S^i = R \cdot p_T^i + t \tag{3} pSi=RpTi+t(3)

其中 R R R 代表旋转矩阵, t t t 代表平移向量。这种方法通过调整外部参数,使得源点云与目标点云在空间中对齐,从而实现有效的点云注册。
在这里插入图片描述
3) 雷达与 LiDAR 的标定:该标定过程与 LiDAR 到 LiDAR 的标定几乎相同,但它是针对 2D 雷达点云和 3D LiDAR 点云之间的配准。因此,调节的参数会减少,旋转矩阵 ( R ) 和平移向量 ( t ) 的自由度会减少一个。
在这里插入图片描述

4) 雷达与相机的标定:在雷达与相机的标定中,由于雷达是一个二维设备,我们在安装过程中尽量保持其与地面平行。对于相机,我们需要找到其与地面对应的单应性矩阵。然后,我们在图像和鸟瞰图上可视化它,当两幅图像上的对齐结果显示一致时,我们可以认为标定完成。图 4 显示了如何计算相机与地面之间的单应性矩阵,在左侧和右侧车道中选择两个点。图 5 显示了雷达在图像和鸟瞰图中的投影结果,鸟瞰图中的平行线表示车道线的方向。
在这里插入图片描述
在这里插入图片描述

B. 自动目标标定工具

1) 相机标定:行业中常用的相机标定方法是 Zhang 方法。Zhang 方法通过在不同姿态下放置的标定板提取棋盘格的角点,并计算相机的内参和畸变参数。在标定相机的内参时,通常使用针孔模型,但针孔模型只是相机投影过程的简化模型。实际相机镜头组更复杂,没有绝对的光学中心点。由于相机内部结构复杂,缺乏有效的定量评估方法来评估相机的内参标定。

由于每个相机镜头的畸变程度不同,通过相机标定可以纠正镜头畸变,从而生成矫正图像。矫正图像对后续感知或与其他传感器的联合标定至关重要。因此,有必要开发一种畸变的定量评估方法,以确保畸变标定的准确性。我们开发了一种基于 Tang 方法的相机畸变定量评估程序。这种方法是一种易于实施的自动化程序,用于执行相机畸变评估。

用于畸变评估的目标由渔线和半透明纸组成。畸变参数评估流程图如图 6 所示。首先,相机用来捕捉目标的图像,目标填满整个图像。然后,使用相机标定参数对该图像进行去畸变处理,以获得矫正图像。接着,线段检测算法使用 Canny 描述符提取矫正图像中的直线段。由于使用了 NMS(非极大值抑制),线段可能会不连续,因此采用线性插值方法来获得连续的直线。经过高斯采样,获得许多线性采样点。最后,采用最小二乘法得到拟合的直线。

根据公式 (4) 和公式 (5),可以获得采样点到拟合直线的均方根距离和最大误差距离。回归线可以表示为:

α ⋅ x + β ⋅ y − γ = 0 \alpha \cdot x + \beta \cdot y - \gamma = 0 αx+βyγ=0

假设给定 L L L 条直线:

S = ∑ i = 1 L ∑ i = 1 N l ∣ S l i ∣ 2 = ∑ i = 1 L ∑ i = 1 N l ( α l ⋅ x l i + β l ⋅ y l i − γ l ) 2 ((4)) S = \sum_{i=1}^{L} \sum_{i=1}^{N_l} |S_{l_i}|^2 = \sum_{i=1}^{L} \sum_{i=1}^{N_l} (\alpha_l \cdot x_{l_i} + \beta_l \cdot y_{l_i} - \gamma_l)^2 \tag{(4)} S=i=1Li=1NlSli2=i=1Li=1Nl(αlxli+βlyliγl)2((4))

d m a x = 1 L ∑ l = 1 L ( ∣ m a x i S l i ∣ − ∣ m i n i S l i ∣ ) 2 ((5)) d_{max} = \sqrt{\frac{1}{L} \sum_{l=1}^{L} (|max_i S_{l_i}| - |min_i S_{l_i}|)^2} \tag{(5)} dmax=L1l=1L(maxiSliminiSli)2 ((5))

均方根距离和最大距离是评估畸变参数质量的测量指标。
在这里插入图片描述
2) LiDAR 与相机的标定:基于目标的 LiDAR 和相机标定方法依赖于观察放置在传感器系统前的人工标定目标,两个传感器同时获取特征点的位置。对于 LiDAR 和相机的标定,现有方法通常是先标定相机的内参,然后再标定 LiDAR 和相机的外参。如果在第一阶段相机的内参没有正确标定,则很难准确标定 LiDAR 和相机之间的外参。为了解决现有方法中相机内参不准确对 LiDAR 到相机的外参的影响,我们提出了一种联合标定方法。如果您想了解具体细节,请参阅我们的先前工作。

我们设计了一种新型的标定板图案,如图 7 所示,其中包含用于标定相机内参的棋盘格以及用于定位 LiDAR 点云的多个圆形孔。我们首先通过 Zhang 方法标定相机的初始内参和板-相机的初始外参。然后,根据这些参数和标定板的尺寸,计算出图像上 2D 圆心的坐标。通过提取 LiDAR 中圆心的位置信息,我们可以将圆心的 3D 点投影到图像平面上,使用 LiDAR-相机的标定参数。计算得到的 2D 点和投影的 2D 点形成多个 2D 点对。我们使用这些点对之间的欧几里得距离来细化标定参数。同时,棋盘角点的 3D-2D 反投影约束被添加到优化过程中。
在这里插入图片描述

整个标定过程的目的是实现 LiDAR 点云和图像之间的更好对齐,并满足棋盘角点约束,这也是一个重要的评估标准。我们标定板上的棋盘角点数量远大于圆形孔的数量。因此,为了平衡两个损失函数的影响,LiDAR-相机对齐误差的权重大于板-相机对齐误差的权重。总之,我们最小化以下目标函数:

J s u m = α J b o a r d + β J l i d a r ((6)) J_{sum} = \alpha J_{board} + \beta J_{lidar} \tag{(6)} Jsum=αJboard+βJlidar((6))

其中 J b o a r d J_{board} Jboard 代表标定板的棋盘角点反投影误差, J l i d a r J_{lidar} Jlidar代表标定板的圆心反投影误差。在我们的实验中, α \alpha α 设置为 1, β \beta β设置为 60。 J b o a r d J_{board} Jboard J l i d a r J_{lidar} Jlidar 可以通过以下公式计算:

J b o a r d = ∑ ( u , v ) ∈ P B ( ∣ ∣ u − u d e t ∣ ∣ 2 + ∣ ∣ v − v d e t ∣ ∣ 2 ) ((7)) J_{board} = \sum_{(u,v) \in P_B} (||u - u_{det}||^2 + ||v - v_{det}||^2) \tag{(7)} Jboard=(u,v)PB(∣∣uudet2+∣∣vvdet2)((7))

其中 ((u, v)) 表示 (P_B) 投影的像素坐标点,((u_{det}, v_{det})) 是实际检测到的像素点。

J l i d a r = ∑ ( u , v ) ∈ P L ( ∣ ∣ u − u d e t ∣ ∣ 2 + ∣ ∣ v − v d e t ∣ ∣ 2 ) ((8)) J_{lidar} = \sum_{(u,v) \in P_L} (||u - u_{det}||^2 + ||v - v_{det}||^2) \tag{(8)} Jlidar=(u,v)PL(∣∣uudet2+∣∣vvdet2)((8))

其中 ((u, v)) 表示 (P_L) 投影的像素坐标点,((u_{det}, v_{det})) 是实际计算得到的像素点。

C. 自动无目标标定工具

1) IMU 方位标定:IMU 方位标定的目的是修正 IMU 与车辆之间前向安装方向的误差。因此,我们仅校准 IMU 的偏航角偏移,以对齐方向,记为 γ o f f s e t \gamma_{offset} γoffset。我们从行驶路线中获取车辆的行驶方向,每个时间戳的方向记为 γ g d \gamma_{gd} γgd。估计的行驶方向与测得的 IMU 偏航角 γ I M U \gamma_{IMU} γIMU 之间的偏差就是标定结果。

我们应用 B 样条方法对基于传感器定位数据的行驶路线进行平滑。此外,并非一趟行驶中的所有数据都被使用,只有直线行驶路线被选出用于后续标定。通过移除行驶方向快速变化的数据,例如掉头,我们可以获得实时真实偏航角的精确近似。标定公式可以描述为:

γ o f f s e t = 1 ∣ S l ∣ ∑ l ∈ S l ( γ l g d − γ l I M U ) ((9)) \gamma_{offset} = \frac{1}{|S_l|} \sum_{l \in S_l} (\gamma_{l_{gd}} - \gamma_{l_{IMU}}) \tag{(9)} γoffset=Sl1lSl(γlgdγlIMU)((9))

其中 S l S_l Sl 是直线路径的集合。当然,为了提高标定的准确性,我们建议可以直接记录直线数据进行标定,如图 8 所示。

在这里插入图片描述
2) LiDAR 与相机的标定:LiDAR 和相机的准确标定是自动驾驶中最常见的标定之一。基于单目视觉的感知系统以较低的成本实现了令人满意的性能,但未能提供可靠的 3D 几何信息。相机与 LiDAR 的融合感知旨在提高性能和可靠性。相机和 LiDAR 融合的前提和假设是相机与 LiDAR 之间的准确标定,包括相机的内参以及相机与 LiDAR 的外参。

在 LiDAR 和相机准确标定后,由于车辆的长期运动和温度等其他因素的影响,标定参数会逐渐变得不准确。由于感知融合算法对标定参数的准确性非常敏感,这可能严重降低感知融合算法的性能和可靠性。在这种情况下,通过标定室或手动进行重新标定既繁琐又不切实际,因此我们开发了一种工具,能够在道路场景中自动标定 LiDAR 和相机。这种方法的具体细节可以在我们的先前工作中找到。

该工作提出了一种用于 LiDAR 和相机在常见道路场景中外参标定的方法,该方法完全自动化,并且效率和准确性相对较高。
在这里插入图片描述

首先,通过 LiDAR 和相机收集一组道路场景数据,然后从图像和点云中分别提取线性特征,例如车道线和道路标志。如图 9 所示,我们使用 BiSeNet-V2 提取图像中的车道线和道路标杆,并通过强度和几何方法从点云中提取。随后,设计一个成本函数来细化初始外部标定参数,并确保误差在可接受范围内。来自标杆的像素 (Q_{pole}) 和来自车道的像素 Q l a n e Q_{lane} Qlane 可以直接从类别标签“pole”和“road lane”中获得。结合分割结果,我们可以获得在像素坐标上定义的两个二进制掩模 M l i n e : R 2 → { 0 , 1 } M_{line}: R^2 \rightarrow \{0, 1\} Mline:R2{0,1},其定义如下:

M l i n e ( q ) : = { 1 if  q ∈ Q l i n e 0 otherwise ((10)) M_{line}(q) := \begin{cases} 1 & \text{if } q \in Q_{line} \\ 0 & \text{otherwise} \end{cases} \tag{(10)} Mline(q):={10if qQlineotherwise((10))

在从图像和点云中提取线性特征后,我们提出了几个成本函数来衡量给定外参 ( r , t ) (r, t) (r,t) 时图像与点云之间的相关性。与[14]类似,我们对掩模 M l i n e M_{line} Mline 应用逆距离变换(IDT),以避免在后续优化中出现重复的局部极大值。得到的高度图 H l i n e ,  line  ∈ { p o l e , l a n e } H_{line}, \text{ line } \in \{pole, lane\} Hline, line {pole,lane} 定义如下:

H l i n e ( q ) : = { max ⁡ s ∈ R 2 ∖ Q l i n e γ 0 ∥ q − s ∥ 1 if  q ∈ Q l i n e 0 if  q ∈ R 2 ∖ Q l i n e ((11)) H_{line}(q) := \begin{cases} \max_{s \in R^2 \setminus Q_{line}} \gamma_0^{\|q - s\|_1} & \text{if } q \in Q_{line} \\ 0 & \text{if } q \in R^2 \setminus Q_{line} \end{cases} \tag{(11)} Hline(q):={maxsR2Qlineγ0qs10if qQlineif qR2Qline((11))

接下来,我们提出投影成本函数 J P r o j : ( r , t ) → R J_{Proj}: (r, t) \rightarrow R JProj:(r,t)R,它表示平面与道路标杆的投影像素与图像中对应掩模之间的一致性。 J P r o j J_{Proj} JProj 定义为:

J p r o j = tanh ⁡ ( τ 1 ∑ line ∈ { p o l e , l a n e } 1 ∣ P L l i n e ∣ ∑ p ∈ P L l i n e H l i n e ∘ K ( R ( r ) p + t ) ) ((12)) J_{proj} = \tanh\left(\tau_1 \sum_{\text{line} \in \{pole, lane\}} \frac{1}{|P_{L_{line}}|} \sum_{p \in P_{L_{line}}} H_{line} \circ K(R(r)p + t)\right) \tag{(12)} Jproj=tanh τ1line{pole,lane}PLline1pPLlineHlineK(R(r)p+t) ((12))

其中,符号 ∘ \circ 表示通过投影像素位置获得高度值, ∣ P L l i n e ∣ |P_{L_{line}}| PLline P L l i n e P_{L_{line}} PLline 中的点数,用于平衡标杆和车道之间的成本。这个成本函数越大,两个数据域的语义特征匹配得越好。图 10 显示了掩模和图像的标定投影结果。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值