郝 巖,白艷萍,張校非,杜敦偉
(1.中北大學 理學院, 太原 030051; 2 北京機電工程研究所, 北京 100074)
合成孔徑雷達(SAR)[1]是一種高分辨率成像雷達,具有不受光照和氣候條件等限制、能實現全天時、全天候對地觀測的特點,甚至可以透過地表或植被獲取其掩蓋的信息。作為一種獨特的偵察手段,合成孔徑雷達在民用與軍用領域的應用廣泛。因此,SAR目標識別也成為現今研究的一大熱點。對該問題的研究中,最重要的就是特征提取。為了避免復雜的特征提取和選擇過程,本文采用卷積神經網絡(CNN),通過多層網絡的學習自動提取圖像特征。
卷積神經網絡作為深度學習的一種,具有局部感知、權值共享、下采樣3個主要特點[2]。大部分特征提取方法無法保證所提取的特征具有很好的可分性,容易使圖像丟失很多重要信息。CNN不僅避免了這個缺點,而且被成功地應用于手寫數字、人臉識別等多種領域。傳統(tǒng)的CNN采用soft-max分類器,但分類效果并不是很好,而支持向量機(SVM)具有適合處理高維度問題、泛化性能強、運行速度快等多方面的優(yōu)點。另外,SVM可通過設計不同的核函數處理原本線性不可分的問題。因此,本文將soft-max分類器替換為支持向量機,針對CNN提取的特征分類實現了較好的識別效果。
卷積神經網絡[3]是一種多層前饋網絡,包括輸入層、卷積層、池化層、全連接層以及輸出層,最為核心的是卷積層和池化層。
1) 輸入層
CNN的輸入層不同于其他網絡,可以直接將原始數據作為輸入,無需額外的數據處理或特征設計,并可自動學習和提取圖像特征,大大減少了人工預處理的過程。
2) 卷積層(C層)
卷積層作為特征提取層,具有良好的平移不變性。每個卷積層中包含多個C元(卷積神經元),每個C元只與前一層網絡對應位置的局部感受域相連,并提取該部分的特征。相對于一般的前饋神經網絡,CNN的局部連接方式大大減少了網絡參數。為了進一步降低參數的數量級,CNN還采取了權值共享策略,即限制同一個卷積層不同的神經元與前一層網絡不同位置相連的權重均相等。通過設計多個卷積層,網絡可提取多個用于分類的不同特征。
3) 池化層(S層)
池化層屬于特征映射層,每層包含多個S元(采樣神經元),每個S元與前一層局部感受域連接的所有權值為一特定值。此時C層不再產生新的參數,而是對前一層網絡提取的特征進行下采樣。池化一般包含平均池化和最大池化兩種。
4) 全連接層
與常見的前饋網絡一樣,該層的每一個神經元與前一層的所有神經元互相連接,同層神經元之間不連接。
5) 輸出層
最后一層(C層或S層)得到的特征被拉成一個向量,作為某一分類器的輸入,通過該分類器的訓練得到最終分類結果。
SVM是一種有監(jiān)督的統(tǒng)計學習方法,其核心思想是基于結構風險最小原理尋找最優(yōu)分類平面,能最小化經驗誤差和最大化幾何邊緣,在非線性及高維模式識別問題中具有很大的優(yōu)勢,是一種較好的分類器[4]。
求解最優(yōu)分類平面的目標函數和約束條件的定義如下:
(1)
其中:w為垂直于分類超平面的向量;b為偏置項;xi為一個n維向量;yi為向量所屬的類別信息。將目標函數轉化,此問題可以變成一個凸二次規(guī)劃問題。雖然將原始數據映射到高維空間后,線性分類的概率明顯增加,但對于某些情況依然存在問題。為了放寬限制條件,引入松弛變量ξi≥0,表示數據點xi可以偏離的量,另外引入懲罰因子C,C為一個常數,則原問題可轉化為
(2)
通過拉格朗日函數得到其對偶問題:
(3)
式中αi為支撐向量所對應的系數。K(xi,xj)為核函數,其種類包括[5]:
以上γ、r、σ為參數。
CNN是應用最為廣泛的一種深度學習方法,其通過卷積層、池化層可以自動提取圖像特征,是一種性能良好的特征提取器,避免了復雜的人工特征設計過程。但由于soft-max需要計算每一類的概率,而且對于復雜的特征分類精度不是很高,這使得傳統(tǒng)的卷積神經網絡還存在很大的提升空間。SVM是一種較成熟的算法,其應用廣泛,可以解決非線性問題,同時相對于神經網絡而言不存在局部最優(yōu)的問題,有較高的分類精度。本文將傳統(tǒng)的卷積神經網絡分為兩個部分,即特征提取和分類。為了獲得更好的目標識別效果,同時考慮CNN與SVM兩種算法的優(yōu)點,本文將二者相結合,利用CNN的自動學習能力將其作為特征提取器,將SVM作為最終的分類器。CNN-SVM示意圖見圖1。
圖1 CNN-SVM示意圖
為了進一步提升該模型的性能,本文首先對圖像進行剪裁處理,去除多余的背景。由于CNN是一個深度學習模型,其訓練過程包括特征學習和分類兩個部分,其中特征學習是指對輸入數據進行卷積、池化操作,以自動學習圖像特征。而要獲得一個好的網絡模型,同時避免過擬合,需要大量的訓練數據,因此本文采用加噪和去噪的方法對樣本進行擴充,包括添加高斯噪聲、泊松噪聲、椒鹽噪聲、相干斑噪聲和高斯去噪、小波加噪去噪、中值濾波、線性空間濾波、二維自適應維納濾波9種方法,再加上預處理后的樣本將其擴充為原來的10倍,然后添加冗余將樣本擴充為原來的30倍。另外,為了解決在訓練過程中中間層數據分布發(fā)生改變,出現梯度消失或爆炸的問題,本文引入歸一化加快訓練速度。最后,通過訓練集將網絡訓練好,用選定的測試集進行測試,同時提取訓練集與測試集的特征,將其分別作為SVM的訓練集和測試集。CNN-SVM流程見圖2。
圖2 CNN-SVM流程
CNN-SVM的算法流程如下:
① 輸入:輸入預處理后的訓練集trainx及其對應標簽trainy;
② 設置參數:初始化網絡參數,包括卷積核大小、數量、下采樣步幅、迭代次數(epoches);
③ for i 通過trainx,trainy訓練網絡,BP反向調整網絡參數,并提取訓練集特征trainx_feature end ④ 將測試集testx輸入步驟③訓練好的網絡,提取測試集特征testx_feature; ⑤ 將trainx_feature作為SVM的訓練集,testx_feature作為測試集,并進行歸一化,對目標進行分類,得到最終分類結果。 實驗數據來自于MSTAR的公開數據集,3類目標分別為BMP2(裝甲車)、BTR70(裝甲車)以及T72(主戰(zhàn)坦克)。實驗選取SN_C21、SN_C71和SN_132在17°俯仰角下的圖像作為訓練樣本,將15°俯仰角下的圖像作為測試樣本。訓練樣本和測試樣本分別為698個和588個。數據庫中的SAR圖像分辨率為0.3 m×0.3 m,目標圖像大小為128像素×128像素。 由于圖像的目標均集中于圖像的中間部分,因此本文首先將圖像剪裁為大小64像素×64像素的圖像。同時,CNN作為深度學習的一種,在訓練過程中往往需要大量的訓練樣本,而本文選取的實驗數據過少,因此采取加噪和去噪的方法對樣本進行擴充。采用的數據擴充方法包括添加高斯噪聲、泊松噪聲、椒鹽噪聲、相干斑噪聲、高斯去噪、小波加噪去噪、中值濾波、線性空間濾波、二維自適應維納濾波9種方法。通過加上預處理后的樣本將其擴充為原來的10倍,然后使用repmat函數對訓練樣本添加冗余,將樣本擴充為原來的30倍,最終得到 20 940個訓練樣本,5 880個測試樣本。圖3是圖像的預處理過程,圖中只顯示了2種擴充方法。 圖3 圖像預處理過程 實驗中的其他設置為:① 實驗配置為Matlab R2016b。 ② CNN包括2個卷積層。第1個卷積層有5種卷積核,第2個卷積層有10種卷積核。2個對于池化層本文采用平均池化,采樣步幅為2。激活函數選用sigmoid函數。批量訓練的大小為10。迭代次數為8。③ 改進算法中,SVM訓練集與測試集的歸一化區(qū)間為[0,0.2],其他設置均與LIBSVM工具箱中的設置相同。 4.2.1 實驗1 為了證明本文所采用的預處理方法的有效性,針對原始數據、剪裁、去噪以及擴充后的數據進行實驗,實驗結果見表1。除擴充(加噪、去噪等)方法外,其余訓練數據均通過repmat函數擴充為20 940,測試數據擴充為5 880,2個卷積層均采用大小為9×9的卷積核以確保實驗的有效性。 表1 不同預處理方法對比 從表1可以看出:第1、3、4、7組實驗的識別效果均為33.33%,即所有未剪裁的數據均將3類目標分為了1類,原因是未剪裁的圖像在目標周圍有很多復雜的背景,對目標的準確識別產生了一定的干擾;對比第2組和第5組實驗,在剪裁的基礎上去除圖像的高斯噪聲,識別準確率提高了1.7%,說明噪聲對目標識別也具有一定的影響;第2組實驗的識別準確率之所以比第7組高是因為第2組數據在擴充時直接復制原數據,降低了識別的困難程度;最后,第5組比第8組實驗的識別效果好也是因為擴充數據直接添加了冗余??傮w而言,剪裁、去噪對目標的識別具有非常重要的作用,特別是剪裁處理。 4.2.2 實驗2 實驗以最終特征圖大小10像素×10像素為目標,通過改變2個卷積層卷積核的大小對傳統(tǒng)的CNN算法進行測試,不同大小卷積核識別率見表2。 表2 不同大小卷積核識別率 從表2可以看出:不同大小的卷積核對于識別效果有一定的影響,且卷積核較大時,相應的運行時間也變長。通過對比發(fā)現,當兩層的卷積核均為9×9時,識別效果最好,識別正確率達到97.5%。 4.2.3 實驗3 實驗主要針對改進后的算法CNN-SVM進行性能測試,根據實驗2的結果,本實驗中2個卷積層均采用大小為9×9的卷積核,網絡結構如下: 1) 輸入層:為預處理后的圖像,大小為64像素×64像素; 2) 卷積層1: 采用5種大小為9×9的卷積核,得到5個大小為56像素×56像素的特征圖; 3) 池化層1:5個大小為28像素×28像素的特征圖; 4) 卷積層2:采用10種大小為9×9的卷積核,得到10個大小為20像素×20像素的特征圖; 5) 池化層2:10個大小為10像素×10像素的特征圖; 6) 全連接層:1 000個神經元節(jié)點; 7) 輸出層:3個神經元節(jié)點。 圖4為測試集中一個樣本的特征圖,其中:(a)為預處理后的輸入圖;(b)為第1個卷積層的特征圖;(c)為第1個池化層的特征圖;(d)為第2個卷積層的特征圖;(e)為第2個池化層的特征圖。 圖4 各層部分特征圖 從圖4可以看出:特征圖的大小在不斷減小,圖像的結構信息越來越少,剩余的是細節(jié)信息,這是深度學習的一個不足之處,在本文中不考慮該問題。 本文采用卷積神經網絡提取訓練集和測試集的特征,并將其分別作為SVM的訓練集與測試集,因此SVM訓練集大小為1 000×6 980,測試集大小為1 000×5 880。為了加快訓練速度,提高識別正確率,將訓練集與測試集數據做歸一化處理,歸一化區(qū)間為[0,0.2],最終實現了99.4%的識別正確率。 對比實驗2、3的結果可以發(fā)現,CNN-SVM的識別正確率相對傳統(tǒng)的卷積神經網絡提高了1.9%,充分證明了改進算法的有效性。 為了進一步說明本文算法的識別效果,給出幾個文獻中的識別效率,將用本文方法與文獻方法得到的識別效果進行對比,見圖3。 表3 本文方法與文獻方法的對比 表3中,文獻[6]利用深度卷積神經網絡模型,提取并展示目標的多維度層級特征,soft-max分類精度達到93.99%;文獻[7]在卷積神經網的基礎上提出了一種新的識別框架SARNet,該框架通過組合多個不同的基本操作單元實現,最終3類目標識別率達到 95.48%;文獻[8]在誤差代價函數中引入類別可分性度量,利用SVM對特征分類,達到95.9%的識別精度。由此可見,相比上述3個文獻中的方法,本文的方法更為有效。 本文針對SAR目標識別問題提出CNN以及CNN-SVM兩種方法,并在MSTAR數據集上對3類目標進行3組仿真實驗,兩種方法的最佳識別正確率分別為97.5%和99.4%,均高于文獻[6-8]的識別正確率,證明了本文所提算法的有效性。但是對于卷積神經網絡而言,由于結構的限制,其在網絡記憶能力和表達能力上遠弱于一般的全連接網絡。盡管局部連接和權值共享大大減少了參數數量,但操作時仍然耗時較長,在這兩方面卷積神經網絡依然有很大的改進空間。 [1] 李君寶,楊文慧,許劍清,等.基于深度卷積網絡的SAR圖像目標檢測識別[J].導航定位與授時,2017(1):60-66. [2] 謝劍斌.視覺機器學習20講[M].北京:清華大學出版社,2015:170-178. [3] 陳耀丹,王連明.基于卷積神經網絡的人臉識別方法[J].東北師大學報(自然科學版),2016 (2):70-76. [4] 張迪飛,張金鎖,姚克明,等.基于SVM分類的紅外艦船目標識別[J].紅外與激光工程,2016(1):179-184. [5] 王小川,史峰,郁磊,等.MATLAB 神經網絡43個案例分析[M].北京:北京航空航天大學出版社,2013:102-103. [6] 張慧,肖蒙,崔宗勇.基于卷積神經網絡的SAR目標多維度特征提取[J].機械制造與自動化,2017(1):111-115. [7] 王家寶,李陽,張耿寧,等.合成孔徑雷達圖像目標的卷積神經網識別框架[J].計算機應用研究,2017(4):1-5. [8] 田壯壯,占榮輝,胡杰民,等.基于卷積神經網絡的SAR圖像目標識別研究[J].雷達學報,2016(3):320-325.4 實驗與結果分析
4.1 實驗準備
4.2 實驗
5 結束語