首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >旷视科技和东北大学联合提出:多LiDAR与相机系统的无靶标内外参联合标定方法

旷视科技和东北大学联合提出:多LiDAR与相机系统的无靶标内外参联合标定方法

作者头像
点云PCL博主
发布2025-01-13 14:23:46
发布2025-01-13 14:23:46
7660
举报
文章被收录于专栏:点云PCL点云PCL

文章:Targetless Intrinsics and Extrinsic Calibration of Multiple LiDARs and Cameras with IMU using Continuous-Time Estimation

作者:Yuezhang Lv, Yunzhou Zhang, Chao Lu, Jiajun Zhu, Song Wu

编辑:点云PCL

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

摘要

精确的时空标定是多传感器融合的前提,然而由于传感器通常不同步,并且相机与LiDAR的视场范围不重叠,这为内外参标定带来了挑战。为了解决这一问题,本文提出了一种基于连续时间和捆集调整的标定流程,能够同时完成内参和外参(包括6自由度的变换和时间偏移)的标定。此方法不依赖视场重叠或标定板,首先通过运动结构(SfM)建立相机间的数据关联,完成相机内参的自标定。接着通过自适应体素地图构建LiDAR间的数据关联,在地图内优化外参标定。最后将LiDAR地图的强度投影与相机图像进行特征匹配,实现内参与外参的联合优化,此流程适用于具有丰富纹理的结构化环境,可同时标定任意数量的相机与LiDAR,而无需复杂的同步触发器。实验结果表明该方法可以在不引入累计误差的情况下,满足传感器之间的共视性和运动约束。

主要贡献

自动驾驶车辆与机器人通常配备多个传感器,如LiDAR、相机和IMU,用于完成SLAM、目标检测和跟踪等感知任务。LiDAR可直接测量深度信息,但缺乏细节感知;相机提供丰富的纹理信息,但对光照条件敏感;IMU则提供高频率的加速度和角速度信息,不受外部环境影响,从而实现各传感器的互补。多传感器融合的关键步骤之一是估计传感器间的6自由度变换(包括旋转、平移和时间偏移),即传感器的外参标定。传统标定方法通常依赖标定板等辅助工具,但成本较高,难以满足实际需求。相比之下,自然场景中的标定更贴近实际应用环境,丰富的环境信息可增强传感器数据特征的多样性,适应多种场景和条件。目前主流的LiDAR-IMU、相机-IMU以及LiDAR-相机标定方法大多分别标定单个传感器,易导致累积误差,因此联合标定变得非常必要。此外,离散时间表示在处理异步传感器融合时会导致优化变量随传感器数量增加而显著增多,从而提高计算成本。

为了克服上述问题,我们基于连续时间的表示方法,提出了一种无靶标的多相机-LiDAR-IMU联合标定方法。主要贡献:

  • 提出了一种新颖的基于连续时间的标定方法,可同时估计多LiDAR-相机-IMU系统的内参、外参和时间偏移。
  • 提出了一种创新且鲁棒的无靶标标定方法,充分利用自然场景中的结构信息和纹理特征,并结合IMU的运动信息。
  • 提出了一种基于SfM的多相机数据关联方法和基于体素地图的多LiDAR数据关联方法,无需相机与LiDAR间视场重叠。
  • 通过真实数据采集和实验,验证了该方法能以高精度同时标定所有传感器。

图 1. 因子图,通过结合视觉测量、LiDAR 测量、IMU 测量和 LiDAR-视觉测量,实现了连续时间轨迹、内外参数的联合优化

主要内容

内容概述

本文提出的标定流程分成以下四个部分:

  1. 初始化:利用 LiDAR 初始化 IMU 轨迹,使用 COLMAP 标定相机内参,并通过手眼标定初始化 LiDAR-IMU 外参,最后通过 SfM 结果初始化相机-IMU 外参。
  2. 单 LiDAR 优化:对单个 LiDAR 进行捆绑调整(BA)优化并对齐 IMU 轨迹,为跨 LiDAR 和跨相机的联合优化做好准备。
  3. 跨 LiDAR 和相机的联合优化:基于优化后的 LiDAR 地图和相机图像,匹配二维特征点和三维地图点,优化内参和外参。
  4. 联合标定:根据 LiDAR 和相机的观测数据,优化残差,完成内外参的联合标定。

图 2. 流程概述

初始化

初始化是整个标定过程的基础,涉及三个关键步骤:样条控制点初始化、相机内参初始化和外参初始化。这些步骤确保了传感器数据的正确配准,并为后续的优化过程奠定了基础。

