?

基于可控多樣性生成對抗網絡的水環境遙感影像場景分類方法

2023-09-21 01:01周發超高明亞
西北水電 2023年4期
關鍵詞:張量精度分類

趙 濤,彭 峰,周發超,高明亞,劉 超,羅 楠

(1. 水工程智慧建造與管理湖北省重點實驗室,湖北 宜昌 443002;2. 湖北省河湖長制辦公室,武漢 430064)

0 前 言

遙感影像場景分類技術可以將遙感影像塊自動劃分為不同的類目,在城市規劃、環境監測、土地資源管理等方面均有著較大的應用價值[1],在水庫水位庫容的應用越來越成熟,并取得了良好的效果[2]。隨著人工智能技術的進步,以卷積神經網(Convolutional Neural Network,CNN)為代表的深度模型的分類技術已經成為遙感場景分類方法的標準方法[3-4]。利用CNN可以提取出遙感場景中更高層次的屬性信息,并獲得遠超傳統淺層模型的分類精度[5];同時基于CNN結構在場景分類中還可以加入注意力機制、記憶機制來不斷提高場景分類精度[6-8]。

CNN等深度模型需要大量的樣本來進行訓練,然而在實際工作中往往會遇到研究區范圍較小或待分類對象數量本身就較少的情況,此時會遇到困難:要么提供極少的樣本,分類模型無法得到充分訓練,進而無法有效分類;要么將幾乎所有需區分的對象加入到樣本集,此時已經不需要進行自動分類了[9]。因此,在實際場景分類應用中CNN需要應對小樣本的問題[10]。

不同于傳統模型,CNN參數量較大,可記住所有的少量樣本中所有細節,所以在樣本量較少的情況下CNN易于擬合與場景中的特異差異[11-12]。為了提高CNN小樣本情況下的表現,目前在遙感和圖像識別領域主要采取的手段是利用幾何變換方式對樣本影像進行一定方向和尺度上的變換來提高樣本數量[13],這種方式在有較大的通用數據集上表現較好;基于小波變換的匹配算法較好地解決了在空間分辨率不高的條件下高光譜影像的分類問題[14],但是在樣本較少的情況下可能會引發類目混淆的特征被放大的情況[15]。

生成對抗網絡(Generative Adversarial Networks,GAN)為解決小樣本的問題提供了新的思路。生成對抗網絡包含生成器G和辨別器D,通過兩個模型的對抗訓練,GAN可以識別出樣本中的關鍵特征[16],可以有效的克服過度擬合、噪聲和樣本交疊等問題的影響,并生成可用于放大(Gugmentation)樣本集的影像數據[17-18]。在水環境遙感場景分類領域,GAN得到了較多的關注,在識別關鍵特征方面,GAN可以有效的處理高維度(如使用高光譜影像)和低樣本量之間的關系并發現類目的關鍵特征[19-20]。在樣本集放大方面,Xu等構造了線性指數結構來增強傳統的GAN生成高分辨場景影像的能力[21];Ma等實現了基于GAN在線高多樣場景樣本生成,獲得的分類模型精度高于傳統幾何變換增強的模型[22]。利用GAN進行遙感影像生成,并提高分類精度的關鍵是提高空間信息的多樣性。通過GAN可以提高空間形成更多的空間內容組合,從而避免出現幾何變換中常出現的混淆屬性被放大的情況[23]。采用逐層放大的近似高斯濾波器對輸入影像的積分圖像進行卷積操作,獲取金字塔影像[24]。

生成對抗網絡制造的遙感樣本的空間多樣性來自于輸入的隨機串z,此時對于z可能會遇到兩個問題:① 隨機性降低,部分隨機性可能在G神經網前幾層別看做噪聲處理掉從而喪失一部分隨機內容[25];② 不可控性,從隨機串到隨機空間結構完全由權重來控制,而權重的訓練具有隨機性,難以確定串的特定位置控制了哪些結構[26]。這此問題直接導致了在利用GAN生成遙感樣本的時候陷入兩難境地。為保證單個樣本質量許引入更多層次結構,這會顯著降低空間多樣性;為提高空間多樣性減少網絡層數,反而會降低單個樣本質量,使得基于GAN的場景分類方法生成的樣本空間多樣性有限,且非常難于控制與實驗。

