劉東東,馬銀平
(南昌航空大學信息工程學院,南昌 330063)
語義分割是計算機視覺的重要任務之一,目的是給圖像中每個像素進行分類,使整幅圖劃分為幾個特定的不同區(qū)域,進而完成分割的任務。目前語義分割被廣泛應用到無人駕駛、醫(yī)療影像檢測、地理信息系統(tǒng)等任務中。
2014 年,Long 等提出了全卷積神經網絡(Fully Convolutional Network,F(xiàn)CN),首次將深度學習技術應用到圖像語義分割任務中,在計算機視覺領域有著劃時代的意義。FCN 網絡相比于分類網絡而言,去除了全連接層,使用卷積層代替,加入了上采樣層用來恢復特征圖的尺寸,最后獲得一個和原始輸出圖像h,w 相同的二維熱度圖,用于對圖像進行像素級別的分類。為了提升預測的精度,F(xiàn)CN 網絡采用了一種跳躍連接的結構,將全局信息和局部信息連接起來,F(xiàn)CN 作為圖像語義分割領域的開山之作,由于其優(yōu)秀的分割性能,在FCN 網絡的基礎上誕生了很多優(yōu)秀的語義分割網絡,根據(jù)特征提取網絡的不同大致可以分為兩類:一類是使用VGGNet 作為語義分割特征提取網絡,如FCN、SegNet、U-Net、DeepLab等;另一類是使用ResNet作為語義分割特征提取網絡,如PSPNet、DeepLabV3+等。
本文采用ResNet-50作為語義分割的特征提取網絡,在最后一個層(Layer)之后引入ASPP模塊,用來獲取不同感受野的特征圖,在上采樣過程中通過細化殘差模塊(Refinement Residual Block,RRB)對要融合的不同層的特征圖進行處理,最后將輸出特征的通道數(shù)壓縮為分類的個數(shù),對圖像進行像素級別的預測。
本文提出的模型算法的框架如圖1所示,主要由兩部分組成,空洞空間金字塔(Atrous Spa?tial Pyramid Pooling,SAPP)模塊和多特征融合上采樣模塊,模型的特征提取網絡采用的是ResNet-50,網絡的參數(shù)見表1。由于頻繁的下采樣會導致圖像的特征信息丟失,所以在主干特征提取網絡的最后一個Layer 后面添加了一個ASPP 結構,用來增加感受野并獲取多尺度特征信息,在上采樣的時候采用多層特征融合的方法用于進一步獲取圖像的上下文信息,使模型能夠提取到更多有效的空間信息和語義信息。最后對特征圖進行通道數(shù)的調整,將其調整為分類數(shù),通過Softmax 分類器計算每個像素屬于不同類別的概率值,輸出分割的結果,完成語義分割任務。
圖1 融合上下文特征和空洞空間金字塔池化的語義分割
表1 ResNet-50 結構參數(shù)
ASPP 的思想來源于SPPNet,主要是為了解決目標的多尺度問題。通過設計不同的空洞率的多個并行卷積核組成類似金字塔樣式,在給定的特征層上進行有效的重采樣,空洞卷積也稱為膨脹卷積,之所以采用膨脹卷積替代池化,一方面是因為不斷的下采樣不僅會丟失圖像中很多的細節(jié)信息和空間位置信息,另一方面膨脹卷積可以保證在參數(shù)量不變的情況下,通過增大卷積核尺寸來擴大感受野的大小,并在獲得更大感受野的同時保留更多的空間信息。
所謂膨脹卷積就是在標準卷積的基礎上引入一個稱為膨脹因子的超參數(shù),膨脹因子表示的是卷積核之間的間隔數(shù),標準卷積的卷積核之間的間隔數(shù)為1,即標準卷積的膨脹因子為1。當膨脹因子擴大時,卷積核之間的間隔使用0填充,膨脹卷積的感受野計算公式如式(1)所示:
其中,F代表膨脹卷積的感受野大小,表示膨脹因子大小。
圖2為膨脹卷積的示意圖,圖2(a)為標準的3 卷積,也就是膨脹因子為1 的卷積,其感受野大小= 3 × 3;圖2(b)為膨脹因子為2 的3 × 3 卷積,其感受野大小為= 7 × 7;圖2(c)為膨脹因子為3的3 × 3卷積,其感受野大小為= 15 × 15。通過上述可以看出,在學習參數(shù)相同的情況下,都是9個權重參數(shù),我們可以通過設置膨脹因子來獲得不同感受野的濾波器,增加網絡對多尺度物體的適用性。
圖2 膨脹卷積
本文在主干特征提取網絡的最后一個Layer之后引入RRB-ASPP 模塊,如圖3 所示,用來獲取多尺度感受野的特征圖,然后ASPP 結構的輸出通過RRB 模塊進行通道數(shù)的調整,最后用于多層特征融合。
圖3 帶RRB-ASPP模塊的主干網絡結構
語義分割需要對不同空間尺度的信息進行融合,淺層網絡提取到局部信息包含很多細節(jié)性的特征,深層網絡提取到全局信息包含更多的語義,所以全局信息和局部信息對分割的精度都會產生影響。由于卷積神經網絡的空間不敏感性,也會對語義級別的分割產生影響,因此本文采用了一種多層特征融合的上采樣模塊,如圖4所示。
圖4 細化殘差模塊
多層特征融合上采樣模塊在融合不同層的特征圖時,通過一個細化殘差模塊RRB 先對每層輸出的特征圖進行處理,RRB 模塊首先采用1 × 1 卷積對特征圖的通道數(shù)進行調整,將不同隱藏層的通道數(shù)進行統(tǒng)一,都調整為256,另外還采用了殘差結構對特征進一步提取,RRB 模塊分別添加在ResNet-50 三個特征提取塊之后,因為淺層特征的下采樣過程比較少,所以保留的空間信息和邊界等細節(jié)性信息比較多,在上采樣的過程中融合不同特征層信息,能使分割效果更好。
本語義分割模型使用PyTorch 深度學習框架搭建,實驗環(huán)境配置見表2。
表2 實驗環(huán)境配置
采用的數(shù)據(jù)集為PASCAL VOC2012 數(shù)據(jù)集,該數(shù)據(jù)集由訓練集、驗證集和測試集構成,包含 四 個 大 類 別, 分 別 為Person, Vehicles,Household,Animals,細分為20個小類別和一個背景類別,其中屬于Vehicles 的有Car,Bus,Bicycle, Motorbike, Aeroplane, Boat, Train;屬于Household 的 有Chair,Sofa,Dining table,TV,Bottle,Potted plant;屬 于Animals 的 有Cat,Dog,Cow,Horse,Sheep,Bird。
本文采用的是語義分割任務中常用的兩種評估指標,平均像素精度()和平均交并比(),這兩種評估指標能直接地反映出模型在語義分割任務中的性能。假設數(shù)據(jù)集中的類別個數(shù)為c,加上一個背景類別,總的類別數(shù)為+1,設p表示正確預測正樣本的像素個數(shù),p表示錯誤預測為正樣本的像素數(shù),p表示錯誤預測為負樣本的像素個數(shù)。
平均像素精度(mean Pixel Accuracy,mPA)的計算公式如式(2)所示:
平均交并比(mean Intersection over Union,mIoU)的計算公式如式(3)所示:
實驗中,首先對輸入的圖片進行隨機尺度調整、隨機裁剪以及隨機翻轉等一系列特征增強操作,采用了Adam 優(yōu)化器,該優(yōu)化器能夠動態(tài)地調整算法中的使用學習率參數(shù),初始學習率設置為0.01,采用Poly 學習率策略對學習率進行動態(tài)的調整,如式(4)所示:
其中momentum 的值設置為0.9,迭代次數(shù)為500,batch_size為8。
為了進一步驗證本文所提出網絡實現(xiàn)的效果,與FCN,SegNet,DeepLabV2,PSPNet 等網絡進行對比,在PASCL VOC 2012 數(shù)據(jù)集上語義分割性能對比結果見表3,相比于其他4 種方法,本文所提出的方法在性能上有一定的提升。
表3 網絡分割結果
與FCN,SegNet,DeepLabV2,PSPNet 等網絡的分割效果圖對比如圖5所示,從分割效果圖可以看出,本文網絡在分割的細節(jié)上有所提升,如在第一張效果圖中對于路燈桿的分割比前面的網絡要好;在第二張效果圖中對于道路的分割效果也比前幾種網絡有所提升。
圖5 網絡分割效果圖
針對語義分割網絡在進行語義分割的時候容易丟失邊界和位置信息,造成圖像分割的結果粗糙以及對像素類別的誤判,提出融合上下文特征和空洞空間金字塔池化的語義分割方法。對比實驗證明,本文提出的模型在PASCAL VOC 2012 數(shù)據(jù)集上,相比于FCN,SegNet,DeepLabV2,PSPNet 等網絡在分割性能上有一定的提升。本文使用的backbone 是ResNet-50,在未來,我們可以考慮如何進一步改進特征提取網絡來獲得更好的分割性能。