Contents — find the section you need

手持相机四处走动,在拍摄的一系列图像中,墙角或标志牌会逐渐发生微小的移动。与此同时,加速度计和陀螺仪会高频测量设备在同一时间间隔内的加速度和旋转量。视觉里程计 (VO) 根据加速度和旋转量估算出当前位置的相对姿态、速度和位置;视觉惯性里程计 (VIO) 则同时结合加速度和旋转量进行估算。它是室内无人机、AR/VR 头显、手持式 3D 扫描仪和移动机器人的核心技术。

VO/VIO 有时被视为 SLAM 的同义词,但它们的作用略有不同。里程计是一个前端阶段,它生成平滑的短期相对轨迹,其误差会累积。SLAM 使用地图、位置识别和闭环检测来全局校正累积误差。本文重点不在于地图构建的整体图景,而在于如何逐帧整合运动信息、如何融合惯性测量单元(IMU)数据,以及何时应该对估计结果产生怀疑。

安装在车辆挡风玻璃上的 Mobileye 摄像头车辆摄像头示例
Xsens MTi-G GNSS/INS 集成 IMUGNSS/INS IMU 示例

图片:Car Mobileye 系统窗口摄像头 (Ranbar, CC BY-SA 4.0) / Xsens MTi-G (Kallap85, CC BY-SA 4.0),Wikimedia Commons。

代表性传感器,并非必需的 VO/VIO 产品组合。

0. 30 秒概要

  • VO 通过图像对应关系或像素外观变化,按顺序估计相机运动。单目 VO 无法观测到平移的绝对尺度,误差会随时间累积。立体视觉、RGB-D、已知物体尺寸、惯性传感和轮子都能提供尺度信息。

  • VIO 将相机的低频、抗漂移观测数据与 IMU 的高频观测数据融合。IMU 的高频观测数据在短时间内精度较高,但会因偏差而漂移。陀螺仪提供旋转信息;加速度计补充区分重力和加速度的线索。

  • IMU 预积分将图像关键帧之间的多个 IMU 采样压缩成一个单一的、可进行偏差线性化的约束。这使得滑动窗口优化在计算上易于处理。

  • 初始化是难点所在。如果视差不足,则无法区分包含旋转、静止状态下的偏差估计、相机-IMU时间同步和外部标定的激励、尺度、重力、速度和偏差。

  • 评估报告不仅应包含平均误差,还应包含ATE/RPE、每个时间间隔的漂移、故障率、延迟、CPU/GPU使用率以及轨迹是否使用了任何重定位。低纹理、动态物体、运动模糊、滚动快门、冲击和同步偏移是典型的故障情况。

1. VO估计的内容和它不估计的内容

将相机或IMU坐标系B相对于世界坐标系W在时间k的位姿写为位置\mathbf{p}_{WB,k}和旋转R_{WB,k}。 VO 的核心输出是相邻帧或关键帧之间的相对变换。

T_{C_kC_{k+1}}= \begin{bmatrix}R_{C_kC_{k+1}}&\mathbf{t}_{C_kC_{k+1}}\\\mathbf{0}^\mathsf{T}&1\end{bmatrix}\in SE(3)

在特征跟踪方法中,基本矩阵通过 RANSAC 从对应点估计,并从中恢复旋转和平移方向。在已经拥有 3D 点的立体/RGB-D/基于地图的方法中,PnP 算法应用于 2D-3D 对应关系。在直接 VO 中,它不匹配显式描述符,而是优化姿态,使曝光校正后的像素值在其投影位置处一致。

无论使用哪种方法,VO 都是一种航位推算,它整合了“自上一帧以来我移动了多远”。如果没有外部地图或回环检测,即使相对姿态中存在微小的误差也永远不会消失。位置误差通常会随着时间和行进距离的增加而增大,即使你沿着一条长走廊来回走动并返回起点,轨迹也不会闭合。这不仅仅是实现上的缺陷——这是这类问题固有的特性,这类问题会按顺序累积局部观测数据。

Diagram 1 · Use the button to switch views
Fusing camera and IMU in VIOThe camera supplies low-frequency visual constraints, the IMU supplies high-frequency motion constraints, and sliding-window optimization estimates the state trajectory. CameraImages, features, direct method IMUAngular velocity, acceleration (high-frequency) Preintegration + visual residualSliding windowoptimization / filter State estimatePose, position, velocityGravity, bias, scale Calibration, time sync, extrinsics