隨著水利遙感定量應用的深入,利用衛星遙感影像提取水體面積、幾何形態、水質狀況和水體生態環境等信息已在水資源調查、水資源宏觀監測、環境保護、自然災害預報、土地分類等領域得到了應用。水體信息提取對于水資源調查、洪水災害預測評估、水利規劃、環境監測等起著十分重要的作用[27]。隨著社會對環境和水利的日益重視,人們對水體信息提取的要求越來越嚴格。雖然傳統的野外測量能夠獲得高精度的水體信息,但由于地表干涸枯澤、瞬息多變,水資源季節性變化很強,年際變化也很大,且野外測量周期長、費時費力,不適合水資源信息的及時獲取和適時監測;而遙感影像成像周期較短,適時性強,并且成像精度日益提高,如果能利用高分辨率影像提取高精度的水體信息,則可以快速、準確、及時地獲得水體資源信息,以彌補野外測量的不足[28]。

為了解決上述問題,本文通過引入張量生成器T,構建在空間結構與細節上具有多樣性的二維描述張量,實現空間多樣性的可控性,然后再通過生成器G將二維描述張量轉換為遙感場景影像,并引入UC-Merced和AID兩個遙感場景分類數據集來進行對比實驗?;谏蓪咕W絡模型,提出一種可控多樣性生成對抗網絡的水環境遙感影像場景分類方法(A Controlled Diversity Generative Adversarial Network for Scene Classification of Remote Sensing Images of Water Environment,CD-GAN),以適用于小樣本遙感分類場景,為水環境識別與監測提供技術支撐。

1 方法描述

1.1 方法總體過程

針對現有研究中存在的問題,CD-GAN的主要目標就是要生成具備足夠空間多樣性的樣本來促進CNN的訓練過程,CD-GAN方法的總體流程如圖1所示。

圖1 CD-GAN方法的總體流程

如圖1所示:對于一個水環境遙感場景分類任務,輸入為包含Ncategory個類別的真實訓練樣本集TR= {tr1,tr2...,trNcategory},其中tri為類目i遙感影像樣本的集合。CD-GAN包含3個組成部分:空間張量生成器(Spatial Tensor generator,T)、生成器(Generator,G)和分辨器(Discriminator,D)。T用于隨機生成一個空間描述z,G接收一個z來生成偽場景圖像G(z)。對于輸入圖像x,D的決策結果為D(x)(圖像x是真實的來自于tri或偽造的G(z)),D和G具有對抗性關系。CD-GAN的目標公式是:

+Ez~p(z)[log(1-D(G(z)))]

(1)

其中E是期望算子,真實影像的分布是p(x),生成器產生的z對應分布為p(z)。通過逐漸優化式(1),G生成的圖像越來越逼近真實圖像。此時對于一個場景影像類目i對抗模型CD-GAN可以表示為一個生成過程:

CD-GAN(tri)→tgi

(2)

此時CD-GAN具備了發現tri中的關鍵空間特征,并以隨機方式生成一系列影像tdi的能力。迭代應用CD-GAN的訓練和生成過程就可以實現對原始樣本集TR在空間信息上的增強。本文描述的方法的總體流程如下:

CD-GAN Overall Process Algorithm CG-GAN總體流程(GAN-OP)

Input:TR

Output:Mcnn

Begin

TD=?;

MCD-GAN=初始化一個CD-GAN模型;

fori=1:Ncategory

利用公式1并使用樣本集tri訓練MCD-GAN;

利用MCD-GAN的T和G來生成樣本tgi;

tdi={tri,tgi};

TD←tdi;

Mcnn=構建一個CNN模型M,使用TD訓練M;

returnMcnn;

End

GAN-OP的輸入為訓練遙感場景樣本集TD;對于每一個類目tri,CD-GAN訓練并發現樣本中的高層次空間特征的組合。T生成的隨機張量并利用G將這些張量轉換為對應生成樣本tgi,此時可以構建構成了一組對應于類別i的增強樣本tdi={tri,tgi}。在處理完所有類目之后可以獲得多樣性增強的訓練樣本集TD= {td1,td2,…,tdNcategory};利用TD可以訓練一個CNN分類模型Mcnn;此時Mcnn具有更加穩定的空間特征識別能力。

