馬冬梅,李鵬輝,黃欣悅,張 倩,楊 鑫
(西北師范大學(xué)物理與電子工程學(xué)院,甘肅 蘭州 730070)
深度卷積神經(jīng)網(wǎng)絡(luò)DCNN(Deep Convolutional Neural Network)使計(jì)算機(jī)視覺領(lǐng)域的人工智能發(fā)生了革命性的變化,大部分工作致力于構(gòu)建更深層和更復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),在諸多具有挑戰(zhàn)性的視覺任務(wù)中展現(xiàn)出了優(yōu)異的性能。隨著機(jī)器人視覺、自動(dòng)駕駛和環(huán)境感知等應(yīng)用的發(fā)展,這些經(jīng)典的網(wǎng)絡(luò)對(duì)計(jì)算資源和占用內(nèi)存的需求越來越大,遠(yuǎn)遠(yuǎn)超出了嵌入式平臺(tái)應(yīng)用程序的能力。在密集的預(yù)測(cè)任務(wù)——圖像語義分割中這個(gè)問題尤為嚴(yán)重,如FCN[1]、UNet[2]和DeepLab系列[3 - 5]等網(wǎng)絡(luò)性能的提升往往是有代價(jià)的,因此需要對(duì)網(wǎng)絡(luò)進(jìn)行壓縮處理。目前有通過設(shè)計(jì)更精細(xì)的模型來降低計(jì)算復(fù)雜度的網(wǎng)絡(luò)壓縮方法,如在移動(dòng)端普遍使用的基礎(chǔ)網(wǎng)絡(luò)MobileNet[6,7]、ShuffleNet[8]和Xception[9]等。此外,網(wǎng)絡(luò)壓縮的方法還有參數(shù)剪枝[10]、量化[11]和知識(shí)蒸餾[12]等。
在降低網(wǎng)絡(luò)參數(shù)量和計(jì)算量的同時(shí),保證網(wǎng)絡(luò)性能亦不容忽視。FCN開啟了端到端語義分割之路,利用全卷積網(wǎng)絡(luò)、反卷積操作和跳級(jí)結(jié)構(gòu)實(shí)現(xiàn)了密集的預(yù)測(cè)任務(wù),但存在連續(xù)的池化操作,造成了空間信息大量丟失的問題。針對(duì)這個(gè)問題,DeepLab[3,4]、ESPNet[13]和文獻(xiàn)[14]等通過串行空洞卷積融合不同的膨脹率特征,有效抑制了特征圖丟失的空間細(xì)節(jié),并且增加了網(wǎng)絡(luò)的感受野;還有研究者[2,5,15,16]利用編碼-解碼結(jié)構(gòu),即通過上池化或反卷積等操作組成的解碼器對(duì)低分辨率特征圖進(jìn)行上采樣,提高了空間分辨率,以幫助還原圖像的空間維度和像素的位置信息。
在真實(shí)場(chǎng)景中廣泛存在的多尺度信息也是影響語義分割模型性能的重要因素。卷積神經(jīng)網(wǎng)絡(luò)CNN(Convolutional Neural Network)是通過逐層抽象的方式來提取目標(biāo)特征的,這就涉及到感受野的概念,如果感受野太小,則只能觀察到局部特征;如果感受野太大,則獲取了過多的無效信息。因此,研究人員一直都在設(shè)計(jì)各種多尺度模型結(jié)構(gòu),用于綜合不同感受野和粒度下的特征,如串行跳層連接網(wǎng)絡(luò)[1,17]是通過跳層連接來實(shí)現(xiàn)不同抽象層級(jí)的特征融合,這對(duì)邊界敏感的圖像分割任務(wù)是不可或缺的;并行多分支網(wǎng)絡(luò)[4,18]則通常包含感受野不同的卷積,能夠在同一層級(jí)獲取不同的感受野特征。以上2種網(wǎng)絡(luò)結(jié)構(gòu)都實(shí)現(xiàn)了CNN對(duì)多尺度信息的感知。此外,PSPNet[19]是通過直接使用不同的池化操作來控制感受野,這要比使用不同大小的卷積核和空洞卷積計(jì)算代價(jià)更低。然而,這些網(wǎng)絡(luò)使用的卷積均為方形核形狀,不能充分利用場(chǎng)景中的上下文信息(Context)。Hou等人[20]提出的帶狀池化SP(Strip Pooling)與傳統(tǒng)的從固定的正方形區(qū)域收集上下文信息不同,它能夠捕獲存在于真實(shí)場(chǎng)景中的各向異性的上下文信息,在處理不規(guī)則目標(biāo)時(shí)比標(biāo)準(zhǔn)空間平均池化更加有效。
近年來,注意力機(jī)制(Attention Mechanism)在改善DCNN性能方面發(fā)揮了巨大的作用。現(xiàn)有的方法例如SENet[21]、PSANet[22]和DANet[23]等致力于開發(fā)更復(fù)雜的注意力模塊,以得到更好的性能,但這不可避免地增加了網(wǎng)絡(luò)的復(fù)雜性。為了解決性能和復(fù)雜性之間的矛盾,一系列高效分割模型被相繼提出,如CCNet[24]、BiSeNet[25]和ECANet[26]等。CCNet通過一個(gè)高效的遞歸交叉注意力模塊獲取密集的上下文信息;BiSeNet提出了用于高分辨率圖像的淺層網(wǎng)絡(luò)和快速下采樣的深度網(wǎng)絡(luò),以在分類能力和感受野之間取得平衡,是目前在速度和精度之間達(dá)到均衡的最突出的模型;與SENet不同,ECA-Net采用局部跨信道交互策略避免了降維,生成通道權(quán)重所用的一維卷積核大小是自適應(yīng)的,該方法只增加了少量的參數(shù),卻能獲得明顯的性能增益。
基于上述工作,本文提出了一種改進(jìn)DeepLabV3+的高效語義分割模型,該模型很好地兼顧了網(wǎng)絡(luò)的參數(shù)量、計(jì)算量和性能3個(gè)方面。網(wǎng)絡(luò)采用MobileNetV2為骨干網(wǎng)絡(luò),并應(yīng)用深度可分離卷積來減少整個(gè)網(wǎng)絡(luò)的參數(shù)量和計(jì)算量;利用混合帶狀池化MSP(Mix Strip Pooling)拓寬空洞空間金字塔池化ASPP(Atrous Spatial Pyramid Pooling)模塊[5],提出一種高效獲取密集的上下文信息的并行多分支模塊;優(yōu)化網(wǎng)絡(luò)的解碼器并引入有效通道注意力ECA(Efficient Channel Attention)模塊[26],對(duì)網(wǎng)絡(luò)底層細(xì)節(jié)信息的處理更加平滑。新模型具備以下3個(gè)優(yōu)點(diǎn):(1)占用內(nèi)存小:整個(gè)網(wǎng)絡(luò)的參數(shù)量不足5×106,適合在嵌入式平臺(tái)進(jìn)行部署;(2) 計(jì)算效率高:網(wǎng)絡(luò)的計(jì)算量低于實(shí)時(shí)的分割模型BiSeNet,浮點(diǎn)計(jì)算量?jī)H為11.13 GFLOPs;(3)性能良好:在具有挑戰(zhàn)性的PASCAL VOC 2012數(shù)據(jù)集上平均交并比達(dá)到72.07%。
深度可分離卷積(Depthwise Separable Convolution)[6]包含Depthwise卷積和Pointwise卷積2部分,其結(jié)構(gòu)如圖1所示。Depthwise卷積是完全在二維平面內(nèi)進(jìn)行的卷積操作,通道和卷積核是一一對(duì)應(yīng)的關(guān)系;Pointwise卷積是卷積核大小為1×1的普通卷積,位于Depthwise卷積之后,用于融合多個(gè)通道的信息,增強(qiáng)網(wǎng)絡(luò)表達(dá)能力。
Figure 1 Depthwise separable convolution
在卷積運(yùn)算過程中,若輸入通道數(shù)為Ci,卷積核大小為k×k,輸出通道數(shù)為Co,輸出特征尺寸為H×W,則深度可分離卷積與標(biāo)準(zhǔn)卷積的參數(shù)量之比如式(1)所示:
(1)
計(jì)算量之比如式(2)所示:
(2)
由式(1)和式(2)可知,深度可分離卷積的計(jì)算復(fù)雜度與標(biāo)準(zhǔn)卷積相比降低了很多。其中,其計(jì)算量只有標(biāo)準(zhǔn)卷積的約1/k,MobileNetV2采用了3×3卷積,因此計(jì)算成本約為標(biāo)準(zhǔn)卷積的1/9,計(jì)算量約降低了一個(gè)數(shù)量級(jí),而僅犧牲很小的精度[7]。DeepLabV3+應(yīng)用了空洞可分離卷積,如圖1c所示,空洞可分離卷積在保持相似或更好性能的同時(shí)顯著降低了DeepLabV3+的計(jì)算復(fù)雜度[5]。
帶狀池化SP[20]是使用一個(gè)條紋狀的池化窗口沿水平或垂直方向執(zhí)行池化,如圖2所示,SP不同于傳統(tǒng)的依賴于方形核的空間池化,它更注重對(duì)遠(yuǎn)程依賴關(guān)系(Long-range Dependencies)的建模,可以感知各向異性的上下文信息。從數(shù)學(xué)分析,假定輸入二維張量x∈RH×W,就需要一個(gè)空間維度為H×1或1×W的池化。SP與普通的二維平均池化不同,它是對(duì)一行或一列中的所有特征值進(jìn)行平均,因此通過水平維度的SP輸出yh∈RH,如式(3)所示:
(3)
類似地,通過垂直維度的SP輸出yv∈RW,如式(4)所示:
(4)
Figure 2 Strip pooling in horizontal and vertical dimensions
SP的核形狀具有長(zhǎng)而窄的特性,因此在沿SP的長(zhǎng)條方向上,它能夠在離散分布的區(qū)域編碼建立遠(yuǎn)程依賴關(guān)系,獲得全局信息(Non-local Text);在另一個(gè)方向上,可以捕捉到局部細(xì)節(jié)信息(Local Text)。
目前DeepLabV3+是語義分割任務(wù)中分割精度領(lǐng)先的模型,考慮到該模型存在計(jì)算開銷過大的問題,本文設(shè)計(jì)出了一種基于改進(jìn)DeepLabV3+的高效語義分割模型,模型的框架如圖3所示。
Figure 3 Overall framework of our model
(1)編碼部分:首先,模型的主要特征提取器為帶孔網(wǎng)絡(luò)Dilated MobileNetV2,帶孔網(wǎng)絡(luò)是將MobileNetV2中block8-14和block15-17的Depthwise卷積替換為空洞可分離卷積,并依據(jù)輸入圖像的空間分辨率與最終輸出分辨率的比值[5]輸出步幅OS(Output Stride)= 16,膨脹率r分別設(shè)為2和4,這相當(dāng)于對(duì)原圖進(jìn)行了3次壓縮后輸出一個(gè)分辨率為原來的1/16、通道數(shù)為320的特征圖;然后,將提取到的特征圖送入并行多分支模塊,輸出一個(gè)分辨率未變、通道數(shù)為1 792的高級(jí)語義特征圖;最后,使用1×1卷積將通道數(shù)降維至256。
(2)解碼部分:在底層輸出特征支路,將Dilated MobileNetV2中block3生成的底層特征送入ECA模塊,使用1×1卷積來調(diào)整通道數(shù);在高級(jí)語義特征支路,以4倍雙線性插值的方式上采樣至與底層特征圖分辨率相同,將2條支路通過堆疊(Concat)的方式融合,得到通道數(shù)為304的特征圖;為了使解碼過程更平滑有效,接著串聯(lián)一個(gè)ECA模塊和一個(gè)3×3深度可分離卷積,最終使用4倍雙線性插值上采樣(Upsample)至原圖尺寸,完成密集的分類任務(wù)。
DeepLabV3+中的ASPP模塊是捕獲上下文信息的一種有效方法[5]。然而,該結(jié)構(gòu)比較依賴于方形的卷積和池化操作,缺乏對(duì)各向異性的上下文信息的感知能力。因此,本文提出一種新的并行多分支模塊,該模塊共有7條分支,如圖4所示,可分為2個(gè)部分:ASPP模塊和MSP模塊。
Figure 4 Parallel multi-branch module
(1)ASPP:采用一個(gè)1×1卷積、3種不同膨脹率的空洞可分離卷積和一個(gè)圖像級(jí)的全局平均池化GAP(Global Average Pooling)進(jìn)行特征提取。其中,空洞可分離卷積的卷積核大小為3×3,通道數(shù)C= 256,并根據(jù)OS=16,設(shè)定膨脹率r= {6,12,18}。
(2)MSP:采用水平和垂直混合維度的SP收集遠(yuǎn)程上下文信息。具體地說,對(duì)于輸入為H×W的特征圖,在垂直方向上采用H×1的SP滑動(dòng)得到1×W的特征圖,在水平方向上采用1×W的SP滑動(dòng)得到H×1的特征圖。然后,分別經(jīng)過k= 3的一維卷積,接著以雙線性插值的方式將特征圖上采樣至原特征圖大小。該模塊中每條支路對(duì)上一層的通道數(shù)都進(jìn)行了同樣的通道縮放,通道數(shù)均由320縮小至256。最后,將所有并行分支的輸出特征以Concat的方式融合,從而得到一個(gè)尺寸沒變、通道數(shù)增加的特征圖。
新的并行多分支模塊繼承了ASPP模塊的優(yōu)點(diǎn),可以收集遠(yuǎn)程上下文信息,同時(shí)關(guān)注局部細(xì)節(jié),并且將輕巧的MSP模塊附加到網(wǎng)絡(luò)中,使網(wǎng)絡(luò)在相對(duì)計(jì)算代價(jià)較低的情況下能獲取較為豐富的多尺度信息。
為了更好地挖掘網(wǎng)絡(luò)輸出特征圖的通道信息,本文在網(wǎng)絡(luò)的解碼器中引入了ECA模塊,添加位置在圖3的通道注意力模塊處。ECA模塊是一種新的捕捉局部跨通道信息交互的方法,旨在保證網(wǎng)絡(luò)良好的性能和較低的計(jì)算復(fù)雜度。如圖5所示,ECA模塊通過GAP獲得特征,使用卷積核大小為k的一維卷積來生成通道權(quán)重。
在增強(qiáng)通道依賴關(guān)系的過程中,假定通過GAP整合輸出特征y∈RC,不經(jīng)過降維操作,而用卷積核大小為k的一維卷積來生成通道權(quán)重ω,如式(5)所示:
ω=σ(C1Dk(y))
(5)
其中,σ表示Sigmod函數(shù),C1D表示一維卷積。為了適當(dāng)捕獲局部跨道信息交互,需要確定通道交互信息的大致范圍,即一維卷積的卷積核大小k。ECA模塊是通過式(6)自適應(yīng)地選擇k:
(6)
其中,|t|odd表示取t最鄰近的奇數(shù),與原文獻(xiàn)[26]一致γ= 2,b= 1。值得注意的是,該注意力模塊的參數(shù)量和計(jì)算量幾乎可以忽略,是一種極輕量化網(wǎng)絡(luò)架構(gòu)。
Figure 5 Diagram of the effificient channel attention (ECA) module
本文使用ImageNet上預(yù)訓(xùn)練好的MobileNetV2網(wǎng)絡(luò)進(jìn)行遷移學(xué)習(xí),采用PASCAL VOC 2012擴(kuò)充版數(shù)據(jù)集[3 - 5]對(duì)本文所提模型進(jìn)行了大量實(shí)驗(yàn)和分析,該數(shù)據(jù)集是目前語義分割領(lǐng)域中常用的數(shù)據(jù)集,它包含20個(gè)對(duì)象類別和1個(gè)背景類別,提供了額外的注釋增強(qiáng),將訓(xùn)練集圖像擴(kuò)充至10 582幅,其中包括1 449幅用于驗(yàn)證的圖像和1 456幅用于測(cè)試的圖像。實(shí)驗(yàn)的系統(tǒng)環(huán)境為L(zhǎng)inux ubuntu 18.04,硬件平臺(tái)為AMD Ryzen 5 3500X,3.4 GHz主頻,16 GB內(nèi)存,GPU為GeForce GTX 1070,8 GB顯存,程序是基于開源的PyTorch 3.6、CUDA 10.0和CUDNN 7.6.4深度學(xué)習(xí)框架實(shí)現(xiàn)的。
評(píng)價(jià)指標(biāo):實(shí)驗(yàn)通過浮點(diǎn)計(jì)算量FLOPs(FLoating point OPerations)和參數(shù)量(Parameters)描述網(wǎng)絡(luò)的計(jì)算復(fù)雜度,前者反映所需的計(jì)算力,后者反映所需的內(nèi)存;通過圖像語義分割中衡量精度的常用指標(biāo)平均交并比mIoU(mean Intersection over Union)評(píng)估網(wǎng)絡(luò)性能,其計(jì)算的是2個(gè)集合的交集與其并集的重合比例,如式(7)所示:
(7)
其中,q+1表示包括背景在內(nèi)的語義類別總數(shù),pij表示屬于類別i但被預(yù)測(cè)為類別j的像素?cái)?shù)量。
裁剪尺寸:為了避免帶有較大膨脹率的濾波器權(quán)重大部分被零區(qū)域填充,需要增大圖像裁剪尺寸。因此,在PASCAL VOC 2012數(shù)據(jù)集的訓(xùn)練和測(cè)試時(shí),設(shè)定裁剪尺寸為513×513。
數(shù)據(jù)增強(qiáng):在訓(xùn)練期間,對(duì)輸入圖像進(jìn)行0.5~ 2.0倍的隨機(jī)縮放和隨機(jī)左右翻轉(zhuǎn),進(jìn)一步擴(kuò)充了數(shù)據(jù)量,DeepMind等研究[27]表明,這可以在一定程度上提高模型的平移不變性及其泛化能力。
參數(shù)設(shè)置:本文使用ImageNet預(yù)訓(xùn)練的MobileNetV2的參數(shù)來初始化新模型,這種微調(diào)方案大大縮短了新模型的收斂時(shí)間[28]。在隨機(jī)梯度下降SGD(Stochastic Gradient Descent)+動(dòng)量法(Momentum=0.9)的優(yōu)化方法下,采用Poly的學(xué)習(xí)策略,如式(8)所示:
(8)
其中,lr表示當(dāng)前學(xué)習(xí)率,iter表示當(dāng)前迭代次數(shù),衰減指數(shù)power= 0.9,初始學(xué)習(xí)率base_lr= 0.007,最大迭代次數(shù)maxiter= 35×103。用于防止過擬合的權(quán)重衰減率decay= 0.0001,損失函數(shù)采用交叉熵?fù)p失函數(shù)??紤]到顯存資源受限的問題,設(shè)定輸出步長(zhǎng)OS=16和批次batchsize=10。針對(duì)訓(xùn)練期間的學(xué)習(xí)策略、初始學(xué)習(xí)率和迭代次數(shù)這3個(gè)關(guān)鍵參數(shù),本文在PASCAL VOC 2012驗(yàn)證集上進(jìn)行了調(diào)優(yōu)實(shí)驗(yàn),這里選取被廣泛使用的Step學(xué)習(xí)策略與Poly進(jìn)行比較,其中base_lr取0.001和 0.007這2個(gè)值。圖6a和圖6b所示分別為不同實(shí)驗(yàn)方案下Mobile DeepLabV3+模型訓(xùn)練所得的損失曲線(Loss)和精度曲線(mIoU)。
Figure 6 Results of Mobile DeepLabV3+on PASCAL VOC 2012 validation set
從結(jié)果可以看出,在經(jīng)過35×103次迭代之后模型都基本收斂,在初始學(xué)習(xí)率為0.007的情況下,Poly策略要比Step策略的最終精度高出2%左右,而且損失值收斂至更??;在Poly策略下,初始學(xué)習(xí)率設(shè)置太小會(huì)導(dǎo)致SGD+動(dòng)量法收斂緩慢,而且最終精度比較差,mIoU為65%左右。表明Poly學(xué)習(xí)策略下base_lr= 0.007是Mobile DeepLabV3+模型的最優(yōu)方案,并且在maxiter= 35×103時(shí),網(wǎng)絡(luò)可以被充分訓(xùn)練。
在Mobile DeepLabV3+[7]的解碼結(jié)構(gòu)中,高級(jí)語義特征和底層特征進(jìn)行融合之后,經(jīng)過的卷積塊由2個(gè)[3×3,256]串聯(lián)組成,其中[k×k,f]是指一個(gè)卷積核為k×k,濾波器數(shù)量為f的卷積操作。為了使解碼過程更高效、更平滑,本節(jié)探究了最優(yōu)的卷積塊結(jié)構(gòu),設(shè)計(jì)了4個(gè)不同的如表1第一行所示的卷積塊,并在PASCAL VOC 2012驗(yàn)證集上進(jìn)行了對(duì)比實(shí)驗(yàn)。
Table 1 Performance on PASCAL VOC 2012 validation set
從表1可看出,僅使用1個(gè)[3×3,256] 比使用1個(gè)[1×1,256]或1個(gè)[1×1,128]更有效,與使用2個(gè)[3×3,256]相比性能相似,但更簡(jiǎn)單、更高效,因此本文采用1個(gè)[3×3,256]。分析表明,這已經(jīng)是參數(shù)調(diào)優(yōu)后,在不更改優(yōu)化方法、學(xué)習(xí)率策略和損失函數(shù)的前提下獲得的最優(yōu)方案,本文將此優(yōu)化了解碼結(jié)構(gòu)的Mobile DeepLabV3+用于后續(xù)的基準(zhǔn)模型BM(Baseline Model)。
分析并行多分支模塊:本節(jié)探索了最優(yōu)的并行多分支模塊結(jié)構(gòu),并且在PASCAL VOC 2012數(shù)據(jù)集上對(duì)模型的復(fù)雜度和精度進(jìn)行評(píng)測(cè)。實(shí)驗(yàn)結(jié)果如表2所示,其中BM表示基準(zhǔn)模型,MSP表示混合帶狀池化。
Table 2 Ablation analysis of strip pooling
從表2可以看出,相比于BM,并聯(lián)單個(gè)水平或垂直維度的SP時(shí),網(wǎng)絡(luò)參數(shù)量和浮點(diǎn)計(jì)算量增加得較少,性能增益較??;并聯(lián)MSP模塊時(shí),參數(shù)量和浮點(diǎn)計(jì)算量分別僅提高了0.52×106和0.14 GFLOPs,精度獲得明顯的提升,mIoU提升了1.07%,從而驗(yàn)證了在3.2節(jié)所分析的MSP模塊既輕巧又有效,同時(shí)說明了改良的并行多分支模塊在分割精度和計(jì)算復(fù)雜度方面均有優(yōu)勢(shì)。
分析ECA模塊:為了構(gòu)建一個(gè)高效的語義分割模型,進(jìn)一步分析了ECA模塊和應(yīng)用深度可分離卷積對(duì)模型性能和計(jì)算復(fù)雜度的影響,并在PASCAL VOC 2012數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)報(bào)告如表3所示。
Table 3 Ablation analysis of ECA module
從表3可以看出,當(dāng)在基準(zhǔn)模型上只添加ECA模塊時(shí),精度有明顯提升,mIoU提升0.82%,而參數(shù)量和浮點(diǎn)計(jì)算量幾乎不增加;當(dāng)同時(shí)加入MSP模塊和ECA模塊時(shí),模型性能得到大幅度提升,mIoU達(dá)到72.18%,參數(shù)量和浮點(diǎn)計(jì)算量卻只有較小的增加;當(dāng)應(yīng)用深度可分離卷積時(shí),與之前相比精度僅犧牲了0.11%,參數(shù)量和浮點(diǎn)計(jì)算量卻明顯下降,其中參數(shù)量小于5×106,降低至4.5×106,符合移動(dòng)部署的要求;浮點(diǎn)計(jì)算量約下降了35%。綜上所述,本文提出的新模型在消耗很少的內(nèi)存和計(jì)算資源的情況下,獲得了較好的語義分割效果。
表4報(bào)告了基準(zhǔn)模型和新模型在PASCAL VOC 2012數(shù)據(jù)集上測(cè)試21個(gè)類別的交并比IoU的對(duì)比結(jié)果。由表4可以看出,新模型在多數(shù)物體上的分割結(jié)果都有一定的提升。在未加深度可分離卷積時(shí),新模型有18個(gè)類別的IoU高于基準(zhǔn)模型,尤其是對(duì)船、瓶子、盆栽、電視這幾類的IoU提升較為明顯。增在加深度可分離卷積后有17個(gè)類別的IoU高于基準(zhǔn)模型的。尤其是在處理自行車、椅子、盆栽等有更多細(xì)節(jié)的類別時(shí)體現(xiàn)出優(yōu)勢(shì),進(jìn)一步說明改良的解碼器能夠更好地恢復(fù)目標(biāo)細(xì)節(jié)。
Table 4 IoU of each category on the PASCAL VOC 2012 test
本文從PASCAL VOC 2012數(shù)據(jù)集中隨機(jī)抽取了6組圖像進(jìn)行測(cè)試,可視化實(shí)驗(yàn)結(jié)果如圖7所示??梢钥闯?,基準(zhǔn)模型的輸出結(jié)果中出現(xiàn)了物體輪廓細(xì)節(jié)的丟失,而在新模型的分割中得到了改善,例如電視、沙發(fā)的邊緣部分。這主要?dú)w功于本文提出的并行多分支模塊,在高級(jí)語義特征上捕獲了遠(yuǎn)程上下文信息。在處理相似外觀的圖像類別時(shí),如貓和狗等,也能比較精準(zhǔn)地對(duì)復(fù)雜語義進(jìn)行像素分類。
Figure 7 Partial visualization example of semantic segmentation model
表5給出了本文模型與其它模型在PASCAL VOC 2012測(cè)試集上的對(duì)比實(shí)驗(yàn)結(jié)果。
Table 5 Comparison results of each model on the PASCAL VOC 2012 test set
由表5可看出,本文模型的mIoU與FCN、BiSeNet、DeepLabV3相比均有不同程度的提高,雖然與DeepLabV3+相比較差,但參數(shù)量和浮點(diǎn)計(jì)算量分別約為DeepLabV3+的2.5%和17.8%??傊撃P秃芎玫丶骖櫫司W(wǎng)絡(luò)的參數(shù)量、計(jì)算量和性能,實(shí)現(xiàn)了計(jì)算效率和精度之間的良好均衡。
深度可分離卷積是一種在保持相似性能的同時(shí)減少計(jì)算成本和參數(shù)量的有效操作;不同內(nèi)核形狀的池化可以捕獲廣泛存在于真實(shí)場(chǎng)景中的各向異性的上下文信息;通道注意力機(jī)制能更好地挖掘網(wǎng)絡(luò)輸出特征圖的通道信息。本文借鑒以上思想設(shè)計(jì)出了一個(gè)高效的語義分割模型:以高效的MobileNetV2作為網(wǎng)絡(luò)骨干并應(yīng)用深度可分離卷積壓縮整個(gè)網(wǎng)絡(luò)的規(guī)模;通過MSP拓展ASPP模塊,捕獲了豐富的多尺度信息;引入ECA模塊,使網(wǎng)絡(luò)的解碼器能夠選擇性地提取更有用的特征,更好地恢復(fù)目標(biāo)邊界信息。實(shí)驗(yàn)結(jié)果表明,該模型占用內(nèi)存少、計(jì)算效率高且性能良好,滿足移動(dòng)和嵌入式視覺應(yīng)用的設(shè)計(jì)要求。本文主要是從CNN的卷積層和池化層出發(fā),對(duì)網(wǎng)絡(luò)架構(gòu)進(jìn)行了優(yōu)化,后續(xù)將進(jìn)一步研究激活函數(shù)對(duì)網(wǎng)絡(luò)的影響。