陳紅順, 陳文杰
(北京師范大學(xué)珠海分校,信息技術(shù)學(xué)院, 廣東,珠海 519087)
近年來,卷積神經(jīng)網(wǎng)絡(luò)(CNN)在圖像分類方面取得了很多的應(yīng)用[1-3],這得益于帶有訓(xùn)練標(biāo)簽的大型圖像數(shù)據(jù)集。由于遙感圖像特殊性,制作帶有訓(xùn)練標(biāo)簽的大型遙感圖像數(shù)據(jù)集成本高、過程復(fù)雜,因此目前公開的遙感圖像數(shù)據(jù)集規(guī)模不大,且不同數(shù)據(jù)集之間存在遙感平臺、傳感器、拍攝角度、分辨率、拍攝時間的差異,造成同一類型的地物在不同的數(shù)據(jù)集中差異巨大,這給遙感圖像場景分類造成了困難。近年來,遷移學(xué)習(xí)方法開始應(yīng)用于遙感圖像場景分類[4]。
生成對抗網(wǎng)絡(luò)[5](GAN)由Goodfellow等人于2014年提出,自提出以來引起了許多研究者的興趣。目前,許多學(xué)者提出了各種改進(jìn)模型,如深度卷積生成對抗網(wǎng)絡(luò)(Deep Convolutional GAN,DCGAN)[6]、條件生成對抗網(wǎng)絡(luò)(Conditional GAN)[7]等,并廣泛應(yīng)用于圖像超分辨率合成、圖像風(fēng)格轉(zhuǎn)移、圖像分割[8]等領(lǐng)域。
本文針對遙感圖像場景分類中帶有標(biāo)簽數(shù)據(jù)不足的問題,提出一種生成對抗網(wǎng)絡(luò)的分類算法,并應(yīng)用于遙感圖像場景分類。
如圖1所示,生成對抗網(wǎng)絡(luò)的結(jié)構(gòu)主要包含2個模型:生成器(Generator,記作G)和判別器(Discriminator,記作D)。生成器通過學(xué)習(xí)得到真實數(shù)據(jù)的分布,生成盡可能與真實相似的數(shù)據(jù),以達(dá)到讓判別器無法鑒別;判別器的目標(biāo)則是盡可能的區(qū)分真實數(shù)據(jù)和生成器生成的假數(shù)據(jù)。生成器和判別器交替訓(xùn)練,互相對抗博弈,最終達(dá)到納什均衡。此時,生成器能夠生成與真實數(shù)據(jù)分布相似的數(shù)據(jù),判別器無法識別數(shù)據(jù)的“真假”。
圖1 生成對抗網(wǎng)絡(luò)結(jié)構(gòu)
修改原始GAN判別器的輸出類別標(biāo)簽可以將GAN擴(kuò)展成半監(jiān)督分類器[9]。此時,生成器不再生成數(shù)據(jù)而是作為特征提取器,通過對抗學(xué)習(xí)方法擬合兩個數(shù)據(jù)分布,并把結(jié)果分別傳入判別器和分類網(wǎng)絡(luò),并調(diào)整標(biāo)簽決策來增加類間差異。
基于GAN的訓(xùn)練機(jī)制,通過交替訓(xùn)練擬合兩組數(shù)據(jù),生成器(也稱為特征提取器)在源域和目標(biāo)域中共享參數(shù),把源域數(shù)據(jù)和目標(biāo)域數(shù)據(jù)交替放進(jìn)去訓(xùn)練,達(dá)到生成網(wǎng)絡(luò)能夠弱化2個域的差異,提取到2個域的共同特征。
在前人研究的基礎(chǔ)上,本文在原有模型中添加標(biāo)簽,以解決域適應(yīng)過程中減弱類間差異的問題。整個算法流程如圖2所示。為測試算法效果,使用MNIST和MNIST-M數(shù)據(jù)集進(jìn)行分類(見圖3)。MNIST-M是彩色帶背景的手寫數(shù)據(jù)集,它是由BSDS500數(shù)據(jù)集中隨機(jī)提取圖片,然后對其隨機(jī)位置剪裁成28*28的大小,減去黑白的手寫數(shù)據(jù)集取絕對值得到的,其線條特征與MNIST有一定的相似。如表1所示,網(wǎng)絡(luò)結(jié)構(gòu)由兩部分組成,一部分是2個卷積層和2個池化層組成的特征提取網(wǎng)絡(luò),另一部分由全連接層組成的類間分類器和領(lǐng)域判別器。
圖2 算法流程
(左:MNIST數(shù)據(jù)集,右:MNIST-M數(shù)據(jù)集)圖3 測試數(shù)據(jù)集
表1 基于標(biāo)簽改進(jìn)生成對抗網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)
在開始訓(xùn)練源域網(wǎng)絡(luò)前,將MNIST數(shù)據(jù)集圖像轉(zhuǎn)為假彩色,作為3通道輸入到網(wǎng)絡(luò),測試時仍轉(zhuǎn)假彩色去測試。batch設(shè)置為64,epoch設(shè)置為30,使用Adam優(yōu)化器,其學(xué)習(xí)率為0.001,衰減率為(0.9,0.99),以迭代器的方式提取數(shù)據(jù)來應(yīng)對源域和目標(biāo)域數(shù)據(jù)量不相等。數(shù)據(jù)量少的將會重復(fù)抽取,直到數(shù)據(jù)量大的數(shù)據(jù)集完成一次讀取為止。一個Epoch里,域分類器和特征提取器的訓(xùn)練次數(shù)為1∶10,原因是域分類器訓(xùn)練效果明顯,收斂速度快,而特征提取器以欺騙域分類器訓(xùn)練以求得到域不變特征,故訓(xùn)練時間要長一些。損失函數(shù)無監(jiān)督訓(xùn)練采用經(jīng)sigmoid處理后的BCE損失函數(shù),驗證集部分采用交叉熵?fù)p失函數(shù)。最后是權(quán)重衰減參數(shù),衰減權(quán)重為
W=w+w(1-t/epochs)
(7)
其中,w為目標(biāo)域的驗證集相關(guān)權(quán)重,設(shè)置為0.1,t為當(dāng)前的epoch次數(shù),epochs為總的迭代次數(shù)??倱p失函數(shù)為
LOSS=Wloss1+(1-W)loss2
(8)
算法訓(xùn)練過程如下。
(1)訓(xùn)練源域網(wǎng)絡(luò),把源域數(shù)據(jù)和類別放入特征提取器和分類器,使網(wǎng)絡(luò)能夠很好的區(qū)分源域數(shù)據(jù)的類別,然后把此網(wǎng)絡(luò)的參數(shù)模型保存下來,稱為源域網(wǎng)絡(luò)。
(2)訓(xùn)練領(lǐng)域判別器,固定特征提取器的參數(shù)交替(或合并)地輸入源域和目標(biāo)域的數(shù)據(jù),以此來判斷輸入的圖片來自源域或目標(biāo)域,使領(lǐng)域判別器的參數(shù)更新,能夠更好地區(qū)分圖片來自源域還是目標(biāo)域。
(3)訓(xùn)練特征提取器,固定領(lǐng)域判別器的參數(shù)交替(或合并)地輸入源域和目標(biāo)域的數(shù)據(jù),此時,域分類器將以錯誤的域類別作為訓(xùn)練,以此來訓(xùn)練特征提取器,使特征提取器能夠提取到兩個領(lǐng)域的共同特征,以此來欺騙域分類器。兩種方式以一定的比例交替訓(xùn)練,達(dá)到擬合兩組數(shù)據(jù)的分布。
(4)訓(xùn)練類間分類器,把驗證集少量的目標(biāo)域帶標(biāo)簽數(shù)據(jù)輸入生成的特征R作為監(jiān)督學(xué)習(xí),以此交叉熵作為損失函數(shù)的部分權(quán)重來訓(xùn)練整個網(wǎng)絡(luò)。
將本文方法與WDGRL[10]、ADDA[11]方法進(jìn)行比較,結(jié)果分別見圖4和表2。可以看出,對假彩色處理后的MNIST已經(jīng)有很好分類效果的源域網(wǎng)絡(luò)直接用于目標(biāo)域的彩色MNIST_M,有33%的準(zhǔn)確率,說明源域和目標(biāo)域之間確實有著一定的共同特征。ADDA通過域?qū)狗椒?,對齊2個域的分布,得到了良好的分類效果。WDGRL通過Wasserstein距離衡量2個樣本的分布差異,參與了網(wǎng)絡(luò)的更新標(biāo)準(zhǔn)。本文方法基于ADDA方法的基礎(chǔ)上,目標(biāo)域少量驗證集以一定的減弱權(quán)重參與網(wǎng)絡(luò)更新,相比較于前2種方法,準(zhǔn)確率高一點,但訓(xùn)練時間要長約30%。
圖4 訓(xùn)練過程中的目標(biāo)域分類精度
表2 不同方法準(zhǔn)確率對比
從AID[12]、NWPU-RESISC45[13]、UCMerced_LandUse[14]和WHU-RS19[15]數(shù)據(jù)集分別取出相應(yīng)類別的數(shù)據(jù)來構(gòu)建源域數(shù)據(jù)和目標(biāo)域數(shù)據(jù)。AID共分為30個類別,每個類別有220~420張圖像;NWPU-RESISC45數(shù)據(jù)集共分為45個類別,每個類別有700張圖像;UCMerced_LandUse共分為21個類別,每個類別有100張圖像;WHU-RS19共分為19個類別,每個類別有50張圖像。源域數(shù)據(jù)來源為:從AID數(shù)據(jù)集中選取機(jī)場、橋梁、商業(yè)區(qū)、沙漠、工業(yè)區(qū)、湖泊、草地、公園、海港和地鐵站共10個類別;從UCMerced_LandUse數(shù)據(jù)集中選取沙灘、林業(yè)區(qū)、河流和停車場共4個類別。目標(biāo)域數(shù)據(jù)來源為:從NWPU-RESISC45數(shù)據(jù)集中選取機(jī)場、橋梁、商業(yè)區(qū)、沙漠、工業(yè)區(qū)、草地、停車場和地鐵站共8個類別,從WHU-RS19數(shù)據(jù)集中選取沙灘、海港、湖泊、公園、林業(yè)區(qū)和河流共6個類別。
源域和目標(biāo)域數(shù)據(jù)集數(shù)據(jù)的空間分辨率為0.2~30 m,從圖5、圖6可以看出,兩者之間存在明顯差異。由于不同數(shù)據(jù)集中的圖片尺寸不一,需要對圖片進(jìn)行歸一化處理,先把不同數(shù)據(jù)集的圖片大小統(tǒng)一以最短邊縮放成224,再把圖片中心剪裁成224*224,對應(yīng)VGG16網(wǎng)絡(luò)的輸入。訓(xùn)練過程中,分別從源域和目標(biāo)域的各類別中取出10%的比例作為驗證集。
圖5 源域數(shù)據(jù)
圖6 目標(biāo)域數(shù)據(jù)
各部分采用的網(wǎng)絡(luò)結(jié)構(gòu)如表3所示。生成器(特征提取器)采用VGG16網(wǎng)絡(luò)[2],類間分類器和領(lǐng)域判別器均采用三層全連接層(fully connected layer),其中前兩層全連接均使用激活函數(shù)ReLU,類間分類器在第1層引入了Droupout、第3層引入了平均池化。
表3 用于遙感網(wǎng)絡(luò)場景分類的網(wǎng)絡(luò)結(jié)構(gòu)
由于網(wǎng)絡(luò)初始化訓(xùn)練速度很慢,特別是生成器的訓(xùn)練,所以本文選取預(yù)訓(xùn)練的VGG16網(wǎng)絡(luò)來初始化生成器的參數(shù),加快初始訓(xùn)練速度。batch設(shè)置為64,epoch設(shè)置為30,使用Adam優(yōu)化器,其學(xué)習(xí)率為0.002,衰減率為(0.9,0.99)。
一個epoch里,領(lǐng)域判別器和生成器的訓(xùn)練次數(shù)為1∶k,原因是域分類器訓(xùn)練效果明顯,收斂速度快,而生成器以欺騙域分類器訓(xùn)練以求得到域不變特征訓(xùn)練時間長。本文在訓(xùn)練過程中,k的值設(shè)置為10。
本文的方法與DDC(Deep Domain Confusion)遷移學(xué)習(xí)方法[6]進(jìn)行對比,其最終在目標(biāo)域上的精度見表4,訓(xùn)練過程中的精度和loss變化分別見圖7、圖8。
圖7 訓(xùn)練過程中目標(biāo)域的分類準(zhǔn)確率變化曲線
圖8 訓(xùn)練過程中目標(biāo)域的loss變化曲線
表4 精度評價
可以看出,僅利用訓(xùn)練好的源域網(wǎng)絡(luò)對目標(biāo)域進(jìn)行分類,其精度達(dá)到47%,說明源域和目標(biāo)域有著一定的相似特征。與DDC遷移學(xué)習(xí)方法相比,本文的方法分類精度略高。從loss變化趨勢來看,DDC遷移學(xué)習(xí)方法波動明顯,而本文方法的loss下降比較平穩(wěn)。從準(zhǔn)確率來看,兩者的變化曲線相似,但是訓(xùn)練時間明顯比DDC遷移學(xué)習(xí)方法要長。
本文針對目標(biāo)域帶標(biāo)簽樣本數(shù)據(jù)量少的問題,通過改進(jìn)生成對抗網(wǎng)絡(luò)模型,更好地利用標(biāo)簽信息增強(qiáng)目標(biāo)域類間的區(qū)分度。在常用的遙感圖像場景分類數(shù)據(jù)集上進(jìn)行了實驗,結(jié)果表明本文方法對目標(biāo)域有較好的分類效果。但本文方法還存在一些問題,如在實際應(yīng)用中往往不知道目標(biāo)域的類別數(shù)量,無法明確地將目標(biāo)域和源域類別一一對應(yīng),同時本論文方法也不適用于多領(lǐng)域遷移分類。