APP下载

基于ORB和SIFT的特征提取算法*

2017-10-09

关键词:尺度空间极值特征提取

黄 莺

(马鞍山师范高等专科学校)

基于ORB和SIFT的特征提取算法*

黄 莺

(马鞍山师范高等专科学校)

结合SIFT算法提取的特征点具备尺度不变性以及ORB算子在特征点提取时具有较好的实时性,提出了基于ORB和SIFT的特征提取算法.该算法特征点提取主要分为3步:(1)借鉴SIFT算法的思想,建立尺度空间并求出极值点;(2)为解决ORB算法不具备尺度不变性的缺点,去除主曲率大于8和对比度较低的极值点;(3)求出特征点质心方向后求取ORB算子.采用两幅企业的LOGO进行仿真实验.仿真实验结果表明,提出的基于ORB和SIFT的特征提取算法相比SIFT算法和ORB算法具有较低的特征点提取误差,相比SIFT算法具有较高的特征点提取速度,并且相比ORB算法具有较高的特征点提取精度,同时解决了ORB算子不具备尺度不变性的缺点.

ORB;SIFT;特征点提取

0 引言

数据图像处理领域中,特征点提取是非常关键的一种技术[1-2],DavidG.Lowe于2004年提出SIFT特征点提取算法[3]一直以来是主流的特征点提取算法,其特征点提取精确度较高,但实时性表现较差,后来学者对此算法进行的改进和研究,著名的是后来提出的SURF算法[4].随着对特征点提取对实时性要求的不断提高,Rublee等[5]人在2011年提出的ORB算法相比SIFT、SURF算法在实时性方面表现突出,但是ORB算法不具备尺度不变性.

目前国内对于特征点提取算法的研究主要是对SIFT算法和SURF算法的研究[6-10],对ORB的研究关注也越来越多[11-13].文献[11]在复杂的环境中利用ORB的快速准确性检测运动目标;文献[12]中将ORB算法应用到增强现实系统中,提高了增强现实系统的实时性和鲁棒性,但是目前对于ORB算法的研究对于该算法不具备尺度不变性的研究很少.

针对以上问题,该文结合ORB算法和SIFT算法的思想,提出了基于ORB和SIFT的特征提取算法,相比SIFT算法和ORB算法具有较低的特征点提取误差,相比SIFT算法具有较高的特征点提取速度,并且相比ORB算法具有较高的特征点提取精度,同时解决了ORB算子不具备尺度不变性的缺点.

1 核心算法回顾

1.1 ORB算法

2011年Rublee等人在ICCV上提出的一种用于基于视觉信息的特征点检测与描述的ORB[14]算法,使用FAST[15]对特征点进行检测的同时,加入了FAST特征的方向信息,并利用BRIEF[16]进行特征点描述,并改进了BRIEF不具备旋转不变性和对图像噪声敏感的缺点.ORB特征提取可以分为两部分:(1)具有方向的FAST兴趣点检测;(2)具有旋转不变性的BRIEF兴趣点描述.

(1)兴趣点检测

使用分割检测判据进行FAST特征点检测,在以像素点p为中心,如果半径为r的圆周上存在联系的n个像素Ik(其中k=1,2,…,n),通过下式可判断像素点p是否为角点:

其中Ik为任意一个像素点的灰度值;像素点p的灰度值为Ip,t是已知的一个很小的阈值,若CRF=1的个数多于一个给定的阈值t′,将该点视为候选点,通常t′=12.如图1所示为FAST特征检测示意图.

图1 FAST特征检测示意图

通过建立图像金字塔引入尺度特性并通过灰度质心法[17]去除顶特征点的方向,使FAST兴趣点具有方向,并根据此方向来提取BRIEF算子.

(2) 生成具有旋转不变的算子

