在 ORB‑SLAM3 中,MLPnP(Maximum Likelihood PnP)选用切空间残差而不是方向向量叉乘残差,根本原因是切空间残差对应于测量噪声的真实概率模型,能给出最大似然意义上的最优估计,而叉乘残差只是几何上的一种代数误差,不具备统计最优性。下面从模型假设、残差形式和统计解释三个层面说明。
这相当于直接度量观测方向在切平面内的位置偏移。
2. 最大似然估计自然导出切空间残差
3. 为什么 ORB‑SLAM3 特意选择切空间残差
ORB‑SLAM3 需要在跟踪丢失或重定位时,从一组可能包含较多外点的 3D‑2D 匹配中快速计算出精度足够高的初始位姿。此时:
精度:MLPnP 基于切空间残差并合理加权,在相同内点下能得到比 EPnP(代数方法)和简单叉乘最小化更准的位姿,利于后续 BA 的收敛。
鲁棒性:ORB‑SLAM3 的实现中会结合鲁棒核函数(如 Huber)和 RANSAC,但优化内核仍基于最大似然模型。准确的噪声模型使得内点判别的阈值可以按概率意义设定,进一步提升鲁棒性。
协方差传播的一致性:切空间残差配合对应信息矩阵,能无缝对接后续局部优化或全局优化的概率框架。
相对地,叉乘残差虽计算更简单,但只是一个“几何一致”的误差代数,无法正确反映不同深度、不同视角下测量信心的差异,在 SLAM 这种需要反复优化、尺度多变的长程场景下,优势远不如最大似然形式。
简短总结
MLPnP 使用切空间残差是因为把观测方向向量的误差建模为切平面内的高斯分布是对真实像素噪声传播的正确近似,由此得到最大似然估计;叉乘残差丢失了这种误差的协方差结构,既不是统计最优,也无法合理加权深度不同的点。ORB‑SLAM3 基于这一原理在重定位与初始位姿估计中获得了更好的精度与鲁棒性。