Skip to content

多传感器联合标定

I. 引言:自主系统中的多传感器标定

Section titled “I. 引言:自主系统中的多传感器标定”

自主系统,如自动驾驶汽车和移动机器人,日益依赖于多样化的传感器组合(包括激光雷达(LiDAR)、相机、惯性测量单元(IMU)、全球导航卫星系统(GNSS)/全球定位系统(GPS)、雷达等)来实现对周围环境的鲁棒感知。这些传感器具有互补的特性:LiDAR 提供精确的三维空间结构信息,相机捕捉丰富的颜色和纹理细节,IMU 测量高频运动(角速度和加速度),而 GPS/GNSS 提供全局定位。

传感器融合的目标是将来自不同传感器的信息结合起来,以获得比单一传感器更全面、更可靠的环境感知结果。融合可以在不同层级进行,包括数据级、特征级和决策级。其中,早期融合(数据级和特征级)需要在共同的参考系下整合数据,这就引出了传感器标定的核心需求。

根本问题在于,每个传感器都在其自身的坐标系中采集数据。传感器标定,特别是外参标定,旨在精确地确定这些不同坐标系之间的空间转换关系(通常由旋转矩阵 R 和平移向量 T 描述),从而将所有传感器数据对齐到统一的坐标框架下,为后续的数据融合和环境理解奠定基础。

标定不仅仅是一个简单的几何对齐任务,它是整个感知流水线的基石。标定误差会直接传递到下游任务,如目标检测、跟踪、同时定位与建图(SLAM)以及环境重建等,严重影响系统的性能、可靠性甚至安全性。随着自动驾驶系统和机器人搭载的传感器数量和种类日益增多,传感器套件变得越来越复杂,精确且鲁棒的多传感器标定变得尤为重要和具有挑战性。标定失败或精度不足意味着传感器融合的失败,可能导致错误的感知结果和潜在的危险行为。

多传感器标定通常包含以下几个方面:

  1. 内参标定(Intrinsic Calibration): 估计单个传感器内部的参数,以校正其固有的测量偏差或畸变。
    • 相机内参: 包括焦距、主点坐标、像素倾斜因子以及镜头畸变系数(径向和切向畸变)。常用的标定方法基于张正友棋盘格法,可以使用如 ROS Camera Calibration 工具包或 MATLAB Camera Calibrator App 等工具完成。
    • LiDAR 内参: 许多 LiDAR 传感器的内参(如测距偏差、角度分辨率偏差等)在出厂时已经过校准。但在某些高精度应用或研究中,可能需要进一步标定或考虑这些参数。
    • IMU 内参: 包括加速度计和陀螺仪的零偏、随机游走噪声密度、比例因子误差和轴间不对齐误差。通常使用艾伦方差(Allan Variance)分析工具进行标定。
  2. 外参标定(Extrinsic Calibration / Spatial Calibration): 确定不同传感器坐标系之间的相对空间关系,即刚体变换,包括 3 个自由度的旋转(Rotation)和 3 个自由度的平移(Translation),共 6 自由度(6 DoF)。这是本综述的主要关注点。
  3. 时间标定(Temporal Calibration): 估计不同传感器之间测量数据的时间戳偏移(time offset)或延迟(time delay / lag)。这对于融合异步传感器数据至关重要。时间同步可以通过硬件触发(如 PPS 信号)或软件方法(如基于时间戳分析的近似同步)实现。

这些不同类型的标定参数往往是相互依赖的。例如,精确的外参标定通常依赖于准确的内参标定结果和时间同步。如果相机内参不准,LiDAR-相机外参标定的精度会受到很大影响。同样,时间戳的偏差会引入运动估计误差,进而影响外参标定。因此,一些先进的标定方法尝试联合优化多种类型的参数,例如联合标定外参与时间偏移,或者联合标定内参与外参。这种联合标定的方法通过在一个统一的优化框架中考虑参数间的耦合关系,有望解决顺序标定中可能出现的误差累积或歧义性问题,从而获得更精确、更一致的标定结果,但同时也增加了优化问题的复杂性。

理解标定首先需要明确涉及的坐标系:

  • 世界坐标系(World Frame): 一个固定的全局参考坐标系,用于统一场景中所有物体和传感器的位置。
  • 传感器坐标系(Sensor Frame): 每个传感器(LiDAR、Camera、IMU)自身的局部坐标系,原点通常位于传感器的光学中心或物理中心。不同厂商定义的传感器坐标系轴向可能不同。
  • 载具/机器人本体坐标系(Vehicle/Robot Body Frame): 与承载传感器的移动平台(如车辆、机器人)固连的坐标系。
  • 自车坐标系(Ego-vehicle Frame): 常用于自动驾驶,通常遵循 ISO 8855 标准,x 轴指向车辆前进方向,y 轴指向左侧,z 轴垂直向上。

外参标定的核心是找到坐标系之间的刚体变换。这种变换通常由一个 3x3 的旋转矩阵 R 和一个 3x1 的平移向量 T 来表示,可以将一个坐标系下的点 PAP_A 转换到另一个坐标系 PBP_B:PB=R⋅PA+TP_B = R \cdot P_A + T。这个变换也可以用一个 4x4 的齐次变换矩阵表示。旋转部分也可以用欧拉角或四元数(quaternion)来参数化。

LiDAR 点云数据通常以球坐标形式(距离 r,方位角 Φ,俯仰角 Θ)记录,需要转换到笛卡尔坐标系(x, y, z)进行处理。

LiDAR 与相机的融合是自动驾驶和机器人领域最常见的传感器组合之一。LiDAR 提供精确的深度和三维结构信息,而相机提供高分辨率的颜色和纹理信息。二者的有效融合依赖于精确的外参标定。

