蘇曉東,李世洲,趙佳圓,亮洪宇,張玉榮,徐紅巖
(1.哈爾濱商業大學 計算機與信息工程學院,哈爾濱 150028;2.黑龍江省電子商務與智能信息處理重點實驗室,哈爾濱 150028)
語義分割是計算機視覺的一項主要任務,根據存在的真實目標對圖像中的每個像素進行類別標注,廣泛應用于醫療影像[1]、VR 技術[2]、地理信息系統[3]、無人駕駛[4-5]等領域。以無人駕駛為例,無人駕駛需要在不斷變化的環境中進行空間信息感知,即時規劃路徑和執行行駛指令,因此需要利用語義分割技術識別以圖像方式獲取的空間信息,如車道標記、交通標志、周邊車輛以及行人等,從而對精確識別圖像中不同尺度目標提出了更高的要求。
早期的語義分割技術主要是通過隨機森林(RF)[6]、支持向量機(SVM)[7]等技術實現特征提取,再使用匹配分類器進行逐像素分類。CHANDRA等[8]提出全卷積網絡(FCN)并將該網絡用于語義分割,從此深度學習技術在語義分割領域得到快速推廣。SHELHAMER 等[9]和RONNEBERGER 等[10]提出U-Net 網絡模型,它是一個對稱的編解碼網絡結構,通過復制剪裁的方式在解碼過程中有效融合深層語義信息和淺層語義信息。之后還出現了DeepLab系列[11-13]和CRFasRNN[14-15]等深度 神經網絡。DeepLab 系列中 的DeepLabv3+[16-17]通過使用空洞空間卷積池化金字塔(ASPP)[18]模塊增大感受野,增強了像素之間的聯系,從而更好地獲取上下文信息,但這類網絡往往容易丟失小尺度目標,邊界分割也不連續。
本文構建基于DeepLabv3+的多級疊加和注意力機制的圖像語義分割網絡模型(DmsefNet),通過多級疊加的方式增強模型對局部特征的獲取能力,并采用注意力機制模塊對有意義的特征進行適度增強,從而提高小尺度目標和局部邊界的分割精度。
DeepLabv3+是經典的語義分割網絡結構,是在使用DeepLabv3 網絡作為編碼器的基礎上在其后面添加解碼器而得到的新網絡。DeepLabv3+的編碼器部分從深度卷積神經網絡(DCNN)[19]中提取圖像的特征信息,利用ASPP 模塊中的不同擴張率(r)的空洞卷積來獲得不同大小感受野的特征圖。解碼器部分將從DCNN 中提取的低分辨率特征與上采樣的高分辨率特征進行融合,以聚合不同區域的上下文信息,再利用3×3 卷積和4 倍雙線性插值的方法恢復空間信息和細化目標邊界,得到精度較高的預測圖像。DeepLabv3+網絡結構如圖1 所示。

圖1 DeepLabv3+網絡結構Fig.1 DeepLabv3+network structure
主干網絡采用MSRA 團隊設計的輕量級網絡Xception,其作用是進行特征提取。在Xception 的結構中采用深度可分離卷積代替FCN 結構中的常規卷積[20-21],深度可分離卷積的方式是逐通道卷積,即一個通道只被一個卷積核卷積,之后使用1×1 卷積進行通道整合。將深度可分離卷積應用于深度神經網絡,可在保持常規卷積效果的同時大量減少網絡參數。Xception 網絡結構如圖2所示[22]。

圖2 Xception 網絡結構Fig.2 Xception network structure
DeepLabv3+網絡中的ASPP 模塊的主要功能是對主干網絡提取的特征圖進行多尺度特征提取。由于ASPP 模塊中采用的3×3 卷積造成了模型參數量較大,且使用的常規卷積還存在許多重疊信息的冗余計算,而使用不同擴張率的空洞卷積來增大感受野時,還會使許多有價值的全局特征和上下文信息不能被充分獲取,不利于網絡分割精度的提高。此外,對于輸入特征層中有效采樣點的稀疏性,ASPP空洞卷積常常會使大量的局部細節特征丟失,導致網絡對于小尺度目標和局部邊界的分割效果不佳。為此,建立基于多級疊加和注意力機制的圖像語義分割模型,通過構造多尺度疊加模塊和多尺度平均池化模塊實現多級疊加,充分利用上下文信息補充局部細節特征。引入注意力機制模塊使網絡更多地關注特征信息中有意義的特征,抑制無意義的特征,從而提高網絡分割能力。
所提模型的基本結構如圖3 所示,整體采用編碼器-解碼器結構。編碼器部分包含主干網絡Xception、多尺度平均池化模塊、由不同擴張率的空洞卷積組成的多尺度疊加模塊以及注意力機制模塊。在解碼器部分,采用雙線性插值法對特征圖進行上采樣,并結合通道維度信息進行像素填充,最后使用Softmax 激活函數進行結果預測,輸出預測圖像。

