程曉悅,趙龍章,胡 穹,史家鵬
(南京工業(yè)大學(xué) 電氣工程與控制科學(xué)學(xué)院,南京 211816)
隨著圖像語(yǔ)義識(shí)別技術(shù)的發(fā)展,語(yǔ)義分割越來(lái)越廣泛地被應(yīng)用到日常生活及工業(yè)生產(chǎn)中,如地質(zhì)檢測(cè)、無(wú)人駕駛汽車(chē)、面部分割等。研究者將其與深度學(xué)習(xí)相結(jié)合,提出了一系列新的語(yǔ)義分割方法。
文獻(xiàn)[1]提出了基于深度學(xué)習(xí)的全卷積網(wǎng)絡(luò)(FCN)語(yǔ)義分割方法,文獻(xiàn)[2-4]使用該方法對(duì)AlexNet、VGG16、GoogleNet等網(wǎng)絡(luò)進(jìn)行了修改,并將網(wǎng)絡(luò)后端的全連接層移除,改用反卷積層進(jìn)行上采樣,并引入跳躍連接改善了上采樣的粗糙像素定位。文獻(xiàn)[5-6]將池化結(jié)果應(yīng)用到譯碼過(guò)程,在網(wǎng)絡(luò)中引入了更多的編碼信息,發(fā)現(xiàn)激活層越多,取得的圖像語(yǔ)義分割效果越好。文獻(xiàn)[7]將U-Net的編碼器的每層結(jié)果拼接到譯碼器中,改善了語(yǔ)義分割結(jié)果。文獻(xiàn)[8]在擴(kuò)張卷積網(wǎng)絡(luò)中提出了“上下文模塊”用來(lái)聚合多尺度信息,避免了池化導(dǎo)致的信息損失,同時(shí)擴(kuò)大了感受野。文獻(xiàn)[9]在RefineNet網(wǎng)絡(luò)中采用ResNet-101作為網(wǎng)絡(luò)編碼模塊,并使用RefineNet block作為譯碼模塊,該模塊融合了編碼模塊的高分辨率特征及前一RefineNet block的抽象特征,所有模塊遵循殘余連接設(shè)計(jì)?;诳煞蛛x殘差的網(wǎng)絡(luò),將殘差連接與深度可分離卷積相結(jié)合,在保持分割精度的同時(shí)降低了參數(shù)量[10]。文獻(xiàn)[11]提出了Large Kernel Matters網(wǎng)絡(luò),即使用大卷積核的編碼-譯碼網(wǎng)絡(luò)架構(gòu),將ResNet[12]作為編碼器,GCN及反卷積作為譯碼器。文獻(xiàn)[13]在Deeplab v3網(wǎng)絡(luò)中提出了暗黑(即空洞卷積)空間金字塔池化(Atrous Spatial Pyramid Pooling,ASPP),融合了不同尺度的信息。Deeplab v3網(wǎng)絡(luò)對(duì)ASPP模塊進(jìn)行串行部署,將不同膨脹率的空洞卷積結(jié)果拼接起來(lái),并使用了批量歸一化(BN)。它與擴(kuò)張卷積網(wǎng)絡(luò)的不同之處在于,Deeplab v3直接對(duì)中間的特征而非最后的特征進(jìn)行膨脹卷積,在輕量級(jí)網(wǎng)絡(luò)架構(gòu)中,對(duì)前后文進(jìn)行特征自適應(yīng)加權(quán)融合,有效提高了分割精度[14]。同時(shí),為提高小類(lèi)物體的預(yù)測(cè)精度,DeepLab v3基于FCN的模型采用了加權(quán)交叉熵?fù)p失函數(shù)和自適應(yīng)閾值方法[15]。DeepLab v3 plus[16]網(wǎng)絡(luò)對(duì)DeepLab v3網(wǎng)絡(luò)進(jìn)行了擴(kuò)展,加入了簡(jiǎn)單而有效的解碼器模塊來(lái)細(xì)化分割結(jié)果,特別是在對(duì)象邊界上。此外,這種編碼器-解碼器結(jié)構(gòu)可以通過(guò)無(wú)卷積的方法任意控制提取的編碼器特征的分辨率,從而在精度和運(yùn)行時(shí)間之間進(jìn)行權(quán)衡。雖然目前已出現(xiàn)了許多圖像語(yǔ)義分割網(wǎng)絡(luò),但在分割復(fù)雜的場(chǎng)景中難以兼顧分割速度與精度。有些網(wǎng)絡(luò)在精度上滿足分割要求,但是網(wǎng)絡(luò)龐大的參數(shù)量與過(guò)多的冗余降低了分割速度,還有些網(wǎng)絡(luò)分割速度較快,但是精度往往難以滿足應(yīng)用要求。
全卷積神經(jīng)網(wǎng)絡(luò)(FCN)將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于語(yǔ)義分割,將卷積神經(jīng)網(wǎng)絡(luò)最后的全連接層替換成卷積層,對(duì)圖像進(jìn)行像素級(jí)分類(lèi),解決了語(yǔ)義層面上的分割問(wèn)題,并且可以接受任意大小的輸入。將分類(lèi)網(wǎng)絡(luò)AlexNet、VGG、GoogleNet進(jìn)行調(diào)整,去掉網(wǎng)絡(luò)中的全連接層,使其變?yōu)镕CN,并定義了skip結(jié)構(gòu),該結(jié)構(gòu)將深層、粗糙層的語(yǔ)義信息與淺層、精細(xì)層的外觀信息相結(jié)合,進(jìn)行準(zhǔn)確詳細(xì)的分割[1]。FCN為后續(xù)以卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)的語(yǔ)義分割模型奠定了重要基礎(chǔ)。
傳統(tǒng)分割網(wǎng)絡(luò)難以兼顧速度與精度。例如,Deeplab網(wǎng)絡(luò)在數(shù)據(jù)集Cityscapes上的分割精度MIOU為63.1%,用時(shí)為400 ms,速度遠(yuǎn)未達(dá)到實(shí)時(shí)分割的要求。ENet[17]分割網(wǎng)絡(luò)用時(shí)僅13 ms,但分割精度MIOU只有58.3%。本文的分組卷積將傳統(tǒng)卷積的通道分組[18],如傳統(tǒng)卷積通道數(shù)為6,卷積核為7×7,則復(fù)雜度為6×7×7×6=1 764,而分組卷積的復(fù)雜度為3×(2×7×7×2)=588,將復(fù)雜度降低了2/3,并且沒(méi)有特征損失。由此可見(jiàn),相比傳統(tǒng)網(wǎng)絡(luò),分組卷積有效降低了參數(shù)復(fù)雜度,同時(shí)大幅提高了分割速度,可實(shí)現(xiàn)實(shí)時(shí)分割,如圖1所示。
圖1 傳統(tǒng)卷積與分組卷積示意圖
圖2為本文特征提取網(wǎng)絡(luò)的初級(jí)網(wǎng)絡(luò)結(jié)構(gòu),在1×1和3×3卷積處將原來(lái)的常規(guī)卷積替換為分組卷積。在網(wǎng)絡(luò)中,輸入通道分組為N,那么卷積核也需要分為N組,每組卷積核只與對(duì)應(yīng)的特征映射做卷積,得到輸出。
圖2 初級(jí)網(wǎng)絡(luò)結(jié)構(gòu)示意圖
語(yǔ)義分割網(wǎng)絡(luò)的性能提升主要依賴于網(wǎng)絡(luò)深度的增加,即增加特征提取網(wǎng)絡(luò)的層數(shù),但這種做法在小幅提升精度的同時(shí),卻延長(zhǎng)了分割時(shí)間。本文特征提取網(wǎng)絡(luò)受到GoogleNet啟發(fā),將一路網(wǎng)絡(luò)傳播改為兩路傳播[19]。為了提升分割效果,網(wǎng)絡(luò)需要獲得多尺度信息,因此網(wǎng)絡(luò)的卷積核大小也設(shè)置為兩種。密集層分為兩路:一路為獲得小尺度目標(biāo),使用一個(gè)3×3卷積;另一路為獲得大尺度目標(biāo),采用兩個(gè)3×3卷積,通道數(shù)為K。密集層結(jié)構(gòu)如圖3所示。
圖3 密集層結(jié)構(gòu)示意圖
結(jié)合1.2節(jié)分組卷積,得到網(wǎng)絡(luò)結(jié)構(gòu),如圖4所示。
圖4 加入密集層的網(wǎng)絡(luò)結(jié)構(gòu)
為了提高網(wǎng)絡(luò)的分割速度,本文使用輕量級(jí)網(wǎng)絡(luò)作為特征提取網(wǎng)絡(luò),但是在精度上有一定損失。為了減少精度損失,在本文網(wǎng)絡(luò)中加入了注意力模塊[20]。注意力特征有助于增強(qiáng)模型的特征表達(dá)[21],綜合不同信息,提高模型的理解能力[22]。這與人類(lèi)視覺(jué)的注意力機(jī)制類(lèi)似。人類(lèi)視覺(jué)注意力機(jī)制分為兩種:自下而上的基于數(shù)據(jù)驅(qū)動(dòng)的注意力機(jī)制,自上而下的基于任務(wù)驅(qū)動(dòng)的目標(biāo)注意力機(jī)制。兩種機(jī)制都可以從大量的數(shù)據(jù)中學(xué)習(xí)到任務(wù)需要的部分。本文采用的是自下而上的基于數(shù)據(jù)驅(qū)動(dòng)的注意力機(jī)制,注意力模塊從特征通道之間的關(guān)系出發(fā),考慮特征通道間的相互依賴因素,通過(guò)網(wǎng)絡(luò)的自學(xué)習(xí),有效抑制對(duì)當(dāng)前分割作用影響不大的特征,增強(qiáng)有益特征的權(quán)重[23]。注意力模塊首先對(duì)每個(gè)通道的特征映射進(jìn)行全局平均池化,得到1×1×K的向量,再進(jìn)行兩次FC層轉(zhuǎn)換,為抑制模型復(fù)雜度分別在兩次FC層轉(zhuǎn)換間進(jìn)行降維和升維,類(lèi)似于一個(gè)“瓶頸”,并使用Sigmoid與ReLU激活函數(shù),添加了注意力模塊的特征提取網(wǎng)絡(luò)如圖5所示。
圖5 加入注意力模塊的特征提取網(wǎng)絡(luò)
在注意力模塊中,首先使用全局平均池化,將從密集層輸出的數(shù)據(jù)由W×H×K收縮為1×1×K,具體公式如下:
在“互聯(lián)網(wǎng)+”新時(shí)代,高校固定資產(chǎn)管理工作正在實(shí)現(xiàn)與時(shí)俱進(jìn)的自我突破,正如本文所言,它已經(jīng)在積極主動(dòng)融入“互聯(lián)網(wǎng)+功能包圖”模式以及“互聯(lián)網(wǎng)+功能數(shù)據(jù)”統(tǒng)計(jì)管理模式,希望以此來(lái)提高高校在新時(shí)代的固定資產(chǎn)的管理與統(tǒng)計(jì)水平,迎合當(dāng)前教育改革機(jī)制發(fā)展變化,實(shí)現(xiàn)長(zhǎng)期穩(wěn)定辦校。
(1)
其中,Fsq表示全局平均池化函數(shù)。
接下來(lái)對(duì)網(wǎng)絡(luò)進(jìn)行兩次FC操作,C代表降維系數(shù),可以根據(jù)具體網(wǎng)絡(luò)調(diào)整,本文實(shí)驗(yàn)C=16時(shí)獲得最佳性能,公式如下。
s=Fex(z,W)=σ(g(z,W))=σ(W2δ(W1z))
(2)
其中,σ、δ分別代表Sigmoid、ReLU激活函數(shù)。
然后進(jìn)行scale操作,基于通道數(shù)不變,將數(shù)據(jù)變?yōu)閃×H×K。
Xc=Fscale(uc,sc)=sc·uc
(3)
網(wǎng)絡(luò)在加入注意力模塊前,對(duì)于batch為256、224×224的輸入圖片,一次前向傳播需要42 ms,加入注意力模塊后,則需要47 ms,通過(guò)降維-升維降低復(fù)雜度后仍有時(shí)間增加,但相比分割精度的提升而言可以忽略。
最后,網(wǎng)絡(luò)的每層通過(guò)跳躍連接[24]相連,本文跳躍連接有兩點(diǎn)和DenesNet不同。一是DenesNet只在下采樣之間的block中有連接,本文則所有層中都存在連接;二是在池化方式上,本文采用了空洞空間金字塔池化(ASPP),ASPP提供了多尺度信息的模型,是在空間金字塔池化(SPP)的基礎(chǔ)上添加了具有不同擴(kuò)張率的空洞卷積,用來(lái)捕獲大范圍語(yǔ)境,通過(guò)全局平均池化(GAP)結(jié)合圖像特征增加全局語(yǔ)境。共包括4個(gè)并行操作、一個(gè)1×1的卷積和3個(gè)3×3的卷積,并加入了批量歸一化。本文網(wǎng)絡(luò)跳躍連接示意圖如圖6所示。
圖6 本文網(wǎng)絡(luò)跳躍連接示意圖
本文實(shí)驗(yàn)數(shù)據(jù)采用圖像分割的基準(zhǔn)測(cè)試數(shù)據(jù)集Cityscapes[25]和ADE20K[26]。Cityscapes數(shù)據(jù)集由奔馳公司發(fā)布,包括25 000張圖像,其中5 000張精細(xì)標(biāo)注,20 000張粗略標(biāo)注,包含50個(gè)城市的背景、街景、人、車(chē)輛、地面、交通標(biāo)志等30類(lèi)物體的標(biāo)注。ADE20K是MIT推出的可以用于分割、識(shí)別、場(chǎng)景感知及語(yǔ)義理解的數(shù)據(jù)集。有較為豐富的場(chǎng)景種類(lèi)和詳細(xì)的標(biāo)記,共含有150個(gè)對(duì)象和類(lèi)別。其中20 210張圖片用于訓(xùn)練,2 000張圖片用于驗(yàn)證,測(cè)試集有3 000張圖片。數(shù)據(jù)庫(kù)部分圖片如圖7所示。
圖7 數(shù)據(jù)庫(kù)部分圖片
pii表示分割正確的數(shù)量(稱(chēng)為真正);pij表示本來(lái)像素是屬于i類(lèi),但是被分割為j類(lèi)的數(shù)量(稱(chēng)為假正);pji表示本來(lái)像素是屬于j類(lèi),但是被分割為i類(lèi)的數(shù)量(稱(chēng)為假負(fù))。共有k+1個(gè)類(lèi)別(包括k類(lèi)及一個(gè)空類(lèi)或背景類(lèi))。
像素精度(PA)是語(yǔ)義分割最簡(jiǎn)單的精確度度量,表示標(biāo)記正確的像素占總像素的比例。
(4)
均像素精度(MPA)是PA的簡(jiǎn)單提升,計(jì)算在每個(gè)類(lèi)內(nèi)被正確分割的像素比例,再求所有類(lèi)別的平均值。
(5)
平均像素交并比(MIOU)是語(yǔ)義分割技術(shù)的度量標(biāo)準(zhǔn),計(jì)算兩集合的交集與并集之比。在每個(gè)像素類(lèi)別內(nèi)計(jì)算IOU,然后再計(jì)算平均值。
(6)
直觀理解MIOU的評(píng)定方式如圖8所示,圖中深色部分代表真實(shí)像素值,淺色區(qū)域代表分割像素值,交集處代表像素分割正確的部分。
圖8 MIOU評(píng)定方式直觀圖
鑒于MIOU的簡(jiǎn)潔、代表性強(qiáng),因此本文研究性能評(píng)定根據(jù)MIOU來(lái)衡量。
本文所有實(shí)驗(yàn)在TensorFlow1.9框架下搭建,使用cuDNN7.5內(nèi)核計(jì)算,工作站配置Intel?Core TM i7-6800K CPU@3.4 GHz,GTX 1080Ti顯卡,內(nèi)存128 GB,8張GTX1070顯卡。訓(xùn)練時(shí)batch大小為256,設(shè)置初始學(xué)習(xí)率為0.01,學(xué)習(xí)率衰減為10-6,使用Nesterov動(dòng)量[27]。初始化方法為VarianceScaling[28],能根據(jù)權(quán)值尺寸調(diào)整規(guī)模,激活函數(shù)使用softplus。圖9為在Cityscapes數(shù)據(jù)集上的分割效果圖。
圖9 在Cityscapes數(shù)據(jù)集上的測(cè)試結(jié)果
確定本文模型的過(guò)程如下:首先在18層特征提取網(wǎng)絡(luò)中加入密集層,發(fā)現(xiàn)網(wǎng)絡(luò)分割性能相比原始18層網(wǎng)絡(luò)有一定提升,繼而又加入了注意力模塊,得到了較好的分割效果,但速度還不能滿足實(shí)時(shí)要求。為了獲得更好的分割性能,并得到較快的分割速度,逐層添加特征提取網(wǎng)絡(luò),觀察特征提取網(wǎng)絡(luò)層數(shù)對(duì)精度和速度的影響,最終確定采用5層特征提取網(wǎng)絡(luò)結(jié)構(gòu),能將分割性能與速度均維持在較高水平。在實(shí)驗(yàn)中首先用數(shù)據(jù)集Cityscapes進(jìn)行分割,得到如表1所示結(jié)果,為了驗(yàn)證表1結(jié)果的有效性,在ADE20K數(shù)據(jù)集上再次進(jìn)行驗(yàn)證,發(fā)現(xiàn)表1中5層特征提取網(wǎng)絡(luò)的結(jié)果較佳,于是最終確定了本文網(wǎng)絡(luò)模型。
表1 本文實(shí)驗(yàn)網(wǎng)絡(luò)層數(shù)與分割性能
在分割精度上,選取多類(lèi)物體的分割精度結(jié)果進(jìn)行對(duì)比,如圖10所示,實(shí)線為本文方法。其對(duì)建筑物、柱子、植被、人、小汽車(chē)、火車(chē)的分割精度分別達(dá)到了93.5%、67.9%、93.9%、87.3%、96.2%、86.5%,明顯高于其他分割網(wǎng)絡(luò)。為了公平進(jìn)行實(shí)驗(yàn)對(duì)比,在相同的實(shí)驗(yàn)配置下,使用不同的分割模型對(duì)Cityscapes數(shù)據(jù)集及ADE20K數(shù)據(jù)集進(jìn)行分割,得到的對(duì)比數(shù)據(jù)見(jiàn)表2與表3。表2為在Cityscapes數(shù)據(jù)集下的分割結(jié)果,可以看到本文網(wǎng)絡(luò)的分割精度達(dá)到81.5%,優(yōu)于其他網(wǎng)絡(luò),分割時(shí)間為47 ms,僅次于ENet的13 ms,但分割精度遠(yuǎn)高于ENet。表3為在ADE20K數(shù)據(jù)集下分割結(jié)果的數(shù)據(jù)對(duì)比,可以看到,在相同的實(shí)驗(yàn)環(huán)境下,本文網(wǎng)絡(luò)將輸入圖片剪裁為576×576,相比其他模型在分割速度上有很大優(yōu)勢(shì),在分割精度上也不低于其他網(wǎng)絡(luò)。
圖10 各種網(wǎng)絡(luò)分割精確度對(duì)比Fig.10 Comparison of segmentation accuracy of variousnetworks
表2 各方法在Cityscapes數(shù)據(jù)集下精度與速度對(duì)比
表3 ADE20K數(shù)據(jù)集下分割精度與速度對(duì)比
圖11為在數(shù)據(jù)集ADE20K上,采用ResNet-50、ResNeXt-50、PSPNet(50)及本文方法進(jìn)行的實(shí)驗(yàn)對(duì)比結(jié)果,可以看到本文模型相比其他3種模型,訓(xùn)練損失較少。
圖11 不同方法的訓(xùn)練損失
本文提出一種基于密集層和注意力機(jī)制的網(wǎng)絡(luò)層,并作為快速語(yǔ)義分割的特征提取網(wǎng)絡(luò)。通過(guò)分組卷積減少網(wǎng)絡(luò)參數(shù),并加入注意力模塊,在保證不損失分割精度的前提下,大幅提高網(wǎng)絡(luò)的分割速度,滿足快速語(yǔ)義分割的應(yīng)用要求。今后將嘗試在不同尺度上進(jìn)行語(yǔ)義分割,提高對(duì)細(xì)小物體的分割精度。