LiDAR-相机外参标定的目标是确定从 LiDAR 坐标系 {L}\{L\} 到相机坐标系 {C}\{C\} 的 6 自由度刚体变换(旋转矩阵 RCLR_{CL} 和平移向量 TCLT_{CL})。其核心任务是在 LiDAR 点云(三维空间)和相机图像(二维平面)之间建立可靠的对应关系。

这通常涉及到相机投影模型。一个在 LiDAR 坐标系下的三维点 PL=[XL,YL,ZL]TP_L=[X_L, Y_L, Z_L]^T 首先通过外参 (RCL,TCL)(R_{CL}, T_{CL}) 变换到相机坐标系下 PC=RCLPL+TCLP_C = R_{CL} P_L + T_{CL},其中 PC=[XC,YC,ZC]TP_C=[X_C, Y_C, Z_C]^T。然后,根据针孔相机模型,利用相机内参矩阵 K 将 PCP_C 投影到图像像素坐标 (u,v)(u, v)。这个过程(考虑齐次坐标)可以表示为:

ZC[uv1]=K[RCLTCL][XLYLZL1]Z_C \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} = K \begin{bmatrix} R_{CL} & T_{CL} \end{bmatrix} \begin{bmatrix} X_L \\ Y_L \\ Z_L \\ 1 \end{bmatrix}

其中 K 是 3x3 的相机内参矩阵,ZCZ_C 是点在相机坐标系下的深度。标定的目标就是求解变换矩阵 [RCLTCL]\begin{bmatrix} R_{CL} & T_{CL} \end{bmatrix}。

B. 基于标定物的方法(Target-Based Methods)

Section titled “B. 基于标定物的方法(Target-Based Methods)”

这类方法利用具有已知几何形状的特定标定物(Calibration Target),这些标定物能同时被 LiDAR 和相机清晰地观测到,从而为建立精确的 3D-2D 或 3D-3D 对应关系提供便利。

  • 常用标定物:
    • 棋盘格(Checkerboard): 最经典和广泛使用的标定板。在相机图像中易于精确提取角点,在 LiDAR 点云中可以提取其平面或边缘信息。
    • 带圆孔/圆形的标定板: 圆心在图像和点云中都相对容易定位,有时比角点更鲁棒,尤其对稀疏的 LiDAR 点云。
    • 带 ArUco 标记的标定板: ArUco 标记可以被相机快速自动检测并估计其三维姿态,简化了对应关系的建立。
    • 其他定制图案: 如多边形板、带孔洞的矩阵板、三面角规、盒子等,旨在提供更丰富的几何特征或提高特定场景下的检测鲁棒性。
  • 标定流程:
    1. 特征提取: 在相机图像中检测标定板的二维特征(如角点、圆心、边缘),在 LiDAR 点云中提取对应的三维特征(如角点、平面、边缘、圆心)。特征提取可以是手动的,也可以是自动的。
    2. 建立对应关系: 将图像中的二维特征与点云中的三维特征进行匹配,建立多组 3D-2D 或 3D-3D 的对应点/线/面关系。
    3. 优化求解: 将外参标定问题构建为一个优化问题,通过最小化某种误差度量(如 3D 点投影到图像上的重投影误差、3D 点到对应平面的距离、3D 点到对应直线的距离、3D 点对之间的距离等)来求解旋转矩阵 R 和平移向量 T。常用的求解算法包括 Perspective-n-Point(PnP)及其变种(用于 3D-2D 对应)、Iterative Closest Point(ICP)及其变种(用于 3D-3D 对应)、以及非线性最小二乘优化(如 Levenberg-Marquardt)。
  • 相关工具:
    • ROS cameracalibrator.py:用于相机内参标定,是许多外参标定流程的第一步。
    • MATLAB Lidar Camera Calibrator App:提供交互式的基于棋盘格的 LiDAR-相机外参标定流程。
    • Autoware Calibration Tools:Autoware 生态系统提供了一些标定工具,包括基于手动点选对应点的外参标定和可能集成的其他方法。
    • Apollo Calibration Service:Apollo 平台也提供了 LiDAR-相机标定工具,但似乎是目标物无关的。
    • lidar_camera_calibration(KIT):基于 ArUco 标记的纸板进行 3D-3D 点对应的标定。
    • velo2cam_calibration:基于带圆孔和 ArUco 标记的纸板进行标定。
    • OpenCalib(PJLab-ADG/SensorsCalibration):一个面向自动驾驶的多传感器标定工具箱,包含多种基于目标物的 LiDAR-相机标定方法。
    • Fraunhofer multisensor_calibration:一个通用的基于目标物的多传感器标定工具箱,支持 ROS1 和 ROS2。
  • 优缺点:
    • 优点: 由于使用了具有明确几何特征的标定物,通常可以获得较高的标定精度。优化问题相对定义清晰。
    • 缺点: 严重依赖特定的标定物和受控的标定环境或设置。操作过程往往需要人工参与(如手动放置标定板、手动选取对应点),费时费力,且容易引入人为误差。不适用于在线标定或现场自标定,无法实时补偿因震动、温度变化等引起的参数漂移。

C. 无标定物的方法(Targetless Methods)

Section titled “C. 无标定物的方法(Targetless Methods)”

为了克服基于标定物方法的局限性,无标定物方法应运而生。它们不依赖于任何人工设置的标定物,而是利用传感器在自然环境中采集的数据或传感器自身的运动信息来估计外参。这类方法的核心优势在于其潜力实现全自动和在线标定,能够适应动态变化的环境和传感器状态。

自动驾驶和机器人系统的实际运行需求是推动无标定物方法,特别是在线标定方法发展的主要动力。车辆在行驶过程中可能因颠簸、震动或温度变化导致传感器相对位姿发生微小改变(即标定参数漂移)。基于标定物的方法无法及时进行重新标定,而在线无标定物方法则有望实时监测并修正这种漂移,保证传感器融合的持续准确性,降低了操作成本和对环境的依赖性。