在解决噪声问题时ORB算法使用高斯核滤波器进行图像预处理,且使用两种方法解决BRIEF算子不具有旋转不变的特点:①控制FAST特征点的方向;②使用贪婪穷举算法找到相关性较低的随机点对,即相关系数接近0.5的图像点对;图2为寻找随机点对的方法,(a)为BRIEF特征引入主方向后,特征点主方向的变换造成的较高相关性的随机点对;(b)为采用贪婪穷举算法后得到的较低相关性的随机点对,其彩条为每次测试特征点的相关性,颜色越浅相关性越高.

(a)较高相关性的随机点对 (b)较低相关性的随机点对图2 寻找随机点对

1.2 SIFT算法

2004年DavidG.Lowe等人提出的SIFT特征点提取算法具有旋转不变性、光照不变性、尺度不变性以及仿射不变性,且可以获得较多的稳定的特征点,但是SIFT算法在能够精确提取稳定特征点的同时其算法耗时较严重.SIFT特征提取算法主要包括以下4个基本步骤:

(1) 尺度空间极值检测:搜索所有尺度上的图像位置.通过高斯微分函数来识别潜在的对于尺度和旋转不变的兴趣点.

(2) 关键点定位:在每个候选的位置上,通过一个拟合精细的模型来确定位置和尺度.关键点的选择依据于它们的稳定程度.

(3) 方向确定:基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向.所有后面的对图像数据的操作都相对于关键点的方向、尺度和位置进行变换,从而提供对于这些变换的不变性.

(4) 关键点描述:在每个关键点周围的邻域内,在选定的尺度上测量图像局部的梯度.这些梯度被变换成一种表示,这种表示允许比较大的局部形状的变形和光照变化.

2 基于ORB和SIFT的特征提取算法

由于ORB算法特征点的提取和匹配精度相比SIFT、SURF等算法较低,且FAST检测出的特征点不含有尺度不变信息,导致ORB算法不具备尺度不变性,使得即使引进FAST特征点的方向使其具有旋转不变性,但其仍不具有尺度不变性.在对SIFT算法进行研究学习时发现,该算法使用多尺度空间理论提取稳定特征点,以及后续的特征点描述及匹配,使得该算法具有较好的尺度不变性,而这正是解决ORB算法不具有尺度不变性所需要的.借鉴SIFT算法的思想,对特征点进行ORB描述从而生成ORB算子,然后进行特征点的提取.因此,使得在保留了ORB算子运算快速度以及旋转不变性的优点的同时,解决了ORB算法不具备尺度不变性的缺陷.

2.1极值点检测

Lindeberg等人已经证明[18],某些受限制的条件下,Gauss函数是唯一尺度空间的核平滑函数.将图像F(x,y)的尺度定义为函数L(x,y,σ),其中σ为尺度因子,其由图像F(x,y)与Gauss函数G(x,y,σ)卷积后得到

L(x,y,σ)=G(x,y,σ)F(x,y)

为了在尺度空间中得到稳定的特征点,在图像卷积得到的空间 与Gauss差分函数中寻找极值点,将其局部极值点视为尺度空间的候选特征点.

D(x,y,σ)=[G(x,y,kσ)-

G(x,y,σ)]F(x,y)=L(x,y,kσ)-L(x,y,σ)

上式中,常数k分开相邻的两个尺度.

2.2稳定的特征点的提取

在完成极值点的检测后,需去除一些不稳定的极值点,使得在进行特征点匹配时精确度和稳定性更好,使用3维的2次函数求在某个尺度上求得的极值点在原图像上的位置,并且将低对比度的极值点去除掉.首先在某极值点处对D(x,y,σ)进行泰勒展开有:

(1)

(2)

将式(2)带入式(1)中有:

设H最大、最小特征值分别为α和β,则有

上式可知极值点D的主曲率与H的特征值对应成比例,则只需关心α/β的值,设r=α/β且可知

上式的结果与具体特征值无关而与其值之间的比例有关,其中随着r的增加(r+1)2/r也增加.则通过下式来检查主曲率的比值是否小于某一阈值γ

杜京义等人指出阈值γ=8[19],即认为主曲率比值不大于8的极值点保留,其他极值点被去除[20].

2.3算法改进小结

