劉彥德,王競雪,2
(1.遼寧工程技術(shù)大學(xué) 測繪與地理科學(xué)學(xué)院,遼寧 阜新 123000;2.西南交通大學(xué) 地球科學(xué)與環(huán)境工程學(xué)院,成都 611756)
水體提取能夠?yàn)闉?zāi)害監(jiān)測[1]、生態(tài)水文研究[2]、土地管理[3]等方面提供重要信息。目前,水體提取方法可以分為指數(shù)法[4]、監(jiān)督分類法[5]和深度學(xué)習(xí)方法[6]。指數(shù)法自提出后應(yīng)用較為廣泛,但是容易受到水體種類和外界因素的干擾。例如在水體受到洪澇、沉陷等各種因素影響導(dǎo)致其光譜信息發(fā)生變化時(shí),就需要結(jié)合不同類別水體的光譜信息來分析并構(gòu)造新的水體指數(shù),操作繁瑣且使工作量大幅提升[7]。監(jiān)督分類法包含最大似然法[8]、支持向量機(jī)法[9]等,這些方法的缺點(diǎn)在于其穩(wěn)定性較差,分類時(shí)容易受噪聲影響;在數(shù)據(jù)量較大時(shí)運(yùn)算復(fù)雜度高,耗時(shí)較長。
近年來,深度學(xué)習(xí)在圖像處理及信息提取方面已成為該領(lǐng)域研究的熱門,深度學(xué)習(xí)以其高效的特征學(xué)習(xí)能力在遙感影像解譯方面取得了長足發(fā)展[10]。與指數(shù)法和監(jiān)督分類法相比,深度學(xué)習(xí)可以通過制作大量不同種類水體的數(shù)據(jù)集來提取特征,提高分類精度和穩(wěn)定性,彌補(bǔ)傳統(tǒng)方法的不足[11]。何紅術(shù)等[12]提出一種基于改進(jìn)U-Net網(wǎng)絡(luò)的高分遙感影像水體提取方法,該方法對(duì)小目標(biāo)水體的提取效果良好。近年,深度學(xué)習(xí)領(lǐng)域新提出的Swin Transformer網(wǎng)絡(luò)在圖像信息提取方面得到了廣泛應(yīng)用[13]。與常見的卷積神經(jīng)網(wǎng)絡(luò)等模型相比,Swin Transformer網(wǎng)絡(luò)擁有關(guān)注全局信息建模的能力,且其獨(dú)特的滑動(dòng)窗口模塊使信息之間可以進(jìn)行跨窗口的特征交互,能夠有效擴(kuò)大感受野,提升目標(biāo)提取的效率[14]。
目前水體提取研究中多使用的影像為Landsat 8影像和Sentinel-2影像,這兩種影像數(shù)據(jù)容易獲取,但就影像分辨率而言,資源三號(hào)衛(wèi)星影像要更勝一籌。資源三號(hào)衛(wèi)星是我國首顆高分辨率民用測繪衛(wèi)星,該衛(wèi)星的應(yīng)用攻克了國產(chǎn)資源衛(wèi)星測圖困難的難題[15]。在水體提取方面,王國華等[16]提出了一種基于閾值的譜間關(guān)系法,該方法對(duì)資源三號(hào)衛(wèi)星影像中的細(xì)小水體有較好的提取效果;郭建華[17]提出了一種新歸一化差異水體指數(shù),對(duì)資源三號(hào)衛(wèi)星影像中的城區(qū)水體有更高的提取精度。綜上,針對(duì)傳統(tǒng)方法穩(wěn)定性較低和BoxInst網(wǎng)絡(luò)效率較差等不足,本文基于Swin Transformer網(wǎng)絡(luò)高效穩(wěn)定的優(yōu)勢,提出一種改進(jìn)Swin Transformer網(wǎng)絡(luò)的資源三號(hào)衛(wèi)星影像水體提取方法,與傳統(tǒng)方法和BoxInst網(wǎng)絡(luò)相比,本文方法水體提取結(jié)果表現(xiàn)更優(yōu)越。
本文技術(shù)流程分為3個(gè)部分:數(shù)據(jù)預(yù)處理與數(shù)據(jù)集制作;結(jié)合PANet算法的深度學(xué)習(xí)模型改進(jìn),對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練并進(jìn)行影像水體提取;本文方法與傳統(tǒng)傳統(tǒng)方法的精度評(píng)定。本文總體技術(shù)流程如圖1所示。
本文以Swin Transformer網(wǎng)絡(luò)為主干,利用其獨(dú)特的循環(huán)位移操作,使自注意力計(jì)算局限在不重疊的局部窗口中且可以進(jìn)行跨窗口連接,提升效率。結(jié)合PANet算法能夠快速融合頂層信息和底層信息,通過不同尺度信息的融合提高對(duì)水體特征提取的效果。
Swin Transformer網(wǎng)絡(luò)的整體架構(gòu)與CNN的架構(gòu)相似,包括4個(gè)階段,每個(gè)階段中的單元都是類似重復(fù)的。首先,通過圖塊分割將待處理的圖像H×W×3分割成不重合的圖塊集合,其中H和W為圖片的長和寬,假設(shè)分割后每個(gè)圖塊的尺寸是4像素×4像素,特征維度是4×4×3=48,圖塊數(shù)量是(H/4)×(W/4)。然后,在階段1中,使用線性鑲嵌把分割后的圖塊特征維度變成K,輸入到Swin Transformer模塊中。階段2至階段4的運(yùn)行步驟一致,都是先使用圖塊融合將相鄰的圖塊合并,輸入到Swin Transformer模塊中。經(jīng)過4個(gè)階段的處理后得到最終結(jié)果。在本文實(shí)驗(yàn)中,H、W分別設(shè)置為512。網(wǎng)絡(luò)的整體架構(gòu)如圖2所示。