无标定物方法主要可以分为以下几类:

  1. 基于信息论的方法(Information Theory Approaches):
    • 原理: 这类方法的核心思想是最大化 LiDAR 和相机数据之间某种共同属性的统计相关性,通常使用互信息(Mutual Information, MI)作为度量标准。其基本假设是,当两个传感器正确对齐(即外参正确)时,它们观测到的同一场景区域的某种属性(如 LiDAR 反射强度与图像灰度、LiDAR 深度与图像梯度或估计深度)的联合概率分布会最”结构化”或”尖锐”,对应于最高的互信息值。通过优化外参来最大化 MI,即可找到最佳标定参数。
    • 变种:
      • 基于强度/反射率的 MI:最早期的 MI 方法,利用 LiDAR 反射强度和相机图像灰度值。
      • 基于梯度的 MI:利用图像梯度和 LiDAR 点云投影后的梯度信息。
      • 基于几何的 MI:利用 LiDAR 深度和相机估计的深度图之间的 MI。这种方法试图通过关注更具内在相关性的几何信息(深度)来提高对光照、纹理变化的鲁棒性。
      • 基于语义的 MI:利用从两种模态数据中提取的语义分割结果计算 MI。
    • 优缺点: 优点是避免了显式的、困难的跨模态特征提取和匹配。缺点是计算量通常较大,对初始外参的猜测比较敏感(优化可能陷入局部最优),并且 MI 的计算对所选取的特征、联合直方图的 bin 划分方式等因素敏感。基于几何 MI 的方法通过利用更稳定的深度信息,显示出比基于强度 MI 的方法更好的鲁棒性,尤其是在初始误差较大时。
  2. 基于特征的方法(Feature-Based Approaches):
    • 原理: 从 LiDAR 点云和相机图像中提取自然场景中共有的几何特征,并通过匹配这些特征来建立对应关系,进而求解外参。
    • 常用特征:
      • 边缘(Edges):场景中的轮廓线,在图像和 LiDAR 投影(强度图或深度图)中都可能检测到。
      • 直线(Lines):如建筑物的边界、道路标线等。
      • 平面(Planes):如墙面、地面等。
      • 点/角点(Points/Corners):自然场景中的显著点。
      • 物体(Objects):利用检测到的车辆、行人等物体作为对应特征。
    • 方法流程: 首先在两种模态数据中分别提取选定的特征。由于 LiDAR 点云稀疏且无纹理,而图像密集且富含纹理,跨模态特征提取和匹配是主要难点。匹配成功后,利用几何约束(如点线约束、点面约束、线线平行/共面约束、共面性约束等)构建优化问题求解外参。通常结合 RANSAC(Random Sample Consensus)算法来剔除错误的匹配,提高鲁棒性。
    • 优缺点: 如果场景中存在丰富且分布良好的几何特征,并且能够被可靠地提取和匹配,这类方法可以达到较高的精度。然而,其性能严重依赖于场景结构以及特征的质量和分布。在纹理稀疏或结构重复的场景中,特征提取和跨模态匹配可能非常困难且不可靠。
  3. 基于运动的方法(Motion-Based Approaches / Hand-Eye Calibration):
    • 原理: 这类方法不直接匹配 LiDAR 和相机的静态观测数据,而是分别估计两个传感器自身的运动轨迹(Ego-motion),然后通过对齐这两条轨迹来求解它们之间的相对位姿(外参)。这个问题可以被形式化为经典的机器人手眼标定问题 AX=XBAX=XB。其中,A 和 B 分别代表相机和 LiDAR 在一系列时间间隔内的相对运动(通过视觉 SLAM/里程计和 LiDAR SLAM/里程计得到),X 是待求解的 LiDAR 到相机的外参变换。
    • 方法流程:
      1. 同步采集 LiDAR 点云序列和相机图像序列。
      2. 独立运行视觉里程计/SLAM 算法得到相机运动轨迹 {Ai}\{A_i\}。
      3. 独立运行 LiDAR 里程计/SLAM 算法得到 LiDAR 运动轨迹 {Bi}\{B_i\}。
      4. 选取多对对应的运动 (Ai,Bi)(A_i, B_i),构建超定方程组 AiX=XBiA_i X = X B_i。
      5. 求解该方程组得到外参 X。通常采用非线性优化方法求解,以提高精度和鲁棒性。
    • 优缺点: 优点在于不需要传感器之间有重叠视场(FOV),并且避免了困难的跨模态特征匹配问题。缺点是要求两个传感器都能独立且精确地估计自身的运动,标定结果的精度严重依赖于里程计/SLAM 的精度。此外,为了保证外参的可观性(Observability),传感器的运动轨迹需要包含足够的旋转(即充分的运动激励),否则会导致标定退化(degenerate cases),无法准确求解所有 6 个自由度。
  4. 基于深度学习的方法(Deep Learning Approaches):
    • 原理: 利用深度神经网络(DNN)强大的学习能力,从大量的 LiDAR 和相机数据中自动学习跨模态的关联性,并用于预测外参或辅助标定过程。这是近年来无标定物方法研究的热点方向。
    • 主要方法论:
      • 基于回归的方法(Regression-based): 构建端到端(End-to-End)的网络模型,直接将传感器数据(如 RGB 图像和投影的深度图)作为输入,输出 6 自由度的外参(通常是相对于某个初始猜测的偏差)。这类方法通常使用卷积神经网络(CNN)提取特征,然后通过全连接层(MLP)回归参数。代表性工作如 RegNet。
      • 基于匹配的方法(Matching-based): 利用深度学习网络来学习更鲁棒的跨模态特征描述子,或者预测密集的像素/点对应关系。然后将这些学习到的对应关系输入到传统的几何优化框架(如 PnP+RANSAC)中求解外参。
      • 混合方法(Hybrid): 结合了深度学习和传统几何优化。例如,使用网络预测初始外参或特征对应,然后用几何方法进行精化;或者将几何约束嵌入到网络损失函数中进行端到端训练。
    • 关键技术与架构:
      • 特征提取: 常用 CNN 架构(如 ResNet、Network-in-Network (NiN))从图像和投影深度图中提取特征。为了处理 LiDAR 点云,通常先将其投影为深度图/强度图,或使用 PointNet/PointNet++ 等直接处理点云的网络。
      • 跨模态关联:
        • 代价体积(Cost Volume): 显式地计算两种模态特征图之间的相关性(如点积或相关层),构建一个表示匹配代价的多维张量。LCCNet 是使用代价体积的代表工作。
        • 注意力机制(Attention Mechanism)/ Transformer: 利用自注意力或交叉注意力机制来捕捉模态内部和模态之间的特征依赖关系,更好地聚合信息并进行关联。Transformer 架构因其强大的序列建模和上下文理解能力被引入到标定任务中。CalibFormer 和 CalibRefine 是基于 Transformer 或注意力机制的代表性工作。
      • 迭代优化/精化: 一些方法采用迭代的方式逐步提高标定精度。例如,LCCNet 和 CalibRefine 都包含迭代精化步骤。
    • 代表性模型:
      • LCCNet: 使用代价体积进行特征匹配,并通过迭代精化预测外参偏差。在 KITTI 数据集上表现良好,展示了在线自标定的潜力。
      • CalibFormer: 一个基于 Transformer 的端到端网络。它聚合多层特征以获得高分辨率表示,使用多头相关模块(Multi-head Correlation)计算跨模态特征的相关性,并利用 Transformer 架构回归精确的标定参数。在 KITTI 数据集上取得了优于先前深度学习方法的精度。
      • CalibRefine: 一个全自动、无目标物、在线标定框架。它首先使用一个”共同特征判别器”(基于物体检测结果、相对位置、外观嵌入和语义类别)来寻找可靠的 LiDAR-相机物体对应关系;然后进行粗略的基于单应性(Homography)的标定;最后通过迭代优化和基于注意力(Vision Transformer 和交叉注意力)的精化来提高精度,特别关注处理非平面失真和深度变化。该方法旨在无需初始标定或投影深度图,也无需真值标定矩阵进行训练(采用自监督后精化)。
    • 优缺点: 优点是自动化程度高,能够从数据中学习复杂的跨模态关系,无需手动设计特征,具有在线适应的潜力。缺点是通常需要大量的标注数据(尤其是带有精确外参真值的数据,获取成本高)进行监督训练,或者需要设计复杂的自监督学习策略。模型可能对训练数据和场景存在过拟合,泛化能力到新的环境或传感器时可能受限。训练和推理过程可能计算量较大。此外,许多深度学习方法仍被视为”黑箱”,其内部决策过程和失败模式不易解释。

