ORB特征

本文深入探讨ORB特征,包括oFAST检测的尺度和旋转不变性,以及rBRIEF描述子的生成原理和改进。oFAST通过尺度因子和金字塔实现尺度不变性,采用灰度质心方法实现旋转不变。rBRIEF在BRIEF基础上加入旋转因素,以提高旋转不变性和描述子的区分性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文大部分内容来自ORB特征提取详解,在此基础上加上自己对原论文的理解。

ORB(Oriented FAST and Rotated BRIEF)是一种快速提取特征点和描述子的算法。其特征检测基于FAST,采用BRIEF描述子并加以改进。基于《ORB: an efficient alternative to SIFT or SURF》

1.尺度和旋转不变性的oFAST检测

1.1Fast经典方式提取角点(不具有旋转无关、尺度无关)

第一步,参考文章SIFT角点简介
第二步:对提取出来的特征点进行Harris特征点检测,检测时设立低阈值,以获得多于N个的fast特征点。
并按照harris的代价函数排序得到最终需要的N个特征值。

1.2尺度无关性

设置一个比例因子scaleFactor(opencv默认为1.2)和金字塔的层数nlevels(pencv默认为8)。将原图像按比例因子缩小成nlevels幅图像。缩放后的图像为:I’= I/scaleFactork(k=1,2,…, nlevels)。nlevels幅不同比例的图像提取特征点总和作为这幅图像的oFAST特征点。

1.3旋转不变性

实现旋转无关性需要为每个特征带一个旋转方向信息。常用的有MAX和BIN的方法,以及ORB的灰度质心方法

BIN:

SIFT中的旋转性是检测特征点邻域内所有像素点的梯度,并构成一个梯度方向直方图(10个或8个柱的直方图),选择最大的柱所对应的梯度范围作为这个特征的主方向。此外还有

MAX

选择特征点邻域内值最大的梯度所对应的方向作为主方向。其效果要比BIN方法稍差。

灰度质心

ORB算法提出使用h灰度质心(intensity centroid) [2] [ 2 ] 来确定FAST特征点的方向。通过计算一个矩来计算特征点以r为半径范围内的质心,特征点坐标到质心形成一个向量作为该特征点的方向。
一个图像块(比如5x5的图像块中),对应的2x2的矩的元素表达为:
这里写图片描述
而该图像窗口的质心就是:
这里写图片描述
那么整个窗口的旋转为:
这里写图片描述
其中

### ORB特征概述 ORB (Oriented FAST and Rotated BRIEF) 是一种高效的局部特征检测与描述方法,在计算机视觉领域广泛应用。ORB 特征结合了FAST角点检测器和BRIEF 描述子的优点,具有计算速度快、内存占用少的特点[^1]。 ### 应用场景 ORB 特征广泛应用于多种计算机视觉任务中: - **图像拼接**:通过匹配不同视角下的图片特征点来构建全景图。 - **目标跟踪**:实时追踪视频流中的特定对象,适合移动设备上的轻量级应用。 - **增强现实(AR)**:识别环境中的标记物或自然特征,支持虚拟信息叠加显示。 - **机器人导航**:帮助自主机器人理解周围环境并规划路径。 ### 实现细节 ORB 的核心在于两个部分:FAST 角点检测和旋转不变性的BRIEF 描述符生成。 #### 角点检测 采用改进版的FAST(Fast corner detector),该算法能够在保持良好性能的同时减少误检率。对于每一个候选像素p及其邻域内的N个采样点,如果连续C个点都比中心亮I以上或者暗J以下,则认为此位置是一个角点。 ```cpp // OpenCV C++ API 示例代码片段 cv::Ptr<cv::FeatureDetector> orb = cv::ORB::create(); std::vector<cv::KeyPoint> keypoints; orb->detect(image, keypoints); ``` #### 描述符创建 为了提高抗噪能力和旋转不变性,对每个关键点周围的区域进行方向估计,并据此调整采样模式得到二进制字符串形式的描述向量。具体来说就是利用积分图(Integral Image)技术加速Haar-like特征计算过程,从而确定最佳的方向角度θ;接着按照这个方向重新排列测试位的位置关系形成最终的描述子。 ```cpp // 继续上述OpenCV示例 cv::Mat descriptors; orb->compute(image, keypoints, descriptors); ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值