本文介绍的是通过五点法恢复运动。
求解本质矩阵
首先根据对极约束有:
q
′
T
E
q
=
0
q'^TEq=0
q′TEq=0
这个矩阵将E展开,可得:
q
^
T
E
^
=
0
\hat{q}^T\hat{E} = 0
q^TE^=0
其中,
这里的本质矩阵E有9个自由度(实际上5个,R,t减去尺度),5个点只能提供5个约束,所以E可以表示为
X
,
Y
,
Z
,
W
X,Y,Z,W
X,Y,Z,W的线性组合:
这里不妨令
w
=
1
w = 1
w=1,只剩下
x
,
y
,
z
x,y,z
x,y,z三个未知数。又考虑到本质矩阵的性质:
将上式代入其中,可以获得下面的方程组:
这里消去了z,[3]指的是z的三次多项式。具体过程看不懂emmm
接下来,经过一些操作,可以将上面的方程组转换为下面两个方程组:
这里由于方程组存在非零解,所以方程组的系数多项式为0,这两个z的11次方程又可以转化为1个z的10次方程,求解该方程得到z,再代入大方程组得到x,y。最终获得E。
恢复R,t
可以通过下面的公式恢复R,t
E
=
U
S
V
T
W
=
[
0
−
1
0
1
0
0
0
0
1
]
t
1
∧
=
U
W
S
U
T
t
2
=
−
t
1
R
1
=
U
W
V
T
R
2
=
U
W
T
V
T
E = USV^T\\ W=\begin{bmatrix} 0&-1&0\\1&0&0\\0&0&1\end{bmatrix}\\ t_1^{\land} = UWSU^T\\ t_2 = -t_1\\ R_1 = UWV^T\\ R_2 = UW^TV^T
E=USVTW=⎣⎡010−100001⎦⎤t1∧=UWSUTt2=−t1R1=UWVTR2=UWTVT
组合得到下面四种可能情况:
通过判断像点是否都在相机前方可确定最终的R,t
参考:
https://www.zhihu.com/question/281103029
https://blog.csdn.net/kokerf/article/details/72911561
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.86.8769&rep=rep1&type=pdf