深度学习已成为无标定物方法研究的主流方向。研究趋势呈现出从直接回归参数到利用深度学习进行特征提取/匹配并结合几何优化的转变。直接回归参数的网络结构简单,但可能难以隐式地学习精确的几何约束。而利用深度学习提取鲁棒特征或进行密集匹配,再结合传统几何优化,则可以更好地利用深度学习的表示能力和几何约束的精确性。Transformer 等先进架构因其处理序列数据和捕捉长距离依赖、进行跨模态交互的能力,被认为比标准 CNN 或单独的代价体积更适合处理复杂的跨模态标定问题,这在 CalibFormer 和 CalibRefine 等工作中得到了探索。特别是 CalibRefine 的迭代和基于注意力的精化机制,旨在解决初始估计不准和场景复杂性(如非平面)带来的挑战。

选择哪种无标定物方法需要在多个因素间进行权衡:对场景特征的依赖程度(特征法)、对运动轨迹质量的要求(运动法)、对初始参数的敏感性(信息论法)以及对数据和计算资源的需求(深度学习法)。没有一种方法能在所有场景下都表现最佳,方法的选择应根据具体的应用场景和约束条件来决定。

D. 开源工具箱与代码示例(LiDAR-Camera)

Section titled “D. 开源工具箱与代码示例(LiDAR-Camera)”

除了前面提到的基于标定物的方法工具,还有一些涵盖无标定物方法的工具箱或代码库:

  • Autoware: 集成了多种标定工具,包括基于棋盘格的相机内参标定、基于手动点选的 LiDAR-相机外参标定,以及可能通过第三方集成(如 AutoCore)支持的其他方法。其 extrinsic_calibration_manager 模块提供了交互式标定界面。
  • Apollo: 提供了车载传感器标定服务,包括一个无标定物的 LiDAR-相机标定工具,该工具利用车辆行驶过程中的数据进行标定,需要提供相机内参和初始外参估计。
  • OpenCalib(PJLab-ADG/SensorsCalibration): 一个全面的多传感器标定工具箱,除了基于目标物的方法,也包含了一些无标定物(target-less)的 LiDAR-相机标定方法。
  • MIAS-LCEC: 提供了一个基于大型视觉模型(MobileSAM)进行跨模态特征匹配的在线无标定物 LiDAR-相机标定工具箱和数据集。
  • CalibRefine: 相关的 GitHub 仓库 radar-lab/Lidar_Camera_Automatic_Calibration 存在,包含该方法的实现。
  • Awesome-LiDAR-Camera-Calibration: 一个 GitHub 仓库,收集整理了大量 LiDAR-相机标定相关的论文、工具箱和笔记,是查找资源的重要入口。
  • 其他研究代码: 许多特定论文(如基于信息论、特定特征、特定深度学习模型)可能会附带开源代码,需要根据论文信息查找,例如 velo2cam_calibration、lidar_camera_calibration 等。

