韓要昌,王 潔,史 通,蔡啟航
(空軍工程大學(xué)防空反導(dǎo)學(xué)院,西安 710051)
遙感圖像就是通過航空或航天器,在遠(yuǎn)距離非接觸的技術(shù)手段下獲得的圖像[1]。遙感圖像具有分辨率高、內(nèi)容豐富等特點(diǎn),在軍事領(lǐng)域中,可利用遙感技術(shù)對敵方軍事基地進(jìn)行識別定位和偵查,取得先機(jī),比較典型的目標(biāo)有機(jī)場、港口、艦隊(duì)和導(dǎo)彈陣地等[2]。文獻(xiàn)[3]進(jìn)行了遙感圖像預(yù)處理的分析研究,為提供遙感圖像識別分類提供了重要參考。文獻(xiàn)[1]針對遙感圖像中的港口目標(biāo),利用CNN(卷積神經(jīng)網(wǎng)絡(luò))進(jìn)行了分類研究;文獻(xiàn)[4]進(jìn)行了遙感圖像中飛機(jī)的分類研究。在實(shí)際應(yīng)用中,獲得的是某個(gè)區(qū)域的大范圍遙感圖像,對于不同類別的眾多典型目標(biāo),如何將其識別定位,為指揮人員提供決策依據(jù),是軍事偵察中的重要課題。
特征提取是圖像識別的關(guān)鍵,在早期的圖像分類中,必須借助SIFI、HOG的算法提取具有良好區(qū)分性的不變矩特征[5]。圖像識別則依靠SVM(支持向量機(jī))和BP(反向傳播)神經(jīng)網(wǎng)絡(luò)等實(shí)現(xiàn)圖像的分類,受人工提取特征的限制,錯(cuò)誤率較高,表現(xiàn)較好時(shí)也僅在26%以上[6]。CNN則可以達(dá)到更好的特征提取效果,是圖像識別和分類的有效手段。
CNN起源于20世紀(jì)80年代提出的神經(jīng)認(rèn)知機(jī)[7-8],比較經(jīng)典CNN結(jié)構(gòu)的有LeNet-5、AlextNet、VGG Net、GoogLeNet和ResNet[8-12]等。對于大規(guī)模的數(shù)據(jù)集,網(wǎng)絡(luò)層數(shù)越深,提取和識別的特征就越多,訓(xùn)練和泛化的效果也就越好,但是遙感圖像的數(shù)據(jù)集比較小,并且同一般的RGB圖像相比,遙感圖像的信息更加豐富。因此需要通過實(shí)驗(yàn)和改進(jìn)來確定合適的網(wǎng)絡(luò)結(jié)構(gòu)。
針對遙感圖像的分類,選擇了武漢大學(xué)夏桂松團(tuán)隊(duì)開發(fā)的公開數(shù)據(jù)集AID[14],分別在LeNet-5、AlextNet、VGG Net、GoogLeNet和ResNet上訓(xùn)練,測試了AID數(shù)據(jù)集的訓(xùn)練時(shí)間和識別正確率,結(jié)果如表1所示。AID數(shù)據(jù)集共有10 000遙感圖片,分為30類,每張包含200~400張600像素×600像素的圖片。同UCM等早期經(jīng)典數(shù)據(jù)集相比,AID中來源多元化,可以更加客觀的檢驗(yàn)各種算法的識別率和泛化能力。
選擇AID數(shù)據(jù)集訓(xùn)練5種典型的CNN結(jié)構(gòu),試驗(yàn)采用的硬件配置為:CPU為Intel i7,GPU為NVIDIA Tesla K40。迭代次數(shù)為30 000次。
表1 五種CNN模型的遙感圖像分類準(zhǔn)確率對比
對比訓(xùn)練結(jié)果,GoogLeNet模型的分類效果最好,Lext-5模型的準(zhǔn)確率最低,其余3種網(wǎng)絡(luò)的性能相差不大。因此選擇GoogLeNet模型作為研究改進(jìn)的對象。GoogLeNet結(jié)構(gòu)雖然識別率較高,但是仍難以滿足要求。為了進(jìn)一步提高圖片識別率,通過研究GoogLeNet的實(shí)現(xiàn)原理,對GoogLeNet網(wǎng)絡(luò)模型做了改進(jìn),提高了訓(xùn)練和測試效果。
GoogLeNet網(wǎng)絡(luò)模型是基于Inception模塊堆疊而成。一般先通過1×1卷積降低通道數(shù)聚合信息之后,再進(jìn)行計(jì)算,有效地利用了計(jì)算力,融合不同尺度的卷積以及池化操作,進(jìn)行多維特征的融合,識別和分類效果也更好;將計(jì)算力由深變寬,也避免了網(wǎng)絡(luò)太深導(dǎo)致的訓(xùn)練梯度彌散的問題。GoogLeNet網(wǎng)絡(luò)采取全局均值池化,解決了傳統(tǒng)CNN網(wǎng)絡(luò)中最后全連接層參數(shù)過于復(fù)雜且泛化能力差的特點(diǎn)。
圖1 改進(jìn)后的Inception模塊結(jié)構(gòu)圖
GoogLeNet的整體結(jié)構(gòu)是針對類似ImageNet等大規(guī)模數(shù)據(jù)集來設(shè)計(jì)的,這種框架對大型的普通圖像數(shù)據(jù)集分類效果優(yōu)秀。而較為典型的遙感圖像數(shù)據(jù)集,如UCM等,圖片數(shù)量一般在幾千張到一萬張之間,樣本數(shù)量遠(yuǎn)遠(yuǎn)少于普通圖像;此外,遙感圖像具有6個(gè)通道,特征更加復(fù)雜。
為了提取更多的潛在特征,首先在Inception模塊中增加7×7卷積操作和相應(yīng)的降采樣層。改進(jìn)后的Inception模塊如圖1所示;針對數(shù)據(jù)集較小的情況,將層數(shù)降低為16層,保留其中一個(gè)分支分類器;在全連接層之前添加Batch-Normalization正則化工程,改善梯度消失問題。Batch-Normalization的工作過程如下:
1)輸入:mini-batch中的值:x={x1,x2,…,xm}
2)mini-batch方法求均值
(1)
3)min-batch方法求方差
(2)
4)正則化
(3)
式中:θ為偏置,設(shè)為固定值。
5)輸出結(jié)果:
(4)
式中:γ、β是需要學(xué)習(xí)的參數(shù)。
對于最后的分類問題,由于支持向量機(jī)(SVM)在分類問題中的良好表現(xiàn)[15],采用SVM進(jìn)行最后的分類。改進(jìn)好的結(jié)構(gòu)命名為GoogLeNet16。
采用同樣的數(shù)據(jù)集,也就是AID遙感圖像數(shù)據(jù)集,對GoogLeNet進(jìn)行訓(xùn)練,迭代次數(shù)為5 000次,學(xué)習(xí)率為0.1,實(shí)驗(yàn)結(jié)果對比如表2。
表2 GoogLeNet和GoogLeNet16分類結(jié)果
從表2可以看出,同原有的GoogLeNet相比,GoogLeNet16網(wǎng)絡(luò)模型的分類準(zhǔn)確率提高了5.2%,訓(xùn)練時(shí)間減少了21 min,說明改進(jìn)的GoogLeNet是有效的。
分析表2的訓(xùn)練結(jié)果可以看出,雖然改進(jìn)后的網(wǎng)絡(luò)模型在遙感圖像的分類方面性能有了很大提高,但是改進(jìn)后的分類準(zhǔn)確率也僅僅達(dá)到了86.4%,尚不能滿足實(shí)際應(yīng)用的要求。受限于各種因素,遙感圖片數(shù)據(jù)集很難大規(guī)模擴(kuò)大,因此需要嘗試從其他途徑提高遙感圖像分類的準(zhǔn)確率。遷移學(xué)習(xí)是解決小規(guī)模數(shù)據(jù)集訓(xùn)練的有效方法[16]。
定義:給定源域DS及其學(xué)習(xí)任務(wù)TS,目標(biāo)域DT和學(xué)習(xí)任務(wù)TT,利用在源域DS的學(xué)習(xí)任務(wù)TS中學(xué)得的知識提高在目標(biāo)域DT中任務(wù)TT中的學(xué)習(xí)效果的過程,稱為遷移學(xué)習(xí)。其中:DS≠DT,或者TS≠TT。
基于權(quán)值的遷移學(xué)習(xí)可以使深度卷積神經(jīng)網(wǎng)絡(luò)模型更好的初始化,從而更好的學(xué)習(xí)特征和充分利用計(jì)算資源。傳統(tǒng)機(jī)器學(xué)習(xí)與遷移學(xué)習(xí)對比如圖2所示。利用在相似數(shù)據(jù)集中訓(xùn)練好的模型中的權(quán)值進(jìn)行初始化,在新任務(wù)的學(xué)習(xí)中不斷調(diào)整這些參數(shù)。這樣,網(wǎng)絡(luò)可以更加快速地學(xué)習(xí)到遙感圖像數(shù)據(jù)集的高級特征。
圖2 遷移學(xué)習(xí)與傳統(tǒng)機(jī)器學(xué)習(xí)對比
遷移學(xué)習(xí)中對源域的選擇是非常重要的。ImageNet數(shù)據(jù)集是比較經(jīng)典的超大規(guī)模的數(shù)據(jù)庫,它包括了1 400余萬幅圖像,分為兩萬多個(gè)類別,選擇ImageNet作為遷移學(xué)習(xí)的原始數(shù)據(jù)集,訓(xùn)練原始數(shù)據(jù)集時(shí)使用對大規(guī)模數(shù)據(jù)集效果較好的GoogLeNet16網(wǎng)絡(luò),將訓(xùn)練好的模型保存,再使用AID數(shù)據(jù)集訓(xùn)練該模型。采用基于權(quán)值的遷移學(xué)習(xí)方法和全訓(xùn)練方法分別在改進(jìn)的GoogLeNet16上訓(xùn)練,訓(xùn)練ImageNet數(shù)據(jù)集時(shí)的迭代次數(shù)為30 000次,訓(xùn)練AID數(shù)據(jù)集時(shí)的迭代次數(shù)均為5 000次。結(jié)果如表3所示。
表3 GoogLeNet16全訓(xùn)練與遷移學(xué)習(xí)訓(xùn)練結(jié)果
從結(jié)果對比可以看出,采用基于權(quán)值的遷移學(xué)習(xí)方法可以明顯提高針對AID遙感圖像分類的準(zhǔn)確率。將改進(jìn)之后的GoogLeNet模型與基于權(quán)值遷移的學(xué)習(xí)方法相結(jié)合,明顯提高了對AID遙感圖像數(shù)據(jù)集自動分類的準(zhǔn)確率,達(dá)到了96.8%。
為了驗(yàn)證該方法普遍適應(yīng)于遙感圖像的自動分類,將該方法對其他選定的遙感圖像數(shù)據(jù)集進(jìn)行分類實(shí)驗(yàn)驗(yàn)證。
實(shí)驗(yàn)數(shù)據(jù)集選取UCM和WHU-RS19(以下簡稱RS19)。UCM遙感數(shù)據(jù)集是由美國USGS國家地圖圖像集合中手工提取而來的公開遙感圖像數(shù)據(jù)集。該數(shù)據(jù)集總共有21類2 100幅圖片,每類100張圖片,大小均為256像素×256像素。RS19數(shù)據(jù)集的像素為600像素×600像素,總包含19類場景圖像,每一類大概50張,共1 005張。
在訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)時(shí),學(xué)習(xí)率的取值是影響訓(xùn)練結(jié)果的重要因素。當(dāng)學(xué)習(xí)率過大時(shí),學(xué)習(xí)過程難以收斂;當(dāng)學(xué)習(xí)率過小時(shí),學(xué)習(xí)的效率將變得非常慢,神經(jīng)網(wǎng)絡(luò)的收斂速度非常慢。同時(shí),訓(xùn)練中的迭代次數(shù)對訓(xùn)練結(jié)果的影響也較大。迭代次數(shù)過大,深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時(shí)間將大大增加,出現(xiàn)過擬合的可能性也大大增加,從而降低分類的準(zhǔn)確率;如果迭代次數(shù)過小,會導(dǎo)致學(xué)習(xí)不夠充分,達(dá)不到學(xué)習(xí)目的。因此,選擇合適的學(xué)習(xí)率和迭代次數(shù)是非常重要的。
在選擇學(xué)習(xí)率和迭代次數(shù)時(shí),將學(xué)習(xí)率和迭代次數(shù)分別固定,觀察另一個(gè)變量的變化,選擇合適的值。利用UCM數(shù)據(jù)集在GoogLeNet上進(jìn)行全訓(xùn)練,分別得到了固定迭代次數(shù)時(shí)學(xué)習(xí)率對訓(xùn)練結(jié)果的變化和固定學(xué)習(xí)率時(shí)迭代次數(shù)對訓(xùn)練結(jié)果的變化。
利用UCM數(shù)據(jù)集在GoogLeNet16網(wǎng)絡(luò)模型上實(shí)驗(yàn),固定迭代次數(shù)為5 000次,選擇0.02~0.2之間的10個(gè)值作為學(xué)習(xí)率。實(shí)驗(yàn)結(jié)果如圖3所示。
觀察圖3(a)的實(shí)驗(yàn)結(jié)果可以看出,學(xué)習(xí)率位于0.08到0.2時(shí),訓(xùn)練效果基本處于較高水平;學(xué)習(xí)率在超過0.16以后時(shí),分類效果還呈下降趨勢;學(xué)習(xí)率低于0.08時(shí),訓(xùn)練效果比較低且不穩(wěn)定,因此在選擇迭代次數(shù)的時(shí)候?qū)W(xué)習(xí)率設(shè)定為0.1。
在學(xué)習(xí)率為0.1的情況下,不同迭代次數(shù)下的訓(xùn)練結(jié)果由圖3(b)給出。迭代次數(shù)在3 000次以后逐漸趨于穩(wěn)定,在95%上下。在迭代次數(shù)少于3 000次的情況下,特征學(xué)習(xí)不足,分類準(zhǔn)確率不高。從整體考慮出發(fā),選擇迭代次數(shù)為4 000次。
圖3 學(xué)習(xí)率和迭代次數(shù)對訓(xùn)練結(jié)果的影響
由于遙感圖像和自然圖像存在著較大的差別,因此,在利用ImageNet數(shù)據(jù)集進(jìn)行遷移學(xué)習(xí)之后,以其他遙感數(shù)據(jù)集為源域再次進(jìn)行遷移學(xué)習(xí)。分別選定AID、UCM和RS19遙感數(shù)據(jù)集作為目標(biāo)數(shù)據(jù)集,學(xué)習(xí)率設(shè)定為0.1,迭代次數(shù)設(shè)定為4 000次。實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 不同的遷移方式對比
觀察實(shí)驗(yàn)結(jié)果可以看出,單純使用ImageNet遷移和先使用ImageNet遷移再使用其他遙感數(shù)據(jù)集遷移學(xué)習(xí)的準(zhǔn)確率相差不大。使用ImageNet+AID和ImageNet+UCM比使用ImageNet有很小的提高,使用ImageNet+RS19比使用ImageNet略有下降,這可能與兩種遙感圖像數(shù)據(jù)集制作方式不同有關(guān)。因此,使用大規(guī)模的自然圖像作為遷移學(xué)習(xí)的源域足以滿足遙感圖像分類的需要。
設(shè)置學(xué)習(xí)率為0.1,迭代次數(shù)4 000次,分別對AID、UCM和RS19進(jìn)行分類,采用GoogLeNet全連接訓(xùn)練和采用改進(jìn)后的GoogLeNet網(wǎng)絡(luò)權(quán)值遷移訓(xùn)練的遙感圖像分類準(zhǔn)確率如表4所示。
表4 GoogLeNet全訓(xùn)練與GoogLeNet16遷移學(xué)習(xí)結(jié)果對比 %
從表4可以看出:利用改進(jìn)后的GoogLeNet網(wǎng)絡(luò)模型和基于權(quán)值的遷移訓(xùn)練方法對不同數(shù)據(jù)集中的遙感圖像進(jìn)行分類,均有較大幅度的提升,而且分類準(zhǔn)確率均在95%以上,基本滿足了實(shí)際應(yīng)用的需要,試驗(yàn)驗(yàn)證了采用改進(jìn)的GoogLeNet模型和權(quán)值遷移的方法相結(jié)合,對于提高遙感圖像分類的準(zhǔn)確度是通用的。
針對遙感圖像的分類問題,選取AID、UCM和RS19等經(jīng)典遙感圖像數(shù)據(jù)集,在GoogLeNet的基礎(chǔ)上,根據(jù)遙感圖像的特點(diǎn)設(shè)計(jì)了改進(jìn)的GoogLeNet16深度卷積網(wǎng)絡(luò)模型,結(jié)合基于權(quán)值遷移的學(xué)習(xí)方法,選取合適的學(xué)習(xí)率和迭代次數(shù),提高了遙感圖像的分類準(zhǔn)確率,實(shí)驗(yàn)結(jié)果表明,該方法對不同的遙感圖像數(shù)據(jù)集的分類準(zhǔn)確度均可穩(wěn)定在95%以上,基本達(dá)到了實(shí)際應(yīng)用的要求。該方法的不足之處是對數(shù)據(jù)規(guī)模的依賴性較強(qiáng),對具有新特點(diǎn)的數(shù)據(jù)集和場景需要進(jìn)行訓(xùn)練,影響了時(shí)效性。后續(xù)工作還需要對一些特殊場景下的遙感圖像分類,尤其是厚云層下的遙感圖像以及防空導(dǎo)彈陣地的識別、海洋遙感圖像中的艦船識別等問題,進(jìn)行更加深入的研究。