2019-9-6 opencv特征检测和描述8-ORB (Oriented FAST and Rotated BRIEF)-FAST特征点和BRIEF描述符的结合

ORB算法是Ethan Rublee等人提出的,作为SIFT和SURF的替代,它结合了FAST特征检测和BRIEF描述符,解决了SIFT的计算代价高和BRIEF的旋转不变性问题。ORB通过灰度加权质心计算方向,使用旋转矩阵对BRIEF进行引导,实现旋转不变性。在OpenCV中,ORB可以通过cv.ORB()创建,并可通过参数调整如nfeatures和WTA_K来定制。ORB在低功耗设备上表现优秀,适用于图像匹配。
摘要由CSDN通过智能技术生成

官网参见https://docs.opencv.org/3.4.1/d1/d89/tutorial_py_orb.html

ORB采取FAST算法检测特征点,采取BRIEF算法计算特征点描述子
其所解决的问题是SIFT特征的高昂计算代价,以及BRIEF特征本身具有的缺乏旋转不变性、尺度不变性以及对噪声敏感的弱点。
作者基于FAST和BRIEF特征提出的二值特征串(0,1)在时间上比SIFT快100倍,比SURF快10倍,并且匹配效果也很好。

作为一个opencv爱好者,ORB最重要的是它来自“opencv实验室”。ORB算法是在2011年由Ethan Rublee, Vincent Rabaud, Kurt Konolige和Gary R. Bradski在《ORB: An efficient alternative to SIFT or SURF》一文中提出。它是在计算开销和匹配性能方面对SIFT和SURF算法很好的替代品。更为重要的是,使用SIFT和SURF需要支付专利费用,但是ORB算法不需要。

ORB基本上就是FAST关键点检测和BRIEF关键点描述器的结合体,并且还有还多改进以增强性能。首先它用FAST算法检测到关键点,然后应用Harris角点检测发现其中前N个点。它还使用金字塔来多尺度提取FAST特征(得到的特征具备尺度不变性)。但是有一个问题,FAST算法不计算方向。那如何实现旋转不变性呢?作者做了以下修改。

它计算(FAST检测到的)角点所在小块(patch)区域的灰度加权质心。从角点到质心的矢量方向给出了方向。为了提高旋转不变性,要计算以角点为中心半径为 r 的圆形区域的矩,再根据矩计算除方向(这段并非官网原文,摘自网上)。

现在是描述符了,ORB使用BRIEF描述符。但是我们已经知道BRIEF是旋转不稳定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值