LiDAR 和 IMU 的组合是实现高精度、高鲁棒性运动估计(即 LiDAR 惯性里程计/SLAM,LIO/LINS)的关键技术。IMU 提供高频的角速度和加速度测量,可以补偿 LiDAR 扫描期间的运动,而 LiDAR 提供精确的外部环境观测,可以约束 IMU 的漂移。为了有效融合这两种传感器的数据,精确的 LiDAR-IMU 外参(空间变换)和时间标定(时间偏移)至关重要。

  • 目标: 估计 LiDAR 坐标系 {L}\{L\} 与 IMU 坐标系 {I}\{I\} 之间的 6 自由度空间变换 TIL=(RIL,TIL)T_{IL}=(R_{IL}, T_{IL}),以及两者测量数据之间的时间戳偏移 Δt\Delta t。
  • 关键挑战:运动畸变(Motion Distortion): LiDAR 传感器(尤其是旋转式 LiDAR)扫描一帧点云需要一定时间(如 0.1 秒)。在此期间,如果传感器发生运动,采集到的点云会相对于真实的静态场景发生扭曲,即运动畸变。IMU 提供的高频运动测量(角速度和加速度)是进行运动补偿(去畸变)的关键,它允许估计出每个 LiDAR 点被采集时的精确位姿。
  • 与 LIO/LINS 的紧耦合: LiDAR-IMU 标定与 LiDAR 惯性里程计/SLAM(LIO/LINS)紧密相关。一方面,精确的标定参数是 LIO/LINS 系统准确运行的前提;另一方面,LIO/LINS 系统估计出的运动轨迹和状态(如 IMU 偏差)又常常被用作标定算法的输入或在标定过程中被联合优化。许多现代 LIO/LINS 系统甚至将外参和时间偏移作为状态变量进行在线估计和优化。

LiDAR-IMU 标定方法同样可以分为基于标定物和无标定物两类。虽然存在使用特定目标(如圆锥-圆柱特征)的方法,但无标定物方法因其便利性和适用于现场标定的特点而更为普遍。无标定物方法主要依赖于传感器自身的运动和对环境的观测。

  1. 基于运动的方法(Motion-Based / Hand-Eye Variant):
    • 原理: 与 LiDAR-相机类似,通过 LiDAR 里程计(通常基于点云配准,如 ICP 或 NDT)估计 LiDAR 的运动轨迹,通过 IMU 数据积分估计 IMU(即载体)的运动轨迹。然后利用手眼标定方程 AiX=XBiA_i X = X B_i 来求解 LiDAR 相对于 IMU 的外参 X=TILX = T_{IL}。其中 AiA_i 是 IMU 估计的两次位姿间的相对变换,BiB_i 是 LiDAR 估计的对应两次扫描间的相对变换。
    • 要求: 需要精确的 LiDAR 里程计和 IMU 积分结果。最关键的是,为了保证所有 6 个自由度的外参都可观,传感器的运动必须包含足够的激励,特别是各个轴向的旋转运动。缺乏足够的运动激励会导致标定问题退化,无法唯一确定外参。
  2. 基于优化的方法(Optimization-Based):
    • 原理: 将标定问题构建为一个联合优化问题,目标是最小化 LiDAR 观测数据与 IMU 预测的运动之间的一致性误差。这类方法通常将外参、时间偏移、IMU 偏差甚至传感器轨迹本身都作为待优化的变量。
    • 滤波方法(EKF-based): 将 LiDAR-IMU 外参和时间偏移作为状态向量的一部分,利用扩展卡尔曼滤波器(EKF)或其变种(如 MSCKF)进行在线估计。通过融合 LiDAR 特征(如点、线、面)的观测和 IMU 的预测来更新状态。优点是可以在线运行,缺点是线性化误差和对初始值的敏感性。代表性工作如 imu_lidar_calibration。
    • 批处理优化(Batch Optimization / Graph Optimization): 处理一段时间内(一个 batch)的所有 LiDAR 和 IMU 数据,构建一个大的非线性最小二乘问题。优化目标通常包括两部分:(1) LiDAR 观测约束:例如,最小化连续 LiDAR 扫描之间匹配特征(点、线、面、面元(surfel))的残差;(2) IMU 约束:最小化 IMU 预积分(preintegration)测量值与优化后的轨迹之间的残差。外参、时间偏移、IMU 偏差和轨迹节点位姿通常被同时优化。这种方法通常能达到更高的精度,但计算量较大,一般用于离线标定或在线 SLAM 中的后端优化。常使用因子图(Factor Graph)来表示优化问题。代表性工作包括 LI-Calib、OA-LICalib、GRIL-Calib、AFLI-Calib。
    • 连续时间方法(Continuous-Time Methods): 为了更好地处理 LiDAR 点云内部的时间戳差异(运动畸变)以及 LiDAR 和 IMU 数据的高频异步特性,一些方法采用连续时间轨迹表示方法,如 B 样条(B-Splines)或高斯过程(Gaussian Processes)。轨迹被表示为时间的连续函数,可以直接查询任意时刻的位姿、速度和加速度,从而精确地进行运动补偿和传感器数据融合。这种方法在批处理优化框架下尤为有效。代表性工作包括 LI-Calib、OA-LICalib、AFLI-Calib。
  • 可观性与受限运动(Observability & Constrained Motion): 如前所述,准确标定所有 6 自由度外参需要传感器经历充分的运动激励,特别是旋转。然而,许多实际的机器人平台(尤其是地面车辆)的运动主要发生在平面上,缺乏足够的俯仰和滚转运动。这会导致某些外参(如垂直方向的平移、俯仰角和滚转角)变得不可观或弱可观。为了解决这个问题,需要进行可观性分析,并设计专门的标定方法或数据采集策略。例如,GRIL-Calib 通过引入地面平面约束来增强在平面运动下的可观性。或者,在数据采集时,需要人为地让传感器经历更丰富的六轴运动(例如手持传感器进行标定)。
  • 时间标定(Temporal Calibration): 时间偏移的准确估计同样重要,它直接影响运动补偿的精度。时间偏移的可观性也依赖于运动的动态特性,通常需要有变化的加速度或角速度才能有效估计。许多现代优化框架将时间偏移作为待优化变量之一。
  • IMU 内参标定: IMU 的偏差(bias)和噪声特性对 IMU 积分的精度有很大影响,进而影响外参标定。精确的 IMU 内参(通常通过艾伦方差分析预先标定)是必要的。一些先进的标定框架也会在线估计 IMU 偏差。
  • 初始化(Initialization): 基于优化的方法通常需要一个合理的初始值才能保证收敛到全局最优解。一些方法致力于实现无需良好初始猜测的标定,或者开发鲁棒的初始化技术。
  • 环境要求: 无标定物方法依赖于环境特征。例如,基于点云配准的方法需要在环境中存在足够的几何结构(如平面、边缘)才能可靠地估计运动。数据采集环境的选择会影响标定精度。