圖2 Swin Transformer網(wǎng)絡(luò)整體架構(gòu)


圖3 Swin Transformer模塊
為了減少計(jì)算量,Swin Transformer網(wǎng)絡(luò)將待處理的圖像分為不重合的窗口,在不同窗口內(nèi)進(jìn)行自注意力計(jì)算。假設(shè)一個(gè)圖像的高、寬、維度分別為H、W、K,那么該圖像的計(jì)算量如式(1)所示。
CQ(MSA)=4HWK2+2(HW)2K
(1)
設(shè)圖像中每個(gè)窗口的高和寬為M,則圖像中包含(H/M)×(W/M)個(gè)窗口,每個(gè)窗口的計(jì)算量如式(2)所示。
CQ(Win)=4(MK)2+2(M)4K
(2)
因?yàn)橛?H/M)×(W/M)個(gè)窗口,則W-MSA的計(jì)算量如式(3)所示。
CQ(W-MSA)=4HWK2+2M2HWK
(3)
式中:CQ表示計(jì)算量。通過對(duì)比式(1)和式(3),可以看出W-MSA的計(jì)算量要低于整體圖像MSA的計(jì)算量。W-MSA的計(jì)算量與圖像的尺寸呈現(xiàn)為線性關(guān)系,這樣大幅度減少Swin Transformer網(wǎng)絡(luò)的計(jì)算復(fù)雜度,提高了該網(wǎng)絡(luò)的效率。
在使用W-MSA模塊時(shí),由于只在各個(gè)窗口內(nèi)進(jìn)行自注意力計(jì)算,導(dǎo)致不重合的窗口之間缺乏信息交流。為了解決這個(gè)問題,Swin Transformer網(wǎng)絡(luò)引入滑動(dòng)窗口分割,即SW-MSA模塊,如圖4所示。
根據(jù)圖4,其左側(cè)是第N層的W-MSA模塊,因?yàn)閃-MSA模塊和SW-MSA模塊成對(duì)使用,那么第N+1層即為SW-MSA模塊??梢钥闯?從第N層到第N+1層,窗口發(fā)生了偏移,如第N+1層中第1行第2列窗口可以使第N層中第1行的兩個(gè)窗口進(jìn)行信息交流,第N+1層中第2行第2列的窗口可以使第N層中的4個(gè)窗口進(jìn)行信息交流,第N+1層中第2行第1列的窗口可以使第N層中第1列的2個(gè)窗口進(jìn)行信息交流,其他同理。這種偏移窗口的方式使得上一層相鄰且不重合的窗口之間增加了連接,加大感受野,解決了不重合窗口之間缺乏信息交流的問題。由于窗口偏移后4個(gè)窗口變成了9個(gè)窗口,使得計(jì)算量有所增加,因此使用循環(huán)位移的方法對(duì)窗口進(jìn)行處理,如圖5所示。