圖3 基于多級疊加和注意力機制的圖像語義分割模型結構Fig.3 Structure of image semantic segmentation model based on multi-level superposition and attention mechanism
多尺度平均池化模塊通過采用不同尺度的平均池化對主干網絡輸出的特征圖做進一步的信息提取,分別得到4×4、6×6 和8×8 像素的新特征圖。這是對目標特征進行逐步細化的過程,通過對特征分塊平均池化可以得到更精細的局部信息,結構如圖4 所示。由于網絡在訓練過程中學習了過多的參數,增加了訓練復雜度,容易發生過擬合現象。針對過擬合問題,在深度可分離卷積層后增加了L2正則化操作,使網絡權重參數盡可能少,以解決過擬合問題。

圖4 多尺度平均池化模塊結構Fig.4 Multi-scale average pooling module structure
在DeepLabv3+網絡中,由于ASPP 空洞卷積在輸入特征層中的采樣點分布相對稀疏,大量的局部細節特征很容易被丟失,導致網絡對于小尺度目標和局部邊界的分割效果不佳。除此之外,使用不同擴張率的空洞卷積增大感受野來提取上下文特征,使許多有價值的全局特征和上下文信息不能被充分獲取,降低了網絡的分割能力。針對以上問題,多尺度疊加模塊采用了不同尺度的空洞卷積進行級聯,用不同擴張率的空洞卷積得到不同的感受野,有效提取分布在不同范圍內的細節信息。多尺度疊加模塊結構如圖5 所示。首先,在第一層的結構中采用擴張率為2、3、4、5、7 的空洞卷積和全局池化操作進行初步的多尺度特征提取,得到不同范圍內的細節信息,采用跳躍連接的方式將主干網絡中的兩個不同尺度的特征信息與多尺度特征輸出進行通道連接,補充丟失的細節信息,再將得到的特征進行通道融合,形成特征圖。然后,使用擴張率依次為1、3、4、5、6 等不同的空洞卷積核對特征圖進行局部和多尺度特征提取,使卷積核的采樣更加密集,從而有助于進一步獲取局部和小尺度目標特征的相關信息。最后,通過多尺度平均池化模塊將上層提取到的特征圖與下層特征信息進行通道融合。在多尺度疊加模塊中,將常規的3×3 卷積層用深度可分離卷積層來替換,進一步減少網絡設計中的參數量。

圖5 多尺度疊加模塊結構Fig.5 Multi-scale superposition module structure
從多尺度平均池化模塊和多尺度疊加模塊中得到的特征圖包含目標位置、目標邊緣等細節特征信息,但其中也存在很多無意義的特征信息,這些信息極大地影響了語義分割效果。注意力機制模塊可以使網絡更多地關注有意義的特征,抑制無意義的特征,從而提高分割效果。注意力機制模塊結構如圖6所示。

