尺度模糊性

**尺度模糊性(Scale ambiguity)**是单目 SLAM 的根本性局限:仅凭图像本身,绝对的度量尺度是不可恢复的。以基线 bb 观察距离为 dd 的场景所产生的图像,与以基线 αb\alpha b 观察距离为 αd\alpha d 的场景所产生的图像完全相同,对任意正标量 α\alpha 均成立。近距离拍摄的玩偶屋与远距离拍摄的真实房屋,对于单个移动相机而言在几何上是无法区分的。

从数学上讲,单目重建所处的空间是相似变换空间 Sim(3)\mathrm{Sim}(3)(旋转 + 平移 + 尺度,共 7 个自由度),而非欧氏空间 SE(3)SE(3):极线约束固定了旋转和平移方向,但平移的模长——以及随之而来的整个地图尺度——是一个自由参数。单目系统只是在初始化时选定一个尺度(例如将第一段基线归一化为 1)。

从数学上看这个问题

考虑世界点 X\mathbf{X}在位姿为 (R,t)(R, \mathbf{t}) 的相机中的投影:

xK(RX+t).\mathbf{x} \sim K \left( R\, \mathbf{X} + \mathbf{t} \right).

现在将整个世界以及每个相机的平移都按 α>0\alpha > 0 缩放:X=αX\mathbf{X}' = \alpha \mathbf{X}t=αt\mathbf{t}' = \alpha \mathbf{t}。那么

K(RX+t)=αK(RX+t)x,K \left( R\, \mathbf{X}' + \mathbf{t}' \right) = \alpha\, K \left( R\, \mathbf{X} + \mathbf{t} \right) \sim \mathbf{x},

因为投影意义下的相等忽略了整体因子 α\alpha每一个相机中的每一个图像测量都保持不变,因此没有任何光度或几何图像代价能够区分这两种重建——似然函数在尺度方向上恰好是平坦的。这也精确地指出了打破这种对称性所需要的条件:任何带有物理单位、且不会α\alpha 一起缩放的测量。加速度计的测量(m/s²)、立体基线(m)、轮式编码器的距离(m)、或深度读数(m),都拒绝按比例缩放,于是这个平坦方向就消失了——这正是下文列出的每一种尺度恢复技术的一句话解释。

同样的推理也解释了为什么这种模糊性恰好是一维的:旋转和平移方向被极线几何所固定,因此在 Sim(3)\mathrm{Sim}(3) 的 7 个自由度中,图像确定了 6 个相对自由度,只留下 α\alpha 是自由的(此外还有任意的全局规范自由度——世界原点放在哪里——这是每一种 SLAM 表述都存在的)。

比未知的全局尺度更麻烦的是尺度漂移:由于尺度本身不可观测,微小误差会让估计的尺度沿轨迹缓慢漂移,因此一个长的单目回环在返回起点时可能处于不同的尺度。这正是为什么像 ORB-SLAM 这样的单目系统要在 Sim(3)\mathrm{Sim}(3) 上执行回环检测——回环校正必须同时修正尺度和位姿。

尺度在实践中的恢复方式:

对评估的影响与常见陷阱

由于单目轨迹没有定义好的单位,将其与真值进行评估时需要估计包括尺度的对齐关系:一个 Sim(3)\mathrm{Sim}(3)(7 自由度)对齐,通常通过 Umeyama 的闭式方法求解,然后再计算 ATE。阅读评测数据时需要格外小心——一个用 7 自由度对齐评估的单目系统与一个用 6 自由度对齐评估的双目/VIO 系统,实际上是在不同的评判标准下打分,而单次全局尺度校正也无法掩盖尺度漂移,这就是为什么长距离的室外单目序列(KITTI)会如此明显地惩罚纯单目方法。

在被这些坑绊倒之前,值得了解的陷阱:

对SLAM的意义

尺度模糊性决定了系统设计:这正是手机和头显要加装 IMU、汽车要加装双目/激光雷达的根本原因,也是单目论文只在与真值完成尺度对齐后才报告轨迹误差的原因。理解哪些测量能使尺度变得可观测——以及尺度漂移如何腐蚀长轨迹——对于读懂任何单目或视觉惯性 SLAM 论文都是必不可少的。

相关条目