参考:
https://www.cnblogs.com/clarenceliang/p/6704970.html

3.1. epipolar geometry 对极几何介绍

对极几何(Epipolar Geometry)是Structure from Motion(sfm)问题中,在两个相机位置产生的两幅图像的之间存在的一种特殊几何关系,是sfm问题中2D-2D求解两帧间相机姿态的基本模型。
3. epipolar geometry 【cs231a课程笔记】

baseline O1O2O_1 O_2
极平面epipolar plane O1O2PO_1 O_2P
极线epipolar line pe,pepe,p'e'
极点epipoles e,ee,e'

当两个image plane平行时,会出现如下图的情况,极点在无线远处。极线平行与image plane中的u轴。
3. epipolar geometry 【cs231a课程笔记】
我们知道O1,O2O_1,O_2,以及p,p’在image plane的坐标,可以确定极平面。并假设世界坐标系是O1O_1O2O1O_2O_1之间关系R,TR,T
3. epipolar geometry 【cs231a课程笔记】
从而有M,M’表示从3D点(世界坐标系下)到两个image plane的projection metrices(映射矩阵)
3. epipolar geometry 【cs231a课程笔记】

3.2. Essential Matrix

首先假设canonical cameras(简单的相机),K=K=IK=K'=I,那么
3. epipolar geometry 【cs231a课程笔记】

is normal to 垂直于

更多的是,由于location of p =RTpRTTlocation\ of\ p‘\ = R^Tp'-R^TT,所以RTpRTTRTTR^Tp'-R^TT和R^TT都在极平面上,我们用两者外积(叉积)构造一个垂直于极平面的向量

RTT×(RTpRTT)=RTT×RTp=RT(T×p)R^TT\times(R^Tp'-R^TT)=R^TT\times R^Tp'=R^T(T\times p').

所以该向量垂直于p,有
3. epipolar geometry 【cs231a课程笔记】
矩阵变换:外积变内积:
3. epipolar geometry 【cs231a课程笔记】
所以有:
3. epipolar geometry 【cs231a课程笔记】

Essential Matrix(本质矩阵) E=[TX]RE=[T_X]R

(基本矩阵Fundamental Matrix定义类似,相见下文)
3. epipolar geometry 【cs231a课程笔记】
E是3x3矩阵,5个自由度,rank(秩)=2,奇异矩阵

利用E和p,p’求极线,l=Epl'=Epl=Epl=Ep'

另一个特征:image plane1中任意一点x(当作一个P点),对应的极线l=Exl‘=Ex,包含e’点,所以eT(Ex)=(eTE)x=0e'^T(Ex)=(e'^TE)x=0,所以eTE=0e'^TE=0,同理Ee=0Ee=0

3.3. Fundamental Matrix

substituting 替代

当不是canonical cameras时,
3. epipolar geometry 【cs231a课程笔记】
所以公式为:
3. epipolar geometry 【cs231a课程笔记】我们定义 fundamental matrix(基本矩阵)F=KT[TX]RK1F=K'^{-T}[T_X]RK^{-1}

F是3x3矩阵,7个自由度

利用F和p,p’求极线,l=Fpl'=Fpl=Fpl=Fp'

当知道了F和一个点p,可以求出p’所在的极线,所以我们不用P点的3D坐标,也不用相机内外参,就可以得到p和p‘之间的关系

3.4. (Standard)Eight point Algorithm

1981提出,1995改进

需要8对点:pi=(ui,vi,1),pi=(ui,vi,1)p_i=(u_i, v_i, 1), p_i'=(u_i', v_i', 1),都有piFpi=0p_i'Fp_i=0
3. epipolar geometry 【cs231a课程笔记】
这个scalar equation(标量等式),只限制了一个维度,需要:
3. epipolar geometry 【cs231a课程笔记】
3. epipolar geometry 【cs231a课程笔记】

W是Nx9,N大于等于8(通常N会大于8,为了去除噪声)

可以通过奇异值分解(SVD)在最小二乘意义上找到该齐次方程组的解,因为w是不满秩的

解出的预测f^\widehat{f},可能是满秩的,但实际F是rank=2,所以需要处理下述优化问题,得到rank=2的f^\widehat{f}
3. epipolar geometry 【cs231a课程笔记】
这个问题再次用SVD解决,F^=UΣVT\widehat{F}=U\Sigma V^T,最优预测为:
3. epipolar geometry 【cs231a课程笔记】

3.5. Normalized Eight point Algorithm

magnitude 大小

对于SVD方法,W应该有一个奇异值接近\等于0,其余不等于0。然而(ui,vi,1)(u_i,v_i, 1)的前两个值可能很大,当和相对小的图片对应时,会有一个奇异值很大,剩下的相对小。

先对W进行translation(新坐标系的原点位于图像点的质心)和scaling(变换后图像点和原点的均方距离应该为2个像素),两个camera分别用变换矩阵T,T’.
3. epipolar geometry 【cs231a课程笔记】
再通过上述计算得到FqF_q,不过FqF_q是normalized coordinates,所以要变换乘普通的F
3. epipolar geometry 【cs231a课程笔记】

3.6. Image Rectification

当两个image plane平行时(R=IR=I),有
3. epipolar geometry 【cs231a课程笔记】
那么对应的极线
3. epipolar geometry 【cs231a课程笔记】
l是平行于baseline的,同理l’也是,两者也平行。

pEp=0p'Ep=0我们得到v=vv=v'.

rectification就是让俩个图片平行

只要通过Normalized Eight Point Algorithm得到F,就可以计算出l,接下来求e,实际中由于误差,所有l不会都交于一点,所以就是优化问题(SVD)
3. epipolar geometry 【cs231a课程笔记】
找到e,e‘后,求H,H’使得将e,e’映射到无穷远(f,0,0)

一般认为H是一个R和一个T,并认为T将中心区域映射到(0,0,1)
3. epipolar geometry 【cs231a课程笔记】
在做完T变换后,认为R将极点映射到(f,0,1),所以如果Te’后是(e1,e2,1)(e_1',e_2',1),那么R是:
3. epipolar geometry 【cs231a课程笔记】
α=1e10α=0\alpha = 1 若e_1' \geq 0否则\alpha=0,做完R变换后,只需要应用G就可以变换到(f,0,0):
3. epipolar geometry 【cs231a课程笔记】
做完G变换后,再用T‘变换回regular image space(规则图像空间),所以H2H_2是:
3. epipolar geometry 【cs231a课程笔记】
之后再找H1H_1,利用p和p’在三维空间中是一个点优化:
3. epipolar geometry 【cs231a课程笔记】
求解:
3. epipolar geometry 【cs231a课程笔记】
3. epipolar geometry 【cs231a课程笔记】
3x3斜对称矩阵特性 A=A3A=A^3
3. epipolar geometry 【cs231a课程笔记】
有Wa=b以及下图,可求出a,得到HAH_A,最终得到H1H_1.
3. epipolar geometry 【cs231a课程笔记】
(中间省略一部分,没太看明白)

相关文章:

  • 2021-06-17
  • 2021-08-17
  • 2022-12-23
  • 2021-06-07
  • 2022-02-16
  • 2021-09-23
  • 2021-07-19
  • 2021-06-06
猜你喜欢
  • 2022-01-07
  • 2021-10-12
  • 2021-11-23
  • 2022-01-09
  • 2022-02-09
  • 2022-01-01
  • 2021-08-23
相关资源
相似解决方案