1.2 CD-GAN的模型結構

與傳統的CD-GAN的模型結構包含3個組成部分:張量生成器T, 生成器G和分辨器D。張量生成器T的結構如圖2所示。

圖2 張量生成器的結構

由圖2可知,張量生成器主要負責生成二維的張量z。張量生成器首先構建一組“原子張量”形成原子張量池Tatom。其過程如下:

Atorm Tensor Pool Construction Algorithm 原子張量池構建方法(ATPCA)

Input:Sizeatom,RandMax,RandMax-atom

Output:Tatom

Begin

Tatom= ?;

fori=1:RandMax-Tatom

Matom=生成Sizeatom×Sizeatom的最大值為RandMax隨機數矩陣;

Tatom←Matom;

returnTatom;

End

在獲得了Tatom之后,T構建張量輸出網絡隨機選取Tatom中的元素加入到輸出網絡之中,最終對整個輸出網絡歸一化獲得輸出張量z;這一過程的算法描述如下:

Tensor Generator Output Algorithm 張量生成器輸出算法(TGOA)

Input:Sizegrid,RandMax-atom

Output:z

Begin

Grid=建立Sizegrid×Sizegrid的2維數組;

foriin 1:Sizegrid

forjin 1:Sizegrid

Grid[i,j]=在Tatom隨機選擇1至RandMax-atom之間的一個元素;

z=連接Grid中的所有元素,構建一個二維矩陣;

z=對于z中的所有元素,歸一化到0~1;

returnz;

End

每次T調用TGOA將生成一個二維的隨機張量z,這個張量將驅動生成器G生成對應的水環境遙感場景影像。在CD-GAN中采用張量生成器T的價值主要體現在兩個方面:

(1) 引入足夠的空間結構隨機性

在已有的基于GAN的水環境場景分類研究中通??梢钥吹?如果采用傳統的基于隨機串的方式驅動G生成影像,那么這種隨機性可能在G神經網的最初幾層被吸收,從而使得G生成的影像集中于有限的幾種甚至一種空間結構;而CD-GAN的z相當于直接將結構的隨機性引入到G之中,進而直接驅動其生成多樣空間結構。

(2) 降低元素內容的隨機性與輸出噪聲

對于一個特定類目的遙感影像場景雖然空間信息多樣,但是組成其內容元素通常是有限的幾種;如果引入過多的隨機內容,一方面過高輸入的數據變化范圍過多會使得G難于訓練;另一方面,G在生成過程中可能會遇到訓練中未遇到的隨機內容,這些隨機內容穿過神經網會產生明顯不合理的顏色/紋理組合或者噪聲。而CD-GAN的z是由固定范圍的原子組成的,這使得它可以在一定程度上規避掉過度的隨機元素與噪聲元素。

CD-GAN的G負責生成遙感場景影像,其結構如圖3所示。生成器G在接收T輸出的張量z之后生成對應的場景遙感影像如圖3所示。G的結構采用接近U-Net神經網的先編碼再反編碼兩個階段:

圖3 生成器G的結構

(1) 編碼階段

在編碼階段G采用4組圖層,每組包含一個卷積層(卷積核大小為5×5,stride為2×2)和一個Batch normalization層;在組和組之間使用LReLU層進行處理。由于引入了帶Stride的卷積層,所以每經過組Feature map大小均會降為原來的一半;通過這種么偶是G負逐層的抽取表達z中的空間關系。

(2) 反編碼階段

反編碼階段也采用4組圖層,每組圖層包含ReLU、Transposed卷積層和Batch normalization層,最終通過Tanh層輸出生成結果。編碼階段的各組還會將輸出直接連接到對應的反編碼階段,使得在生成過程中可以兼顧空間關系信息和具體細節信息。

CD-GAN的D負責檢驗遙感場景影像輸出結果是否為真,分辨器D負責區分輸入的影像來自于真實數據(真)還是模型G的生成數據。通過式(1)描述T、G和D的對抗過程,使得G生成的影像逐步接近于真實的遙感場景。利用G就可以獲得所需的遙感影像樣本。CD-GAN從訓練到輸出的方法如下:

CD-GAN Generate samples algorithm CD-GAN生成樣本算法(GSA)

Input:tri,Ninitsamples

Output:tgi

Begin

初始化T,G和D模型

