2D-2D correspondence

在两幅图像之间已知特征匹配、但尚无任何3D信息的情况下,2D-2D几何用于估计相机的相对运动。三种主力模型是本质矩阵(essential matrix)基础矩阵(fundamental matrix)单应矩阵(homography),每一种都由一个最小或线性求解器结合RANSAC来估计。

五点法估计本质矩阵

在相机已标定的情况下,本质矩阵 EE 可以由5对点对应关系估计得到(Nister, 2004)。约束条件如下:

结果最多有10个实数解,需要用额外的点来消除歧义。结合RANSAC,五点法在实践中是本质矩阵估计的首选方法:更小的最小样本集意味着在相同内点比例下所需的RANSAC迭代次数要少得多。

八点法估计基础矩阵

基础矩阵 FF 有7个自由度。在有8个或更多对应关系的情况下,八点法(Longuet-Higgins, 1981;Hartley, 1997)通过SVD求解一个线性齐次方程组 Af=0A\mathbf{f} = 0,其中 f=vec(F)\mathbf{f} = \mathrm{vec}(F)。Hartley指出,在求解之前对点坐标进行归一化(零均值、单位方差)能极大改善数值条件——这种”归一化八点法”是大家实际都在使用的版本。求解之后,通过将估计出的 FF 的最小奇异值置零来施加秩为2的约束。

直接线性变换求解单应矩阵

当场景是平面场景,或运动是纯旋转时,单应矩阵 HH 可以解释这些对应关系。每对对应关系 xHx\mathbf{x}' \sim H\mathbf{x} 给出关于 HH 的8个自由度的2个线性方程;当有 N4N \geq 4 对对应关系时,DLT将它们堆叠成一个 2N×92N \times 9 的矩阵,并通过SVD求解 Ah=0A\mathbf{h} = 0。归一化同样至关重要。

为什么最小求解器很重要:RANSAC迭代次数

特征匹配中含有外点,因此上述每种求解器都运行在RANSAC内部:采样一个最小集合,拟合模型,统计内点数,重复此过程。在内点比例为 ww、样本大小为 ss 的情况下,NN 次迭代中至少产生一次全内点样本的概率为 1(1ws)N1 - (1 - w^s)^N;要求成功概率为 1η1 - \eta 可得

N=logηlog(1ws)N = \frac{\log \eta}{\log(1 - w^s)}

w=0.5w = 0.5 为例:八点法(s=8s = 8)需要约 N1177N \approx 1177 次迭代,而五点法(s=5s = 5)只需约 N145N \approx 145 次。对 ss 的指数依赖正是青睐最小求解器的全部理由——这也是为什么一旦存在3D信息,P3P(s=3s = 3)会成为首选。

从模型到运动

RANSAC在内点上选出最优模型之后:

选择模型

退化配置很重要:平面场景或纯旋转会使 FF/EE 的估计成为病态问题,而一般的3D场景则会打破单应假设。ORB-SLAM在单目初始化时著名地同时拟合这两种模型,并通过每个模型自身的评分来挑选胜者。

常见陷阱

对SLAM的意义

2D-2D对应关系是单目SLAM的入口:它在还没有地图存在时启动第一个相对姿态(尺度未知),此后三角化生成地图点,流程切换为2D-3D(PnP)跟踪。同样的求解器还用于在几何上验证回环检测候选,并支撑着诸如COLMAP这样的运动恢复结构(structure-from-motion)流程。

动手实践

相关条目