尺度可观性
单目相机只能测量方向(指向点的方位),因此重建世界的绝对大小是不可观测的:将整个场景和所有平移量按任意因子缩放,会产生完全相同的图像。双目相机从结构上消除了这种模糊性。两个相机之间已知且经过标定的基线 是一个被置入每个双目观测中的物理长度:通过 ,每个匹配的关键点都能得到以米为单位的深度。度量尺度可以从单个双目帧中被观测到,无需运动、无需 IMU、也无需任何场景假设。
为什么单目尺度不可观测
取任意单目重建结果 ,将其按 缩放:点变为 ,平移量变为 (旋转不变)。每个投影都保持不变,因为针孔投影对齐次坐标的缩放是不变的:
对于每一个 ,测量似然都是完全相同的——无论多少单目数据,都无法区分一个被缓慢穿越的小世界与一个被快速穿越的大世界。尺度是一种规范自由度(gauge freedom),正如全局位置和方向的选择一样。
什么让尺度变得可观测
一旦任何测量携带了度量单位,尺度就变得可观测:
- 双目基线——每一帧测量中内置的一个经过标定的物理长度(本页主题)。
- IMU 加速度计——测量度量比力;对其积分可以预测度量位移,因此将其与(带尺度模糊的)视觉位移进行比较,可以揭示尺度。但这需要加速度激励:在匀速或悬停状态下,加速度计只能感知到重力,尺度再次变得弱可观测。
- 深度相机/LiDAR——直接的度量距离测量。
- 轮式里程计——位姿之间的度量平移。
- 场景先验——已知物体尺寸、已知相机相对地平面的高度(在自动驾驶中很常见)、已知尺寸的基准标记(fiducial markers)。
对SLAM估计器的影响
- 即时初始化。 双目 SLAM 系统可以从第一帧开始构建度量局部地图,而单目 SLAM 需要平移运动,并且仍然只能恢复带尺度模糊的结构(并且单目 VIO 需要足够的 IMU 激励才能使尺度收敛——VI-DSO 甚至将尺度保留为一个显式的优化变量,以便能够以任意值启动并在之后收敛)。
- 无尺度漂移。 单目里程计会随时间累积尺度误差(尺度漂移),位姿图方法必须使用 (7 自由度)回环来校正。双目相机在每个关键帧上都约束了尺度,因此回环检测简化为普通的 (6 自由度)对齐。
- VIO 中更少的不可观测方向。 在单目 VIO 中,尺度只能通过 IMU 加速度变得可观测;四个方向(全局位置和偏航角)仍然不可观测。双目 VIO 直接从基线获得尺度,在低激励运动(悬停、匀速)期间保持估计器的良好条件性,而这些情况下单目 VIO 的尺度是弱可观测的。
- 注意事项——尺度的好坏取决于你的几何结构。 度量信息随距离衰减(),因此在远超基线的距离上,系统会优雅地退化为单目行为。基线标定误差也会直接转化为全局尺度偏差。
常见陷阱
- 认为有 IMU 就总能获得尺度:悬停的无人机或以恒定速度巡航的汽车几乎不产生加速度激励;单目 VIO 的尺度恰恰在这些常见情形下可能会漂移或缓慢收敛。
- 远场双目实际上等同于单目:在高速公路上,大部分场景可能超出了车顶双目装置的可靠测距范围;估计器不应将这些点视为度量锚点。
- 未标定的基线变化:热膨胀或机械挠曲会改变 ;由于 会乘以每个深度值,这会表现为一种缓慢的全局尺度变化,而仅靠回环检测无法解释这种变化。
一个有用的思考方式:单目 SLAM 以”第一次平移的单位”来估计世界;双目 SLAM 以米为单位来估计世界,因为标尺(基线)是被固定在机器人上的。
对SLAM的意义
机器人以米为单位进行规划、控制和避障,因此度量尺度对于导航而言是不可或缺的。理解哪些传感器配置能使尺度可观测——双目基线、IMU 加速度、深度相机、轮式里程计——可以解释许多系统设计选择,从自动驾驶汽车为何使用宽基线双目相机,到 AR 头显为何将相机与 IMU 配对使用。