//1.預訓練階段

使用ATPCA算法建立原子張量池;

trainx=使用TGOA算法建立Ninitsamples張量;

trainy=隨機從tri中選擇Ninitsamples個不相同的影像;

將trainx和trainy作為G的輸入和輸出進行訓練;

//2.訓練階段

foriin 4:1

temp=對tri進行1/i的重采樣;

將T的輸出作為G的輸入并以temp真實影像對CD-GAN進行訓練;

//3.輸出階段

testx=使用TGOA算法建立與tri樣本數量一樣的張量;

tgi=將testx作為G的輸入生成遙感影像;

returntgi;

End

GSA算法分為3個階段:

(1) 預訓練階段

在CD-GAN中,由于G的層數較多且遙感場景數據通常較為復雜,在神經網初始化的情況下遠遠達不到能夠生成影像的地步。該階段的目標是通過使用一定數量的張量z到輸出影像的樣本使得G可以初步的達到生成影像的功能,能夠與D持續對抗進行整體訓練。

(2) 訓練階段

在訓練階段并不是一開始就使用完整的tri的內容,而是使用tri的重采樣的樣本進行訓練,使得整個訓練過程可以開始專注于整體的空間結構(更易于訓練),隨后在上一輪基礎上逐步關注細節訓練,直到CD-GAN能夠適應完整分辨率的tri內容為止。

(3) 輸出階段

利用TGOA算法生成張量,并利用G轉換為對應的生成影像集合tgi。利用GSA算法可以實現基于CD-GAN的樣本生成,此時由于引入了T可以達到更加豐富的空間多樣性。

2 實 驗

2.1 算法實現和實驗數據集

本研究使用Python 3.8實現了CD-GAN所有算法;深度學習部分使用Keras實現,圖像訪問與處理使用Scikit-image開發包。為了深度的對比算法的遙感場景分類能力,對如下方法進行比對:

(1) CNN

單純使用CNN進行樣本的學習并進行分類;

(2) CNN+GT

對于樣本使用幾何變換(Geometric transformation,GT)進行 90°、180°、270°旋轉,左右和上下翻轉共5種變換來增加樣本數量,并使用CNN來進行學習和分類;

(3) Diversity-GAN

多樣性生成對抗網絡(Diversity Generative Adversarial Networks , Diversity-GAN)使用自增長的GAN神經網進行遙感分類,該GAN的特點是利用一個隨機串來驅動GAN生成遙感影像進而增強CNN的分類能力;

(4) MARTA-GAN

多層特征匹配的生成對抗網絡(Multiple-layer feature-matching generative adversarial networks)使用GAN抽取遙感影像的關鍵特征,并基于該特征來訓練淺層模型達到分類的目標;

(5) CD-GAN

此方法為本文提出的方法對于測試數據集,本文分別使用UC-Merced和AID兩個著名的數據集來進行訓練。所有算法均在一臺i7-10700F 32G/GTX 1070 8G的計算機運行并測試,由于顯存的空間所限兩個數據集的影像均縮放到256×256大小進行測試。為了測試在樣本不足情況下各個模型的分類能力,兩個數據集分別選取10、20、30、40和50的樣本作為訓練樣本,剩余的樣本作為測試樣本進行5次精度評價,并使用總體精度(Overall accuracy, OA)作為評價指標。

2.2 CD-GAN方法生成的遙感場景內容

在輸入40個樣本的情況下,CD-GAN的GSA方法生成的典型水環境遙感影像樣本如圖4所示。

從圖4可以看出,CD-GAN生成的水環境場景影像存在明顯的空間結構差異與整體的內容差異。CD-GAN生成的場景影像中一些人工建筑物的邊界并不直(CD-GAN沒有引入衡量建筑物邊界是否直的評價函數),但是CD-GAN的最主要目標是生產出可以提升分類精度的樣本,這些樣本具備以下特征:

(1) 明顯的空間結構差異

無論是UC-Merced和AID數據集,生成樣本的方向、關鍵對象的位置均可以在較大范圍內變化。

(2) 整體內容的差異

一些生成的水環境樣本在整體內容上,如顏色、組成物方面也可以體現出明顯的變化。

(3) 細節上的變化

即便是一些樣本在空間結構和方向上近似,但是其細節,如水環境周圍道路寬窄、水環境組成內容有所不同。

