特征提取:找出2张图片中相似的点
- 特征:关键点(例如角点,明暗变化大的点)+描述子(记录的关键点的特征信息,方向,旋转 等)
- FAST特征点:角点,检测局部像素灰度变化大的地方,FAST-N 半径为3的圆上有16个像素点,计算是否连续N个点亮度大于或小于阈值
- ORB = ORrented Fast 特征点(像素几何中心到平均亮度中心的连线是方向)+ BRIEF 描述子(二进制,用汉明距离描述差异)
- 匹配方法:暴力匹配BFM,快速近似最近邻FLANN
- opencv2/features2d/features2d.hpp KeyPoint Dmatch
2D-2D 对极几何
-
对极约束:
p
2
T
K
−
T
t
∧
R
K
−
1
p
1
=
0
p_2^TK^{-T}t^{\wedge}RK^{-1}p_1=0
p2TK−Tt∧RK−1p1=0
-
基础fundamental矩阵
F
=
K
−
T
t
∧
R
K
−
1
F=K^{-T}t^{\wedge}RK^{-1}
F=K−Tt∧RK−1
-
本质essential矩阵,5个自由度,尺度等价性.
E
=
t
∧
R
E=t^{\wedge}R
E=t∧R
-
八点法 :
- 用于单目slam初始化
- SVD分解计算后后4组值,要取深度为正的
- 纯旋转问题,t为0时E无法分解出R,t ,这时用单应矩阵H求解
- 多于8对点,超定,用最小二乘解
- 特征点共面,八点法会退化无法求解,例如无人机的下视
-
单应矩阵Homography
适用于特征点共面,例如无人机的下视摄像头。
p
2
=
K
(
R
−
t
n
T
/
d
)
K
−
1
p
1
p_2=K(R-tn^T/d)K^{-1}p_1
p2=K(R−tnT/d)K−1p1
p
2
=
H
P
1
p_2=HP_1
p2=HP1
H
=
K
(
R
−
t
n
T
/
d
)
K
−
1
H=K(R-tn^T/d)K^{-1}
H=K(R−tnT/d)K−1
- 三角测量
definition: 一对特征点像素位置射线的空间位置交点 -> 空间位置
- opencv : triangulation()
- 当t较小,像素深度的不确定性大
- 当t较大,特征点又少了,这就是三角化的矛盾
总结
- 提取特征点
- 记录特征点信息
- 匹配特征点
- 对极约束计算(R,t)
- 三角测量计算深度
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)