杜敏敏,司馬海峰
(河南理工大學(xué) 計算機學(xué)院,河南 焦作 454000)
作為圖像理解的基礎(chǔ),圖像語義分割是指根據(jù)語義信息將圖像劃分為不同的區(qū)域,而相同的語義區(qū)域具有相同的顏色[1]。其中,道路場景的圖像語義分割作為自動駕駛的核心技術(shù),近幾年成為研究的熱點之一。然而,由于受到光照、天氣等各種外界因素的影響,道路圖像中物體具有位置關(guān)系復(fù)雜和種類變化大的特點,使得城市道路圖像實時分割變成一項具有挑戰(zhàn)性的任務(wù)[2]。一方面,由于道路圖像涵蓋目標(biāo)種類多且存在很多細(xì)小目標(biāo),例如欄桿、交通指示燈等,增加了圖像語義分割的難度。另一方面,同一物體在不同圖像中呈現(xiàn)出不同的大小,如何保存多尺度信息成為分割的關(guān)鍵。
隨著深度神經(jīng)網(wǎng)絡(luò)的發(fā)展,圖像語義分割進(jìn)入新的時代,分割速度與精度得到了大幅提高。2014年,F(xiàn)CN[3]的出現(xiàn)將圖像語義分割帶入一個新的時代。該模型使用卷積層替換傳統(tǒng)網(wǎng)絡(luò)中的全連接層,然后通過上采樣將提取的特征還原成原圖大小,極大地促進(jìn)了語義分割的發(fā)展。但是該方法對于復(fù)雜場景圖像的分割并不理想,因此后續(xù)很多模型都是在FCN的基礎(chǔ)上進(jìn)行改進(jìn)。
2015年,Ronneberger等人[4]提出的U-Net網(wǎng)絡(luò)將編碼器-解碼器結(jié)構(gòu)應(yīng)用到圖像語義分割中,給圖像語義分割帶來創(chuàng)新。通過跳躍連接將編碼器與解碼器直接相連,實現(xiàn)了編碼層的特征復(fù)用,一定程度上彌補了FCN細(xì)節(jié)特征丟失的問題,但是忽視了不同特征的重要程度。2017年,Badrinarayanan等人[5]提出了用于自動駕駛的深層語義分割模型,該模型與FCN結(jié)構(gòu)相似,使用VGG-16的卷積層作為編碼網(wǎng)絡(luò)并保留特征圖的最大池化索引,在解碼器中利用最大池化索引進(jìn)行上采樣,提高了網(wǎng)絡(luò)性能。雖然上述結(jié)構(gòu)能取得較好的分割精度,但也存在參數(shù)多、計算量大的問題,因此研究者在如何提高編碼器-解碼器結(jié)構(gòu)的分割速度上也進(jìn)行了大量的探索。ENet[6]、LEDNet[7]模 型 使 用 非 對 稱 的 編 碼 器-解 碼 器 結(jié)構(gòu),減少了參數(shù)量,有效地提高了語義分割的速度。目前,編碼器-解碼器模型在圖像處理領(lǐng)域得到廣泛應(yīng)用。
此外,在深度神經(jīng)網(wǎng)絡(luò)中,普遍使用池化操作進(jìn)行下采樣,雖然可以擴(kuò)大感受野,但是在上采樣過程中容易導(dǎo)致精度的損失。針對這一問題,Yu等人[8]提出了空洞卷積(Atrous Convolution)思想,在保證不改變圖像分辨率的前提下增大感受野。但是如果在較深層網(wǎng)絡(luò)使用采樣率較大的空洞卷積,會導(dǎo)致“網(wǎng)格效應(yīng)”,造成局部特征的丟失。為了解決這一問題,Wang等人[9]提出了HDC結(jié)構(gòu),與普通空洞卷積不同,該結(jié)構(gòu)采用了具有不同膨脹率的空洞卷積來保證感受野的連續(xù)性。而文獻(xiàn)[10]則提出了空洞空間金字塔池化模型(Atrous Spatial Pyramid Pooling,ASPP),使用一組具有不同膨脹率的空洞卷積并行連接來捕獲圖像的上下文信息,提高模型的性能。2017年,Chen等人[11]又在文獻(xiàn)[10]的基礎(chǔ)上,在ASPP模塊中加入了圖片級特征,對輸入特征做全局平均池化,然后與并行的空洞卷積相融合,可以更好地捕獲全局上下文信息。
上述網(wǎng)絡(luò)結(jié)構(gòu)在一定程度上提高了語義分割網(wǎng)絡(luò)的精度,但是沒有考慮到不同特征信息之間的依賴程度,不能很好地區(qū)分特征的重要性,注意力機制的出現(xiàn)則很好地解決了這一問題。注意力機制的主要思想是為圖片中的關(guān)鍵特征賦予一層新的權(quán)重,從而使神經(jīng)網(wǎng)絡(luò)能夠?qū)W習(xí)到圖片中需要關(guān)注的地方,增加上下文的相關(guān)性。2018年,Hu等人[12]提 出了一 種全新的可以嵌 套到任意網(wǎng)絡(luò)的子結(jié)構(gòu)SENet,該結(jié)構(gòu)通過網(wǎng)絡(luò)自主學(xué)習(xí)來獲取不同通道的權(quán)值,從而根據(jù)不同的權(quán)值表示不同特征通道的重要性,建模各個通道之間的依賴性。文獻(xiàn)[13]在SENet的基礎(chǔ)上提出一個簡單有效的注意力模塊CBAM,與SENet不同的是,該模塊結(jié)合了空間和通道兩個維度上的注意力機制,取得了更好的分割結(jié)果。Fu等人[14]又在CBAM的基礎(chǔ)上提出一種適用于自然場景圖像的DANet,通過結(jié)合自注意力機制,并行連接空間注意力機制以及通道注意力機制,最后將兩個模塊的輸出相加,進(jìn)一步提高了分割結(jié)果的準(zhǔn)確度。
Chaurasia等[15]提 出 的LinkNet是 一 種 有 效的實時圖像語義分割網(wǎng)絡(luò),結(jié)合殘差結(jié)構(gòu)[16]以及Unet模型形成對稱式的編碼器-解碼器結(jié)構(gòu),將解碼器與對應(yīng)的編碼器直接相連,在保證分割速度的同時獲得了較高的分割準(zhǔn)確率。自此,多個基 于LinkNet的 網(wǎng) 絡(luò) 被 相 繼 提 出。Zhou等 人[17]提出了D-LinkNet,它是一種被用于高分辨率衛(wèi)星道路圖像提取的模型,通過結(jié)合LinkNet、預(yù)訓(xùn)練編碼器以及擴(kuò)張卷積進(jìn)行道路提取,在一定程度上解決了道路連通性問題。文獻(xiàn)[18]又在D-LinkNet的 基 礎(chǔ) 上 進(jìn) 行 改 進(jìn),使 用DenseNet[19]代替ResNet,減少了網(wǎng)絡(luò)的參數(shù)并且提高了道路提取的準(zhǔn)確度。
受以上分割模型的啟發(fā),本文結(jié)合編碼器-解碼器結(jié)構(gòu)以及注意力機制的優(yōu)勢,提出了一種基于編碼器-解碼器結(jié)構(gòu)的道路圖像語義分割網(wǎng)絡(luò)(A-LinkNet)。由于LinkNet編碼器與解碼器直接相連,導(dǎo)致大量背景特征被引入,對有效特征的提取造成了干擾,因此A-LinkNet在LinkNet的每個編碼塊后接入注意力模塊,增加對有效特征的提取,抑制對無效特征的響應(yīng),使得分割過程中更加注意目標(biāo)特征的提取,避免在解碼階段引入過多的背景特征。同時,由于LinkNet不具有提取多尺度上下文特征的能力,所以對于細(xì)小目標(biāo)以及邊界的分割準(zhǔn)確度不高,我們引入了空洞空間金字塔池化模塊(ASPP),利用多個并聯(lián)的具有不同膨脹率的卷積操作來捕獲多尺度的上下文信息,融合圖像的多尺度特征,進(jìn)一步提高模型分割的準(zhǔn)確率。
本文所提模型主要分為3部分:編碼區(qū)、中心區(qū)以及解碼區(qū),其結(jié)構(gòu)圖如圖1所示。其中,編碼區(qū)由殘差塊以及注意力模塊串聯(lián)組合而成。對于輸入圖像,首先通過一個初始卷積模塊對輸入圖片進(jìn)行降維,該模塊由一個卷積核大小為7、步長為2的卷積層以及一個卷積核大小為3,步長為2的最大池化層組成。然后連接4個殘差塊,殘差塊結(jié)構(gòu)如圖2所示。與LinkNet編碼器不同的是,我們在前3個殘差塊后分別連接一個注意力模塊,使用位置注意力機制對特征圖中的每個像素點進(jìn)行建模,增加目標(biāo)特征的響應(yīng)能力,同時使用通道注意力機制對特征圖中的不同通道特征進(jìn)行建模,對不同的通道賦予不同的權(quán)重,增加對有利通道的響應(yīng),然后將得到的通道特征與位置特征進(jìn)行特征融合,得到注意力模塊的輸出。
圖1 A-LinkNet結(jié)構(gòu)Fig.1 Structure of A-LinkNet
圖2 殘差塊結(jié)構(gòu)Fig.2 Structure of residual blocks
中心區(qū)在LinkNet的基礎(chǔ)上引入了ASPP模塊,該 模 型 最 早 是 在DeepLabv2網(wǎng) 絡(luò)[10]中 被 提出,因為其在處理多尺度特征提取中表現(xiàn)優(yōu)異,而后在圖像語義分割中得到廣泛應(yīng)用,其結(jié)構(gòu)如圖3所示。ASPP模塊由一個卷積核大小為1的卷積層、3個卷積核大小為3、膨脹率為6、12、18的空洞卷積層以及一個全局平均池化層并聯(lián)而成,之后將得到的特征圖在通道維度上進(jìn)行特征融合,最后通過一個1×1卷積操作來降低特征通道數(shù)。通過使用空洞卷積,可以在不影響圖像分辨率的前提下增大圖像的感受野,更好地捕獲上下文信息。設(shè)置不同的空洞率可以得到不同尺度的特征圖,更好地提取多尺度信息。最后增加全局平均池化,將圖像級特征融進(jìn)ASPP中,提供位置信息。
圖3 空洞空間金字塔池化模塊Fig.3 Atrous spatial pyramid pooling module
解碼區(qū)的結(jié)構(gòu)和LinkNet相同,由4個解碼塊串聯(lián)組成,每個解碼塊的結(jié)構(gòu)如圖4所示。該結(jié)構(gòu)使用兩個卷結(jié)核為1的卷積提高網(wǎng)絡(luò)的計算效率,使用一個3×3的反卷積進(jìn)行上采樣,逐步恢復(fù)特征圖大小。此外,直接將解碼器與編碼器相連接,與編碼階段的特征信息進(jìn)行融合,可以更好地保留空間信息,最終得到與輸入圖像大小相同的分割圖像。
圖4 解碼塊結(jié)構(gòu)Fig.4 Structure of decoder blocks
在道路圖像中,由于物體種類比較多,類間差異比較大,圖像的背景比較復(fù)雜,給分割帶來了一定的難度。在深度卷積網(wǎng)絡(luò)中,較淺層中的特征圖分辨率高,可以學(xué)到輪廓、邊界等低級的空間特征。隨著網(wǎng)絡(luò)的加深,可以得到語義更加豐富的高層特征,但是由于低層特征中含有大量背景特征信息,會給深層特征的學(xué)習(xí)帶來干擾。因此,受到SENet[12]以及DANet[14]的啟發(fā),我們提出了基于位置和通道的注意力模塊,可以從空間相對位置以及不同通道間的依賴中捕獲全局上下文信息,對特征進(jìn)行加權(quán),減少背景特征的權(quán)重,增加目標(biāo)特征的權(quán)重,抑制無用信息的干擾。
注意力模塊由位置注意力機制和通道注意力機制組成,結(jié)構(gòu)如圖5所示。其中,上半部分表示位置注意力模塊,下半部分表示通道注意力模塊,最后將兩個模塊的結(jié)果進(jìn)行特征融合。具體來說,位置注意力機制通過對任意兩個像素點進(jìn)行建模來表示兩個位置的相關(guān)性,這樣具有相似特征的兩個像素可以相互提升,得到較高的權(quán)重。通道注意力機制通過網(wǎng)絡(luò)學(xué)習(xí)得到不同的通道權(quán)重,進(jìn)而增加有效通道的響應(yīng)。
圖5 本文提出的注意力模塊Fig.5 Attention module proposed in this paper
對于輸入特征A,經(jīng)過卷積核大小為1的卷積層進(jìn)行降維操作,得到與輸入特征A尺寸相同的特征B、C;將特征B進(jìn)行轉(zhuǎn)置后與特征C進(jìn)行矩陣相乘,進(jìn)而建模特征圖中任意兩個像素點之間的相似性,然后通過Softmax函數(shù)計算得到相應(yīng)的位置注意力圖P,如式(1)所示:
其中,Pji∈RN×N表示特征圖中第j個像素與第i個點之間的特征相似性,B、C∈RN×T,N=H×W,H、W分別表示特征圖的高和寬,T表示通道數(shù)。最后將注意力圖P與輸入特征A進(jìn)行相乘得到處理后的位置注意力特征Pf,如式(2)所示:
其中,α表示尺度系數(shù),初始化為0,逐漸學(xué)習(xí)得到更大的權(quán)重。
同樣,輸入特征A經(jīng)過卷積核大小為1的卷積層進(jìn)行了降維操作,得到新的特征D,然后對特征D進(jìn)行全局平均池化,得到可以表征各通道的全局信息;然后連接兩個全連接層來建模通道間的非線性相關(guān)性,第一個全連接層后我們使用ReLU函數(shù)來提取更多的非線性特征,第二個全連接層后我們使用Sigmoid函數(shù)獲得通道注意力圖H,具體計算方法如式(3)所示:
最終,使用1×1卷積將得到的位置注意力特征與通道注意力特征還原至輸入維度,最后進(jìn)行特征融合,得到注意力輸出特征。
本文實驗采用的是Cityscapes數(shù)據(jù)集[20],該數(shù)據(jù)集主要包含來自50個不同大型城市的街道場景,其中包含5 000張帶有精細(xì)標(biāo)注的圖像以及20 000張帶有粗糙標(biāo)注的圖像。我們使用精細(xì)標(biāo)注的圖像進(jìn)行實驗,其中2 975張用作訓(xùn)練集,500張用作驗證集,剩余1 525張為測試集。數(shù)據(jù)集共包含30個類別,其中的19個類別被選定用于訓(xùn)練和評估。
本文實驗均在內(nèi)存為48 G的NVIDIA Quadro RTX 8 000 GPU上進(jìn)行訓(xùn)練,采用pytorch1.2.0框架。模型優(yōu)化器選用Adam算法[21],初始學(xué)習(xí)率設(shè)置為5e-4,并使用交叉熵?fù)p失函數(shù)優(yōu)化所有模型。輸入圖片大小為1 024×512,批處理大小為16,epoch設(shè)置為200。
本文采用平均交并比(Mean Intersection over Union,MIoU)作為評估指標(biāo),表示分割結(jié)果與真實值的重合度,是目前語義分割領(lǐng)域最常用的評價指標(biāo)之一。其計算公式如下:
其中,N表示類別總數(shù),TP、FN、FP、TN分別表示真正例、假反例、假正例、真反例。
3.2.1 ASPP模塊實驗
為了驗證ASPP模塊不同膨脹率組合的效果,本文設(shè)計了多組ASPP結(jié)構(gòu)進(jìn)行實驗,結(jié)果如表1所示。
在相同的計算條件下,ASPP模塊可以提供更大的感受野,采用不同膨脹率的空洞卷積可以捕獲不同尺度的信息。隨著感受野的增大,模型的性能逐漸提高。在表1中,可以看到ASPP模塊的增加對模型的性能有一定的提高,與LinkNet原始模型比較,MIoU分別提高了0.86%、1.69%、2.06%以及1.18%。但是如果膨脹率過大,會導(dǎo)致卷積核跑到padding區(qū)域,產(chǎn)生無意義的權(quán)重,導(dǎo)致性能下降。本文采用[12,18,24]組合的ASPP模塊與[6,12,18]組合相比,MIoU并未有效提高。因此,在本文后續(xù)實驗中,選擇膨脹率為[6,12,18]的空洞卷積來提高模型的準(zhǔn)確度。
表1 不同膨脹率組合對比實驗Tab.1 Comparative experiment of different dilation rate combinations
3.2.2消融實驗
為了驗證注意力機制以及ASPP模塊的有效性,本文在Cityscapes數(shù)據(jù)集上進(jìn)行了消融對比實驗,具體實驗設(shè)置以及結(jié)果如表2所示。
表2 在Cityscapes數(shù)據(jù)集上的消融實驗Tab.2 Ablation experiment on the Cityscapes dataset
從表2可以看出,使用LinkNet原始模型得到的MIoU為59.77%,與原始模型相比較,僅加入注意力機制的模型分割結(jié)果為62.04%,增加了2.27%;僅加入ASPP模塊,雖然參數(shù)量和計算量有所增加,但是MIoU提高了2.06%;同時加入注意力機制和ASPP模塊,最終的分割結(jié)果為64.78%??梢钥闯觯疚姆椒ㄓ行岣吡说缆氛Z義分割準(zhǔn)確率。
實驗過程中的Loss曲線如圖6(a)所示,可以看出,在經(jīng)過約100個epoch之后,該模型可以很好地實現(xiàn)收斂。同時,我們統(tǒng)計了訓(xùn)練過程中的平均像素準(zhǔn)確度(Mean Pixel Accuracy,MPA),如圖6(b)所 示。隨著epoch的增加,MPA逐漸增大,在167個epoch時,模型的平均像素準(zhǔn)確度達(dá)到最大,為93.42%。
圖6 訓(xùn)練曲線圖Fig.6 Curvs of training
為了驗證所提方法的實驗效果,與其他方法在相同的軟硬件環(huán)境下進(jìn)行實驗,采用相同的實驗參數(shù)在Cityscapes驗證集上進(jìn)行對比。對比方法選擇了FCN[3]、SegNet[5]與ENet[6]。FCN是圖像語義分割領(lǐng)域的經(jīng)典模型,SegNet是編碼器-解碼器結(jié)構(gòu)的代表,ENet則是輕量級模型的代表。實時性對比結(jié)果如表3所示,MIoU對比結(jié)果如表4所示。
表3 實時性能對比實驗Tab.3 Real-time performance comparison
表4 本文方法與其他網(wǎng)絡(luò)在Cityscapes驗證集上MIoU值對比結(jié)果Tab.4 Comparative of MIoU values between the method in this paper and others on the Cityscapes validation set
從表3可以看出,F(xiàn)CN網(wǎng)絡(luò)的分割速度最差;SegNet的分割速度有所提高,但其參數(shù)量龐大;ENet作為輕量級網(wǎng)絡(luò)的代表,具有良好的實時性。本文所提算法雖然實時性不及ENet,但是對比FCN、SegNet,分割速度大幅提高,并且MIoU高于ENet。
從表4可以看出,本文所提方法MIoU結(jié)果為64.78%,與其他方法相比,模型性能有了一定提高,比經(jīng)典的FCN提高了6.17%。另外,我們統(tǒng)計了每一類的IoU,所提方法雖然沒有達(dá)到每一類都是最優(yōu),但是對于多數(shù)類別表現(xiàn)最佳。由于注意力機制以及ASPP模塊的增加捕獲了更加豐富的上下文信息,對于信號燈、信號標(biāo)志等細(xì)小物體的分割,MIoU獲得大幅提高。
為了更加直觀地對比實驗結(jié)果,我們在圖7中對部分分割結(jié)果圖像進(jìn)行了展示。在第1行中,F(xiàn)CN網(wǎng)絡(luò)對于公共汽車的分割較為粗糙,邊緣預(yù)測不夠突出;SegNet網(wǎng)絡(luò)對于公共汽車邊界的分割有所提高,但是在車頂上方出現(xiàn)了干擾信息,有幾處出現(xiàn)識別錯誤;而本文提出的方法對于公共汽車的輪廓預(yù)測更加清晰,對于車身的識別也比較完整。在第2行中,對比FCN網(wǎng)絡(luò)以及SegNet網(wǎng)絡(luò)對于圖片左側(cè)人行橫道的識別,本文所提方法的效果更加完整。在第3行中,對于交通信號燈以及欄桿等細(xì)小物體的分割,F(xiàn)CN表現(xiàn)較差,分割邊界不清晰,不能完整識別桿狀物;SegNet網(wǎng)絡(luò)分割效果較好,但仍有些細(xì)節(jié)處理不清晰。在第4行中,對于行人的分割,F(xiàn)CN網(wǎng)絡(luò)以及SegNet網(wǎng)絡(luò)分割效果粗糙,邊界不明顯,識別不完整;本文所提方法對于行人的識別比較完整,邊界處較為清晰。在第5行中,對于草等水平植被的識別,F(xiàn)CN網(wǎng)絡(luò)的分割結(jié)果最差,出現(xiàn)多處識別錯誤,將水平植被誤識為樹木等垂直植被;SegNet網(wǎng)絡(luò)將水平植被誤識為人行道;而本文所提方法分割相對完整。在第6行中,F(xiàn)CN網(wǎng)絡(luò)以及SegNet網(wǎng)絡(luò)對于建筑物的分割效果較差,出現(xiàn)大面積識別錯誤;而本文所提方法分割結(jié)果較為準(zhǔn)確。另外,對于交通標(biāo)志的識別,本文所提方法識別形狀更為準(zhǔn)確。在第7行中,對于自行車以及騎行者的識別,本文所提方法較為形象,分割結(jié)果更為完整。相比較而言,本文所提方法能更加準(zhǔn)確地分割細(xì)小物體,邊界更加清晰,形狀更加完整??偟膩碚f,本文所提方法在Cityscapes驗證集上可以預(yù)測出更優(yōu)良的分割結(jié)果。
圖7 不同模型在Cityscapes驗證集上的分割結(jié)果Fig.7 Segmentation results of different models on the Cityscapes validation set
本文在LinkNet分割網(wǎng)絡(luò)的基礎(chǔ)上進(jìn)行改進(jìn),可以較好地彌補LinkNet在道路圖像分割中的不足。具體來說,在編碼器-解碼器的結(jié)構(gòu)上加入注意力機制,分別對位置以及通道維度的特征進(jìn)行建模,挖掘道路圖像在空間維度以及通道維度的上下文依賴信息,提高模型對有效特征的提取能力,避免無效信息的干擾。另外,在中心區(qū)域引入空洞空間金字塔池化模塊,通過使用不同膨脹率的空洞卷積融合道路圖像的多尺度特征,提取更加豐富的上下文信息,進(jìn)一步提高模型分割的準(zhǔn)確度。本文模型在Cityscapes數(shù)據(jù)集上分割結(jié)果表現(xiàn)優(yōu)異,與其他網(wǎng)絡(luò)相比較,MIoU達(dá)到了64.78%,且分割結(jié)果中目標(biāo)特征更加完整,邊界更加清晰。在后續(xù)的研究中,會考慮優(yōu)化損失函數(shù),探索更高效的語義分割網(wǎng)絡(luò),保證模型在分割速度與分割精度上有更好的平衡。