使用SIFT算法求出特征点和其质心方向后,用ORB算子描述特征点,最后生成具有旋转不变性和尺度不变性的算子并进行匹配,在其过程中对特征点数目和特征分布进行改进,这样既使原始ORB算法具备尺度不变性,又保留了其旋转不变性和计算速度快速的特点.具体步骤如下:

Step1.借鉴SIFT算法的思想,建立尺度空间并求出极值点;

Step2.为解决ORB算法不具备尺度不变性的缺点,去除主曲率大于8和对比度较低的极值点;

Step3.求出特征点质心方向后求取ORB算子.

3 实验结果及分析

该文在一台装有Windows 7操作系统的PC机上进行实验,在VS2013+OpenCV2.4.10的平台下采用C++编程语言进行仿真实验.

3.1特征点提取实验结果

图像采用星巴克和亚马逊的两幅图像进行实验,进行实验图像的像素为210×210px,图3为原始图像,图4为ORB算法特征检测结果,图5为SIFT算法特征检测结果,图6为ORB与SIFT算法特征点提取结果可见基于改进ORB算法的多视角图像拼接效果良好.

图3 原始图像

图4 ORB算法特征检测结果

图5 SIFT算法特征检测结果

图6 ORB与SIFT算法特征点提取结果

3.2特征点提取实验结果分析

上述实验中,提取的特征点间误差和特征提取花费的时间比较见表1,其中,RMSE为已知特征点坐标与检测出的特征点坐标间的整体均方根误差,X与Y向的均方根误差分别为RMSEx与RMSEy.

表1 各算法提取特征点误差比较

仿真结果表明,提出的基于ORB和SIFT的特征提取算法相比SIFT算法和ORB算法具有较低的特征点提取误差,相比SIFT算法具有较高的特征点提取速度,并且相比ORB算法具有较高的特征点提取精度,同时解决了ORB算子不具备尺度不变性的缺点.

4 结论及展望

该文结合SIFT算法提取的特征点具备尺度不变性以及ORB算子在特征点提取时具有较好的实时性,提出了基于ORB和SIFT的特征提取算法.该算法借鉴SIFT算法的思想,建立尺度空间并求出极值点;同时为解决ORB算法不具备尺度不变性的缺点,去除主曲率大于8和对比度较低的极值点;最后通过求出特征点质心方向后求取ORB算子.仿真实验结果表明,该文提出的基于ORB和SIFT的特征提取算法相比SIFT算法和ORB算法具有较低的特征点提取误差,相比SIFT算法具有较高的特征点提取速度,并且相比ORB算法具有较高的特征点提取精度,同时解决了ORB算子不具备尺度不变性的缺点.

[1] 张开玉,梁凤梅.基于改进SURF的图像配准关键算法研究[J].科学技术与工程,2013,13(10):2875-2879.

[2] Sinha S N,Frahm J M,Pollefeys M,et al.Feature tracking and matching in video using programmable graphics hardware[J].Machine Vision and Applications,2011,22(1):207-217.

[3] Lowe D G.Distinctive Image Features from Scale-Invariant Keypoints[J].International Journal of Computer Vision,2004,60(2):91-110.

[4] Bay H,Tuytelaars T,Gool L V.SURF:Speeded Up Robust Features[J].Computer Vision & Image Understanding,2006,110(3):404-417.

[5] Rublee E,Rabaud V,Konolige K,et al.ORB:An efficient alternative to SIFT or SURF[C]// International Conference on Computer Vision.IEEE Computer Society,2011:2564-2571.

[6] 曾峦,王元钦,谭久彬.改进的SIFT特征提取和匹配算法[J].光学精密工程,2011,19(6):26-31.

[7] 范志强,赵沁平.一种基于数据聚类的鲁棒SIFT特征匹配方法[J].计算机研究与发展,2012,49(5):1123-1129.

[8] 傅卫平,秦川,刘佳,等.基于SIFT算法的图像目标匹配与定位[J].仪器仪表学报,2011,32(1):163-169.

