广义的立体视觉

主要思想:任何两张有重叠视图的图像,它们都可以被视为一对立体图像

我们只需要弄清楚这两个视图是如何关联的

视觉中一些最“漂亮”的数学问题是描述多个视图之间的几何关系。

回忆:对极约束(Epipolar Constraint)

重要的立体视觉概念:

给定左图像上的一个点,我们不必在整个右图像中搜索对应的点

“对极约束”将搜索空间缩小为一条一维的直线。

回顾:简单的立体视觉系统

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_计算机视觉

回顾:对极约束

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_立体视觉_02

相应的特征被限制在共轭的极线上(在我们简单配置的例子中是位于同一行上的)

广义的立体视觉

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_算法_03

一般来说,相机可以通过任意变换(R,T)进行关联:对极矩阵

一般来说,相机内参可能是不同的,甚至是未知的:基础矩阵

对极几何

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_扫描线_04

Ol, Or的连线与两个像平面的交点为el, er,称为极点(Epipoles)

Ol, Or, P三个点确定的平面称为极平面(Epipolar plane)

极平面与两个像平面的相交线plel,prer称为极线(Epipolar line)

对应的点在“共轭”的极线上:对极约束

可视化

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_算法_05

光线到场景中的点

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_扫描线_06

将线系在管脚上,并将焦点连接到场景点

对另一个观察者来说这会是什么样子?

从第二个观察者看到的光线

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_算法_07

从第一个观察者看到的光线

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_算法_08

对极几何

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_扫描线_09

左边

极点:相机1所看到的相机2的位置。

右边

极点:相机2所看到的相机1的位置

对极几何

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_算法_10

对应点位于共轭极线上

对极几何

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_计算机视觉_11

共轭极线在图像上产生了广义的一维“扫描线”序列(类似于图像中行的传统扫描线序列)

极点不一定要在图像中

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_立体视觉_12

对极几何

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_扫描线_04

Ol, Or的连线与两个像平面的交点为el, er,称为极点(Epipoles)

Ol, Or, P三个点确定的平面称为极平面(Epipolar plane)

极平面与两个像平面的相交线plel,prer称为极线(Epipolar line)

对应的点在“共轭”的极线上:对极约束

对极约束

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_连线_14

给定左特征点pl:


  1. 考虑它的极线:plel;
  2. 找到极平面Ol, pl, el;
  3. 极平面和右像平面的交叉线为右极线
  4. 在右极线上寻找pr

本质矩阵Essential Matrix

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_连线_15

回忆:通过(R,T)将世界坐标系到相机坐标系的变换。在这里,我们从一个相机变到另一个相机。

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_算法_16

极线约束:Pl,T和Pl-T是共面的

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_计算机视觉_17

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_扫描线_18

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_计算机视觉_19

向量积作为矩阵乘法

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_扫描线_20

本质矩阵

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_算法_21

本质矩阵:【计算机视觉】Lecture 18:广义的立体视觉:对极几何_计算机视觉_22

那么【计算机视觉】Lecture 18:广义的立体视觉:对极几何_扫描线_23

本质矩阵的性质

【计算机视觉】Lecture 18:广义的立体视觉:对极几何_算法_24


  • rank为2
  • 仅取决于外参(R和T)