前面的内容基本都是基础内容,从第7讲开始变为实践应用,其实就是具体在SLAM中是如何完成各线程内容的。
按理说是实践部分,但还是坚持不实践呢。
2022-08,来更新一下。
注:
1)学习视频:【高翔】视觉SLAM十四讲 ch7-1,【高翔】视觉SLAM十四讲 ch7-2。
第7讲
7.1 理论部分
7-8讲均是视觉里程计的内容,主要区别在于前端原理不同,分别对应特征点法和直接法。
此外计算相机的运动,依据点的关系不同,采用不同方法。
2D-2D:对极几何;3D-3D:ICP;2D-3D:PnP。
1)特征点法
- 特征点由关键点和描述子组成。关键点提供位置、大小、朝向、评分等信息,描述子提供关键点周围像素信息;
- 常用特征点有SIFT、SURF、ORB,描述精度依次下降,运行时长依次减少;
- ORB特征点:由改进FAST角点和BRIEF描述子组成。原始FAST角点无方向性,简单来说就是判断一个像素 p p p周围半径为3的圆上16个像素中是否有连续N个像素灰度大于/小于某阈值。改进FAST增加了尺度和方向描述:1)构建图像金字塔解决尺度问题(图像放大或缩小后同一角点无法被确认);2)利用灰度质心法得到方向向量(描述图像梯度指向)。原始BRIEF同样无方向信息,简单来说就是判断关键点周围X个点对的大小关系并表示为0或1。点对比较规则可以自己设定,随机或固定pattern。改进BRIEF增加上一步的方向信息,计算旋转后的Steer BRIEF信息;
- ORB特征匹配:简单来说就是判断2个ORB特征的BRIEF描述子的汉明距离(汉明距离就是所有二进制描述子异或的累加);
- 特征匹配:解决SLAM中数据关联问题。一般有暴力匹配(全遍历)、快速近似最近邻(FLANN)等;
2)2D-2D对极几何
已知2张图像上的匹配点2D坐标,内参K ---> 求解2相机间R,t ---> 三角化求相机系下地标点3D坐标
- 【第一步,确定约束关系】:对于2张图像,若含有一对成功匹配的点 p 1 p_1 p1、 p 2 p_2 p2,则它们为同一空间点 P P P在两个成像平面上的投影。则一系列推导(主要涉及空间点和相机间内参、2相机间变换外参)后可以得到对极约束, x 2 T t ^ R x 1 = 0 \pmb{x}^T_2\pmb{t}\ \hat{}\pmb{R}\pmb{x}_1=0 xx2Ttt ^RRxx1=0(有其他形式,一种是代入内参的,一种是含有基础矩阵 F \pmb{F} FF的,一种是含有本质矩阵 E \pmb{E} EE的),几何意义是空间点和2相机光心共面;
- 【第二步,判断特征点关系】:判断特征点是否共面,若共面用单应矩阵 H \pmb{H} HH恢复