呂文琪,馬 驍,簡夜明,向 毅
(重慶科技學(xué)院 智能技術(shù)與工程學(xué)院,重慶 401331)
圖像分割是遙感影像建筑物檢測中的一項主要任務(wù),對于在分辨率較高的大型圖像中提取固定建筑物至關(guān)重要。受高分辨率遙感圖像的成像因素以及建筑物自身尺寸和形狀特征多樣性的影響,遙感圖像建筑物分割一直是該領(lǐng)域的研究重點和難點。傳統(tǒng)的建筑物分割方法多基于人工構(gòu)造特征結(jié)合傳統(tǒng)圖像分割方式,針對特定場景實現(xiàn)建筑物分割,但其無法達(dá)到自動分割建筑物的目標(biāo),且分割精確度較低、魯棒性較差。近年來,使用深度語義分割算法在固定建筑物提取中效果良好,UNet[3]是一項具有里程碑意義的研究成果,其展示了如何有效使用具有Skip Connection 的編碼器—解碼器卷積網(wǎng)絡(luò)進(jìn)行圖像分割。近年來,UNet 已成為幾乎所有領(lǐng)先的圖像分割方法的標(biāo)桿。繼UNet 網(wǎng)絡(luò)之后,研究者們又相繼提出一些關(guān)鍵性的擴(kuò)展方法,例如UNet++[4]、UNet3+[5]、3D UNet[6]、V-Net[7]、Y-Net[8]以及KiUNet[9]等。
隨著注意力機(jī)制在圖像領(lǐng)域的廣泛應(yīng)用,研究者們提出許多基于Transformer 的網(wǎng)絡(luò)結(jié)構(gòu)用于醫(yī)學(xué)圖像分割,如Transfromer[10]可以使模型更加傾向于關(guān)注圖像的全局特征,對分割任務(wù)有著較大幫助。TranUNet[11]將ViT 架構(gòu)修改為用于2D 醫(yī)學(xué)圖像分割的UNet。其他的一些基于Transformer 的模型,如MedT[12]、TransBTS[13]和UNETR[14]也相繼被提出。但是之前的工作大多關(guān)注于如何提高網(wǎng)絡(luò)性能,而忽略了關(guān)鍵的運行時間與效率問題。較復(fù)雜的模型雖然性能較好,但是復(fù)雜的結(jié)構(gòu)在帶來較高準(zhǔn)確率的同時也會產(chǎn)生大量計算參數(shù),所需推理時間較長,導(dǎo)致模型訓(xùn)練速度與效率降低。而往往在實際應(yīng)用中,效率是必須考量的因素。在實驗室進(jìn)行實驗時,通常會使用具有較強(qiáng)計算能力的機(jī)器(GPU)來輔助計算,以提高訓(xùn)練速度,但這些輔助計算工具在實際應(yīng)用中很難進(jìn)行部署,導(dǎo)致一些模型往往只是停留在實驗階段,而沒有真正應(yīng)用于實際。
當(dāng)發(fā)生地震等自然災(zāi)害時,如果破壞程度較高,建筑物會發(fā)生很大變化,通過遙感圖像對災(zāi)區(qū)建筑物進(jìn)行圖像分割有助于救援工作的開展。但現(xiàn)有圖像分割模型龐大,難以在實際工程中得到應(yīng)用,所以對遙感圖像分割提取模型的輕量化具有重要的應(yīng)用價值。然而,現(xiàn)有基于深度學(xué)習(xí)的模型均未考慮深度卷積網(wǎng)絡(luò)的輕量化與可移植性。模型從實驗室到落地實際工程應(yīng)用,如何將模型進(jìn)行輕量化處理是近幾年的研究熱點,2017 年,Howard 等[15]提出深度可分離卷積并構(gòu)建了MobileNet 網(wǎng)絡(luò),該網(wǎng)絡(luò)具有較高的分類精度,并在一定程度上減少了網(wǎng)絡(luò)的參數(shù)量。Tan等[16]提出在MobileNet 等相關(guān)網(wǎng)絡(luò)基礎(chǔ)上,對網(wǎng)絡(luò)深度、寬度及特征圖分辨率3 個維度以及圖像分類精度、效率之間的關(guān)系進(jìn)行研究,并設(shè)置合適的約束條件,通過NAS 搜索得到一系列精度和效率兼優(yōu)的網(wǎng)絡(luò)模型。
有研究發(fā)現(xiàn),一種基于MLP(Multi-Layer Perception)的網(wǎng)絡(luò)被發(fā)現(xiàn)可以勝任計算機(jī)視覺任務(wù)。特別是MLPMixer[17],一個完全基于MLP 的網(wǎng)絡(luò),其在性能上與Transformer 相同,但是相比Transformer,MLP 采用更少的參數(shù)與資源。MLP-Mixer 使用兩種類型的MLP 層,channel-mixing MLP 和token-mixing MLPs。channel-mixing MLP 用 來提取不同的token 特征,token-mixing MLPs 用來獲取局部空間信息。Graham 等[18]提出了類似的體系結(jié)構(gòu),并用更簡單的仿射變換取代了層歸一化。為了保存輸入圖像的位置信息,Hou 等[19]保持了輸入2D 圖像,并分別沿寬度和高度排列來提取特征。基于MLP-Mixer,Yu 等[20]使用空間移位操作代替token-mixing MLPs 層來捕獲局部空間信息,同樣實現(xiàn)了很高的效率。近年來,Lian 等[21]提出沿兩個正交方向移動標(biāo)記,以獲得軸向感受野;Chen 等[22]提出一個循環(huán)全連接層,其可以同時沿著空間維度和通道維度混合信息,并能夠處理不同尺度的輸入圖像;Diakogiannis等[23]在ResUnet 的基礎(chǔ)上,定義了新的損失函數(shù)Dice,可以加速模型分割速率,但是存在極大的不平衡性;Valanarasu 等[24]基于MLP 和Unet 網(wǎng)絡(luò)設(shè)計出一種新的Unext網(wǎng)絡(luò)結(jié)構(gòu),但Unext只是使用了MLP 和卷積操作,并沒有在連接過程中考慮圖像的細(xì)粒度特征,忽略了一些通道上的感受野。
本文提出一種結(jié)合卷積模塊與MLP 模塊的網(wǎng)絡(luò)結(jié)構(gòu),遵循U-Net 網(wǎng)絡(luò)結(jié)構(gòu)的5 層深度編碼器—解碼器體系,但在每個模塊的設(shè)計上作出了改變。將整個網(wǎng)絡(luò)分為兩個階段,減少卷積模塊的過濾器數(shù)量,在MLP 模塊中加入了移位操作,以提取不同移位對應(yīng)的局部信息。同時,在跳躍連接過程中加入高效的通道注意力模塊,使用通道注意力強(qiáng)化網(wǎng)絡(luò)的多尺度特征信息,提高模型對于建筑物特征的靈敏度。并且,本文方法能夠在減少參數(shù)和計算復(fù)雜度的基礎(chǔ)上保持良好性能。
U-Net[3]是一種被廣泛應(yīng)用于圖像分割的全卷積神經(jīng)網(wǎng)絡(luò)。對于遙感圖像分割任務(wù)來說,研究者們對于各類遙感圖像中建筑物的位置分布更感興趣。U-Net網(wǎng)絡(luò)的工作原理如下:遍歷圖像的每一個像素,然后進(jìn)行像素級分類,并根據(jù)分類后的像素種類進(jìn)行圖像分割。其結(jié)構(gòu)如圖1所示。U-Net 網(wǎng)絡(luò)包含編碼器和解碼器兩部分,編碼器的主要功能是提取圖像特征,解碼器的功能則是進(jìn)行上采樣工作。由圖可知,左半部分為編碼器,是由兩個3×3 的卷積層再加上一個2×2 的池化層組成一個下采樣模塊;右半部分為解碼器,是由一個上采樣的卷積層和特征拼接concat 以及兩個3×3 的卷積層疊加構(gòu)成。U-Net 有較深的網(wǎng)絡(luò)層,有更大的視野域,淺層卷積關(guān)注的是表層紋理特征,而深層網(wǎng)絡(luò)能關(guān)注更本質(zhì)的特征。通過解碼器的反卷積得到更大尺寸的邊緣特征,會導(dǎo)致在下采樣過程中損失相應(yīng)的邊緣特征,而通過特征的拼接可以找回邊緣特征。
Fig.1 U-Net network structure圖1 U-Net網(wǎng)絡(luò)結(jié)構(gòu)
考慮到實際應(yīng)用效率,本文專注于設(shè)計一個高效的網(wǎng)絡(luò),使其具有更少的參數(shù),且運算時間更短,同時能保證計算的準(zhǔn)確性。為此,本文在原有的U-Net 網(wǎng)絡(luò)中引入多層感知機(jī)MLP,對原有U-Net 網(wǎng)絡(luò)結(jié)構(gòu)中的兩層卷積層進(jìn)行替換。同時,為了保證其具有良好性能,將注意力機(jī)制引入其中。在編碼器與解碼器進(jìn)行跳躍連接過程中加入一個注意力控制機(jī)制。如圖2 所示,本文的網(wǎng)絡(luò)主要分為兩個階段:卷積階段和標(biāo)記多層感知機(jī)階段。輸入的圖像首先通過編碼器,包括前面3 個卷積模塊以及2 個MLP 模塊。解碼器由2 個MLP 模塊以及3 個卷積模塊組成。每個編碼器塊將特征分辨率降低兩倍,每個解碼器塊將特征分辨率提高兩倍,在編碼器與解碼器之間會有跳躍連接。為了減少參數(shù)量,設(shè)置超參數(shù)為C1=32,C2=64,C3=128,C4=160和C5=256。與U-Net 網(wǎng)絡(luò)相比,本文方法有效減少了參數(shù)量,有助于進(jìn)行計算。
Fig.2 Network structure combining convolutional module and MLP module圖2 結(jié)合卷積模塊與MLP模塊的網(wǎng)絡(luò)結(jié)構(gòu)
每一個卷積模塊都含有卷積層、歸一化函數(shù)以及GELU 激活函數(shù)。其使用3×3 大小的卷積核,步幅為1,填充為1。編碼器中的卷積層使用具有池化作用的2×2 最大池化層。在每一次池化后,圖像尺寸會變?yōu)樵瓉淼囊话?。在解碼器中,使用雙線性插值對特征圖執(zhí)行上采樣。在UNet 網(wǎng)絡(luò)結(jié)構(gòu)中可以使用雙線性插值來模擬轉(zhuǎn)置卷積的操作,提供更多可學(xué)習(xí)的參數(shù)。
雖然MLP-Mixer 在學(xué)習(xí)自由性方面進(jìn)行了增強(qiáng)調(diào)整,但在局部約束方面沒有提升,因此更容易導(dǎo)致過擬合現(xiàn)象,所以只有當(dāng)使用具有超大規(guī)模數(shù)據(jù)量的數(shù)據(jù)集進(jìn)行訓(xùn)練時才會展現(xiàn)出效果[17]。為此,本文在MLP-Mixer 結(jié)構(gòu)上加入一些約束條件,以幫助模型在中小規(guī)模數(shù)據(jù)集上取得更好的訓(xùn)練結(jié)果。
在MLP 模塊的移動過程中,本文在數(shù)據(jù)集標(biāo)記之前,首先按照軸向移動卷積層產(chǎn)生的特征,使得MLP 僅關(guān)注由卷積層提取出的某些特征。與axial-attention 類似,一個MLP 模塊有兩個shiftMLP 層,一層沿著圖像寬度移動,一層沿著圖像高度移動。本文將特征拆分為h 個不同的分區(qū),并根據(jù)指定的軸將其移動j 個位置,從而有助于創(chuàng)建隨機(jī)窗口。
在MLP 模塊(見圖3)中,首先對輸入特征進(jìn)行移位操作,并將其送入標(biāo)記模塊。將特征切分為大小3×3、通道為E 的不同patch,并將這些patch 傳遞給第一層MLP。第一層MLP 對其按寬度進(jìn)行映射,之后通過一個深度卷積層。使用深度卷積層有助于對MLP 提取出特征的位置進(jìn)行信息編碼,而且深度卷積層使用的參數(shù)較少,提高了效率。然后通過一個GELU 激活層。與常用的RELU 激活函數(shù)相比,GELU 有助于加速模型收斂。最近的大多數(shù)架構(gòu),例如VIT 和BERT 都成功使用GELU 函數(shù)并取得了很好的效果。通過GELU 后,再通過另一個MLP 層對特征進(jìn)行高度上的映射。最后應(yīng)用層歸一化將輸出特征傳遞到下一個塊。
Fig.3 MLP module圖3 MLP模塊
在跳躍連接過程中通過在通道維度添加注意力機(jī)制,從而過濾無關(guān)信息,并提取具有辨別力的特征。Attention模塊如圖4 所示,通過卷積操作對輸入特征xg和xl進(jìn)行相加得到特征f,對f的每個通道使用全局平均池化(Global Average Pooling,GAP)得到1×1×C 的向量,之后通過一維卷積實現(xiàn)不需要降維的局部通道交互方法,該方法只涉及少量參數(shù)。
Fig.4 Attention module圖4 Attention模塊
根據(jù)式(1)選擇一維卷積的卷積核,通過Sigmoid 函數(shù)生成每個通道的權(quán)重,最后將產(chǎn)生的通道權(quán)重加權(quán)到原特征f上得到新特征。
其中,Conv1 為一維卷積,k為一維卷積核大小,y為通道特征,C為通道數(shù),λ和b 為超參數(shù),ω為通道權(quán)重,σ為Sigmoid函數(shù)。
實驗數(shù)據(jù)來自武漢大學(xué)季順平團(tuán)隊基于衛(wèi)星遙感影像制作并發(fā)布的WHU satellitedatasetⅠ數(shù)據(jù)集和WHU satellitedatasetⅡ數(shù)據(jù)集(數(shù)據(jù)集Ⅱ)[25]。數(shù)據(jù)集Ⅰ共有204 張512×512 遙感影像和對應(yīng)的標(biāo)簽圖像,包括來自ZY 3 號、IKONOS、Worldview 系列衛(wèi)星的不同傳感器與空間分辨率(0.3~2.3m)的影像,涵蓋了歐洲、中國、南北美洲以及非洲的不同城市區(qū)域,能對建筑物提取算法的魯棒性進(jìn)行有效檢驗。數(shù)據(jù)集Ⅰ的部分示例如圖5 所示。為增加樣本數(shù)量,本文首先將原始數(shù)據(jù)集影像裁剪為256×256 大小的子圖集,然后對子圖集進(jìn)行旋轉(zhuǎn)、沿軸鏡像處理、均值濾波、椒鹽噪聲增強(qiáng)以及高斯噪聲增強(qiáng)處理,共得到20 094 張影像。最后將處理后的數(shù)據(jù)集按照8:1:1的比例劃分成訓(xùn)練集、驗證集與測試集,影像數(shù)量分別為1 606、2 009、2 009張。其中,訓(xùn)練集用于擬合模型,驗證集用于調(diào)試超參數(shù)以及監(jiān)控模型是否發(fā)生擬合,測試集用于最終的模型泛化能力評估。數(shù)據(jù)集Ⅱ由17 388張512×512的遙感影像與對應(yīng)標(biāo)簽組成,包括6 個響鈴的衛(wèi)星圖像,覆蓋東亞860 km2,地面分辨率為0.45 m。數(shù)據(jù)集Ⅱ的部分示例如圖6 所示。該測試區(qū)主要用于評估和開發(fā)深度學(xué)習(xí)方法,其中13 662張圖像用于訓(xùn)練,其余3 726張用于測試。
Fig.5 Example of partial satellite image data of data setⅠ圖5 數(shù)據(jù)集Ⅰ部分衛(wèi)星影像數(shù)據(jù)示例
Fig.6 Example of partial satellite image data of data set Ⅱ圖6 數(shù)據(jù)集Ⅱ部分衛(wèi)星影像數(shù)據(jù)示例
本文的實驗環(huán)境如表1 所示。根據(jù)實驗環(huán)境、采用方法、數(shù)據(jù)集規(guī)模及反復(fù)多次的實驗結(jié)果,設(shè)置數(shù)據(jù)集Ⅰ和數(shù)據(jù)集Ⅱ的batchsize 為16,共訓(xùn)練170 個epoch;使用Adam優(yōu)化器,設(shè)置動量為0.9;使用余弦退火方法調(diào)整學(xué)習(xí)率,設(shè)置最小值為0.000 01,最大值為0.000 1。
Table 1 Experimental environment configuration表1 實驗環(huán)境配置
本文所用到的網(wǎng)絡(luò)模型均使用二元交叉熵(BCE)和Dice 系數(shù)結(jié)合的綜合損失進(jìn)行訓(xùn)練,預(yù)測值與目標(biāo)y之間的損失L可表示為:
其中,二值交叉熵?fù)p失LBCE的計算公式為:
其中,N為批處理大小,i為對應(yīng)的索引,y為樣本真值為網(wǎng)絡(luò)的預(yù)測值。
Dice 系數(shù)損失在類別不平衡問題上表現(xiàn)優(yōu)異,而在一般的遙感圖像中,建筑物的像素占比較少,所以可將遙感建筑物提取歸為不平衡問題。Dice 系數(shù)損失的表達(dá)式為:
其中,G 為標(biāo)簽真值,Y 為網(wǎng)絡(luò)最終輸出的標(biāo)簽,N 和i分別為批處理大小及對應(yīng)的索引。
將本文方法與最近廣泛使用的分割框架進(jìn)行對比,選擇了較為經(jīng)典的UNet[3]、UNet++[4]和SegNet[23]等使用卷積神經(jīng)網(wǎng)絡(luò)的模型進(jìn)行了比較。使用GFLOPs 來衡量計算復(fù)雜度,GFLOPs 表示每秒10 億次的浮點運算數(shù),理論上該數(shù)值越高越好。本文首先將參數(shù)量、計算復(fù)雜性以及運行時間等方面屬性與其他模型進(jìn)行比較,結(jié)果如表2所示。
Table 2 Parameters,average training time and GFLOPs of different network models表2 不同網(wǎng)絡(luò)模型參數(shù)、平均訓(xùn)練時間以及GFLOPs
由表2 可知,與UNet、UNet++、SegNet 相比,本文方法的每秒浮點數(shù)最少,訓(xùn)練時間和計算復(fù)雜度最小,其參數(shù)量僅為1.471 93 M。
不同模型參數(shù)、平均運行時間以及計算復(fù)雜度減少百分比如表3所示。不同模型的Loss曲線如圖7所示。
Table 3 Parameters,average running time and calculation complexity reduction percentage of different models表3 不同模型參數(shù)、平均運行時間以及計算復(fù)雜度減少百分比%
Fig.7 Loss curves for different models圖7 不同模型的Loss曲線
從圖7 可以看出,3 種網(wǎng)絡(luò)隨著迭代次數(shù)的增加,損失值不斷減小,其中本文方法最快進(jìn)入收斂狀態(tài)。
本文使用交并比(Intersection over Union,IoU)對實驗精度進(jìn)行評價,計算公式為:
其中,TP 表示實際為正樣本且預(yù)測出結(jié)果也為正樣本的樣本數(shù)目;FP 表示實際為負(fù)樣本但預(yù)測出結(jié)果為正樣本的樣本數(shù);FN 表示實際為正樣本但預(yù)測出結(jié)果為負(fù)樣本的樣本數(shù)。分別提取數(shù)據(jù)集Ⅰ測試集遙感影像中的建筑物,選取武漢、臺灣、洛杉磯、渥太華以及開羅5 個地區(qū)進(jìn)行精度評價。不同地區(qū)的IoU 值如表4所示。
Table 4 IoU values for different regions表4 不同地區(qū)IoU值%
數(shù)據(jù)集Ⅰ提取分割結(jié)果如圖8 所示,本文方法在盡可能減少損失IoU 的情況下,具有較好的分割效果。數(shù)據(jù)集Ⅱ有17 388 張遙感圖像,由于可用作訓(xùn)練的圖像較多,本文方法在數(shù)據(jù)量較多時可以有效提取不同的局部信息,并且能達(dá)到較高精度。數(shù)據(jù)集Ⅱ提取分割結(jié)果如圖9所示。
Fig.8 Extraction and segmentation results of dataset Ⅰ圖8 數(shù)據(jù)集Ⅰ提取分割結(jié)果
Fig.9 Extraction and segmentation results of dataset Ⅱ圖9 數(shù)據(jù)集Ⅱ提取分割結(jié)果
為了驗證本文方法的有效性,將改變注意力模塊和特征圖輸入大小,進(jìn)行消融實驗。
在注意力模塊的消融實驗中,使用數(shù)據(jù)集Ⅰ作為訓(xùn)練數(shù)據(jù)集,將Iou 與平均訓(xùn)練時間作為評價指標(biāo)。訓(xùn)練過程使用同一實驗環(huán)境,參數(shù)設(shè)置相同,研究注意力模塊對實驗結(jié)果的影響。以加入Attention 模塊的網(wǎng)絡(luò)作為Baseline,消融實驗在數(shù)據(jù)集Ⅰ上的評價結(jié)果如表5所示。
Table 5 Evaluation results of ablation experiment on data set Ⅰ表5 消融實驗在數(shù)據(jù)集Ⅰ上的評價結(jié)果
從表5 中可以看出,在沒有Attention 模塊的網(wǎng)絡(luò)上,其Iou 僅為74.630 1%。在引入了Attention 模塊后,Iou 指標(biāo)提高了1.731%。從評價指標(biāo)中可以看出,Attention 模塊的引入可較好地提升遙感圖像分割精度。同時,對比兩種網(wǎng)絡(luò)的參數(shù)量,Attention 模塊的參數(shù)量僅增加了0.000 01 M。
在特征圖輸入大小的消融實驗中,以Iou 和平均訓(xùn)練時間作為評價指標(biāo),以數(shù)據(jù)集Ⅰ作為訓(xùn)練集,數(shù)據(jù)集中的原始圖像大小為512 × 512,采用不同的切分比率K 對原始圖像進(jìn)行均等切分(K 取值為1、4、16、64),實驗結(jié)果如表6 所示。從表中可以看出,當(dāng)切分比率為16、輸入圖像大小為128 × 128 時,Iou 的精度最高。這是因為當(dāng)輸入圖像過大時,圖像中存在很多噪聲點,噪聲點對模型產(chǎn)生干擾,導(dǎo)致模型沒有學(xué)到有用的特征。而當(dāng)輸入圖像過小時,像素之間的關(guān)聯(lián)性會降低,最終影響分割精度。
Table 6 Experimental results of different cutting ratios on data set Ⅰ表6 不同切分比率在數(shù)據(jù)集Ⅰ上的實驗結(jié)果
本文針對現(xiàn)有遙感影像語義分割方法的不足,提出一種新的深度網(wǎng)絡(luò)架構(gòu)用于遙感圖像分割。該方法采用一種局域卷積模塊與MLP 模塊相結(jié)合的架構(gòu)。本文提出了一種帶有移位的MLP 模塊,降低了計算的復(fù)雜性,并減少了模型參數(shù)。在多個數(shù)據(jù)集上驗證了本文方法,并且與UNet、UNet++、SegNet 模型進(jìn)行了對比實驗。結(jié)果表明,本文方法在盡可能保留IoU 均值的同時,訓(xùn)練速度更快,復(fù)雜性更低,參數(shù)量更少,并且能夠?qū)崿F(xiàn)較好的分割效果。