周志宇,王天一,左治江,冀 虹,楊 剛,任明龍,高 智*
(1.武漢大學 遙感信息工程學院,湖北 武漢 430079;2.江漢大學 智能制造學院,湖北 武漢 430056;3.中交路橋建設有限公司,北京 101107;4.廣州市高速公路有限公司,廣東 廣州 510030)
當前人工智能快速發(fā)展,基于深度學習的遙感影像場景分類在諸多領域取得了豐富成果。此類工作主要依靠高質(zhì)量且數(shù)量充足的已標注數(shù)據(jù)來訓練強大的深度網(wǎng)絡模型[1-3]。然而現(xiàn)階段由于場景的特殊性與數(shù)據(jù)的稀缺性,滿足訓練條件的優(yōu)質(zhì)數(shù)據(jù)集在實際場景中難以獲取,或者構建該類數(shù)據(jù)集需要投入大量的人力物力,代價高昂且周期很長。因此,關于小樣本學習的研究越來越多,其核心任務在于通過有限的訓練樣本快速掌握對全新數(shù)據(jù)的理解[4-11]。
當前的小樣本學習方法大致遵循將知識從基礎類別遷移到全新類別的技術路線,可以分為基于遷移 學習 的方法[4]、基于 元學 習的方法[5,7,11]和基于轉導學習的方 法[6,9-10]。經(jīng)典的遷移 學習[4](又稱為基線模型)的核心思想是先在擁有足量訓練樣本的基礎類別上進行學習和知識的積累,然后以聚類和匹配的方式將新的測試樣本劃分到最相近的基礎類別上。元學習方法的思路是“掌握如何學習”,即以偶發(fā)式策略(episodic manner)模擬真實世界中的小樣本場景[5,11-12]。但是,極少數(shù)的訓練樣本仍然無法概括完整數(shù)據(jù)集的分布規(guī)律,數(shù)據(jù)的稀缺性又會造成嚴重的過擬合[13]。為了解決數(shù)據(jù)稀缺的問題,轉導學習引入了額外的未標注數(shù)據(jù)來改善模型的性能和表現(xiàn)。不論上述方法如何復雜,一個有效的表達對于小樣本學習都是至關重要的[6]。
在遙感影像場景分類任務中,小樣本學習方法取得了不錯的效果,小樣本的優(yōu)勢也使得越來越多的科研工作者將其應用到遙感影像場景分類中。Li 等[14]提出了一種名為自適應匹配網(wǎng)絡的判別學習方法(DLA-MatchNet),使用新的注意力模型,可以自動發(fā)現(xiàn)區(qū)分性區(qū)域以提取更具區(qū)分性的特征。在使用度量學習進行分類時,DLA-MatchNet 使用非線性網(wǎng)絡來衡量查詢圖像和支持集之間的相似度。Li 等[15]提出了一個名為RS-MetaNet 的框架和一個稱為平衡損失的新型損失函數(shù),旨在解決現(xiàn)有方法在樣本級別上執(zhí)行并容易過度擬合于個別樣本的問題。Zhai 等[16]設計了一個終身Few-shot 學習模型,利用有限的注釋數(shù)據(jù)處理來自不同機構的數(shù)據(jù)集之間的差異。然而,上述方法都忽略了一個重要點,即雖然樣本來自同一類別,但不同樣本具有不同大小的分類目標,這導致特征表示效果較差,并且大部分現(xiàn)有策略普遍僅利用元學習框架來學習相似性度量[14-15,17-18],忽略了穩(wěn)健特征學習的重要性,并忽視了未標注數(shù)據(jù)中蘊含的潛在信息。
針對當前遙感影像場景分類中小樣本研究存在的問題,本文提出一種雙階段場景識別框架,以公路場景識別為例,為解決該問題提供思路。
本文提出的雙階段場景識別框架如圖1 所示。圖1(a)表示學習3 個任務的共享主干網(wǎng)絡,即:①語義預測識別圖像類別;②旋轉預測識別二維旋轉;③對比預測對匹配的圖像進行聚類,找出不匹配圖像。圖1(b)表示轉導學習,通過LP 結果的修正原型進行分類。
圖1 雙階段場景識別框架Fig.1 Two-stage scene recognition framework
多任務學習模型的完整目標函數(shù)可以表示為
式中,Lfull表示網(wǎng)絡訓練的總體損失:Lb、Lr和Lc分別表示語義預測、旋轉預測和對比預測的損失;α和β分別表示兩個輔助預測損失的權重。在網(wǎng)絡收斂后,使用特征提取器fθ將一個新任務T中的所有數(shù)據(jù)點映射成特征向量,然后使用標簽傳播修正類別原型,最后使用修正后的類別原型來完成最鄰近分類。
Dbase表示已標注的具有大量樣本的數(shù)據(jù)集,該數(shù)據(jù)集中包含的類別記為Cbase。Dnovle表示未標注的數(shù)據(jù)集,它包含的類別記為Cnovel,Cnovel與Cbase中沒有相同類別。在小樣本學習中,用T表示一個任務,任務中包含的類別數(shù)記為K。該任務中的支持集記為S={(xi,yi)}NKi=1(即每個類別包含N個樣本),查詢集記為Q={(xi,yi)}MKi=1,其中xi和yi∈{1,2,…,K}分別表示輸入數(shù)據(jù)以及對應的類別標簽。值得注意的是,在表示學習階段所采用的樣本都是(xi,yi)這樣的數(shù)據(jù)點(而不是元學習中的任務)。在推理階段,一個任務的集合會通過從Dnovle中采樣得到。在每個任務中,都會給出支持集S作為訓練數(shù)據(jù),最終的評估則通過對查詢集Q的測試完成。符號說明匯總見表1。
表1 符號說明Tab.1 Symbol description
在訓練階段,基線模型會通過最小化標準交叉熵損失來訓練出一個特征提取器fθ(θ代表特征提取網(wǎng)絡的參數(shù))和一個線性分類器E(·|Wb)(由權重矩陣Wb∈Rd×|Cbase|進行參數(shù)表示)。分類器E(·|Wb)由線性層W_bTfθ(xi)和Softmax 操作(xi∈Dbase)構成。在推理階段,使用最近鄰法則來對每個新任務T={S,Q}進行分類。假設表示第k個類別的支持集數(shù)據(jù),計算出這些數(shù)據(jù)的平均特征作為該類別的原型,即。對于一個查詢樣本x∈Q,其概率分布通過對它與每一個類別原型的距離進行Softmax 操作后給出,即
旋轉預測任務的目標是學習哪一種二維旋轉變換被應用于輸入圖像。將一組旋轉操作定義為G=,其中xr=gr(x)表示被旋轉某個角度后的圖像,共有R種旋轉變換。給定旋轉分類器的參數(shù)Wg=[w1,w2,…,wR],那么輸入圖像xi上被使用的旋轉變換為r的概率可以表示為
在B個隨機采樣的圖像上的損失函數(shù)是一個標準交叉熵損失,即
由于這些監(jiān)督信息與類別無關,所以旋轉預測可以促進不同類別之間的信息共享。此外,旋轉監(jiān)督信息背后所蘊含的真正啟發(fā)在于:網(wǎng)絡在有效地執(zhí)行旋轉識別任務之前,應該已經(jīng)具備了識別該類物體的能力,同時也已經(jīng)能夠認識到圖中目標所在的部分。此外,在訓練過程中,一張影像通過旋轉生成的所有副本都會被同時送入網(wǎng)絡,這會迫使這些副本共享某些與旋轉無關的特征。其語義分類損失被定義為
給定分類器參數(shù)Wb=[w1,w2,…,wc],xi屬于第c類的概率可以通過式(6)計算,
對比學習的目的是學習一個能夠區(qū)分出一致(正)樣本對和不一致(負)樣本對的特征表示。從數(shù)學上來講,首先fθ將輸入x映射到一個特征向量r∈Rd,再通過一個映射網(wǎng)絡將其映射到一個低維的向量z∈Rd,即z=C(r|?)。通過一個128 維的全連接層實例化映射網(wǎng)絡,將這個網(wǎng)絡的輸出歸一化后用內(nèi)積來計算它們的余弦相似度。對于一個有B個輸入的圖像批次,將生成B對隨機增強的樣本對用于訓練。為了識別出與每個樣本zi相對應的正樣本zp(p∈A(i)),A(i)是當前訓練批次中樣本zi的所有正樣本的索引集),設計了如式(7)的對比損失,即
很明顯,訓練Lc是為了讓正樣本對擁有高相似度,同時使得負樣本對的相似度更低。為了加強類內(nèi)一致性和類間差異性,用同一類別的圖像來構建正樣本對,而用不同類別的圖像來構建負樣本對。
如圖1 所示,經(jīng)過查詢數(shù)據(jù)的修正,各類別原型更接近于每一類數(shù)據(jù)的中心點。具體來說,首先利用標簽傳播策略來為查詢樣本分配合適的標簽。與單獨預測每個查詢樣本的線性分類器不同,標簽傳播的目的是找到一個足夠平滑的標簽分配方式,這一方式利用了已知數(shù)據(jù)(支持集)以及未知數(shù)據(jù)(查詢集)二者的固有內(nèi)在結構[19]。簡而言之,標簽傳播通過考慮所有數(shù)據(jù)點之間的關系進行聯(lián)合預測。
更詳細地說,給定一個任務T,小樣本特征被表示為R={r1,r2,…,rl,rl+1,…,rl+u} ∈Rd,標簽集則記為L={1,K};前l(fā)個特征被標記為,其他u個查詢特征未被標記(l=N*K,u=M*K)。初始標簽由一個(l+u)*K的矩陣Y指定,如果ri(xi的對應特征)被標記為yi=j,則yij=1,否則yij=0。具體可參考文獻[19],這里使用歐氏距離來構建無向圖。完成標簽的傳播后,如式(8)所示,通過那些被新歸入各個類別的查詢樣本,i∈I}來擴展各個類別的支持集,
式中,I是被歸入k類的查詢樣本的索引集。完成上述步驟后,即可計算出修正的原型,即=。最終,如式(1)所示,通過尋找查詢樣本的最鄰近類別原型來完成對查詢樣本的分類。
本文設計兩組實驗來驗證公路場景識別的可行性與準確性。第一組實驗在遙感數(shù)據(jù)上訓練主干網(wǎng)絡并進行測試。第二組實驗在第一組實驗基礎上,首先在遙感數(shù)據(jù)上訓練主干網(wǎng)絡模型,再利用訓練好的主干網(wǎng)絡在構建的小樣本公路數(shù)據(jù)集上進行測試,實現(xiàn)對工程車輛行駛安全的場景識別與智能預警。
第一組實驗在3 個有代表性的數(shù)據(jù)集上進行,即西北工業(yè)大學發(fā)布的有45 個類的遙感圖像場景分類數(shù)據(jù)集(NWPU-RESISC45)[20]、航空圖像數(shù)據(jù)集(AID)[21]以及武漢大學發(fā)布的有19 個類的遙感圖像場景分類數(shù)據(jù)集(WHU-RS-19)[22]。本文遵循文獻[14]的標準劃分規(guī)則(見表2)來劃分訓練集和測試集(見表3)。
表2 數(shù)據(jù)集劃分規(guī)則Tab.2 Partitioning rules of the dataset
表3 各個數(shù)據(jù)集組成Tab.3 Composition of each dataset
第二組實驗在構建的小樣本公路數(shù)據(jù)集上進行測試,包括一個工程車輛數(shù)據(jù)集、公路數(shù)據(jù)集以及工程車輛行駛數(shù)據(jù)集。將常見工程車輛按照尺寸分為兩類(大型、中型),將公路按照道路表面建設質(zhì)量分為3 類(瀝青、已鋪設、未鋪設),將不同類型車輛在不同道路上行駛的情況所構成的風險等級分為3 類(安全、存在隱患、危險)[23],依據(jù)文獻[24]對于車輛及其行駛公路的分類標準,將數(shù)據(jù)集劃分為3 類,具體按照表4 施行。每一類搜集20 張圖片組成3 個小樣本測試數(shù)據(jù)集。3 個數(shù)據(jù)集的結構劃分見表5。
表4 風險等級評定標準Tab.4 Risk rating criteria
表5 測試數(shù)據(jù)集組成Tab.5 Composition of the test dataset
關于網(wǎng)絡結構,采用層數(shù)較深的ResNet12[25]和層數(shù)較淺的Conv-256 用于特征提取,然后是3 個平行的單全連接層用于學習3 個任務。3 個分支的對應輸出維度Wb、Wg和φ,分別設置為Cbase、4(包含4 個旋轉{0、90、180、270})和128。此外,使用視覺表征對比學習框架SimCLR[26]來獲得對比學習中的匹配樣本。因此,在每個迭代中,網(wǎng)絡能夠從比批次數(shù)量(batch size=32)多8 倍的圖像中進行對比學習。
本文設計兩組實驗來驗證模型的可靠性與公路場景識別的可行性與準確性。第一組實驗只在遙感數(shù)據(jù)上訓練模型并測試,第二組實驗利用第一組實驗訓練好的模型,在構建的公路場景小樣本數(shù)據(jù)集上進行測試。所有的模型均使用隨機梯度下降(SGD)優(yōu)化器來訓練,參數(shù)如表6 設置,動量為0.9,初始學習率為0.01,權重衰減為5exp(-4),總訓練輪數(shù)設定為120 個。學習率在第80 和第100 個訓練輪數(shù)衰減為原來的1/10。式(2)中的損失權重α和β設為1。為了評估網(wǎng)絡性能,隨機抽取了2 000 個任務進行五類別分類,每個任務包含15 個查詢樣本。使用具有95%以上置信度的平均準確率作為網(wǎng)絡性能評價標準。
表6 SGD 參數(shù)設置Tab.6 Parameter setting of SGD
將本文方法與現(xiàn)有的7 個代表方法進行了比較,結果見表7??梢缘贸?,使用深度網(wǎng)絡架構(即ResNet12)的模型比基于Conv-256 的模型表現(xiàn)更好,這表明深度骨干網(wǎng)絡具有強大的學習能力。從特征學習的角度來看,與使用單一旋轉預測任務S2M2 相比,本文方法具有巨大優(yōu)勢,取得了73.50%的精度,相較于S2M2 提升了10.26%,其性能明顯優(yōu)于其他算法。在基于元學習的方法中,本文方法同樣取得了很好的效果,證明了遷移學習的巨大潛力。而用于光學遙感圖像的方法、自適應匹配網(wǎng)絡(DLA MatchNet)的判別性學習性能在不同的數(shù)據(jù)集上表現(xiàn)波動很大,而本文方法在這兩個數(shù)據(jù)集上一直表現(xiàn)良好。這驗證了本文所提出的網(wǎng)絡結構特征的良好泛化能力。此外,由表7 可知,盡管SIB 和CAN+T 能夠?qū)崿F(xiàn)轉導學習,但本文完整模型(使用ResNet12)最終取得了80.58% 的分類精度,相較于SIB 和CAN+T 分別提升了13.24% 和10.69%,其性能明顯優(yōu)于其他方法,證明了本文轉導推理算法的有效性。
表7 第一組實驗結果Tab.7 Results of the first set of experiments
第二組實驗結果見表8,對于工程車輛數(shù)據(jù)集取得了69.37%的精度,對于公路表面質(zhì)量數(shù)據(jù)集取得了69.54%的精度,對于車輛行駛數(shù)據(jù)集取得了48.45%的精度,這驗證了模型的可靠性與公路場景識別的可行性與準確性,且證明了本文方法在小樣本條件下不同類型的測試數(shù)據(jù)上仍然能夠達到很高的精度。該方法可用于各類實際公路建設項目中車輛行駛安全的場景識別與智能預警任務,具有較強的泛化性。
表8 第二組實驗結果Tab.8 Results of the second set of experiments
為了驗證每種網(wǎng)絡結構的貢獻,進行了一系列的消融研究,結果見表9。其中,第一部分①代表僅使用基線模型得到的結果,②則代表在基線模型基礎上增加了數(shù)據(jù)增強技術得到的結果,以此類推。
表9 消融實驗結果Tab.9 Results of ablation experiments
1)借口任務。表9 第二部分(②~⑤)顯示了兩個借口任務(不含歸納推理)的影響??偟膩碚f,引入借口任務學習的3 個模型獲得了更好的結果,分別是70.72%和71.58%,都高于不使用任何模型的69.02%。此外,④使用單一借口任務的結果不如⑤使用兩種借口任務組合的結果,分別是71.58%和73.50%。這證實了借口任務學習的必要性和它們的協(xié)同作用。需要注意的是,雖然應用旋轉變換作為數(shù)據(jù)增強可以帶來1.8%的提升,但仍然不如④實驗引入旋轉預測任務學習的提升(71.58%)。這表明旋轉預測可以促進跨類的信息共享。
2)標簽傳播的效果。表9 的第三部分(⑥~⑨)顯示了使用標簽傳播的結果。結果表明,標簽傳播可以在所有的實驗場景中提高分類精度。特別是當數(shù)據(jù)稀少時,標簽傳播能獲得更明顯的提升。例如,在一分類和五分類的任務中,它與多任務模型相比獲得了約3.0%和0.3%的提升。此外,網(wǎng)絡性能隨著更好的特征而增加,由74.48%提升到76.48%,因為更好的特征能夠更好地描述數(shù)據(jù)點之間的關系(在無定向圖中)。
3)原型校正的影響。表9 的第四部分(⑩~?)顯示了僅使用原型校正的結果。以原型校正為基礎模型和用借口任務訓練的模型都帶來了明顯的性能提升。這一現(xiàn)象表明,最初的原型確實是有偏差的,經(jīng)過校正后可以更準確地表示數(shù)據(jù)分布。最后,第五部分?給出了完整模型的結果,得到了80.58%的精度,數(shù)據(jù)證明了本文提出的網(wǎng)絡模塊組合的優(yōu)越性。
通過計算單次五分類任務所需的推理時間來衡量模型的計算效率。平均到2 000 個任務上,使用ResNet12(47.43 M 參數(shù))和Conv-256(0.43 M 參數(shù))作為骨干網(wǎng)絡,推理15 次查詢樣本的結果耗時分別為2.5 和2.4 ms。這樣的推理速度可以很好地滿足實時性要求。此外,如圖2 所示,圖像特征的t-SNE[27]可視化顯示了校正后的原型確實更準確地代表數(shù)據(jù)分布。
圖2 NWPU-RESISC45 數(shù)據(jù)集樣例與t-SNE 可視化Fig.2 NWPU-RESISC45 dataset and t-SNE visualization
本文提出了一個新的雙階段框架來解決小樣本場景識別問題。在第一階段,將兩個輔助任務(旋轉預測和對比預測)與遷移學習理論進行融合、聯(lián)合訓練,實現(xiàn)對基礎訓練數(shù)據(jù)通用特征表達的學習。在第二階段,基于標簽推理對新類別進行聯(lián)合預測,并在預測基礎上實現(xiàn)對模型的精化與校正。在遙感影像數(shù)據(jù)上的實驗表明,該方法具有良好的性能與較強的泛化能力,可以用于有效訓練樣本較少的公路項目建設場景,實現(xiàn)建筑工地車輛行駛安全的識別與監(jiān)控。