欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

视觉slam十四讲 -- 第七讲

程序员文章站 2022-04-16 17:21:10
...

视觉里程计

视觉里程计是视觉slam中最重要的一部分。主要任务是估算相邻图像见相机的运动,并建立局部地图。

主要包含两种方法:利用特征点匹配的方法(第七讲)和直接法(第八讲)。

基于特征点的视觉里程计包含三个步骤:

  • 提取特征点

  • 特征点匹配

  • 根据匹配的特征点对求解相机的运动

一 提取特征点

特征点:图像中比较有代表性的点,希望特征点在相机运动之后保持稳定。在经典SLAM模型中,把它们成为路标。

特征点检测算法:著名的算子有SIFT,SURF,ORB等等

提取时间(在同一幅图中提取约1000个特征点):

      SITF(5228.7ms)> SURF(217.3ms)> ORB(15.3ms)

而SLAM对于算法的实时性要求很高,一般选用ORB算子。

ORB(Oriented FAST and Rotated BRIEF)算子:特征点由关键点和描述子两部分组成。

  • 关键点:改进的Fast检测子(添加了尺度和旋转的描述)
  1. FAST关键点

    检测局部像素灰度变化明显的地方,若一个像素与它邻域的像素(中心点半径r内的像素点
    差别较大(阈值),则其可能是角点。由于其只需与邻域的像素亮度比较,因此速度很快。

视觉slam十四讲 -- 第七讲

  1. 尺度描述:构建图像金字塔。

    目的:在不同尺度的图像都可以检测到相同的关键点。

    方法:将图片进行缩放到不同的尺度空间,并对每个尺度空间进行FAST关键点检测,每个尺度空间中均为关键点的点筛选为关键点。
    视觉slam十四讲 -- 第七讲

  2. 旋转描述:灰度质心法

    目的:在图像经过任意角度的旋转之后仍可获得相同的关键点。

    方法:对于M*N大小的图像,其灰度质心坐标
    视觉slam十四讲 -- 第七讲
    视觉slam十四讲 -- 第七讲
    质心坐标为(x0,y0),xi,yj为像素点坐标,fij为(xi,yj)处的像素值。

  • 描述子:对上一步检测到的关键点周围区域进行描述,BRIEF描述子。

    方法:对关键点附近取128对像素,比较大小关系,得到128位0或1组成的向量,即为该关键点的BRIEF描述子。

二 特征点匹配

暴力匹配

快速近似最近邻(FLANN)
(更新中…)