3D 重建:从未校准图像求解 3D 点方程

3D Reconstruction: Solving Equations for 3D Points from Uncalibrated Images

这是一个非常简单的问题(我希望如此)。以下内容来自3D reconstruction from Multiple Images,Moons等人(图2-13,第348页):

Projective 3D reconstruction from two uncalibrated images

Given: A set of point correspondences m<sub>1</sub> in I<sub>1</sub> and m<sub>2</sub> in I<sub>2</sub> between two uncalibrated images I<sub>1</sub> and I<sub>2</sub> of a static scene.

Aim: A projective 3D reconstruction ^M of the scene.

Algorithm:

  1. Compute an estimate ^F for the fundamental matrix
  2. Compute the epipole e<sub>2</sub> from ^F
  3. Compute the 3x3-matrix
    ^A = −(1/||e<sub>2</sub>||<sup>2</sup>) [e<sub>2</sub>]<sub>x</sub> ^F
  4. For each pair of corresponding image points m<sub>1</sub> and m<sub>2</sub>, solve the following system of linear equations for ^M :
    ^p<sub>1</sub> m<sub>1</sub> = ^M and ^p<sub>2</sub> m<sub>2</sub> = ^A ^M + e<sub>2</sub>
    ( ^p<sub>1</sub> and ^p<sub>2</sub> are non-zero scalars )

[I apologize for the formatting. I don't know how to put hats over characters.]

直到第 4 步我都还不错。但是自从我上次线性代数 class 以来已经 30 多年了,即便如此我也不确定我是否知道如何解决这样的问题。任何帮助或参考将不胜感激。

顺便说一下,这是我的另一个 post 的后续:

Detecting/correcting Photo Warping via Point Correspondences

这只是尝试解决问题的另一种方法。

给定一对匹配的像点m1和m2,来自光心的两条对应光线不太可能相交完全是由于测量中的噪声。因此,应该在(线性)最小二乘意义上找到所提供系统的解决方案,即找到 x = argmin_x | C x - d |^2 与(例如):

      /           0 \ /    \
      |  I  -m1   0 | |  M |
C x = |           0 | |    |
      |       0     | | p1 |
      |  A    0 -m2 | \ p2 /
      \       0     /

    /  0  \
    |  0  |
d = |  0  |
    |     |
    | -e2 |
    \     /

该问题有 6 个方程式的 5 个未知数。

一种可能的替代公式利用了 m1 和 m2 与 M 共线的事实,因此 m1 x M = 0m2 x (A M + e2) = 0 产生线性最小二乘问题 x = argmin_x | C x - d |^2 with:

    / [m1]x   \ /   \
C = |         | | M |
    \ [m2]x A / \   /

    /     0    \
d = |          |
    \ -m2 x e2 /

其中 [v]x 是与 v 叉积的 3 x 3 矩阵。该问题有 6 个方程式的 3 个未知数,只有保持 non-linearly 个相关方程式才能减少到 4 个。