opencv特征点检测orb特征.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OpenCV特征点检测------ORB特征 +添加收藏 ? wangyaninglm ? 2015-04-01 ? 204 查看 ? 0评 论 ORB算法 ORB是是ORiented Brief的简称。ORB的描述在下面文章中: Ethan Rublee and Vincent Rabaud and Kurt Konolige and Gary Bradski, ORB: an efcient alt ernative to SIFT or SURF, ICCV 2011 没有加上链接是因为作者确实还没有放出论文,不过OpenCV2.3RC中已经有了实现,Willow Garage有一个talk也提到了这个算法,因此我不揣浅陋,在这里总结一下。 Brief是Binary Robust Independent Elementary Features的缩写。这个特征描述子是由EPFL 的Calonder在ECCV2010上提出的。主要思路就是在特征点附近随机选取若干点对,将这些 点对的灰度值的大小,组合成一个二进制串,并将这个二进制串作为该特征点的特征描述子 。详细算法描述参考如下论文: Calonder M., Lepetit V., Strecha C., Fua P.: BRIEF: Binary Robust Independent Elementary Features. ECCV 2010 注意在BRIEF eccv2010的文章中,BRIEF描述子中的每一位是由随机选取的两个像素点做二 进制比较得来的。文章同样提到,在此之前,需要选取合适的gaussian kernel对图像做平滑 处理。(为什么要强调这一点,因为下述的ORB对此作了改进。) BRIEF的优点在于速度,缺点也相当明显: 1:不具备旋转不变性。 2:对噪声敏感 3:不具备尺度不变性。 ORB就是试图解决上述缺点中的1和2. 如何解决旋转不变性: 在ORB的方案中,是采用了FAST作为特征点检测算子。FAST应用的很多了,是出名的快, 以防有人不知道,请看这里: 在Sift的方案中,特征点的主方向是由梯度直方图的最大值和次大值所在的bin对应的方向决 定的。略嫌耗时。 在ORB的方案中,特征点的主方向是通过矩(moment)计算而来,公式如下: 有了主方向之后,就可以依据该主方向提取BRIEF描述子。但是由此带来的问题是,由于主 方向会发生变化,随机点对的相关性会比较大,从而降低描述子的判别性。解决方案也很直 接,采取贪婪的,穷举的方法,暴力找到相关性较低的随机点对。 如何解决对噪声敏感的问题: 在前面提到过,在最早的eccv2010的文章中,BRIEF使用的是pixel跟pixel的大小来构造描述 子的每一个bit。这样的后果就是对噪声敏感。因此,在ORB的方案中,做了这样的改进,不 再使用pixel-pair,而是使用9×9的patch-pair,也就是说,对比patch的像素值之和。(可以 通过积分图快速计算)。 关于尺度不变性: ORB没有试图解决尺度不变性,(因为FAST本身就不具有尺度不变性。)但是这样只求速度 的特征描述子,一般都是应用在实时的视频处理中的,这样的话就可以通过跟踪还有一些启 发式的策略来解决尺度不变性的问题。 关于计算速度: ORB是sift的100倍,是surf的10倍。 关于性能: 下面是一个性能对比,ORB还是很给力。点击看大图。 参考Slides Related posts Android-opencv之CVCamera (1) 必威体育精装版版的OpenCV中新增加的ORB特征的使用 分类: Opencv学习C++2011-11-30 12:1511612人阅读评论(16)收藏举报 floatimagedistancevectorobjectless 看到OpenCV2.3.1里面ORB特征提取算法也在里面了,套用给的SURF特征例子程序改为ORB 特征一直提示错误,类型不匹配神马的,由于没有找到示例程序,只能自己找答案。 (ORB特征论文:ORB: an efficient alternative to SIFT or SURF点. 击下载论文) 经过查找发现: 描述符数据类型有是float的,比如说SIFT,SURF描述符,还有是uchar的,比如说有 ORB,BRIEF 对于float 匹配方式有: FlannBased BruteForceL2float BruteForceSL2float BruteForceL1float 对于uchar有: BruteForceHammin BruteForceHammingLUT BruteForceMatcher L2float matcher;//改动的地方 完

文档评论(0)

152****7770 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档