LiDAR-IMU 标定与 LIO/LINS 系统的紧密耦合关系体现在其方法论中。LiDAR 的扫描匹配提供了相对运动信息,IMU 的积分提供了惯性运动信息,而标定的目标就是在统一的优化框架内,通过最小化这两者之间的不一致性来求解外参和时间偏移。这个过程往往伴随着对 IMU 偏差的估计和对传感器轨迹的精化,形成一个相互依赖、共同优化的过程。

处理实际应用中的运动约束是一个关键的实践挑战。标准标定方法通常假设传感器经历了所有自由度的充分运动激励,但这对于地面车辆等平台往往不成立。GRIL-Calib 等方法的出现,正是为了解决这一问题,通过引入额外的约束(如地面约束)来弥补运动信息的不足,这表明需要针对特定平台和运动模式开发专门的算法或精心设计数据采集方案。

D. 开源工具箱与代码示例(LiDAR-IMU)

Section titled “D. 开源工具箱与代码示例(LiDAR-IMU)”

以下是一些公开的 LiDAR-IMU 标定工具箱或代码库:

在机载或车载移动测绘系统(Mobile Mapping Systems, MMS)中,LiDAR 通常与 GNSS 接收机和 IMU 组成的定位定姿系统(Positioning and Orientation System, POS)集成,以实现对 LiDAR 点云的直接地理配准(Direct Georeferencing),即将点云坐标转换到全局地理坐标系。为了实现高精度的地理配准,必须精确标定 LiDAR 传感器与 POS(特别是其核心 IMU)之间的安装关系。

LiDAR 与 GNSS/INS 系统的外参标定主要涉及两个关键参数:

  1. 杆臂值(Lever Arm): 指从 IMU 坐标系原点(或车辆参考点)到 LiDAR 坐标系原点的三维平移向量。此外,还需要知道 IMU 原点到 GNSS 天线相位中心的杆臂值,以便将 GNSS 提供的天线位置转换到 IMU 中心。
  2. 指向角/安装角(Boresight Angles): 指 LiDAR 坐标系的三个轴相对于 IMU 坐标系(或载体坐标系)的三个旋转角度(通常是滚转角 Roll、俯仰角 Pitch、偏航角 Yaw 的不对准量)。

这些参数(杆臂和指向角)是连接 LiDAR 局部测量(距离、扫描角度)与载体全局位姿(由 GNSS/INS 提供)的桥梁,它们直接出现在地理配准方程(也称 LiDAR 方程)中。该方程根据 LiDAR 测距值、扫描角度、GNSS 提供的载体位置、INS 提供的载体姿态以及杆臂和指向角参数,计算出每个 LiDAR 点在全局坐标系下的坐标。标定的目标就是精确求解这个方程中的未知安装参数(主要是指向角,有时也包括杆臂值的精化)。即使微小的指向角误差,在较远的测程下也会导致显著的位置误差。

LiDAR-GNSS/INS 系统的标定通常包含以下步骤或策略:

  1. 平台标定(Platform Calibration): 在系统组装后,对一些易于测量的杆臂值进行物理测量,例如 IMU 中心到 GNSS 天线相位中心的距离。然而,手动测量精度有限,且难以精确测量指向角。
  2. 飞行中标定/行驶中标定(In-Flight / Drive Calibration): 利用系统在实际运行(飞行或行驶)中采集的数据来估计或精化标定参数,特别是指向角。主要有两种途径:
    • 数据驱动方法(Data-Driven / Strip Adjustment): 这种方法不直接使用地理配准方程,而是利用不同时间或不同航线采集到的重叠 LiDAR 条带(Strips)之间的一致性。通过寻找重叠区域内的同名点或特征(如平面片),计算一个几何变换(如刚性变换、仿射变换)来最小化条带间的不匹配程度。然后,根据简化的误差模型,将估计出的几何变换参数反算为指向角或杆臂误差的修正量。这种方法需要有足够的重叠区域和可匹配的特征。
    • 严格模型驱动方法(Rigorous Model-Driven / System Calibration): 这种方法直接基于完整的 LiDAR 地理配准方程。它需要在标定场地上布设具有已知坐标或已知几何形状的控制特征(Control Features),如地面控制点(GCPs)、建筑物角点、平面(如建筑物屋顶、墙面、平坦地面)等。通过最小化 LiDAR 测量点与其对应的控制特征之间的几何残差(如点到平面的距离),利用最小二乘法或其他优化技术来求解指向角和杆臂参数。基于平面特征的方法因其易于提取和鲁棒性而被广泛使用。
  3. 静态 vs. 动态标定: 一些方法可能在静态场景下进行标定,但更多的方法需要载体进行特定的动态飞行或行驶模式,以确保所有待标定参数的可观性。例如,飞行不同航向的平行航线、交叉航线、不同高度或进行特定的机动动作,有助于解耦不同指向角误差对点云位置的影响。无人机平台通常比地面车辆具有更大的机动灵活性,更有利于进行指向角标定。
  • GNSS/INS 精度: 标定结果的精度上限受到 GNSS/INS 系统提供的定位和定姿精度的严格限制。在 GNSS 信号不佳(如城市峡谷、隧道、林下)的区域,定位定姿误差会增大,直接影响标定精度,甚至导致标定失败。尤其是在地面移动测绘中,测程相对较短,GNSS 误差(如多路径效应)的影响比机载测绘更为显著。因此,标定作业应尽量选择 GNSS 信号良好、开阔的环境进行,并确保 INS 充分对准(尤其是航向角)。导航解的误差会直接混淆到估计的标定参数中。
  • 控制特征的可用性与质量: 基于模型驱动的方法依赖于标定场中存在足够数量且分布良好的几何控制特征。例如,需要有不同朝向的平面才能有效约束三个指向角。控制特征的测量精度也会影响标定结果。数据驱动方法则需要足够的条带重叠度和重叠区域内清晰可辨的特征。
  • 参数可观性: 必须确保采集的数据和选用的特征能够提供足够的几何约束,以唯一地确定所有待标定的指向角和杆臂参数。设计特定的飞行或行驶轨迹是保证可观性的常用手段。
  • 自动化程度与人力成本: 传统的标定方法往往需要人工选择控制点/特征,或进行手动参数调整,这不仅耗时耗力,还需要操作人员具备专业知识和经验。开发自动化的标定流程是提高效率和降低成本的关键。