单目比例问题

校准后的单目双视图对应关系约束E=[\mathbf{t}]_\times R,但无法确定 \mathbf{t} 的长度。这是因为通过 s>0 对每个 3D 点进行缩放和平移,图像投影保持不变。单目视觉观测姿态可能看起来很精确,但位置单位是任意的——如果帧与帧之间的比例尺发生变化,甚至轨迹的形状也会失真。

使用已知基线 B 的立体视觉系统,可以从视差 d 中恢复深度,即 Z=fB/d。RGB-D 为传感器自身的深度赋予了固定的比例尺。在视觉成像中,由于加速度的单位是 m/s²,并且重力的大小接近已知值,因此足够的运动激励可以将视觉系统的任意比例尺与物理比例尺对齐。但是,仅仅安装一个 IMU 并不能自动产生比例尺——无论是在静止状态下、以恒定速度运动状态下,还是在过短的时间间隔内,或者,如果时间偏移错误,尺度和偏差就会相互混淆。

2. 相机观测:基于特征的方法和直接方法

基于特征的视觉观测 (VO) 使用 ORB、SIFT、FAST+KLT 和类似方法跟踪的对应关系。对于新帧的二维观测值 \mathbf{z}_{ij} 和地标 \mathbf{P}_j,投影残差为:

\mathbf{r}_{C,ij}=\mathbf{z}_{ij}-\pi\left(K\,T_{CW,i}\mathbf{P}_j\right)

其中 \pi([X,Y,Z]^\mathsf{T})=(X/Z,Y/Z)^\mathsf{T} 是透视分割。RANSAC 算法去除不匹配项,Huber 损失或类似损失函数防止剩余的异常值权重过高。基于特征的方法对曝光变化相对鲁棒,并且更容易进行几何可视化和调试。

直接方法最小化对应像素或小块的亮度残差。对于曝光参数 a_i,b_i,点 \mathbf{u} 处的残差可以粗略地表示为:

r_I=I_j\left(\pi(T_{C_jW}T_{WC_i}\pi^{-1}(\mathbf{u},d))\right)-e^{a_j-a_i}I_i(\mathbf{u})-(b_j-e^{a_j-a_i}b_i)

这种方法可以利用许多纹理像素,但它对亮度恒定性假设、滚动快门、模糊、自动曝光和反射非常敏感。半直接方法则采取折衷方案——使用像素进行粗略跟踪,在后期阶段使用特征。

方法 主要观察 优势 劣势 代表性示例
基于特征的视觉观测 (VO) 关键点重投影 易于解释,对光照变化相对鲁棒 纹理较少,重复特征 ORB-SLAM 系列,VINS-Mono
直接/半直接 像素/块亮度 密集信息,亚像素跟踪 曝光变化、模糊、反射 DSO,SVO
单目视觉成像 (VIO) 图像 + IMU 轻量级,尺度可观测 对初始化/同步敏感 VINS-Mono,OpenVINS
立体视觉成像 (VIO) 左右图像 + IMU 即时缩放,稳定初始化 功耗,左右同步/校准 VINS-Fusion,Basalt

3. IMU 的测量内容,以及为何不能直接积分

IMU 输出陀螺仪的角速度 \tilde{\boldsymbol\omega} 和加速度计的比力 \tilde{\mathbf{a}}。这些并非理想值——它们包含了偏差 \mathbf{b}_g,\mathbf{b}_a 和白噪声 \mathbf{n}_g,\mathbf{n}_a。

\tilde{\boldsymbol\omega}=\boldsymbol\omega+\mathbf{b}_g+\mathbf{n}_g, \qquad \tilde{\mathbf{a}}=R_{BW}(\ddot{\mathbf{p}}_{WB}-\mathbf{g})+\mathbf{b}_a+\mathbf{n}_a

关键在于,加速度计并非直接测量世界加速度,而是测量比力,其中已扣除重力。在不知道方向的情况下,无法确定重力应向哪个方向加回,即使是很小的偏差,双重积分也会导致位置快速漂移。连续时间运动方程为:

\dot R_{WB}=R_{WB}[\tilde{\boldsymbol\omega}-\mathbf{b}_g-\mathbf{n}_g]_\times, \quad \dot{\mathbf{v}}_{WB}=\mathbf{g}+R_{WB}(\tilde{\mathbf{a}}-\mathbf{b}_a-\mathbf{n}_a), \quad \dot{\mathbf{p}}_{WB}=\mathbf{v}_{WB}

