特征

orb特征提取

视觉SLAM十四讲的第七讲里面关于特征的部分的复习

为什么需要图像特征?

视觉SLAM里面依靠图像的变化感知周围的物体,以及相机的运动。

通俗一点的讲,就是在什么样的运动情况下,现实世界中的若干个点能够在相邻的两张图像中投影成当前的情况。

那么正常的思路就是将A图像中的一点经过射影,映射出去,然后把B图像中与之对应的点射影出去,两者的交点恢复到真实世界的点,然后通过更多点的约束点恢复相机的运动

在这个过程中很关键的一个点就是怎么知道,图像A中的一点在图像B中的一点的位置。特征的出现就是为了解决这个问题。

什么是特征?

对于特征(传统SLAM中叫做路标),脑海里冒出来的第一个想法可能是通过图像块的灰度值匹配,但是在实际情况下,由于光照、视角的变化,图像块的灰度值会发生比较明显的变化,基于图像块的匹配非常的不稳定。

特征用于SLAM主要要解决两个问题,第一:从两张图片中尽可能多的检测出相同的关键点,第二:从两张图片中尽可能的匹配出更多的特征点。也就是说这里有两个过程,检测和匹配。

检测过程需要特征中的关键点提取方法,匹配的过程需要特征中的关键点描述方法,所以特征就由着两部分组成:关键点和描述子

ORB特征

ORB特征的出现是为了解决SIFT特征的速度慢的问题,在关键点检测的方法上使用了FAST的方法,在描述上,使用了BRIEF的描述子

FAST的方法,非常的简单,就是在图像的像素位置上取一个半径为3的圆上的16个像素点,如果圆上有连续的N(9或者11)个点大于或者小于中心点的灰度值得20%,那么这个点就是关键点

考虑到半径是固定的,这对于相机的前后移动可能会产生不一致的结果,所以可以加上图像金字塔。同时某一块区域可能出现非常多相似的关键点,极有可能会导致误匹配,所以这里可以使用非极大值抑制对选取出来的关键点进行筛选

而且考虑到图像的旋转,可以使用灰度质心的方法获取图像的旋转描述

BRIEF描述子也较为的简单,就是在关键点的周边随机的选取128组点(p,q),如果p>q,那么就为1,如果p<1,那么就为0,这样就得到了有一个128维度的二进制的向量,在匹配的过程中,可以使用汉明距离,就是有多少个值是一样的(对于其他的浮点数的描述子可以考虑使用欧式距离)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值