3. epipolar geometry 【cs231a课程笔记】

同系列链接

1. pinhole camera model【cs231a课程笔记】
2. Single View Metrology【cs231a课程笔记】
3. epipolar geometry【cs231a课程笔记】
4. tereo Systems and Structure from Motion【cs231a课程笔记】
5. Active and Volumetric Stereo【cs231a课程笔记】

3.1. epipolar geometry 对极几何介绍

对极几何(Epipolar Geometry)是Structure from Motion(sfm)问题中,在两个相机位置产生的两幅图像的之间存在的一种特殊几何关系,是sfm问题中2D-2D求解两帧间相机姿态的基本模型。
在这里插入图片描述

baseline O 1 O 2 O_1 O_2 O1O2
极平面epipolar plane O 1 O 2 P O_1 O_2P O1O2P
极线epipolar line p e , p ′ e ′ pe,p'e' pe,pe
极点epipoles e , e ′ e,e' e,e

当两个image plane平行时,会出现如下图的情况,极点在无线远处。极线平行与image plane中的u轴。
在这里插入图片描述
我们知道 O 1 , O 2 O_1,O_2 O1,O2,以及p,p’在image plane的坐标,可以确定极平面。并假设世界坐标系是 O 1 O_1 O1 O 2 O 1 O_2O_1 O2O1之间关系 R , T R,T R,T
在这里插入图片描述
从而有M,M’表示从3D点(世界坐标系下)到两个image plane的projection metrices(映射矩阵)
在这里插入图片描述

3.2. Essential Matrix

首先假设canonical cameras(简单的相机), K = K ′ = I K=K'=I K=K=I,那么
在这里插入图片描述

is normal to 垂直于

更多的是,由于 l o c a t i o n   o f   p ‘   = R T p ′ − R T T location\ of\ p‘\ = R^Tp'-R^TT location of p =RTpRTT,所以 R T p ′ − R T T 和 R T T R^Tp'-R^TT和R^TT RTpRTTRTT都在极平面上,我们用两者外积(叉积)构造一个垂直于极平面的向量

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

所以该向量垂直于p,有
在这里插入图片描述
矩阵变换:外积变内积:
在这里插入图片描述
所以有:
在这里插入图片描述

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

(基本矩阵Fundamental Matrix定义类似,相见下文)
在这里插入图片描述
E是3x3矩阵,5个自由度,rank(秩)=2,奇异矩阵

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

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

3.3. Fundamental Matrix

substituting 替代

当不是canonical cameras时,
在这里插入图片描述
所以公式为:
在这里插入图片描述我们定义 fundamental matrix(基本矩阵) F = K ′ − T [ T X ] R K − 1 F=K'^{-T}[T_X]RK^{-1} F=KT[TX]RK1

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

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

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

3.4. (Standard)Eight point Algorithm

1981提出,1995改进

需要8对点: p i = ( u i , v i , 1 ) , p i ′ = ( u i ′ , v i ′ , 1 ) p_i=(u_i, v_i, 1), p_i'=(u_i', v_i', 1) pi=(ui,vi,1),pi=(ui,vi,1),都有 p i ′ F p i = 0 p_i'Fp_i=0 piFpi=0
在这里插入图片描述
这个scalar equation(标量等式),只限制了一个维度,需要:
在这里插入图片描述
在这里插入图片描述

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

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

解出的预测 f ^ \widehat{f} f ,可能是满秩的,但实际F是rank=2,所以需要处理下述优化问题,得到rank=2的 f ^ \widehat{f} f
在这里插入图片描述
这个问题再次用SVD解决, F ^ = U Σ V T \widehat{F}=U\Sigma V^T F =UΣVT,最优预测为:
在这里插入图片描述

3.5. Normalized Eight point Algorithm

magnitude 大小

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

先对W进行translation(新坐标系的原点位于图像点的质心)和scaling(变换后图像点和原点的均方距离应该为2个像素),两个camera分别用变换矩阵T,T’.
在这里插入图片描述
再通过上述计算得到 F q F_q Fq,不过 F q F_q Fq是normalized coordinates,所以要变换乘普通的F
在这里插入图片描述

3.6. Image Rectification

当两个image plane平行时( R = I R=I R=I),有
在这里插入图片描述
那么对应的极线
在这里插入图片描述
l是平行于baseline的,同理l’也是,两者也平行。

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

rectification就是让俩个图片平行

只要通过Normalized Eight Point Algorithm得到F,就可以计算出l,接下来求e,实际中由于误差,所有l不会都交于一点,所以就是优化问题(SVD)
在这里插入图片描述
找到e,e‘后,求H,H’使得将e,e’映射到无穷远(f,0,0)

一般认为H是一个R和一个T,并认为T将中心区域映射到(0,0,1)
在这里插入图片描述
在做完T变换后,认为R将极点映射到(f,0,1),所以如果Te’后是 ( e 1 ′ , e 2 ′ , 1 ) (e_1',e_2',1) (e1,e2,1),那么R是:
在这里插入图片描述
α = 1 若 e 1 ′ ≥ 0 否 则 α = 0 \alpha = 1 若e_1' \geq 0否则\alpha=0 α=1e10α=0,做完R变换后,只需要应用G就可以变换到(f,0,0):
在这里插入图片描述
做完G变换后,再用T‘变换回regular image space(规则图像空间),所以 H 2 H_2 H2是:
在这里插入图片描述
之后再找 H 1 H_1 H1,利用p和p’在三维空间中是一个点优化:
在这里插入图片描述
求解:
在这里插入图片描述
在这里插入图片描述
3x3斜对称矩阵特性 A = A 3 A=A^3 A=A3
在这里插入图片描述
有Wa=b以及下图,可求出a,得到 H A H_A HA,最终得到 H 1 H_1 H1.
在这里插入图片描述
(中间省略一部分,没太看明白)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值