仅观察一秒后的误差,IMU 看起来平滑且性能优异,但经过数分钟的无辅助导航后,偏差和方向误差会严重影响位置精度。VIO 的核心在于利用图像校正 IMU 的长期漂移,同时 IMU 弥补图像稀疏的短时运动和旋转数据。

4. IMU 预积分:压缩关键帧之间的运动

典型的设置中,相机以 20–60 Hz 的频率运行,IMU 以 100–1000 Hz 的频率运行。在关键帧 i 和 j 之间,可能存在数十到数百个 IMU 测量值。每次优化器调整姿态或偏差时都重新积分每个样本将非常耗费资源。Forster 等人的 IMU 预积分方法预先计算了围绕给定线性化点偏差的相对旋转、速度变化和位置变化,并保留了雅可比矩阵。协方差。

将去除重力和世界速度后的量记为 \Delta R_{ij},\Delta\mathbf{v}_{ij},\Delta\mathbf{p}_{ij},预测结果大致为:

R_j\simeq R_i\Delta R_{ij},\quad \mathbf{v}_j\simeq\mathbf{v}_i+\mathbf{g}\Delta t_{ij}+R_i\Delta\mathbf{v}_{ij},
\mathbf{p}_j\simeq\mathbf{p}_i+\mathbf{v}_i\Delta t_{ij}+\frac12\mathbf{g}\Delta t_{ij}^2+R_i\Delta\mathbf{p}_{ij}

当偏差更新时,使用存储的 \partial\Delta/\partial\mathbf{b} 应用一阶校正,并且仅当变化较大时才进行完全重新积分。旋转不是作为普通向量求和,而是通过指数映射或四元数在 SO(3) 流形上进行合成。携带协方差 \Sigma_{ij} 使得噪声 IMU 和精确的相机残差能够在同一目标函数中得到正确的加权。

滑动窗口 VIO 的代表性目标函数为:

\min_{\mathcal X}\sum_{(i,j)\in\mathcal{B}}\left\|\mathbf{r}_{I,ij}\right\|^2_{\Sigma_{ij}^{-1}} +\sum_{(i,l)\in\mathcal C}\rho\left(\left\|\mathbf{r}_{C,il}\right\|^2_{\Sigma_{C}^{-1}}\right) +\left\|\mathbf{r}_{\text{prior}}\right\|^2

状态集 \mathcal X 包含每个关键帧的姿态、位置、速度、陀螺仪/加速度计偏差、地标点的逆深度,以及必要时的时间偏移或外部参数。旧状态被边缘化为先验,从而控制计算成本。由于边缘化依赖于线性化点,因此反复大幅度地更新状态往往会破坏一致性。诸如首次估计雅可比矩阵 (FEJ) 之类的技术不仅仅是速度优化——它们的存在是为了防止系统错误地“观测”到实际上不可观测的自由度。

5. 基于滤波器与基于优化

VIO 大致分为误差状态扩展卡尔曼滤波器 (EKF) 系列和固定长度非线性优化系列。前者按顺序更新当前状态和协方差,通常可以降低延迟和内存占用。MSCKF 不将特征点作为长期状态保存;而是将其边缘化为多视图约束,从而保持轻量级。OpenVINS 实现了这一系列算法。强调可复现性和可扩展性。

后者将多个关键帧和地标点联合优化。VINS-Mono 就是一个典型的例子,它包含了特征跟踪、IMU 预积分、滑动窗口和回环检测。将重投影误差分布到多个帧上通常可以提高精度,但边缘化、求解器、延迟以及初始化失败后的恢复都需要精心设计。

方面 EKF/MSCKF 系列 滑动窗口优化系列
估计形式 状态和协方差的顺序更新 在多个时间步长上迭代最小化因子图
计算/延迟 可预测,易于保持低延迟 取决于关键帧数和迭代次数
特征处理 易于作为观测约束进行边缘化 易于将逆深度等作为显式状态
优势 适用于嵌入式系统,易于处理协方差 更容易保持重投影的总体一致性
注意事项 线性化和一致性、可观测性 边缘化误差、CPU 负载、重线性化

两者并无绝对优劣之分。选择时应考虑所需的延迟、传感器频率、CPU 预算、视场角、运行环境和维护能力。如果仅比较论文中报告的轨迹误差,而忽略相机型号、标定、数据集运动以及是否使用了重定位,则很容易做出错误的实现选择。

