视觉slam十四讲 -- 第七讲
视觉里程计
视觉里程计是视觉slam中最重要的一部分。主要任务是估算相邻图像见相机的运动,并建立局部地图。
主要包含两种方法:利用特征点匹配的方法(第七讲)和直接法(第八讲)。
基于特征点的视觉里程计包含三个步骤:
-
提取特征点
-
特征点匹配
-
根据匹配的特征点对求解相机的运动
一 提取特征点
特征点:图像中比较有代表性的点,希望特征点在相机运动之后保持稳定。在经典SLAM模型中,把它们成为路标。
特征点检测算法:著名的算子有SIFT,SURF,ORB等等
提取时间(在同一幅图中提取约1000个特征点):
SITF(5228.7ms)> SURF(217.3ms)> ORB(15.3ms)
而SLAM对于算法的实时性要求很高,一般选用ORB算子。
ORB(Oriented FAST and Rotated BRIEF)算子:特征点由关键点和描述子两部分组成。
- 关键点:改进的Fast检测子(添加了尺度和旋转的描述)
-
FAST关键点
检测局部像素灰度变化明显的地方,若一个像素与它邻域的像素(中心点半径r内的像素点
差别较大(阈值),则其可能是角点。由于其只需与邻域的像素亮度比较,因此速度很快。
-
尺度描述:构建图像金字塔。
目的:在不同尺度的图像都可以检测到相同的关键点。
方法:将图片进行缩放到不同的尺度空间,并对每个尺度空间进行FAST关键点检测,每个尺度空间中均为关键点的点筛选为关键点。
-
旋转描述:灰度质心法
目的:在图像经过任意角度的旋转之后仍可获得相同的关键点。
方法:对于M*N大小的图像,其灰度质心坐标
质心坐标为(x0,y0),xi,yj为像素点坐标,fij为(xi,yj)处的像素值。
-
描述子:对上一步检测到的关键点周围区域进行描述,BRIEF描述子。
方法:对关键点附近取128对像素,比较大小关系,得到128位0或1组成的向量,即为该关键点的BRIEF描述子。
二 特征点匹配
暴力匹配
快速近似最近邻(FLANN)
(更新中…)
上一篇: sql函数笔记
下一篇: matlab对图片边缘化处理