韓要昌,王 潔,史 通,蔡啟航
(空軍工程大學防空反導學院,西安 710051)
遙感圖像就是通過航空或航天器,在遠距離非接觸的技術手段下獲得的圖像[1]。遙感圖像具有分辨率高、內容豐富等特點,在軍事領域中,可利用遙感技術對敵方軍事基地進行識別定位和偵查,取得先機,比較典型的目標有機場、港口、艦隊和導彈陣地等[2]。文獻[3]進行了遙感圖像預處理的分析研究,為提供遙感圖像識別分類提供了重要參考。文獻[1]針對遙感圖像中的港口目標,利用CNN(卷積神經網絡)進行了分類研究;文獻[4]進行了遙感圖像中飛機的分類研究。在實際應用中,獲得的是某個區域的大范圍遙感圖像,對于不同類別的眾多典型目標,如何將其識別定位,為指揮人員提供決策依據,是軍事偵察中的重要課題。
特征提取是圖像識別的關鍵,在早期的圖像分類中,必須借助SIFI、HOG的算法提取具有良好區分性的不變矩特征[5]。圖像識別則依靠SVM(支持向量機)和BP(反向傳播)神經網絡等實現圖像的分類,受人工提取特征的限制,錯誤率較高,表現較好時也僅在26%以上[6]。CNN則可以達到更好的特征提取效果,是圖像識別和分類的有效手段。
CNN起源于20世紀80年代提出的神經認知機[7-8],比較經典CNN結構的有LeNet-5、AlextNet、VGG Net、GoogLeNet和ResNet[8-12]等。對于大規模的數據集,網絡層數越深,提取和識別的特征就越多,訓練和泛化的效果也就越好,但是遙感圖像的數據集比較小,并且同一般的RGB圖像相比,遙感圖像的信息更加豐富。因此需要通過實驗和改進來確定合適的網絡結構。
針對遙感圖像的分類,選擇了武漢大學夏桂松團隊開發的公開數據集AID[14],分別在LeNet-5、AlextNet、VGG Net、GoogLeNet和ResNet上訓練,測試了AID數據集的訓練時間和識別正確率,結果如表1所示。AID數據集共有10 000遙感圖片,分為30類,每張包含200~400張600像素×600像素的圖片。同UCM等早期經典數據集相比,AID中來源多元化,可以更加客觀的檢驗各種算法的識別率和泛化能力。
選擇AID數據集訓練5種典型的CNN結構,試驗采用的硬件配置為:CPU為Intel i7,GPU為NVIDIA Tesla K40。迭代次數為30 000次。

表1 五種CNN模型的遙感圖像分類準確率對比
對比訓練結果,GoogLeNet模型的分類效果最好,Lext-5模型的準確率最低,其余3種網絡的性能相差不大。因此選擇GoogLeNet模型作為研究改進的對象。GoogLeNet結構雖然識別率較高,但是仍難以滿足要求。為了進一步提高圖片識別率,通過研究GoogLeNet的實現原理,對GoogLeNet網絡模型做了改進,提高了訓練和測試效果。
GoogLeNet網絡模型是基于Inception模塊堆疊而成。一般先通過1×1卷積降低通道數聚合信息之后,再進行計算,有效地利用了計算力,融合不同尺度的卷積以及池化操作,進行多維特征的融合,識別和分類效果也更好;將計算力由深變寬,也避免了網絡太深導致的訓練梯度彌散的問題。GoogLeNet網絡采取全局均值池化,解決了傳統CNN網絡中最后全連接層參數過于復雜且泛化能力差的特點。