6. 初始化:最初几秒内需要确定的内容

在 VIO 启动时,世界方向、初始速度、陀螺仪偏差、加速度计偏差、重力、单目比例尺以及相机-IMU 相对位姿均未确定。典型的流程是仅从图像构建双视图/多视图相对结构,然后将该视觉运动与 IMU 积分对齐,以求解速度、重力方向、比例尺和偏差。

静止区间可提供初始值。陀螺仪偏差估计值来自平均陀螺仪读数,重力方向则来自平均加速度方向。但加速度计无法区分车辆自身的线性加速度和重力。在初始化过程中加入“激励”(即沿多个轴旋转和平移,而不仅仅是缓慢地来回移动设备)有助于理清尺度和偏差之间的相关性。相反,如果初始设备几乎静止在桌面上、沿一个方向匀速移动,或者只能观测到一个平面,则往往会导致系统观测不足。

判断初始化是否成功不仅仅取决于优化器是否收敛。还要检查估计的尺度是否为正且合理,重力大小是否接近9.81\,\mathrm{m/s^2},偏差是否远超出传感器的规格,以及初始三角测量点是否具有足够的视差和较高的正深度比例。与其在失败后沿用旧的错误状态,不如重置图像轨迹和IMU缓冲区并重新初始化,这样通常损害更小。下游。

7. 校准和时间同步

决定 VIO 性能的关键不在于算法名称,而在于传感器模型的正确性。至少需要进行三项校准。

  • 相机内参校准:焦距、主点、畸变模型。如果图像被调整大小或裁剪,K 也必须随之改变。

  • 外参校准:相机和 IMU 之间的刚体变换 T_{BC}。几度的旋转误差或几厘米的力臂误差在快速运动下会产生显著影响。

  • 时间校准:图像曝光时间和 IMU 时间之间的偏移量,以及(如果需要)相机读取时间。不同的时钟、缓冲和驱动程序时间戳可能会留下几毫秒的残余偏移。

Kalibr 是一个广泛用于估计相机和 IMU 之间时间偏移和外参的工具。但是,处理获得的数值时……永久设置存在风险——对焦变化、重新组装外壳、温度变化或传感器固件的时间处理都可能改变这些条件。与其直接从数据手册中复制典型值,不如使用类似艾伦方差的方法检查IMU噪声密度和偏置随机游走,这样有助于避免过度依赖滤波器。

卷帘快门相机并非在瞬间捕获单帧图像。在快速旋转下,顶部和底部两行图像的观测姿态不同,因此假设全局快门的重投影残差会存在系统性偏差。使用全局快门进行短曝光是最可靠的解决方法;如果无法做到这一点,可以考虑使用包含行计时和IMU补偿的观测模型。添加左右摄像头或深度传感器时,硬件触发同步是更佳选择。

8. 选择实现方案:VINS-Mono、OpenVINS及相关系统

VINS-Mono是一款被广泛引用的基于优化的VIO实现方案,适用于单目摄像头和IMU。它包含在线外参和时间偏移校准、特征跟踪等功能。预积分、滑动窗口和闭环检测。它的价值不仅在于输出位姿,更在于整个配置信息清晰易懂,便于研究。当您需要结合立体视觉或GPS数据时,VINS-Fusion是一个不错的选择。

OpenVINS是一个基于MSCKF/EKF系列的开源实现,采用FEJ设计,并明确保证了一致性。它适用于验证基于滤波器的VIO如何处理状态、协方差和标定等情况。Basalt为立体视觉VIO提供高性能优化后端,并已针对EuRoC等数据集进行了测试。在智能手机和AR应用中,使用平台内置的VIO通常更贴近实际应用,因为它能够访问相机时序、IMU时序和设备特定的标定信息。

实现/系列 估计方式 传感器配置示例 适用场景 采用时需要检查的事项
VINS-Mono 优化,固定窗口 单目 + IMU 学习 VIO 的整体结构,研究原型 ROS 生成,校准格式,初始化条件
VINS-Fusion 优化,固定窗口 单目/双目 + IMU,可选 GPS 多传感器原型 坐标系和绝对观测值的加权
OpenVINS EKF/MSCKF 单目/双目 + IMU 嵌入式学习,滤波器验证 噪声值,FEJ,状态设计
Basalt 优化 双目 + IMU 高性能 VIO 后端 构建环境,相机模型
自定义 OpenCV + Ceres 任意 任意 特定需求工作,学习 验证重投影,预积分,边缘化

