9.1 对极几何
来源:Richard Hartley 与 Andrew Zisserman 的 Multiple View Geometry in Computer Vision,第 9 章 Epipolar Geometry and the Fundamental Matrix,9.1 小节 Epipolar geometry。
这篇笔记只整理 9.1 的几何直观。下一小节才会正式进入 fundamental matrix 的代数表达。
这一章在解决什么问题
两视图几何研究的是:同一个三维点 被两个相机拍到后,两个图像点 和 之间有什么约束。
如果:
是一对匹配点,那么它们不是随便分布在两张图上的。它们必须满足由两台相机相对位置决定的对极几何约束。
后面用 fundamental matrix 表示时,会写成:
但在 9.1 里,重点不是矩阵 ,而是这条约束背后的空间几何。
两个相机与一个三维点
设两个相机中心分别为:
三维点为:
它在两张图像中的投影为:
这些对象有一个关键几何关系:
都位于同一个平面相关的结构中。严格地说,两个相机中心和三维点 决定一个空间平面 ,两条反投影射线都位于这个平面内。
这个平面就是 epipolar plane,中文常译为“对极平面”。
baseline:基线
两个相机中心连成的直线叫做 baseline:
中文常译为“基线”。
基线是对极几何的轴。所有对极平面都必须包含这条基线。
只要相机位置不同,就可以想象有一条连接两个相机中心的基线。后面所有对极线、对极点、对极平面都围绕这条线展开。
epipole:对极点
基线与图像平面的交点叫做 epipole:
理解方式有三种:
- 是第二个相机中心 在第一张图像中的投影。
- 是第一个相机中心 在第二张图像中的投影。
- epipole 也是相机平移方向在图像中的消失点。
也就是说,对极点代表“另一个相机在哪里”。
如果另一个相机中心落在当前图像外,那么 epipole 也会在可见图像区域外。
epipolar plane:对极平面
任何包含 baseline 的平面都是 epipolar plane。
如果三维点 和两个相机中心 共面,那么这个平面可记为:
随着三维点 的位置变化,对极平面会围绕 baseline 旋转。
所有这些平面组成一个一参数平面族,称为 epipolar pencil。
epipolar line:对极线
对极平面 与图像平面的交线叫做 epipolar line。
在第一张图像中:
在第二张图像中:
同一个对极平面与两张图像分别相交,得到一对对应的对极线:
所有对极线都会经过对应图像中的 epipole:
为什么匹配点必须落在对极线上
假设第一张图像中已知点 。
它反投影到三维空间中不是一个唯一点,而是一条经过第一个相机中心的射线:
真实三维点 必须在这条射线上。
这条射线和 baseline 一起决定一个对极平面 。当这个平面与第二张图像平面相交时,就得到第二张图像中的对极线 。
因此,第二张图中的匹配点 必须满足:
这就是对极约束的几何版本。
换句话说:第一张图中的一个点 ,不会在第二张图中对应任意位置,而只能对应到一条特定的对极线 上。
对立体匹配的意义
如果没有对极几何,寻找匹配点需要在第二张图像的整个二维区域中搜索。
有了对极约束后:
二维搜索 -> 一维搜索
也就是从整张图找点,变成沿着一条对极线找点。
这对 stereo matching 非常重要,因为它显著降低了搜索范围。
点到线的映射
9.1 最后为 9.2 做铺垫:一个图像点会对应另一张图像中的一条线。
也就是:
反过来也有:
在 9.2 中,这个映射会用 fundamental matrix 表示:
并且匹配点满足:
但在 9.1 中,你只需要先记住几何含义:点的匹配被限制在对应的对极线上。
特殊情况:对极点在无穷远
如果相机运动近似为平行于图像平面的平移,那么 baseline 与图像平面的交点可能在无穷远处。
此时:
- epipole 在无穷远处。
- epipolar lines 近似平行。
- 匹配搜索仍然沿对极线进行,只是这些线彼此平行。
这类情况在图像只发生水平平移时很常见。
术语表
| 英文 | 中文 | 含义 |
|---|---|---|
| baseline | 基线 | 两个相机中心的连线 |
| epipole | 对极点 | baseline 与图像平面的交点 |
| epipolar plane | 对极平面 | 包含 baseline 的空间平面 |
| epipolar line | 对极线 | 对极平面与图像平面的交线 |
| epipolar pencil | 对极平面束 | 围绕 baseline 旋转的一族对极平面 |
| correspondence | 对应;匹配 | 两张图像中来自同一三维点的图像点 |
| back-projection | 反投影 | 图像点对应到空间射线 |
| stereo matching | 立体匹配 | 在两张图像中寻找对应点 |
和前面章节的关系
6.2 中我们已经知道,图像点反投影到三维空间是一条射线:
9.1 正是把这个射线放到双目相机中理解:
- 第一张图的点 反投影成一条射线。
- 这条射线和第二个相机中心共同决定对极平面。
- 对极平面与第二张图像相交得到对极线 。
- 匹配点 必须落在 上。
本节记忆点
- 对极几何是两视图之间的内在射影几何。
- 它只依赖相机内参和相对位姿,不依赖具体场景结构。
- baseline 是两个相机中心的连线。
- epipole 是另一个相机中心在当前图像中的投影。
- epipolar line 是对应点必须落在的线。
- 对极约束把匹配搜索从二维区域降到一维直线。
- 9.2 会用 fundamental matrix 把这种几何关系写成代数形式。
后续问题
读完 9.1 后,可以继续追问:
- 如何从点 算出对应的对极线 ?
- 为什么 fundamental matrix 的秩是 2?
- 为什么所有对极线都经过 epipole?
- 如何从匹配点估计 ?
- 相机做纯平移时,对极线为什么会呈放射状或平行?