admin管理员组文章数量:1613377
在上图中, 0 \bold{0} 0 和 t \bold{t} t 是左右两个相机。 而 e 1 e_{1} e1, e 2 e_{2} e2 分别是右边相机在左边相机的投影,和左边相机在右边相机的投影,i.e. epipoles。红色点表示三维空间中的一个点,它在左、右相机上的投影分别是 p p p 、 q q q 点。 p p p 、 q q q 点在各自的 epipolar lines上。epipolar lines 必定过对应的 epipoles。好了,以上是对上图的基本介绍,下面进入正题,来回答 Why Rank of Fundamental Matrix is 2
简短地回答:因为 epipoles 必定落在 epipolar lines上。
下面先说明fundamental matrix 是秩亏的:
注:下面文中,
x
l
x_l
xl ,
x
r
x_r
xr ,
e
l
e_l
el ,
e
r
e_r
er 分别与上图中
p
p
p ,
q
q
q ,
e
1
e_1
e1,
e
2
e_2
e2 对应。
一个 fundamental matrix 由方程
x
r
T
F
x
l
=
0
x_r^T F x_l = 0
xrTFxl=0 确定。那么右相机平面的 epipolar line
l
′
=
F
x
l
l^{'}= F x_l
l′=Fxl 。而右 epipole 位于直线
l
′
=
F
x
l
l^{'}= F x_l
l′=Fxl 上,故 对所有的
x
l
x_l
xl,有
e
r
T
l
′
=
0
e_r^Tl^{'} = 0
erTl′=0 或
e
r
T
F
x
l
=
0
e_r^TF x_l = 0
erTFxl=0 成立
故
e
r
T
F
=
0
e_r^TF = \bold{0}
erTF=0
同理可证
F
e
l
=
0
Fe_l = \bold{0}
Fel=0
因此
F
F
F 的零空间中不只有零向量。故
F
F
F 秩亏。
下面进一步证明
为什么
F
F
F 的秩是2,是因为
F
F
F 是从 Essential Matrix 构建得到的:
F
=
(
K
r
−
1
)
T
E
K
l
−
1
(1)
F = (K_{r}^{-1})^{T}EK_{l}^{-1} \tag{1}
F=(Kr−1)TEKl−1(1)
其中
K
r
K_r
Kr 、
K
l
K_l
Kl 是两个相机的内参。
E
=
[
T
×
]
R
(2)
E=[T_{\times}]R \tag{2}
E=[T×]R(2)
其中,
[
T
×
]
=
[
0
−
t
z
t
y
t
z
0
−
t
x
−
t
y
t
x
0
]
[T_{\times}]=\begin{bmatrix} 0&-t_{z}&t_{y}\\ t_{z}&0&-t_{x}\\ -t_{y}&t_{x}&0\\ \end{bmatrix}
[T×]=⎣⎡0tz−ty−tz0txty−tx0⎦⎤
R
R
R 是左右相机坐标系之间的旋转。根据反对称矩阵的性质,有
[
T
×
]
[T_{\times}]
[T×] 秩为
2
2
2。或者观察矩阵
[
T
×
]
[T_{\times}]
[T×] ,它的某一列是另外两列的线性组合,但是某两列之间是线性无关的。另一方面,旋转矩阵是正交矩阵,故
R
R
R 满秩,为 3。
从式(2)得, E E E 秩为2,从式(1)得, F F F秩为2。为什么和满秩矩阵相乘不改变矩阵的秩,因为满秩矩阵可以写成若干个初等矩阵的乘积。而另一方面,对某个矩阵乘上一个初等矩阵,相当于对其做相应的初等变换,初等变换不改变矩阵的秩。
参考Quora回答 Why is the fundamental matrix in computer vision rank 2?
本文标签: RANKfundamentalMatrix
版权声明:本文标题:Why Rank of Fundamental Matrix is 2 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1728642909a1167340.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论