在比较现有实现时,不要将演示中出现的轨迹视为成功。在真实硬件上验证:输入图像的分辨率和实际频率、IMU 的单位和坐标轴约定、时间参考外参标定、初始化失败时的行为、跟踪丢失后的重定位、CPU 使用率、内存和许可证。特别是,如果 ROS 消息的时间戳被填充为“接收时间”,估计器会收到一个看起来正确的订单,但时间间隔在物理上是错误的。

9. 最小处理流程

  1. 标定相机内参/外参和时间,并将图像和 IMU 数据缓存到同一时间基准上。

  2. 每次收到 IMU 数据时,使用偏差校正后的角速度和比力预测状态,并更新协方差或预积分。

  3. 每次收到图像时,跟踪前一帧/关键帧的特征,并使用前向-后向检查、RANSAC 和掩码去除异常值。

  4. 初始化前,判断视差和激励,并将视觉结构与惯性数据对齐。如果条件较差,则延迟启动。

  5. 初始化后,将视觉重投影残差与 IMU 残差融合,更新姿态、位置、速度等信息。偏差和点。

  6. 边缘化旧的关键帧,并丢弃未通过质量门检查的观测值。如有必要,过渡到重新定位或安全重置。

在此流程中,预测和校正之间的区别至关重要。即使图像暂时丢失,IMU 预测仍可继续产生输出,但其不确定性会增加。应用程序端不应仅接收“姿态可用/不可用”的二元结果,而应接收跟踪状态、协方差或质量分数以及自上次视觉更新以来的时间,并使用这些信息逐步切换 AR 显示、控制速度和安全停止。

10. 评估指标:如何测量才能公平比较

绝对轨迹误差 (ATE) 是估计位置序列与真实位置序列在通过刚体变换或 Sim(3) 变换对齐后的差异。

\mathrm{ATE}_{\mathrm{RMSE}}=\sqrt{\frac1N\sum_{k=1}^{N}\left\|\mathbf{p}^{\mathrm{gt}}_k-(R\hat{\mathbf{p}}_k+\mathbf{t})\right\|^2}

由于单目视觉观测 (VO) 的尺度不确定,因此务必说明 Sim(3) 对齐是否也与尺度匹配。如果您确实想在视觉成像 (VIO) 或立体视觉中查看尺度误差,请使用 Sim(3) 变换。对齐会掩盖这种误差。是否使用 SE(3) 对齐、仅对齐起始位姿,或比较未对齐的轨迹,应根据具体用途而定。

相对位姿误差 (RPE) 用于测量固定时间或距离区间内的局部漂移。通过估计的相对变换与真实值之间的差异,

计算平移误差(m/m 或 %)和旋转误差(deg/m,deg/s)。即使长距离的 ATE 值很小,如果短时抖动较大,则该轨迹不适合增强现实 (AR) 或飞行控制。反之,平滑但长距离漂移的轨迹也不利于地图构建。

指标 主要含义 陷阱
ATE均方根误差/中位数 轨迹的整体位置一致性 数值会因对准方法的不同而变化很大
相对位置误差(距离/时间间隔) 局部漂移,对控制的影响 除非明确指定时间间隔长度,否则无法进行比较
旋转误差 陀螺仪/视觉定向的质量 偏航角与横滚/俯仰角的混合会掩盖其原因
比例误差 单目视觉/立体视觉的物理比例 无法在 Sim(3) 对准后进行评估
跟踪率/失败率 实际可用性 不会掩盖失败后的自动重新初始化
延迟/CPU/功耗 嵌入式实现的实用性 仅凭离线处理无法判断

EuRoC MAV、TUM VI、UZH-FPV 和 KITTI 是常用的公开数据集,常用于比较。但室内手持相机、车载设备和竞速无人机在视场角、光照、速度、振动和曝光方面存在差异。因此,不应将基准排名直接应用于实际场景。硬件方面,应根据与自身日志接近的路线、速度和故障情况进行评估。即使在无法获取真实数据的现场,您也可以对照闭环的起点/终点间隙、已知距离、墙面重投影或外部运动捕捉覆盖的部分区域进行审核。

11. 典型故障情况及应对措施

低纹理、黑暗、模糊

