于麗
(上海海事大學(xué)信息工程學(xué)院,上海 201306)
如今計(jì)算機(jī)視覺領(lǐng)域發(fā)展迅猛,各種算法如雨后春筍層出不窮。在圖像識別領(lǐng)域,卷積神經(jīng)網(wǎng)絡(luò)(CNN)因其卓越的性能成為主流網(wǎng)絡(luò)。隨著計(jì)算機(jī)硬件升級和網(wǎng)絡(luò)結(jié)構(gòu)的改進(jìn),使我們更容易進(jìn)行深層次神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,最經(jīng)典的LeNet5[1]由五層組成,后來發(fā)展的VGG[2]由19層組成,近來的Highway Network[3]以及殘差網(wǎng)絡(luò)[4]已突破100層,最近研究的殘差網(wǎng)絡(luò)甚至可以達(dá)到1000層。最近的密集卷積神經(jīng)網(wǎng)絡(luò)(DenseNet)[5]在殘差基礎(chǔ)上又做了改進(jìn),訓(xùn)練速度更快,準(zhǔn)確度更高。因此本文基于密集卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn)。
由于遙感飛機(jī)圖像在拍攝過程中會遇到很多干擾因素,如光照、噪聲、模糊、遮擋等,其中遮擋對于圖像影響較大,大范圍遮擋會使圖像關(guān)鍵信息缺失,進(jìn)而導(dǎo)致識別結(jié)果不準(zhǔn)確。對于受遮擋圖像的識別已經(jīng)有很多方法,如周克虎[6]等人提出的基于Struck算法的遮擋目標(biāo)追蹤,對小范圍遮擋圖像的追蹤效果較好,但是對大范圍遮擋的魯棒性較差;王曉華[7]等人也提出了一種融合局部二值特征(LBP)的算法,雖然對于遮擋的效果較好,但是計(jì)算量較大。
綜上,本文將基于密集卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練得到密集卷積特征,然后將密集卷積特征與尺度不變特征結(jié)合,最后送入Softmax分類器中,進(jìn)行目標(biāo)識別。實(shí)驗(yàn)結(jié)果表明,結(jié)合卷積特征與尺度不變特征的算法對于大幅度遮擋有很好的魯棒性,能夠勝任遮擋圖像的目標(biāo)識別任務(wù)。
本文實(shí)驗(yàn)基于密集卷積神經(jīng)網(wǎng)絡(luò)(DenseNet),其網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1所示,通過分層特征提取得到十類飛機(jī)的卷積特征圖。其中第一個(gè)卷積層(conv1)輸出通道數(shù)設(shè)為16,得到16維特征圖,同理三個(gè)部分的密集塊(Dense Block)分別得到不同維數(shù)的特征圖,最終得到196維特征圖送到分類器中。取一類飛機(jī)為例,其卷積特征圖如圖2所示。在網(wǎng)絡(luò)訓(xùn)練過程中將不斷放大不同類別飛機(jī)的關(guān)鍵特征權(quán)值,促使不同飛機(jī)特征分離,最后送到分類器中實(shí)現(xiàn)目標(biāo)識別。但是由于卷積神經(jīng)網(wǎng)絡(luò)提取的特征忽略了一些有價(jià)值的特征,導(dǎo)致飛機(jī)識別不準(zhǔn)確,而人類的視覺系統(tǒng)集中于紋理、輪廓以及局部特征來識別圖像,因此本文提取傳統(tǒng)特征——SIFT特征,將傳統(tǒng)特征與卷積特征結(jié)合,從而使特征信息更全面,提高算法魯棒性。
圖1 密集卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖
圖2 多個(gè)卷積層特征可視化示意圖
SIFT(Scale-Invariant Feature Transform)[8]特征是基于物體上的一些局部外觀的關(guān)鍵點(diǎn),但是與圖像的大小沒關(guān)系,并且具有旋轉(zhuǎn)不變的特性,同時(shí)對于光線變化、噪聲也有較高的魯棒性?;谶@些特性,SIFT特征是高度顯著且較容易獲取,如今在大數(shù)據(jù)背景下,我們會獲取到巨量特征數(shù)據(jù),其中顯著的SIFT特征能夠準(zhǔn)確辨識物體。更重要的是,由于SIFT特征的關(guān)鍵點(diǎn)特性,使其對于遮擋物體的檢測率較高。
SIFT算法可分為以下幾個(gè)步驟:
(1)建立尺度空間
SIFT算法本質(zhì)就是在不同的尺度空間上查找關(guān)鍵點(diǎn),且需要通過高斯模糊獲取尺度空間,研究證明高斯卷積核是實(shí)現(xiàn)尺度變換的唯線性核,所以一幅圖像的尺度空間定義如下:
其中 I(x,y)表示一幅圖像,(x,y)表示空間中的像素點(diǎn),L(x,y,σ)表示尺度空間,G(x,y,σ)代表尺度可變的高斯卷積核函數(shù),σ越小表示尺度越小,卷積后得到圖像越精細(xì)。之后為有效得到尺度空間中的關(guān)鍵點(diǎn),提出高斯差分尺度空間(DOG Scale-Space),用不同尺度高斯差分核與圖像卷積,公式如下:
接下來用高斯差分金字塔來直觀表示尺度空間。有一幅圖像I,建立其在不同尺度空間的子圖s層,從大到小自底向上排列,之后將其上下兩層圖像相減得到高斯差分金字塔,如圖3所示:
圖3 高斯差分金字塔示意圖
(2)檢測DOG尺度空間極值點(diǎn)
圖4 檢測空間極值點(diǎn)示意圖
獲得尺度空間的極值點(diǎn),需要將空間中像素點(diǎn)和它的所有相鄰像素點(diǎn)進(jìn)行比較,確保極值點(diǎn)是圖像域和尺度域的極值。如圖4所示:中間的一點(diǎn)需要與其相鄰的8個(gè)點(diǎn)以及上下相鄰層對應(yīng)的18個(gè)點(diǎn)進(jìn)行比較,如果這一點(diǎn)是這26點(diǎn)中最大或最小點(diǎn),則這個(gè)點(diǎn)就是極值點(diǎn)。
但是圖像分層后的首尾兩層是沒辦法比較的,所以為保證尺度變換的連續(xù)性,用高斯模糊在頂層生成3張圖,得到s+3層高斯金字塔,s+2層高斯差分金字塔。
(3)定位特征點(diǎn)
①精確定位:由上述步驟從離散空間中得到候選極值點(diǎn),但是由于離散空間的極值點(diǎn)并不是連續(xù)空間的極值點(diǎn),因此需要進(jìn)一步精確定位特征點(diǎn)。即需要用三維函數(shù)的泰勒級數(shù)展開式作為擬合函數(shù),舍去高階項(xiàng)后泰勒級數(shù)展開的矢量表示形式如下:
其中X0表示離散空間下的極值點(diǎn),X表示擬合后連續(xù)空間下的極值點(diǎn),X?=X-X0表示擬合后極值點(diǎn)相對離散空間極值點(diǎn)的偏移量。
對上式求導(dǎo)并令其為0,即可求出擬合后極值點(diǎn)相對離散空間極值點(diǎn)的偏移量X?如下:
將公式(4)代入公式(5)中得到方程的值:
其中如果X?大于0.5則表示極值點(diǎn)偏移到了臨近點(diǎn),必須改變位置重新計(jì)算泰勒級數(shù)展開,反復(fù)迭代直到小于0.5。如果超出迭代次數(shù)仍未收斂,則剔除此極值點(diǎn)。另外,如果 f(X?)值過小容易受噪聲干擾變得不穩(wěn)定,因此設(shè)定閾值,使 f(X?)值小于0.03的極值點(diǎn)剔除。
②消除邊緣相應(yīng):極值點(diǎn)是在高斯差值尺度圖像中求出的,但高斯差值尺度圖像中,若極值點(diǎn)落在圖像邊緣,則這個(gè)點(diǎn)就是不穩(wěn)定點(diǎn),需要剔除。找到這個(gè)邊緣極值點(diǎn)的原理是其高斯差分算子在橫跨邊緣的地方有較大主曲率,而垂直邊緣有較小主曲率,主曲率通過二階的Hessian矩陣H求出。主曲率與矩陣H的兩個(gè)特征值成正比,兩個(gè)特征值的比值越大表明在某方向有較大主曲率,另一方向較小。因此為剔除邊緣點(diǎn),讓兩個(gè)特征值比值小于某一閾值即可。
(4)給特征點(diǎn)賦值方向參數(shù)
為了使SIFT特征具有旋轉(zhuǎn)不變性,用圖像的局部特征給SIFT特征點(diǎn)加上梯度方向算子,計(jì)算像素的梯度幅值和方向公式如下:
其中(x,y)表示空間中像素點(diǎn)位置,m(x,y)表示像素點(diǎn)的梯度幅值,θ(x,y)表示像素點(diǎn)的梯度方向,L(x,y)像素點(diǎn)在尺度空間的尺度值。實(shí)際上,計(jì)算的是以關(guān)鍵點(diǎn)為中心的鄰域像素的梯度方向,并且用直方圖統(tǒng)計(jì)鄰域像素的梯度方向,直方圖的峰值就作為關(guān)鍵點(diǎn)的方向。至此,關(guān)鍵點(diǎn)的位置、所處尺度、方向計(jì)算完畢,得到SIFT特征區(qū)域。
(5)生成關(guān)鍵點(diǎn)描述子
首先將坐標(biāo)軸旋轉(zhuǎn)到關(guān)鍵點(diǎn)的方向,來保證算子的旋轉(zhuǎn)不變性。然后以關(guān)鍵點(diǎn)為中心取8×8的窗口,在這個(gè)窗口內(nèi)計(jì)算每個(gè)像素的梯度幅值和方向,進(jìn)行高斯加權(quán)求和,得到128維SIFT特征向量,最后將特征向量歸一化處理,以便去除光照的影響。本文飛機(jī)圖像的關(guān)鍵點(diǎn)描述子可視化如圖5所示。
圖5 遙感飛機(jī)圖像中檢測到的關(guān)鍵點(diǎn)
建立A、B、C、D、E共五類受不同程度遮擋的遙感飛機(jī)圖庫,為模擬飛機(jī)圖像受遮擋的情況,將用不同大小的黑塊遮擋遙感飛機(jī)的任意位置,黑塊大小分別為24×24、48×48、72×72、96×96 像素,其中部分訓(xùn)練集圖像如圖6所示。共建立訓(xùn)練集20000張圖片,測試集8000張圖片。
圖6 部分遙感飛機(jī)圖像
本文實(shí)驗(yàn)平臺為Windows7 64位操作系統(tǒng),處理器:Intel Core i3-3110M CPU@2.4GHz,內(nèi)存:4GB,深度學(xué)習(xí)框架:Caffe。為提高算法對于圖像受遮擋情況的魯棒性,本節(jié)將結(jié)合卷積特征與傳統(tǒng)特征進(jìn)行實(shí)驗(yàn),傳統(tǒng)特征選取HOG特征與SIFT特征,并且通過實(shí)驗(yàn)對比兩種方法對實(shí)驗(yàn)結(jié)果的影響。其算法具體過程如圖7所示。
圖7 結(jié)合局部與全局特征的算法結(jié)構(gòu)圖
SIFT是通過將圖像中的每個(gè)點(diǎn)或像素轉(zhuǎn)換成特征向量來對局部特征進(jìn)行詳細(xì)描述的一種方法。從而使包含相似內(nèi)容的圖像共享比其他圖像更相似的特征向量。即使在圖像發(fā)生大幅度遮擋時(shí),這些點(diǎn)特征的矢量也是穩(wěn)健的。因此,通過結(jié)合卷積特征與SIFT特征,融合兩種特征的優(yōu)勢并補(bǔ)足各自的缺點(diǎn),然后將結(jié)合后特征送入分類器中。
圖8 密集卷積特征與SIFT特征結(jié)合示意圖
同樣取十類飛機(jī)中的D類飛機(jī)為例,原始圖像經(jīng)過密集卷積網(wǎng)絡(luò)最終得到196維卷積局部特征,取前100維進(jìn)行可視化;同時(shí)對飛機(jī)圖像獲取SIFT關(guān)鍵點(diǎn)描述子。之后將兩種特征結(jié)合后用直方圖表示,如圖8所示。
為了驗(yàn)證實(shí)驗(yàn)算法的有效性,本次實(shí)驗(yàn)分別將SIFT特征與密集卷積特征結(jié)合,然后送入聯(lián)合監(jiān)督的分類器中輸出識別結(jié)果。并且將本次實(shí)驗(yàn)結(jié)合SIFT特征的算法、原始密集卷積神經(jīng)網(wǎng)絡(luò)算法與文獻(xiàn)[9]提出的算法對比,文獻(xiàn)[9]算法主要是提取Hu輪廓特征矩的方法對飛機(jī)圖像進(jìn)行識別,三種方法對十類飛機(jī)識別準(zhǔn)確率的情況如表1所示。
表1 結(jié)合不同特征對遮擋遙感飛機(jī)圖像的識別精度對比(%)
從表1觀察到,三種算法對于小范圍遮擋(24×24黑塊遮擋)的識別準(zhǔn)確率均在90%以上;對稍微大一點(diǎn)范圍的遮擋(48×48黑塊遮擋)魯棒性也較高,其中DenseNet較文獻(xiàn)[9]算法準(zhǔn)確率提高3%左右,SIFTDenseNet較文獻(xiàn)[9]算法準(zhǔn)確率提高 10%以上;DenseNet算法對較大范圍遮擋識別準(zhǔn)確率下降較為明顯,遮擋 72×72與96×96時(shí)依次下降 10%左右,而SIFT-DenseNet算法的識別準(zhǔn)確率均比DenseNet高且識別準(zhǔn)確率穩(wěn)定。最后SIFT-DenseNet算法的表現(xiàn)最佳,對大幅度遮擋的識別準(zhǔn)確率均在90%以上,平均識別準(zhǔn)確率達(dá)到96%。由此得出結(jié)論SIFT特征對于遮擋飛機(jī)圖像的識別準(zhǔn)確率提高較大,尤其對大幅度遮擋的飛機(jī)圖像有很高的魯棒性。因此SIFT-DenseNet算法能夠適應(yīng)復(fù)雜背景下遙感飛機(jī)圖像的識別。
SIFT特征結(jié)合卷積特征為什么對遮擋圖像識別準(zhǔn)確率有明顯提升?為了得到答案進(jìn)行一個(gè)仿真實(shí)驗(yàn),首先提取未遮擋飛機(jī)圖像的SIFT特征,之后與大幅度遮擋圖像做SIFT特征點(diǎn)匹配如圖9、10所示,圖9表示不同類別飛機(jī)的特征點(diǎn)匹配情況,只有三個(gè)特征點(diǎn)匹配;圖10表示同類別飛機(jī)的特征點(diǎn)匹配情況,有十個(gè)以上特征點(diǎn)匹配成功;因此得出結(jié)論,SIFT特征點(diǎn)對于大幅度遮擋圖像的識別有較大幫助。
圖9 不同類別遮擋飛機(jī)的SIFT特征匹配情況
圖10 同類別遮擋飛機(jī)的SIFT特征匹配情況
本文提出了一種結(jié)合卷積特征與SIFT特征的遙感飛機(jī)識別方法,采用40層密集卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),利用其密集連接特性,降低網(wǎng)絡(luò)參數(shù)的冗余,提高訓(xùn)練速度,增強(qiáng)網(wǎng)絡(luò)泛化性。并且將卷積特征與SIFT特征結(jié)合,增強(qiáng)深度學(xué)習(xí)算法的判別能力。實(shí)驗(yàn)結(jié)果表明較傳統(tǒng)機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí)的密集卷積神經(jīng)網(wǎng)絡(luò)識別準(zhǔn)確率有巨大優(yōu)勢,并且結(jié)合卷積與SIFT特征的密集卷積網(wǎng)絡(luò)能夠勝任受遮擋影響的遙感飛機(jī)識別。