[9] 冯政寿,王美清.基于Harris与改进SIFT算法的图像匹配算法[J].福州大学学报,2012(2):176-180.

[10] 杜京义,胡益民,刘宇程.基于区域分块的SIFT图像匹配技术研究与实现[J].光电工程,2013,40(8):52-58.

[11] 赵剑,韩斌,张其亮.基于改进ORB算法的虚实注册方法[J].计算机应用,2014,34(9):2725-2729.

[12] 李小红,谢成明,贾易臻,等.基于ORB特征的快速目标检测算法[J].电子测量与仪器学报,2013,27(5):455-460.

[13] 张云生,邹峥嵘.基于改进ORB算法的遥感图像自动配准方法[J].国土资源遥感,2013,25(3):20-24.

[14] 葛山峰,于莲芝,谢振.基于ORB特征的目标跟踪算法[J].电子科技,2017(2):98-100.

[15] Rosten E,Drummond T.Machine learning for highspeed corner detection[C].In European Conference on Computer Vision,2006:430-443.

[16] Calonder M,Lepetit V,Strecha C,et al.Fua.Brief:Binary robust independent elementary features[C].In European Conference on Computer Vision,2010:778-792.

[17] Rosin P L.Measuring corner properties[J].Computer Vision and Image Understanding,1999,73(2):291-307.

[18] lindeberg T.Feature detection with automatic scale selection.International Journal of Computer Vision,1998,30(2):79-116.

[19] 杜京义,胡益民,刘宇程.基于区域分块的SIFT图像匹配技术研究与实现.光电工程,2013;40(08):52-58.

[20] 许宏科,秦严严,陈会茹.基于改进ORB的图像特征点匹配[J].科学技术与工程,2014,14(18):105-109.

Abstract:The feature points extracted by the SIFT algorithm have scale invariance and the ORB operator has better real-time performance when the feature points are extracted.In this paper,a feature extraction algorithm based on ORB and SIFT is proposed.The algorithm of feature extraction is mainly divided into 3 steps:(1) from the thought of SIFT algorithm,a scale space and the extreme point are found; (2) In order to solve the ORB algorithm having no scale invariance,the main curvature larger than 8 and low contrast points are removed; (3) the feature points the centroid direction after calculating the ORB operator is obtained.LOGO simulation using two enterprises.The simulation results show that the proposed feature extraction algorithm based on ORB and SIFT compared to the SIFT algorithm and the ORB algorithm has the characteristics of low point extraction error,compared to the SIFT algorithm of feature points with higher extraction rate,and compared the feature point extraction ORB algorithm has a high precision,and the ORB operator have no scale invariance is solved.

Keywords:ORB; SIFT;Feature Detection

(责任编辑:季春阳)

FeatureDetectionAlgorithmBasedonORBandSIFT

Huang Ying

(Ma’anshan Normal College)

TP391.9

A

1000-5617(2017)02-0025-05

2017-03-21

*安徽省承接教育部《高等职业教育创新发展行动计划(2015-2018年)》任务:XM-01软件技术骨干专业建设(序号97);马鞍山师范高等专科学校校级特色专业-计算机网络技术(2016xjtszy01);马鞍山师范高等专科学校校级精品开放课程-网页设计与制作(2016xjjpxj01);马鞍山师范高等专科学校校级专业综合改革试点-多媒体技术(2015xjzy01);马鞍山师范高等专科学校校级教研项目-计算机课程教学资源库的建设与开发——以Linux课程为例(2017xjzdjy07)

猜你喜欢

尺度空间极值特征提取
极值点带你去“漂移”
极值点偏移拦路,三法可取
基于AHP的大尺度空间域矿山地质环境评价研究
极值点偏移问题的解法
基于Gazebo仿真环境的ORB特征提取与比对的研究
一类“极值点偏移”问题的解法与反思
基于Daubechies(dbN)的飞行器音频特征提取
居住区园林空间尺度研究
Bagging RCSP脑电特征提取算法
基于降采样归一化割的多尺度分层分割方法研究