许多 LiDAR-GNSS/INS 标定方法的核心思想是利用冗余信息。通过从不同视角(重叠条带)观测同一区域或特征,或者通过约束 LiDAR 点云符合已知的几何模型(如平面),可以检测到由标定误差引起的不一致性。通过优化算法最小化这些不一致性,就可以反求出标定参数。

LiDAR-GNSS/INS 标定的研究主要集中在移动测绘领域(航空、车载、无人机)。相关工作包括:

  • 基于平面特征的标定方法。
  • 结合多种特征(如平面和悬链线)的标定方法。
  • 基于条带调整的标定方法。

虽然专门针对 LiDAR-GNSS/INS 外参标定的独立开源工具箱相对较少,但一些更广泛的 SLAM 或多传感器融合框架可能包含相关功能或可以被适配用于此目的:

  • MINS: 支持融合 GPS/GNSS、IMU、LiDAR 等多种传感器,并进行在线标定,可以估计传感器之间的外参。
  • LIO-SAM: 主要关注 LiDAR-IMU 里程计,但其因子图框架中加入了 GPS 因子以进行全局位姿校正和消除漂移。虽然它假设 LiDAR-IMU 外参已知,但其框架有潜力扩展以包含 LiDAR-GPS/INS 的标定。
  • OpenCalib/LiDAR2INS: 提供了 LiDAR 到位姿传感器(可以是 INS)的外参标定功能。
  • hdl_graph_slam: 集成了 GPS 测量用于回环检测和全局地图优化,但其默认假设 LiDAR 和 GPS 坐标系是对齐的。
  • IN2LAAMA: 一个离线的 LiDAR-IMU 建图与自标定框架,虽然未明确提及 GPS,但其基于 IMU 的连续时间表示和优化框架与 INS 紧密相关。

随着机器人和自动驾驶系统传感器配置日益复杂,包含多个同类或异类传感器(如多个 LiDAR、多个相机、LiDAR、相机、IMU、GPS、雷达等组合),传统的逐对标定方法面临挑战。逐对标定不仅效率低下,而且容易导致误差累积和全局不一致性,即标定结果可能不满足传递性(例如,TACT_{AC} 可能不等于 TAB⋅TBCT_{AB} \cdot T_{BC})。因此,研究界越来越倾向于采用统一的多传感器联合标定框架。

  • 动机: 克服逐对标定的缺点,提高标定效率和全局一致性。
  • 目标: 在一个统一的优化框架内,同时估计系统中所有(或大部分)传感器之间的外参(空间变换)。这个框架还可以扩展到同时估计部分传感器的内参和传感器之间的时间偏移。
  • 优势: 通过考虑所有传感器和约束,可以获得全局最优(在最小二乘意义下)且满足传递性的标定结果。能够更好地利用系统中的冗余信息,提高标定的鲁棒性和精度。

图优化(Graph Optimization)是实现联合多传感器标定的主流方法。

  • 原理: 将整个多传感器系统建模为一个图(通常是因子图)。图中的节点(Nodes)代表需要估计的状态变量,例如传感器的位姿(相对于某个参考坐标系)、标定物的位姿、或者轨迹上的关键帧位姿。图中的边(Edges)或因子(Factors)代表状态变量之间的约束关系,这些约束来源于传感器的测量或已知的先验信息。例如:
    • 一对传感器同时观测到同一个标定物,可以建立一个约束该标定物在两个传感器坐标系下坐标转换关系的边。
    • 两个 LiDAR 传感器观测到重叠区域,可以通过点云配准建立它们之间的相对位姿约束边。
    • IMU 的预积分测量可以作为连接连续轨迹节点的运动约束边。
    • GPS 测量可以作为约束某个节点全局位置的边。
    • 回环检测(Loop Closure)可以作为约束两个非相邻轨迹节点的边。
    • 已知的运动学约束(如机器人关节运动)也可以作为边加入图中。
  • 方法流程:
    1. 图构建: 根据采集到的多传感器数据和标定设置(如标定物),构建包含所有待估计变量(传感器外参、内参、时间偏移、标定物位姿、轨迹节点等)和所有可用约束的图。
    2. 优化求解: 将图模型转化为一个大规模的非线性最小二乘问题。目标函数是所有约束(因子)误差的加权平方和。通过迭代优化算法(如高斯-牛顿法、Levenberg-Marquardt 法)求解该最小二乘问题,得到最优的状态估计值,其中就包含了所需的标定参数。常用的图优化库包括 Ceres Solver、g2o、GTSAM 等。
  • 优势:
    • 全局一致性: 通过同时优化所有变量和约束,保证了标定结果的全局最优性和一致性。
    • 灵活性和可扩展性: 图优化框架非常灵活,可以方便地加入新的传感器类型、新的约束类型(如来自不同标定物或环境特征的约束),适用于各种复杂的传感器组合和标定场景。
    • 鲁棒性: 能够自然地处理冗余信息(例如,一个标定物被多个传感器同时看到),并通过鲁棒代价函数处理外点(错误的测量或匹配)。

