黃 鶯
(馬鞍山師范高等專科學(xué)校)
基于ORB和SIFT的特征提取算法*
黃 鶯
(馬鞍山師范高等??茖W(xué)校)
結(jié)合SIFT算法提取的特征點(diǎn)具備尺度不變性以及ORB算子在特征點(diǎn)提取時(shí)具有較好的實(shí)時(shí)性,提出了基于ORB和SIFT的特征提取算法.該算法特征點(diǎn)提取主要分為3步:(1)借鑒SIFT算法的思想,建立尺度空間并求出極值點(diǎn);(2)為解決ORB算法不具備尺度不變性的缺點(diǎn),去除主曲率大于8和對(duì)比度較低的極值點(diǎn);(3)求出特征點(diǎn)質(zhì)心方向后求取ORB算子.采用兩幅企業(yè)的LOGO進(jìn)行仿真實(shí)驗(yàn).仿真實(shí)驗(yàn)結(jié)果表明,提出的基于ORB和SIFT的特征提取算法相比SIFT算法和ORB算法具有較低的特征點(diǎn)提取誤差,相比SIFT算法具有較高的特征點(diǎn)提取速度,并且相比ORB算法具有較高的特征點(diǎn)提取精度,同時(shí)解決了ORB算子不具備尺度不變性的缺點(diǎn).
ORB;SIFT;特征點(diǎn)提取
數(shù)據(jù)圖像處理領(lǐng)域中,特征點(diǎn)提取是非常關(guān)鍵的一種技術(shù)[1-2],DavidG.Lowe于2004年提出SIFT特征點(diǎn)提取算法[3]一直以來是主流的特征點(diǎn)提取算法,其特征點(diǎn)提取精確度較高,但實(shí)時(shí)性表現(xiàn)較差,后來學(xué)者對(duì)此算法進(jìn)行的改進(jìn)和研究,著名的是后來提出的SURF算法[4].隨著對(duì)特征點(diǎn)提取對(duì)實(shí)時(shí)性要求的不斷提高,Rublee等[5]人在2011年提出的ORB算法相比SIFT、SURF算法在實(shí)時(shí)性方面表現(xiàn)突出,但是ORB算法不具備尺度不變性.
目前國內(nèi)對(duì)于特征點(diǎn)提取算法的研究主要是對(duì)SIFT算法和SURF算法的研究[6-10],對(duì)ORB的研究關(guān)注也越來越多[11-13].文獻(xiàn)[11]在復(fù)雜的環(huán)境中利用ORB的快速準(zhǔn)確性檢測運(yùn)動(dòng)目標(biāo);文獻(xiàn)[12]中將ORB算法應(yīng)用到增強(qiáng)現(xiàn)實(shí)系統(tǒng)中,提高了增強(qiáng)現(xiàn)實(shí)系統(tǒng)的實(shí)時(shí)性和魯棒性,但是目前對(duì)于ORB算法的研究對(duì)于該算法不具備尺度不變性的研究很少.
針對(duì)以上問題,該文結(jié)合ORB算法和SIFT算法的思想,提出了基于ORB和SIFT的特征提取算法,相比SIFT算法和ORB算法具有較低的特征點(diǎn)提取誤差,相比SIFT算法具有較高的特征點(diǎn)提取速度,并且相比ORB算法具有較高的特征點(diǎn)提取精度,同時(shí)解決了ORB算子不具備尺度不變性的缺點(diǎn).
1.1 ORB算法
2011年Rublee等人在ICCV上提出的一種用于基于視覺信息的特征點(diǎn)檢測與描述的ORB[14]算法,使用FAST[15]對(duì)特征點(diǎn)進(jìn)行檢測的同時(shí),加入了FAST特征的方向信息,并利用BRIEF[16]進(jìn)行特征點(diǎn)描述,并改進(jìn)了BRIEF不具備旋轉(zhuǎn)不變性和對(duì)圖像噪聲敏感的缺點(diǎn).ORB特征提取可以分為兩部分:(1)具有方向的FAST興趣點(diǎn)檢測;(2)具有旋轉(zhuǎn)不變性的BRIEF興趣點(diǎn)描述.
(1)興趣點(diǎn)檢測
使用分割檢測判據(jù)進(jìn)行FAST特征點(diǎn)檢測,在以像素點(diǎn)p為中心,如果半徑為r的圓周上存在聯(lián)系的n個(gè)像素Ik(其中k=1,2,…,n),通過下式可判斷像素點(diǎn)p是否為角點(diǎn):
其中Ik為任意一個(gè)像素點(diǎn)的灰度值;像素點(diǎn)p的灰度值為Ip,t是已知的一個(gè)很小的閾值,若CRF=1的個(gè)數(shù)多于一個(gè)給定的閾值t′,將該點(diǎn)視為候選點(diǎn),通常t′=12.如圖1所示為FAST特征檢測示意圖.
圖1 FAST特征檢測示意圖
通過建立圖像金字塔引入尺度特性并通過灰度質(zhì)心法[17]去除頂特征點(diǎn)的方向,使FAST興趣點(diǎn)具有方向,并根據(jù)此方向來提取BRIEF算子.
(2) 生成具有旋轉(zhuǎn)不變的算子
在解決噪聲問題時(shí)ORB算法使用高斯核濾波器進(jìn)行圖像預(yù)處理,且使用兩種方法解決BRIEF算子不具有旋轉(zhuǎn)不變的特點(diǎn):①控制FAST特征點(diǎn)的方向;②使用貪婪窮舉算法找到相關(guān)性較低的隨機(jī)點(diǎn)對(duì),即相關(guān)系數(shù)接近0.5的圖像點(diǎn)對(duì);圖2為尋找隨機(jī)點(diǎn)對(duì)的方法,(a)為BRIEF特征引入主方向后,特征點(diǎn)主方向的變換造成的較高相關(guān)性的隨機(jī)點(diǎn)對(duì);(b)為采用貪婪窮舉算法后得到的較低相關(guān)性的隨機(jī)點(diǎn)對(duì),其彩條為每次測試特征點(diǎn)的相關(guān)性,顏色越淺相關(guān)性越高.
(a)較高相關(guān)性的隨機(jī)點(diǎn)對(duì) (b)較低相關(guān)性的隨機(jī)點(diǎn)對(duì)圖2 尋找隨機(jī)點(diǎn)對(duì)
1.2 SIFT算法
2004年DavidG.Lowe等人提出的SIFT特征點(diǎn)提取算法具有旋轉(zhuǎn)不變性、光照不變性、尺度不變性以及仿射不變性,且可以獲得較多的穩(wěn)定的特征點(diǎn),但是SIFT算法在能夠精確提取穩(wěn)定特征點(diǎn)的同時(shí)其算法耗時(shí)較嚴(yán)重.SIFT特征提取算法主要包括以下4個(gè)基本步驟:
(1) 尺度空間極值檢測:搜索所有尺度上的圖像位置.通過高斯微分函數(shù)來識(shí)別潛在的對(duì)于尺度和旋轉(zhuǎn)不變的興趣點(diǎn).
(2) 關(guān)鍵點(diǎn)定位:在每個(gè)候選的位置上,通過一個(gè)擬合精細(xì)的模型來確定位置和尺度.關(guān)鍵點(diǎn)的選擇依據(jù)于它們的穩(wěn)定程度.
(3) 方向確定:基于圖像局部的梯度方向,分配給每個(gè)關(guān)鍵點(diǎn)位置一個(gè)或多個(gè)方向.所有后面的對(duì)圖像數(shù)據(jù)的操作都相對(duì)于關(guān)鍵點(diǎn)的方向、尺度和位置進(jìn)行變換,從而提供對(duì)于這些變換的不變性.
(4) 關(guān)鍵點(diǎn)描述:在每個(gè)關(guān)鍵點(diǎn)周圍的鄰域內(nèi),在選定的尺度上測量圖像局部的梯度.這些梯度被變換成一種表示,這種表示允許比較大的局部形狀的變形和光照變化.
由于ORB算法特征點(diǎn)的提取和匹配精度相比SIFT、SURF等算法較低,且FAST檢測出的特征點(diǎn)不含有尺度不變信息,導(dǎo)致ORB算法不具備尺度不變性,使得即使引進(jìn)FAST特征點(diǎn)的方向使其具有旋轉(zhuǎn)不變性,但其仍不具有尺度不變性.在對(duì)SIFT算法進(jìn)行研究學(xué)習(xí)時(shí)發(fā)現(xiàn),該算法使用多尺度空間理論提取穩(wěn)定特征點(diǎn),以及后續(xù)的特征點(diǎn)描述及匹配,使得該算法具有較好的尺度不變性,而這正是解決ORB算法不具有尺度不變性所需要的.借鑒SIFT算法的思想,對(duì)特征點(diǎn)進(jìn)行ORB描述從而生成ORB算子,然后進(jìn)行特征點(diǎn)的提取.因此,使得在保留了ORB算子運(yùn)算快速度以及旋轉(zhuǎn)不變性的優(yōu)點(diǎn)的同時(shí),解決了ORB算法不具備尺度不變性的缺陷.
2.1極值點(diǎn)檢測
Lindeberg等人已經(jīng)證明[18],某些受限制的條件下,Gauss函數(shù)是唯一尺度空間的核平滑函數(shù).將圖像F(x,y)的尺度定義為函數(shù)L(x,y,σ),其中σ為尺度因子,其由圖像F(x,y)與Gauss函數(shù)G(x,y,σ)卷積后得到
L(x,y,σ)=G(x,y,σ)F(x,y)
為了在尺度空間中得到穩(wěn)定的特征點(diǎn),在圖像卷積得到的空間 與Gauss差分函數(shù)中尋找極值點(diǎn),將其局部極值點(diǎn)視為尺度空間的候選特征點(diǎn).
D(x,y,σ)=[G(x,y,kσ)-
G(x,y,σ)]F(x,y)=L(x,y,kσ)-L(x,y,σ)
上式中,常數(shù)k分開相鄰的兩個(gè)尺度.
2.2穩(wěn)定的特征點(diǎn)的提取
在完成極值點(diǎn)的檢測后,需去除一些不穩(wěn)定的極值點(diǎn),使得在進(jìn)行特征點(diǎn)匹配時(shí)精確度和穩(wěn)定性更好,使用3維的2次函數(shù)求在某個(gè)尺度上求得的極值點(diǎn)在原圖像上的位置,并且將低對(duì)比度的極值點(diǎn)去除掉.首先在某極值點(diǎn)處對(duì)D(x,y,σ)進(jìn)行泰勒展開有:
(1)
(2)
將式(2)帶入式(1)中有:
設(shè)H最大、最小特征值分別為α和β,則有
上式可知極值點(diǎn)D的主曲率與H的特征值對(duì)應(yīng)成比例,則只需關(guān)心α/β的值,設(shè)r=α/β且可知
上式的結(jié)果與具體特征值無關(guān)而與其值之間的比例有關(guān),其中隨著r的增加(r+1)2/r也增加.則通過下式來檢查主曲率的比值是否小于某一閾值γ
杜京義等人指出閾值γ=8[19],即認(rèn)為主曲率比值不大于8的極值點(diǎn)保留,其他極值點(diǎn)被去除[20].
2.3算法改進(jìn)小結(jié)
使用SIFT算法求出特征點(diǎn)和其質(zhì)心方向后,用ORB算子描述特征點(diǎn),最后生成具有旋轉(zhuǎn)不變性和尺度不變性的算子并進(jìn)行匹配,在其過程中對(duì)特征點(diǎn)數(shù)目和特征分布進(jìn)行改進(jìn),這樣既使原始ORB算法具備尺度不變性,又保留了其旋轉(zhuǎn)不變性和計(jì)算速度快速的特點(diǎn).具體步驟如下:
Step1.借鑒SIFT算法的思想,建立尺度空間并求出極值點(diǎn);
Step2.為解決ORB算法不具備尺度不變性的缺點(diǎn),去除主曲率大于8和對(duì)比度較低的極值點(diǎn);
Step3.求出特征點(diǎn)質(zhì)心方向后求取ORB算子.
該文在一臺(tái)裝有Windows 7操作系統(tǒng)的PC機(jī)上進(jìn)行實(shí)驗(yàn),在VS2013+OpenCV2.4.10的平臺(tái)下采用C++編程語言進(jìn)行仿真實(shí)驗(yàn).
3.1特征點(diǎn)提取實(shí)驗(yàn)結(jié)果
圖像采用星巴克和亞馬遜的兩幅圖像進(jìn)行實(shí)驗(yàn),進(jìn)行實(shí)驗(yàn)圖像的像素為210×210px,圖3為原始圖像,圖4為ORB算法特征檢測結(jié)果,圖5為SIFT算法特征檢測結(jié)果,圖6為ORB與SIFT算法特征點(diǎn)提取結(jié)果可見基于改進(jìn)ORB算法的多視角圖像拼接效果良好.
圖3 原始圖像
圖4 ORB算法特征檢測結(jié)果
圖5 SIFT算法特征檢測結(jié)果
圖6 ORB與SIFT算法特征點(diǎn)提取結(jié)果
3.2特征點(diǎn)提取實(shí)驗(yàn)結(jié)果分析
上述實(shí)驗(yàn)中,提取的特征點(diǎn)間誤差和特征提取花費(fèi)的時(shí)間比較見表1,其中,RMSE為已知特征點(diǎn)坐標(biāo)與檢測出的特征點(diǎn)坐標(biāo)間的整體均方根誤差,X與Y向的均方根誤差分別為RMSEx與RMSEy.
表1 各算法提取特征點(diǎn)誤差比較
仿真結(jié)果表明,提出的基于ORB和SIFT的特征提取算法相比SIFT算法和ORB算法具有較低的特征點(diǎn)提取誤差,相比SIFT算法具有較高的特征點(diǎn)提取速度,并且相比ORB算法具有較高的特征點(diǎn)提取精度,同時(shí)解決了ORB算子不具備尺度不變性的缺點(diǎn).
該文結(jié)合SIFT算法提取的特征點(diǎn)具備尺度不變性以及ORB算子在特征點(diǎn)提取時(shí)具有較好的實(shí)時(shí)性,提出了基于ORB和SIFT的特征提取算法.該算法借鑒SIFT算法的思想,建立尺度空間并求出極值點(diǎn);同時(shí)為解決ORB算法不具備尺度不變性的缺點(diǎn),去除主曲率大于8和對(duì)比度較低的極值點(diǎn);最后通過求出特征點(diǎn)質(zhì)心方向后求取ORB算子.仿真實(shí)驗(yàn)結(jié)果表明,該文提出的基于ORB和SIFT的特征提取算法相比SIFT算法和ORB算法具有較低的特征點(diǎn)提取誤差,相比SIFT算法具有較高的特征點(diǎn)提取速度,并且相比ORB算法具有較高的特征點(diǎn)提取精度,同時(shí)解決了ORB算子不具備尺度不變性的缺點(diǎn).
[1] 張開玉,梁鳳梅.基于改進(jìn)SURF的圖像配準(zhǔn)關(guān)鍵算法研究[J].科學(xué)技術(shù)與工程,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] 曾巒,王元?dú)J,譚久彬.改進(jìn)的SIFT特征提取和匹配算法[J].光學(xué)精密工程,2011,19(6):26-31.
[7] 范志強(qiáng),趙沁平.一種基于數(shù)據(jù)聚類的魯棒SIFT特征匹配方法[J].計(jì)算機(jī)研究與發(fā)展,2012,49(5):1123-1129.
[8] 傅衛(wèi)平,秦川,劉佳,等.基于SIFT算法的圖像目標(biāo)匹配與定位[J].儀器儀表學(xué)報(bào),2011,32(1):163-169.
[9] 馮政壽,王美清.基于Harris與改進(jìn)SIFT算法的圖像匹配算法[J].福州大學(xué)學(xué)報(bào),2012(2):176-180.
[10] 杜京義,胡益民,劉宇程.基于區(qū)域分塊的SIFT圖像匹配技術(shù)研究與實(shí)現(xiàn)[J].光電工程,2013,40(8):52-58.
[11] 趙劍,韓斌,張其亮.基于改進(jìn)ORB算法的虛實(shí)注冊(cè)方法[J].計(jì)算機(jī)應(yīng)用,2014,34(9):2725-2729.
[12] 李小紅,謝成明,賈易臻,等.基于ORB特征的快速目標(biāo)檢測算法[J].電子測量與儀器學(xué)報(bào),2013,27(5):455-460.
[13] 張?jiān)粕?鄒崢嶸.基于改進(jìn)ORB算法的遙感圖像自動(dòng)配準(zhǔn)方法[J].國土資源遙感,2013,25(3):20-24.
[14] 葛山峰,于蓮芝,謝振.基于ORB特征的目標(biāo)跟蹤算法[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] 杜京義,胡益民,劉宇程.基于區(qū)域分塊的SIFT圖像匹配技術(shù)研究與實(shí)現(xiàn).光電工程,2013;40(08):52-58.
[20] 許宏科,秦嚴(yán)嚴(yán),陳會(huì)茹.基于改進(jìn)ORB的圖像特征點(diǎn)匹配[J].科學(xué)技術(shù)與工程,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
(責(zé)任編輯:季春陽)
FeatureDetectionAlgorithmBasedonORBandSIFT
Huang Ying
(Ma’anshan Normal College)
TP391.9
A
1000-5617(2017)02-0025-05
2017-03-21
*安徽省承接教育部《高等職業(yè)教育創(chuàng)新發(fā)展行動(dòng)計(jì)劃(2015-2018年)》任務(wù):XM-01軟件技術(shù)骨干專業(yè)建設(shè)(序號(hào)97);馬鞍山師范高等專科學(xué)校校級(jí)特色專業(yè)-計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)(2016xjtszy01);馬鞍山師范高等專科學(xué)校校級(jí)精品開放課程-網(wǎng)頁設(shè)計(jì)與制作(2016xjjpxj01);馬鞍山師范高等??茖W(xué)校校級(jí)專業(yè)綜合改革試點(diǎn)-多媒體技術(shù)(2015xjzy01);馬鞍山師范高等??茖W(xué)校校級(jí)教研項(xiàng)目-計(jì)算機(jī)課程教學(xué)資源庫的建設(shè)與開發(fā)——以Linux課程為例(2017xjzdjy07)