王曉華,葉振興,王文杰,張 蕾
(西安工程大學(xué) 電子信息學(xué)院,陜西 西安 710048)
圖像語義分割是圖像理解中的一項(xiàng)基本任務(wù),其目標(biāo)是為輸入圖像中的每個(gè)像素分配一個(gè)類別標(biāo)簽,對(duì)圖像進(jìn)行像素級(jí)分類。因而在圖像場(chǎng)景理解[1]、弱監(jiān)督語義分割[2]、視覺跟蹤、場(chǎng)景分析[3]、視頻處理和醫(yī)學(xué)圖像分析[4]等領(lǐng)域都得到了廣泛應(yīng)用。
近年來,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)極大地增強(qiáng)了圖像的理解能力,基于深度學(xué)習(xí)的語義分割方法受到國(guó)內(nèi)外學(xué)者的廣泛關(guān)注。研究者在CNN的基礎(chǔ)上丟棄全鏈接層,提出了全卷積網(wǎng)絡(luò)(fully convolutional network, FCN)[5]。FCN可以處理任意分辨率的圖像,成為最流行的語義分割網(wǎng)絡(luò)結(jié)構(gòu);文獻(xiàn)[6-7]在FCN中采用擴(kuò)張的卷積層,來增加特征提取網(wǎng)絡(luò)中的感受野;文獻(xiàn)[8-10]在FCN的基礎(chǔ)上設(shè)計(jì)了基于編碼器-解碼器的網(wǎng)絡(luò)結(jié)構(gòu),編碼器用以降低特征映射的分辨率,解碼器用來提高特征映射的采樣以恢復(fù)分辨率;文獻(xiàn)[11]提出在實(shí)際應(yīng)用中,編碼器的下采樣容易丟失高分辨率特征;為了獲取高分辨率特征,文獻(xiàn)[12]中U-Net為解碼器提供了具有相同分辨率的編碼器特征圖;文獻(xiàn)[13-14]中HR-Net通過簡(jiǎn)單的卷積網(wǎng)絡(luò)來維護(hù)高分辨率的特征圖,并通過拼接來融合不同分辨率的特征圖;DeeplabV3+[15]中采用跨層融合的思想,將淺層細(xì)節(jié)特征與深層抽象特征結(jié)合起來,提高高分辨率細(xì)節(jié)信息的分割精度;PSP-Net[16]引入了金字塔池化模塊(pyramid pooling module,PPM),能夠聚合不同區(qū)域的上下文信息,從而提高獲取全局信息的能力。雖然上述方法增強(qiáng)了特征的表現(xiàn)力,但是在小目標(biāo)物體分割和物體邊緣分割精度上仍有待提升。
針對(duì)小目標(biāo)物體分割不精細(xì)和物體邊緣分割模糊的問題,本文提出了一種基于多級(jí)特征融合的高精度語義分割方法。該方法采用編碼器-解碼器網(wǎng)絡(luò)結(jié)構(gòu),編碼器采用MobileNetV3[17]網(wǎng)絡(luò),利用MobileNetV3中的深度可分離卷積的結(jié)構(gòu)和非線性h-swish激活函數(shù),可以提取多級(jí)淺層級(jí)輪廓特征和深層級(jí)語義特征的能力;解碼器采用PSP-Net模型的解碼網(wǎng)絡(luò),該解碼網(wǎng)絡(luò)中的金字塔池化模塊有較好的全局特征提取能力。該方法通過跳接的方式將編碼器提取到的多級(jí)特征輸入到PSP-Net模型的解碼器中,利用級(jí)聯(lián)融合的方式[12]將輸入特征進(jìn)行金字塔池化和多級(jí)特征融合,最終得到更精細(xì)的語義分割結(jié)果。
圖1所示為PSP-Net模型結(jié)構(gòu),其中編碼器是由帶空洞卷積的Res-Net101網(wǎng)絡(luò)[16]構(gòu)成,輸出Res-Net101的最后一層特征圖;解碼器前端為PSP-Net模型的核心部分PPM,其具有4個(gè)不同尺度的特征提取器,它能夠聚合不同區(qū)域的上下文信息,有效獲取全局特征信息;解碼器后端通過1×1卷積調(diào)整通道,最終輸出語義分割圖。
圖1 PSP-Net模型的結(jié)構(gòu)Fig.1 Structure of the PSP-Net model
因PSP-Net的解碼器輸入的特征層僅為編碼器輸出的最后一層特征圖,這樣會(huì)產(chǎn)生輸入到解碼器網(wǎng)絡(luò)中的特征信息不充分、小目標(biāo)物體在分割時(shí)易丟失的問題。所以要重新選擇或設(shè)計(jì)編碼器網(wǎng)絡(luò)來解決此問題。
MobileNetV3網(wǎng)絡(luò)在MobileNetV2網(wǎng)絡(luò)上進(jìn)一步改進(jìn),在BottleNeck[17]模塊的深度卷積操作后增加了Squeezing和Excite模塊[18],同時(shí)引入了輕量級(jí)注意力模型,用來調(diào)整每個(gè)通道的權(quán)重。
Benck是MobileNetV3網(wǎng)絡(luò)中特征提取的基本殘差結(jié)構(gòu),實(shí)現(xiàn)了通道可分離卷積加SE通道注意力機(jī)制與殘差連接[19]等功能,MobileNetV3獨(dú)特的Benck結(jié)構(gòu)如圖2所示。
圖2 MobileNetV3網(wǎng)絡(luò)的Benck模塊Fig.2 Benck module of MobileNetV3 network
在MobileNetV3網(wǎng)絡(luò)中,當(dāng)輸入特征和輸出特征的維度不同時(shí),需要通過1×1卷積調(diào)整輸入特征的維度,然后與Benck模塊的輸出特征相融合,得到融合的特征圖。Benck模塊中的殘差學(xué)習(xí)單元主要作用是在訓(xùn)練過程中不斷進(jìn)行前向傳播,加深網(wǎng)絡(luò)層次,提取網(wǎng)絡(luò)中的淺層輪廓特征信息,同時(shí)避免梯度爆炸。此外,還利用可以跳接的方式獲取其他Benck的更多細(xì)節(jié)的深層語義特征信息。
由于MobileNetV3網(wǎng)絡(luò)可以提取多級(jí)淺層輪廓特征和深層語義特征,獲取的特征信息豐富,所以可以作為語義分割網(wǎng)絡(luò)的編碼器。
本文方法的編碼器采用MobileNetV3網(wǎng)絡(luò),主要提取多級(jí)特征信息,其結(jié)構(gòu)如圖3所示。
圖3 編碼器網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 The network structure of the encoder
圖3中,各個(gè)顏色層皆為不同尺度大小的Benck模塊,模型的輸入圖像的像素大小為S;f1、f2、f3、f4和f5層分別表示大小為原圖1/2、1/4、1/8、1/16和1/32的特征圖層。在CNN中,隨著網(wǎng)絡(luò)的不斷深入,特征表示的興趣點(diǎn)逐漸從局部特征轉(zhuǎn)向全局特征[20]。因此,對(duì)于一些中間網(wǎng)絡(luò)層,它是局部輪廓特征和全局語義特征之間的最佳轉(zhuǎn)折點(diǎn)。為了防止輸入特征圖的信息落入局部最優(yōu)的情況,將f1層和f2層舍棄。最后,選擇f3、f4和f5層作為編碼器的多級(jí)輸出特征圖層,即為解碼器的輸入,通過跳轉(zhuǎn)連接到解碼網(wǎng)絡(luò)。
解碼器網(wǎng)絡(luò)的主要任務(wù)是通過上采樣操作對(duì)未放大的特征圖進(jìn)行大小調(diào)整,然后利用PPM對(duì)編碼器網(wǎng)絡(luò)中的特征圖進(jìn)行融合,文中方法的解碼網(wǎng)絡(luò)如圖4所示。主要的操作過程是調(diào)整f3、f4、f5特征圖的大小,并進(jìn)行特征融合。
圖4 解碼器網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 The network structure of the decoder
通過上述對(duì)編碼器-解碼器的改進(jìn)與設(shè)計(jì),最終得到的模型結(jié)構(gòu)如圖5所示。
圖5 模型的整體結(jié)構(gòu)Fig.5 The overall structure of the model
在編碼階段,模型采用MobileNetV3網(wǎng)絡(luò)對(duì)特征進(jìn)行提取,計(jì)算公式為
fn=Cn(fn-1)=Cn(Cn-1(...C1(I)))
(1)
式中:輸入的圖像為I;Cn為編碼器MobileNetV3中的第n個(gè)Bneck模塊;fn為第n層的特征圖。
在解碼器階段,進(jìn)行特征融合迭代,融合迭代的過程可表示為
(2)
在特征融合后,解碼器將得到的特征圖計(jì)算各個(gè)部分的概率,計(jì)算公式為
(3)
式中:Pn~Pn-k為中間層的細(xì)化操作;D為將所有的特征圖像融合在一起,得到最終的分割結(jié)果。
該實(shí)驗(yàn)基于Tensorflow-GPU框架,操作系統(tǒng)為Windows10環(huán)境,GPU是NVIDIA RTX 2 080 Ti。并在Pascal-VOC2012數(shù)據(jù)集和Nyu-V2數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),驗(yàn)證文中方法的合理性。
Pascal-VOC2012數(shù)據(jù)集中訓(xùn)練集包含1 464幅圖像,驗(yàn)證集包含1 449幅圖像,測(cè)試集包含1 456幅圖像。數(shù)據(jù)集包含20個(gè)對(duì)象類和一個(gè)背景。同時(shí),使用圖像增強(qiáng)的方法對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)展[8],得到10 582張訓(xùn)練集圖像。
NYU-V2數(shù)據(jù)集中包含精確分割的1 449張室內(nèi)圖像,以及407 024張未標(biāo)記的圖像,共849個(gè)分類。對(duì)于分割任務(wù)來說,849個(gè)類太多,不利于算法效果的驗(yàn)證和比較,通用的處理方法將894個(gè)小類變化為40個(gè)大類[22]。隨機(jī)選擇795張圖像作為訓(xùn)練集,其余654張圖像作為測(cè)試集。
本文使用平均交并比(mean intersection over union, MIOU)和平均精度(mean pixel accuracy, MPA)來評(píng)估模型的效能,MIOU和MPA分別反映語義分割精度和精度的魯棒性。MIOU用于評(píng)價(jià)算法精度,可表示為
(4)
式中:U為MIOU的計(jì)算結(jié)果;k為前景對(duì)象的個(gè)數(shù);pii為第i類預(yù)測(cè)為第i類像素量;pij為原本屬于第i類卻被分類到第j類的像素量。
MPA用于評(píng)價(jià)各個(gè)類別的像素準(zhǔn)確率的平均值,可表示為
(5)
式中:A為MPA的計(jì)算結(jié)果。
模型采用編碼器-解碼器結(jié)構(gòu),且涉及圖像語義分割,所以模型的損失函數(shù)包括3部分:編碼器類別損失函數(shù)LE,1,解碼器融合損失函數(shù)LE,2,語義分割置信度損失函數(shù)LDice。
(6)
式中:l為類數(shù);0≤j≤l-1;β為L(zhǎng)2范數(shù)的增益系數(shù)。
β∑‖ω‖2
(7)
式中:l為分類數(shù);0≤j≤l-1;β為L(zhǎng)2范數(shù)的增益系數(shù)。
采用Dice-Loss函數(shù)作為語義分割損失函數(shù),表示為
(8)
選用Pascal-VOC2012和NYU-V2數(shù)據(jù)集進(jìn)行模型訓(xùn)練,設(shè)置優(yōu)化器為Adam優(yōu)化器;學(xué)習(xí)率采用指數(shù)衰減,設(shè)置不同的迭代的學(xué)習(xí)率:在0~30代階段,學(xué)習(xí)率設(shè)置為10-4,31~60代階段,學(xué)習(xí)率設(shè)置為10-5;L2范數(shù)增益參數(shù)設(shè)置為10-4;平滑因子ε設(shè)置為10-5。其訓(xùn)練過程如圖6所示。
圖6 模型訓(xùn)練損失值的變化Fig.6 The loss of value during the model training
從圖6可以看出,在30代后,總損失值下降更快,訓(xùn)練到50代時(shí),模型達(dá)到收斂。
將文中方法模型與SEG-Net模型、PSP-Net模型、DeeplabV3+模型進(jìn)行性能比較,并在Pascal-VOC2012數(shù)據(jù)集和Nyu-V2數(shù)據(jù)集上進(jìn)行驗(yàn)證。
4.3.1 Pascal-VOC2012數(shù)據(jù)集 表1給出了在Pascal-VOC2012數(shù)據(jù)集上的實(shí)驗(yàn)對(duì)比結(jié)果。
表1 不同模型在Pascal-VOC2012數(shù)據(jù)集的對(duì)比Tab.1 Comparison of different models in Pascal- VOC2012 dataset 單位:%
從表1可以看出,本文方法模型在MIOU上較DeepLabV3+性能提高了2.1%,較PSP-Net模型提高了5.1%,較SEG-Net模型提高了10.9%。這是因?yàn)樵撃P筒捎枚嗉?jí)的特征信息,網(wǎng)絡(luò)被利用的信息更加豐富,特征更好地被保留,使得分割精度結(jié)果更高。
為了更加直觀地體現(xiàn)本文、方法模型性能的提升,從驗(yàn)證集中選取具有代表性的6幅圖像(飛機(jī)、牛、鳥、人與馬、汽車、多人)進(jìn)行可視化結(jié)果分析,圖7給出了不同模型分割結(jié)果的對(duì)比。圖7(a)為輸入圖像、圖7(b)中,目標(biāo)分割的效果不好,邊緣輪廓信息存在丟失和重疊的問題;圖7(c)中,對(duì)光照復(fù)雜場(chǎng)景的分割效果不理想;在圖7(d)中,分割效果比較完整,但對(duì)一些小目標(biāo)物體的邊緣信息存在部分丟失的問題;在圖7(e)中,對(duì)于每個(gè)對(duì)象的分割都有完整的輪廓,邊緣細(xì)節(jié)更清晰。
圖7 不同模型在Pascal-VOC2012數(shù)據(jù)集的分割效果Fig.7 Segmentation effect of different models in Pascal-VOC2012 dataset
4.3.2 Nyu-V2數(shù)據(jù)集 表2給出了在Nyu-V2數(shù)據(jù)集上的實(shí)驗(yàn)對(duì)比結(jié)果。
表2 不同模型在Nyu-V2數(shù)據(jù)集的對(duì)比Tab.2 Comparison of different models in Nyu-V2 dataset 單位:%
從表2可以看出,本文的方法模型的MPA達(dá)到了74.91%,MIOU達(dá)到74.20%。這是由于該模型在編碼器端引入級(jí)聯(lián)的結(jié)構(gòu),將淺層的輪廓特征信息與深層的語義特征進(jìn)行融合,使得結(jié)果更加精細(xì)、輪廓更加清晰。
同樣,在Nyu-V2數(shù)據(jù)集中選取具有代表性的6幅圖像(廚房、灶臺(tái)、客廳、柜子、臥室、電視柜)進(jìn)行可視化分析,圖8給出了不同模型分割結(jié)果的對(duì)比。
從圖8可以看出,在“灶臺(tái)”圖像中,文中方法模型相較于其他模型可以更清晰地分割出原圖中的香料瓶等小目標(biāo)物體,小目標(biāo)物體分割更加精細(xì);“客廳”圖像中,圖8(e)中燈的邊緣更加連續(xù)清晰,同時(shí)受光照影響較??;在“柜子”“臥室”和“電視柜”圖像的結(jié)果可以看出,圖8(e)的物體邊緣分割更流暢、更精細(xì)。由上述實(shí)驗(yàn)結(jié)果可知,文中方法模型性能指標(biāo)更好,在物體邊緣分割精度和小目標(biāo)物體識(shí)別分割性能方面有很大提升。
圖8 不同模型在Nyu-V2數(shù)據(jù)集的分割效果Fig.8 Segmentation effect of different models in Nyu-V2 dataset
為解決語義分割中小目標(biāo)模糊和邊緣特征不連續(xù)性的問題,本文提出了一種基于多級(jí)特征融合的高精度語義分割方法。該方法利用MobileNetV3網(wǎng)絡(luò)構(gòu)建了編碼器結(jié)構(gòu),使得該方法提取了多級(jí)特征,有效地豐富特征信息。采用PSP-Net網(wǎng)絡(luò)中的空間金字塔池化結(jié)構(gòu)來有效地解決邊緣不連續(xù)問題。在編碼器端,構(gòu)建多級(jí)的特征提取通道,保持了網(wǎng)絡(luò)的高分辨率,增強(qiáng)細(xì)節(jié)特征的表達(dá);在解碼器端,將多級(jí)的淺層的輪廓特征信息與深層的語義特征進(jìn)行融合,獲得高質(zhì)量的特征信息,從而構(gòu)建適合小尺度目標(biāo)分割的高分辨率語義分割方法。實(shí)驗(yàn)結(jié)果表明,該算法不僅對(duì)小目標(biāo)分割有顯著效果,而且被分割的物體邊緣更加的精細(xì)。此外,中間層的特征信息對(duì)分割結(jié)果的影響程度仍是一個(gè)有待討論的問題,這將在今后的工作中進(jìn)一步討論。