MIAS-LCEC: 基于跨模态掩膜匹配的激光雷达-相机在线标定新算法,性能超越SoTA
同济大学MIAS Group近期发表的论文《Online, Target-Free LiDAR-Camera Extrinsic Calibration via Cross-Modal Mask Matching》提出了一个基于跨模态掩膜匹配的激光雷达-相机在线标定算法,性能上超越了现有的SoTA算法!目前,该工作的标定工具箱和数据集已公开。
详细信息如下:
项目官网:MIAS Group
论文链接:
Online, Target-Free LiDAR-Camera Extrinsic Calibration via Cross-Modal Mask Matching
工具箱项目链接:ZWhuang666/MIAS-LCEC (github.com)
演示视频:bilibili视频链接
数据集链接:[Google Drive ] [百度网盘]
1、引言
在自动驾驶系统中,激光雷达与相机的外参标定是实现多模态感知的关键一环。当前的标定方法主要是离线执行,不仅需要采集大量的数据,还依赖于特定的标定目标。在实际工作环境中,传感器系统可能因振荡、安装不稳等问题导致外参发生变化,现有的离线方法难以应对这些挑战,进而在实际应用中性能显著下降。针对这一问题,本文提出了一项基于跨模态掩膜匹配的激光雷达-相机外参在线标定算法(MIAS-LCEC)。该算法无需特定的标定目标和场景类型,仅需一对激光雷达点云和RGB图片即可完成高精度的外参标定,实现了场景无限制、随时可用的激光雷达-相机外参标定。在三个真实数据集上的全面评估表明:MIAS-LCEC在鲁棒性和精度方面均优于现有在线标定算法,并接近离线方法的效果。
本文还研发了一个图形化的多功能标定工具箱,支持在线标定以及手动标定,确保用户能够高效而精确地完成激光雷达-相机外参标定任务。此外,我们公开了三个专为激光雷达-相机外参标定设计的数据集,这些数据集包含多个极具挑战性的标定场景,并提供了精确的外参真值与相机内参,便于研究人员进行算法测试和验证。敬请关注我们的网站以获取更多信息和更新:https://mias.group/MIAS-LCEC。
2、算法详解
本文提出了一种全新的标定框架 MIAS-LCEC,如图 2所示。该框架充分利用了点云和相片中的语义信息,通过这些语义信息实现了鲁棒且高精度的跨模态特征关联。
MIAS-LCEC 首先使用虚拟相机对激光雷达的点云进行投影,生成点云反射率强度投影(LIP)图像。由于 LIP 图像与相机的 RGB 图像具有相同的数据维度和相似的纹理特征,此过程能够将 3D-2D 特征关联问题转化为 2D-2D 的特征配准问题。为了充分利用数据中的语义信息,LIP 图像和 RGB 图像会一同输入图像分割大模型 MobileSAM 进行图像分割,生成丰富的跨模态掩膜。本文设计的跨模态掩膜匹配模块(C3M)能够对这些复杂且存在巨大模态差异的掩膜进行高精度匹配,最终获得稠密的特征点匹配序列。这些特征点匹配序列将作为 PnP 问题的输入,用于求解系统的外参。
2.1 虚拟相机配置
以往的工作都只是将虚拟相机进行了一个简单的初始化,把它相对于激光雷达坐标系的初始位姿设置为:
L V T = ( ( 0 − 1 0 0 0 − 1 1 0 0 ) ⏟ L V R ( 0 0 0 ) ⏟ L V t 0 ⊤ 1 ) ∈ S E ( 3 ) , {^{V}_{L}\boldsymbol{T}} = \begin{pmatrix} \underbrace{ \begin{pmatrix} 0 & -1 & 0 \\ 0 & 0 & -1 \\ 1 & 0 & 0 \\ \end{pmatrix}}_{{^{V}_{L}\boldsymbol{R}}} & \underbrace { \begin{pmatrix} 0\\ 0\\ 0\\ \end{pmatrix} } _ { {^{V}_{L}\boldsymbol{t}} } \\ \boldsymbol{0}^\top & 1 \end{pmatrix} \in{SE(3)}, LVT= LVR 001−1000−10 0⊤LVt 000 1 ∈SE(3),
这种方法会使虚拟相机被限制在一个固定的位姿下,导致拍摄视野受到限制。为了充分发挥虚拟相机在点云投影中的能力,并获取更多可靠的特征,本文将虚拟相机视为一个可以动态调整的对象。算法通过设置一个迭代过程,使虚拟相机的位姿不断接近真实相机的位置。这个虚拟相机位姿迭代过程可以用公式表述为:
lim k → + ∞ V C T k = lim k → + ∞ ( L V T k ) − 1 L C T ≈ ( I 0 0 ⊤ 1 ) , \lim_{k \to +\infty}{^{C}_{V}\boldsymbol{T}_k}=\lim_{k \to +\infty}({^{V}_{L}\boldsymbol{T}_k})^{-1}{^{C}_{L}\boldsymbol{T}}\approx \begin{pmatrix} \boldsymbol{I} & \boldsymbol{0} \\ \boldsymbol{0}^\top & 1 \end{pmatrix}, k→+∞limVCTk=k→+∞lim(LVTk)−1LCT≈(I0⊤01),
其中,下标k代表第k次迭代, L V T k {_L^V}\boldsymbol{T}_k LVTk为此次迭代中虚拟相机相对于激光雷达的拍摄位姿, I \boldsymbol{I} I为单位阵。
2.2 掩膜的提取
近年来,随着大视觉模型(Large Vision Model,简称LVM)的兴起,感知任务的质量得到了显著提升。这些LVM不仅提供了更强大的视觉理解能力,而且在各种视觉任务中表现出色,如图像分类、目标检测、语义分割等。本文将图像分割领域的LVM,MobileSAM,作为跨模态掩膜的提取模块,旨在探索图像分割大模型在激光雷达-相机标定算法中的应用潜能。
为了能够实现特征点的关联,本文将MobileSAM的掩膜分割结果进行了角点提取。LIP图像和RGB图像中的掩膜所含的角点集合分别定义为 C V = { c 1 V , … , c m V } \mathcal{C}^V=\{c_1^V,\ldots,c_m^V\} CV={c1V,…,cmV}和 C C = { c 1 C , … , c m C } \mathcal{C}^C=\{c_1^C,\ldots,c_m^C\} CC={c1C,…,cmC}。每一个掩膜对应的实例由它的bbox(bounding box)决定,掩膜的位置即为bbox的中心 o V , C o^{V,C} oV,C,实例内部有 h V , C × w V , C h^{V,C}\times w^{V,C} hV,C×wV,C个像素。
2.3 跨模态掩膜匹配算法(C3M)
跨模态掩膜匹配算法(C3M)是MIAS-LCEC标定框架下的核心。它能够通过两阶段的分级匹配完成由区域特征到点特征的匹配。最终输出稠密的3D-2D的特征点关联结果。在第二阶段的匹配过程中,算法会基于第一阶段的稀疏匹配先验,计算仿射变换矩阵,并据此调整匹配策略。通过仿射变换矩阵,点云反射率强度投影图像中的掩膜能够被校正到与 RGB 图像中对应掩膜更接近的位置,从而在一定程度上减少因传感器安装位置差异对特征匹配产生的负面影响。在每个阶段,算法都会计算实例匹配代价矩阵 M I \boldsymbol{M}^I MI和角点匹配代价矩阵 M C \boldsymbol{M}^C MC。其中,实例匹配代价函数为:
M I ( x ) = 1 4 ( ∣ w C − w V ∣ w C + w V + ∣ h C − h V ∣ h C + h V + 2 ( 1 − exp ( − ∥ o ^ V − o C ∥ 2 h C + h V + w C + w V ) ) ) ∈ [ 0 , 1 ] , \begin{aligned} \boldsymbol{M}^I(\boldsymbol{x})=&\frac{1}{4}\Bigg(\frac{\left |w^C-w^V\right |}{w^C+w^V}+\frac{\left |h^C-h^V\right |}{h^C+h^V}+ \\ &2\bigg(1-\exp({-\frac{\left\|\hat{\boldsymbol{o}}^V-{\boldsymbol{o}}^C\right\|_2}{h^C+h^V+w^C+w^V}})\bigg)\Bigg)\in[0,1], \end{aligned} MI(x)=41(wC+wV wC−wV +hC+hV hC−hV +2(1−exp(−hC+hV+wC+wV o^V−oC 2)))∈[0,1],
掩膜中角点的匹配代价函数为:
M C ( y ) = ∥ ( c ^ V − o ^ V ) − ( c C − o C ) ∥ 2 ∥ ( c ^ V − o ^ V ) ∥ 2 + ∥ ( c C − o C ) ∥ 2 ∈ [ 0 , 1 ] , \boldsymbol{M}^C(\boldsymbol{y}) = \frac{\|( \hat{\boldsymbol{c}}^V - \hat{\boldsymbol{o}}^V ) - (\boldsymbol{c}^C - \boldsymbol{o}^C )\|_2}{\|(\hat{\boldsymbol{c}}^V - \hat{\boldsymbol{o}}^V)\|_2 + \| (\boldsymbol{c}^C - \boldsymbol{o}^C) \|_2}\in[0,1], MC(y)=∥(c^V−o^V)∥2+∥(cC−oC)∥2∥(c^V−o^V)−(cC−oC)∥2∈[0,1],
上面两式中的 o ^ V {\hat{o}}^V o^V和 c ^ V {\hat{c}}^V c^V分别为经过仿射变换矩阵 R A \boldsymbol{R}^A RA和 t A \boldsymbol{t}^A tA矫正过的掩膜中心坐标和角点坐标,它们和原始点 o V o^V oV和 c V c^V cV的关系为:
{ c ^ V = s R A c V + t A o ^ V = s R A o V + t A , \begin{equation} \begin{cases} \hat{\boldsymbol{c}}^V = s\boldsymbol{R}^A \boldsymbol{c}^V + \boldsymbol{t}^A\\ \hat{\boldsymbol{o}}^V = s\boldsymbol{R}^A \boldsymbol{o}^V + \boldsymbol{t}^A \end{cases}, \end{equation} {c^V=sRAcV+tAo^V=sRAoV+tA,
对于每个代价矩阵,本文选择同时满足矩阵中行和列最小值的元素对应的匹配对,作为最终的匹配结果。这是一种较为严格的匹配筛选策略,能够在第一阶段的匹配中获取较为可靠的掩膜匹配结果。
在第一阶段中, R A \boldsymbol{R}^A RA和 t A \boldsymbol{t}^A tA分别是单位阵和零向量。在第二阶段, R A \boldsymbol{R}^A RA和 t A \boldsymbol{t}^A tA会通过第一阶段的匹配结果估算得到。其中 R A \boldsymbol{R}^A RA为:
R A = ( cos θ − sin θ sin θ cos θ ) , \boldsymbol{R}^A = \begin{pmatrix} \cos{\theta} & -\sin{\theta} \\ \sin{\theta} & \cos{\theta} \end{pmatrix}, RA=(cosθsinθ−sinθcosθ),
上式中的 θ \theta θ应满足:
θ = 1 N ∑ i = 1 N ( arctan 1 y ⊤ ( c i V − o V ) 1 x ⊤ ( c i V − o V ) − arctan 1 y ⊤ ( c i C − o C ) 1 x ⊤ ( c i C − o C ) ) \begin{aligned} {\theta} = \frac{1}{N}\sum_{i=1}^{N}{\bigg(\arctan{\frac{\boldsymbol{1}_y^\top({{\boldsymbol{c}}}^V_i - {{\boldsymbol{o}}^V})}{\boldsymbol{1}_x^\top{({\boldsymbol{c}}}^V_i - {{\boldsymbol{o}}^V})}}} - \arctan{\frac{\boldsymbol{1}_y^\top({{\boldsymbol{c}}}^C_i - {{\boldsymbol{o}}^C})}{\boldsymbol{1}_x^\top({{\boldsymbol{c}}}^C_i - {{\boldsymbol{o}}^C})}}\bigg) \end{aligned} θ=N1i=1∑N(arctan1x⊤(ciV−oV)1y⊤(ciV−oV)−arctan1x⊤(ciC−oC)1y⊤(ciC−oC))
而 t A \boldsymbol{t}^A tA为:
t A = o C − s R A o V . \boldsymbol{t}^A = {{\boldsymbol{o}}^C} - s\boldsymbol{R}^A{{\boldsymbol{o}}^V}. tA=oC−sRAoV.
2.3构建PnP问题求解外参
C3M的跨模态掩膜匹配能够获取一系列特征点的匹配结果。在第k次迭代中,这些3D-2D特征点关联结果储存在两个集合内,它们分别是 P k = { p k , 1 , … , p k , N k } \mathcal{P}_k=\{p_{k,1},\ldots,p_{k,N_k}\} Pk={pk,1,…,pk,Nk}和 P k L = { p k , 1 L , … , p k , N k L } \mathcal{P}_k^L=\{p_{k,1}^L,\ldots,p_{k,N_k}^L\} PkL={pk,1L,…,pk,NkL}。本文通过最小化重投影误差来求解当次迭代下的激光雷达-相机系统的外参:
L C T ^ k = arg min L C T k , i 1 N k ∑ n = 1 N k ∥ K ( L C R k , i p k , n L + L C t k , i ) − p k , n ∥ 2 ⏟ ϵ k , {^{C}_{L}\hat{\boldsymbol{T}}_k} = \underset{^C_L{\boldsymbol{T}_{k,i}}}{\arg\min} \underbrace {\frac{1}{N_k} \sum_{n=1}^{N_k}{\left\|\boldsymbol{K}( {^{C}_{L}\boldsymbol{R}_{k,i}} \boldsymbol{p}_{k,n}^L + {^{C}_{L}\boldsymbol{t}_{k,i}} ) - {\boldsymbol{p}}_{k,n}\right\|_2}}_{\epsilon_k}, LCT^k=LCTk,iargminϵk Nk1n=1∑Nk K(LCRk,ipk,nL+LCtk,i)−pk,n 2,
在MIAS-LCEC框架下,会令 L V T k + 1 = L C T ^ k {_L^V}\boldsymbol{T}_{k+1}={_L^C}{\hat{\boldsymbol{T}}}_k LVTk+1=LCT^k, 即令下一次迭代中虚拟相机的拍摄位置等与当前迭代的外参估算结果。当 ϵ k + 1 > ϵ k \epsilon_{k+1}>\epsilon_k ϵk+1>ϵk时,终止迭代过程并取 L C T ^ k {_L^C}{\hat{\boldsymbol{T}}}_k LCT^k作为最终的标定结果 L C T ∗ {_L^C}\boldsymbol{T}^\ast LCT∗。
3、数据集介绍
本文公开了三个真实场景数据集:MIAS-LCEC-TF70(在线)、MIAS-LCEC-CB70(离线)和 MIAS-LCEC-TF360(在线)。我们使用了两款 Livox 雷达(Livox Mid-70 和 Livox Mid-360)以及一台 MindVision 工业相机进行数据采集。这些数据集涵盖了多种具有挑战性的标定场景,包含不同的天气条件和光照环境。数据集提供了精确的外参真值和相机内参,便于研究人员进行算法测试和验证。
4、实验结果
无论是在精度还是鲁棒性上,MIAS-LCEC的表现都超越了现有的SoTA算法。表 1展示了它与其他SoTA方法在MIAS-LCEC-TF70数据集上的标定精度对比结果。在角度误差上,MIAS-LCEC降低了30-93%,在位移误差上,MIAS-LCEC降低了39-99%。
如表 2所示,在 MIAS-LCEC-TF360 数据集上的实验结果表明,当激光雷达与相机的感知视野重合度较低时,MIAS-LCEC 的标定精度显著优于其他算法。由于 Livox Mid-360 和 MindVision 相机的视场角差异较大,导致它们的视野重合度较低,从而增加了标定难度。这种情况下,其他 SoTA 标定算法的表现不佳。然而,MIAS-LCEC 采用的虚拟相机与真实相机共享相同的内参,使得 LIP 图像和 RGB 图像之间的视野差异显著降低,从而大幅提升了标定精度,远超其他算法。
除此之外,我们还将MIAS-LCEC和目前的SoTA离线标定算法进行了对比。在MIAS-LCEC-CB70数据集上的实验结果表明:我们的标定结果在重投影误差上与离线方法的标定结果相近。
值得注意的是,以上三个实验结果均是在将虚拟相机的迭代次数限制为一次的情况下获得的。如果采用虚拟相机的迭代位姿标定策略,本文算法的标定精度还可进一步提升。图 6展示了本文方法随着迭代次数增加,标定精度的提升效果。可以观察到,在进行一次迭代后,标定精度显著提升并趋于稳定。最终,采用迭代策略可使角度误差和位移误差分别提升 26% 和 11%。
5、MIAS-LCEC标定工具箱 (MIAS-LCEC Toolbox)
我们推出了一款功能全面、操作简便的激光雷达-相机标定工具箱,支持多种类型的输入数据,并配备了丰富的交互控件。该工具箱不仅支持浏览激光雷达点云和相机图像,还提供激光雷达-相机的在线标定和手动标定功能。
5.1 点云和相片的浏览
MIAS-LCEC Toolbox能够流畅地浏览点云和相片。用户可以通过主界面菜单中的按钮一键导入点云,并实现全方位查看,包括旋转、平移和缩放等操作。点云的可视化模式可以在界面内轻松调整,删除操作也非常便捷。如图 7所示,界面还支持任意数量相片的浏览,相片的缩放和滑动操作可以在指定窗口中轻松完成,这对于手动标注过程非常有帮助。工具箱提供了点云的四种显示模式,分别是RGB Depth(根据深度生成伪彩色点云)、RGB XYZI(根据位置和反射强度生成彩色点云)、RGB Intensity(根据反射强度生成彩色点云)和Gray Intensity(根据反射强度生成灰度点云),以满足用户不同的使用需求,实现多样化的可视化效果。
5.2 激光雷达-相机的自动在线标定
MIAS-LCEC Toolbox中的自动标定功能基于本文提出的跨模态掩膜匹配在线标定算法。该工具箱支持单对数据和批量数据的标定。用户只需导入单对点云和相片,或指定存储多对点云和相片的文件夹路径,系统便会自动完成所有数据的在线标定。无论选择哪种模式,系统都会为每对数据生成相应的标定结果,并在标定完成后提供详细的标定报告。报告内容包括重投影误差、匹配点对数量、图像尺寸和完成时间等,用户可以根据这些信息自行判断标定质量,并对结果进行取舍。
5.3 激光雷达-相机的离线手动标定
为了增强标定工具箱的完备性,我们设计了手动标注功能,用于在点云中标注3D点以及在相机图像中标注与之关联的2D点。用户可以通过右键点击在点云中选取特定的3D点,选中的点将会在界面中以特殊记号标示;在相片中,用户可以通过长按左键选取2D兴趣点。正如图 8所示,所有选取的3D和2D点都会存储在一个表格中,并可以通过可视化界面进行查看。这些标注点会成对出现在表格中,用户可以利用这些成对匹配的点来求解PnP问题,从而估算外参并完成手动标定。当然,若不用于标定,用户也可以将其作为观测点坐标的工具,应用于其他研究。