楊 飛
(中國人民解放軍91001 部隊,北京 100841)
過去的30 年中,計算機視覺中最困難的問題之一就是圖像分割。 圖像分割不同于圖像分類和目標檢測。 圖像分類任務(wù)是預(yù)測圖像中出現(xiàn)物體的類別,屬于圖像級別的預(yù)測任務(wù)。 而語義分割也是一個像素級的預(yù)測任務(wù)[1],語義分割對圖片中的每一個像素進行標記,并用不同的顏色來標記不同對象的類別,而傳統(tǒng)的圖像分割算法多是利用數(shù)字圖像處理、數(shù)學等方法,根據(jù)圖像的顏色、空間紋理、幾何等特征,將圖像劃分為若不相交的區(qū)域,根據(jù)不同區(qū)域表現(xiàn)出來的特征差異,從而將目標與背景分開。 隨著深度學習的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)的方法打破了傳統(tǒng)圖像分割需要手動尋找圖像特征的缺陷,卷積神經(jīng)網(wǎng)絡(luò)[2]通過前向傳播和誤差反向傳播的方法對自身建模來自動尋找圖片的特征。
隨著衛(wèi)星傳感器的發(fā)展,所得到的遙感圖片的分辨率不斷提高[3],遙感衛(wèi)星能夠完成各種觀測任務(wù),在城鄉(xiāng)規(guī)劃、道路識別以及地理信息[4]等方面均有應(yīng)用。語義分割是完成這些任務(wù)的關(guān)鍵,由于遙感圖像的地物尺度變化大、背景復(fù)雜和邊界復(fù)雜等特點,傳統(tǒng)的基于數(shù)學和數(shù)字圖像處理的圖像分割方法并不能有效地處理遙感圖像[1]。 截至目前,對于語義分割,許多研究多是采用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)的方法進行語義分割,并且取得了巨大的成功。語義分割首次在CNN 上的嘗試是FCN[5],通常的CNN網(wǎng)絡(luò)是將卷積層產(chǎn)生的特征圖映射為一個固定長度的特征向量,用于圖像級別的分類和回歸任務(wù),而FCN 與上述方法不同,FCN 將卷積圖進行上采樣,將其恢復(fù)到與輸入圖片相同的尺寸,從而實現(xiàn)對每個像素的預(yù)測,實現(xiàn)了端到端的分割。 在FCN 之后,基于編碼-解碼器結(jié)構(gòu)的U-Net 網(wǎng)絡(luò)被提出。 U-Net 結(jié)構(gòu)是對稱的,通過長連接將特征拼接到一起,形成了U 形結(jié)構(gòu),該結(jié)構(gòu)在醫(yī)學影像分割上取得了很好的成績。
盡管基于卷積神經(jīng)網(wǎng)絡(luò)的語義分割算法取得了良好的效果,但是遙感圖像的背景復(fù)雜、邊界復(fù)雜、目標小以及類別存在分割精度不高、分割效果不好的問題,本文通過對U-Net 進行優(yōu)化,加入SE 通道注意力模塊,以提升網(wǎng)絡(luò)的分割效果。
2015 年,Ronneberger[6]提出U-Net 網(wǎng)絡(luò)結(jié)構(gòu),利用U-Net[7]網(wǎng)絡(luò)對FCN 網(wǎng)絡(luò)結(jié)構(gòu)進行修改和擴展。 UNet 的核心思想是使用對稱的編碼器-解碼器結(jié)構(gòu),并通過長連接來連接同一級別的特征編碼器,用于提取特征并生成不同級別的特征。 基于解碼器進行圖片恢復(fù)和拼接對應(yīng)層的特點,長連接使網(wǎng)絡(luò)通過Connection能夠在每個級別的上采樣過程中融合編碼器在通道上的對應(yīng)位置,形成特征圖。 通過低層特征和高層特征的融合[8],網(wǎng)絡(luò)可以保留更多包含在高層特征圖中的高分辨率細節(jié)信息,從而提高圖像的分割精度。
U- Net 是在FCN 的基礎(chǔ)上進行改進的(見圖1)。與FCN 相比,U-Net 具有以下特征:
圖1 U-Net
(1)U-Net 的上采樣部分具有大量特征通道,可以將語義信息傳播到高分辨率層。
(2)使用了skip-connection,這種長連接可以融合更多的高頻信息。
(3)結(jié)構(gòu)簡單,有很大的改進空間。
Squeeze-and-Excitation Network(SENet)[9]在2017年拿到了ImageNet2017 分類比賽的冠軍,SENet 從特征通道入手,顯式的建模特征通道之間相互依賴的關(guān)系,即通過自監(jiān)督的方式自動獲取每個特征通道的重要程度,然后,據(jù)此增加某一個通道的信息,并抑制當前用不到的特征通道,讓網(wǎng)絡(luò)利用全局信息有選擇地增強有益的特征通道,抑制無用特征通道,從而實現(xiàn)特征通道的自監(jiān)督。 SE 模塊增加了極少的計算量,但是效果很好。 SE 模塊結(jié)構(gòu)如圖2 所示,W,H分別表示特征圖寬,高。C表示通道數(shù),輸入特征圖大小為W×H×C。
圖2 SE 模塊示意
SE 模塊分為壓縮(Squeeze)和激勵(Excitation)。壓縮操作就是將輸入的特征圖進行全局平均池化,經(jīng)過Fsq將特征圖壓縮為1×1×C的向量。 激勵操作通過兩個全連接層,得出每個特征通道的通道權(quán)重。 最后對scale 操作,利用求得的通道權(quán)重與開始輸入的特征圖進行二維矩陣相乘,得出輸出結(jié)果,如圖3 所示。
圖3 SE 模塊
在語義分割領(lǐng)域,增加卷積核的感受野是非常重要的,增大感受野[10]有利于捕獲更大區(qū)域的特征信息和更詳細的信息,這與遙感圖像的目的不謀而合。 在傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)中,通常是通過池化操作來減少圖像尺寸,以增加感受野并減少計算參數(shù)的數(shù)量。 這種方法雖然使卷積神經(jīng)網(wǎng)絡(luò)獲得了旋轉(zhuǎn)不變性,但是這樣的合并會隨著圖像尺寸的減少,丟失的信息將會增多,對于小目標,合并操作后容易造成識別不連續(xù),降低分割精度,甚至無法重建目標。 在網(wǎng)絡(luò)中使用Dilated Convolution 可以獲得更大的感受野,也可以用來替代池化操作,從而在不減少接收場合參數(shù)的情況下減少空間特征的損失,擴大感受野。
圖4 卷積操作和空洞卷積
本文提出的SEU-Net 以U-Net 為骨架,利用UNet 的跳躍連接將同級別的特征進行融合,為了提高U-Net 的分割精度,在長連接過程中使用SE 模塊,利用其自注意力機制,來最大化每一個通道的權(quán)重,提高空間像素的相關(guān)性,提高網(wǎng)絡(luò)的分割效果。 并在網(wǎng)絡(luò)的編碼階段采用空洞卷積來擴大感受野,幫助編碼器找到更多的細節(jié)信息,以提高小目標的分割精度。
本實驗采用的數(shù)據(jù)集是DeepGlobe 衛(wèi)星道路數(shù)據(jù)集[11],由尺寸為1 024×1 024,地面分辨率0.5 m/像素的圖像構(gòu)成,每張圖像包含三通道信息(RGB)。 數(shù)據(jù)集有6 226 張訓練樣本和標簽,本文中采用5 500 張作為訓練集,726 張作為測試集。 部分遙感道路圖像如圖5 所示。
圖5 SEU-Net
圖6 數(shù)據(jù)集的部分原圖和標簽
由于GPU 的限制,對每個小尺寸圖片進行縮小成512×512 輸入SEU-Net 進行分割,此外為了防止出現(xiàn)過擬合現(xiàn)象,對數(shù)據(jù)集進行數(shù)據(jù)增強。
圖像的語義分割實際就是將輸入圖像中的每一個像素分配一個類別,得到像素化的分類,預(yù)測的結(jié)果有4 種TP,TN,FP和FN。P(精確率)為預(yù)測正確的正例數(shù)占預(yù)測的正例總量的比率。R(召回率)為預(yù)測正例占正例總量的比例。
本文采用F1-score(F1)、平均交并比(mIoU)作為評級指標,定義分別為:
F1 分數(shù)同時兼顧了模型的準確率和召回率,是模型準確率和召回率的加權(quán)平均。
mIoU 是計算真實值與預(yù)測值這兩個集合的交集與并集之比,并在每個類別計算IoU之后取平均值。
在對數(shù)據(jù)集進行訓練時,本文采用pytorch 框架,優(yōu)化時使用Adam 優(yōu)化器,損失函數(shù)采用交叉熵損失函數(shù)。 參數(shù)設(shè)置:Ir=0.001,batch_size=16。
在相同的實驗條件下采用U-Net,FCN 和本文提出的SEU-Net 進行對比試驗。
表1 對比試驗
圖7 原圖,標簽,U-Net,SEU-Net 分割圖
遙感圖像的語義分割是圖像分割領(lǐng)域[12]的一個重大分支,對于指導城鄉(xiāng)規(guī)劃、城市化建設(shè)具有重要意義。 本文針對傳統(tǒng)的遙感圖像語義分割的自動化程度低、遙感圖像分割精度低等問題,結(jié)合卷積神經(jīng)網(wǎng)絡(luò)、注意力機制和U-Net[13]網(wǎng)絡(luò)模型等方法,提出了SEUnet,本文SE-Unet 的下采樣模塊使用了空洞卷積替代了部分卷積操作,使用SE 模塊采用自監(jiān)督的方法,根據(jù)各通道的重要性來對通道進行加權(quán),提升了計算量精度,比只采用U-Net 的方法提高了分割精度,通過U-Net 的長連接和SE 模塊有效地保留了低層次的細節(jié)信息。 通過對比實驗證明,本網(wǎng)絡(luò)在DeepGlobe 衛(wèi)星道路數(shù)據(jù)上有很好的分割精度,在分割mIoU,F1,PA等指標上有不同程度的提高,證明了SE-Unet 方法的有效性。 下一步將圍繞模型的優(yōu)化算法,對網(wǎng)絡(luò)的分割性能進行優(yōu)化,嘗試當前流行的Transformer 架構(gòu),提升網(wǎng)絡(luò)的運算效率。 另外,模型的輕量化也是今后的研究方向。