陳 娜,劉宇紅,張榮芬
(貴州大學(xué)大數(shù)據(jù)與信息工程學(xué)院,貴陽 550025)
隨著深度學(xué)習(xí)的發(fā)展,全卷積神經(jīng)網(wǎng)絡(luò)為語義分割帶來了巨大的飛躍。2015年,一種基于全卷積網(wǎng)絡(luò)的語義分割模型文獻(xiàn)被提出[1],可實現(xiàn)密集的推理;2017年,具有編碼器-解碼器結(jié)構(gòu)的SegNet網(wǎng)絡(luò)被提出[2],編碼器通過池層逐漸減小輸入特征圖的大小,解碼器通過上采樣逐漸恢復(fù)圖像細(xì)節(jié)和特征圖大小。為了優(yōu)化輸出,又有人提出了DeepLab的幾種變體,其中,DeepLabv3+[3]基于DeepLabv2和DeepLabv3,采用了編解碼器結(jié)構(gòu)。語義分割本質(zhì)上是一個逐像素的分類任務(wù),為了生成密集逐像素的上下文信息,非局部神經(jīng)網(wǎng)絡(luò)[4]利用自注意機(jī)制實現(xiàn)特征重構(gòu);DANet[5]引入空間方式和通道方式的注意模塊來豐富特征表示?;谧⒁饬Φ姆椒╗6-7]已被證明是語義分割中獲取全局視野和上下文的有效方法。為進(jìn)一步提高捕獲效率與圖像分割精度,在此提出一種結(jié)合級聯(lián)ASPP和注意力交叉融合的圖像語義分割算法,旨在能夠分割出小尺度目標(biāo)的理想?yún)^(qū)域,有效避免語義分割和標(biāo)注不合理等問題。
DeepLabv3+網(wǎng)絡(luò)是目前最優(yōu)秀的語義分割模型之一,然而ASPP多層復(fù)雜的空洞卷積疊加容易失去圖像中被忽略的小尺度目標(biāo)信息,從而導(dǎo)致不準(zhǔn)確的分割。為此,需對Deeplabv3+網(wǎng)絡(luò)加以改進(jìn)。改進(jìn)算法的網(wǎng)絡(luò)模型如圖1所示。在改進(jìn)算法中,編碼器采用改進(jìn)后的Xception網(wǎng)絡(luò)作為骨干網(wǎng)絡(luò)進(jìn)行特征提取,在原圖1/16大小的特征圖后連接DASPP模塊,它參考DenseNet[8]的網(wǎng)絡(luò)結(jié)構(gòu),通過密集連接改進(jìn)DeepLabv3+網(wǎng)絡(luò)的ASPP模塊,將其由原來的獨(dú)立分支法改為級聯(lián)法,實現(xiàn)更密集的像素采樣,提高算法的特征提取能力。
圖1 改進(jìn)算法總體結(jié)構(gòu)模型
改進(jìn)之后的ASPP模塊在原有三個空洞卷積并行的基礎(chǔ)上增加了串聯(lián)結(jié)構(gòu),將空洞速率較小的空洞卷積的輸出和主干網(wǎng)絡(luò)的輸出級聯(lián),再一起送入膨脹速率較大的空洞卷積,以達(dá)到更好的特征提取效果。
為了在解碼器中更好地挖掘空間和信道特征,在對原始圖像進(jìn)行空洞卷積后,使用1×1卷積提取淺層特征,并將提取的淺層特征和D-ASPP模塊輸出的上下文信息輸入到注意力交叉融合模塊ACFM中,利用ASPP模塊的密集像素捕獲和注意機(jī)制對重要信息的選擇性注意,將得到的特征圖進(jìn)行3×3卷積和四倍上采樣,得到最終分割效果圖。
空洞卷積運(yùn)算及改進(jìn)如圖2所示。在圖2(a)中,當(dāng)膨脹率為6時,一維空洞卷積的感受野為13,但每次只有3個像素被用于卷積計算。將ASPP模塊改為密集連接后,空洞率逐層增加,空洞率較大的層以膨脹率較小的層的輸出作為輸入,使得像素采樣更加密集,提高了像素的利用率。在圖2(b)中,在膨脹率為6的空洞卷積之前執(zhí)行膨脹率為3的空洞卷積,這樣最終卷積結(jié)果中有7個像素參與運(yùn)算,采樣密度高于膨脹率為6的空洞卷積直接執(zhí)行的采樣密度。在此基礎(chǔ)上再次擴(kuò)展到二維時,膨脹率為6的單層空洞卷積中只涉及9個像素,而級聯(lián)空洞卷積中涉及49個像素,如圖2(c)所示。
圖2 空洞卷積運(yùn)算及擴(kuò)展
由此可見,較低速率層的輸出通過密集連接的方式連接到較大速率層作為輸入,增強(qiáng)了網(wǎng)絡(luò)特征提取的能力。密集連接的ASPP模塊不僅可以獲得更密集的像素采樣,還可以提供更大的感受野。對于速率為r且卷積核大小為k的卷積,感受野S的大小可表示為下式:
通過疊加兩個空洞卷積可以獲得更大的感受野,疊加后的感受野大小可以通過以下公式獲得:
其中s1和s2分別是兩個空洞卷積各自的感受野大小。由公式(1)和(2)可知原ASPP模塊的最大感受野為37,改進(jìn)的ASPP模塊的最大感受野為73。改進(jìn)后的模塊通過跳層連接實現(xiàn)信息共享,不同膨脹率的空洞卷積相互補(bǔ)充,增加了感受野的范圍。
雖然D-ASPP模塊可以獲得更密集的像素采樣和更大的感受野,但是也增加了網(wǎng)絡(luò)參數(shù)的數(shù)量。為了解決這一問題,在密集連接后的每個空洞卷積之前使用1×1卷積來減少特征圖的通道數(shù),從而減少網(wǎng)絡(luò)的參數(shù)數(shù)量。設(shè)C0代表ASPP模塊的輸入特征特征圖的通道數(shù);Cl表示在第l個空洞卷積之前,1×1卷積輸入特征圖的通道數(shù);n代表每個空洞卷積的輸出特征圖的通道數(shù)。參數(shù)數(shù)量計算公式為:
其中L是空洞卷積的個數(shù),k是卷積核的大小,取值皆為3。以優(yōu)化后的Xception網(wǎng)絡(luò)為骨干網(wǎng)絡(luò)時,該網(wǎng)絡(luò)2048個輸出通道的特征圖作為ASPP模塊的輸入。ASPP模塊每一個空洞卷積輸出特征圖的通道數(shù)n為256。各數(shù)值代入式(3),得P=14155776。
改進(jìn)后的ASPP模塊的參數(shù)量可由下式計算:
從式(4)中的兩個方程,同樣得出P=14155776。由此可見,改進(jìn)后的密接ASPP模塊在獲得更密的像素采樣和更大感受野的同時,成功地保持了與原算法相同的參數(shù)個數(shù)。
改進(jìn)設(shè)計的特征交叉注意模塊如圖3所示。利用空間注意(SA)模塊提取淺層空間信息細(xì)化像素定位,利用通道注意機(jī)制(CA)捕捉全局上下文信息后再融合處理來抑制不重要的信息凸顯關(guān)鍵特征。
圖3 新設(shè)計特征交叉注意力模塊
首先連接兩個分支的輸出特征,并對融合的特征進(jìn)行3×3卷積、批量歸一化和ReLU單元處理。SA模塊的特征被歸一化和非線性卷積后乘以融合的特征被用作輸入來幫助改進(jìn)定位。再將上下文分支的輸出應(yīng)用于通道注意力模塊,通過全局池和最大池沿空間維度壓縮上下文特征,得到兩個向量共享到一個全連通層和Sigmoid算子生成注意圖。將注意力圖乘以來自空間注意力模塊的輸出特征,并添加到融合特征。最后對獲得的特征進(jìn)行1×1卷積和四次上采樣以獲得特征圖。在幾乎沒有額外訓(xùn)練參數(shù)和開銷的情況下,本模型可以獲得更重要的空間和信道特征圖。
Cityscapes是城市街景相關(guān)的數(shù)據(jù)集,作為圖像語義分割任務(wù)中的重要數(shù)據(jù)庫,其包含了50個大小城市和21個類別的5000張圖像,其中2975張為訓(xùn)練集,500張為驗證集,1525張為測試集。實驗采用Pytorch框架、Ubuntu 16.04系統(tǒng)和Nvidia GeForce GTX1080Ti顯卡;網(wǎng)絡(luò)輸入圖像的尺寸大小是512×512像素;批量大小設(shè)置為8;初始學(xué)習(xí)率設(shè)置為0.0001;動量是0.9。
在評估所提出網(wǎng)絡(luò)的分割性能時使用平均精度和均交并比MIOU來度量。MIOU值越大,模型的效果越好。假設(shè)總共有N個類,N+1是加上背景以后總的物體類別,pii(i=1,2,...,N)表示類別像素預(yù)測正確,pij和pji表示像素預(yù)測錯誤,數(shù)學(xué)公式可以表示為:
為研究網(wǎng)絡(luò)中D-ASPP和ACFM模塊的性能,設(shè)計消融實驗。采用Aligned Xception作為基準(zhǔn)模型,然后逐步添加各個模塊進(jìn)行實驗。分割結(jié)果如表1所示,嘗試將各模塊組合起來使用并對結(jié)果加以對比。
表1 不同模塊組合使用對應(yīng)MIOU值
如表中MIOU數(shù)據(jù)可見,以主干網(wǎng)絡(luò)搭配DASPP使用,比組合使用ASPP模塊的情況有更好的效果,MIOU值增加了1.73%。利用空間和通道注意力設(shè)計的ACF模塊,其MIOU值增加了0.86%,在大量融合特征中通過抑制相同冗余信息提取出更為關(guān)鍵的特征。經(jīng)實驗,改進(jìn)后的網(wǎng)絡(luò)算法最終的MIOU值達(dá)到74.36%,相比原模型提高2.14%,證明了所提出模型的每個模塊對于獲得最佳分割結(jié)果的必要性。
為進(jìn)一步驗證改進(jìn)算法的有效性,將所提出的算法與其他經(jīng)典網(wǎng)絡(luò)FCN-8s、SegNet、DenseNet、DANet和DeepLabv3+在數(shù)據(jù)集Cityscapes上進(jìn)行測試,測試結(jié)果對比如表2所示。
表2 不同網(wǎng)絡(luò)模型測試結(jié)果對比
可以看出,F(xiàn)CN-8s由于沒有考慮像素之間的關(guān)系,網(wǎng)絡(luò)分割精度最低;SegNet網(wǎng)絡(luò)沒有考慮圖像的上下文信息,MIOU值也不理想;由于引入雙注意模塊,DANet整體分類結(jié)果達(dá)到71.85%;雖然DeepLabv3+結(jié)合了多尺度信息,但各種復(fù)雜街景的分類精度并不理想。本研究的改進(jìn)算法分類結(jié)果達(dá)到最優(yōu)值74.36%,表明該模塊設(shè)計有效改善了網(wǎng)絡(luò)分類的識別能力。
從參數(shù)量、模型大小、幀速率方面考查改進(jìn)算法相比原DeepLabv3+模型的改善,結(jié)果如表3所示。
表3 DeepLabv3+改進(jìn)前后計算量對比
結(jié)合表2和表3可以看出,改進(jìn)算法相比于其他經(jīng)典網(wǎng)絡(luò)具有更好的實用性能,雖然預(yù)測速度提高不多,但取得了更高的分割精度和更小的內(nèi)存,綜合效果最優(yōu)。算法改進(jìn)前后模型可視化劃分結(jié)果對比如圖4所示??梢钥闯?,當(dāng)分割目標(biāo)過多時,原模型局部特征提取不連貫,容易使小目標(biāo)信息丟失且目標(biāo)邊緣分割不完整。而在所提出的改進(jìn)算法的結(jié)果中,圖中交通燈及電線桿等纖長細(xì)小目標(biāo)物均有更精細(xì)的分割結(jié)果,有利于減少意外的錯誤分類。
圖4 Cityscapes數(shù)據(jù)集不同模塊可視化比較
綜上實驗可知,在網(wǎng)絡(luò)編碼端,改進(jìn)后的算法將原網(wǎng)絡(luò)中的ASPP模塊由各分支并行結(jié)構(gòu)改為密集連接形式,實現(xiàn)了更密集的多尺度信息編碼,獲得了更密集的像素采樣和更大的感受野,合理控制了網(wǎng)絡(luò)的參數(shù)個數(shù)。在解碼端,利用通道特征提供全局信息,利用空間特征細(xì)化目標(biāo)邊緣。通過密集連接的ASPP模塊和交叉注意模塊的聯(lián)合學(xué)習(xí)得到圖像分割,使模型整體具有更高的分割精度。
實驗結(jié)果證明了改進(jìn)算法在小目標(biāo)檢測上的優(yōu)化,整體MIOU值達(dá)到74.36%,比原DeepLabv3+算法提高了2.14%,具有更高的分割準(zhǔn)確率。
結(jié)合級聯(lián)ASPP和注意力交叉融合的圖像語義分割算法,針對的是DeepLabv3+模型多層卷積疊加造成的圖像小目標(biāo)細(xì)節(jié)信息丟失、目標(biāo)邊緣分割精度低等問題,已在公開數(shù)據(jù)集Cityscapes上驗證了其有效性。改進(jìn)算法取得了一定的效果,但還缺少泛化性,在后續(xù)研究中可考慮將模型中密集連接后針對小目標(biāo)精準(zhǔn)分割的特點(diǎn)拓展到其他領(lǐng)域,比如橋梁和建筑裂縫問題等,使之發(fā)揮更大更廣的作用。