圖6 注意力機制模塊結構Fig.6 Attention mechanism module structure
首先,通道注意力模塊對輸入特征圖進行全局平均池化(GAP)和全局最大池化(GMP),將特征圖轉化為C×1×1 的張量,同時將其送入具有兩層隱藏層的感知機。然后,將得到的兩個特征通過Sigmoid非線性激活函數計算出通道注意力權重Mc。最后,通過乘法計算把逐點通道注意力加權映射到原通道特征圖,從而得到一個新的通道注意力的特征圖(Re-weight),完成通道注意力對原始特征的重新標定。計算表達式如式(1)所示:
其中:σ(?)表示Sigmoid 非線性激活函數;Mc(F)表示由通道注意力機制得到的特征圖,Mc(F) ?R,F為輸入的特征圖;Fc,avg是對通道進行平均池化得到的特征圖,Fc,max是對通道進行最大池化得到的特征圖;W0和W1是感知機的權重。
空間注意力模塊將通道注意力模塊的輸出特征圖作為輸入。首先基于通道維度分別進行全局最大池化操作和平均池化操作。之后經過卷積核為7×7的卷積層做特征提取,同時將其通道數變為H×W×1,其中,H為特征圖的高度,W為特征圖的寬度,經過Sigmoid 非線性激活函數的計算得出空間注意力的權重Mc。最后通過逐像素乘法計算,將Mc映射到輸入特征圖,完成空間注意力的標定。計算表達式如式(2)所示:
其中:f7×7表示卷積核大小為7×7 的卷積運算;Fs,max是對空間進行最大池化得到的特征圖;Fs,avg是對空間進行平均池化得到的特征圖。
解碼器模塊結構如圖7 所示。解碼器模塊的功能是對特征圖進行分辨率恢復和特征信息補充。解碼器部分將多尺度疊加模塊和注意力機制模塊得到的特征圖與低層特征圖進行融合,實現對在編碼器中進行下采樣操作時丟失的信息進行補償,豐富圖像的特征信息。使用雙線性上采樣重構與輸入圖像分辨率相同的特征圖,最后用Softmax 激活函數進行結果預測,輸出預測圖像。

圖7 解碼器模塊結構Fig.7 Decoder module structure
實驗使用PASCAL VOC2012 和SUIM 數據集,其中,PASCAL VOC2012 用于模型訓練和精度評估,SUIM 用于泛化性能測試。PASCAL VOC2012 數據集包含1 464 張訓練和1 449 張驗證圖片,訓練集和驗證集都公開了對應的標簽圖,對于語義分割所使用的數據集有1 個背景類別和20 個目標類別。SUIM 數據集包含1 525 張訓練和110 張測試圖片,對于語義分割所使用的數據集有人、魚、沉船等8 個類別。
采用精度評價指標平均交并比(Mean Intersection over Union,MIoU)[23-24]對實驗結果進行評價,MIoU是對每一類的交并比(Intersection over Union,IoU)進行求和再求平均。IoU 和MIoU 的計算表達式如式(3)和式(4)所示:
其中:IIoU表示網絡對某一類別的預測值與真實值之間的交集,再與并集之間的比值;c表示類別數;TP是真正例,即預測值是正例,真實值也是正例;FP表示偽正例,即預測值是正例,真實值是反例;FN表示偽反例,即預測值是反例,真實值是正例。
實驗在TensorFlow 框架上實現,所用操作系統為Windows 10 64 位操作系統,處理器 為Intel?CoreTMi7-10700KF CPU @ 3.80 GHz,顯卡為NVDIA GeForce RTX 2080 Ti,在網絡超參數設置中,輸入圖像分辨率為512×512 像素,每輪訓練的批量為4,訓練輪數為100。
損失函數使用交叉熵函數,用于圖像語義分割任務的常用損失函數是像素級別的交叉熵損失,這種損失會逐個檢查每個像素,對每個像素類別的預測結果與標簽向量進行比較,表達式如式(5)所示:
整個圖像的損失就是對每個像素的損失求平均值,yp是預測的結果,yt是正確的結果。
在實驗中,學習率初始值設置為0.001。主干網絡采用MSRA 團隊設計的輕量級網絡Xception 進行特征提取,并對Xception 結構的權重進行凍結用于遷移學習。隨著網絡訓練輪數的不斷增加,當驗證集的損失值在連續3 輪訓練不發生變化時,學習率變到原來的1/2,同時設置了提前結束訓練的參數。當驗證集的損失值10 輪訓練不發生變化時,結束訓練。在數據增強方面,采用[0.7,1.1]的隨機縮放和隨機水平翻轉以及對圖像進行[-10°,10°]的隨機旋轉操作,進一步增強網絡魯棒性。
對于編碼器中的主干網絡,分別選用VGG16、ResNet50、MobileNetv2 和Xception 網絡進行實驗得出預測結果,并用多級疊加模塊結構進行實驗比較,結果如表1 所示,可以看出Xception 網絡精度最高,因此選取Xception 網絡作為主干網絡。

