对极几何

  对极几何是研究两幅图像之间存在的几何。它和场景结构无关,只依赖于摄像机的内外参数。研究这种几何可以用在图像匹配、三维重建方面。(因为参考多处来源,本文各个章节之间没有统一约定符号)

  • 基线:连接两个摄像机光心$O(O^{'})$的直线
  • 对极点:基线与像平面的交点
  • 对极平面:过基线的平面
  • 对极线:对极平面与图像平面的交线
  • 基本矩阵F:对应点对之间的约束$m^{'T}Fm=0$

极线约束

  对于一个单一的摄像机观测3D点$w$的情况。$w$必定位于一条穿过光心和摄像机平面中$x_{1}$的光线上。然而,从单独的一个摄像机,我们无法获知该点与光线间的距离。

  现在我们考虑观测同一个3D点的第二个摄像机。从第一个摄像机可得知,该点必定位于3D空间中的一条特定光线上。进而第二幅图像中该点的投影位置$x_{2}$必定位于第二幅图像中这条光线投影上的某个位置。三维空间中的光线在二维空间中的投影就是所谓的极线

  这种几何关系告诉我们一些重要信息:对于第一幅图像中的任意点,其在第二幅图像中的对应点被限制在一条线上。这就是所谓的极线约束。而这条受约束的特定极线依赖于摄像机的内在参数和外在参数(也就是两个摄像机间的相对平移和旋转)。

  极线约束有两个重要的实际意义。

  1)在已知摄像机的内在参数和外在参数的情况下,能够相对容易地找到对应点:对于第一幅图像中的某个点,只需要沿着第二幅图像中的极线执行一维搜索,就可以得到该点在第二幅图像中极线上对应点的位置。

  2)对应点的约束是摄像机内在参数和外在参数的函数;在已知摄像机内在参数的情况下,可利用对应点的观测模式来确定摄像机的外在参数,因而确定两台摄像机间的几何关系。

极点

  现在考虑第一幅图像中的点。每一个点都与三维空间中的一条光线相关联,每一条光线都在第二幅图像中投影而形成极线。由于所有的光线都汇聚于第一个摄像机的光心,所以极线必须汇聚于第二幅图像平面上的一个点。这是第一个摄像机的光心在第二个摄像机中的图像,称为极点

  类似地,图像2中的点引出图像1中的极线,而这些极线汇聚于图像1中的极点。该极点就是摄像机2的光心在摄像机1中的图像。

  极点并不一定位于观测图像内:极线也可能汇聚于可视范围之外的某一点。当两个摄像机都位于同一方向(即没有相对旋转)且垂直于光轴时,极线是相互平行的,因此由极线汇聚的极点就位于无穷远处。当两个摄像机位于同一方向且平行于光轴时,极点就位于图像的中心且极线呈放射状。这些例子说明极线的模式能够提供摄像机间的相对位置和方向等信息。

 本质矩阵(Essential Matrix)

  对于世界坐标系中的点$M_{i}$,在摄像机1和摄像机2中的成像分别为$m_{i}$和$m'_{i}$。

$x_{i}m_{i}=K[R,t]M_{i}$

       $x'_{i}m'_{i}=K'[R',t']M_{i}$  

  如果将世界坐标系取在第一个摄像机坐标系上,则:

$x_{i}m_{i}=K[I,0]M_{i}$ -> $x_{i}m_{i}=KM_{i}$

$x'_{i}m'_{i}=K'[R,t]M_{i}$ -> $x'_{i}m'_{i}=K'(RM_{i}+t)$

  现在取:

$p_{i}=K^{-1}m_{i}$,$p'_{i}=K'^{-1}m'_{i}$

  代入上式,得:

$p'_{i}=Rp_{i}+t$

  两边同时左乘$tˆ$。ˆ相当于两侧同时与$t$做外积:

$tˆp'_{i}=tˆRp_{i}$

  然后,两侧同时左乘$p'^{T}$:                                                                                                                                                                                          

$p'^{T}_{i}tˆp'_{i}=p'^{T}_{i}tˆRp_{i}$

  观察等式左侧,$tˆp'_{i}$是一个与$t$和$p'_{i}$都垂直的向量。把它再和$x'$做内积时,将得到0。因此,我们就得到一个简洁的式子:

$p'^{T}_{i}tˆRp_{i}=0$

  重新代入$m,m'$,有:

$m'^{T}_{i}K'^{-T}tˆRK^{-1}m_{i}=0$

  这两个式子都称为对极约束,它以形式简洁著名。它的几何意义是O,O',M三者共面。对极约束中同时包含了平移和旋转。我们把中间部分记作两个矩阵:基础矩阵(Fundamental Matrix)$F$和本质矩阵(Essential Matrix)$E$,于是可以进一步简化对极约束:

$E=tˆR,F=K'^{-T}EK^{-1},p'^{T}_{i}Ep_{i}=m'^{T}_{i}Fm_{i}=0$

  对极约束简洁地给出了两个匹配点的空间位置关系。

 基本矩阵F的估计方法

  • 基于代数误差的线性估计---8、7点算法
  • 基于几何误差的非线性优化
  • 基于RANSAC思想的自动估计算法

8点算法

  一对对应点$m_{i}=[u_{i},v_{i},1]^{T},m'_{i}=[u'_{i},v'_{i},1]^T$之间满足约束:$m'^{T}_{i}Fm_{i}=0$

$F=left[egin{matrix}F_{11} & F_{12} & F_{13} \ F_{21} & F_{22} & F_{23} \ F_{31} & F_{32} & F_{33} end{matrix} ight]$

  展开可以得到约束方程为:

$u'_{i}u_{i}F_{11}+u'_{i}v_{i}F_{12}+u'_{i}F_{13}+v'_{i}u_{i}F_{21}+v'_{i}v_{i}F_{22}+v'_{i}F_{23}+u_{i}F_{31}+v_{i}F_{32}+F_{33}=0$

  对于n对对应的图像点对$m_{i}$ <-> $m'_{i}    i=1...n$

  可得到n个这样的方程

  构造向量:$f=[F_{11},F_{12},F_{13},F_{21},F_{22},F_{23},F_{31},F_{32},F_{33}]^{T}$

  构造矩阵:$A=left[egin{matrix}u'_{1}u_{1} & u'_{1}v_{1} & u'_{1} & v'_{1}u_{1} & v'_{1}v_{1} & v'_{1} & u_{1} & v_{1} & 1 \  vdots & vdots & vdots & vdots & vdots & vdots & vdots & vdots & vdots \ u'_{n}u_{n} & u'_{n}v_{n} & u'_{n} & v'_{n}u_{n} & v'_{n}v_{n} & v'_{n} & u_{n} & v_{n} & 1end{matrix} ight]$

  从而:$Af=0$

  当n>=8,可以线性求解f。

  • 基于代数误差的估计方法是满足某些约束下使$||Af||$最小的算法
  • 8点算法:$min||Af||$,约束条件$||f||=1$
  • 步骤:1)由对应点(n>=8)集构造矩阵$A$;2)对$A$进行奇异值分解$A=UDV^{T}$,由向量$f=v_{9}$($V$的最后一列)构造矩阵F;3)对F进行SVD分解$F=Udiag(s_{1} s_{2} s_{3})V^T$得到基本矩阵的估计$hat F=Udiag(s_{1} s_{2} 0)V^{T}$
  • 8点算法估计基本矩阵$F$的结果与图像点的坐标系有关。当图像数据有噪声,即对应点不精确时,由8点算法给出的基本矩阵F的解精度很低。
  • 存在一种归一化坐标系,在此坐标系下估计的基本矩阵优于其它坐标系。
  • 归一化变换:1)对图像点做位移变换,使得图像的原点位于图像点集的质心;2)对图像点做缩放变换,使得图像点分布在以质心为圆心半径为$sqrt{2}$

  归一化8点算法:由对应点$m_{i}$ <-> $m'_{i}$,求F

    1)对两幅图像分别做归一化变换$H,H'_{i}$,得到新的对应点集;

    2)有新的对应点集和8点算法估计$hat F$;

    3)基本矩阵$F=H'^{-1} hat F H^{-1}$

 参考文献

【1】视觉SLAM十四讲

【2】Computer Vision:Model,Learning,and Inference

【3】中科院自动化所机器视觉PPT

原文地址:https://www.cnblogs.com/majiale/p/9306039.html