圖4 W-MSA與SW-MSA

圖5 循環(huán)位移
對(duì)窗口內(nèi)的每個(gè)圖塊進(jìn)行MSA計(jì)算,如式(4)所示。
(4)
式中:Q表示查詢矩陣Query;K表示鍵矩陣Key;V表示值矩陣Value;d表示Q和K的維度;B表示相對(duì)位置偏差;SoftMax表示歸一化指數(shù)函數(shù)。
由于循環(huán)位移操作,需要對(duì)合并在一起的不同區(qū)域如圖5中的8和2進(jìn)行MSA計(jì)算,為了防止信息混亂,在實(shí)際的MSA計(jì)算中要加入掩膜操作,隔絕不同區(qū)域的信息。
原Swin Transformer網(wǎng)絡(luò)中使用FPN(feature pyramid network)算法模塊來構(gòu)建特征金字塔。FPN的結(jié)構(gòu)是一個(gè)從上到下的特征金字塔,使用上采樣把高層的特征信息進(jìn)行傳遞融合,得到進(jìn)行預(yù)測的特征圖,由高維度向低維度傳遞語義信息。隨著網(wǎng)絡(luò)層數(shù)逐漸加深,預(yù)測需要用的位置信息越差。為了解決這個(gè)問題,本文選擇結(jié)合PANet算法[18]來實(shí)現(xiàn)構(gòu)建特征金字塔的優(yōu)化,具體原理如圖6所示。

圖6 PANet算法原理
第一步在FPN的基礎(chǔ)上添加建立由下至上的加強(qiáng)路徑用來縮短信息路徑,利用低層級(jí)特征中存儲(chǔ)的精確定位信號(hào)來提升特征金字塔的架構(gòu),如圖6框b中所示。以B2到B3為例,B2經(jīng)過步長為2卷積核尺寸為3*3的卷積層進(jìn)行下采樣后,特征圖尺寸縮減一半,然后與A3進(jìn)行單位加,得到的結(jié)果再經(jīng)過步長為1卷積核尺寸為3*3的卷積層得到B3,特征圖尺寸不變。
第二步建立自適應(yīng)特征池化,如圖6框c和框d所示。先將通過區(qū)域生成網(wǎng)絡(luò)提取的感興趣區(qū)壓縮成一維的特征向量,再使用取和的方式進(jìn)行不同特征區(qū)域融合,在融合之后的基礎(chǔ)上進(jìn)行類別的預(yù)測。這一步用來修復(fù)每個(gè)候選區(qū)域與各個(gè)特征層次之間被破壞的信息路徑,集合各個(gè)特征層次上的每個(gè)候選區(qū)域,避免出現(xiàn)任意分配的情況。
第三步利用一個(gè)小型全連接層來補(bǔ)充掩膜預(yù)測,捕獲每個(gè)候選區(qū)域的不同視圖,如圖6框e所示。其結(jié)構(gòu)有兩支:主分支由4個(gè)尺寸為3*3的卷積核和一個(gè)2倍上采樣的反卷積組成,用來預(yù)測每個(gè)類別的mask分支;另一個(gè)分支是從第3個(gè)卷積分出的一個(gè)全連接層,其先使用2個(gè)尺寸為3*3的卷積降維,之后展開為一維向量,通過該一維向量預(yù)測類別不可知的前景或背景的mask,之后將其還原為與主分支尺寸相等的特征圖像。最后使用單位加和sigmoid激活函數(shù)得到輸出結(jié)果。這一步通過融合兩個(gè)視圖來增加信息的多樣性,使得預(yù)測的掩膜效果得到提升。
論文從總體精度(overall accuracy,OA)、Kappa系數(shù)和F1-score指數(shù)3個(gè)方面對(duì)提取結(jié)果進(jìn)行精度評(píng)定??傮w精度和Kappa系數(shù)的值越高,代表該方法分類結(jié)果的精度和一致性越高;F1-score指數(shù)越高,代表該方法越精確。F1-score指數(shù)常用于統(tǒng)計(jì)學(xué)中衡量二分類模型的精確度,可以看作是模型精確率和召回率的一種加權(quán)平均。
本文對(duì)資源三號(hào)衛(wèi)星01拍攝的影像進(jìn)行水體提取實(shí)驗(yàn),空間分辨率為5.8 m,影像尺寸大小均為8 856像素×8 672像素。采用Labelme標(biāo)注工具制作數(shù)據(jù)集,裁切的樣本大小為512像素×512像素,將包含一種或多種類別水體的樣本影像輸入到Labelme中,對(duì)樣本中的不同種類水體進(jìn)行標(biāo)注,生成包含分類名稱、屬性、點(diǎn)坐標(biāo)等信息的JSON格式文件,然后在Python平臺(tái)上對(duì)JSON格式文件和原始樣本數(shù)據(jù)進(jìn)行轉(zhuǎn)化,得到訓(xùn)練集、測試集和驗(yàn)證集。
在深度學(xué)習(xí)中,為了獲取更多的訓(xùn)練樣本,采用數(shù)據(jù)增強(qiáng)方法對(duì)已有的影像進(jìn)行處理。通過對(duì)影像進(jìn)行鏡像、90°旋轉(zhuǎn)、180°旋轉(zhuǎn)、色彩增強(qiáng)等增強(qiáng)操作擴(kuò)大數(shù)據(jù)集的規(guī)模,防止過擬合現(xiàn)象以提高訓(xùn)練的精度。以一個(gè)樣本數(shù)據(jù)為例,原始影像經(jīng)過數(shù)據(jù)增強(qiáng)操作后的數(shù)據(jù)樣本如圖7所示。本研究過程中,初始樣本個(gè)數(shù)為7 000個(gè),數(shù)據(jù)增強(qiáng)后得到訓(xùn)練樣本數(shù)目為28 000個(gè)的數(shù)據(jù)集,其中按8∶2的比例劃分訓(xùn)練集和測試集,輸入到網(wǎng)絡(luò)模型中進(jìn)行訓(xùn)練。