表1 不同主干網絡實驗結果對比 Table 1 Comparison of experimental results of different backbone networks
在實驗過程中,通過對各個模塊進行消融實驗驗證本文設計模塊的有效性,實驗結果如表2 所示,其中,√為加入對應模塊的操作,CBAM、SE、Coordinate Attention 分別為卷積注意力機制、通道注意力機制和坐標注意力機制。由表2 可以看出,DeepLabv3+模型在融合了多級疊加和注意力機制模塊后,分割效果得到顯著提升。

表2 消融實驗結果 Table 2 Ablation experiment results %
在PASCAL VOC2012 數據集上將DmsefNet 與11 種典型的語義分割模型進行比較,各模型在PASCAL VOC2012 數據集上的MIoU 指標如表3 所示。由表3 可以看出,DmsefNet 的MIoU 指標相比于PspNet 提升了3.0 個百分點,相比于DeconNet 和FCN 分別提升了10.8 和23.4 個百分點,可見DmsefNet 在MIoU 上優于其他模型。

表3 不同模型在PASCAL VOC2012 數據集上的MIoU 比較 Table 3 MIoU comparison of different models on the PASCAL VOC2012 dataset %
DmsefNet 與FCN 和DeconvNet 的可視化結果如圖8 所示,每行的第1 幅圖像為輸入原圖,第2 幅圖像為標簽,第3~5 幅圖像分別為FCN、DeconvNet和DmsefNet 的分割結果。由圖8 可以看出:DmsefNet 相比于FCN 和DeconvNet 在牛角和鳥尾等的局部分割上效果更好并實現了邊界的連續性;DmsefNet 相比于DeconvNet 在椅子的分割上,沒有誤分割的情況發生,并且提高了對局部目標邊界的分割效果,同時相對FCN 保留了對椅子腿的正確分割。DmsefNet 在驗證集上的分割可視化結果如圖9所示,可以直觀地看出DmsefNet 能夠較好地分割出小尺度目標。

圖8 不同模型在PASCAL VOC2012 數據集上的分割可視化結果Fig.8 Segmentation visualization results of different models on the PASCAL VOC2012 dataset

圖9 DmsefNet 分割可視化結果Fig.9 Segmentation visualization results of DmsefNet
總而言之,通過構建多尺度平均池化模塊、多尺度疊加模塊和注意力機制提高了局部特征的獲取能力,進一步增強了上下文信息的聯系,提升了對圖像局部目標和小尺度目標的分割效果。實驗結果表明,DmsefNet 基于多級疊加和注意力機制能夠獲得較好的圖像語義分割結果,并且提高了圖像語義分割精度,同時對于分割的局部視覺效果也有所提升。
為了證明DmsefNet 的泛化能力,采用SUIM 數據集進行泛化實驗,DmsefNet 與DeepLabv3+和U-Net 模型在SUIM 數據集上的MIoU 結果如表4 所示,可以看出DmsefNet 在DeepLabv3+和U-Net 模型上分別提高了19.1 和16.4 個百分點。DmsefNet 與DeepLabv3+和U-Net 的可視化結果如圖10 所示,可以看出DmsefNet 在目標邊界的連續性上明顯優于另外兩種模型。

表4 3 種模型在SUIM 數據集上的MIoU 比較 Table 4 MIoU comparison of three models on the SUIM dataset %

圖10 不同模型在SUIM 數據集上的分割可視化結果Fig.10 Segmentation visualization results of different models on the SUIM dataset
本文在DeepLabv3+網絡結構的基礎上進行改進,保持其原有的編碼器-解碼器結構,建立基于多級疊加和注意力機制的圖像語義分割模型。在編碼器中將原有的ASPP 模塊加以修改并串聯一個含有不同擴張率的擴張卷積組成的多尺度疊加模塊,運用不同尺度的平均池化獲得特征圖像中不同尺度的信息,使模型能夠充分利用上下文信息,補充丟失的局部細節特征。采用注意力機制模塊聚焦于目標區域特征,有助于獲取更明確的上下文語義信息的特征圖。在解碼器中運用雙線性插值恢復圖像分辨率。實驗結果表明,所提模型對小尺度目標以及局部邊界具有相對較強的分割性能,同時相比于現有的語義分割模型,在整體分割精度上也有一定的提升。后續將對所提模型進行輕量化設計,進一步減少網絡參數,使其適用于自動駕駛及醫學分割領域。