赞
踩
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课程笔记】
对极几何(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,p′e′
极点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(映射矩阵)
首先假设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‘ =RTp′−RTT,所以 R T p ′ − R T T 和 R T T R^Tp'-R^TT和R^TT RTp′−RTT和RTT都在极平面上,我们用两者外积(叉积)构造一个垂直于极平面的向量
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×(RTp′−RTT)=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 e′T(Ex)=(e′TE)x=0,所以 e ′ T E = 0 e'^TE=0 e′TE=0,同理 E e = 0 Ee=0 Ee=0
substituting 替代
当不是canonical cameras时,
所以公式为:
我们定义 fundamental matrix(基本矩阵)
F
=
K
′
−
T
[
T
X
]
R
K
−
1
F=K'^{-T}[T_X]RK^{-1}
F=K′−T[TX]RK−1
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‘之间的关系
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
pi′Fpi=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,最优预测为:
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
当两个image plane平行时(
R
=
I
R=I
R=I),有
那么对应的极线
l是平行于baseline的,同理l’也是,两者也平行。
用 p ′ E p = 0 p'Ep=0 p′Ep=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
α=1若e1′≥0否则α=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.
(中间省略一部分,没太看明白)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。