圖1 改進后的Inception模塊結構圖
GoogLeNet的整體結構是針對類似ImageNet等大規模數據集來設計的,這種框架對大型的普通圖像數據集分類效果優秀。而較為典型的遙感圖像數據集,如UCM等,圖片數量一般在幾千張到一萬張之間,樣本數量遠遠少于普通圖像;此外,遙感圖像具有6個通道,特征更加復雜。
為了提取更多的潛在特征,首先在Inception模塊中增加7×7卷積操作和相應的降采樣層。改進后的Inception模塊如圖1所示;針對數據集較小的情況,將層數降低為16層,保留其中一個分支分類器;在全連接層之前添加Batch-Normalization正則化工程,改善梯度消失問題。Batch-Normalization的工作過程如下:
1)輸入:mini-batch中的值:x={x1,x2,…,xm}
2)mini-batch方法求均值
(1)
3)min-batch方法求方差
(2)
4)正則化
(3)
式中:θ為偏置,設為固定值。
5)輸出結果:
(4)
式中:γ、β是需要學習的參數。
對于最后的分類問題,由于支持向量機(SVM)在分類問題中的良好表現[15],采用SVM進行最后的分類。改進好的結構命名為GoogLeNet16。
采用同樣的數據集,也就是AID遙感圖像數據集,對GoogLeNet進行訓練,迭代次數為5 000次,學習率為0.1,實驗結果對比如表2。

表2 GoogLeNet和GoogLeNet16分類結果
從表2可以看出,同原有的GoogLeNet相比,GoogLeNet16網絡模型的分類準確率提高了5.2%,訓練時間減少了21 min,說明改進的GoogLeNet是有效的。
分析表2的訓練結果可以看出,雖然改進后的網絡模型在遙感圖像的分類方面性能有了很大提高,但是改進后的分類準確率也僅僅達到了86.4%,尚不能滿足實際應用的要求。受限于各種因素,遙感圖片數據集很難大規模擴大,因此需要嘗試從其他途徑提高遙感圖像分類的準確率。遷移學習是解決小規模數據集訓練的有效方法[16]。
定義:給定源域DS及其學習任務TS,目標域DT和學習任務TT,利用在源域DS的學習任務TS中學得的知識提高在目標域DT中任務TT中的學習效果的過程,稱為遷移學習。其中:DS≠DT,或者TS≠TT。
基于權值的遷移學習可以使深度卷積神經網絡模型更好的初始化,從而更好的學習特征和充分利用計算資源。傳統機器學習與遷移學習對比如圖2所示。利用在相似數據集中訓練好的模型中的權值進行初始化,在新任務的學習中不斷調整這些參數。這樣,網絡可以更加快速地學習到遙感圖像數據集的高級特征。

圖2 遷移學習與傳統機器學習對比
遷移學習中對源域的選擇是非常重要的。ImageNet數據集是比較經典的超大規模的數據庫,它包括了1 400余萬幅圖像,分為兩萬多個類別,選擇ImageNet作為遷移學習的原始數據集,訓練原始數據集時使用對大規模數據集效果較好的GoogLeNet16網絡,將訓練好的模型保存,再使用AID數據集訓練該模型。采用基于權值的遷移學習方法和全訓練方法分別在改進的GoogLeNet16上訓練,訓練ImageNet數據集時的迭代次數為30 000次,訓練AID數據集時的迭代次數均為5 000次。結果如表3所示。