以下是一些支持多传感器联合标定或基于图优化的开源工具箱:

  • Kalibr: 虽然主要针对相机-IMU 标定,但其基于连续时间批处理优化的框架具有一定的通用性,被一些研究借鉴。
  • multi_sensor_calibration(tudelft-iv):
  • multisensor_calibration(FraunhoferIOSB):
  • ipb_calibration(PRBonn):
    • GitHub:https://github.com/PRBonn/ipb_calibration
    • 范围:利用整个标定环境(带有 Apriltag 标记)作为标定目标,联合标定系统的内参和外参。不依赖传感器间的重叠视场。基于最小二乘调整。
  • multi_dof_kinematic_calibration(cfneuhaus):
  • MINS(rpng / ctu-mrs):
  • OpenCalib(PJLab-ADG/SensorsCalibration):
  • Multi_LiCa(TUMFTM):
    • GitHub:https://github.com/TUMFTM/Multi_LiCa
    • 范围:专注于多个 LiDAR 之间的外参标定框架,采用特征匹配(FPFH+TEASER++)进行粗对齐,GICP 进行精对齐。支持 ROS2。
  • mix-cal(jongwonjlee):
  • ethzasl_msf / graph_msf:

联合标定方法,特别是基于图优化的方法,通过整合来自所有传感器的信息和约束,有望克服传统逐对标定的局限性,为复杂的机器人和自动驾驶系统提供更准确、更一致、更鲁棒的标定解决方案。

多传感器标定是实现可靠传感器融合、支撑自主系统(如自动驾驶汽车、移动机器人)感知、定位与建图能力的基础。本综述回顾了 LiDAR 与相机、IMU、GPS/GNSS 等关键传感器进行联合标定的原理、策略、方法和相关开源工具。

主要趋势与发现:

  1. 从基于标定物到无标定物: 出于对自动化、在线标定能力和降低操作复杂性的需求,研究趋势明显从依赖特定标定物(如棋盘格)的方法转向利用自然环境特征或传感器运动信息的无标定物方法。
  2. 深度学习的兴起: 深度学习技术,特别是用于 LiDAR-相机标定的方法,近年来发展迅速。从直接回归参数到利用网络进行特征提取/匹配,再到引入代价体积、注意力机制和 Transformer 架构(如 LCCNet、CalibFormer、CalibRefine),深度学习在提高自动化程度和处理复杂跨模态关联方面展现出巨大潜力。
  3. 在线与自适应标定: 针对传感器参数可能因环境因素(震动、温度)发生漂移的问题,在线标定和自适应标定成为重要研究方向,旨在实现系统运行过程中的实时参数监测与校正。
  4. 联合优化与全局一致性: 对于包含多个传感器的复杂系统,联合标定框架,特别是基于图优化的方法,因其能保证全局一致性和有效利用冗余信息而受到青睐。
  5. 紧耦合标定与状态估计: LiDAR-IMU 标定与 LIO/LINS 系统的发展紧密相连,许多先进方法将标定参数(外参、时间偏移、IMU 偏差)与状态估计(位姿、速度)进行联合优化。
  6. 开源工具与数据集: 涌现了许多优秀的开源标定工具箱(如 OpenCalib、Kalibr、Autoware/Apollo 相关工具、LI-Calib 系列、MINS 等)和数据集(如 KITTI、nuScenes、M2DGR、VECtor 等),极大地推动了该领域的研究和应用。

持续的挑战与未来方向:

  1. 鲁棒性与泛化能力: 无标定物方法,特别是基于特征和深度学习的方法,其鲁棒性和对不同环境、传感器类型、光照/天气条件的泛化能力仍需提高。
  2. 数据依赖与标注: 深度学习方法通常需要大量高质量的训练数据,尤其是带有精确标定真值的数据,获取成本高昂。发展有效的自监督、弱监督或无监督学习方法是未来的重要方向。
  3. 可观性与运动约束: 如何在传感器运动受限(如地面车辆的平面运动)的情况下保证所有标定参数的可观性,仍然是一个实际挑战。需要更深入的可观性分析和更巧妙的约束利用。
  4. 时间标定的精度与鲁棒性: 精确估计微小的时间偏移仍然困难,尤其是在运动变化不显著的情况下。
  5. 大规模、异构系统标定: 随着传感器数量和种类的增加,如何高效、准确地标定大规模异构传感器网络(包括车端和路侧设备)是一个日益突出的问题。
  6. 标准化与基准测试: 缺乏统一的标定评估标准和基准测试平台,使得不同方法之间的比较有时不够公平和全面。

未来,多传感器标定技术将继续向着更高精度、更强鲁棒性、更高自动化程度、更低成本和更广泛适应性的方向发展。结合传统几何方法与先进深度学习技术的混合方法、能够处理大规模异构系统的统一标定框架、以及鲁棒的在线自标定技术将是未来研究的重点。随着开源社区的不断壮大和更多高质量数据集的发布,预计将进一步加速多传感器标定技术的进步及其在各类自主系统中的应用落地。