跳到主要内容

10.3 射影重建定理

来源:Richard Hartley 与 Andrew Zisserman 的 Multiple View Geometry in Computer Vision,第 10 章 3D Reconstruction of Cameras and Structure,10.3 小节 The projective reconstruction theorem。

这一节把 10.2 重建歧义 中的直觉变成一个正式结论:

如果两幅图像中的点对应能够唯一确定基础矩阵 FF,那么仅凭这些对应点就可以完成三维重建;但是这个重建只能确定到一个三维射影变换。

换句话说,未标定两视图重建不是完全没有信息,而是能恢复一个 projective reconstruction。

本节核心

输入是一组匹配点:

xixi\mathbf{x}_i \leftrightarrow \mathbf{x}'_i

如果它们能唯一确定一个基础矩阵 FF

xiTFxi=0\mathbf{x}'_i{}^T F\mathbf{x}_i = 0

那么可以构造一对相机矩阵:

P,PP,\quad P'

并三角化出三维点:

Xi\mathbf{X}_i

使得:

xi=PXi,xi=PXi\mathbf{x}_i = P\mathbf{X}_i, \qquad \mathbf{x}'_i = P'\mathbf{X}_i

但这个结果不是欧氏意义上的唯一真实结构。任意另一个满足同样投影关系的重建,都和它相差一个非奇异 4×44 \times 4 射影变换。

定理的直观说法

假设两视图对应点足够好,已经把 FF 唯一固定下来。

此时:

  • FF 固定了两张图像之间的对极几何。
  • 对极几何固定了相机对的射影等价类。
  • 相机一旦确定到射影等价,三维点也只能确定到同一个射影变换。

所以我们能恢复的是:

scene and cameras up to a projective transformation\text{scene and cameras up to a projective transformation}

中文可以理解为:

场景和相机只能恢复到一个射影变换\text{场景和相机只能恢复到一个射影变换}
信息

这里的“只能”不是说算法不够好,而是信息本身不够。没有相机内参、尺度、角度或平行性等额外约束时,图像对应点无法区分真实结构和经过射影扭曲后的结构。

形式化表述

设同一组匹配点有两个可能的重建:

(P1,P1,{X1i})(P_1, P'_1, \{\mathbf{X}_{1i}\})

和:

(P2,P2,{X2i})(P_2, P'_2, \{\mathbf{X}_{2i}\})

它们都能投影回同一组图像点:

xi=P1X1i=P2X2i\mathbf{x}_i = P_1\mathbf{X}_{1i} = P_2\mathbf{X}_{2i} xi=P1X1i=P2X2i\mathbf{x}'_i = P'_1\mathbf{X}_{1i} = P'_2\mathbf{X}_{2i}

如果这些点对应唯一确定基础矩阵 FF,那么存在一个非奇异 4×44 \times 4 矩阵 HH,使得:

P2=P1H1P_2 = P_1H^{-1} P2=P1H1P'_2 = P'_1H^{-1}

并且对一般三维点有:

X2i=HX1i\mathbf{X}_{2i} = H\mathbf{X}_{1i}

这说明两个重建并不是任意不同,而是由同一个三维射影变换 HH 连接。

baseline 例外

定理中需要排除一个特殊情况:位于两相机中心连线 baseline 上的点。

如果三维点在 baseline 上,那么它在两张图像中会分别投影到 epipole:

xi=e,xi=e\mathbf{x}_i = \mathbf{e}, \qquad \mathbf{x}'_i = \mathbf{e}'

此时对应的两条反投影射线其实是同一条 baseline,而不是在某个唯一位置相交。

因此,点在 baseline 上的具体深度无法由两幅图像确定。

用基础矩阵语言说,这类点满足:

Fxi=0,xiTF=0TF\mathbf{x}_i = \mathbf{0}, \qquad \mathbf{x}'_i{}^TF = \mathbf{0}^T

也就是 xi\mathbf{x}_ixi\mathbf{x}'_i 正好落在两个 epipole 上。

注意

baseline 上的点不是“重建得不准”,而是两视图几何本身无法唯一定位。它们需要从定理的一般点结论中排除。

证明思路

证明可以分成三步理解。

第一步:两个重建给出同一个 F

两个重建都解释同一组匹配点:

xixi\mathbf{x}_i \leftrightarrow \mathbf{x}'_i

而这些匹配点已经唯一确定 FF

因此,两组相机:

(P1,P1)(P_1, P'_1)

和:

(P2,P2)(P_2, P'_2)

对应的是同一个基础矩阵。

第二步:同一个 F 对应射影等价的相机对

第 9 章中有一个关键结论:如果两对相机矩阵对应同一个基础矩阵,那么它们之间相差一个三维射影变换。

也就是存在非奇异矩阵 HH,使得:

P2=P1H1,P2=P1H1P_2 = P_1H^{-1}, \qquad P'_2 = P'_1H^{-1}

这一步把“同一个对极几何”转化为“同一个射影相机系统”。

第三步:三维点也被同一个 H 联系起来

考虑第一个重建中的点 X1i\mathbf{X}_{1i}

把它经过 HH 变换:

HX1iH\mathbf{X}_{1i}

再用第二个相机 P2P_2 投影:

P2(HX1i)=P1H1HX1i=P1X1i=xiP_2(H\mathbf{X}_{1i}) = P_1H^{-1}H\mathbf{X}_{1i} = P_1\mathbf{X}_{1i} = \mathbf{x}_i

同理:

P2(HX1i)=xiP'_2(H\mathbf{X}_{1i}) = \mathbf{x}'_i

所以 HX1iH\mathbf{X}_{1i}X2i\mathbf{X}_{2i} 都能投影到同一对图像点。

如果这个点不在 baseline 上,两条反投影射线只有一个交点,因此:

X2i=HX1i\mathbf{X}_{2i} = H\mathbf{X}_{1i}

这就完成了核心证明。

和真实欧氏重建的关系

假设真实世界中存在一个欧氏重建:

PE,PE,XEiP_E,\quad P'_E,\quad \mathbf{X}_{Ei}

而我们从未标定图像中算出了一个射影重建:

P,P,XiP,\quad P',\quad \mathbf{X}_i

那么两者之间存在一个未知的非奇异矩阵 HH

PE=PH1P_E = PH^{-1} PE=PH1P'_E = P'H^{-1} XEi=HXi\mathbf{X}_{Ei} = H\mathbf{X}_i

这说明射影重建并不是“假的三维”,而是真实三维结构经过一个未知射影坐标变换后的表达。

提示

后续从 projective reconstruction 升级到 affine reconstruction 或 metric reconstruction,本质上就是不断寻找额外约束来限制这个未知矩阵 HH

射影重建保留什么

射影变换会破坏很多欧氏性质,但会保留射影几何中的 incidence 关系。

因此,射影重建中仍然可靠的是:

  • 点是否在线上。
  • 点是否在平面上。
  • 线与线是否相交。
  • 线与平面是否相交。
  • 由平面诱导的图像间映射。

但一般不能相信:

  • 长度。
  • 角度。
  • 平行性。
  • 面积和体积。
  • 真实尺度。

这也是为什么 projective reconstruction 通常只是重建流程的第一层。

为什么这个定理重要

10.3 的意义在于给 10.1 的流程提供理论保证。

10.1 的流程是:

匹配点 -> 基础矩阵 F -> 相机矩阵 P, P' -> 三维点 X_i

10.3 说明:只要匹配点确实唯一确定了 FF,那么这个流程得到的不是随便一个结果,而是所有可能重建中的一个代表。

其他所有合法重建都可以写成:

XiHXi,PPH1,PPH1\mathbf{X}_i \mapsto H\mathbf{X}_i, \qquad P \mapsto PH^{-1}, \qquad P' \mapsto P'H^{-1}

所以它们属于同一个 projective equivalence class。

和 10.2 的关系

10.2 讲的是歧义本身:

PX=(PH1)(HX)P\mathbf{X} = (PH^{-1})(H\mathbf{X})

这说明任何射影变换都不会改变投影结果。

10.3 进一步说明反过来也成立:

如果对应点已经唯一确定 FF,那么除 baseline 特殊点外,所有满足这些投影关系的重建都只能相差这样一个 HH

也就是说:

projective ambiguity\text{projective ambiguity}

不仅是一个可能存在的歧义,而且正是未标定两视图重建的全部歧义。

本节记忆点

  • 若匹配点唯一确定基础矩阵 FF,则可以从两视图恢复 projective reconstruction。
  • 未标定两视图不能直接恢复真实欧氏结构,只能恢复到三维射影变换。
  • 任意两个合法重建之间存在非奇异 4×44 \times 4 矩阵 HH
P2=P1H1,P2=P1H1,X2i=HX1iP_2 = P_1H^{-1}, \qquad P'_2 = P'_1H^{-1}, \qquad \mathbf{X}_{2i} = H\mathbf{X}_{1i}
  • baseline 上的点需要排除,因为它们投影到 epipole,无法唯一三角化。
  • 射影重建保留点线面关联关系,但不保留长度、角度、平行性和尺度。
  • 从射影重建走向仿射或度量重建,需要额外几何约束来估计或限制 HH

后续问题

进入 10.4 时可以重点关注:

  1. 如何从 projective reconstruction 升级到 affine reconstruction?
  2. 什么额外信息能确定无穷远平面 π\pi_\infty
  3. 如何继续从 affine reconstruction 升级到 metric reconstruction?
  4. 绝对二次曲面或绝对二次曲线在自标定中起什么作用?