圖7 數(shù)據(jù)增強(qiáng)
實(shí)驗(yàn)使用Windows10操作系統(tǒng),CPU為Intel(R) Core(TM) i5,GPU為NVIDIA RTX3060,6 GB顯存,配置CUDA11.1,編程平臺(tái)為Python3.8。模型設(shè)置最大迭代次數(shù)為20次,學(xué)習(xí)率為0.000 1。
為了驗(yàn)證本文方法在不同區(qū)域的提取效果,根據(jù)影像中地物種類的復(fù)雜程度從復(fù)雜到簡單依次選擇城區(qū)、郊區(qū)和山區(qū)3種地形的影像進(jìn)行水體提取,并與歸一化水體指數(shù)法(normalized difference water index,NDWI)、支持向量機(jī)法(support vector machine,SVM)、最大似然法(maximum likelihood classification,MLC)、BoxInst網(wǎng)絡(luò)法、Swin Transformer網(wǎng)絡(luò)法的結(jié)果作對(duì)比。原始影像、真值及不同算法的水體提取結(jié)果如圖8~圖10所示,其中真值由人工目視解譯得到,圖中白色部分表示提取到的水體。
不同算法對(duì)城區(qū)、郊區(qū)、山區(qū)3組影像進(jìn)行水體提取結(jié)果的精度統(tǒng)計(jì)如表1所示,為方便表示將表1中Swin Transformer網(wǎng)絡(luò)縮寫為ST。通過對(duì)結(jié)果圖和統(tǒng)計(jì)數(shù)據(jù)進(jìn)行分析得出:對(duì)于城區(qū)影像,在受到建筑物陰影等因素的影響下,水體指數(shù)法、支持向量機(jī)法與最大似然法這類傳統(tǒng)方法的提取效果不佳,出現(xiàn)大量錯(cuò)分的情況;BoxInst網(wǎng)絡(luò)法受陰影影響較少,但存在將河流附近地物錯(cuò)分為水體以及大量漏分的情況;Swin Transformer網(wǎng)絡(luò)法與本文方法在城區(qū)影像水體提取的表現(xiàn)較為良好。

圖8 不同算法對(duì)城區(qū)影像的水體提取結(jié)果

圖9 不同算法對(duì)郊區(qū)影像的水體提取結(jié)果

圖10 不同算法對(duì)山區(qū)影像的水體提取結(jié)果