得益于T的引入可以大范圍的變化輸入到G,以上的結果展示了CD-GAN一個關鍵的特性:空間結構、空間內容上的多樣性,這些多樣性可以進一步豐富樣本集的內容,達到提高CNN分類精度的目的。

2.3 5種方法精度的對比

5種方法精度的對比如表1所示。從表1可以看出,無論較少的10個樣本還是較多的50個樣本,CD-GAN均取得了5種方法中最高的分類精度。對于UC-Merced數據集在50個樣本時達到了95.0±0.4的分類精度,對于AID數據集達到了92.1±0.6的分類精度?;跇颖緮盗亢途?5種方法的對比如圖5所示。

表1 5種方法的精度對比

圖5 5種方法的精度對比

從圖5可以看出,對于兩種數據集5種方法的趨勢基本比較一致;對于CNN水環境在樣本量較少的情況下分類精度較低,隨著樣本數量的提升精度快速提高;由于AID數據集的數量比UC-Merced的大得多(空間多樣性也更高,更難進行分類),所以在40個水環境樣本的時候AID的數據集的分類精度要高于UC-Merced數據集的精度。對于CNN+GT,雖然幾何變換可以提高樣本數量,但是這種模式與GAN系列方法區別是單純的幾何變換可能會導致存在混淆的樣本經過一模一樣的變化混淆仍然存在,甚至加大,所以CNN+GT相較CNN精度提升并不明顯;對于Diversity-GAN,其引入了隨機串來驅動樣本的多樣性,精度提升較為明顯;而MARTA-GAN側重于發現樣本的空間特征信息,所以精度反而會比普通CNN低。CD-GAN同Diversity-GAN的目標是一致的,也就是生成更具空間多樣性的樣本,CD-GAN引入了張量生成器T,可控的輸出多樣的空間結構,這使得CD-GAN在空間多樣性上明顯優于Diversity-GAN,尤其是在水環境樣本量較小的情況下,這種優勢更加明顯。

3 結 論

利用CNN等深度模型進行水環境遙感場景分類可以獲得較高分類質量,但是海量而高質量的樣本集是訓練深度模型的關鍵,相對單一和低質量的樣本并不能滿足訓練CNN的需要。在實際中往往會遇到難于收集足夠的樣本的應用場景,因此利用小樣本訓練CNN模型非常重要。本文提出了一種基于可控多樣性生成對抗網絡的水環境遙感影像場景分類方法,該方法具有以下特點:

(1) 利用生成樣本來提高空間信息的多樣性。CD-GAN通過G生成的樣本加入到原始樣本集中,從實驗中可以看出在空間信息的結構、內容和細節上,生成的樣本均可以出現隨機的多種內容組合,可以豐富原始樣本集的空間內容,從而使得分類模型更容易的總結特定類目的空間特征,提高CNN分類能力。

(2) 結構可控的多樣性。與傳統GAN方法引入隨機串來驅動G的生成行為不同,CD-GAN利用張量生成器T生成二維的張量通過一個神經網將二維的張量轉換為影像,可直接將多樣性引入到空間結構上,而不是寄希望于復雜的訓練過程識別串中的空間隨機性;這使得CD-GAN生成的樣本更加直接的產生空間上的多樣性,實驗結果驗證這一模式比直接使用隨機串的Diversity-GAN更具優勢。

在水環境樣本量本身較少、樣本收集成本巨大、研究區域較小等典型的應用場景下,CD-GAN可以明顯增強水環境原始樣本集中的空間信息內容,獲得較高的分類精度。CD-GAN能夠利用高分辨率影像提取高精度的水體信息,可以快速、準確、及時地獲得水體資源信息,以彌補野外測量的不足,在水環境樣本量較少的應用環境中具有較高應用價值。

猜你喜歡
張量精度分類
分類算一算
偶數階張量core逆的性質和應用
四元數張量方程A*NX=B 的通解
分類討論求坐標
基于DSPIC33F微處理器的采集精度的提高
數據分析中的分類討論
教你一招:數的分類
擴散張量成像MRI 在CO中毒后遲發腦病中的應用
GPS/GLONASS/BDS組合PPP精度分析
改進的Goldschmidt雙精度浮點除法器
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合