CS231A Lecture 5:Epipolar Geometry


CS231A Lecture 5:Epipolar Geometry

Reading:

[HZ] Chapter: 4 “Estimation – 2D perspective transformations

[HZ] Chapter: 9 “Epipolar Geometry and the Fundamental Matrix Transformation”

[HZ] Chapter: 11 “Computation of the Fundamental Matrix F”

[FP] Chapter: 7 “Stereopsis”

[FP] Chapter: 8 “Structure from Motion”

Why is stereo useful?

Recovering structure from a single view

Why is it so difficult?

Intrinsic ambiguity of the mapping from 3D to image (2D)

Triangulation

Multi (stereo)-view geometry

Epipolar geometry

Example: Parallel image planes

Example: Forward translation

Epipolar constraints

  • Two views of the same object
  • Given a point on left image, how can I find the corresponding point on right image?

The Essential Matrix

=

Cross product as matrix multiplication

思考:

  • 在这个部分,点$p$和$p’$都是齐次的,是像素点的归一化平面上的坐标,而不是像素点坐标;

    在这种情况下,相机是标准相机,内参$K$为单位矩阵。

  • 在《视觉SLAM十四讲》中,使用齐次坐标表示像素点是为了表达一个投影关系,这样的话$s\mathrm p$与$\mathrm p$成投影关系,它们在齐次意义下相等,也可以说在尺度意义下相等;

    这样处理就可以忽略像素点$p$和$p’$的深度(回想一下相机模型),然后去构造一个和上面相同的等式(方法都是相同的,细节有点区别而已。。)

  • 本质矩阵$E$是平移和旋转做叉乘得到的,但是由于尺度等价性,它只有5个自由度。

疑问:

Q:什么是canonical cameras?

A:TODO(感觉是一个定义吧,内参已知的相机就可以转化为canonical camera,然后canonical camera的内参矩阵为单位矩阵)

The Fundamental Matrix

=

思考:

  • 这部分的ppt和Essential Matrix非常类似,不过这部分考虑了相机内参$K$,指出了像素点$p$与canonical camera下像素点$p_c$的对应关系。
  • 在《视觉SLAM十四讲》中,是直接从像素点$p$推导到了最后的一个等式,然后把等式中间的部分记作基础矩阵$F$和本质矩阵$E$(所以讲的没这门课的清楚。。)
  • 本质矩阵则是基本矩阵的一种特殊情况,是在归一化图像坐标下的基本矩阵。

Why F is useful?

  • Suppose $F$ is known
  • No additional information about the scene and camera is given
  • Given a point on left image, we can compute the corresponding epipolar line in the second image
  • $F$ captures information about the epipolar geometry of 2 views + camera parameters
  • MORE IMPORTANTLY: $F$ gives constraints on how the scene changes under view point transformation (without reconstructing the scene!)
  • Powerful tool in:
    • 3D reconstruction
    • Multi-view object/scene matching

Estimating F

The Eight-Point Algorithm

Problems with the 8-Point Algorithm

思考:

在《视觉SLAM十四讲》中,主要介绍了八点法求解本质矩阵$E$。

与上面不同的是,本质矩阵$E$的$\Sigma=diag(\sigma,\sigma,0)$,而基础矩阵$F$的$\Sigma=diag(s_1,s_2,0)$。

The Normalized Eight-Point Algorithm

Normalization

Example of normalization

The Normalized Eight-Point Algorithm

思考:

这里的normalize就是用另外的图像坐标系表示匹配的特征点,让特征点更均匀的散布在坐标原点周围。如果特征点散布在同一块地区,彼此非常接近,或者有的特征点的数值非常大,可能会对矩阵$W$带来不好的影响。

由于更改了图像的坐标系,这里计算出来的基础矩阵$F$还需要再de-normalize一下。

在course notes 3上有更详细的解读:

The main problem of the standard Eight-Point Algorithm stems from the fact that $W$ is ill-conditioned for SVD. For SVD to work properly, $W$ should have one singular value equal to (or near) zero, with the other singular values being nonzero. However, the correspondences $p_i = (u_i, v_i, 1)$ will often have extremely large values in the first and second coordinates due to the pixel range of a modern camera (i.e. $p_i = (1832, 1023, 1)$). If the image points used to construct $W$ are in a relatively small region of the image, then each of the vectors for $p_i$ and $p′_i$ will generally be very similar. Consequently, the constructed $W$ matrix will have one very large singular value, with the rest relatively small.

To solve this problem, we will normalize the points in the image before constructing $W$. This means we pre-condition $W$ by applying both a translation and scaling on the image coordinates.


文章作者: Immortalqx
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Immortalqx !
评论
  目录