1) 样条控制点初始化

在初始化 IMU 的轨迹时,单独使用 IMU 测量值是不够可靠的,因为 B样条的二阶导数会引入错误。这使得仅依赖 IMU 数据进行初始化时,结果可能会有偏差。因此,本文采用了 LiDAR 位置数据来帮助初始化 IMU 的连续时间轨迹,选择一个 LiDAR 作为基准 LiDAR,并通过这个基准 LiDAR 为其位置构建一个连续时间轨迹。在此基础上,我们将 IMU 的加速度和角速度数据与 LiDAR 的位置数据结合,计算出 LiDAR 和 IMU 之间的外参。这一过程通过求解最小二乘问题,估算出 LiDAR-IMU 的外参,进而通过这些参数将 LiDAR 的位置转换为 IMU 的位置,一旦 IMU 位置确定,我们就可以将其与世界坐标系对齐,利用重力参考来有效初始化 IMU 的连续时间轨迹。

2) 相机内参初始化

为了标定相机的内参,本文采用了运动结构(SfM)方法,这一方法不需要特定的标定目标,而是通过图像的特征点进行标定,使用了开源软件 COLMAP 来执行 SfM。通过 SfM能够从图像的尺寸和视场角度推算出相机的内参初值,同时设置畸变系数为零。COLMAP 通过视觉捆绑调整(BA)对图像进行配准,逐步估计出所有图像帧的相机内参、相机位置和三维特征点。然而配准得到的相机位置和 3D 特征点的尺度是未定的,且所有的位置数据都绑定在第一个相机帧的坐标系中。因此利用 2D 图像特征点及其匹配关系,执行另一次 SfM 过程。这个过程中,我们结合了 IMU 的位置数据,将 3D 点重新对齐到世界坐标系中,从而确保相机的内参被正确标定。

3) 外参初始化:LiDAR 和相机 3D 点初始化

在外参初始化过程中,首先需要初始化 LiDAR 和 IMU 之间的外参。通过比较 LiDAR 和 IMU 之间的位移增量,我们使用稳健的 KISS ICP(迭代最近点算法)来计算 LiDAR 的位置。通过 LiDAR 里程计提供的离散位置数据,我们能够估算连续 LiDAR 帧之间的相对位置。同时,根据前面初始化的 IMU 连续时间轨迹,我们可以计算 IMU 帧内的相对位置,从而确定 LiDAR 和 IMU 之间的外参关系。这一过程通过解算相对位置方程来完成,从而得到 LiDAR 和 IMU 的外参。

对于相机和 3D 特征点的外参,通过使用 2D 图像特征点及其匹配关系,结合 IMU 提供的连续时间轨迹数据和 COLMAP 生成的图像数据,进行相机外参的初始化。这一过程确保了所有视觉特征点和相机的空间关系被正确地标定。通过这一过程,我们不需要再优化 IMU 轨迹的控制点,因此标定过程更为高效。

优化位姿和外参

在初始化阶段,为确保优化的鲁棒性和速度,我们依赖于 LiDAR 辅助 IMU 位置的假定准确性,为了提高位置和外参参数的精度,优化过程通过迭代调整样条控制点和外参,结合来自相机、LiDAR 和 IMU 的观测数据进行优化。利用体素地图,在 LiDAR 内部及之间建立共视关系。前述部分展示了通过结构信息构建的共视关系,这依赖于地图的一致性。虽然单个 LiDAR 一致性通过 KISS-ICP得到了保障,但由于误差,确保不同 LiDAR 之间的一致性变得困难,如图 3(a) 所示,LiDAR 间的点云匹配会出现问题。因此为了改善地图的全局一致性,首先对每个 LiDAR 进行捆绑调整(BA)优化,优化 LiDAR-IMU 的外参,然后再构建多 LiDAR 的体素地图。优化完成后LiDAR 点云地图将与 IMU 的样条轨迹对齐,确保不同 LiDAR 之间的点云一致性,如图 3(d) 所示。基于此可以构建多个 LiDAR 的体素地图,并在 LiDAR 内部和 LiDAR 之间构建数据关联。结合图像测量、LiDAR 测量和 IMU 测量,优化连续时间轨迹和外参。

图 3. LiDAR BA 校准。a) 校准前,初始化错误导致点云分层,使多个 LiDAR 难以共同建立体素地图。b) 单个 LiDAR BA 校准后,LiDAR 点云一致性增强,但仍存在少量分层。c) 多 LiDAR 共同构建体素地图。d) 校准后,点云中的分层消失,与 IMU 轨迹对齐,从而提高地图一致性。

