点击下方卡片,关注“自动驾驶之心”公众号
ADAS巨卷干货,即可获取
今天自动驾驶之心很荣幸邀请到石头,为大家分享ICRA 2023最新的激光雷达-相机的联合标定方法,可同时标定内参和外参。如果您有相关工作需要分享,请在文末联系我们!
>>点击进入→自动驾驶之心【多传感器融合】技术交流群
后台回复【相机标定】获取超详细的单目双目相机模型介绍、内外参标定算法原理视频!
基于传感器的环境感知,对于自动驾驶系统是关键的一步,其中多传感器之间精确标定起着关键作用。对于激光雷达和相机标定,现存的方法通常是先标定相机内参,然后再标定激光雷达和相机的外参。如果第一阶段相机的内参标定不够准确,也就不能准确的标定激光雷达和相机的外参。由于相机复杂的内部结构和相机内参标定缺乏有效的定量评估方法,在实际标定中,由于相机内参的微小误差,往往会降低外参数标定的精度。为此,我们提出了一种新颖的基于目标的关于相机内参和激光雷达-相机外参联合标定的方法。首先,我们设计了一种新型的标定图案,在棋盘周围添加4个圆孔以定位激光雷达姿态。随后,在棋盘和圆孔特征重投影约束下定义了一个成本函数,以解决相机内参、畸变系数、激光雷达和相机的外参。最后,在实际环境和模拟环境中进行了定量和定性实验,结果表明所提出的方法能够能够实现准确度和鲁棒性。
代码链接:https://github.com/OpenCalib/JointCalib
这里也推荐『自动驾驶之心知识星球』,内部近期分享了一作『闫国行』老师本人的论文解读视频,欢迎关注!
在工业和学术领域,自动驾驶越来越受关注。安全可靠驾驶依赖于传感器精确的环境感知系统。然而,真实世界中各种情景,单个传感器不能保证其可靠性。为了确保自动驾驶车辆在变化环境中运行,多模型互补传感器协作技术随之出现,它可以提供足够的环境信息,从而有助于更可靠的数据融合。在众多的传感器数据融合方法中,激光雷达和相机的组合是驾驶环境感知最常用的传感器对之一。激光雷达可以提供三维点云数据,其中包括精确的深度和反射强度信息,而相机可以捕捉场景的丰富语义信息。相机和激光雷达的结合为克服每个传感器的缺陷提供了可行性。融合这两种异构传感器的主要挑战是找到精确的相机内参和通过执行外参找到传感器坐标系之间的刚体变换 [1]。研究者为提高标定结果的准确性和有效性做出了大量努力,比如:棋盘[2]–[6]、球形目标[7]、格雷码[8]、多平面立体目标[9]、语义对象[10]等特定目标。
图一 图1 通过针孔模型标定相机内参的过程然而,现有的标定方法存在各种问题。第一个问题就是相机内参的可靠性,因为大多数方法都是假设相机内参已知或者通过张氏标定[11]来计算求得。针孔模型通常用来标定相机内参,但实际的相机投影模型和针孔模型并不完全对应[12]。实际的相机镜头组更复杂,并没有一个绝对的光学中心点[13]。如图1所示,整个标定过程是近似测量。同时,由于相机结构缺陷和非线性函数优化中的不确定性,得到的解通常是次优的。因此,外参标定准确度也将受到影响。我们所做的相机内参标定一致性实验也证明了相机内参标定的波动性。
图二 图2 一种新颖的lidar-camera标定板图案本文我们提出了一种新颖的联合标定方法,该方法克服了由于相机内参不够精确而引起lidar-camera外参标定不准确的问题。不像现有标定方法,仅仅估计两个传感器帧之间的旋转和平移关系,我们所提出的方法输出包含相机内参、畸变系数和lidar-camera的外参。
首先,如图2所示,我们设计了一种新颖的标定板图案,其中棋盘格用于标定相机内参,几个圆形孔为了定位激光雷达点云。我们首先用张氏标定方法[11]来标定相机初始内参和标定板-相机的初始外参。然后,图像上的圆心点可由这些参数和标定板尺寸计算求得。通过提取激光雷达中圆形孔中心的位置,我们可以通过lidar-camera外参来将三维的圆心点坐标投影到图像平面上。计算得到的2D点和投影得到的2D点形成多个2D点对。我们使用这些点对之间的欧氏距离来细化标定参数。同时,在优化过程中加入了棋盘角点3D点到2D点重投影的约束。这项工作的贡献如下:
(1)我们提出了一种基于目标的相机内参和lidar-camera外参的联合标定方法。
(2)我们设计了一个新颖的标定板图案,并提出了一种基于该标定板提取激光雷达和相机的3D-2D对应点的方法。
(3)通过最小化标定板上圆心和棋盘角的3D-2D点对之间的重投影误差,将lidar-camera的标定公式化为非线性优化函数。
(4)所提出的方法在我们的模拟数据集和真实世界数据集上显示出很好的性能;同时,相关的数据集和代码已经开源,以造福社区。
研究人员提出了许多方法来解决多模型传感器内参和外参标定问题。内参标定估计传感器的操作参数,通常在外参标定前执行。通常,相机内参标定侧重于估计焦距、畸变系数和偏斜度。Escalera等人[14]通过检测棋盘格中角点并从中提取水平和垂直线集,找到相机的内参和外参。Bogdan等人[15]通过基于学习的方法估计焦距和畸变系数,并提出了三种不同的网络结构。Jin等人[16]用长方体来标定深度相机的内参,然后根据参考长方体距离误差和角度误差来优化目标函数。Anet等人[17]通过构建基于Charuco板的特征点提取立方体结构,应用Charuco棋盘克服棋盘和ArUco棋盘的偏差,该立方体结构可用于估计透视投影矩阵并求解内参。Lopez等人[18]通过训练一个卷积神经网络来对单张图片进行处理来预测相机的内参和外参。相比之下,外参标定估计了不同传感器帧之间的刚体变换[19]。根据辅助设备的要求,外参标定可分为两类:基于目标和无目标程序。
基于目标外参标定方法在传感器标定过程中被广泛使用。研究者已经设计了各种各样的标定目标来满足不同传感器的特性。Zhang等人[20]基于棋盘格求解参数,并通过最小化激光点到棋盘平面的重投影误差来细化它们。该方法易于实现,但不能直接获得最优解。Geiger等人[21]提出了一种方法通过从点云和图像中提取角点来标定激光雷达和相机,,然后分别通过最大化法向量的对齐和最小化点到平面的距离来估计旋转和平移关系。最后,基于梯度下降进行精细配准。Huang等人[22]通过从点云和图像平面提取目标顶点来执行外参标定,并通过公式化N点透视位姿求解问题来优化结果,该问题最小化了相应角点的欧几里德距离。联合交叉(IoU)也用于进一步细化。Zhou等人[23]通过计算激光雷达和相机帧中的直线特征的对应关系来寻求外参,并通过非线性优化问题来优化初始解。
无目标方法通常利用来自于场景自然环境特征(比如线),通过求解几何约束来得出外参。Levinson等人[24]提出了通过测量边缘对准的在线外参标定方法。分别通过深度不连续和逆距离变换(IDT)提取点云和图像中的边缘,然后最小化激光雷达边缘点与图像边缘之间的重投影误差,以获得最优解。Ma等人[25]提取道路场景中的线特征,通过分割和线拟合,提取三个不在同一点相交的3D-2D线对来对相机到距离传感器进行标定,从而形成提供初始校准的透视三线问题,并基于6-DoF参数的随机搜索算法对其进行细化。Pandey等人[26]使用激光雷达测量的反射强度和来自相机的强度值,基于相互信息最大化目标函数来得到最优外参。类似的是,Taylor等人[27]通过归一化交互信息和最大化图像和激光l雷达点云的梯度相关性来进行激光雷达和相机标定。基于目标的标定方法通过使用标定物来确保能够鲁棒且准确地提取的特征,从而避免了这一困难。然而,这两种方法在外参标定之前都单独求出了内参。与我们所讨论的相关研究工作相比,我们提供了一种同时输出内参和外参的联合标定的方法。
图三 图3 所述方法的不同阶段概述。首先,进行目标检测,然后通过棋盘标定板计算相机内参、棋盘标定板和相机的外参,以获得激光雷达和相机的3D-2D对应点。最后,进行非线性优化以获得最终标定参数。通过传感器坐标的相关性可以设置不准确的激光雷达和相机初始外参。这一部分介绍了我们方法的细节,包括标定目标设计、标定目标检测、标定数据收集和标定优化过程。图3显示了所提出方法的概述。
根据之前的介绍,在实践中,准确地标定相机内参并不容易。标定的目标是通过内参和外参来对齐激光雷达的点云和相机图像。只要点云和图像的配准精度越高,标定的内参和外参就可以认为越准确。所以我们设计了一个联合优化方程。联合优化的目的是增加激光雷达点云和图像配准精度。最终,我们需要设计一种新颖的标定板来实现内参和外参的联合优化。设计良好的标定目标应该满足以下特性:(i)所有相关的传感器都可检测到;(ii)提取用于定位的可检测特征。基于激光雷达和相机的工作原理,自从它们可以被检测到具有较高鲁棒性和准确性的时候,深度不连续(如点云边缘和图像中的角点)被广泛应用在特征标定。正如文献[28]所讨论的那样,圆形目标比矩形更易于检测,因为它们可以水平和垂直地与几次激光雷达扫描交互,而不会丢失边缘信息。如图2所示,我们标定目标的设计结合了几何和视觉特征两方面,它适合于激光雷达和相机模型中关键点的检测。我们把黑白棋盘格放中间,四周是4个圆形孔。一方面,孔洞可以利用激光雷达点云中的几何不连续性,另一方面,标定板的4个角也可以提供空间约束。图2也展示了具有特殊尺寸的标定板的详细信息。值得一提的是标定板图案在此设计基础上进行了进一步修改以使数据采集更加方便。
基于目标标定,第一步是在每个传感器帧中定位校准空间位置。相机返回目标的二维彩色图像,激光雷达传感器返回目标的3D位置信息。在这里,我们分别进行了对黑白棋盘格和圆孔的提取。现有很多技术从图像中检测棋盘格,例如使用流行的计算机视觉库。在本项工作中,我们用OpenCV库[29]进行棋盘格检测。对于激光雷达数据,不同于论文[30]中所提到的方法,我们通过生成点云掩膜来定位每个孔的中心,它具有与标定目标相同的几何结构。我们假设激光雷达传感器所扫描的初始点云数据表示为。首先,为了滤除异常值和移除周围环境的噪声,我们通过预设检测范围来分割感兴趣区域。然后,然后,通过带有方向约束的RANSAC平面拟合,将校准目标平面从中分割出来,分割后的数据表示为。之后,我们遵循该论文[24]中描述的网格搜索方法在激光雷达坐标系{L}中来发现和和最佳的匹配。在这里,我们聚焦于标定板平面相关联的旋转偏航角和x、y方向的位移,而不是搜寻6个自由度。
图四 图4 在标定板上精确提取圆心的过程图4说明了配准过程的原理,当实现完美配准时,落入圆孔的点将达到最少,因此每个孔中心的3D位置都位于激光雷达相机坐标系{L}中。与论文[30]中方法比较,我们的方法只需要三维点云的坐标,而不使用额外的强度和线束ID的信息,生成的掩膜固定孔之间的相对位置关系,这大大提高了圆心检测的鲁棒性和准确性。最后,每个标定板可以获得lidar坐标系中四个圆孔的中心点。
标定数据的采集过程类似于相机内参数据采集过程。如图11所示,为了确保标定精度,需要在图像中的每个区域收集棋盘格角点特征和圆孔特征。在实际应用中,可以将多个标定板同时放置在不同的姿态位置,这样我们就可以通过仅收集一帧数据来执行标定。与无标定目标方法相比,这种方法保证在所有图像区域点云和像素对齐,确保近距离特征对齐足够精确来保证远距离特征对齐的准确性。该解决方案主要用于标定间或生产线上标定。在标定板环境设置并固定后,可用于对大量的自动驾驶车辆进行lidar-camera内参和外参标定。
1)二维圆心点的计算: 从激光雷达中提取的三维圆中心点,我们需要在图像上得到相对应的二维点。通过标棋盘格角点,我们首先计算相机内参、畸变系数、标定板和相机的外参()。根据标定板的尺寸,我们得到每个标定板的4个圆心坐标点的集合{},代表标定板的坐标系。通过和变换后投影到相机图像平面上记点集合为。
在这里,代表旋转,可以通过角度轴进行参数化来表示为。用来表示平移。添加畸变系数之后,投影点实际位置是:
是相机畸变模型。提取的激光雷达点云中三维圆中心点和计算的图像上二维圆中心点形成多个3D-2D点对。
图五 图5 收集图像主要区域的点云和棋盘格数据2)目标: 通过之前的流程,获得标定板上圆心的多组3D-2D点对集合。标定的目标是通过内参和外参使得激光雷达点云和相机图像对齐。因此,为了点云和图像对齐,我们最小化下面的目标函数:
这里、代表激光雷达到相机的外参(旋转关系和平移关系)。是在联合标定前通过棋盘格计算得到圆中心的像素坐标。是在激光雷达坐标系中圆心的3D点坐标。
3)约束条件: 上述最小化就是一组约束。在确保激光雷达和图像对齐的同时,还需要棋盘格对相机内参的约束。棋盘格角点3D点集合在标定板的坐标系(记为{B})中。对于相机内参,约束列出如下:
在这里,表示投影的像素坐标点,是实际检测到的棋盘格角点。其余约束是,由标定板尺寸计算的圆心的2D位置在优化过程中需要保持不变。是标定板坐标系下圆心的点集合。
在这里,表示标定板到相机的外参(旋转关系和平移关系)。
4)非线性求解: 旋转矩阵使用九个向量来描述3个自由度的旋转,是冗余的。此外,旋转矩阵必须是行列式为1的正交矩阵。当估计或优化旋转矩阵时,这些约束增加了求解的难度。表示旋转矩阵的更好方法是使用轴角旋转向量。在我们实现过程中,提供了一个不准确的初始激光雷达和相机的外参作为初始条件,标定优化方程通过Ceres求解器[31]来求解。
本论文实验由两部分组成:在我们的无人驾驶汽车测试平台上进行的真实实验和基于Carla模拟器[32]进行仿真实验。结果表明,我们所提出的方法在精度和鲁棒性方面优于现有方法。
我们在真正的无人驾驶平台上进行了实验,图6显示了我们真实的实验设备。
图六 图6 我们传感器套件。顶部是禾赛64线机械激光雷达。前面是 Balser acA1920-40gc面阵相机,有不同的视场角分别是30°,60°,120°。1)相机内参标定一致性评估: 由于相机复杂的内部结构和数据获取的方式,在标定过程中,相机内参标定通常是不稳定的[12]。另一方面,相机内参不准确是因为实际相机投影过程和针孔模型不完全对应,并且等效相机光学中心点的位置在不同距离是不同的[13]。桶形失真通常发生在短焦距的相机上,枕形失真通常出现在长焦距的相机上[33]。为了评估相机内参标定不稳定性,我们设计了相机内参标定一致性实验。我们使用相机采集了6个均匀分布的棋盘格图像组,每组包含100帧。然后,我们随机从每组中选取25张用来相机内参标定,每组执行100次。我们获得了残差向量,其统计信息(例如平均值、方差)揭示了相机内参的波动性。这些结果如图7所示。
图七 图7 相机内参标定一致性评估。2)消融实验: 我们设计了一个消融实验,以更好地评估我们的方法,将我们的一阶段方法分成两个阶段。然后我们分别比较了标定板上圆心和棋盘格角点的3D到2D的重投影误差。我们进行了6组实验,每组实验分别用一段式和两段式两种方法进行标定,并比较了棋盘格和圆心的重投影误差。如表I所示,用我们的方法进行标定,一段式比两段式有较小的重投影误差。
表I 一阶段式和两阶段式标定平均重投影误差Checkboard Corners | Circles Center | |
---|---|---|
One-stage | 0.757 pixel | 1.104 pixel |
Two-stage | 0.546 pixel | 5.428 pixel |
3)定性结果:为了更好的可视化我们方法的性能,用我们方法标定得到的内参和外参将点云投影到图像平面。结果如图8所示,根据所提出方法来提取的标定参数能实现两种数据模态之间的完美对齐。图9显示了圆心重新投影在标定板上的效果。
图八 图8 在四种不同场景中的点云投影,投影点颜色由激光雷达强度表示 图九 图9 真实实验:在标定板上圆心重投影。黑色圆圈是激光雷达投影点,白色十字是计算的图像点。4)对比实验:论文[23]和论文[30]中的方法与我们的方法进行了比较,这两种方法都是用棋盘格作为标定目标。第一种方法[23]是通过最小化从LiDAR点到从图像估计的棋盘平面的距离来估计外参。第二种方法[30]通过标定板上的ArUco标记图案和圆心进行配准来估计外参。首先,我们花了很多努力在标定相机内参上面。如图10所示,图像中A框和B框显示失真效果良好。然而,由于相机焦距和光学中心的小误差,用论文[23]和[30]的两种方法求得的标定参数在某些地方仍然无法对齐点云和图像。对于这种情况,我们的方法可以调整内参以使点云和图像完美对齐。
图十 图10 通过文献30中的方法对激光雷达和相机外参标定我们还在仿真环境中用我们的方法进行了实验。我们可以在仿真环境中获得传感器标定的地面真值。在Carla模拟器[32]中,我们产生了3个标定数据组,在表II中我们定量比较了激光雷达相机外参标定的平均值与地面真值。图11也显示了圆心在标定板上的投影效果。结果表明,所提出的方法能够实现准确度和鲁棒性。
表II 定量评估的平移和旋转矩阵(m) | (m) | (m) | (°) | (°) | (°) | |
---|---|---|---|---|---|---|
GT | 0 | 0.595 | 2.5 | -90 | 0 | 90 |
Our | -0.001 | 0.5912 | 2.5079 | -90.002 | 0.011 | 90.004 |
本文提出了一个新颖的基于目标的相机内参和lidar-camera外参联合标定的方法。定性和定量的结果证明了我们方法的性能和有效性。代码已开源。
在真实环境中,由于点云的稀疏性,圆心的提取精度可能会降低。未来,我们期待使用车辆运动的多帧数据来增加点云的密度,从而提高圆心的提取精度,从而进一步提高标定性能。
Joint Camera Intrinsic and LiDAR-Camera Extrinsic Calibration
视频课程来了!
自动驾驶之心为大家汇集了毫米波雷达视觉融合、高精地图、BEV感知、传感器标定、传感器部署、自动驾驶协同感知、语义分割、自动驾驶仿真、L4感知、决策规划、轨迹预测等多个方向学习视频,欢迎大家自取(扫码进入学习)
(扫码学习最新视频)
国内首个自动驾驶学习社区
近1000人的交流社区,和20+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、Occpuancy、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!
【自动驾驶之心】全栈技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向;
添加汽车人助理微信邀请入群
备注:学校/公司+方向+昵称