6_Epipolar_Geomotry_2

CS231A笔记
文章截图大多来自斯坦福CS231A课程;


本章节许多问题没有看懂,o(╥﹏╥)o


主题: 图片校正 Image Rectification

#1 问题

  • 两个图片平行的问题
    • 无旋转 R = I
    • 平移: 假设在x 轴上平移

那么 本质矩阵为:

计算极线的方向:

=

可知,两张图片的极线是水平的;

可以得知,两点是共享同一个坐标轴 v的;

2 Rectification: making two images “parallel”

  • 平行图片的优点

2.1 三角化

  • point triangulation

  • 距离计算

2.2 对应性问题

2.2.1 对应性方法

两个图片共享v轴,只在u轴上变化;

这种方法造成强度的改变;

窗口大小不同的结果为;

存在四个不同的问题:


3 校正两张图片

校正两个图片不需要就知道相机的内参K和外参矩阵R,T,只需要通过基础矩阵计算极线;
然后计算所以极线的交点—极点;由于噪点的干扰,不可能交于一点,因此计算极点,利用最小二乘方法求得极线拟合一点;
并且在极线上的每一点:

如果定义极线集合:

可以得到:

因此整个步骤为:

    1. 通过归一化8点算法获取基本矩阵
    1. 极线交于极点: 通过最小二乘误差拟合
    1. svd计算 极点

在求得极点e,e’后,如果极点在水平方向上不是无限的,说明图片没有平行,如果点是无限的,说明图片平行了;

因此,我们的目的:

  • 寻找一对单应性矩阵H1,H2,使得极点无穷,即两张图片平行;

(1). 寻找H2:令e’在水平方向上无限,即为点(f,0,0)

  • 将第二幅图的中心移动到(0,0,1)在齐次坐标系下;
    这个平移矩阵为:

(2). 应用一个旋转矩阵:使极点坐标旋转到水平坐标轴上,变为(f, 0, 1)

  • 如果e‘在平移后Te’的坐标为:(e1’,e2’,1),旋转矩阵为:

(3). 将极点坐标由(f,0,1)==>(f,0,0)

  • 只需要变换矩阵:

经过上面几个步骤。我们可以得到无限极点:这个单应性变换H2为:


  • 为了寻找单应性矩阵H1,,需要最小化两个图片对应点的均方差之和来获得H1

求导后,可以得到:

!

计算式子中的未知参数:

(1). 首先计算M

  • 任意3*3的斜对称矩阵:

因为任何向量的叉积矩阵 是一个斜对称矩阵:

如图,a向量的叉乘矩阵为斜对称矩阵;

因此,前面公式中:

合并后,

如果M每一列缩放e,则F也需要变化:

(2). 计算Ha矩阵中的参数a

  • 已经知道了H2, M,如果将图片1中的点p变换到图片2中,然后经过H2变换:

这两个点应该是最近点,然后使用最小二乘发来最小化误差:

假设两个点齐次坐标为:

最小化式子为:

因为最后一项两个点在水平线上,则为常数

最终,这个问题变成了解决最小二乘问题:

求得a的参数后,得到了HA,H2,M三个矩阵,根据上面的式子:
最终可以求得H1;