BA 过程将通过优化地图来优化 IMU 轨迹和外参,进而改善 LiDAR 点云地图与视觉点云地图之间的全局一致性。如图 4 所示,优化后点云地图的一致性得到了显著提升。

图 4. 使用 LiDAR 点云(紫色)和视觉点云图(白色)优化的位姿和外参。

LiDAR与相机匹配

上述过程完成了LiDAR与相机之间的共同标定,并获得了具有较高一致性的位置信息和外部参数,但LiDAR与相机通过IMU的轨迹间接关联,且没有直接构建LiDAR与相机之间的共同可视化。为了进一步优化相机的内参,并获得具有更高一致性的外参,将构建LiDAR与相机之间的相关性,并基于此关系进行共同优化。首先基于相机的位置和成像模型,将LiDAR的点云投影到相机的成像平面上,并通过将LiDAR的强度作为图像的灰度值生成强度图,同时对图像进行灰度处理,如图5(a)所示。尽管只是渲染了每个点而没有进行插值和填补间隙,但由于点云密集积累,渲染结果显示出较好的外观质量。在生成强度图时,为了保证实时性能,并非投影相机的每一帧图像,而是基于位置采样选择视差最大的帧进行投影。然后使用superpoint和superglue将强度图与灰度图进行匹配,从而获得图像上的2D特征点以及世界坐标系中的3D点,如图5(c)所示。

图 5. a) 原始图像。b) 根据相机位姿将 LiDAR 地图投影并渲染到成像平面上。c) 相机、原始图像和强度图之间的匹配结果。

联合标定

根据匹配结果可以得到图像特征点及其在世界坐标系中的3D点,通过pnp ransac去除一些离群点后,依据相机投影模型,每个点可以构建为残差。由于特征点具有直接的3D点观测,因此可以保证相机内参的准确性,这与定向标定方法相似,内外参数的联合标定是根据公式实现的,值得注意的是,在此优化过程中,假设LiDAR地图是最优的,因此无需优化体素平面,所有上述非线性最小二乘问题均由ceres求解器自动推导。

实验

为了评估标定算法的有效性,本文在自动驾驶车辆下进行了多LiDAR-相机-IMU的标定实验。我们给出标定的外参初值作为结构值,外参的初始旋转和位移误差为4.81°/10 cm,时间偏移为0ms。所有实验均在配备AMD Ryzen7 5800H CPU和16G内存的PC计算机上进行。

自动驾驶数据集

图 6. 自动驾驶汽车配备 4 个固态激光雷达、10 个摄像头,具有高精度惯性制导,该数据集是在停车场内收集的

为了验证我们方法在多LiDAR-相机-IMU标定中的优势,我们在自建的自动驾驶设备上收集了实验数据,如图6所示,该设备包含四个固态LiDAR,水平FOV为120°(相邻LiDAR之间有30°的公共视野),两个FOV为120°的相机(用于驾驶,包括一对双目相机),四个FOV为190°的鱼眼相机(用于停车)以及高精度惯性导航RTK。传感器配置如表II所示。为了便于表示,本文对传感器进行了重新命名。

在数据集采集时,采集者驾驶汽车在公园内绕“8”字形行驶,采集了多个持续120秒的序列,分为六个段,每个段绕完整的“8”字形运动。由于绕“8”字形的运动沿着车辆的z轴旋转,根据分析传感器-IMU沿旋转轴的外部平移可以忽略,因此我们不估计z轴的平移,且车辆的结构值平移在工厂设计时精心设计,误差较小。本文提出的方法能够一次性标定所有传感器的参数。我们对这六个序列进行了标定,并将结果列出,如表I所示。

从结果可以看出,对于具有共同视野的传感器,本文的标定精度为0.04°和0.5 cm;对于没有共同视野的传感器,标定精度为0.08°和1 cm。

相机内参标定实验

为了定量评估相机内参的精度,本文采用标定哈普(calibration harp)来评估相机的畸变。用于内参实验的场景如图7(a)所示,包含许多平行线。首先,使用相机拍摄“标定哈普”的一系列照片。然后,利用标定参数对图像进行去畸变,得到修正后的图像,如图7(b)所示。接下来,使用LSD算法检测图像中的线段,这些线段对应于“标定哈普”上的直线,如图7(c)所示。图中共检测到383条线。通过重新采样检测到的边缘点并进行高斯模糊处理,以减少噪声并提高边缘点的精度。通过统计采样点到线的距离并去除离群点,如图7(d)所示,可以观察到畸变误差在0.5像素以内,均方根误差为1.075像素,最大误差距离为2.152像素,从而验证了算法的有效性。

