admin管理员组文章数量:1613373
基础矩阵F和单应矩阵H的推导过程,区别分析
- 参考博客
- 1. 基础矩阵F
- 1.1 Essential Matrix
- 1.2 Fundamental Matrix
- 1.3 两者区别
- 2. 单应矩阵H
- 3. 基础与单应矩阵区别
- 4. 详细推导求解
参考博客
参考博客:https://blog.csdn/try_again_later/article/details/88655563
1. 基础矩阵F
1.1 Essential Matrix
已知:坐标系o,
o
′
o^{'}
o′,世界坐标点P在o下相机坐标x,在
o
′
o^{'}
o′下相机坐标
x
′
x^{'}
x′。
求解:坐标系o到
o
′
o^{'}
o′的旋转矩阵R,和平移矩阵t。
坐标系的刚体变换:
x
′
=
R
(
x
−
t
)
x^{'}=R(x-t)
x′=R(x−t)根据共平面:
(
x
−
t
)
T
(
t
×
x
)
=
0
(x-t)^{T}(t \times{x})=0
(x−t)T(t×x)=0说明:由于
t
与
x
t与x
t与x共平面,且外积
t
×
x
t\times {x}
t×x的方向同时垂直于
t
,
x
t, x
t,x,即垂直于平面
o
P
o
′
oPo^{'}
oPo′,又
(
x
−
t
)
(x-t)
(x−t)向量在平面
o
P
o
′
oPo^{'}
oPo′内,因此
(
x
−
t
)
T
(
t
×
x
)
=
0
(x-t)^{T}(t \times{x})=0
(x−t)T(t×x)=0成立。
结合上面两个公式,可以得到:
(
R
−
1
x
′
)
T
(
[
t
]
×
x
)
=
0
(R^{-1}x^{'})^{T}([t]_{\times}x)=0
(R−1x′)T([t]×x)=0转换之后得到:
x
′
T
R
[
t
]
×
x
=
0
x^{'T}R[t]_{\times}x=0
x′TR[t]×x=0取
E
=
R
[
t
]
×
E=R[t]_{\times}
E=R[t]× 得到:
x
′
T
E
x
=
0
x^{'T}Ex=0
x′TEx=0其中
x
,
x
′
x,x^{'}
x,x′为P在两个相机坐标系下的坐标。
- E = E= E= t ^ R 为3*3的矩阵,奇异值为 ( u , u , 0 ) T (u,u,0)^{T} (u,u,0)T 的形式, 为本质矩阵的内在性质。
- 性质:理论上综合旋转、平移共有6个自由度,因尺度等价,E有5个自由度。
- 求解:一般使用8点法,通过SVD分解,恢复出R,t 。
自由度:E有五个自由度,所以最少用5对点求E,实际中经常使用8点法。
1.2 Fundamental Matrix
利用前面的公式,将相机坐标转换为像素坐标,E便可以转换为F,需要知道两个相机的内参 K , K ′ K, K^{'} K,K′.
- 基本矩阵F和E只差了一个相机内参 F = K − T E K − 1 F=K^{-T}EK^{-1} F=K−TEK−1 ,可以直接带入求解。
- 基础矩阵F表明一个图像点 x x x 到另一图像上对极线L上的映射。
自由度:F自由度为7。
应用:可通过E恢复出相机运动的R,t。如果初始化遇到了纯旋转的情况,t=(0,0,0),理论矩阵F为0矩阵,受到噪声影响,由匹配点对推算F矩阵不为0,分解后的R,t受到噪声影响大。
1.3 两者区别
本质矩阵则是基本矩阵的一种特殊情况,是在归一化图像坐标下的基本矩阵,可以理解为本质矩阵对应的坐标位于相机坐标系,基础矩阵对应的坐标位于图像平面坐标系。
2. 单应矩阵H
求解公式:
x
′
=
(
R
+
t
n
T
d
)
x
=
H
x
x^{'}=(R+\frac{tn^{T}}{d})x=Hx
x′=(R+dtnT)x=Hx由公式可知,当坐标系到固定平面的深度
d
d
d远大于平移矩阵
t
t
t时,相机为纯旋转,即相机在纯旋转后仍然可以通过单应矩阵H分解出
R
,
t
R,t
R,t
- 单应矩阵的定义与 R 、 t R、t R、t、平面参数相关,单应矩阵为3*3的矩阵,自由度为8,求解的思路和 E 、 F E、F E、F相似。
- 单应矩阵表明两个点之间变换H, x ′ = H x x^{'}=Hx x′=Hx
- 求解:可用一组不共线的4个匹配点来计算矩阵H。
自由度:H自由度为8,可通过4对匹配特征点算出(8点)。
应用:H不像对极约束,它需要场景的结构信息,它要求场景的点必须在同一个平面上,因此单应矩阵H也就能够对两图像上对应点的提供更多的约束,知道了某点在一幅图像的像点位置后,可以通过单应矩阵,求得其在另一幅图像中像点的确切位置。相机只有旋转而无平移的时候,两视图的对极约束不成立,基础矩阵F为零矩阵,这时候需要使用单应矩阵H,场景中的点都在同一个平面上,可以使用单应矩阵计算像点的匹配点。 相机的平移距离相对于场景的深度较小的时候,也可以使用单应矩阵H。
3. 基础与单应矩阵区别
- 单应矩阵适用于特征点在同一平面上的运动估计场景, 而基础矩阵则适用于空间中的特征点运动估计,两者适用的场景不相同,但是两者都是表示两帧图像像素点的相对运动映射关系。
- 单应矩阵在纯旋转情况下仍然适用,但是在纯旋转情况下,两视图的对极约束不成立,基础矩阵F为零矩阵,而由于噪声存在,基础矩阵一般不为0,其分解得到的 R , t R,t R,t有很大的误差。
4. 详细推导求解
版权声明:本文标题:视觉SLAM笔记--第5篇: 基础矩阵F和单应矩阵H的推导过程,区别分析 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1728644112a1167468.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论