跳到主要内容

10.2 重建歧义

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

这一节解释一个核心事实:从图像对应点恢复三维结构时,重建结果通常不是唯一的。它只能在某类变换意义下确定。

什么是重建歧义

假设我们已经从两幅图像中得到匹配点:

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

并重建出三维点和相机:

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

满足:

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

问题是:这样的 Xi,P,P\mathbf{X}_i, P, P' 一般不是唯一的。

如果对三维点施加一个空间变换,同时对相机矩阵施加对应的逆变换,图像投影可以保持完全不变。

这就是 reconstruction ambiguity,中文可理解为“重建歧义”或“重建不确定性”。

绝对位置和方向无法从图像中恢复

仅凭图像无法知道场景在真实世界中的绝对位置和方向。

例如:

  • 无法从图像直接知道场景的经纬度。
  • 无法知道走廊是南北方向还是东西方向。
  • 无法知道整个场景相对某个世界坐标系旋转了多少。

因此,即使相机已标定,重建结果也至少存在欧氏变换歧义:

rotation+translation\text{rotation} + \text{translation}

也就是说,场景最多只能确定到一个刚体变换。

尺度也无法从图像中恢复

图像本身也无法告诉我们真实尺度。

同一组图像可能来自:

  • 真实房间
  • 模型房间
  • 玩具屋

如果没有额外信息,仅凭图像无法判断走廊宽度是 2 米、1 米,还是 10 厘米。

因此,即使相机已标定,也不能恢复整体尺度。重建结果最多只能确定到相似变换:

rotation+translation+scale\text{rotation} + \text{translation} + \text{scale}

标定相机下的相似变换歧义

Xi\mathbf{X}_i 是一组三维点,P,PP,P' 是相机矩阵。它们构成一个重建:

PXi=xiP\mathbf{X}_i = \mathbf{x}_i

HSH_S 是任意相似变换:

HS=[Rt0Tλ]H_S = \begin{bmatrix} R & \mathbf{t} \\ \mathbf{0}^T & \lambda \end{bmatrix}

其中:

  • RR 是旋转。
  • t\mathbf{t} 是平移。
  • λ1\lambda^{-1} 表示整体尺度。

将点和相机同时变换:

XiHSXi\mathbf{X}_i \mapsto H_S\mathbf{X}_i PPHS1P \mapsto PH_S^{-1} PPHS1P' \mapsto P'H_S^{-1}

投影保持不变:

PXi=(PHS1)(HSXi)P\mathbf{X}_i = (PH_S^{-1})(H_S\mathbf{X}_i)

因此,图像无法区分原始重建和经过相似变换后的重建。

信息

对于 calibrated cameras,书中指出这就是唯一的重建歧义:已标定相机可以恢复到 similarity transformation。

未标定相机下的射影歧义

如果相机内参未知,相机之间的相对位置也未知,那么歧义更大。

此时可以取任意非奇异 4×44 \times 4 矩阵 HH,它表示三维射影空间中的 projective transformation。

同样地:

XiHXi\mathbf{X}_i \mapsto H\mathbf{X}_i PPH1P \mapsto PH^{-1} PPH1P' \mapsto P'H^{-1}

投影仍然不变:

PXi=(PH1)(HXi)P\mathbf{X}_i = (PH^{-1})(H\mathbf{X}_i)

所以未标定相机的两视图重建最多只能恢复到一个射影变换。

也就是说,重建出来的三维结构和真实结构之间可能相差:

HPGL(4)H \in \mathrm{PGL}(4)

这类重建称为 projective reconstruction。

注意

射影重建可以保持点线面 incidence 关系,但一般不保持长度、角度、平行性和比例。

calibrated vs uncalibrated

情况可恢复到保留什么不一定保留什么
已标定相机相似变换角度、长度比例、形状绝对位置、朝向、尺度
未标定相机射影变换点线面关联关系长度、角度、平行性、真实尺度

更直观地说:

  • 已标定:形状是对的,但不知道真实大小和世界坐标。
  • 未标定:只能得到一个被射影扭曲过的三维结构。

其他类型的歧义

书中还提到,若有一些额外假设,重建歧义可能介于相似和射影之间。

例如:

  1. 如果两台相机之间是纯平移,且标定不变,那么可以恢复到仿射变换。
  2. 如果两台相机除了焦距外都已标定,仍可能恢复到相似变换。

这些情况说明:额外信息越多,歧义越小。

术语:projective / affine / metric / Euclidean

在重建问题中,常见术语表示“重建结果和真实结果之间差了什么类型的变换”。

术语中文理解差一个什么变换
projective reconstruction射影重建projective transformation
affine reconstruction仿射重建affine transformation
similarity reconstruction相似重建similarity transformation
metric reconstruction度量重建通常等同 similarity reconstruction
Euclidean reconstruction欧氏重建文献中常近似指 metric reconstruction

为什么 metric reconstruction 不包含绝对尺度

严格来说,真正的 Euclidean reconstruction 应该包含绝对尺度。

但仅凭图像不能确定整体尺度,所以通常说 metric reconstruction 时,指的是能测量:

  • 角度
  • 长度比例
  • 相对形状

而不是能恢复绝对尺寸。

例如,重建中可以知道两条边长度比是 2:12:1,但不知道它们分别是 2 米和 1 米,还是 20 厘米和 10 厘米。

和后续章节的关系

10.2 为后续两个问题铺垫:

  1. 10.3 Projective reconstruction theorem
    证明未标定两视图可以恢复到射影变换。

  2. 10.4 Stratified reconstruction
    讨论如何逐步减少歧义:

projective reconstruction
-> affine reconstruction
-> metric reconstruction

这条路线也叫 stratified reconstruction,中文可理解为“分层重建”。

本节记忆点

  • 图像只约束投影结果,不直接约束世界坐标系。
  • 绝对位置、朝向和整体尺度无法仅凭图像确定。
  • 已标定相机的两视图重建最多恢复到相似变换。
  • 未标定相机的两视图重建最多恢复到射影变换。
  • 对点和相机同时做:
XiHXi,PPH1\mathbf{X}_i \mapsto H\mathbf{X}_i, \qquad P \mapsto PH^{-1}

投影结果保持不变。

  • projective reconstruction 不保留长度和角度。
  • metric reconstruction 通常意味着可以测量角度和长度比例,但仍无绝对尺度。

后续问题

读完 10.2 后,可以继续追问:

  • 10.3 如何严格证明 projective reconstruction theorem?
  • 如何把射影重建升级到仿射重建?
  • 如何进一步从仿射重建升级到度量重建?
  • 需要哪些额外信息才能确定绝对尺度?
  • 为什么相机标定能显著减少重建歧义?