孫 紅,楊 晨,莫光萍
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
語義分割是將圖像的每個(gè)像素標(biāo)記為相應(yīng)類別來達(dá)到分割效果,是當(dāng)前計(jì)算機(jī)視覺中的一個(gè)重要主題[1],其在自動(dòng)駕駛系統(tǒng)和自主移動(dòng)設(shè)備等領(lǐng)域中應(yīng)用廣泛[2-9]。然而,這些應(yīng)用大多需要較高的分割精度,但提升分割精度需要大量增加參數(shù)數(shù)量。增大模型大小會(huì)減慢推理速度,導(dǎo)致無法滿足實(shí)時(shí)性要求,例如PSPNet(Pyramid Scene Parsing Network)[10]和DeepLab[11]在語義分割方面具有良好的性能,但它們包含數(shù)千萬個(gè)參數(shù),且推理速度不到每秒1幀。顯然這些大型網(wǎng)絡(luò)達(dá)不到完成實(shí)時(shí)語義分割任務(wù)的能力。在考慮內(nèi)存需求和推理速度后,應(yīng)用實(shí)時(shí)語義分割的應(yīng)用程序具有較強(qiáng)競(jìng)爭(zhēng)力。因此,構(gòu)建一個(gè)高效的語義分割網(wǎng)絡(luò)逐漸成為一個(gè)重要課題。
現(xiàn)有高速語義分割模型例如ENet[12]和ESPNet(Efficient Spatial Pyramid Network)[13]具有較高的推理速度,但都以犧牲分割性能為代價(jià)。其他網(wǎng)絡(luò)例如ICNet(Image Cascade Network)[14]已經(jīng)成功地實(shí)現(xiàn)了更好的性能,但犧牲了推理速度和模型大小。因此本文力圖尋求能平衡分割準(zhǔn)確度、推理速度和模型大小的方法。文獻(xiàn)[15~16]證明了多尺度卷積的潛力,其能夠感知各種大小的感受野。該方法允許網(wǎng)絡(luò)利用多級(jí)特征提取并結(jié)合各種規(guī)模信息。此外,空洞卷積已被證明是一種可在保持參數(shù)總數(shù)的同時(shí)提取大規(guī)模特征的有效方法[17-18]。然而,這兩種方法都具有局限性。作為一個(gè)通道模塊,即使應(yīng)用了分解卷積,Inception模塊[19-22]仍然包含大量參數(shù)。而模塊中僅有單一空洞卷積率的卷積通道只能從較大目標(biāo)物體上提取特征信息,無法識(shí)別小型目標(biāo)物體。
基于上述觀察,本文提出了一個(gè)新的語義分割網(wǎng)絡(luò)模塊,使用該模塊構(gòu)建一個(gè)基于編碼器解碼器結(jié)構(gòu)的網(wǎng)絡(luò)來提取密集特征。本文主要的工作和創(chuàng)新點(diǎn)如下所示:
1)提出通道特征金字塔模塊來處理多尺度特征信息,將N個(gè)通道處理后的特征信息融合后優(yōu)化邊界分割細(xì)節(jié);
2)將空洞卷積和可分離卷積用于改變網(wǎng)絡(luò)復(fù)雜性降低網(wǎng)絡(luò)參數(shù)量,實(shí)現(xiàn)模型的輕量化;
3)在網(wǎng)絡(luò)塊的末端嵌入一個(gè)卷積注意力機(jī)制模塊(Convolutional Block Attention Module,CBAM),其由通道注意力和空間注意力子模塊組成,進(jìn)一步提升了網(wǎng)絡(luò)對(duì)特征信息的提取能力。
本文所提算法模型如圖1所示,主要由初始特征提取模塊、通道特征金字塔模塊和輕量級(jí)卷積注意力機(jī)制模塊(CBAM)共3個(gè)部分組成。在特征提取模塊首先使用3個(gè)3×3卷積作為初始的特征提取器,在第1個(gè)和第3個(gè)3×3卷積層后,將卷積得到的特征信息再進(jìn)行一次1×1卷積,從而將輸出特征信息作為輸入特征輸入輕量級(jí)注意力機(jī)制中。在下采樣階段使用ENet中的下采樣策略即將步長(zhǎng)為2的3×3卷積與2×2最大池化相結(jié)合,經(jīng)3次下采樣之后輸出的特征圖為原輸入圖像的1/8。初始特征提取模塊的輸出經(jīng)下采樣后輸入通道特征金字塔模組,將處理后的特征信息分別作為下一個(gè)下采樣層和1×1卷積的輸入特征,將低層的特征信息與卷積后得到的高層特征信息進(jìn)行融合,最后在上采樣后加入輕量級(jí)注意力機(jī)制進(jìn)一步提取特征信息作為高階特征信息輸入到CBAM3中,將最終得到的特征信息經(jīng)上采樣得到最終的語義分割圖。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)Figure 1. Network structure
圖2 通道特征金字塔模塊Figure 2. Channel feature pyramid module
圖3 通道注意力模塊Figure 3. Channel attention module
圖4 空間注意力模塊Figure 4. Spatial attention module
CBAM由通道注意力機(jī)制和空間注意力機(jī)制兩個(gè)子模塊組成,分別從通道和空間兩個(gè)維度提取特征信息。CBAM的整個(gè)過程可以由式(1)和式(2)表示。
F′=Mc(F)?F
(1)
F″=Ms(F′)?F′
(2)
其中,Mc(F)表示輸入特征經(jīng)通道注意力子模塊處理后得到的特征信息;Mc(F′)表示通道注意力子模塊輸出特征與原輸入特征融合后的特征信息;F″表示經(jīng)空間注意力子模塊處理后的輸出特征與原輸入特征融合后的最終輸出特征。
在通道注意力部分,輸入特征分別進(jìn)行最大池化和平均池化,具體如式(3)和式(4)所示。
MA(F)=MLP(AvgPool(F))
(3)
MM(F)=MLP(MaxPool(F))
(4)
其中,MA(F)表示輸入特征經(jīng)平均池化的輸出;MM(F)表示輸入特征經(jīng)最大池化的輸出。池化過程用于提取高階特征信息,經(jīng)過共享感知機(jī)壓縮特征通道并將特征信息融合,再將通道數(shù)擴(kuò)張到與輸入特征相同,經(jīng)激活函數(shù)得到兩個(gè)池化后的輸出結(jié)果。將輸出結(jié)果進(jìn)行逐元素相加后經(jīng)Sigmoid激活函數(shù)得到通道注意力機(jī)制的輸出結(jié)果,并和最初的特征圖信息相乘得到最終的通道特征信息Mc(F),過程如式(5)所示。
Mc(F)=σ(MA(F)+MM(F))
(5)
在空間注意力模塊中,將通道注意力輸出的特征信息作為輸入特征,首先會(huì)進(jìn)行一個(gè)全局最大池化和全局平均池化,然后將池化后的結(jié)果進(jìn)行融合后經(jīng)過一個(gè)卷積層將雙通道的特征信息降維為一維特征信息,經(jīng)過激活函數(shù)生成空間注意力特征圖,最后將生成的特征信息與模塊的輸入特征信息進(jìn)行相乘輸出得到最終的特征圖,具體過程如式(6)所示。
Ms(F)=σ(f7×7[AvgPool(F);MaxPool(F)])
(6)
在公開街景數(shù)據(jù)集CamVid和Cityscapes上進(jìn)行分割效果和推理速度實(shí)驗(yàn),采用的評(píng)價(jià)指標(biāo)分別為均交互比(mean Intersection over Union,mIoU)、幀率(Frames Per Second,FPS)、參數(shù)量(Parameters)。mIoU的計(jì)算式如式(7)所示
(7)
其中,pij表示真實(shí)值為i但被預(yù)測(cè)為錯(cuò)誤值j的情況;pji表示錯(cuò)誤值為j但被預(yù)測(cè)為正確值i的情況;pii表示預(yù)測(cè)值和實(shí)際值均為真實(shí)值i的情況。
果然,沒有幾天,杰克領(lǐng)著楊律師走進(jìn)客廳,向蘇穆武和蘇母介紹:爸,媽,這是楊律師!蘇穆武和老伴不知杰克葫蘆里賣的什么藥,面面相覷。杰克說:爸,媽,我想了一下,咱們的問題,還是請(qǐng)律師解決比較好。蘇穆武懵懂地:什么問題?杰克說:關(guān)于人權(quán)問題,我不想爭(zhēng)論了,用婷婷的話說,會(huì)傷感情的。蘇穆武好像明白了,不滿地:用律師解決就不會(huì)傷感情? 杰克說:當(dāng)然,法治社會(huì)最好的辦法就是通過律師。我已經(jīng)跟楊律師說過了,我現(xiàn)在回避一下,爸,媽,你們跟楊律師談?wù)劙桑√K穆武朝杰克的背影:談你個(gè)腿!
為保證實(shí)驗(yàn)結(jié)果具有可對(duì)比性,本文所有對(duì)比實(shí)驗(yàn)采用的實(shí)驗(yàn)環(huán)境如表1所示。采用初始學(xué)習(xí)率為0.007的poly學(xué)習(xí)策略來動(dòng)態(tài)調(diào)整學(xué)習(xí)率,poly學(xué)習(xí)策略的表達(dá)式如式(8)所示
表1 實(shí)驗(yàn)條件
(8)
其中,Ir表示初始學(xué)習(xí)率;iter和max_iter分別為訓(xùn)練迭代次數(shù)和最大迭代次數(shù);將power設(shè)置為0.9,輸入圖像的batch_size設(shè)置為4。由于實(shí)驗(yàn)過程中不使用任何預(yù)訓(xùn)練方法,因此將最大訓(xùn)練時(shí)間設(shè)置為1 000。
本文實(shí)驗(yàn)一共使用了兩個(gè)公開街景數(shù)據(jù)集,分別是CamVid和Cityscapes。
CamVid是一個(gè)從駕駛汽車角度拍攝的街景數(shù)據(jù)集,總共包括701幅圖像,其中367幅圖像用于訓(xùn)練,101幅圖像用于驗(yàn)證,233幅圖像用于測(cè)試。這些圖像的分辨率為960×720,共有11個(gè)語義類別,在訓(xùn)練前將這些圖片尺寸大小調(diào)整為360×480。
Cityscapes是一個(gè)城市景觀數(shù)據(jù)集,包含5 000幅精細(xì)標(biāo)注和20 000幅粗標(biāo)注圖像。該數(shù)據(jù)集是從50個(gè)不同城市在不同季節(jié)和不同天氣中捕獲。對(duì)于精細(xì)標(biāo)注集,其包含2 975幅訓(xùn)練圖像、500幅驗(yàn)證圖像和1 525幅測(cè)試圖像。原始圖像的分辨率為1 024×2 048。整個(gè)數(shù)據(jù)集包含19個(gè)類別,屬于7個(gè)大類(例如汽車、卡車和公共汽車屬于車輛大類)。
本文提出的融合輕量級(jí)注意力機(jī)制的輕量化網(wǎng)絡(luò)的骨干網(wǎng)絡(luò)主要由通道特征金字塔模塊和輕量級(jí)卷積注意力機(jī)制(CBAM)組成。為了說明各個(gè)系統(tǒng)模塊的搭建過程以及它們?cè)谡Z義分割中的作用,對(duì)兩個(gè)模塊的結(jié)構(gòu)細(xì)節(jié)和分割效果在CamVid數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn)。在通道特征金字塔模塊對(duì)比實(shí)驗(yàn)中,在未加入輕量級(jí)注意力機(jī)制的情況下,保證網(wǎng)絡(luò)其余結(jié)構(gòu)參數(shù)不變,改變通道特征金字塔模塊參數(shù)進(jìn)行實(shí)驗(yàn),根據(jù)實(shí)驗(yàn)結(jié)果確定通道特征金字塔模塊的重復(fù)次數(shù)和空洞卷積率的大小,實(shí)驗(yàn)結(jié)果如表2所示。
表2 通道特征金字塔模塊消融實(shí)驗(yàn)
改變通道特征金字塔模組重復(fù)次數(shù)進(jìn)行消融實(shí)驗(yàn)。通道特征金字塔模組在本文網(wǎng)絡(luò)中的位置如圖1所示,CFP1(Channel Feature Pyramid)表示第1個(gè)通道特征金字塔模組,之后經(jīng)下采樣輸入第2個(gè)通道金字塔模組CFP2。
表2中序號(hào)1的實(shí)驗(yàn)表示在CFP1模組中通道特征金字塔模塊重復(fù)一次,在CFP2模組中重復(fù)兩次,第1個(gè)通道特征金字塔模塊中的空洞卷積率為4,而第2個(gè)通道特征金字塔模塊中的空洞卷積率分別為8和16;序號(hào)2的實(shí)驗(yàn)表示通道特征金字塔模塊在CFP1模組重復(fù)1次,在CFP2模組中重復(fù)3次,CFP1中的空洞卷積率為4,CFP2中空洞卷積率分別為4、8和16;序號(hào)3的實(shí)驗(yàn)表示通道特征金字塔模塊在CFP1模組和CFP2模組中都重復(fù)兩次,其中第1部分的CFP空洞卷積率分別為2和4,第2部分的空洞卷積率為8和16;序號(hào)4的實(shí)驗(yàn)表示通道特征金字塔模塊在CFP1模組中重復(fù)兩次,CFP2模組中重復(fù)6次,其中第1部分空洞卷積率均為2,第2部分空洞卷積率分別設(shè)置為4、4、8、8、16、16。
通過序號(hào)1和序號(hào)3對(duì)比實(shí)驗(yàn)可知,特征金字塔模塊的增加使模型提取到更多的特征信息,分割準(zhǔn)確率提升了2.6%。序號(hào)2和序號(hào)3的對(duì)比實(shí)驗(yàn)證明了膨脹率更大的空洞卷積在卷積過程中獲取了更多的多尺度信息,mIoU提升了0.4%。但過度增加空洞卷積將導(dǎo)致模型參數(shù)量增加并降低運(yùn)行速度,因此最終本文選擇序號(hào)3的模型參數(shù)進(jìn)行后續(xù)的模塊消融實(shí)驗(yàn)。
確定骨干網(wǎng)絡(luò)的模型參數(shù)后,為了探究CBAM對(duì)最終實(shí)驗(yàn)結(jié)果的影響,分別在CFP2模塊后添加CBAM1模塊,在CFP1模塊后加入CBAM2模塊后并與CBAM1模塊的特征信息進(jìn)行融合,在第1個(gè)和第3個(gè)3×3卷積層之后依次加入CBAM4、CBAM3模塊,最后進(jìn)行上采樣得到最終的分割圖。消融實(shí)驗(yàn)結(jié)果如表3所示。
表3 CBAM模塊消融實(shí)驗(yàn)
由表3中實(shí)驗(yàn)1和實(shí)驗(yàn)2的結(jié)果對(duì)比發(fā)現(xiàn),加入CBAM2模塊后模型分割精度提高了1.2%,CBAM3模塊的加入模型精度提升了1.6%。這是由于模塊對(duì)高階特征信息的權(quán)重進(jìn)行獲取,并將其與低階語義特征進(jìn)行加權(quán)操作,使得高級(jí)特征信息能夠?qū)Φ图?jí)特征信息進(jìn)行指導(dǎo),從而更有效地提升了分割精度。在序號(hào)4的實(shí)驗(yàn)中,分割精度相對(duì)實(shí)驗(yàn)3提高了1.2%。如圖5所示,淺層特征信息的加入提升了模型對(duì)邊界信息的敏感性,添加CBAM模塊后的模型對(duì)于小目標(biāo)對(duì)象的分割效果明顯優(yōu)于未加入CBAM模塊的骨干網(wǎng)絡(luò)模型。最終本文網(wǎng)絡(luò)模型在4個(gè)CBAM模塊加成下達(dá)到68.1%的分割精度。在本文后續(xù)的Cityscapes數(shù)據(jù)集速度測(cè)試對(duì)比實(shí)驗(yàn)中也將采用融入CBAM模塊的網(wǎng)絡(luò)模型。
圖5 CamVid數(shù)據(jù)集分割效果對(duì)比(a)輸入圖像 (b)標(biāo)注圖像 (c)SegNet (d)BiseNet v2 (e)本文算法(無CBAM) (f)本文算法(加入CBAM)Figure 5. CamVid data set segmentation effect comparison(a)Input image (b)Annotation image (c)SegNet (d)BiseNet v2 (e)The proposed algorithm(without CBAM) (f)The proposed algorithm(with CBAM)
為了評(píng)估模型的分割效果,將CamVid作為測(cè)試數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),同時(shí)本文還與其他公開的優(yōu)秀語義分割模型算法進(jìn)行分割效果的對(duì)比,實(shí)驗(yàn)結(jié)果如表4所示。本文模型在小參數(shù)量的情況下也依然展現(xiàn)了出色的性能,模型較DABNet[23]參數(shù)量下降了近10倍,但在分割效果上依然具有競(jìng)爭(zhēng)力。相比于ICNet,本文模型雖然在分割效果上較差,但參數(shù)量只有其1/36。在參數(shù)量小于100萬的網(wǎng)絡(luò)中,本文模型的準(zhǔn)確率相對(duì)較高,平均交互比達(dá)到了68.1%,高于ENet的51.2%和ESPNet的54.6%。在表2中,本文模型在未加入CBAM模塊的情況下均交互比達(dá)到了61.3%,說明通道特征金字塔模塊中空洞卷積和可分離卷積的組合在提取特征信息方面具有良好表現(xiàn)。此外,與SegNet[24]、DeepLab v2等參數(shù)超過1 000萬的網(wǎng)絡(luò)相比,本文模型不僅實(shí)現(xiàn)了輕量化,且分割準(zhǔn)確度分別高出14.8和3.0個(gè)百分點(diǎn)。
為了更清晰地體現(xiàn)本文模型在Camvid數(shù)據(jù)集上的分割效果,將本文模型得到的語義分割掩碼與其他優(yōu)秀網(wǎng)絡(luò)模型進(jìn)行對(duì)比,對(duì)比效果如圖5所示。對(duì)于小目標(biāo)對(duì)象例如路燈、交通標(biāo)識(shí)牌等,由圖5(f)可知,得益于特征金字塔池提取的多維特征信息以及輕量注意力機(jī)制融入的淺層特征信息,本文模型相較于大模型更加敏感且分割精度更高,說明本文通道特征金字塔模塊設(shè)計(jì)有效。
由于在圖5(f)中引入通道注意力子機(jī)制和空間注意力子機(jī)制相融合的輕量級(jí)注意力機(jī)制模塊,可以明顯看出圖5(f)中對(duì)與物體邊界信息的提取效果優(yōu)于未添加卷積注意力機(jī)制的圖5(e)。對(duì)于淺層特征信息的融合也進(jìn)一步提高了圖5(f)的分割準(zhǔn)確性,從而提升了整個(gè)神經(jīng)網(wǎng)絡(luò)的分割精度。
為了驗(yàn)證本文提出的輕量化網(wǎng)絡(luò)模型可適用于實(shí)時(shí)語義分割任務(wù),在Cityscapes數(shù)據(jù)集上進(jìn)行速度測(cè)試實(shí)驗(yàn),同時(shí)與其他優(yōu)秀的語義分割模型進(jìn)行參數(shù)量、速度和分割精度指標(biāo)對(duì)比,實(shí)驗(yàn)結(jié)果如表5所示。
表5 Cityscapes數(shù)據(jù)集速度測(cè)試實(shí)驗(yàn)
在分割效果方面,本文模型的分割效果具有一定的競(jìng)爭(zhēng)力,平均交互比達(dá)到了75.7%,不僅分割效果較傳統(tǒng)分割網(wǎng)絡(luò)精度更高,而且在參數(shù)量大小和推理速度上更具優(yōu)勢(shì)。相比于ICNet和DABNet(Depth-wise Asymmetric Bottleneck Network),本文模型均交互比分別提高了8.2和7.6個(gè)百分點(diǎn)。在運(yùn)行速度方面,本文模型能夠以56 frame·s-1的速度處理1 024×2 048大小的輸入圖像。BiseNet v2[26]是最快的實(shí)時(shí)語義分割網(wǎng)絡(luò),雖然其速度快于本文模型,但分割精度只達(dá)到了71.8%,比本文網(wǎng)絡(luò)模型的分割精度低。速度測(cè)試對(duì)比實(shí)驗(yàn)表明,本文模型能夠以較快的推理速度處理高分辨率圖像,同時(shí)保持高精度的分割效果。
本文提出了一種通道特征金字塔模塊來聯(lián)合提取局部特征和上下文特征。在特征金字塔模塊的基礎(chǔ)上,嵌入多個(gè)輕量級(jí)注意力機(jī)制模塊提升模型對(duì)邊界信息提取能力。通過分析和定量實(shí)驗(yàn)結(jié)果證明了該方法的有效性。本文模型在僅使用75萬個(gè)參數(shù)的情況下,在Camvid數(shù)據(jù)集上取得了68.1%的分割準(zhǔn)確性,在Cityscapes測(cè)試集上達(dá)到了75.7%的平均交互比,在1 024×2 048高分辨率圖像上的運(yùn)行速度為56 frame·s-1。與其他優(yōu)秀方法相比,本文所提算法模型在分割準(zhǔn)確性、運(yùn)行速度和參數(shù)量方面都有較好的表現(xiàn)。