白墙、昏暗的走廊、逆光或急转弯会导致视觉残差梯度不足。当特征点较少时,放宽 RANSAC 阈值只会增加不匹配的情况。应对措施包括:缩短曝光时间的照明/传感器设计、使用广角或立体镜头、重新检测特征以及通知用户预测不确定性增加。

动态物体和反射

VIO 假设大多数图像点属于静态背景。人群、交通中的前导车辆、镜子、玻璃和水面都会打破这一假设。仅靠鲁棒损失和 RANSAC 无法解决背景点占比过低的问题。我们需要排除运动物体的语义区域,区分具有深度或流动特性的多种运动,并设计一个优先处理固定物体的模型。

IMU饱和、振动、温度漂移

无人机和小型机器人的电机振动会向加速度计注入强烈的带限噪声,冲击会导致其量程饱和。如果滤波器噪声设置过小,或者过度依赖IMU,会导致IMU拒绝图像校正并出现偏差。应使用隔振措施、适当的带限、饱和标志、包含温度和测量噪声参数的偏置模型。此外,还要注意——过度平滑原始IMU数据会丢失短时加速度信息。

时间偏移和坐标系混淆

5毫秒的时间偏移对应于快速旋转时较大的视场差异。应明确图像时间戳是指曝光开始时间、曝光中点时间还是接收时间,以及IMU时间戳是指采样时间还是到达时间。混淆左右手约定、重力方向、T_{BC} 与 T_{CB} 的取值,或者相机光轴方向,都可能导致数值优化收敛但物理上错误。准备单元测试时,应包含静止测试、已知的 90 度旋转和短直线运动。

混淆初始化和重定位

初始化是指从没有地图或比例尺的状态开始进行估计;重定位是指返回到已知的地图或过去的关键帧。纯 VO/VIO 通常在跟踪丢失时会在新的局部坐标系中重新启动。评估时,不要将闭环 SLAM 的重定位能力与 VO 的原始漂移性能混淆。在产品中,应明确决定在跟踪丢失后是继续使用旧的坐标系、安全停止还是使锚点失效。

12. 最新进展

近年来,基于学习的特征和对应关系估计方法,例如 SuperPoint、LightGlue 和 LoFTR,在某些情况下已被证明能够有效应对传统局部描述符难以捕捉的外观变化。结合深度网络和迭代几何优化的方法,例如 DROID-SLAM,也已出现。但即使学习模型能够返回大量对应关系,尺度模糊、平面退化、时间同步和 IMU 偏差等物理问题仍然存在。因此,验证学习输出是否满足鲁棒几何、重投影误差和惯性一致性要求的设计仍然是根本方法。

事件相机凭借其高速和高动态范围,有望覆盖传统相机难以应对的模糊或黑暗环境。将激光雷达、超宽带、全球导航卫星系统或轮式里程计等多模态估计方法也正变得越来越实用,成为应对长期漂移和恶劣环境的有效手段。增加传感器数量并不会自动提升性能——外部参数、时序、故障检测和权重调整都会成为新的潜在故障点。

13. 总结

视觉观测 (VO) 是一种有效的里程计技术,可用于从图像中恢复短期相对运动,但单目 VO 缺乏尺度信息,且局部误差会累积。视觉惯性观测 (VIO) 结合了惯性测量单元 (IMU) 的高频运动约束和相机的长期校正,可同时估计尺度、位姿、速度和偏差。其核心在于正确的传感器模型、IMU 预积分、使用足够的运动激励进行初始化,以及对视觉和惯性残差的稳健融合。

在实践中,首先要验证标定、时序和坐标系,然后将视差、内点分布、重投影误差、偏差、重力和跟踪状态转换为可观测的日志。VINS-Mono 和 OpenVINS 是很好的起点,但需要根据您的采集条件、延迟、重新初始化策略和安全要求进行评估。最终应该信任的不是轨迹看起来有多好,而是能够解释在哪些条件下可以观察到尺度和姿态,以及在哪些条件下不确定性会增加的设计。

检查你的理解
添加IMU总是能稳定尺度吗?

可观测性取决于运动。

即使增加了传感器,激励不足或校准误差也可能导致估计不稳定。

参考文献(原始资料和官方文档)

What to read next

Review the background多视图立体建模入门——将稀疏点云填充为密集三维形状Continue the series环路闭合入门——一次性修复SLAM系统环路漂移Explore another aspect of this field图像亮度 Lab — 曝光、伽马与裁剪