Epipolar geometry

当同一场景从两个不同的视角被观测时,极线约束限制了某个 3D 点在一幅图像中的投影,在另一幅图像中只能出现在一条称为极线的直线上。这是双视图重建和单目 SLAM 初始化的几何基础。

几何关系

两个相机中心与该 3D 点共同张成极平面。这个平面与每幅图像相交形成一条极线;连接两个相机中心的直线(基线)与每幅图像相交的点称为极点。图像中所有的极线都经过其极点。这带来的实际结果是:给定图像 1 中的一个特征,它在图像 2 中的匹配点必定位于一条已知的直线上——2D 搜索由此坍缩为 1D 搜索。

Essential Matrix

对于两个已标定的相机(内参已知),本质矩阵 EE 编码了两相机之间的相对旋转 RR 和平移 t\mathbf{t}

E=[t]×RE = [\mathbf{t}]_\times R

其中 [t]×[\mathbf{t}]_\timest=[t1,t2,t3]T\mathbf{t} = [t_1, t_2, t_3]^T 的反对称矩阵:

[t]×=[0t3t2t30t1t2t10][\mathbf{t}]_\times = \begin{bmatrix} 0 & -t_3 & t_2 \\ t_3 & 0 & -t_1 \\ -t_2 & t_1 & 0 \end{bmatrix}

对于在相机 1 的归一化坐标 x1\mathbf{x}_1 和相机 2 的归一化坐标 x2\mathbf{x}_2 处观测到的一个 3D 点,极线约束为:

x2TEx1=0\mathbf{x}_2^T E\, \mathbf{x}_1 = 0

它从何而来。 射线方向 x2\mathbf{x}_2Rx1R\mathbf{x}_1 与基线 t\mathbf{t} 必须共面(它们都位于极平面内)。三个向量共面意味着标量三重积为零:x2(t×Rx1)=0\mathbf{x}_2 \cdot (\mathbf{t} \times R\mathbf{x}_1) = 0,将叉积写成 [t]×[\mathbf{t}]_\times 的形式,就恰好得到 x2TEx1=0\mathbf{x}_2^T E\,\mathbf{x}_1 = 0

EE 具有5 个自由度(旋转 3 个,平移 3 个,减去尺度的 1 个),这正是最小求解器需要 5 对对应点的原因。它的 SVD 具有特殊形式 Σ=diag(σ,σ,0)\Sigma = \mathrm{diag}(\sigma, \sigma, 0)——两个相等的奇异值和一个零奇异值。

EE 恢复位姿。 给定 E=UΣVTE = U\Sigma V^T,其中 Σ=diag(1,1,0)\Sigma = \mathrm{diag}(1,1,0),四个候选位姿为 [R1±t][R_1|\pm\mathbf{t}][R2±t][R_2|\pm\mathbf{t}],其中

R1=UWVT,R2=UWTVT,t=u3,W=[010100001]R_1 = UWV^T, \quad R_2 = UW^TV^T, \quad \mathbf{t} = \mathbf{u}_3, \quad W = \begin{bmatrix}0&-1&0\\1&0&0\\0&0&1\end{bmatrix}

真实位姿通过**共视性检验(cheirality check)**来消除歧义:三角化出的点必须位于两个相机的前方。平移只能恢复到一个尺度因子——这正是单目尺度歧义的根源。

Fundamental Matrix

对于两个未标定的相机,基础矩阵 FF 关联原始像素坐标 p1,p2\mathbf{p}_1, \mathbf{p}_2

F=K2TEK11,p2TFp1=0F = \mathbf{K}_2^{-T} E\, \mathbf{K}_1^{-1}, \qquad \mathbf{p}_2^T F\, \mathbf{p}_1 = 0

FF 是一个秩为 2 的 3×33 \times 3 矩阵,具有 7 个自由度(在尺度意义下定义,且 det(F)=0\det(F) = 0)。它可以通过 8 点法(Longuet-Higgins, 1981)从 8 对或更多点对应中估计出来。图像 2 中对应于点 p1\mathbf{p}_1 的极线就是 2=Fp1\boldsymbol{\ell}_2 = F\,\mathbf{p}_1,而极点则是 FFFTF^T 的零空间向量。

Homography

当场景中所有点都共面,或相机只做纯旋转运动时,单应性 HH 可以直接把图像点相互映射:

λp2=Hp1,HR3×3\lambda\mathbf{p}_2 = H\,\mathbf{p}_1, \qquad H \in \mathbb{R}^{3 \times 3}

单应性在 ORB-SLAM 中用于地图初始化:对特征匹配同时拟合单应性模型和基础矩阵模型,并选择得分更好的那一个——这是一种同时应对平面场景和一般场景的稳健方法。

需要留意的退化情形

对SLAM的意义

极线几何是单目 SLAM 系统自举的方式:仅凭 2D-2D 特征匹配,它就能恢复相对相机位姿并三角化出最初的地图点。它还为立体匹配和引导式特征匹配提供了极线作为一维搜索约束,而极线约束正是 RANSAC 内部用来剔除错误匹配的标准几何验证手段。

动手实践

相关条目