董榮勝,馬雨琪,劉意,李鳳英
桂林電子科技大學(xué)廣西可信軟件重點實驗室,桂林 541004
農(nóng)作物遙感圖像語義分割旨在對農(nóng)作物遙感圖像進行像素級分類,將圖像分割為具有不同語義標識的區(qū)域。對農(nóng)作物遙感圖像進行語義分割能精準、快速地獲取農(nóng)作物的面積以及分布情況,這對監(jiān)測農(nóng)作物面積、長勢或災(zāi)害,識別農(nóng)作物類型,評估農(nóng)作物產(chǎn)量等方面有著重要的研究意義(煉晨,2021)。
圖像分割是遙感技術(shù)中一個重要應(yīng)用。國內(nèi)外學(xué)者對圖像分割技術(shù)展開了大量的研究。傳統(tǒng)的圖像分割方法有閾值分割法、區(qū)域分割法和邊緣檢測法等。閾值分割法由于其方法簡單且穩(wěn)定,廣泛應(yīng)用在圖像分割技術(shù)中(劉碩,2020)。其中Otsu法(Otsu,1979)是一種對閾值選擇相對合理、分割效果較好的方法。它根據(jù)圖像的灰度特性,將圖像分成前景和背景兩個部分,然后計算出一個最佳閾值,使得前景和背景的區(qū)分度達到最大。但Otsu法沒有考慮像素的空間分布以及目標和背景占比不平衡的情況。這使得閾值選擇受限,而區(qū)域分割法可以彌補這一點。區(qū)域生長法(Adams和 Bischof,1994)是區(qū)域分割中常用的方法,本質(zhì)是根據(jù)一定規(guī)則將相似的像素不斷聚合形成大區(qū)域塊實現(xiàn)分割(王秋萍 等,2019)。但該方法會造成圖像的過分割(侯紅英 等,2019)。與區(qū)域分割法不同,邊界分割法可以利用不同區(qū)域之間的像素或灰度檢測出區(qū)域邊緣,以此分割圖像。常用的邊緣檢測微分算子有Roberts(Roberts,1963)、Sobel和Prewitt(Prewitt,1970)等。傳統(tǒng)的圖像分割技術(shù)只能針對一些簡單場景中的物體,對于地物復(fù)雜的海量遙感圖像,耗時長且效果并不理想,需要新的方法來解決。
隨著大規(guī)模數(shù)據(jù)集的出現(xiàn),深度學(xué)習(xí)技術(shù)在圖像語義分割領(lǐng)域越來越具優(yōu)勢?;谏疃葘W(xué)習(xí)的語義分割,是對每個像素進行分類。相比傳統(tǒng)方法,深度學(xué)習(xí)具有兼顧速度和精度的優(yōu)勢。Shelhamer等人(2017)運用全卷積網(wǎng)絡(luò)(fully convolutional networks, FCN)將全連接層替換為卷積層后提取圖像的卷積特征,用反卷積層恢復(fù)特征圖的尺寸,保留了輸出圖像的空間信息。Ronneberger等人(2015)提出U-Net網(wǎng)絡(luò)結(jié)構(gòu)。U-Net采用一種編碼—解碼網(wǎng)絡(luò),將編碼器中的空間信息和解碼器中的語義信息結(jié)合,以恢復(fù)在下采樣中丟失的空間細節(jié)。Chen等人(2018)在DeepLab網(wǎng)絡(luò)中添加了金字塔池化模塊(atrous spatial pyramid pooling,ASPP),用來提取感受野不同的特征信息。Zheng等人(2020)提出FarSeg網(wǎng)絡(luò),通過前景—場景關(guān)系模塊學(xué)習(xí)場景與前景之間的關(guān)系,關(guān)聯(lián)與前景相關(guān)的上下文以增強前景特征,用來解決遙感圖像中背景類內(nèi)存在的差異。同時,利用前景感知優(yōu)化抑制背景中的無關(guān)信息,將網(wǎng)絡(luò)集中于前景,從而減輕前景背景不平衡問題。
一些學(xué)者將注意力機制引入到語義分割網(wǎng)絡(luò)中捕獲像素間的長距離相關(guān)關(guān)系,從全局信息中提取出更重要的信息,以達到更好的分割效果。Hu等人(2018)應(yīng)用SE(squeeze-and-excitation)注意力模塊學(xué)習(xí)通道特征間的相關(guān)性,并給每個通道分配不同權(quán)重,以強調(diào)有用的通道特征,抑制無關(guān)的通道特征。Woo等人(2018)提出的CBAM(convolutional block attention module)模塊結(jié)合了空間和通道注意力機制,涵蓋了更豐富的特征。Hou等人(2021)在CA(coordinate attention)模塊通過嵌入位置信息到通道注意力中,以獲取跨通道的方向與位置信息,使網(wǎng)絡(luò)能更準確地定位并識別目標區(qū)域。
伴隨著人工智能和計算機視覺技術(shù)的廣泛應(yīng)用,一些學(xué)者開始將基于深度學(xué)習(xí)的圖像分割技術(shù)應(yīng)用到農(nóng)作物遙感圖像分割中,并取得較好的效果。Pena等人(2019)將SegNet(Badrinarayanan等, 2017)用于農(nóng)作物分割中,相比傳統(tǒng)的機器學(xué)習(xí)算法有了大幅度的提升。張詩琪(2020)搭建了基于農(nóng)作物分類識別的GoogLeNet(Szegedy等,2014)和U-Net兩種深度學(xué)習(xí)網(wǎng)絡(luò),將卷積方式改為深度可分離卷積,減少卷積參數(shù)量并進一步提升網(wǎng)絡(luò)運行效率。徐馨蘭(2020)針對農(nóng)作物遙感圖像提出ELGNet語義分割網(wǎng)絡(luò),在EfficientNet(Tan和Le,2020)網(wǎng)絡(luò)中添加了一種基于全局與局部交互的模塊,降低了長距離信息損失,優(yōu)化了網(wǎng)絡(luò)的學(xué)習(xí)能力。
盡管上述網(wǎng)絡(luò)取得了較好的成果,但是沒有針對農(nóng)作物遙感數(shù)據(jù)集中存在的問題做進一步處理,這些問題主要體現(xiàn)在以下3個方面:1)不同類別的樣本數(shù)量差異很大且分布極不平衡,如背景類的樣本多,其他類別的樣本少。這會導(dǎo)致網(wǎng)絡(luò)訓(xùn)練過擬合、魯棒性差。2)部分樣本中不同農(nóng)作物的外形特征相似度高,使得網(wǎng)絡(luò)難以分辨外形相近的不同農(nóng)作物。如玉米與薏仁米外形相似,圖1(a)中網(wǎng)絡(luò)將玉米錯誤分類為薏仁米,圖1(b)中薏仁米被錯誤分類為玉米。而相同農(nóng)作物的外形特征差異性大,使得網(wǎng)絡(luò)將同種農(nóng)作物錯誤分類為其他農(nóng)作物。如圖1(c)中網(wǎng)絡(luò)將薏仁米錯誤分類為烤煙。3)農(nóng)作物在農(nóng)用地上的分布通常相鄰,且農(nóng)用地中的地物信息復(fù)雜多樣,干擾信息多。這會導(dǎo)致相鄰農(nóng)作物的邊界分割不準確。如圖1(d)中薏仁米與玉米的邊界不清晰,與烤煙的邊界不完整。
圖1 可視化示例Fig.1 Visualization examples ((a) the first misclassification of similar classes;(b) the second misclassification of similar classes; (c) misclassification of the same class; (d) unclear boundary)
基于此,本文提出一種加強類別關(guān)系模塊的語義分割網(wǎng)絡(luò)CRNet(class relation network)以解決上述問題。該網(wǎng)絡(luò)由編碼器、類別關(guān)系模塊和解碼器組成。編碼器使用ResNet-34(He等,2016)作為主干網(wǎng)絡(luò),自底向上逐步下采樣以提取圖像中的特征,并通過特征金字塔結(jié)構(gòu)自頂向下將不同階段的特征圖進行結(jié)合,以融合低階的空間信息和高階的語義信息。在類別關(guān)系模塊中,引入一種新的類別特征加強注意力模塊(class feature enhancement,CFE),分別對編碼器中每個階段的特征進行學(xué)習(xí),獲取其中不同農(nóng)作物間的語義特征差異和同種農(nóng)作物間的相關(guān)性,以增強對不同農(nóng)作物語義特征的識別能力,緩解了因為農(nóng)作物的特征類間差異小、類內(nèi)差異大導(dǎo)致的錯分問題。解碼器將不同尺度的特征圖融合并還原至初始分辨率,充分結(jié)合各個尺度的特征信息來進行最終的分類,能使分割后的相鄰農(nóng)作物的邊界更加清晰、完整。同時為了緩解數(shù)據(jù)不平衡問題,本文通過數(shù)據(jù)增強,減少背景類的樣本占比來擴充其他類別的樣本數(shù)量,并進一步引入一種類別平衡損失函數(shù)(class-balanced loss, CB loss)(Cui等,2019)以解決數(shù)據(jù)不平衡問題。
本文的主要貢獻有如下3個方面:1)提出了一種用于農(nóng)作物遙感圖像語義分割的網(wǎng)絡(luò)CRNet;2)提出了類別關(guān)系模塊,并引入CFE注意力模塊,以增大不同農(nóng)作物的語義差異和相同農(nóng)作物特征的相關(guān)性。3)本文通過數(shù)據(jù)增強和CB損失函數(shù)緩解了背景和農(nóng)作物的樣本不平衡的問題。
將圖像進行數(shù)據(jù)增強操作后,輸入到CRNet網(wǎng)絡(luò)中。CRNet網(wǎng)絡(luò)由編碼器、類別關(guān)系模塊和解碼器構(gòu)成,如圖2所示。編碼器首先通過主干網(wǎng)絡(luò)ResNet-34提取特征,然后使用特征金字塔結(jié)構(gòu)逐步融合從高階到低階的特征。類別關(guān)系模塊采用3層并行結(jié)構(gòu),分別利用類別特征加強注意力模塊CFE學(xué)習(xí)不同尺度特征中的相關(guān)關(guān)系。最后解碼器將它們?nèi)诤喜⑼ㄟ^上采樣恢復(fù)圖像分辨率。
由于農(nóng)作物遙感圖像數(shù)據(jù)集中地物數(shù)量不平衡且樣本數(shù)量不足,網(wǎng)絡(luò)容易出現(xiàn)過擬合的問題。針對此類問題,本文對樣本數(shù)據(jù)進行處理。如圖3所示,在數(shù)據(jù)預(yù)處理階段使用任意的水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)、縮放、亮度調(diào)整和對比度調(diào)整等圖像增強方式以及數(shù)據(jù)增廣來降低不同種類農(nóng)作物樣本數(shù)量的差距,豐富數(shù)據(jù)的多樣性。
1.2.1 編碼器
編碼器由作為主干網(wǎng)絡(luò)的ResNet-34和特征金字塔結(jié)構(gòu)(feature pyramid network,F(xiàn)PN)(Lin等,2017)組成。見圖2(a)。主干網(wǎng)絡(luò)詳細結(jié)構(gòu)如表1所示,初始層替換成ENet(efficient neural network)(Paszke等,2016)的初始層,由1個核為3×3、步長為2的卷積層和1個核為2×2、步長為2的池化層拼接組成。作為基本組成單元的殘差塊由2個核為3×3的卷積層組成。每經(jīng)過一個階段,特征圖尺寸下采樣至一半,同時通道維度加倍,以保持信息量不變。
圖2 本文方法CRNet的結(jié)構(gòu)框架圖Fig.2 The framework of the proposed method CRNet ((a) encoder; (b) category relation module; (c) decoder)
圖3 數(shù)據(jù)增強示例Fig.3 Examples of data enhancement ((a) original image; (b) flip horizontal; (c) flip vertical; (d) scaling; (e) lightness adjustment; (f) contrast adjustment)
表1 特征提取網(wǎng)絡(luò)結(jié)構(gòu)Table 1 Network structure of feature extractors
在特征金字塔結(jié)構(gòu)中,最后一個階段的輸出特征圖S5經(jīng)過2倍雙線性插值法上采樣后,與上一個階段的輸出特征圖S4逐元素相加,進行特征融合后得到特征圖U3。以此類推,逐步特征融合得到特征圖U2和U1。
深層網(wǎng)絡(luò)通過下采樣不斷增大感受野,能提供豐富的語義信息,但在下采樣的過程中丟失了大量農(nóng)作物的空間細節(jié)信息,使得網(wǎng)絡(luò)在上采樣時無法還原農(nóng)作物的位置信息,降低了圖像分割的準確率。通過特征金字塔結(jié)構(gòu),將高階語義特征與低階空間特征進行跨尺度融合,降低下采樣帶來的信息損失,并在參數(shù)數(shù)量基本不變的情況下,生成了表征能力更強的特征,使編碼器提取出更為清晰的農(nóng)作物邊界,提升了圖像的分割精度。
1.2.2 類別關(guān)系模塊
針對農(nóng)作物遙感圖像地物信息復(fù)雜、農(nóng)作物類間差異小、類內(nèi)差異大的問題,本文引入類別關(guān)系模塊,通過CFE注意力模塊學(xué)習(xí)農(nóng)作物之間的相關(guān)關(guān)系,獲取同種類農(nóng)作物特征之間的相關(guān)性,以及不同種類農(nóng)作物特征之間的差異性。
如圖2(b)所示,類別關(guān)系模塊由3層平行結(jié)構(gòu)組成。由編碼器輸出的3個層級的特征分別經(jīng)過1×1卷積層后,通道維度降為5。這里的1×1卷積層可以視為一個分類器,將全局特征映射到5個通道中,與分類類別一一對應(yīng),每個通道即可代表一個類別的特征。之后,每個層級的特征圖分別輸入CFE注意力模塊。
CFE注意力模塊包含通道注意力和空間注意力。通道注意力機制學(xué)習(xí)不同通道,即農(nóng)作物之間的語義差異,并為每個類別分配不同的權(quán)重;加強位置信息的空間注意力機制對空間中的上下文信息進行編碼,獲取每個通道中像素之間,即同種農(nóng)作物特征之間的相關(guān)關(guān)系,并為每個像素分配不同的權(quán)重。該模塊可以獲取不同類別中更具分辨性的特征,增大了不同農(nóng)作物間的特征差異;同時,使得相同類別的特征中包含更豐富的上下文信息,有利于降低對于同種農(nóng)作物的錯誤分類。
1.2.3 類別特征加強注意力模塊
受CA模塊和CBAM模塊的啟發(fā),本文提出了一種類別特征加強注意力模塊(CFE),其由通道注意力機制和加強位置信息的空間注意力機制組成。
1)通道注意力模塊。通道注意力模塊通過引入通道注意力機制學(xué)習(xí)每個通道,即每個類別的特征之間的相關(guān)關(guān)系并為它們分配權(quán)重,以強調(diào)相關(guān)性強的類別的特征,抑制相關(guān)性弱的類別的特征,從而增加不同類別特征之間的區(qū)分度。如圖4(a)所示,具體過程如下。
給定特征圖x∈RC×H×W,分別通過全局平均池化和全局最大池化,在空間維度上對通道信息進行編碼,同時對全局上下文信息建模,得到每個通道的全局特征。
全局平均池化對特征圖在空間維度上進行壓縮,以聚合農(nóng)作物的空間信息。在第c個通道上的全局平均池化計算為
(1)
式中,H和W分別表示特征圖的高度和寬度,xc(i,j)表示第c個通道的坐標為(i,j)的特征值。特征圖x經(jīng)過全局平均池化后,得到xcg∈RC×1×1。
全局最大池化可以收集農(nóng)作物獨特的特征,在通道上保留更多的紋理信息。在第c個通道上的全局最大池化計算為
(2)
式中,H和W分別表示特征圖的高度和寬度,特征圖x經(jīng)過全局最大池化后,得到xcm∈RC×1×1。
為了充分利用全局信息,將xcg和xcm分別通過1×1卷積層進行建模,在每個卷積操作后都附加批量歸一化(batch normalization,BN)層(Ioffe和Szegedy,2015),對數(shù)據(jù)進行標準化處理,以提高訓(xùn)練效率,增強網(wǎng)絡(luò)泛化能力,減少過擬合。再通過ReLU(rectified linear units)激活函數(shù)層(Glorot等,2011),增加網(wǎng)絡(luò)的非線性表達能力,改善梯度消失問題,加快梯度下降收斂的速度,之后分別得到兩個特征圖x1和x2。計算式為
x1=δ(BN(F1(g(xc))))
(3)
x2=δ(BN(F1(m(xc))))
(4)
式中,F(xiàn)1為1×1卷積變換函數(shù),BN表示批歸一化處理,δ表示ReLU激活函數(shù)。
接著,將x1和x2逐元素相加,并通過sigmoid激活函數(shù)生成一個權(quán)重向量,用以給各通道分配權(quán)重。將其與輸入x進行逐通道相乘,得到輸出特征圖x′。至此完成對通道域注意力信息的權(quán)重重標定,即增加相關(guān)通道上特征的權(quán)重,如農(nóng)作物的外形特征,減少無關(guān)通道上特征的權(quán)重,如無關(guān)的背景。
特征圖中不同通道的重要性不同,重要的特征被加強,不重要的特征被減弱。該過程表示為
x′=σ(F1(x1)+F1(x2))?x
(5)
式中,F(xiàn)1為1×1卷積變換函數(shù),σ表示sigmoid激活函數(shù),?表示對應(yīng)元素相乘,特征圖x′∈RC×1×1。
2)加強位置信息的空間注意力模塊。在增強位置信息的空間注意力中,通過學(xué)習(xí)空間中水平和豎直方向上的上下文信息片段,使特征圖中每個像素都與水平或豎直方向建立聯(lián)系。從而增加了農(nóng)作物的空間特征,如農(nóng)作物的形狀、分布等,加強了同種農(nóng)作物間的關(guān)聯(lián)。如圖4(b)所示。
圖4 CFE模塊Fig.4 The CFE block ((a) channel attention module; (b) spatial attention module
首先將特征圖x′進行重排,得到x′w∈RW×H×C和x′h∈RH×C×W,然后通過全局平均池化,得到水平和豎直方向上的全局上下文表示。在第W個通道上的全局平均池化計算為
(6)
式中,H和C分別表示特征圖的高度和寬度,x′w(i,j)表示水平方向上坐標為(i,j)的特征值。特征圖x′w經(jīng)過水平方向上的全局平均池化后,得到xwg∈RW×1×1。
在第H個通道上的全局平均池化計算為
(7)
式中,C和W分別表示特征圖的高度和寬度,x′h(i,j)表示豎直方向上坐標為(i,j)的特征值。特征圖x′h經(jīng)過豎直方向上的全局平均池化后,得到xhg∈RH×1×1。
為了充分利用水平方向和豎直方向上的特征圖的信息,將上述兩個特征圖在通道維度上進行拼接,得到一個維度為(W+H)×1×1的張量。然后通過1×1卷積層對其進行建模,得到張量f。計算過程可表示為
f=F1([xwg,xhg])
(8)
式中,[·,·]表示沿通道維度的拼接操作,F(xiàn)1為1×1卷積變換函數(shù)。
(9)
式中,i∈(1,H),j∈(1,W),H和W分別表示特征圖的高度和寬度,σ表示sigmoid激活函數(shù),x′為經(jīng)過通道注意力機制輸出的特征圖,y為最終輸出的特征圖。
1.2.4 解碼器
如圖2(c)所示,解碼器包含3層輕量級解碼結(jié)構(gòu)。每層分別將不同尺度的特征圖上采樣至統(tǒng)一尺寸并進行特征融合,使輸出特征圖包含不同尺度的上下文信息,便于網(wǎng)絡(luò)識別不同尺度的農(nóng)作物特征,提高對于農(nóng)作物邊界的分割準確度。
每一層輕量級解碼結(jié)構(gòu)如圖5所示,特征圖通過1×1卷積層后,采用雙線性插值法上采樣至256×256像素的分辨率。
最后將3層特征圖通過逐元素相加進行特征融合,通過2倍上采樣生成與輸入圖像尺寸相同的輸出特征圖,使用1×1卷積作為像素級分類器,得到最終的預(yù)測圖。
圖5 輕量級解碼結(jié)構(gòu)Fig.5 Decoder structure
為了進一步緩解類別不平衡問題,引入CB 損失函數(shù)來替代傳統(tǒng)的交叉熵損失函數(shù)(cross entropy,CE loss)。類別平衡損失處理不平衡數(shù)據(jù)集的方法主要是通過引入一個與每個類的樣本數(shù)成反比的加權(quán)因子,以平衡損失。類別平衡損失函數(shù)計算為
(10)
式中,En表示樣本的有效數(shù)量,ny表示類別y的標簽數(shù)量。p是預(yù)測類概率。β= 0對應(yīng)沒有重新加權(quán),β→1對應(yīng)于用反向頻率進行加權(quán)。L(p,y)為常用的損失函數(shù),本文采用的是Focal損失函數(shù)(Lin 等,2020)。
實驗包括CRNet在Barley Remote Sensing數(shù)據(jù)集(https://tianchi.aliyun.com/dataset/dataDetail?Spm=5176.12281978.0.0.76944054SUIPaL&dataId=74952)上的消融實驗以及與現(xiàn)有網(wǎng)絡(luò)的對比實驗。
實驗使用的Barley Remote Sensing數(shù)據(jù)集源于阿里天池的“縣域農(nóng)業(yè)大腦AI挑戰(zhàn)賽”。如圖6所示,該數(shù)據(jù)集為 2019年無人機航拍的貴州省興仁市的農(nóng)作物高分辨率遙感圖像,其光譜為可見光波段(RGB)。數(shù)據(jù)集將訓(xùn)練樣本分為5類:薏仁米(標記 1)、玉米(標記 2)、烤煙(標記 3)、建筑(標記 4)以及其他(標記 0)。
圖6 Barley Remote Sensing數(shù)據(jù)集樣本Fig.6 Samples of the Barley Remote Sensing dataset
數(shù)據(jù)集為4幅大尺寸遙感高分辨率圖像,平均大小1.8 GB。尺寸從18 576×68 363像素~55 128×49 447像素,不可直接將其作為神經(jīng)網(wǎng)絡(luò)的輸入。
將圖像裁剪為多個512×512像素的子圖。裁剪后,數(shù)據(jù)集共有11 750幅子圖,其中訓(xùn)練集含有9 413幅圖像,測試集含有2 337幅圖像,訓(xùn)練集和測試集的比例約為4 ∶1。圖7所示為5種類型的部分圖像和標簽,其中薏仁米與玉米的外形差異小、與烤煙的分布特征相似度高;薏仁米和玉米的類間差異大;并且周圍地物結(jié)構(gòu)具有復(fù)雜性。
如圖8所示,該數(shù)據(jù)集中不同農(nóng)作物的數(shù)量分布不均,是一個典型的類別不平衡的樣本。其中其他占比達到76.3%,而農(nóng)作物占比僅為4.4%、6.6%和10%,使得學(xué)習(xí)到的農(nóng)作物特征不足,導(dǎo)致網(wǎng)絡(luò)的泛化能力減弱,難以訓(xùn)練出合適的網(wǎng)絡(luò)。為了解決該問題,本文在對高分辨率農(nóng)作物遙感影像進行裁剪時,減少了其他類別占比大的圖像的數(shù)量。
實驗環(huán)境使用的深度學(xué)習(xí)框架為Pytorch1.7,開發(fā)環(huán)境為Python3.8,操作系統(tǒng)為Ubuntu 18.04.3 LTS,GPU選用一張GeForce RTX 2080 Ti,顯存大小為11 GB。
實驗參數(shù)設(shè)置如下:輸入圖像為512×512像素;批尺寸為10;迭代次數(shù)為100;權(quán)重衰減為 0.000 5;初始學(xué)習(xí)率為0.000 5;優(yōu)化器采用Adam算法,動量參數(shù)為0.9。同時引入poly衰減策略來調(diào)整學(xué)習(xí)率,即
(11)
式中,lr為本輪學(xué)習(xí)率,lrbase為初始學(xué)習(xí)率,e為當(dāng)前迭代次數(shù),enum是最大迭代次數(shù),p為0.9。
圖7 Barley Remote Sensing數(shù)據(jù)集子圖樣本Fig.7 Samples of the Barley Remote Sensing Dataset’s subgraph ((a) else; (b) flue-cured tobacco; (c) barley rice; (d) corn; (e) building; (f) ground truth 0; (g) ground truth 1; (h) ground truth 2; (i) ground truth 3; (j) ground truth 4)
圖8 樣本類別不平衡Fig.8 Category imbalanced sample
為評估圖像語義分割方法的性能,除了運行時間、內(nèi)存大小外,主要是從語義分割的準確性進行衡量。常用的性能評價指標主要包括交并比(intersection over union,IoU)、平均交并比(mean intersection over union,MIoU)和總體精度(overall accuracy,OA)。
設(shè)測試數(shù)據(jù)集中總共有k個類,pii表示第i類數(shù)據(jù)中被標記為第i類的數(shù)量,pij表示第i類數(shù)據(jù)中被標記為第j類的數(shù)量,pji表示第j類數(shù)據(jù)中被標記為第i類的數(shù)量,N為圖像中像元總數(shù)。
1)交并比IoU表示分割結(jié)果與其真實值的重合度,計算為
(12)
2)平均交并比MIoU是語義分割的標準度量。在每個類別上計算IoU值后,求和再平均,即
(13)
3)總體分類精度OA等于被標記正確的像素占總像素的比例,計算為
(14)
為了驗證本文提出的注意力模塊的有效性,在 Barley Remote Sensing數(shù)據(jù)集上對未添加注意力模塊以及添加不同注意力模塊進行測試。實驗結(jié)果如表2所示。
表2 類別關(guān)系模塊中未添加以及添加不同注意力的結(jié)果對比Table 2 Comparisons results of adding different attention models or not on classes relation module /%
實驗表明,在網(wǎng)絡(luò)中添加注意力模塊比未添加注意力模塊的MIoU和OA有所提高。在網(wǎng)絡(luò)中添加CFE注意力模塊比添加CBAM或CA注意力模塊的MIoU和OA分別提高了3.84%和2.36%、2.95%和2.33%,證明了CFE注意力模塊的有效性。
如圖9所示,為了增加注意力模塊的可解釋性,本文對訓(xùn)練后的網(wǎng)絡(luò)進行熱力圖(heatmap)可視化,該技術(shù)將網(wǎng)絡(luò)對注意力關(guān)注的區(qū)域用熱力圖的方式表現(xiàn)出來,熱力圖中偏紅色和黃色區(qū)域表示被分配較大的權(quán)重。對于第1幅熱力圖,CBAM注意力關(guān)注了無關(guān)的背景區(qū)域且沒有分割出左下角的玉米;CFE注意力分割了完整的農(nóng)作物,并抑制無關(guān)背景。對于第2幅熱力圖,未添加注意力的網(wǎng)絡(luò)對于邊界的分割不完整并且沒有關(guān)注到農(nóng)作物的細節(jié)特征。CFE注意力突出了農(nóng)作物的外形特征;對于第3幅熱力圖,CA注意力沒有關(guān)注到農(nóng)作物;CFE注意力不僅關(guān)注到了農(nóng)作物的全局分布,也關(guān)注到了局部細節(jié)。
圖9 未添加及添加不同注意力模塊的熱力圖比較Fig.9 Comparison of heatmap among adding different attention models or not ((a) original images; (b) ground truth labeling; (c) no attention mechanism; (d) CBAM; (e) CA; (f) CFE(ours))
為了減少類別不平衡對實驗結(jié)果產(chǎn)生的負面影響,本文選用多個損失函數(shù)做對比實驗。如表3所示,使用CB損失函數(shù)的結(jié)果要優(yōu)于CE、BCE和Focal損失函數(shù)。其中,使用CB損失函數(shù)的MIoU和OA比使用Focal、BCE、CE損失函數(shù)分別提高了2.73%和1.81%、1.76%和1.26%、1.59%和1.7%。由此說明了CB損失函數(shù)可以緩解樣本不平衡問題,改善分割結(jié)果。
表3 不同損失函數(shù)的結(jié)果對比Table 3 Comparisons results of different loss functions on performance /%
為了驗證本文網(wǎng)絡(luò)的有效性,在Barley Remote Sensing數(shù)據(jù)集上進行大量對比實驗。對比網(wǎng)絡(luò)有 LinkNet(Chaurasia和Culurciello,2017)、PSPNet(pyramid scene parsing network)(Zhao等,2017)、DeepLabv3+、FarSeg、STLNet(statistical texture learning network)(Zhu等,2021)和FPN。如表4所示,CRNet在MIoU和OA上為68.89%和82.59%,與LinkNet、PSPNet、DeepLabv3+、FarSeg、STLNet、FPN相比分別提高了7.42%和4.35%、4.86%和2.6%、4.57%和3.01%、4.36%和2.5%、4.05%和2.45%、3.63%和1.85%。在玉米、薏仁米和建筑上的IoU均達到了最優(yōu)。
圖10給出了網(wǎng)絡(luò)在測試集上的可視化實驗結(jié)果??梢园l(fā)現(xiàn)6種比較網(wǎng)絡(luò)均存在不同程度的錯分和邊界劃分不清。對于第1幅測試圖,由于其他類和玉米相似,不易區(qū)分,6種網(wǎng)絡(luò)均把其他類錯分成玉米或建筑。對于第2幅測試圖,由于玉米和薏仁米的類間差異小,4種網(wǎng)絡(luò)把左下角的薏仁米錯分為玉米。對于第3幅測試圖,由于薏仁米的類內(nèi)差距大、分布不同,6種網(wǎng)絡(luò)均把薏仁米錯分成烤煙或其他。對于第4幅測試圖,4種網(wǎng)絡(luò)劃分的邊界不清晰不完整。對于第5幅測試圖,6種網(wǎng)絡(luò)均未能正確地分割出建筑和其他類。相比于其他網(wǎng)絡(luò),CRNet的分割效果與真實標簽相近,能夠區(qū)分出外形相似的不同農(nóng)作物以及識別出差異較大的同種農(nóng)作物,并且分割出完整清晰的邊界,說明本文網(wǎng)絡(luò)具有較好的分割效果。
表4 在 Barley Remote Sensing 數(shù)據(jù)集上不同方法的結(jié)果對比Table 4 Comparisons results of different methods on Barley Remote Sensing Dataset /%
圖10 不同方法在 Barley Remote Sensing 數(shù)據(jù)集上的圖像分割效果Fig.10 Image segmentation effects of different methods on Barley Remote Sensing Dataset((a) original images; (b) ground truth labeling; (c) LinkNet; (d) PSPNet; (e) DeepLabv3+; (f) FarSeg; (g) STLNet; (h) FPN; (i) CRNet)
表5是6種網(wǎng)絡(luò)的參數(shù)量和推理速度的對比結(jié)果。推理速度在單張2080 Ti GPU下進行測試,輸入分辨率為512×512像素。CRNet的參數(shù)量和推理速度分別為21.98 M和68幀/s。相較于LinkNet和FPN,CRNet的參數(shù)量和推理速度有所增加,但在MIoU和OA方面比LinkNet 提高7.42%和4.35%,比FPN提高3.63%和1.85%。CRNet在參數(shù)量、推理速度、MIoU和OA方面,均優(yōu)于PSPNet、DeepLabv3+、FarSeg和STLNet。說明本文網(wǎng)絡(luò)的性能更好。
表5 不同方法的參數(shù)量和推理速度對比結(jié)果Table 5 Comparison of different methods in terms of the number of parameters and inference speed
本文針對農(nóng)作物遙感圖像中類別不平衡以及部分樣本中不同農(nóng)作物特征相似、相同農(nóng)作物特征差距大的問題,提出了一種加強類別關(guān)系的農(nóng)作物遙感圖像語義分割網(wǎng)絡(luò)CRNet。在預(yù)處理階段,減少類別占比大的圖像,并進行數(shù)據(jù)增強和增廣處理,以減小不同樣本數(shù)量的差距,豐富數(shù)據(jù)的多樣性。CRNet網(wǎng)絡(luò)通過主干網(wǎng)絡(luò)ResNet-34對圖像進行特征提取,然后利用金字塔結(jié)構(gòu)有效地捕獲農(nóng)作物的多尺度特征。在類別關(guān)系模塊中通過CFE注意力模塊增大不同農(nóng)作物之間的區(qū)分度,加強同種農(nóng)作物內(nèi)在的關(guān)聯(lián)性。在解碼器中通過融合不同尺度的農(nóng)作物特征,使網(wǎng)絡(luò)保留更多的細節(jié)和邊界信息。除此之外,網(wǎng)絡(luò)采用CB損失函數(shù)以改善樣本類別不平衡的問題,提高分割精度。
在Barley Remote Sensing數(shù)據(jù)集上進行了大量的實驗,驗證了CFE注意力模塊和CB損失函數(shù)的有效性,表明CRNet網(wǎng)絡(luò)相對于其他語義分割方法在農(nóng)作物語義分割方面更具有優(yōu)勢。但本文方法仍有需要改進的地方: 1)CRNet網(wǎng)絡(luò)分割出的地物邊界有的不是很平滑,部分類別的MIoU偏低。在接下來的工作中,可以改進損失函數(shù),重點關(guān)注邊界的分割;優(yōu)化網(wǎng)絡(luò)模型,提高部分類別的準確率。2)CFE注意力模塊的結(jié)構(gòu)比CBAM和CA注意力模塊的結(jié)構(gòu)更復(fù)雜,使得CRNet網(wǎng)絡(luò)參數(shù)量較多,推理速度更慢。后期研究將進一步對CFE注意力模塊進行優(yōu)化,在不降低網(wǎng)絡(luò)準確性的前提下,改進注意力結(jié)構(gòu),提高網(wǎng)絡(luò)的速度。