陳 濱 趙建軍 馬同剛 王遠(yuǎn)強
(1.海軍航空工程學(xué)院兵器科學(xué)與技術(shù)系 煙臺 264001)(2.91899部隊 葫蘆島 125001)
一種改進(jìn)的視頻序列SIFT特征檢測方法*
陳 濱1趙建軍1馬同剛2王遠(yuǎn)強2
(1.海軍航空工程學(xué)院兵器科學(xué)與技術(shù)系 煙臺 264001)(2.91899部隊 葫蘆島 125001)
SIFT算法在不變特征提取方面有著較大的優(yōu)勢,但因為其時間復(fù)雜度高,在實時應(yīng)用上仍存在較大挑戰(zhàn)。為了提高SIFT算法的實時性,論文對SIFT特征檢測算法進(jìn)行改進(jìn),根據(jù)連續(xù)圖像間的全局運動矢量,動態(tài)更新鄰域半徑,并依據(jù)該半徑獲取后續(xù)視頻圖像序列需要進(jìn)行極值檢測的區(qū)域圖像,從而減少后續(xù)圖像極值檢測時間,提高SIFT特征檢測算法的效率。實驗證明,改進(jìn)算法在確保特征點數(shù)目的前提下,有效減少了尺度空間下的極值檢測時間,提高了SIFT算法效率。
SIFT算法; 全局運動矢量; 視頻圖像; 尺度空間
Class Number TP391.41
SIFT(Scale Invariant Feature Transform)是一種計算機視覺算法,用來檢測并描述圖像中的局部特征。算法構(gòu)建尺度空間,并在空間中尋找極值點,計算其位置、尺度、旋轉(zhuǎn)不變量[1~2]。SIFT特征與圖像的大小、旋轉(zhuǎn)無關(guān),而是基于圖像局部的一些興趣點,在噪聲、視角及光線變化等條件下具有很好的效果。在圖像的不變特征提取方面,SIFT特征具有很大的優(yōu)勢[3~4]。但是,算法運行過程中需要構(gòu)建尺度空間、高斯金字塔,并對滿足關(guān)鍵點檢測條件的每一幀圖像中的每一個像素進(jìn)行極值判斷,在此基礎(chǔ)上檢測尺度空間中圖像的SIFT特征。因此,在實時條件下利用SIFT特征完成穩(wěn)像、跟蹤等任務(wù)仍然是較大的挑戰(zhàn)。
本文提出一種改進(jìn)的SIFT特征檢測方法:在前一幀圖像獲得SIFT特征后,后繼幀圖像在前一幀圖像SIFT特征點所在的鄰域內(nèi)進(jìn)行關(guān)鍵點檢測,減少極值檢測次數(shù),提高算法效率。鄰域半徑根據(jù)連續(xù)圖像間的全局運動矢量[5~6]動態(tài)調(diào)整。
2.1 尺度空間[7~8]
尺度空間理論的基本思想是:在圖像信息處理模型中引入一個被視為尺度的參數(shù),通過連續(xù)變化尺度參數(shù)獲得不同尺度下的視覺處理信息,然后綜合這些信息以更加深入地挖掘圖像的本質(zhì)特征。
尺度空間滿足視覺不變性:用眼睛觀察物體時,一方面當(dāng)物體所處背景的光照條件變化時,視網(wǎng)膜感知圖像的亮度水平和對比度有所不同,因此要求尺度空間算子對圖像的分析不受圖像的灰度水平和對比度變化的影響,即滿足灰度不變性和對比度不變性。相對于某一固定坐標(biāo)系,當(dāng)觀察者與物體之間的相對位置變化時,視網(wǎng)膜所感知的圖像的位置、大小、角度和形狀是不同的,因此要求尺度空間算子對圖像分析與圖像的位置、大小、角度以及仿射變換無關(guān),即滿足平移不變性、尺度不變性、歐幾里得不變性及仿射不變性。
一個圖像的尺度空間L(x,y,σ),定義為一個變化尺度的高斯函數(shù)G(x,y,σ)與原圖像I(x,y)的卷積,如式(1)所示:
L(x,y,σ)=G(x,y,σ)*I(x,y)
(1)
其中:
(2)
(x,y)代表圖像像素坐標(biāo),σ是尺度空間因子,值越小表示圖像被平滑的越少,相應(yīng)尺度也就越小。大尺度對應(yīng)于圖像的外貌特征,小尺度對應(yīng)于圖像的細(xì)節(jié)特征。
2.2 SIFT流程
SIFT算法[9~10]主要由四個階段組成:
1) 尺度空間極值檢測
構(gòu)建尺度空間的第一步就是建立高斯金字塔。
假設(shè)原圖像大小為M1×N1,塔頂圖像大小為Mn×Nn,滿足式(3):
n=log2(min(N1,M1))-log2(min(Nn,Mn))
(3)
構(gòu)建高斯金字塔模型的流程圖如圖1所示。
利用不同參數(shù),對圖像進(jìn)行高斯模糊,獲得一組圖像。
圖1 高斯金字塔構(gòu)建流程圖
高斯差分算子能夠產(chǎn)生穩(wěn)定的圖像特征,算子D(x,y,σ)如式(4)所示。因此,利用高斯金字塔生成高斯差分金字塔,可以產(chǎn)生更加穩(wěn)定的關(guān)鍵點。實際計算時,將高斯金字塔每組中的相鄰兩層圖像相減,就能得到高斯差分圖像。因此,高斯金字塔模型每組含有P幅圖像,高斯差分金字塔僅有P-1幅圖像。
D(x,y,σ) =(G(x,y,kσ)-G(x,y,σ))*I(x,y)
=L(x,y,kσ)-L(x,y,σ)
(4)
得到高斯差分金子塔后,對滿足關(guān)鍵點檢測條件的每一幀圖像中的每一個像素進(jìn)行極值判斷。由于進(jìn)行極值檢測時,需要對檢測點在尺度空間中相鄰的26個點進(jìn)行大小比較,因此在高斯差分金字塔中,圖像處于中間層才能進(jìn)行極值檢測。所以為了在每組圖像中檢測K個尺度的極值點,需要高斯差分金字塔每組擁有K+2幅圖像。由此可知,高斯金字塔的每組圖像需要K+3幅圖像。為了保證最高的空域采樣率,通常做法是將圖像的尺度擴大一倍,即將圖像用雙線性插值擴大一倍。
2) 關(guān)鍵點定位
由于1)中檢測到的是離散空間的極值點,為了去除對比度低的關(guān)鍵點和不穩(wěn)定的邊緣響應(yīng)點,以增強匹配穩(wěn)定性、提高抗噪聲能力,需要通過函數(shù)擬合來確定關(guān)鍵點的位置和尺度。
3) 方向確定
在關(guān)鍵點所在的高斯金字塔圖像中,對其3σ領(lǐng)域窗口內(nèi)的像素計算梯度和方向分布特征,使用梯度直方圖將360°分為36個區(qū)域,每個區(qū)域10°。使用梯度直方圖統(tǒng)計該領(lǐng)域內(nèi)像素的梯度和方向,并用直方圖的峰值作為關(guān)鍵點的主方向,保留峰值大于主方向峰值80%的方向作為關(guān)鍵點的副方向。至此,SIFT特征點可被表示為含有位置、尺度和方向的關(guān)鍵點。
4) 關(guān)鍵點描述
最后,為每個關(guān)鍵點建立一個描述符,并用一組向量將這個關(guān)鍵點描述出來,令其不受到光照、視角等變化的影響。SIFT描述子使用關(guān)鍵點為中心的4×4個窗口,計算每個子窗口內(nèi)像素點8個方向的梯度信息,生成4×4×8共128維向量。這個向量是該區(qū)域圖像信息的一個抽象,具有唯一性。
在尺度空間中檢測到的極值點,將作為SIFT關(guān)鍵點的初始集合,通過篩選去除一些邊緣點、不穩(wěn)定點后,獲得SIFT關(guān)鍵點。尺度空間中的極值檢測是SIFT算法的關(guān)鍵一步。
3.1 極值檢測時間復(fù)雜度
(5)
所有進(jìn)行極值檢測的像素點數(shù)目為
(6)
其中S由視頻序列的長度和幀頻決定,K決定了一組圖像中可以檢測的尺度的數(shù)量,一般取值為5。因此,有效減少Pi是減少極值檢測像素點,提高SIFT算法速度的關(guān)鍵。
3.2 改進(jìn)方法
現(xiàn)有圖像傳感器設(shè)備獲取的視頻序列一般具有較高的幀頻。當(dāng)攝像載體運動時,在獲得的視頻序列中,相鄰兩幀圖像間的全局運動較小。因此,后一幀圖像中的SIFT特征點一般在前一幀圖像中對應(yīng)特征點的鄰域內(nèi)。通過限定鄰域半徑,獲取前一幀圖像所有特征點鄰域像素點的集合,減少參與極值檢測像素點數(shù)目,算法流程如圖2所示。
圖2 改進(jìn)算法流程圖
鄰域半徑由式(7)決定:
(7)
其中,S為視頻序列中圖像的幀數(shù)。參數(shù)k為控制參數(shù),避免攝像載體速度突變,導(dǎo)致檢測失敗。
實驗分別計算了原算法與改進(jìn)算法作用于測試集所得特征點數(shù)目、算法耗時,通過對比來測試改進(jìn)算法的有效性。
4.1 實驗測試集
實驗利用無人機拍攝的視頻測試集,選取視頻中連續(xù)9幀圖像(第71至79幀),測試算法有效性,如圖3所示。
圖3 實驗測試集
圖像分辨率為240×320。式(6)中各項參數(shù)值為S=9,K=5,n=4,k=2。
4.2 實驗結(jié)果
利用SIFT特征檢測算法對測試集進(jìn)行檢測,獲得測試集各幀圖像的特征點數(shù)目,如表1所示。
表1 SIFT特征點數(shù)目表
圖4 原算法極值檢測耗時圖
由圖4可知,當(dāng)圖像分辨率增加至480×640時,極值檢測過程中需要進(jìn)行比較的像素點大大增加,導(dǎo)致特征點檢測時間將大幅提高。
通過前兩幀圖像得到的全局運動矢量來得到鄰域半徑的初始值,并且以此計算后一幀圖像需要進(jìn)行極值檢測的區(qū)域圖像,不斷重復(fù),得到區(qū)域圖像集如圖5所示。
圖5 極值檢測區(qū)域圖集
由改進(jìn)算法得到的SIFT特征點數(shù)目如表2所示:
表2 改進(jìn)算法SIFT特征點數(shù)量表
通過改進(jìn)算法,在視頻圖像序列的各個分辨率條件下,算法極值檢測時間均有較大提高,如圖6所示。
圖6 改進(jìn)算法極值檢測耗時圖
由實驗結(jié)果可知,改進(jìn)算法在極值檢測時間方面有了較大的提高。
本文針對SIFT特征極值檢測階段耗時較長的問題,對SIFT算法進(jìn)行了改進(jìn)。通過計算相鄰圖像間的全局運動矢量,限定下一幀圖像中進(jìn)行極值檢測的區(qū)域,并根據(jù)隨后得到的全局運動矢量不斷更新鄰域半徑。改進(jìn)算法通過減少極值檢測的次數(shù),提高SIFT算法的效率。
實驗表明,改進(jìn)算法在動態(tài)更新鄰域半徑的情況下,在保證了SIFT特征點的數(shù)目的基礎(chǔ)上,同時得到了每幀圖像進(jìn)行極值檢測的區(qū)域,有效減少了極值檢測的次數(shù),大幅減少了極值檢測時間。
[1] CHANG H C, LAI S H, LU K R. A Robust Real-time Video Stabilization Algorithm[J]. Journal of Visual Communication and Image Representation,2006,17(3):659-673.
[2] 傅衛(wèi)平,秦川,劉佳等.基于SIFT算法的圖像目標(biāo)匹配與定位[J].儀器儀表學(xué)報,2011,32(1):163-169. FU Weiping, QING Chuan, LIU Jia. Matching and location of image object based on SIFT algorithm[J]. Chinese Journal of Scientific Instrument,2011,32(1):163-169.
[3] 高健,黃心漢,彭剛等.一種簡化的SIFT特征點提取算法[J].計算機應(yīng)用研究,2008,25(7):2213-2222. GAO Jian, HUANG Xinhan, PENG Gang. Simplified SIFT feature point detecting method[J]. Application Research of Computers,2008,25(7):2213-2222.
[4] 安婷,賀一民,張志毅.改進(jìn)的雙向SIFT特征匹配算法[J].計算機工程與科學(xué),2016,38(1):138-143. AN Ting, HE Yimin, ZHANG Zhiyi. An improved bidirectional SIFT feature matching algorithm[J]. Computer Engineering and Science,2016,38(1):138-143.
[5] 孫劍,徐宗本.計算機視覺中的尺度空間方法[J].工程數(shù)學(xué)學(xué)報,2005,22(6):951-962. SUN Jian, XU Zongben. Chinese Journal of Engineering Mathematics,2005,22(6):951-962.
[6] BATTIAT O S, GALLO G, PUGLISI G.SIFT feature tracking for video stabilization[C]//International conference on Image Analysis and Processing, Modena 2007:1-7.
[7] 陳啟立,宋利,余松煜.視頻穩(wěn)像技術(shù)綜述[J].電視技術(shù),2011,35(7):15-17. CHEN Qili, SONG Li, YU Songyu. A Overview of Video Stabilization[J]. Video Engineering,2011,35(7):15-17.
[8] 黎燕,樊曉平,李剛等.尺度空間圖像的互信息與配準(zhǔn)[J].計算機工程與應(yīng)用,2008,44(23):178-182. LI Yan, FAN Xiaoping, LI Gang, et al. Mutual information and register in scale space image[J]. Computer Engineer and Applications,2008,44(23):178-182.
[9] David G. Lowe. Object Recognition from Local Scale-invariant Features[C]//International Conference on Computer Vision, Corfu, Greece: Springer US,1999:1150-1157.
[10] David G. Lowe. Distinctive Image Features from Scale-invariant Keypoints[C]//International Conference on Computer Vision, Springer US, 2004: 91-110.
An Improved Method of Detecting SIFT Features in Video Frame
CHEN Bin1ZHAO Jianjun1MA Tonggang2WANG Yuanqiang2
(1. Weapon Science and Technology Department, Naval Aeronautical and Astronautical University, Yantai 264001)(2. No. 91899 Troops of PLA, Hululdao 125001)
Although SIFT algorithm has great advantage of extracting the invariant features, it is a challenge to use the algorithm real-time because of the time complexity. The paper improves the SIFT algorithm by limiting the area of extremes detection. The radius of the area is updating with the global motion vectors between the continuous frames of a video. With the improved algorithm, the images of the areas are obtained in which the extremes to be detected. The algorithm keeps the amount of SIFT features and is proved to be more efficient by decreasing the time cost by extremes detection.
SIFT algorithm, global motion vector, video frame, scale space
2016年9月3日,
2016年10月17日
陳濱,男,博士研究生,研究方向:計算機視覺。趙建軍,男,博士,教授,研究方向:武器裝備與作戰(zhàn)指揮一體化。馬同剛,男,助理工程師,研究方向:航空裝備保障。王遠(yuǎn)強,男,助理工程師,研究方向:航空裝備保障。
TP391.41
10.3969/j.issn.1672-9722.2017.03.025