ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

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

旷视科技和东北大学联合提出:多 LiDAR 与相机系统的无靶标内外参联合标定方法 0. 摘要精确的时空标定是多传感器融合的前提然而由于传感器通常不同步并且相机与LiDAR的视场范围不重叠这为内外参标定带来了挑战。为了解决这一问题本文提出了一种基于连续时间和捆集调整的标定流程能够同时完成内参和外参包括6自由度的变换和时间偏移的标定。此方法不依赖视场重叠或标定板首先通过运动结构 (SfM) 建立相机间的数据关联完成相机内参的自标定。接着通过自适应体素地图构建 LiDAR 间的数据关联在地图内优化外参标定。最后将LiDAR地图的强度投影与相机图像进行特征匹配实现内参与外参的联合优化此流程适用于具有丰富纹理的结构化环境可同时标定任意数量的相机与 LiDAR而无需复杂的同步触发器。实验结果表明该方法可以在不引入累计误差的情况下满足传感器之间的共视性和运动约束。1. 主要贡献自动驾驶车辆与机器人通常配备多个传感器如LiDAR、相机和IMU用于完成SLAM、目标检测和跟踪等感知任务。LiDAR可直接测量深度信息但缺乏细节感知相机提供丰富的纹理信息但对光照条件敏感IMU则提供高频率的加速度和角速度信息不受外部环境影响从而实现各传感器的互补。多传感器融合的关键步骤之一是估计传感器间的6自由度变换包括旋转、平移和时间偏移即传感器的外参标定。传统标定方法通常依赖标定板等辅助工具但成本较高难以满足实际需求。相比之下自然场景中的标定更贴近实际应用环境丰富的环境信息可增强传感器数据特征的多样性适应多种场景和条件。目前主流的LiDAR-IMU、相机-IMU以及LiDAR-相机标定方法大多分别标定单个传感器易导致累积误差因此联合标定变得非常必要。此外离散时间表示在处理异步传感器融合时会导致优化变量随传感器数量增加而显著增多从而提高计算成本。为了克服上述问题我们基于连续时间的表示方法提出了一种无靶标的多相机-LiDAR-IMU联合标定方法。主要贡献提出了一种新颖的基于连续时间的标定方法可同时估计多LiDAR-相机-IMU系统的内参、外参和时间偏移。提出了一种创新且鲁棒的无靶标标定方法充分利用自然场景中的结构信息和纹理特征并结合IMU的运动信息。提出了一种基于SfM的多相机数据关联方法和基于体素地图的多LiDAR数据关联方法无需相机与LiDAR间视场重叠。通过真实数据采集和实验验证了该方法能以高精度同时标定所有传感器。图 1. 因子图通过结合视觉测量、LiDAR 测量、IMU 测量和 LiDAR-视觉测量实现了连续时间轨迹、内外参数的联合优化2. 主要内容2.1. 内容概述本文提出的标定流程分成以下四个部分初始化利用 LiDAR 初始化 IMU 轨迹使用 COLMAP 标定相机内参并通过手眼标定初始化 LiDAR-IMU 外参最后通过 SfM 结果初始化相机-IMU 外参。单 LiDAR 优化对单个 LiDAR 进行捆绑调整 (BA) 优化并对齐 IMU 轨迹为跨 LiDAR 和跨相机的联合优化做好准备。跨 LiDAR 和相机的联合优化基于优化后的 LiDAR 地图和相机图像匹配二维特征点和三维地图点优化内参和外参。联合标定根据 LiDAR 和相机的观测数据优化残差完成内外参的联合标定。图 2. 流程概述2.2. 初始化初始化是整个标定过程的基础涉及三个关键步骤样条控制点初始化、相机内参初始化和外参初始化。这些步骤确保了传感器数据的正确配准并为后续的优化过程奠定了基础。2.2.1. 样条控制点初始化在初始化 IMU 的轨迹时单独使用 IMU 测量值是不够可靠的因为 B 样条的二阶导数会引入错误。这使得仅依赖 IMU 数据进行初始化时结果可能会有偏差。因此本文采用了 LiDAR 位置数据来帮助初始化 IMU 的连续时间轨迹选择一个 LiDAR 作为基准 LiDAR并通过这个基准 LiDAR 为其位置构建一个连续时间轨迹。在此基础上我们将 IMU 的加速度和角速度数据与 LiDAR 的位置数据结合计算出 LiDAR 和 IMU 之间的外参。这一过程通过求解最小二乘问题估算出 LiDAR-IMU 的外参进而通过这些参数将 LiDAR 的位置转换为 IMU 的位置一旦 IMU 位置确定我们就可以将其与世界坐标系对齐利用重力参考来有效初始化 IMU 的连续时间轨迹。2.2.2. 相机内参初始化为了标定相机的内参本文采用了运动结构 (SfM) 方法这一方法不需要特定的标定目标而是通过图像的特征点进行标定使用了开源软件 COLMAP 来执行 SfM。通过 SfM能够从图像的尺寸和视场角度推算出相机的内参初值同时设置畸变系数为零。COLMAP 通过视觉捆绑调整 (BA) 对图像进行配准逐步估计出所有图像帧的相机内参、相机位置和三维特征点。然而配准得到的相机位置和 3D 特征点的尺度是未定的且所有的位置数据都绑定在第一个相机帧的坐标系中。因此利用 2D 图像特征点及其匹配关系执行另一次 SfM 过程。这个过程中我们结合了 IMU 的位置数据将 3D 点重新对齐到世界坐标系中从而确保相机的内参被正确标定。2.2.3. 外参初始化LiDAR 和相机 3D 点初始化在外参初始化过程中首先需要初始化 LiDAR 和 IMU 之间的外参。通过比较 LiDAR 和 IMU 之间的位移增量我们使用稳健的 KISS ICP迭代最近点算法来计算 LiDAR 的位置。通过 LiDAR 里程计提供的离散位置数据我们能够估算连续 LiDAR 帧之间的相对位置。同时根据前面初始化的 IMU 连续时间轨迹我们可以计算 IMU 帧内的相对位置从而确定 LiDAR 和 IMU 之间的外参关系。这一过程通过解算相对位置方程来完成从而得到 LiDAR 和 IMU 的外参。对于相机和 3D 特征点的外参通过使用 2D 图像特征点及其匹配关系结合 IMU 提供的连续时间轨迹数据和 COLMAP 生成的图像数据进行相机外参的初始化。这一过程确保了所有视觉特征点和相机的空间关系被正确地标定。通过这一过程我们不需要再优化 IMU 轨迹的控制点因此标定过程更为高效。2.3. 优化位姿和外参在初始化阶段为确保优化的鲁棒性和速度我们依赖于 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 点云紫色和视觉点云图白色优化的位姿和外参。2.4. LiDAR与相机匹配上述过程完成了LiDAR与相机之间的共同标定并获得了具有较高一致性的位置信息和外部参数但LiDAR与相机通过IMU的轨迹间接关联且没有直接构建LiDAR与相机之间的共同可视化。为了进一步优化相机的内参并获得具有更高一致性的外参将构建LiDAR与相机之间的相关性并基于此关系进行共同优化。首先基于相机的位置和成像模型将LiDAR的点云投影到相机的成像平面上并通过将LiDAR的强度作为图像的灰度值生成强度图同时对图像进行灰度处理如图5(a)所示。尽管只是渲染了每个点而没有进行插值和填补间隙但由于点云密集积累渲染结果显示出较好的外观质量。在生成强度图时为了保证实时性能并非投影相机的每一帧图像而是基于位置采样选择视差最大的帧进行投影。然后使用superpoint和superglue将强度图与灰度图进行匹配从而获得图像上的2D特征点以及世界坐标系中的3D点如图 5 (c) 所示。图 5. (a) 原始图像。(b) 根据相机位姿将 LiDAR 地图投影并渲染到成像平面上。(c) 相机、原始图像和强度图之间的匹配结果。2.4. 联合标定根据匹配结果可以得到图像特征点及其在世界坐标系中的3D点通过pnp ransac去除一些离群点后依据相机投影模型每个点可以构建为残差。由于特征点具有直接的3D点观测因此可以保证相机内参的准确性这与定向标定方法相似内外参数的联合标定是根据公式实现的值得注意的是在此优化过程中假设LiDAR地图是最优的因此无需优化体素平面所有上述非线性最小二乘问题均由ceres求解器自动推导。3. 实验为了评估标定算法的有效性本文在自动驾驶车辆下进行了多LiDAR-相机-IMU的标定实验。我们给出标定的外参初值作为结构值外参的初始旋转和位移误差为4.81°/10 cm时间偏移为0ms。所有实验均在配备AMD Ryzen7 5800H CPU和16G内存的PC计算机上进行。3.1. 自动驾驶数据集图 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。3.2. 相机内参标定实验为了定量评估相机内参的精度本文采用标定哈普 (calibration harp) 来评估相机的畸变。用于内参实验的场景如图 7 (a) 所示包含许多平行线。首先使用相机拍摄“标定哈普”的一系列照片。然后利用标定参数对图像进行去畸变得到修正后的图像如图 7 (b) 所示。接下来使用LSD算法检测图像中的线段这些线段对应于“标定哈普”上的直线如图 7 (c) 所示。图中共检测到383条线。通过重新采样检测到的边缘点并进行高斯模糊处理以减少噪声并提高边缘点的精度。通过统计采样点到线的距离并去除离群点如图 7 (d) 所示可以观察到畸变误差在0.5像素以内均方根误差为1.075像素最大误差距离为2.152像素从而验证了算法的有效性。图 7. (a) 为原始图像。(b) 为使用校准后的内部参数进行去畸变后的图像。(c) 为从未畸变图像中提取线段。(d) 为未畸变图像的误差分析。3.3. LiDAR-相机外参标定实验为了验证LiDAR和相机之间外参的准确性本文选择了CF、CE、CD和CA的静态帧图像。与这些图像共享公共视野区域的LiDAR点云根据相机成像模型投影到成像平面上投影效果如图8所示。可以观察到本文算法标定的参数能够同时满足广角和超广角相机与LiDAR之间的共同视野关系。图 8. 基于相机成像模型将LiDAR点云投影到具有不同视场FOV的图像平面上。3.4. LiDAR-IMU外参标定实验自动驾驶车辆配备有高精度惯性导航RTK可以为IMU提供厘米级的姿态真实值。根据IMU的姿态和LiDAR与IMU之间的外参可以推导出LiDAR点云地图。拼接效果如图9所示。通过测量推导出的LiDAR点云地图的精度可以评估外参的准确性。本文采用平均地图熵 (Mean Map EntropyMME) 作为地图质量指标。图 9. 基于已标定的LiDAR与IMU之间的部参利用惯性导航系统INS提供的真实位姿推导出LiDAR的点云图点云图的一致性可用于验证本文方法的有效性。为了进一步验证本文算法对任意数量LiDAR的标定适用性本文通过将四个LiDAR分成三组进行实验以验证标定的一致性这三组分别是前后LiDAR联合标定实验、左右LiDAR联合标定实验以及前后左右LiDAR联合标定实验。标定结果如表IV所示。本文提出的方法的最大角度误差为0.05°最大平移误差为2cm。3.5. LiDAR-LiDAR外参标定实验本文选择了四个LiDAR的静态帧点云使用本文提出的外参对点云进行拼接。每个LiDAR点云被赋予不同的颜色拼接效果如图10所示。从图中的LiDAR拼接点可以看出不同LiDAR的点云本质上是重叠的。这是因为本文基于自适应体素地图构建了LiDAR之间的共同视野关系导致LiDAR之间的重叠度很高。图 10. 使用本文标定的外参数合并 LiDAR 单帧点云为了进一步验证LiDAR之间的外参本文提取了拼接后不同LiDAR之间公共视野区域的点云并计算点云的厚度。点云的厚度如表VI所示。可以看到点云的厚度在2cm以内。由于LiDAR的距离测量误差大约为2cm因此本文标定的外参误差在合理范围内。本文的方法与手眼标定进行了比较后者未建立LiDAR之间的数据关联导致LiDAR之间的重叠度低于本文提出的方法。3.6. 相机-相机外参标定实验本文使用极线误差来衡量相机参数的准确性计算两帧图像之间的基础矩阵使用标定获得的内外参数。首先在两视角的图像中检测并匹配对应的特征点。对于每一对匹配点根据基础矩阵计算它们到各自极线的距离。该距离反映了匹配点的几何位置与理想极线几何约束之间的偏差。通过统计分析极线误差的分布如表VII所示极线误差在1.5像素以内较低的极线误差意味着更高的标定精度。与没有手眼标定的方法相比本文提出的方法具有更高的精度。为了进一步验证相机外参标定的精度本文将用于停车的FOV190静态帧图像从相机坐标系转换到地面坐标系并从鸟瞰视角 (BEV) 进行图像拼接测试外参标定的精度。四张FOV190图像被转换到地面坐标系后进行拼接拼接效果如图11所示。从拼接缝隙可以看到图像拼接效果相当好。图 11. 使用本文标定的外参合并鸟瞰图 (BEV) 视角的 FOV190 图像。4. 总结面对传感器异步和设备视野不重叠的挑战本文提出了一种基于连续时间的联合标定算法。该算法利用自然场景中的空间结构和纹理信息在传感器之间建立数据关联并在连续时间框架内对所有传感器的共同视野特征和运动信息进行联合标定。首先通过运动重建 (Structure from Motion, SFM) 对相机内参进行自标定并在相机之间建立数据关联。随后算法通过自适应体素地图构建LiDAR之间的数据关联并优化地图进行外参标定。最后通过特征匹配它在LiDAR地图投影的强度图像和相机图像之间建立数据关联实现内外参的联合优化。该方法能够联合标定任意数量的相机和LiDAR从而避免了单独标定所产生的累积误差。
返回列表