高飛, 趙潔瓊, 林翀, 陳浩然
(北京理工大學 信息與電子學院,北京 100081)
合成孔徑雷達(synthetic aperture radar,SAR)是一種能構建接近光學成像傳感器高分辨率圖像的相干成像雷達,已廣泛應用于國防軍事、遙感探測等多個領域.軍事領域中,經常利用SAR圖像對特定軍事目標進行探測和識別[1].由于SAR圖像在成像原理、輻射特征、幾何特征等方面不同于一般光學圖像,在其成像過程中會受到地物回波信號的隨機影響,產生的相干斑噪聲直接降低圖像質量,且由于雷達波反射的不均勻造成圖像分辨率下降、目標邊緣模糊[2]等問題.與此同時,在SAR圖像識別領域,由于目標探測手段上的困難,通常難以獲取足夠數量的SAR圖像樣本,進而給圖像識別帶來挑戰(zhàn).基于上述特點,對SAR圖像目標識別的研究主要包括特征提取和分類設計[3-4].傳統目標識別方法中一般根據圖像紋理特征,使用支持向量機(support vector machines,SVM)的方法對圖像進行分類[5],或使用改進的決策樹進行SAR圖像分類[6]等.Gupta等[7]使用隨機森林法融合了SAR圖像的紋理特征、SAR觀測特征、統計特征和顏色特征進行土地覆蓋分類.以上方法依賴于人為設計圖像特征,該過程易受圖像噪聲、方位角等多種因素影響,且在處理不同類別間圖像相似度高的任務中,傳統識別方法無法準確識別各類圖像.基于KNN的合成孔徑雷達目標識別中[8]將非參數分類的KNN算法應用于SAR目標識別,此類方法在樣本不平衡時易將容量小的樣本歸類到容量大的樣本中.深度學習方法[9]可實現特征的自動提取,通過網絡結構的非線性變換實現復雜函數的逼近,在圖像識別領域顯示出其優(yōu)越的性能.目前基于卷積神經網絡(convolutional neural network,CNN)的SAR目標識別[10]通過搭建包含若干卷積層與池化層的網絡,以及使用反向傳播優(yōu)化網絡參數,完成特征的自動提取,最后輸出分類結果.然而深度學習的訓練需要大量的樣本數據,由于 SAR圖像樣本數量的不足,使用神經網絡容易出現過擬合和陷入局部最優(yōu)的情況,降低識別準確率.而近年來小樣本學習的提出[11]在一定程度上改善了深度學習面臨的問題,其目的是在只有少量樣本的情況下,對已有樣本進行特定訓練,從而進行快速學習,提高泛化性能,但該領域的發(fā)展還不夠成熟.
針對上述問題,本文從以下兩點出發(fā),提出基于距離度量學習的SAR圖像識別方法:(1)為區(qū)分相似度高的類間圖像,利用CNN網絡初步提取圖像特征,同時使用LSTM網絡保留樣本間的相似特征,將各類樣本進行關聯,使用距離度量函數計算圖像之間的匹配度,并引入注意力機制以提取出與測試圖像特征更具相似性的訓練圖像;(2)在SAR圖像數據樣本有限的情況下,結合小樣本學習中數據訓練方式,對訓練集按比例劃分,采取預訓練的策略進行模型訓練.
訓練集S中包含N個類別、每類k張圖像,記為
S={(xi,yi),(x2,y2),…,(xN×k,yN×k)} (1)
(2)
其中c∈Y,Y為標簽空間。模型計算過程公式表示為
(3)
(4)
注意力機制通過距離度量函數來計算向量之間的匹配程度.度量學習依賴給定的度量方式,計算樣本之間的相似度,相似度越大則目標之間屬于同類的可能性越大.一般而言,一個距離函數d(x,y)需要滿足以下性質:
1)d(x,y)=0有且僅有x=y時;
2)d(x,y)≥0;
3)d(x,x)=d(y,x);
4)d(x,k)+d(k,y)≥d(x,y).
根據數據的不同特性,不同問題采用不同的度量方法,如空間問題采用歐氏距離,路徑問題采用曼哈頓距離,編碼差別采用漢明距離,向量差距采用夾角余弦等.由于計算圖像樣本間的距離屬于高維度向量問題,距離度量函數采用余弦距離.通過歐幾里得點積公式:
a·b=‖a‖‖b‖cosθ
(5)
得到向量A和向量B余弦夾角:
(6)
d(A,B)=θ=arccosθ
(7)
通過余弦距離θ的大小來計算樣本之間的距離,θ越小,cosθ越大,樣本間越相似,反之亦然.
利用LSTM網絡特性,將CNN網絡提取的特征向量嵌入到編碼空間,使各樣本之間產生關聯,記住特定信息.對于訓練集,其編碼函數表示為g(x).結合雙向LSTM網絡[12](Bi-directional long short-term memory,Bi-LSTM)對樣本進行編碼,輸入序列為訓練集中的各個樣本,對樣本xi的編碼為
(8)
(9)
(10)
(11)
(12)
(13)
2.1.1數據預處理
針對本文實驗數據集的特定屬性,對其進行數據預處理操作.首先對原始數據圖像進行格式解析,將原始只讀形式文件解析為圖像形式文件.由于解析后的圖像像素不一,包括128×128,158×158,192×193等大小的圖像,需統一對圖像尺寸進行調整,將其裁剪為128×128像素大小.此外,為方便圖像進行分類,統一對圖像標簽進行one-hot編碼.
2.1.2網絡算法
圖1 圖像識別網絡結構
CNN網絡由輸入層、隱含層、輸出層組成.其中隱含層包括卷積層、池化層和全連接層,卷積層的目的是提取輸入圖像的不同特征,在各層內部包含多個卷積核,該卷積核中權重參數w和一個偏置b由反向傳播算法得到;池化層則是對卷積層輸出的特征圖進行特征選擇,降低數據維度;全連接層對提取出的特征進行非線性組合,從而輸出特征向量.本文方法由于只需利用CNN網絡對圖像進行初步特征提取,無需將特征映射輸出,因而移除輸出層,使圖像經過全連接層后,直接輸入到下一個網絡中.
圖2 CNN前向傳播示意圖
(14)
改寫為矩陣形式:
al=σ(wlal-1+bl)
(15)
(16)
δL=((wl+1)Tδl+1)⊙σ′(zl)
(17)
(18)
(19)
CNN網絡受神經元個數、學習率、迭代次數等超參數的影響,此類超參數依據經驗值進行設置.本文所構建的CNN網絡框架中包含4層卷積層和1層全連接層,在卷積層后添加批量標準化(batch normalization,BN),使用ReLU非線性激活函數,并添加max pooling池化層,經過全連接層后得到特征分布,作為LSTM網絡的輸入,具體結構如圖3所示.
圖3 CNN網絡結構
圖4 LSTM單元框架
at=σ(Wo[ht-1,xt]+bo)
(20)
使用Bi-LSTM網絡進行特征編碼,該網絡不僅將前一刻的樣本與當前樣本進行關聯,并且使后一刻的樣本也與當前樣本得到關聯,進一步增強樣本間的關聯度,區(qū)分同類樣本和異類樣本.Bi-LSTM網絡由前向LSTM和后向LSTM組成.前向LSTM層和后向LSTM層共同連接著輸出層,每個單元包含6個共享權值W1~W6,整體框架如圖5所示.在前向層和后向層的傳播中,分別計算前向和后向各時刻隱含層的結果并保存,最后在每個時刻結合前向層和后向層對應時刻的結果得到最終輸出(左右箭頭分別代表后向、前向傳播).該過程對應表達式如(21)~(23),式中函數F與函數G為t時刻的輸出函數.
圖5 雙向LSTM框架圖
(21)
(22)
(23)
余弦相似函數計算測試樣本與訓練樣本圖像之間的余弦距離,對輸入的訓練樣本向量和測試樣本向量使用Batch Matrix Multiply方法進行點積運算,通過計算兩向量的平方根倒數,將二者結果相乘輸出余弦相似值,并輸入注意力機制中,最后得到預測結果.網絡通過交叉熵代價函數計算損失值,根據結果進行梯度下降并反向傳播.
在小樣本學習任務中,數據集的組織原則與訓練方式不同于常規(guī)深度學習數據集,記常規(guī)數據集為Dr,小樣本數據集為Df.在常規(guī)深度學習數據集中,有
Dr=Trainset+Testset.
在小樣本學習數據集中,Df由若干Dr構成,Dr中包含N個類別K個樣本的若干小規(guī)模的常規(guī)數據集,每個Dr定義為一個Task,即
Df={Dr}={Trainset+Testset}.
通過對每個Task進行模型訓練,在只有少量樣本的情況下,泛化已知的類別.
基于此,本文針對SAR圖像訓練樣本數據有限的情況,結合小樣本學習中數據訓練方式,采取對訓練集上的圖像預測試的策略進行模型訓練,即劃分出訓練集中的部分圖像先進行測試.具體操作如下:將訓練集S按照20∶1的比例劃分為Sa和Sb兩部分,Sa集用來進行圖像訓練,Sb集用來進行預測試.模型訓練過程分批次進行計算,每一批次從Sa集各類圖像中隨機選取10張圖像,從Sb集中隨機選取一類,并從該類中隨機選取5張圖像進行預測試,每批次計算結束后返回準確值和損失值.
實驗數據集采用來自美國國防高等研究計劃署支持的MSTAR計劃公布的MSTAR數據集,采集數據所用雷達工作在X波段,采用HH極化方式,分辨率為0.3 m×0.3 m.該數據集的采集條件分為標準工作條件(standard operating condition,SOC)和擴展工作條件(extended operating condition,EOC),數據集中的目標是雷達工作在多個俯仰角時各軍事目標在該方向上的SAR成像圖片.本次實驗采用官方公開提供的SOC條件下的數據集,共包括10類靜止地面目標圖像,分別為自行榴彈2S1、裝甲偵察車BRDM2、步兵戰(zhàn)車BMP2、裝甲運兵車BTR60、裝甲運兵車BTR70、推土機D7、坦克T62、坦克T72、軍用卡車ZIL131、自行防空高炮ZSU234.
網絡在Ubuntu 16.04環(huán)境下基于Python 3.6編程實現,算法部分實驗基于Pytorch框架實現.實驗優(yōu)化后,選取參數設置如下:學習率lr設為1×10-3,學習衰減系數lr_decay設為1×10-6,迭代次數Epoch設為50,每批訓練樣本數batch_size設為105,weight_decay設為1×10-4,優(yōu)化器選用Adam.
網絡在訓練時共進行50次迭代,圖6顯示了50次迭代中交叉熵代價函數變化情況.由圖可知,隨著迭代次數的增加,網絡不斷進行參數優(yōu)化調整,損失值在部分迭代更新中出現反增情況,但整體來說呈下降趨勢.實驗中每次迭代后進行一次測試集上的測試,與之對應的準確率情況如圖7所示,在迭代過程中準確率略有波動,當epoch值達到26左右時,交叉熵損失值穩(wěn)定在1.55左右,分類準確率已超過99%.
圖6 測試集交叉熵損失值變化曲線
圖7 測試集準確率變化曲線
將本文方法與K近鄰算法(KNN)、支持向量機(SVM)、隨機森林法和卷積神經網絡(CNN)進行比較,如表1所示.KNN算法中K值過小會發(fā)生過擬合,且模型復雜度高,K值過大則導致分類模糊,學習誤差增大,采用交叉驗證法后選取K=10;由于樣本量不大且樣本特征較少,SVM算法中選取高斯核函數,不僅能將原數據映射到高維空間實現線性劃分,而且能減少計算量;隨機森林法中子樹數量設置太小容易欠擬合,太大不能顯著地提升模型性能,采取多次重復實驗的方法將該值設為1 000;CNN網絡中選取卷積核與池化核更小、卷積層更多的VGG-16模型,其結構簡潔,泛化性能較好.從表中看出,本文方法的準確率最高,達到99.3%,較SVM算法提升2.5%.神經網絡在該數據集上的識別效果不高,主要因為MSTAR數據集樣本數量較少,網絡易出現過擬合情況.
表1 本文方法與其他方法的結果比較
通過實驗發(fā)現,對于裝甲偵察車BRDM2的識別,傳統方法易將該類混淆為BMP2、BTR70等類別.SVM方法與本文方法在BRDM2類別上的平均識別準確率分別為87.1%和95.1%,在該類別上本文方法的準確率相比提高了8.0%,從該類中隨機選取8張圖像輸出兩種方法預測結果,如表2和表3所示.分析結果得到,在易混淆的圖像識別任務上,本文方法識別效果優(yōu)于傳統方法.
表2 SVM方法在BRDM2上預測結果:準確率
表3 本文方法在BRDM2上預測結果:準確率
本文基于圖像相似度的匹配范式提出一種SAR圖像識別分類方法,使用CNN網絡提取圖像中的特征,對此特征進行LSTM編碼,加強圖像間的關聯性,利用余弦相似度量函數計算測試樣本與訓練樣本之間的距離,通過注意力機制后進行圖像分類.同時,在樣本有限的情況下,結合小樣本學習中數據訓練方式,對訓練集按照比例進行劃分,采取預訓練的策略進行實驗.實驗表明,在MSTAR數據集的10類軍事目標準確率達到99.3%,本文提出的方法在SAR圖像識別上具有一定的應用前景.