表3 GoogLeNet16全訓練與遷移學習訓練結果
從結果對比可以看出,采用基于權值的遷移學習方法可以明顯提高針對AID遙感圖像分類的準確率。將改進之后的GoogLeNet模型與基于權值遷移的學習方法相結合,明顯提高了對AID遙感圖像數據集自動分類的準確率,達到了96.8%。
為了驗證該方法普遍適應于遙感圖像的自動分類,將該方法對其他選定的遙感圖像數據集進行分類實驗驗證。
實驗數據集選取UCM和WHU-RS19(以下簡稱RS19)。UCM遙感數據集是由美國USGS國家地圖圖像集合中手工提取而來的公開遙感圖像數據集。該數據集總共有21類2 100幅圖片,每類100張圖片,大小均為256像素×256像素。RS19數據集的像素為600像素×600像素,總包含19類場景圖像,每一類大概50張,共1 005張。
在訓練卷積神經網絡時,學習率的取值是影響訓練結果的重要因素。當學習率過大時,學習過程難以收斂;當學習率過小時,學習的效率將變得非常慢,神經網絡的收斂速度非常慢。同時,訓練中的迭代次數對訓練結果的影響也較大。迭代次數過大,深度神經網絡的訓練時間將大大增加,出現過擬合的可能性也大大增加,從而降低分類的準確率;如果迭代次數過小,會導致學習不夠充分,達不到學習目的。因此,選擇合適的學習率和迭代次數是非常重要的。
在選擇學習率和迭代次數時,將學習率和迭代次數分別固定,觀察另一個變量的變化,選擇合適的值。利用UCM數據集在GoogLeNet上進行全訓練,分別得到了固定迭代次數時學習率對訓練結果的變化和固定學習率時迭代次數對訓練結果的變化。
利用UCM數據集在GoogLeNet16網絡模型上實驗,固定迭代次數為5 000次,選擇0.02~0.2之間的10個值作為學習率。實驗結果如圖3所示。
觀察圖3(a)的實驗結果可以看出,學習率位于0.08到0.2時,訓練效果基本處于較高水平;學習率在超過0.16以后時,分類效果還呈下降趨勢;學習率低于0.08時,訓練效果比較低且不穩定,因此在選擇迭代次數的時候將學習率設定為0.1。
在學習率為0.1的情況下,不同迭代次數下的訓練結果由圖3(b)給出。迭代次數在3 000次以后逐漸趨于穩定,在95%上下。在迭代次數少于3 000次的情況下,特征學習不足,分類準確率不高。從整體考慮出發,選擇迭代次數為4 000次。

圖3 學習率和迭代次數對訓練結果的影響
由于遙感圖像和自然圖像存在著較大的差別,因此,在利用ImageNet數據集進行遷移學習之后,以其他遙感數據集為源域再次進行遷移學習。分別選定AID、UCM和RS19遙感數據集作為目標數據集,學習率設定為0.1,迭代次數設定為4 000次。實驗結果如圖4所示。

圖4 不同的遷移方式對比
觀察實驗結果可以看出,單純使用ImageNet遷移和先使用ImageNet遷移再使用其他遙感數據集遷移學習的準確率相差不大。使用ImageNet+AID和ImageNet+UCM比使用ImageNet有很小的提高,使用ImageNet+RS19比使用ImageNet略有下降,這可能與兩種遙感圖像數據集制作方式不同有關。因此,使用大規模的自然圖像作為遷移學習的源域足以滿足遙感圖像分類的需要。
設置學習率為0.1,迭代次數4 000次,分別對AID、UCM和RS19進行分類,采用GoogLeNet全連接訓練和采用改進后的GoogLeNet網絡權值遷移訓練的遙感圖像分類準確率如表4所示。

表4 GoogLeNet全訓練與GoogLeNet16遷移學習結果對比 %
從表4可以看出:利用改進后的GoogLeNet網絡模型和基于權值的遷移訓練方法對不同數據集中的遙感圖像進行分類,均有較大幅度的提升,而且分類準確率均在95%以上,基本滿足了實際應用的需要,試驗驗證了采用改進的GoogLeNet模型和權值遷移的方法相結合,對于提高遙感圖像分類的準確度是通用的。
針對遙感圖像的分類問題,選取AID、UCM和RS19等經典遙感圖像數據集,在GoogLeNet的基礎上,根據遙感圖像的特點設計了改進的GoogLeNet16深度卷積網絡模型,結合基于權值遷移的學習方法,選取合適的學習率和迭代次數,提高了遙感圖像的分類準確率,實驗結果表明,該方法對不同的遙感圖像數據集的分類準確度均可穩定在95%以上,基本達到了實際應用的要求。該方法的不足之處是對數據規模的依賴性較強,對具有新特點的數據集和場景需要進行訓練,影響了時效性。后續工作還需要對一些特殊場景下的遙感圖像分類,尤其是厚云層下的遙感圖像以及防空導彈陣地的識別、海洋遙感圖像中的艦船識別等問題,進行更加深入的研究。