在OpenCV里使用ORB

SIFT和SURF都是比较好的特征检测算法,但是你是否想每年都为这两个算法花一些钱去买它们的使用权呢?这两个算法都是受版本保护的,如果要使用必须付费购买。那么有没有不付费,也有与之相比美的算法呢?OpenCV的爱好者开发了一个新的免费算法来替代SIFT和SURF,这个算法就是ORB。

 

理论:

作为一个OpenCV粉丝,莫过于看到ORB算法的出处,居然是OpenCV Labs出品,这个算法在2011年由Ethan Rublee, Vincent Rabaud, Kurt Konolige and Gary R. Bradski发表在论文《ORB: An efficient alternative to SIFT or SURF》里。顾名思义,它在计算成本、匹配性能以及主要专利等方面是SIFT和SURF的一个很好的替代品。因为SIFT和SURF算法,你需要付钱才能使用它,但是ORB不用付费。

ORB算法整合了FAST关键点检测和BRIEF描述,同时在性能方面做了很多增强。首先它使用FAST去寻找关键点,接着使用Harris角方法找最优的N个点,然后用金字塔产生多尺度特征。但是FAST算法有一个问题,就是它不会计算角点的方向,所以怎么样才能加入旋转不变性呢?ORB开发人员接着下来作了如下修改。采用灰度质心法(Intensity Centriod)为每个特征点计算了主方向,这个向量方向是从角点位置指向这一块区域的质心方向。为了提高旋转不变性,用x和y计算矩,x和y应该在半径r的圆形区域内,其中r是区域的大小。

现在到修改ORB的描述符BRIEF了,从前面学习可以知道BRIEF没有旋转描述。把这种方法称为"Steer BRIEF"。对于任何一个特征点来说,它的BRIEF描述子是一个长度为n的二值码串,这个二值码串是由特征点邻域n个点对生成的,我们现在讲这2n个

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览

应支付9.90元
点击重新获取
扫码支付

支付成功即可阅读