对极几何是研究两幅图像之间存在的几何。它和场景结构无关,只依赖于摄像机的内外参数。研究这种几何可以用在图像匹配、三维重建方面。
从第一个摄像机可得知,该点必定位于3D空间中的一条特定光线上。进而第二幅图像中该点的投影位置x2必定位于第二幅图像中这条光线投影上的某个位置。三维空间中的光线在二维空间中的投影就是所谓的极线。这种几何关系告诉我们一些重要信息:对于第一幅图像中的任意点,其在第二幅图像中的对应点被限制在一条线上。这就是所谓的极线约束。
图像中每一个点都与三维空间中的一条光线相关联,每一条光线都在第二幅图像中投影而形成极线。由于所有的光线都汇聚于第一个摄像机的光心,所以极线必须汇聚于第二幅图像平面上的一个点。这是第一个摄像机的光心在第二个摄像机中的图像,称为极点。
极点并不一定位于观测图像内:极线也可能汇聚于可视范围之外的某一点。当两个摄像机都位于同一方向(即没有相对旋转)且垂直于光轴时,极线是相互平行的,因此由极线汇聚的极点就位于无穷远处。当两个摄像机位于同一方向且平行于光轴时,极点就位于图像的中心且极线呈放射状。
一对对应点 m i = [ u i , v i , 1 ] T , m i ′ = [ u i ′ , v i ′ , 1 ] T m_i = [u_i,v_i,1]^T,m_i' = [u_i',v_i',1]^T mi=[ui,vi,1]T,mi′=[ui′,vi′,1]T之间满足约束: m i ′ T F ′ m i = 0 m_i'^TF'm_i = 0 mi′TF′mi=0
F = [ F 11 F 12 F 13 F 21 F 22 F 23 F 31 F 32 F 33 ] F = \left[ \begin{matrix} F_{11}& F_{12} & F_{13} \\ F_{21} & F_{22} & F_{23} \\ F_{31} & F_{32} & F_{33} \end{matrix} \right] F=⎣⎡F11F21F31F12F22F32F13F23F33⎦⎤
展开可以得到约束方程为:
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 u_i'u_i'F_{11} + u_i'v_i'F_{12} + u_i'F_{13} + v_i'u_iF_{21} + v_i'v_iF_{22} + v_i'F_{23} + u_iF_{31} + v_iF_{32} +F_{33} = 0 ui′ui′F11+ui′vi′F12+ui′F13+vi′uiF21+vi′viF22+vi′F23+uiF31+viF32+F33=0
对于n对对应的图像点对mi<->mi_'i=1…n可得到n个这样的方程
构造向量:
f = [ F 11 , F 12 , F 13 , F 21 , F 22 , F 23 , F 31 , F 32 , F 33 ] T f = [F_{11},F_{12},F_{13},F_{21},F_{22},F_{23},F_{31},F_{32},F_{33}]^T f=[F11,F12,F13,F21,F22,F23,F31,F32,F33]T
构造矩阵:
从而: A f = 0 Af = 0 Af=0当n>=8,可以线性求解f。
基于代数误差的估计方法是满足某些约束下使 ∣ ∣ A f ∣ ∣ || Af || ∣∣Af∣∣最小的算法
由对应点(n>=8)集构造矩阵A;
对A进行奇异值分解 A = U D V T A = UDV^T A=UDVT,由向量 f = v 9 f=v_9 f=v9构造矩阵F;
对F进行SVD分解 F = U d i a g ( s 1 s 2 s 3 ) V T F=Udiag(s1 s_2 s_3)V^T F=Udiag(s1s2s3)VT得到基本矩阵的估计F^ = U d i a g ( s 1 s 2 0 ) V T =Udiag(s_1 s_2 0)V^T =Udiag(s1s20)VT
8点算法估计基本矩阵F的结果与图像点的坐标系有关。当图像数据有噪声,即对应点不精确时,由8点算法给出的基本矩阵F的解精度很低。
存在一种归一化坐标系,在此坐标系下估计的基本矩阵优于其它坐标系。
归一化变换:
(1)左右拍摄
(2)相平面接近平行
(3)图像拍摄位置位于前后
参考链接:
[1] https://www.cnblogs.com/majiale/p/9306039.html
[2] https://www.cnblogs.com/jqpy1994/p/10561891.html