表1 不同算法對(duì)不同區(qū)域的水體提取精度
對(duì)于包含大面積水域的郊區(qū)影像,傳統(tǒng)的水體提取方法與深度學(xué)習(xí)水體提取方法均有一定的細(xì)節(jié)缺失問題。整體上傳統(tǒng)方法與BoxInst網(wǎng)絡(luò)法存在大量錯(cuò)分情況,從表1可以看出,傳統(tǒng)方法與BoxInst網(wǎng)絡(luò)法在郊區(qū)水體提取上的各項(xiàng)精度表現(xiàn)均不如Swin Transformer網(wǎng)絡(luò)法及本文方法。
對(duì)于山區(qū)影像,傳統(tǒng)方法與深度學(xué)習(xí)方法在面對(duì)地類構(gòu)成簡單的影像時(shí),都具有良好的提取效果。但是在提取精度上從表1可以看出,本文方法的總體精度、Kappa系數(shù)、F1-score指數(shù)更高,更具可靠性。
由于本文方法使用PANet算法代替FPN算法對(duì)特征金字塔的構(gòu)建進(jìn)行優(yōu)化,預(yù)測的掩膜效果得到提升,對(duì)水體的特征提取更加細(xì)致,有效減少了水體提取的部分缺失和漏分現(xiàn)象。本文方法對(duì)城區(qū)、郊區(qū)、山區(qū)的提取總體精度分別為90.14%、91.87%、96.52%,Kappa系數(shù)分別為0.80、0.83、0.88,F1-score指數(shù)分別為0.81、0.83、0.87,本文方法各指標(biāo)均優(yōu)于基礎(chǔ)的Swin Transformer網(wǎng)絡(luò)法。
另外,BoxInst網(wǎng)絡(luò)法、Swin Transformer網(wǎng)絡(luò)法本文方法在對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練時(shí),本文方法與平均訓(xùn)練每張數(shù)據(jù)所需時(shí)間為0.71 s,低于BoxInst網(wǎng)絡(luò)的1.09 s,略高于基礎(chǔ)Swin Transformer網(wǎng)絡(luò)的0.51 s,表明本文方法的模型訓(xùn)練數(shù)據(jù)集的效率較高。
本文提出一種改進(jìn)的Swin Transformer網(wǎng)絡(luò)的資源三號(hào)衛(wèi)星影像水體提取方法。使用Labelme標(biāo)注工具建立水體數(shù)據(jù)集,利用結(jié)合PANet算法的SwinTransformer網(wǎng)絡(luò)進(jìn)行訓(xùn)練。將其用于城區(qū)、郊區(qū)、山區(qū)水體進(jìn)行提取,并與歸一化水體指數(shù)法、支持向量機(jī)法、最大似然法、BoxInst網(wǎng)絡(luò)法、Swin Transformer網(wǎng)絡(luò)法進(jìn)行對(duì)比分析。通過實(shí)驗(yàn)對(duì)比分析,得到以下結(jié)論。
1)本文方法的總體精度、Kappa系數(shù)、F1-score指數(shù)均高于其他5種方法,對(duì)城區(qū)、郊區(qū)、山區(qū)的水體提取效果良好,但是對(duì)于細(xì)小水體還存在少量漏分的情況。
2)與傳統(tǒng)方法相比,本文方法通過大量的數(shù)據(jù)集訓(xùn)練對(duì)水體的特征進(jìn)行提取,避免受到影像中陰影等因素的影響,極少出現(xiàn)錯(cuò)分現(xiàn)象,可適用于地物種類構(gòu)成較為復(fù)雜的影像水體提取。
3)與BoxInst網(wǎng)絡(luò)法、Swin Transformer網(wǎng)絡(luò)法相比,本文方法由于結(jié)合PANet算法對(duì)特征金字塔的構(gòu)建進(jìn)行優(yōu)化,提高預(yù)測的效果,水體提取精度和模型穩(wěn)定性更高。
本文方法仍存在一些不足,例如面對(duì)細(xì)小水體時(shí)會(huì)出現(xiàn)少量漏分的情況;模型的運(yùn)行效率稍低于基礎(chǔ)的Swin Transformer網(wǎng)絡(luò),后續(xù)將進(jìn)一步對(duì)此進(jìn)行研究。本研究拓展了Swin Transformer網(wǎng)絡(luò)在資源三號(hào)衛(wèi)星影像上進(jìn)行水體提取的新應(yīng)用,進(jìn)而可以用于不同種類的水體提取。