謝剛,王荃毅,謝新林,王健安
(1.太原科技大學(xué)電子信息工程學(xué)院,山西 太原 030024;2.先進(jìn)控制與裝備智能化山西省重點(diǎn)實(shí)驗(yàn)室,山西 太原 030024)
隨著新一代人工智能技術(shù)的快速發(fā)展、可視化數(shù)據(jù)的激增以及GPU(graphics processing unit)硬件設(shè)備的不斷更新,以深度學(xué)習(xí)[1]為導(dǎo)向的圖像語義分割逐漸成為熱點(diǎn)研究內(nèi)容之一。為了提高駕駛體驗(yàn),緩解交通壓力,自動駕駛技術(shù)得到了廣泛的研究[2]。相比于單一的視覺任務(wù),圖像語義分割能夠同時(shí)實(shí)現(xiàn)對目標(biāo)的分割和識別,進(jìn)而為場景理解提供細(xì)粒度和高層次的語義信息,在面向城市交通場景理解中起著至關(guān)重要的作用,已廣泛應(yīng)用于自動駕駛[3]、3D 點(diǎn)云[4]、智能交通系統(tǒng)[5]等領(lǐng)域。
近年來,卷積神經(jīng)網(wǎng)絡(luò)(CNN,convolutional neural network)廣泛應(yīng)用于交通場景語義分割[2-3,5],利用卷積核的權(quán)重和局部感受野能夠更好地將局部特征與整個特征圖相關(guān)聯(lián)。然而,卷積核的感受野存在局限性,導(dǎo)致難以捕獲長距離特征依賴關(guān)系。而這些依賴關(guān)系通常在處理高分辨率的語義分割任務(wù)中至關(guān)重要,尤其是在交通場景中提取具有長距離特征的纖細(xì)條狀目標(biāo)(如交通標(biāo)志、路燈、樹木、行人等)的特征時(shí),上下文信息的丟失更加明顯。為此,Chen 等[6]提出ASPP(atrous spatial pyramid pooling)模塊,通過空洞卷積擴(kuò)大感受野的方法來解決上下文信息丟失問題,同時(shí)進(jìn)一步證明了豐富的上下文信息可以增強(qiáng)網(wǎng)絡(luò)的類別區(qū)分度,從而更好地提高網(wǎng)絡(luò)模型的語義分割能力。Dong 等[7]通過減少下采樣來獲得高分辨率的特征圖,并在使用ASPP 模塊前串行加入通道注意力機(jī)制(CAM,channel attention mechanism)來更多地提取上下文信息。目前,最先進(jìn)的DeepLab-V3+網(wǎng)絡(luò)模型[8]改進(jìn)了ASPP 模塊,采用串行多級擴(kuò)張率的空洞卷積來獲取更大的感受野,同時(shí)避免池化所引起的圖像分辨率低的問題。然而,這些方法未考慮多尺度信息對像素分類的影響以及空洞卷積容易出現(xiàn)梯度消失的問題,沒有充分發(fā)揮不同階段網(wǎng)絡(luò)的特征提取優(yōu)勢,導(dǎo)致具有長距離特征的纖細(xì)條狀目標(biāo)的分割結(jié)果往往不連續(xù)。
針對上述問題,Lv 等[2]提出并行互補(bǔ)模塊來增強(qiáng)具有適當(dāng)補(bǔ)碼信息的局部特征;Huynh 等[9]設(shè)計(jì)了細(xì)化模塊,使用后一個分割圖來細(xì)化前一個分割圖的目標(biāo),以解決纖細(xì)條狀目標(biāo)分割不連續(xù)的問題;Weng 等[10]提出階段感知特征對齊模塊來對齊和聚合相鄰的兩層特征映射,以增強(qiáng)空間細(xì)節(jié)信息。與上述方法相比,所提算法的獨(dú)特性在于將Transformer 與CNN 相融合,在Transformer 的全局特征表示下通過CNN 來增強(qiáng)局部特征的提取,并采用多分支不同尺度下的條形卷積(行卷積和列卷積)來聚合多尺度纖細(xì)條狀特征信息,以增強(qiáng)網(wǎng)絡(luò)對不同尺度的纖細(xì)條狀目標(biāo)的關(guān)注。
視覺Transformer(ViT,vision transformer)首次使用純Transformer 結(jié)構(gòu)作為特征提取器來處理圖像識別任務(wù)[11],在許多視覺任務(wù)上取得了與CNN同類模型相當(dāng)甚至更好的性能,并已成功應(yīng)用于交通場景語義分割。Transformer 主要對輸入特征的上下文信息求加權(quán)平均,根據(jù)相關(guān)像素對之間的相似性函數(shù)動態(tài)計(jì)算自注意力權(quán)重。這種靈活的操作可以使注意力模塊自適應(yīng)地關(guān)注整個特征圖的不同區(qū)域。然而,在捕獲更多全局特征的同時(shí),其也更容易丟失局部細(xì)節(jié)特征。為此,Liu 等[12]提出滑動窗口注意力,通過滑動的窗口設(shè)計(jì)將圖像分塊再重組,使每個窗口能夠關(guān)注特征圖不同區(qū)域的局部信息。為了更加精確地捕獲特征圖的局部特征,Wang等[13]將金字塔結(jié)構(gòu)引入Transformer,對不同尺度的特征圖進(jìn)行特征提取來加強(qiáng)對局部信息的關(guān)注。然而,上述方法未考慮高分辨率特征圖中存在的低級語義信息。低級語義信息對于局部目標(biāo)邊界細(xì)節(jié)信息具有較強(qiáng)的提取能力,丟失這些信息容易導(dǎo)致目標(biāo)邊緣分割不平滑。
針對上述問題,Peng 等[14]在Transformer 主干網(wǎng)絡(luò)中并行連續(xù)耦合CNN 來解決局部細(xì)節(jié)信息丟失的問題;Hu 等[15]提出空間細(xì)節(jié)提取模塊,捕獲淺層網(wǎng)絡(luò)多層次局部特征,彌補(bǔ)下采樣階段丟失的幾何信息;Xiao 等[16]設(shè)計(jì)了邊界細(xì)化模塊,利用Canny 檢測器提取的粗略的低級邊界特征來細(xì)化目標(biāo)邊界。相比上述方法,本文所提算法的獨(dú)特性在于充分利用高分辨率特征圖中的低級語義信息(如紋理等),并利用預(yù)訓(xùn)練模型和遷移學(xué)習(xí)策略來進(jìn)一步提高模型的語義分割性能。
圖像語義分割模型對自動駕駛、智能交通等系統(tǒng)中的有效部署至關(guān)重要,而編碼器-解碼器結(jié)構(gòu)是一種有效的實(shí)現(xiàn)方法,該結(jié)構(gòu)由編碼器和解碼器兩部分組成。編碼器通常對原圖像進(jìn)行卷積、池化和正則化等操作,構(gòu)建下采樣的主干網(wǎng)絡(luò),用于提取圖像的高級語義信息;解碼器則通過對編碼結(jié)果進(jìn)行線性插值、轉(zhuǎn)置卷積或反池化等操作進(jìn)行上采樣,通過解碼器能夠得到與原圖像相同尺寸和語義信息的輸出結(jié)果。U-Net[17]和SegNet[18]采用編碼器-解碼器結(jié)構(gòu)來實(shí)現(xiàn)快速推理。近年來,大部分語義分割方法采用非對稱的編碼器-解器碼結(jié)構(gòu),以減少模型參數(shù)量和計(jì)算量。其中,Bai 等[19]采用緊湊的非對稱編碼器-解碼器結(jié)構(gòu),并加入注意力機(jī)制來實(shí)現(xiàn)高質(zhì)量的輕量級語義分割。Dong 等[7]通過采用輕量級主干網(wǎng)絡(luò)MobileNet-V2 和減少下采樣的方法來降低模型參數(shù)量。雖然這些方法能夠?qū)崟r(shí)生成分割結(jié)果,但其分割精度往往不令人滿意?,F(xiàn)有的高精度語義分割方法[12-14]都有較高的分割精度,但龐大的模型參數(shù)量和計(jì)算量不利于在實(shí)際交通場景中的部署。因此,如何在分割精度和模型大小之間取得權(quán)衡是現(xiàn)有交通場景語義分割任務(wù)中重要的考量因素之一[20]。
基于上述討論和動機(jī),本文提出一種融合多尺度深度卷積的輕量級Transformer 交通場景語義分割算法,算法框架如圖1 所示,該算法采用編碼器-解碼器結(jié)構(gòu),將Transformer(全局特征處理)和CNN(通用、易訓(xùn)練、局部特征處理)的各自優(yōu)勢相結(jié)合,以實(shí)現(xiàn)分割精度與模型大小之間的權(quán)衡。1) 編碼器采用雙分支設(shè)計(jì),輸入圖像先經(jīng)過語義分支中的TB(transformer block)獲得具有全局特征表示的特征映射,TB 結(jié)構(gòu)如圖1 所示。然后,利用多尺度條形特征提取模塊(MSEM,multi-scale strip feature extraction module)以較低的模型參數(shù)量來聚合多尺度纖細(xì)條狀特征信息,以增強(qiáng)網(wǎng)絡(luò)局部特征表示。而空間分支通過空間細(xì)節(jié)輔助模塊(SDAM,spatial detail auxiliary module)能夠保留更多的空間細(xì)節(jié)信息,以彌補(bǔ)深層空間細(xì)節(jié)的丟失。2) 解碼器分別將語義分支和空間分支生成的高級與低級特征映射相融合,進(jìn)一步建模全局上下文,并以較低的計(jì)算成本進(jìn)行像素級推理。所提算法能夠準(zhǔn)確地分割易融入周圍背景的纖細(xì)條狀目標(biāo)、優(yōu)化目標(biāo)邊緣,且獲得分割精度與模型大小之間的權(quán)衡。本文主要貢獻(xiàn)如下。
圖1 融合多尺度深度卷積的輕量級Transformer 交通場景語義分割算法框架
1) 利用深度條形卷積替換標(biāo)準(zhǔn)卷積構(gòu)建多尺度條形特征提取模塊,通過多分支不同尺度下的條形卷積對特征圖的提取與融合來增強(qiáng)網(wǎng)絡(luò)對纖細(xì)條狀目標(biāo)的關(guān)注。
2) 為了對高分辨率特征圖下的空間細(xì)節(jié)信息加以利用,設(shè)計(jì)了空間細(xì)節(jié)輔助模塊來保留豐富的空間細(xì)節(jié)信息,進(jìn)一步優(yōu)化目標(biāo)邊緣達(dá)到更準(zhǔn)確平滑的語義分割結(jié)果。
3) 提出基于Transformer-CNN 的非對稱編解碼網(wǎng)絡(luò)(TC-AEDNet,asymmetric encoding-decoding network based on the Transformer-CNN),編碼器結(jié)合Transformer 與CNN 將局部細(xì)節(jié)信息與上下文信息相關(guān)聯(lián),同時(shí)降低模型參數(shù)量。解碼器采用輕量級的多級特征融合設(shè)計(jì),分別將多級語義信息和空間細(xì)節(jié)信息相融合,以提高網(wǎng)絡(luò)模型分割性能。
針對現(xiàn)有交通場景語義分割算法難以準(zhǔn)確平滑地分割易融入周圍背景的纖細(xì)條狀目標(biāo)、高精度模型參數(shù)量大等問題,本文提出融合多尺度深度卷積的輕量級Transformer 交通場景語義分割算法,所提算法主要由三部分構(gòu)成:MSEM、SDAM、TC-AEDNet。
復(fù)雜的交通場景中存在各種各樣的目標(biāo)(如車輛、行人、建筑等),不同類型的目標(biāo)占據(jù)的空間大小、形狀和顏色也各不相同。纖細(xì)條狀目標(biāo)往往具有長距離和小尺寸的特點(diǎn),更容易融入周圍的背景中難以被準(zhǔn)確地識別和分割出來,這是導(dǎo)致交通場景語義分割精度較低的主要原因之一。為了在交通場景中獲得高精度分割結(jié)果的同時(shí),保證模型輕量化,本文基于深度卷積構(gòu)建MSEM,利用多分支下的不同尺度大小的深度條形卷積(MDC,multi-scale depthwise convolution)來提取深層次特征和纖細(xì)條狀目標(biāo)特征,以獲得更好的語義分割結(jié)果。MSEM的機(jī)理在于多尺度卷積能夠通過不同卷積核大小的卷積層來處理圖像,較小的卷積核可以捕獲局部細(xì)節(jié)信息,而較大的卷積核可以捕獲更大范圍的上下文信息。此外,多分支設(shè)計(jì)的MDC 可以在不引入額外參數(shù)的情況下擴(kuò)大感受野,該方法可以使網(wǎng)絡(luò)在多尺度下提取更加豐富的語義信息。如表1 所示,MDC 是由3 組不同卷積核大小的深度條形卷積(行卷積和列卷積)構(gòu)成的,卷積核大小分別設(shè)置為7、9 和11,有助于在多尺度下捕獲更多的纖細(xì)條狀目標(biāo)特征。其中,深度條形卷積設(shè)置了5 個參數(shù),分別為輸入特征圖Input(特征圖通道數(shù)×特征圖高度×特征圖寬度)、Scalei(MDC 的3 個分支)、卷積核的大小k、步長s和零填充的大小p。
表1 MDC 的詳細(xì)網(wǎng)絡(luò)配置
ConvNeXt 與MSEM 結(jié)構(gòu)如圖2 所示。MSEM采用與 ConvNeXt[21]相似的結(jié)構(gòu),不同的是將ConvNeXt Block 中的7×7 大核卷積部分進(jìn)行改進(jìn),如圖2 中虛線框所示。ConvNeXt 在網(wǎng)絡(luò)設(shè)計(jì)過程中忽略了多尺度卷積對特征提取的作用,而多尺度特征融合對于語義分割任務(wù)至關(guān)重要。因此,本文獨(dú)特性地采用一對深度條形卷積(行卷積和列卷積)代替標(biāo)準(zhǔn)卷積來設(shè)計(jì)MSEM。其獨(dú)特之處如下:1) 使用5×5 深度卷積細(xì)化局部特征;2) 基于多尺度深度卷積構(gòu)建MDC,較小的卷積核用于捕捉局部細(xì)節(jié)特征,而較大的卷積核用于捕捉全局特征,這樣可以在不同尺度上提取不同級別的特征映射,并且深度條形卷積是輕量級的;3) 多分支特征融合,將每個分支分別獲得的不同特征進(jìn)行融合,從而得到更豐富的多尺度表示,使模型能夠同時(shí)關(guān)注局部和全局特征。
圖2 ConvNeXt 與MSEM 結(jié)構(gòu)
此外,特征映射的每個通道的重要性往往是不同的,不相關(guān)信息會極大地影響重要語義信息的提取,導(dǎo)致語義分割的性能下降。因此,MSEM 在特征圖輸入前進(jìn)一步添加通道空間注意力模塊(CBAM,convolutional block attention module)[22],其目的是利用CBAM 生成的權(quán)重來指導(dǎo)網(wǎng)絡(luò)學(xué)習(xí),從而使網(wǎng)絡(luò)能夠選擇性地關(guān)注重要的目標(biāo)信息(如信號燈、行人、車輛等)。如圖1 中CBAM 的網(wǎng)絡(luò)結(jié)構(gòu)所示,CBAM 首先采用通道注意力(CAM)獲得注意力向量,并根據(jù)注意力向量對特征圖的不同通道進(jìn)行加權(quán)。然后,將CAM 的輸出作為空間注意力(SAM,spatial attention mechanism)的輸入對特征圖的空間區(qū)域進(jìn)行加權(quán)。最后,通過自適應(yīng)學(xué)習(xí)得到的權(quán)重來指導(dǎo)網(wǎng)絡(luò)關(guān)注益于語義分割的重要信息。
如圖2(b)所示,MSEM 采用條形卷積來設(shè)計(jì),獲取更大感受野的同時(shí),能夠更多地捕獲纖細(xì)條狀目標(biāo)的特征。MSEM Block 主要由三部分組成:首先,MSEM 處理的特征圖是原圖像的,故采用5×5 大核深度卷積用于聚合局部信息,并在使用大核卷積前添加CBAM 以選擇通道維度和空間維度中易于分割的重要信息。其次,纖細(xì)條狀目標(biāo)的長度是參差不齊的,因此采用一組深度條形卷積(行卷積和列卷積)來近似表示具有大核的標(biāo)準(zhǔn)卷積(例如,將卷積核大小為7×7 的標(biāo)準(zhǔn)卷積替換成一對卷積核大小為7×1 和1×7 的條形卷積)用于捕獲多尺度上下文信息,這樣可以有效地提取圖像中的縱向和橫向目標(biāo)信息,更有助于提取交通場景中的交通標(biāo)志、路燈、樹木等纖細(xì)條狀目標(biāo)特征。最后,使用1×1 卷積中建模不同通道之間的關(guān)系,通過對1×1卷積的輸出與CBAM的輸出進(jìn)行加權(quán)來減小語義鴻溝,以進(jìn)一步改善分割結(jié)果。計(jì)算式如下
其中,xin和xout分別為特征圖的輸入和輸出;Attn 表示注意力機(jī)制CBAM;⊕和?分別表示逐元素矩陣相加和逐元素矩陣相乘;xAttn和xMDC分別表示特征圖經(jīng)過注意力機(jī)制和多分支結(jié)構(gòu)設(shè)計(jì)MDC 的輸出;DWConvk×k表示深度卷積,k×k為卷積核大??;Scalei(i=0,1,2,3)表示圖2 中MDC 的第i個分支,Scale0為MDC 的殘差結(jié)構(gòu);Norm 表示對輸入的特征進(jìn)行批歸一化處理;MLP 表示圖2 中的多層感知機(jī)分類器(由2 個全連接層和GeLU 激活函數(shù)構(gòu)成)。
高性能的語義分割網(wǎng)絡(luò)模型不僅需要充足的語義信息來支撐,還需要足夠精細(xì)的空間細(xì)節(jié)特征來豐富空間信息。對于CNN 而言,網(wǎng)絡(luò)不斷加深的同時(shí)感受野增大,提取的語義信息也增加?,F(xiàn)有的大部分語義分割方法通常對特征圖多尺度下采樣來豐富語義信息,卻也丟失了一部分的空間信息,導(dǎo)致分割目標(biāo)邊緣不平滑。然而,空間信息中的低級語義特征在交通場景語義分割任務(wù)中對于生成平滑的目標(biāo)邊緣結(jié)果至關(guān)重要。其中,低級語義特征有助于表征局部結(jié)構(gòu)模式和全局統(tǒng)計(jì)特性(如邊界、平滑度、規(guī)則性),而高級語義特征可能無法很好地解決這些問題。因此,為了防止下采樣操作導(dǎo)致的部分低級語義特征丟失,本文設(shè)計(jì)SDAM 用于保存豐富的空間信息并生成高分辨率的特征圖,通過優(yōu)化空間路徑來輔助網(wǎng)絡(luò)獲得更準(zhǔn)確平滑的語義分割結(jié)果。為了易于訓(xùn)練和避免過多的計(jì)算,本文基于經(jīng)典的ResNet-18 網(wǎng)絡(luò)模型[23]的前兩層結(jié)構(gòu)(layer0和layer1)來搭建SDAM,并與編碼器語義分支中Stage[1]的輸出相融合作為SDAM 的最終輸出,SDAM 結(jié)構(gòu)如圖3 所示。
圖3 SDAM 結(jié)構(gòu)
SDAM 的機(jī)理在于淺卷積層結(jié)構(gòu)(3×3 卷積層+批歸一化+ReLU 激活函數(shù))能夠更好地捕獲圖像中的空間信息,從而在處理高分辨特征圖時(shí)可以編碼比較豐富的空間信息。為了更好地提取空間細(xì)節(jié)信息,本文循環(huán)使用2 次layer1。由于ResNet 網(wǎng)絡(luò)中的殘差結(jié)構(gòu)會先將分支中的輸入結(jié)果保存在內(nèi)存里,直到完成相加操作后才能釋放,導(dǎo)致增加內(nèi)存占用且效率低。因此,SDAM 中去掉殘差結(jié)構(gòu)來簡化輸出。為了方便與Stage1 的輸出相融合,SDAM的最終輸出特征映射為原輸入圖像大小的,包含64 個通道。雖然SDAM 獲得的特征圖分辨率相對較大,但使用淺卷積層會使計(jì)算成本較小。此外,SDAM 在訓(xùn)練過程中采用了遷移學(xué)習(xí)的方法,將在ImageNet 數(shù)據(jù)集上訓(xùn)練過的ResNet-18 網(wǎng)絡(luò)所學(xué)習(xí)到的特征遷移到SDAM 中,這有助于網(wǎng)絡(luò)模型的快速收斂和更好地提高網(wǎng)絡(luò)模型性能。計(jì)算式如下
其中,I∈RC×H×W表示初始輸入圖像(C為特征圖的通道數(shù),H為特征圖的高度,W為特征圖的寬度);MaxPool 表示最大池化;Bn 表示批歸一化;Conv 表示標(biāo)準(zhǔn)卷積;xSDAM表示特征圖經(jīng)過SDAM 的最終輸出;repeat {}表示多次執(zhí)行相同的計(jì)算邏輯,通過將上一次的輸出作為下一次的輸入來實(shí)現(xiàn)重復(fù)執(zhí)行。
目前,基于ViT 的語義分割方法往往具有較高的分割精度,這主要得益于self-attention 能夠更多地捕獲上下文信息。然而,該方法也更加容易丟失局部細(xì)節(jié)信息且計(jì)算成本更高,尤其在交通場景中難以準(zhǔn)確平滑地分割易融入周圍背景的纖細(xì)條狀目標(biāo)。因此,針對交通場景中特有的纖細(xì)條狀目標(biāo)提取不充分的問題,本文結(jié)合Transformer(全局特征處理)和CNN(通用、易訓(xùn)練、局部特征處理)的各自優(yōu)勢提出基于Transformer-CNN 的非對稱編解碼網(wǎng)絡(luò),其結(jié)構(gòu)如圖4 所示。
圖4 TC-AEDNet 結(jié)構(gòu)
TC-AEDNet 是基于SegFormer 網(wǎng)絡(luò)模型[24]進(jìn)行改進(jìn)的。SegFormer 擁有參數(shù)量較少、簡單高效、魯棒性強(qiáng)等特點(diǎn),但在處理圖像時(shí)會將特征圖下采樣至原輸入圖像大小的,導(dǎo)致最后一個階段(Stage4)的參數(shù)量遠(yuǎn)大于前3 個階段(Stage1~Stage3)。這是因?yàn)榛诩僒ransformer 的網(wǎng)絡(luò)模型受到self-attention 和下采樣的影響,導(dǎo)致Stage4 參數(shù)量較大且局部細(xì)節(jié)信息顯著丟失,從而難以準(zhǔn)確分割交通場景中易融入周圍背景的纖細(xì)條狀目標(biāo)。因此,為了更好地應(yīng)用于交通場景語義分割任務(wù),本文對該網(wǎng)絡(luò)進(jìn)行了改進(jìn),具體如下。
1) TC-AEDNet 的編碼器采用雙分支結(jié)構(gòu),語義分支保留SegFormer 網(wǎng)絡(luò)編碼主干的前3 個階段(Stage1~Stage3),以較少的參數(shù)量來捕獲更多的全局信息依賴關(guān)系,并生成較大感受野的特征圖。而空間分支通過SDAM 從原輸入圖像中提取高分辨率特征以及保留Transformer 丟失的位置信息,通過豐富空間信息來優(yōu)化目標(biāo)邊緣分割。
2) 對于特定的纖細(xì)條狀目標(biāo)針對性地構(gòu)建MSEM,在編碼主干的Stage4 用于關(guān)注不同尺度下的局部細(xì)節(jié)信息。其中,無論是基于CNN 還是基于Transformer 的網(wǎng)絡(luò)模型,都需要對原圖像不斷進(jìn)行下采樣操作,以降低顯存占用和增加不同尺寸目標(biāo)特征的可區(qū)分性。然而,下采樣操作往往會降低特征圖像素的數(shù)量,從而導(dǎo)致丟失大量的上下文信息。如圖4 所示,為了避免過多的下采樣導(dǎo)致纖細(xì)條狀目標(biāo)分割不連續(xù)問題,TC-AEDNet 進(jìn)行了3 次下采樣,最終輸出的特征圖僅為輸入圖像的。而MSEM 中的MDC 可以通過不同尺度的深度條形卷積在高分辨率特征圖上提取深層次特征和纖細(xì)條狀目標(biāo)特征。因此,TC-AEDNet的編碼器結(jié)合Transformer 與CNN 可以避免全局特征的丟失,同時(shí)能夠保持模型的高效性能。
3) TC-AEDNet 的解碼器采用輕量級的多尺度特征融合方法分別將語義分支提取的深層特征和空間分支提取的淺層特征進(jìn)行多尺度融合,進(jìn)一步提高網(wǎng)絡(luò)模型的性能。
本文基于SegFormer-B2 的編碼網(wǎng)絡(luò)主干配置用于語義分割。其中,Stage1~Stage3 的Transformer具有相同的網(wǎng)絡(luò)結(jié)構(gòu),僅注意力機(jī)制的參數(shù)不同。本文在 Stage1~Stage3 中采用的 efficient self-attention 參數(shù)配置如下。次數(shù)N=[1,2,5],衰減因子R=[8,4,2],通道數(shù)C=[64,128,320]。由于Stage4 中注意力機(jī)制通過patch embedding 操作將圖像投影到一個向量中,更容易破壞圖像原有的位置信息且計(jì)算量大,對于準(zhǔn)確地分割交通場景中的纖細(xì)條狀目標(biāo)非常不利。相比于基于深度卷積的方法,卷積核在重疊的特征圖上滑動,自身攜帶的歸納偏置提供了保留位置信息的可能性。此外,深度卷積還具有輕量級的特點(diǎn)。因此,本文在SegFormer-B2 中的Stage4 采用MSEM,以增強(qiáng)對纖細(xì)條狀目標(biāo)特征的提取能力,且參數(shù)量更小。
TC-AEDNet 的編碼器結(jié)構(gòu)如圖4 中的編碼器所示,本文先將原圖像I分別輸入編碼器的Transformer Block和SDAM中,經(jīng)過Stage1~Stage3分別生成不同尺寸大小的特征圖,并分別表示為F1~F3;然后,將F1和經(jīng)過SDAM 生成的特征圖xSDAM相融合生成FSDAM;同時(shí),將Stage3輸出的F3輸入MSEM 中學(xué)習(xí)纖細(xì)條狀目標(biāo)特征,再次生成特征圖FMSEM;最后,將編碼器生成的多尺度特征圖分別輸入解碼器進(jìn)行融合。TC-AEDNet編碼器結(jié)構(gòu)可表示為
TC-AEDNet 的解碼器結(jié)構(gòu)如圖4 中的解碼器所示,解碼器采用輕量級的上采樣方法,先將FMSEM和3F進(jìn)行Concat 特征融合生成特征圖F4;然后,通過Linear 來改變通道數(shù),再采用雙線性插值分別將F4和F2上采樣至與F1尺寸相同,并分別生成特征圖F5和F6;最后,再次Concat 特征融合FSDAM、F5和F6,并通過全連接層完成分類和輸出原尺寸的分割結(jié)果xencoder。TC-AEDNet 解碼器結(jié)構(gòu)可表示為
本文使用深度學(xué)習(xí)框架PyTorch 來實(shí)現(xiàn),實(shí)驗(yàn)配置如下:操作系統(tǒng)為64 bit-Ubuntu20.04;數(shù)據(jù)處理環(huán)境為Python 3.8;CUDA 版本為10.1;深度學(xué)習(xí)框架為Pytorch 1.7.1。本文僅使用單個16 GB NVIDIA Tesla T4 的顯卡(GPU)來訓(xùn)練和評估所提算法,且所有網(wǎng)絡(luò)模型都經(jīng)過200 epoch 的訓(xùn)練。
網(wǎng)絡(luò)訓(xùn)練時(shí)的超參數(shù)如下:網(wǎng)絡(luò)訓(xùn)練采用的是AdamW 優(yōu)化器來調(diào)整模型參數(shù)和更新梯度,優(yōu)化器動量β1和β2分別設(shè)置為0.9 和0.999,權(quán)重衰減為10-4;初始學(xué)習(xí)率(lr,learning ratio)設(shè)置為0.000 05,學(xué)習(xí)率調(diào)整策略采用默認(rèn)系數(shù)為1.0 的poly 方式,最大迭代次數(shù)設(shè)置為160 000,隨著訓(xùn)練迭代次數(shù)的增加,lr 會先下降,然后上升到一個較小的值,以使模型在訓(xùn)練后期能夠做出更好的預(yù)測。同時(shí),本文使用交叉熵?fù)p失函數(shù)和Dice 損失函數(shù),這2 種損失函數(shù)直接被加權(quán)求和作為總的損失函數(shù)。其中,Dice 損失函數(shù)用于促進(jìn)模型對小物體的檢測,而交叉熵?fù)p失函數(shù)用于加強(qiáng)模型對大物體的檢測。在網(wǎng)絡(luò)訓(xùn)練時(shí),采用了遷移學(xué)習(xí)的方法,將在ImageNet 數(shù)據(jù)集上訓(xùn)練過的SegFormer-B2 網(wǎng)絡(luò)學(xué)習(xí)到的特征遷移到所提網(wǎng)絡(luò)TC-AEDNet 中,獲得了較快的收斂速度。
2.2.1 數(shù)據(jù)集
CamVid 數(shù)據(jù)集[25]是具有目標(biāo)類別語義標(biāo)簽的城市道路場景視頻集合。該數(shù)據(jù)集共由701 幅逐像素標(biāo)注的圖像組成,分別包括訓(xùn)練集、測試集和驗(yàn)證集,共32 個語義類別真實(shí)標(biāo)簽。本文選取其中常用的11 個語義類別,并采用分辨率為960 像素×720 像素的圖像進(jìn)行網(wǎng)絡(luò)訓(xùn)練。
Cityscapes 數(shù)據(jù)集[26]主要來自城市街道環(huán)境下的駕駛場景,包含20 000 幅粗略注釋圖像和5 000 幅精細(xì)標(biāo)注的像素級圖像。本文選取精細(xì)標(biāo)注的圖像進(jìn)行語義分割評估,并采用分辨率為1 024 像素×1 024 像素的圖像來進(jìn)行網(wǎng)絡(luò)訓(xùn)練,這是因?yàn)門ransformer 處理的圖像需要裁剪為正方形圖像才能夠進(jìn)行圖像切塊處理。交通場景數(shù)據(jù)集對比如表2 所示。
表2 交通場景數(shù)據(jù)集對比
2.2.2 評價(jià)指標(biāo)
為了更好地評估模型的性能,本文采用像素準(zhǔn)確率(PA,pixel accuracy)、平均像素準(zhǔn)確率(mPA,mean pixel accuracy)、平均交并比(mIoU,mean intersection over union)對模型分割精度進(jìn)行評估,以及采用參數(shù)量(Params,parameter number of a model)對模型大小進(jìn)行評估。
1) 像素準(zhǔn)確率是正確分類的像素點(diǎn)與像素點(diǎn)總和的比值。計(jì)算式如下
2) 平均交并比是各類別預(yù)測分割區(qū)域和真實(shí)分割區(qū)域間交集與并集比值的平均值,是圖像語義分割領(lǐng)域的標(biāo)準(zhǔn)性能衡量指標(biāo)。計(jì)算式如下
其中,k+1 為圖像類別總數(shù),Pii為真實(shí)標(biāo)簽為i被預(yù)測為i類的像素?cái)?shù)量,Pij為真實(shí)標(biāo)簽為i并被錯誤預(yù)測為j類的像素?cái)?shù)量,Pji為真實(shí)標(biāo)簽為j被錯誤預(yù)測為i類的像素?cái)?shù)量。
為了驗(yàn)證MSEM、SDAM 和TC-AEDNet 的有效性,模塊之間是否存在相互影響,本文在城市場景數(shù)據(jù)集Cityscapes 上進(jìn)行了消融實(shí)驗(yàn)。
2.3.1 MSEM 對網(wǎng)絡(luò)性能的影響
本文TC-AEDNet 與原網(wǎng)絡(luò)SegFormer-B2 模型進(jìn)行對比,并驗(yàn)證了SegFormer 中所提到的單個Stage4 參數(shù)量和分割性能。本文還將SegFormer 中的Stage4 分別替換為ASPP 和MSEM,并對其分割性能的影響進(jìn)行了比較,分別表示為Stage1~Stage3+ASPP 和Stag1~Stage3+MSEM。不同編碼器結(jié)構(gòu)的性能對比如表3 所示。
表3 不同編碼器結(jié)構(gòu)的性能對比
如表3 中SegFormer-B2 所示,在解碼器相同的情況下,Stage4 以遠(yuǎn)大于Stage1~Stage3 的參數(shù)量來獲取豐富的上下文信息。然而,由于Stage4 被下采樣至原圖像的,這對于交通場景的纖細(xì)條狀目標(biāo)的分割十分不友好,導(dǎo)致分割精度顯著下降。因此,本文將SegFormer 中的Stage4 分別替換成ASPP 和MSEM 并在保持Stage3 輸入的尺寸大小(即原圖像的)進(jìn)行處理,并生成新的網(wǎng)絡(luò)框架TC-AEDNet 來解決Transformer 丟失的局部細(xì)節(jié)信息。在TC-AEDNet 中采用ASPP,受到空洞卷積的影響提取的上下文信息不充分,在分割交通場景中的纖細(xì)條狀目標(biāo)時(shí)容易出現(xiàn)不連續(xù)的情況。與ASPP 相比較,采用本文的MSEM,通過多尺度深度條形卷積(行卷積和列卷積)來提取特征,能夠增強(qiáng)對纖細(xì)條狀目標(biāo)的關(guān)注,并獲得的上下文信息更加豐富,且以較小的參數(shù)量超過了SegFormer-B2的分割精度。實(shí)驗(yàn)驗(yàn)證了MSEM 能夠有效擴(kuò)大感受野,同時(shí)增強(qiáng)對纖細(xì)條狀目標(biāo)的特征提取能力。
為了驗(yàn)證不同注意力機(jī)制對MSEM 分割性能的影響,本文設(shè)立了4 組對比實(shí)驗(yàn),MSEM 中不同注意力機(jī)制的性能對比如表4 所示。相比于實(shí)驗(yàn)1,加入注意力機(jī)制模塊的實(shí)驗(yàn)(實(shí)驗(yàn)2~實(shí)驗(yàn)4)各項(xiàng)指標(biāo)均得到提升,驗(yàn)證了在MSEM 中加入注意力層能夠增強(qiáng)特征提取能力。實(shí)驗(yàn)2 和實(shí)驗(yàn)3 分別驗(yàn)證了CAM 和SAM 對語義分割性能的影響。其中,CAM 將一個通道內(nèi)的信息直接進(jìn)行全局處理,通常會忽略非常重要的空間位置信息,而SAM 更容易忽略通道間的信息交互。兩者相比較,加入CAM 的性能比 SAM 更好,主要是因?yàn)閷ransformer 處理后的特征圖通過通道選擇重要的信息能夠更好地增強(qiáng)特征表示,從而有效提高語義分割性能。實(shí)驗(yàn)4 采用CBAM 先在通道維度進(jìn)行關(guān)注,再在空間維度進(jìn)行關(guān)注,從而實(shí)現(xiàn)對特征圖的自適應(yīng)調(diào)整。實(shí)驗(yàn)4 的各項(xiàng)性能指標(biāo)達(dá)到了最好的結(jié)果,驗(yàn)證了MSEM 融合注意力機(jī)制模塊更有助于提高語義分割的性能。
表4 MSEM 中不同注意力機(jī)制的性能對比
2.3.2 SDAM 對網(wǎng)絡(luò)性能的影響
本文將TC-AEDNet+SDAM 表示為SDAM 與TC-AEDNet 并行輸出,并通過常用的逐元素相加策略將其特征圖相融合。這種方法實(shí)現(xiàn)了在同一特征維度下增加信息量的目的,這使在全局特征表示下的局部空間信息得到了增強(qiáng)。相比于Concat 策略,逐元素相加不僅顯存占用和計(jì)算量更低,而且能夠提高模型的性能。融合與不融合SDAM 的性能對比如表5 所示。其中,↑表示加入SDAM 后各評價(jià)指標(biāo)絕對提升值。在SegFormer-B2 和TC-AEDNet 的基礎(chǔ)上加入SDAM,各項(xiàng)性能指標(biāo)也均得到提升,且模型參數(shù)量僅增加了 0.09×106。其中,SegFormer-B2 和TC-AEDNet 的編碼器采用基于Transformer 的多尺度深度網(wǎng)絡(luò),在下采樣操作中不可避免地丟失了大量空間細(xì)節(jié)信息,而且Transformer 架構(gòu)中的圖像切塊處理操作又丟失了部分位置信息。相比之下,SDAM 能夠利用卷積在淺層網(wǎng)絡(luò)中特有的感受野優(yōu)勢和歸納偏置來輔助網(wǎng)絡(luò)保留大量的空間細(xì)節(jié)信息和位置信息。實(shí)驗(yàn)表明,SDAM 能夠提供豐富的空間細(xì)節(jié)信息,這使交通場景中細(xì)微且重要的邊界細(xì)節(jié)信息得到了增強(qiáng),驗(yàn)證了融合SDAM 能夠有效地提高分割精度。
表5 融合與不融合SDAM 的性能對比
2.3.3 TC-AEDNet 的解碼器對網(wǎng)絡(luò)性能的影響
表6 多級語義信息融合用于解碼器的性能對比
為了進(jìn)一步驗(yàn)證所提算法的泛化性和有效性,將所提算法TC-AEDNet 在Cityscapes、CamVid 數(shù)據(jù)集上與FCN[27]、SegNet[18]、RtHp[7]、DeepLab-V3+[8]、Swin-B[12]、SegFormer-B2[24]、MagNet[9]、JPANet[15]等現(xiàn)有語義分割網(wǎng)絡(luò)模型的性能分別進(jìn)行對比。
2.4.1 Cityscapes 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果
不同算法在Cityscapes 數(shù)據(jù)集上的性能對比如表7 所示,TC-AEDNet 在精度評價(jià)指標(biāo)PA、mPA 及mIoU 下均取得了較好的結(jié)果。與經(jīng)典算法1、2 對比,F(xiàn)CN 和SegNet 過度的下采樣損失了大量空間信息,導(dǎo)致分割精度較低;與算法3~算法5 對比,RtHp、MagNet、JPANet 雖然具有較小的模型參數(shù)量,但也犧牲了較大的分割精度;與現(xiàn)有高精度算法 6~算法 8 對比,TC-AEDNet 采用Transformer 與CNN 的融合結(jié)構(gòu)在提高精度的同時(shí),降低了參數(shù)量,能夠充分提取圖像的語義信息和空間信息,并取得更高的分割精度。
表7 不同算法在Cityscapes 數(shù)據(jù)集上的性能對比
為了直觀地驗(yàn)證所提網(wǎng)絡(luò)的有效性,對TC-AEDNet 與高精度網(wǎng)絡(luò)模型 DeepLab-V3+、SegFormer-B2 在Cityscapes 數(shù)據(jù)集上的分割結(jié)果進(jìn)行比較,如圖5 所示,圖5 中方框標(biāo)記為不同算法針對纖細(xì)條狀目標(biāo)的分割結(jié)果。如圖5(c)所示,盡管DeepLab-V3+能夠識別路燈桿、樹干、行人等小目標(biāo),但纖細(xì)條狀目標(biāo)的分割結(jié)果往往是不連續(xù)的。如圖5(d)所示,SegFormer-B2 整體的分割結(jié)果較準(zhǔn)確,能夠準(zhǔn)確分割顯著的目標(biāo),但纖細(xì)條狀目標(biāo)較多時(shí)無法實(shí)現(xiàn)精確分割,且目標(biāo)邊緣分割不平滑。如圖5(e)所示,TC-AEDNet 能夠連續(xù)分割纖細(xì)條狀目標(biāo)且邊緣分割較平滑。從圖5 中第2 行信號燈與行人交界處可以看出,DeepLab-V3+、SegFormer-B2 沒有將行人與交通燈準(zhǔn)確分割出來,TC-AEDNet 能夠準(zhǔn)確分割易融入周圍背景的纖細(xì)條狀目標(biāo)。從圖5 中第2~3行纖細(xì)條狀圖標(biāo)可以看出,DeepLab-V3+、SegFormer-B2 無法準(zhǔn)確分割橫向的條狀目標(biāo),而TC-AEDNet 準(zhǔn)確地分割了十字路口的信號燈以及帶有橫向條狀特征的交通標(biāo)志物,且目標(biāo)邊緣分割結(jié)果較平滑。根據(jù)以上分析,驗(yàn)證了TC-AEDNet 能夠有效分割纖細(xì)條狀目標(biāo)、目標(biāo)邊緣以及其他細(xì)節(jié)信息。
圖5 不同算法在Cityscapes 數(shù)據(jù)集上的分割結(jié)果
2.4.2 CamVid 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果
不同算法在CamVid 數(shù)據(jù)集上的性能對比如表8所示,對比算法2、算法5、算法6 可知,所提算法TC-AEDNet 具有較少的參數(shù)量,且能夠?qū)崿F(xiàn)更好的分割精度。SegNet 算法中采用記錄最大池化索引的方法,DeepLab-V3+通過設(shè)計(jì)ASPP 模塊的方法,SegFormer 通過設(shè)計(jì)高效的self-attention 的方法,來增強(qiáng)網(wǎng)絡(luò)對上下文信息的提取。盡管上述網(wǎng)絡(luò)模型對精度的提升是有效的,但沒有考慮到交通場景分割任務(wù)中存在的易融入周圍背景的纖細(xì)條狀目標(biāo)特征。TC-AEDNet 通過MSEM 中的多尺度條形卷積豐富了的纖細(xì)條狀目標(biāo)特征信息,基于深度卷積方法來減少參數(shù)量,設(shè)計(jì)SDAM 以解決邊緣信息丟失的問題,對比結(jié)果進(jìn)一步證明了TC-AEDNet 的有效性。
表8 不同算法在CamVid 數(shù)據(jù)集上的性能對比
為了直觀地驗(yàn)證本文所提算法的有效性,將所提算法TC-AEDNet 與對比算法DeepLab-V3+、SegFormer-B2 在CamVid 數(shù)據(jù)集上的結(jié)果進(jìn)行定性分析。圖6 中第1 行所示,DeepLab-V3+未能準(zhǔn)確分割行人與路燈,SegFormer-B2 未能連續(xù)分割路燈且目標(biāo)邊緣分割不平滑,只有TC-AEDNet 將行人與路燈連續(xù)平滑地分割了出來。如圖6 中第2~4 行所示,存在易融入周圍背景的纖細(xì)目標(biāo)較多時(shí),DeepLab-V3+和SegFormer-B2 中出現(xiàn)了錯誤分割的問題,而TC-AEDNet 能比較準(zhǔn)確地分割纖細(xì)條狀目標(biāo)。根據(jù)以上分析,驗(yàn)證了所提算法TC-AEDNet 能夠有效地優(yōu)化纖細(xì)條狀目標(biāo)的分割結(jié)果,更好地提升圖像語義分割性能。
圖6 不同算法在CamVid 數(shù)據(jù)集上的分割結(jié)果
本文提出一種融合多尺度深度卷積的輕量級Transformer 交通場景語義分割算法TC-AEDNet。所提算法改善了交通場景中易融入環(huán)境背景的纖細(xì)條狀目標(biāo)分割不連續(xù)以及目標(biāo)邊緣分割不平滑的問題,能夠權(quán)衡交通場景語義分割算法的精度和模型大小。在Cityscapes 和CamVid 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,所提算法的語義分支能夠充分發(fā)揮對纖細(xì)條狀目標(biāo)特征提取優(yōu)勢,結(jié)合Transformer 模型對全局關(guān)注和遠(yuǎn)程依賴建模的優(yōu)勢和CNN 模型對局部上下文提取和計(jì)算效率的優(yōu)勢來共同建模全局和局部關(guān)系,并降低了模型參數(shù)量,而空間分支能夠提高輕量級模型的邊緣分割準(zhǔn)確率。最后,將語義分支和空間分支的多級特征相融合,進(jìn)一步提高了模型分割精度。所提算法在分割纖細(xì)條狀目標(biāo)、平滑分割目標(biāo)邊緣以及降低模型參數(shù)量等方面具有優(yōu)勢。