陳杰虎,汪西莉
陜西師范大學(xué)計(jì)算機(jī)科學(xué)學(xué)院,西安 710119
隨著遙感技術(shù)的快速發(fā)展,人們獲得的遙感圖像數(shù)據(jù)量顯著增加,大量遙感圖像中所蘊(yùn)含的信息亟待充分挖掘和利用,遙感圖像的復(fù)雜場景分類(Cheng等,2020;余東行等,2020;鄧培芳等,2021)是提取信息的重要手段之一,被廣泛應(yīng)用于污染檢測、城市規(guī)劃、土地利用等領(lǐng)域(劉康等,2020;楊思齊等,2019;歐陽淑冰等,2022)。遙感場景中常常會有新的類別出現(xiàn),如果使用傳統(tǒng)的深度學(xué)習(xí)網(wǎng)絡(luò)對這些新的場景進(jìn)行識別,需要大量帶標(biāo)簽的訓(xùn)練數(shù)據(jù),這在很多情況下是不現(xiàn)實(shí)的。相比于計(jì)算機(jī),人類往往在給定幾個甚至一個樣本的情況下,就能夠利用先驗(yàn)知識,快速識別新的事物(Sung等,2018)。利用原有數(shù)據(jù)集,在給定極少的新類別標(biāo)記數(shù)據(jù)的情況下,快速遷移到新任務(wù)中,實(shí)現(xiàn)對新類別圖像的分類,成為小樣本學(xué)習(xí)FSL(Few Shot Learning)的目標(biāo),亦是近年深度學(xué)習(xí)領(lǐng)域研究的熱點(diǎn)之一(Lu等,2020;Snell等,2017)。
Lu等(2020)針對小樣本學(xué)習(xí)給出如下定義:給定一個有特定于任務(wù)T的包含少量監(jiān)督信息的任務(wù)數(shù)據(jù)集DT和一個與任務(wù)T不相關(guān)的輔助數(shù)據(jù)集DA,小樣本學(xué)習(xí)就是利用DT中很少的監(jiān)督信息和DA中的知識,構(gòu)建一個函數(shù),完成輸入到目標(biāo)的映射。其中“與任務(wù)T不相關(guān)”表示DT中的類別集合YT和DA中的類別集合YA交集為空,即YT∩YA=φ。任務(wù)數(shù)據(jù)集DT指需要分類的數(shù)據(jù)集,通常由于標(biāo)注困難等原因,DT中只含有很少的標(biāo)記樣本。輔助數(shù)據(jù)集DA指已有的帶標(biāo)簽的數(shù)據(jù)集,這些數(shù)據(jù)可以看作已有的知識,能夠幫助解決DT中的任務(wù)。通常,學(xué)者們將小樣本學(xué)習(xí)設(shè)定為一個N-wayK-shot問題,即DT中的類別數(shù)為N,每個類中有K個標(biāo)記樣本,小樣本學(xué)習(xí)的目的是利用DA和DT中的標(biāo)記樣本將DT中未標(biāo)記樣本的標(biāo)簽預(yù)測出來。
度量學(xué)習(xí)是解決上述小樣本分類任務(wù)的主流方法。其主要思想是通過輔助數(shù)據(jù)集DA學(xué)習(xí)一個通用的度量網(wǎng)絡(luò),對于該度量網(wǎng)絡(luò),同類別的樣本對獲得較高的相似度,不同類別的樣本對獲得較低的相似度,然后在只有少量標(biāo)記樣本的情況下,就可以根據(jù)未標(biāo)記樣本和標(biāo)記樣本的相似度將DT中未標(biāo)記樣本的類別預(yù)測出來(Snell等,2017)。在度量學(xué)習(xí)方面學(xué)者們已經(jīng)做了大量的工作,Koch等(2015)率先將深度學(xué)習(xí)融入到小樣本學(xué)習(xí)的解決方案中,使用一個孿生CNN(Convolutional Neural Network)在樣本對上學(xué)習(xí)樣本之間的相似度度量,開啟了用深度學(xué)習(xí)解決小樣本學(xué)習(xí)的先河;Vinyals等(2016)提出了一種基于匹配網(wǎng)絡(luò)的模型,該模型引入了注意力機(jī)制,通過基于余弦距離的K近鄰法來預(yù)測未標(biāo)記的點(diǎn);Snell等(2017)提出了一種可以用于小樣本學(xué)習(xí)的原型網(wǎng)絡(luò)ProtoNet(Prototypical Networks),ProtoNet將每個類別中的樣例數(shù)據(jù)映射到一個特征空間中,提取樣例的“均值”來表示為該類的原型,通過訓(xùn)練使得本類別數(shù)據(jù)的特征表示到本類原型的距離最近,到其他類原型的距離較遠(yuǎn),然后根據(jù)未標(biāo)記樣本與各原型在特征空間的距離來判斷測試數(shù)據(jù)的類別;Sung等(2018)通過學(xué)習(xí)深度非線性度量來訓(xùn)練一個關(guān)系網(wǎng)絡(luò)以比較圖像之間的關(guān)系,對圖像標(biāo)簽進(jìn)行預(yù)測;Li等(2019b)采用局部描述子來描述圖像的局部特征,通過比較圖像與類別之間的局部描述子來尋找與輸入圖像最接近的類別。小樣本分類實(shí)質(zhì)是一種半監(jiān)督分類問題,上述方法均沒有考慮標(biāo)記樣本之間或者未標(biāo)記樣本之間的關(guān)聯(lián)性,這樣會忽視有利于提高分類精度的信息。Mou等(2020)和Wan等(2021)指出利用圖網(wǎng)絡(luò)建模樣本之間的相關(guān)性有助于提升半監(jiān)督分類精度,所以將圖網(wǎng)絡(luò)引入到小樣本分類任務(wù)中是一件很自然的事情。
Garcia和Bruna(2018)首次將圖神經(jīng)網(wǎng)絡(luò)GNN(Graph Neural Network)用在了小樣本分類任務(wù)中,提出了一種基于GNN的小樣本分類方法GNN-FSL。GNN-FSL利用圖網(wǎng)絡(luò)建模圖像之間的相似性,通過圖節(jié)點(diǎn)特征的相互傳播更新節(jié)點(diǎn)的特征,然后根據(jù)更新后的特征得到節(jié)點(diǎn)標(biāo)簽的概率。在構(gòu)建圖網(wǎng)絡(luò)過程中,GNN-FSL將任意兩個節(jié)點(diǎn)的特征輸入到多層感知器求出對應(yīng)邊的權(quán)重,這種方法得到的圖是一個全連接網(wǎng)絡(luò),會讓節(jié)點(diǎn)過多聚合其他類別的特征,導(dǎo)致該方法并不能獲得很高的分類精度。
針對上述方法存在的不足,本文在ProtoNet的基礎(chǔ)上,將多圖神經(jīng)網(wǎng)絡(luò)引入到了小樣本學(xué)習(xí)中,提出了基于多圖卷積網(wǎng)絡(luò)的小樣本分類方法Multi-GCN(Multi-Graph Convolutional Network)。所提Multi-GCN由CNN、多圖卷積網(wǎng)絡(luò)和度量預(yù)測三部分組成:首先利用經(jīng)過預(yù)訓(xùn)練的CNN提取圖像的特征;然后使用圖建模圖像當(dāng)前特征的相似度關(guān)系,利用“K近鄰+徑向基函數(shù)”的方法計(jì)算鄰接矩陣,用得到的鄰接矩陣進(jìn)行圖卷積運(yùn)算更新節(jié)點(diǎn)特征,獲得更有效的特征表示;最后用特征之間的歐氏距離對未標(biāo)記節(jié)點(diǎn)進(jìn)行預(yù)測。
相比于現(xiàn)有未使用圖網(wǎng)絡(luò)的小樣本分類方法,所提方法通過建模圖像之間的相似關(guān)系,利用圖上的卷積運(yùn)算可以獲得更利于分類的特征表示,而相比于GNN-FSL,所提方法使用“K近鄰+徑向基函數(shù)”的方法獲得鄰接矩陣,能夠避免節(jié)點(diǎn)過多的聚合他類節(jié)點(diǎn)的信息,提升分類精度;另外,在圖卷積過程中,相對于使用單一鄰接矩陣的GCN(Kipf和Welling,2017)、SGC(Li等,2019a)以及IGCN(Wu等,2019)等方法,所提方法采用多個不同階次鄰接矩陣的線性組合進(jìn)行卷積運(yùn)算,通過圖譜分析以及相關(guān)實(shí)驗(yàn)證明這種多階鄰接矩陣組合的方法能夠更快地縮小同類別節(jié)點(diǎn)特征之間的差別,增強(qiáng)不同類別特征之間的區(qū)分度,進(jìn)一步提高遙感圖像的分類精度。
ProtoNet是一種基于度量學(xué)習(xí)的小樣本分類方法,該方法主要由特征提取CNN和度量預(yù)測兩部分組成。其主要思想是利用CNN將圖像投射到特征空間,求出每一類標(biāo)記樣本的均值作為該類的原型中心,通過訓(xùn)練使同類圖像的特征距本類別原型中心最近,距其他類的原型中心較遠(yuǎn),然后利用未標(biāo)記樣本和原型中心在特征空間的距離將未標(biāo)記樣本預(yù)測出來(Snell等,2017)。本文提出的Multi-GCN是在ProtoNet的基礎(chǔ)上,在特征提取網(wǎng)絡(luò)的輸出端增加了一個圖卷積網(wǎng)絡(luò)來建模圖像在特征空間的相似關(guān)系,利用圖卷積平滑同類別圖像的特征,提高不同類別特征的區(qū)分度。本節(jié)首先簡述小樣本分類和圖神經(jīng)網(wǎng)絡(luò)的基本原理,然后詳細(xì)介紹Multi-GCN的原理,最后介紹所提模型的訓(xùn)練方法。
2.1.1 小樣本分類
如前所述,小樣本學(xué)習(xí)一般包含兩個數(shù)據(jù)集,任務(wù)數(shù)據(jù)集DT和輔助數(shù)據(jù)集DA,DA含有足夠多可供訓(xùn)練的標(biāo)記樣本,DT中只有很少的標(biāo)記樣本,且DT中的類別集合YT和DA中的類別集合YA交集為空。通常,學(xué)者們將小樣本學(xué)習(xí)設(shè)定為一個NwayK-shot問題,這里的N指的是DT中的類別個數(shù),K指的是DT中每一類樣本標(biāo)記數(shù)據(jù)的個數(shù),如圖1所示,在任務(wù)數(shù)據(jù)中,數(shù)據(jù)的標(biāo)簽有“湖泊”、“沙灘”和“島嶼”這3種,所以N=3,每一類中只有1個帶標(biāo)簽的數(shù)據(jù),所以K=1。DT中帶標(biāo)簽的數(shù)據(jù)稱為支撐集,待預(yù)測的數(shù)據(jù)稱為查詢集。模型在訓(xùn)練時,從DA中采樣多個任務(wù),每個任務(wù)中的數(shù)據(jù)也分為支撐集和查詢集,這里的數(shù)據(jù)均帶有標(biāo)簽,模型利用采樣的支撐集對查詢集的數(shù)據(jù)進(jìn)行預(yù)測,求出相應(yīng)的損失函數(shù),對模型進(jìn)行訓(xùn)練,得到解決該領(lǐng)域分類問題的一個通用模型。在測試階段,使用訓(xùn)練好的模型對DT中的未標(biāo)記數(shù)據(jù)進(jìn)行預(yù)測。
圖1 遙感圖像小樣本分類示意圖Fig.1 Few shot classification of remote sensing images
2.1.2 圖卷積神經(jīng)網(wǎng)絡(luò)
圖卷積神經(jīng)網(wǎng)絡(luò)是一種定義在圖上的深度學(xué)習(xí)網(wǎng)絡(luò)。首先給出圖的定義:圖是一種由節(jié)點(diǎn)和邊構(gòu)成的非線性數(shù)據(jù)結(jié)構(gòu),通常用來描述非歐式空間中一對多的數(shù)據(jù)關(guān)系。圖可以表示為G=(V,E,A),其中,V是節(jié)點(diǎn)的集合,E是邊的集合,A∈RM×M是鄰接矩陣,在圖中vi∈V表示圖中的一個節(jié)點(diǎn),i∈{1,…,M},M表示節(jié)點(diǎn)的個數(shù)。eij=(vi,vj)∈E表示圖上的一條邊,如果eij∈E,Aij>0,否則Aij=0。
Kipf和Welling(2017)在前人工作的基礎(chǔ)上提出的一種簡潔而高效的圖卷積運(yùn)算GCN,并將方法用在圖節(jié)點(diǎn)的半監(jiān)督分類任務(wù)中,公式如下:
如圖2所示,提出的Multi-GCN模型主要由3個部分構(gòu)成:(1)特征提取網(wǎng)絡(luò),該部分主要由一個CNN構(gòu)成,輸入的圖像經(jīng)過CNN得到每幅圖像的特征圖,特征圖經(jīng)過拼接后得到對應(yīng)的特征向量;(2)多圖卷積網(wǎng)絡(luò),該部分使用(1)輸出的特征向量建模圖像在特征空間的相似關(guān)系,得到相應(yīng)的鄰接矩陣,并求出鄰接矩陣的P次方(P為大于1的整數(shù)),利用學(xué)習(xí)到的參數(shù)將不同次方的鄰接矩陣進(jìn)行融合,然后利用融合后的矩陣進(jìn)行節(jié)點(diǎn)特征的學(xué)習(xí)與更新;(3)度量預(yù)測部分,該部分首先利用(2)輸出的帶標(biāo)簽節(jié)點(diǎn)的特征向量計(jì)算出每一類的原型,然后使用L2范數(shù)計(jì)算每個未標(biāo)記節(jié)點(diǎn)與原型在特征空間的距離,根據(jù)距離的大小預(yù)測出未標(biāo)記節(jié)點(diǎn)的標(biāo)簽。第一部分采用和ProtoNet相同的特征提取網(wǎng)絡(luò)Conv4,Conv4由4層CNN構(gòu)成,每層的輸出都接有歸一化層、激活層以及最大池化層。下面重點(diǎn)介紹(2)多圖卷積和(3)度量預(yù)測。
圖2 基于Multi-GCN的小樣本分類模型Fig.2 Model of Multi-GCN for few shot classification
2.2.1 多圖卷積
該部分利用圖卷積網(wǎng)絡(luò)建模圖像在特征空間的相似關(guān)系,生成圖G=(V,E,A),并利用圖卷積運(yùn)算更新節(jié)點(diǎn)的特征。本文將每次從數(shù)據(jù)集讀取的一個batch的圖像構(gòu)建成一個圖卷積網(wǎng)絡(luò)。圖卷積網(wǎng)絡(luò)中每個節(jié)點(diǎn)vi,i∈{1,…,M}代表一幅圖像,其中帶標(biāo)簽的節(jié)點(diǎn)數(shù)有N×K個,M表示節(jié)點(diǎn)個數(shù),N表示任務(wù)數(shù)據(jù)中的類別數(shù)目,K表示每一類已標(biāo)記的節(jié)點(diǎn)個數(shù),節(jié)點(diǎn)的初始特征由經(jīng)過預(yù)訓(xùn)練的CNN提取。然后采用徑向基函數(shù)(Hong等,2021)計(jì)算鄰接矩陣:
式中,hi是節(jié)點(diǎn)i當(dāng)前的特征向量,N(i)指節(jié)點(diǎn)i的K近鄰,實(shí)驗(yàn)中,γ=0.2。通過上述方法,在大多數(shù)情況下,相同類別的節(jié)點(diǎn)之間會分配一個較大的權(quán)重,不同類別的節(jié)點(diǎn)之間權(quán)重很小或者為0,這樣在進(jìn)行圖卷積運(yùn)算的過程中,相同類別節(jié)點(diǎn)之間的特征會快速趨于相似,而不同類別節(jié)點(diǎn)之間的特征相互影響很小,增加了節(jié)點(diǎn)特征的區(qū)分度,進(jìn)而提高分類精度。
Wu等(2019)和Li等(2019a)在GCN的基礎(chǔ)上,使用歸一化增廣鄰接矩陣的P次方SP來代替式(1)中S,P=2,3,…,分別提出了兩種改進(jìn)的圖卷積運(yùn)算SGC和IGCN,并通過實(shí)驗(yàn)證明用SP來代替S在圖的半監(jiān)督分類任務(wù)上可以獲得更高的精度。本文通過圖譜分析進(jìn)一步發(fā)現(xiàn),如果采用矩陣S奇偶次方組合的方式進(jìn)行圖卷積運(yùn)算,可以進(jìn)一步增強(qiáng)圖卷積的平滑能力,提高節(jié)點(diǎn)分類精度(詳細(xì)的分析見2.2.2節(jié))?;诖耍疚氖褂脤W(xué)習(xí)到的參數(shù)將若干個不同次方的鄰接矩陣進(jìn)行線性組合來獲得最終圖卷積使用的鄰接矩陣:
式中,P表示鄰接矩陣的最高次方,αj是需要學(xué)習(xí)的加權(quán)系數(shù),Sj指S的j次方。
生成圖之后,在圖上進(jìn)行卷積運(yùn)算,用B代替式(1)中的S,最終的圖卷積數(shù)學(xué)表達(dá)式如下:
式中,l表示圖卷積網(wǎng)絡(luò)的層數(shù),本文的實(shí)驗(yàn)中使用了兩層圖卷積網(wǎng)絡(luò)。鄰接矩陣的維度等于batch size的大小,batch size設(shè)定為102至103數(shù)量級。在實(shí)驗(yàn)中,式(3)中的P取值為2,由2.2.2節(jié)的頻譜分析可知,當(dāng)P=2時,S的一階項(xiàng)和二階項(xiàng)對應(yīng)的頻譜在高頻部分正負(fù)相抵,可以增強(qiáng)圖濾波器對高頻分量的衰減作用;同時相比于原始的GCN,當(dāng)P=2所提方法復(fù)雜度增加很小,在一定程度上兼顧了算法的有效性和算法的復(fù)雜度。
2.2.2 圖的頻譜分析
圖的頻譜分析是基于圖譜理論在譜域?qū)D的性質(zhì)進(jìn)行分析的方法,通過分析圖的頻率特性曲線可以對圖的濾波能力進(jìn)行評估(Wu等,2019)。這里首先介紹圖頻譜分析的基礎(chǔ)知識,包括拉普拉斯矩陣、圖的總變差以及圖卷積的濾波特性。然后在頻域?qū)λ岬膱D卷積方法和GCN、SGC和IGCN進(jìn)行比較,說明所提算法的優(yōu)勢。
在圖頻譜分析中,圖拉普拉斯矩陣分別對應(yīng)于傳統(tǒng)信號處理中的頻率和傅里葉變換的基(Shuman等,2013)。拉普拉斯矩陣定義為L=DA,D是度矩陣,L是半正定對稱矩陣,可以進(jìn)行正交分解L=UΛU-1,這里Λ=diag(λ1,λ2,…,λM)是L從小到大排列的特征值,是對應(yīng)的正交向量,是對應(yīng)的圖傅里葉變換的基(Li等,2019a)。
圖信號是一個定義在圖節(jié)點(diǎn)集合V上的實(shí)值函數(shù)f:V→RD,其可以用矩陣表示為H=這里的D指的是信號的維度,M指圖節(jié)點(diǎn)的個數(shù)。假設(shè)x∈RM是圖上的一維信號,圖信號的平滑程度一般采用總變差來衡量(Liu等,2021):
由(5)式可以看出,圖上相鄰兩點(diǎn)vi、vj對應(yīng)的特征xi、xj差值越小,圖信號越平滑,Δ(x)也越小。將L=UΛU-1帶入Δ(x)有:
因?yàn)棣?≤λ2≤…≤λM,所以x在小特征值對應(yīng)的分量越多,Δ(x)越小,圖上節(jié)點(diǎn)的特征越平滑,在大特征值對應(yīng)的分量越多,Δ(x)越大,相鄰節(jié)點(diǎn)的特征差異也越大(Li等,2019a)。(λi)1≤i≤M相應(yīng)信號分量的大小能夠反映信號的平滑程度,被看作是圖信號的頻率,λ1對應(yīng)于圖信號的最低頻率,λM對應(yīng)最高頻率。
GCN(Kipf和Welling,2017)對鄰接矩陣進(jìn)行了增廣歸一化處理:相應(yīng)的歸一化拉普拉斯矩陣為:其特征值和傅里葉變換基分別記為式(1)中給特征矩陣H左乘以鄰接矩陣S可展開成:
圖3 不同階數(shù)下gP(?)函數(shù)曲線Fig.3 Function curves of gP(?)with different orders
2.2.3 度量預(yù)測
經(jīng)過圖濾波后,圖神經(jīng)網(wǎng)絡(luò)輸出的特征送給度量預(yù)測部分做預(yù)測,輸出預(yù)測節(jié)點(diǎn)的類別概率。首先使用每一類標(biāo)記節(jié)點(diǎn)的特征向量計(jì)算每個類的原型中心:
式中,hi和yi分別表示節(jié)點(diǎn)vi對應(yīng)的特征向量和標(biāo)簽,N是類別個數(shù),S(k)表示輸入的M幅圖像中,第k類帶標(biāo)簽的圖像組成的集合。計(jì)算出原型中心后,采用ProtoNet(Snell等,2017)中的預(yù)測方法,使用歐氏距離計(jì)算未標(biāo)記數(shù)據(jù)與各類的原型中心在特征空間距離,然后代入softmax計(jì)算出類別的概率如下:
綜上所述,提出的Multi-GCN進(jìn)行小樣本分類的流程為
輸入:模型參數(shù)
(1)每次從數(shù)據(jù)集讀取一個batch的遙感圖像
(2)xi,i=1,2,…M,用CNN提取圖像xi的初始
(3)forl=1,2:
(4)利用式(2)和式(3)計(jì)算矩陣A和B;
(6)end
(7)利用式(9)計(jì)算各類的原型中心ck;
(8)利用式(10)計(jì)算未標(biāo)記樣本的類別概率;
所提模型包括特征提取、多圖卷積和度量預(yù)測這3個部分(圖2),其中第一部分的CNN和第二部分多圖卷積網(wǎng)絡(luò)的參數(shù)需要通過訓(xùn)練得到,訓(xùn)練使用的損失函數(shù)均為交叉熵?fù)p失函數(shù)(Snell等,2017):
式中,yk表示節(jié)點(diǎn)真實(shí)值的標(biāo)簽,以獨(dú)熱碼的形式給出。?表示模型的預(yù)測值。
訓(xùn)練共分為3個階段:第一階段是CNN網(wǎng)絡(luò)的預(yù)訓(xùn)練,該階段直接將CNN與度量預(yù)測部分相連在DA上進(jìn)行訓(xùn)練,利用式(11)得到分類損失,反向傳播更新CNN的參數(shù);第二階段將圖2所示的整個模型在DA上進(jìn)行訓(xùn)練,更新CNN、多圖卷積網(wǎng)絡(luò)的參數(shù);第三階段是微調(diào)階段,在每一類標(biāo)記樣本個數(shù)K大于1的情況下,利用式(11)和DT中的標(biāo)記樣本對最后一層圖卷積網(wǎng)絡(luò)進(jìn)行微調(diào)訓(xùn)練,微調(diào)算法具體步驟為
輸入:在DA上訓(xùn)練得到的模型參數(shù)θ0,DT的支
(1)forj=1,…,Nfine-tune:
(3)DataS并得到;
(4)將DataS和DataQ拼接作為網(wǎng)絡(luò)的輸入,利
用表1中的前向算法預(yù)測出DataQ的類別;
(5)根據(jù)式(11)計(jì)算損失函數(shù)Lθj-1;
(6)更新網(wǎng)絡(luò)參數(shù):θ j=θ j-1-α?Lθj-1;
(7)end輸出:訓(xùn)練后的模型。
其中的Nfine-tune是微調(diào)階段的循環(huán)次數(shù),微調(diào)時訓(xùn)練次數(shù)不宜過大,在實(shí)驗(yàn)中Nfine-tune=2K2。
實(shí)驗(yàn)部分用所提Multi-GCN與具有相同主干網(wǎng)絡(luò)的ProtoNet和GNN-FSL在3個常用的遙感數(shù)據(jù)集AID(Zhou等,2018)、OPTIMAL31(Wang等,2019)以及RSI-CB256(Scott等,2018)上進(jìn)行了比較,驗(yàn)證Multi-GCN(實(shí)驗(yàn)結(jié)果中用Ours指代)在遙感圖像小樣本分類任務(wù)中的有效性;同時進(jìn)行了消融實(shí)驗(yàn),分別用一階和二階單圖網(wǎng)絡(luò)在相同條件下進(jìn)行了測試,一階單圖網(wǎng)絡(luò)相當(dāng)于ProtoNet與GCN的結(jié)合,二階單圖網(wǎng)絡(luò)相當(dāng)于ProtoNet與IGCN的結(jié)合,這兩種方法分別記為ProtoGCN和ProtoIGCN。表1給出了不同模型的異同點(diǎn)對比。
表1 各方法異同點(diǎn)對比Table 1 Comparison of similarities and differences of each method
實(shí)驗(yàn)部分使用的數(shù)據(jù)集是遙感圖像場景分類3個常用數(shù)據(jù)集AID、OPTIMAL31以及RSICB256。實(shí)驗(yàn)共分為兩部分,相同數(shù)據(jù)集小樣本分類和跨數(shù)據(jù)集小樣本分類。在相同數(shù)據(jù)集小樣本分類任務(wù)中,每次從一個數(shù)據(jù)集中隨機(jī)抽取N-way類作為任務(wù)數(shù)據(jù)DT,其余類別對應(yīng)的數(shù)據(jù)作為輔助數(shù)據(jù)DA用于訓(xùn)練和驗(yàn)證。在跨數(shù)據(jù)集小樣本分類中,輔助DA和測試DT來自不同數(shù)據(jù)集,且類別不同。
AID數(shù)據(jù)集是一個大型航空圖像數(shù)據(jù)集。該數(shù)據(jù)集共有30個場景類別,總共約10000幅圖像,每幅圖像大小為600像素×600像素;OPTIMAL-31(OPT)數(shù)據(jù)集包含了從谷歌地圖中收集的31類影像,每個類由60幅圖像組成,大小為256像素×256像素,總共有1860幅圖像;RSI-CB256(RSI)是一個大型遙感圖像數(shù)據(jù)集。該數(shù)據(jù)集包含農(nóng)業(yè)用地、建設(shè)用地、交通運(yùn)輸和設(shè)施、水利設(shè)施、林地和其他用地6個大類,35個小類,共24000幅圖片,每幅圖片的大小為256像素×256像素,實(shí)驗(yàn)中,將35個小類的類別作為圖像的標(biāo)簽。
實(shí)驗(yàn)中batch size的大小為N(K+Q),N指類別個數(shù),K指每一類標(biāo)記樣本數(shù),Q指每一類需要預(yù)測的樣本數(shù),實(shí)驗(yàn)中Q=15,每個epoch采樣100個batch。遵循現(xiàn)有文獻(xiàn)(Snell等,2017)的表示方法,實(shí)驗(yàn)中將任務(wù)數(shù)據(jù)集類別數(shù)為N,每一類標(biāo)記樣本數(shù)為K的實(shí)驗(yàn)設(shè)置簡寫為“N-wayKshot”(比如圖4—圖7以及表4中的5-way 5-shot表示任務(wù)數(shù)據(jù)集類別數(shù)為5,每類標(biāo)記樣本數(shù)為5)。Multi-GCN共有兩層,第一層圖卷積網(wǎng)絡(luò)各節(jié)點(diǎn)的權(quán)值矩陣W(1)為1600維的單位矩陣,第二層的權(quán)值矩陣W(2)∈R1600×1000通過訓(xùn)練得到。每層圖神經(jīng)網(wǎng)絡(luò)的輸出都接著批量歸一化層和ReLU激活層。Multi-GCN的輸出送入度量網(wǎng)絡(luò)得到最終的預(yù)測結(jié)果。模型的訓(xùn)練使用Adam優(yōu)化器,初始學(xué)習(xí)步長為10-3,每循環(huán)1000次步長減小一半。實(shí)驗(yàn)平臺為Intel Xeon E5-2623 v4處理器、128 G內(nèi)存,并使用NVIDIA TITANX pascal顯存運(yùn)算進(jìn)行加速。軟件使用PyTorch搭建神經(jīng)網(wǎng)絡(luò)。
本實(shí)驗(yàn)中,每個小樣本分類任務(wù)的輔助數(shù)據(jù)集DA和任務(wù)數(shù)據(jù)集DT來自于同一數(shù)據(jù)集的不同類別,數(shù)據(jù)集的劃分如3.1節(jié)所述。模型首先在DA上進(jìn)行訓(xùn)練和驗(yàn)證,然后在DT上進(jìn)行測試。得到在測試類別數(shù)分別為5、10,每一類圖像的標(biāo)記樣本數(shù)分別為1、3、5、10的情況下,各方法在3種數(shù)據(jù)集上的分類精度如圖4—圖6所示,圖中finetune表示模型使用了微調(diào)算法,橫坐標(biāo)K表示每一類的標(biāo)記樣本數(shù),縱坐標(biāo)表示分類精度(Snell等,2017)。
圖4 每一類圖像的標(biāo)記樣本數(shù)分別為1、3、5、10的情況下,數(shù)據(jù)集AID的小樣本分類精度Fig.4 Few shot classification accuracy of AID dataset when the number of labeled samples of each class is 1,3,5,and 10 respectively
圖5 每一類圖像的標(biāo)記樣本數(shù)分別為1、3、5、10的情況下,數(shù)據(jù)集OPTIMAL-31的小樣本分類精度Fig.5 Few shot classification accuracy of OPTIMAL-31 dataset when the number of labeled samples of each class is 1,3,5,and 10 respectively
圖6 每一類圖像的標(biāo)記樣本數(shù)分別為1、3、5、10的情況下,數(shù)據(jù)集RSI-CB256的小樣本分類精度Fig.6 Few shot classification accuracy of RSI-CB256 Dataset when the number of labeled samples of each class is 1,3,5,and 10 respectively
從上面的結(jié)果可以看出:(1)所提方法在精度方面高于ProtoNet,尤其在每一類數(shù)據(jù)標(biāo)記樣本只有1的情況下在3個數(shù)據(jù)集均高出5%以上,從模型結(jié)構(gòu)上看,所提方法只比ProtoNet增加了一個多圖卷積網(wǎng)絡(luò),說明通過圖卷積網(wǎng)絡(luò)對圖像特征的濾波作用,能夠顯著提高預(yù)測精度;(2)與GNN-FSL相比,所提方法在精度方面平均高出約10%。GNN-FSL將任意兩個節(jié)點(diǎn)的特征輸入到多層感知器求得對應(yīng)邊的權(quán)重,得到一個稠密的圖網(wǎng)絡(luò),然后使用圖卷積進(jìn)行節(jié)點(diǎn)特征的更新,利用更新后的特征計(jì)算節(jié)點(diǎn)標(biāo)簽概率。這種方法的缺點(diǎn)是在DA上訓(xùn)練出的多層感知器不一定能夠很好的遷移到DT中,同時,這種方法得到的是一個全連接網(wǎng)絡(luò),由于遙感圖像特征相似度較高,可能會給不同類別的節(jié)點(diǎn)之間分配一種較大的權(quán)重,讓節(jié)點(diǎn)過多聚合其他類別的特征,降低分類精度。所提方法使用“KNN+徑向基函數(shù)”計(jì)算鄰接矩陣,不需要使用多層感知器,同時每個節(jié)點(diǎn)只和特征最相近的K個鄰居相連,在一定程度上避免了不同類別節(jié)點(diǎn)之間的干擾,因此所提方法在精度方面明顯好于GNN-FSL;(3)所提方法在大多數(shù)情況下預(yù)測精度高于ProtoGCN和ProtoIGCN,這與本文2.2.2節(jié)中的分析相一致,證明了不同階次的鄰接矩陣線性組合能夠提高節(jié)點(diǎn)標(biāo)簽的預(yù)測精度;(4)在標(biāo)記樣本個數(shù)大于1的情況下,使用finetune的訓(xùn)練方法又可以將分類精度提高0.5%—2.0%,這就證明了,使用少量樣本對最后一層圖卷積網(wǎng)絡(luò)進(jìn)行微調(diào),能夠提升模型的遷移能力,提高模型在新任務(wù)上的分類精度。
圖7給出了10-way 5-shot情況下,所提方法和ProtoNet在AID和RSI-CB256這兩個數(shù)據(jù)集上的損失(val_loss)和精度(val_accuracy)曲線,其中所提方法的曲線是CNN經(jīng)過20個epoch預(yù)訓(xùn)練后的結(jié)果。從圖7可以看出,在50個epoch內(nèi)模型基本已經(jīng)達(dá)到最優(yōu),實(shí)驗(yàn)中設(shè)置的epoch的值為50。
圖7 訓(xùn)練過程驗(yàn)證集損失曲線和精度曲線Fig.7 Val_loss curve and val_accuracy during training
表2和表3給出了在圖像大小不同的兩個數(shù)據(jù)集上,不同方法訓(xùn)練和測試的時間。引入圖卷積網(wǎng)絡(luò)的方法在訓(xùn)練和測試階段所需時間均高于ProtoNet,但是所提方法訓(xùn)練時間小于1 h,分類一幅圖像的時間依然是毫秒級別,滿足現(xiàn)實(shí)中大部分應(yīng)用的需求,并且在分類精度方面顯著高于ProtoNet。
表2 模型在AID和RSI兩個數(shù)據(jù)集上的訓(xùn)練時間Table 2 Training time of models on AID and RSI datasets
表3 測試過程中,在兩種圖像大小不同的數(shù)據(jù)集上分類一幅圖片平均所需時間Table 3 Average time required to classify an image on two datasets with different sizes during the testing
為了定量衡量節(jié)點(diǎn)特征的聚集程度,測試不同方法對特征的平滑能力,本文提出了一種新的量化指標(biāo)——特征聚集系數(shù),特征聚集系數(shù)定義為:在特征空間中,本類樣本距其他類原型中心平均距離與本類樣本距本類別原型中心平均距離的比值,其表達(dá)式為
式中,N指DT中的類別數(shù),Q(k)表示第k類未標(biāo)記樣本組成的集合,|Q(k)|表示樣本的個數(shù),hi表示樣本i最終用于預(yù)測的特征,ck表示第k類的原型中心。根據(jù)式(12)中η越大,說明在特征空間,未標(biāo)記樣本距離其他類原型中心的距離相對越遠(yuǎn),我們的結(jié)果表明,距離本類別原型中心的距離相對越近,數(shù)據(jù)的聚集性越好。表4和表5分別給出了使用本文3.2節(jié)訓(xùn)練好的4種模型在不同條件下獲得的的特征聚集系數(shù)。
表4 N=5的情況下各方法特征聚集系數(shù)Table 4 Feature clustering coefficients of different methods when N=5
表5 N=10的情況下各方法聚集系數(shù)Table 5 Feature clustering coefficients of different methods when N=10
由表4和表5可以看出,與ProtoNet相比,引入圖卷積網(wǎng)絡(luò)的方法能夠顯著增強(qiáng)圖像在特征空間的聚集性,而在3種引入了圖卷積網(wǎng)絡(luò)的方法中,所提方法的特征聚集系數(shù)最高。對比圖2—圖4和表4、表5可以看出,特征聚集系數(shù)和分類精度成正相關(guān)關(guān)系,即在相同條件下,某種方法的特征聚集系數(shù)越高,其對應(yīng)的精度就越高;同時,從表4和表5可以看出,與ProtoGCN和ProtoIGCN相比,所提方法在相同條件下能夠獲得最高的特征聚集系數(shù),這說明提出的圖卷積運(yùn)算能夠讓同類節(jié)點(diǎn)的特征更顯著的趨于一致,提高算法的精度,這與本文2.2.2節(jié)從頻譜分析得到的結(jié)果相一致,從另一方面證明了所提方法的有效性。
圖8給出了當(dāng)數(shù)據(jù)集為RSI的情況下,某個batch中的支撐集數(shù)據(jù)與部分查詢集數(shù)據(jù)示意圖,而表6給出了各方法的預(yù)測結(jié)果;表7和圖9分別給出了4種方法對應(yīng)的特征聚集系數(shù)和經(jīng)過降維處理后的特征可視化分布圖,其中,圖9中點(diǎn)的顏色表示對應(yīng)數(shù)據(jù)的真實(shí)標(biāo)簽。
表6 各方法對圖8中所給查詢集的預(yù)測結(jié)果Table 6 Prediction results of each method for the query set given in Fig.8
圖8 實(shí)驗(yàn)中某個batch中的支撐集與查詢集示意圖Fig.8 Support set and query set in a sampling batch in the experiment
表7 各方法的聚集系數(shù)Table 7 Feature clustering coefficients of different methods
圖9 4種方法得到的特征向量經(jīng)過t-SNE可視化后的分布Fig.9 The distribution of the feature vectors obtained by the four methods visualized by t-SNE
通過表7和圖9可以看出,對于同一組數(shù)據(jù),經(jīng)過圖卷積運(yùn)算后,同類圖像的特征聚集程度更高,特征區(qū)分度增強(qiáng)。與沒有使用圖網(wǎng)絡(luò)的方法ProtoNet相比,原來容易被錯分的一些特征區(qū)分度不高的圖像(比如bridge和sea)經(jīng)過圖卷積運(yùn)算之后,會被正確的分出來;同時從表9可以看出,所提方法能夠獲得最高的特征聚集系數(shù),這反映了所提方法的優(yōu)勢。
為了測試輔助數(shù)據(jù)集DA和任務(wù)數(shù)據(jù)集DT來自不同遙感數(shù)據(jù)集時所提方法的有效性,本實(shí)驗(yàn)中每次從AID、OPTIMAL31和RSI-CB256這3個數(shù)據(jù)集隨機(jī)抽取兩個作為DA和DT,將DA和DT中標(biāo)簽相同的數(shù)據(jù)全部剔除,確保DA和DT中標(biāo)簽互不相交。圖10—圖13分別給出了當(dāng)DT中類別數(shù)N-way分別為5和10,每一類中標(biāo)記樣本的個數(shù)K-shot分別為1和5的情況下,各方法在跨數(shù)據(jù)集小樣本分類任務(wù)中的分類精度。
圖10 5-way 1-shot條件下,跨數(shù)據(jù)集小樣本分類精度Fig.10 Under the condition of 5-way 1-shot,the accuracy of few shot classification in cross domain
圖13 10-way 5-shot條件下,跨數(shù)據(jù)集小樣本分類精度Fig.13 Under the condition of 10-way 5-shot,the accuracy of few shot classification in cross domain
圖11 5-way 5-shot條件下,跨數(shù)據(jù)集小樣本分類精度Fig.11 Under the condition of 5-way 5-shot,the accuracy of few shot classification in cross domain
圖12 10-way 1-shot條件下,跨數(shù)據(jù)集小樣本分類精度Fig.12 Under the condition of 10-way 1-shot,the accuracy of few shot classification in cross domain
從實(shí)驗(yàn)結(jié)果可以看出,在跨數(shù)據(jù)集的情況下,提出的Multi-GCN方法在分類精度方面比GNNFSL高出10%—15%。與ProtoNet相比,在1-shot的情況下高出約10%,在5-shot的情況下高出約2%—5%。在絕大多數(shù)情況下也好于基于單圖的方法。在引入微調(diào)訓(xùn)練方法后,跨數(shù)據(jù)集小樣本分類的精度大約提升1%。通過實(shí)驗(yàn)結(jié)果可以得出與本文3.2節(jié)相一致的結(jié)論,證明了所提方法在跨數(shù)據(jù)集情況下的有效性。
針對現(xiàn)有小樣本分類方法在遙感圖像小樣本分類任務(wù)中精度不高的問題,本文提出了一種基于多圖卷積的分類方法Multi-GCN。所提方法在ProtoNet的基礎(chǔ)上,引入圖卷積網(wǎng)絡(luò)來建模圖像在特征空間的相似關(guān)系,利用圖卷積運(yùn)算對同類別的圖像特征進(jìn)行平滑,更好的為度量預(yù)測提供有效的圖像特征,提高分類精度。在圖卷積運(yùn)算中改進(jìn)了現(xiàn)有卷積方法,使用多階次矩陣的線性加權(quán)和代替GCN中的一階矩陣,通過圖譜分析得出,這種改進(jìn)方法能夠有效抑制圖信號的高頻分量,增強(qiáng)對圖節(jié)點(diǎn)特征的平滑能力,提升方法的有效性。同時,提出了衡量特征聚集程度的指標(biāo)——特征聚集系數(shù),通過測試得出與現(xiàn)有方法相比,所提方法能夠獲得最高的特征聚集系數(shù),進(jìn)一步證明了方法的有效性。另外在訓(xùn)練中引入了微調(diào)的方法,增強(qiáng)了模型的遷移能力。實(shí)驗(yàn)從相同數(shù)據(jù)集小樣本分類和跨數(shù)據(jù)集小樣本分類兩個方面對方法的精度進(jìn)行了測試。實(shí)驗(yàn)結(jié)果表明,在相同數(shù)據(jù)集小樣本分類任務(wù)中,所提方法在分類精度方面顯著優(yōu)于ProtoNet,在每一類標(biāo)記樣本數(shù)等于1的情況下,所提方法的精度比ProtoNet高出5%以上;與GNN-FSL相比,所提方法在精度方面平均高出約10%。在跨數(shù)據(jù)集小樣本分類任務(wù)中,提出的Multi-GCN方法在分類精度方面比GNN-FSL高出10%—15%。與ProtoNet相比,在1-shot的情況下高出約10%,在5-shot的情況下高出約2%—5%。在絕大多數(shù)情況下也要好于GCN、IGCN等單圖的方法。提出的多圖卷積運(yùn)算及其譜分析結(jié)論在其他的圖節(jié)點(diǎn)分類任務(wù)中具有參考意義,在除ProtoNet之外的度量學(xué)習(xí)小樣本分類方法中也具有推廣價值。