图 7. (a) 为原始图像。(b) 为使用校准后的内部参数进行去畸变后的图像。(c) 为从未畸变图像中提取线段。(d) 为未畸变图像的误差分析。

LiDAR-相机外参标定实验

为了验证LiDAR和相机之间外参的准确性,本文选择了C F、C E、C D和C A的静态帧图像。与这些图像共享公共视野区域的LiDAR点云根据相机成像模型投影到成像平面上,投影效果如图8所示。可以观察到,本文算法标定的参数能够同时满足广角和超广角相机与LiDAR之间的共同视野关系。

图8. 基于相机成像模型,将LiDAR点云投影到具有不同视场(FOV)的图像平面上。

LiDAR-IMU外参标定实验

自动驾驶车辆配备有高精度惯性导航RTK,可以为IMU提供厘米级的姿态真实值。根据IMU的姿态和LiDAR与IMU之间的外参,可以推导出LiDAR点云地图。拼接效果如图9所示。通过测量推导出的LiDAR点云地图的精度,可以评估外参的准确性。本文采用平均地图熵(Mean Map Entropy,MME)作为地图质量指标。

图9. 基于已标定的LiDAR与IMU之间的部参,利用惯性导航系统(INS)提供的真实位姿推导出LiDAR的点云图,点云图的一致性可用于验证本文方法的有效性。

为了进一步验证本文算法对任意数量LiDAR的标定适用性,本文通过将四个LiDAR分成三组进行实验,以验证标定的一致性,这三组分别是前后LiDAR联合标定实验、左右LiDAR联合标定实验以及前后左右LiDAR联合标定实验。标定结果如表IV所示。本文提出的方法的最大角度误差为0.05°,最大平移误差为2cm。

LiDAR-LiDAR外参标定实验

本文选择了四个LiDAR的静态帧点云,使用本文提出的外参对点云进行拼接。每个LiDAR点云被赋予不同的颜色,拼接效果如图10所示。从图中的LiDAR拼接点可以看出,不同LiDAR的点云本质上是重叠的。这是因为本文基于自适应体素地图构建了LiDAR之间的共同视野关系,导致LiDAR之间的重叠度很高。

图 10. 使用本文标定的外参数合并 LiDAR 单帧点云

为了进一步验证LiDAR之间的外参,本文提取了拼接后不同LiDAR之间公共视野区域的点云,并计算点云的厚度。点云的厚度如表VI所示。可以看到,点云的厚度在2cm以内。由于LiDAR的距离测量误差大约为2cm,因此本文标定的外参误差在合理范围内。本文的方法与手眼标定进行了比较,后者未建立LiDAR之间的数据关联,导致LiDAR之间的重叠度低于本文提出的方法。

相机-相机外参标定实验

本文使用极线误差来衡量相机参数的准确性,计算两帧图像之间的基础矩阵,使用标定获得的内外参数。首先在两视角的图像中检测并匹配对应的特征点。对于每一对匹配点,根据基础矩阵计算它们到各自极线的距离。该距离反映了匹配点的几何位置与理想极线几何约束之间的偏差。通过统计分析极线误差的分布,如表VII所示,极线误差在1.5像素以内,较低的极线误差意味着更高的标定精度。与没有手眼标定的方法相比,本文提出的方法具有更高的精度。

为了进一步验证相机外参标定的精度,本文将用于停车的FOV190静态帧图像从相机坐标系转换到地面坐标系,并从鸟瞰视角(BEV)进行图像拼接,测试外参标定的精度。四张FOV190图像被转换到地面坐标系后进行拼接,拼接效果如图11所示。从拼接缝隙可以看到,图像拼接效果相当好。

图 11. 使用本文标定的外参合并鸟瞰图 (BEV) 视角的 FOV190 图像。

总结

面对传感器异步和设备视野不重叠的挑战,本文提出了一种基于连续时间的联合标定算法。该算法利用自然场景中的空间结构和纹理信息在传感器之间建立数据关联,并在连续时间框架内对所有传感器的共同视野特征和运动信息进行联合标定。首先通过运动重建(Structure from Motion,SFM)对相机内参进行自标定,并在相机之间建立数据关联。随后算法通过自适应体素地图构建LiDAR之间的数据关联,并优化地图进行外参标定。最后通过特征匹配,它在LiDAR地图投影的强度图像和相机图像之间建立数据关联,实现内外参的联合优化。该方法能够联合标定任意数量的相机和LiDAR,从而避免了单独标定所产生的累积误差。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-01-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 点云PCL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档