胡朝陽(yáng) 汪國(guó)有
(華中科技大學(xué)人工智能與自動(dòng)化學(xué)院 武漢 430074)
語(yǔ)義分割是計(jì)算機(jī)視覺(jué)領(lǐng)域一個(gè)基本的命題,其思路就是為圖像中每一個(gè)像素打類(lèi)別標(biāo)簽。2012 年,隨著Hinton 在目標(biāo)識(shí)別領(lǐng)域應(yīng)用深度神經(jīng)網(wǎng)絡(luò)(CNN[1]),CNN 在計(jì)算機(jī)視覺(jué)領(lǐng)域得到了廣泛的應(yīng)用。相比于傳統(tǒng)特征如HOG[2]、SIFT[3]、Surf[4],深度特征表達(dá)能力更強(qiáng),但CNN 只提供了更加強(qiáng)有力的特征表述,無(wú)法對(duì)場(chǎng)景中對(duì)象的上下文有效的建模,而上下文無(wú)處不在,上下文是一個(gè)對(duì)象與其相鄰對(duì)象或圖像塊之間的語(yǔ)義相容關(guān)系,這種相容關(guān)系表示視覺(jué)模式的共存,例如,汽車(chē)可能會(huì)出現(xiàn)在道路上,玻璃杯可能會(huì)出現(xiàn)在桌子上。
隨著CNN的發(fā)展,F(xiàn)CN[5]率先將CNN應(yīng)用到語(yǔ)義 分 割 領(lǐng) 域 ,隨 之 SegNet[6]、U-Net[7]、LDN[8]、PSPNet[9]等都取得了很好的分割結(jié)果。FCN 是將普通CNN 的全連接層轉(zhuǎn)換為一個(gè)個(gè)卷積層,網(wǎng)絡(luò)是一個(gè)全卷積網(wǎng)絡(luò),模型對(duì)經(jīng)過(guò)卷積及池化下采樣之后的特征圖上的每一個(gè)點(diǎn)進(jìn)行分類(lèi)。FCN 的優(yōu)勢(shì)在于可以接受任意大小的圖像,但是每個(gè)點(diǎn)在分類(lèi)時(shí)沒(méi)有考慮像素之間的關(guān)系,忽略了像素的空間一致性,缺乏上下文信息。為了利用上下文信息,SegNet 采用特征下采樣-上采樣的流程,下采樣過(guò)程使得深度特征擁有更大的感受野,包含更多的上下文信息,而上采樣則是提高了特征的分辨率。網(wǎng)絡(luò)的整體結(jié)構(gòu)呈U型。類(lèi)似的還有U-Net、LDN,和SegNet非常相似,都是利用U 型結(jié)構(gòu)來(lái)獲取上下文信息。PSPNet 則是在未采用U 型結(jié)構(gòu)的前提下提出了空間金字塔池化模塊,該模塊融合多個(gè)尺度上下文信息,輔助網(wǎng)絡(luò)做更加精準(zhǔn)的判斷,但獲取上下文的方式過(guò)于生硬,沒(méi)有考慮目標(biāo)本身的外觀特征。
對(duì)于上下文的提取,本文則是提出了可變向卷積網(wǎng)絡(luò),算法的主要思想是在特征圖的每一個(gè)像素使用卷積預(yù)測(cè)特征需要觀測(cè)的方向,然后在該方向上通過(guò)普通卷積操作實(shí)現(xiàn)像素類(lèi)別的預(yù)測(cè),這樣模型會(huì)挑選出更加顯著可分的上下文來(lái)輔助類(lèi)別的判定。由于對(duì)象本身存在尺度的多樣性,因此在預(yù)測(cè)對(duì)象類(lèi)別時(shí),我們?cè)诙鄠€(gè)尺度下使用多方向卷積,保證了多個(gè)尺度對(duì)象的預(yù)測(cè)。模型在PASCAL VOC2012公開(kāi)數(shù)據(jù)集進(jìn)行了測(cè)試實(shí)驗(yàn),實(shí)驗(yàn)表明我們提出的可變向卷積網(wǎng)絡(luò)取得的效果優(yōu)于目前經(jīng)典算法。
本節(jié)我們首先介紹可變向卷積的核心思想,然后介紹可變向卷積網(wǎng)絡(luò)的整體模型,最后針對(duì)網(wǎng)絡(luò)中的每一個(gè)模塊做詳細(xì)的介紹。
可變向卷積受可變形卷積[10]的啟發(fā)而形成,因此先介紹其思想來(lái)源。
圖1 四種不同的卷積操作
可變形卷積如圖1(b)是在普通的規(guī)則卷積如圖1(a)基礎(chǔ)上通過(guò)學(xué)習(xí)一個(gè)偏移特征變成的不規(guī)則卷積。該操作首先需要學(xué)習(xí)偏移特征,然后再在普通的卷積中疊加偏移特征以提取更加有效的表達(dá)特征??勺冃尉矸e的數(shù)學(xué)表達(dá)式為
可變形卷積增大感受野的同時(shí)會(huì)根據(jù)需要在周?chē)牟灰?guī)則區(qū)域提取任意單個(gè)點(diǎn)的特征。但是由于訓(xùn)練的權(quán)值包含變形權(quán)值(Δp及Δq)及普通卷積參數(shù)兩部分,因此模型參數(shù)多,訓(xùn)練復(fù)雜、不穩(wěn)定??斩淳矸e[11]如圖1(c)則是在不增加參數(shù)的同時(shí)增大了感受野,但是增大感受野是同時(shí)向四周擴(kuò)張,擴(kuò)張方式單一。
而本文提出的可變向卷積如圖1(d),相比于可變形卷積則需要更少的參數(shù)量,在訓(xùn)練網(wǎng)絡(luò)較為簡(jiǎn)單、穩(wěn)定易收斂,相比于空洞卷積,同樣可以增大感受野,相對(duì)空洞卷積,可通過(guò)注意力機(jī)制獲取更加顯著可分的特征。
可變向卷積是一種提取對(duì)象上下文的有效手段,圖2 展示了可變向卷積提取上下文提取的流程,圖2(a)中展示了像素A在不同的感受野下面卷積時(shí)所用到特征區(qū)域,可以發(fā)現(xiàn),很多區(qū)域特征是干擾上下文,所以圖2(b)中網(wǎng)絡(luò)預(yù)測(cè)出模型注意的方向:右上方向、右下方向,如圖2(b)紅色和黃色箭頭所示,其區(qū)域的上下文特征分別是墻、馬路地面。所以可變卷積網(wǎng)絡(luò)將干擾區(qū)域的特征去除,剩下有用區(qū)域上下文特征,如圖2(c)所示的矩形框。
圖2 可變向卷積網(wǎng)絡(luò)提取上下文流程
可變向卷積網(wǎng)絡(luò)(Variable Direction Convolution Network,VDCNet)主要包括多方向卷積模塊(Multi Directional Convolution Module,MDCM)、多方向特征選擇模塊(Multi Directional feature Selection Module,MDSM)、多尺度卷積模塊(Multi Scale Convolution Module,MSCM),具體如圖3所示。
MDCM 是在特征圖上的每一個(gè)像素點(diǎn)的左上、右上、左下、右下及中心五個(gè)方向的鄰域做卷積運(yùn)算。為了適應(yīng)特征的多尺度變化,將空洞卷積加入到模型中實(shí)現(xiàn)MSCM。為方便起見(jiàn),我們將MDCM鑲嵌到MSCM中用來(lái)提取多尺度的上下文。
圖3 可變向卷積網(wǎng)絡(luò),x表示特征相乘,CONCAT表示特征級(jí)聯(lián)
網(wǎng)絡(luò)在五個(gè)方向上產(chǎn)生上下文特征的同時(shí)MDSM 通過(guò)卷積以及Softmax 獲得每一個(gè)特征點(diǎn)網(wǎng)絡(luò)注意的方向特征,將該特征和五個(gè)方向上產(chǎn)生的上下文特征相乘,激活顯著特征抑制干擾特征。最后將縮放后的特征和基準(zhǔn)網(wǎng)絡(luò)產(chǎn)生的特征級(jí)聯(lián)進(jìn)而判定類(lèi)別。最后將結(jié)果上采樣到原圖大小得到最后的分割結(jié)果。
多方向卷積模塊(MDCM)如圖4 所示,針對(duì)特征圖上的每一個(gè)像素,利用卷積運(yùn)算分別提取其左上、右上、左下、右下、中心方向的區(qū)域特征,每一個(gè)方向上的特征單獨(dú)存儲(chǔ),最后將五個(gè)區(qū)域中的特征級(jí)聯(lián),得到的特征供網(wǎng)絡(luò)后續(xù)的篩選。
假 定wc,m,n是 卷 積 核 權(quán) 重 ,x是 輸 入 特 征 ,2*d+1 是感受野的大小,p 是通道數(shù),普通的卷積操作都是中心卷積,其計(jì)算公式為
圖4 MDCM模塊示意圖,共五個(gè)卷積分支,包括左上方向(紅),右上方向(藍(lán)),左下方向(綠),右下方向(黃),中心方向(黑色),CONV表示卷積,CONCATE表示特征級(jí)聯(lián)
本文提出的多方向卷積則稍有不同,其中
左上方向的卷積計(jì)算公式為
右上方向上的卷積計(jì)算公式為
左下方向上的卷積計(jì)算公式為
右下方向上的卷積計(jì)算公式為
而中心方向上的卷積計(jì)算就是普通卷積。
相比于普通的3*3 卷積,我們?cè)诿總€(gè)像素的多個(gè)方向進(jìn)行3*3 卷積,擴(kuò)大了特征的感受野,同時(shí)也提取了多個(gè)方向的上更豐富的上下文信息。
多方向卷積模塊是利用一個(gè)固定尺寸的卷積核在多個(gè)方向上卷積,提取到的特征僅是單一尺度特征。為了考慮多尺度的上下文,我們提出多尺度卷積模塊(MSCM)使用多種尺寸的卷積核卷積得到多種尺度的上下文,如圖3中MSCM所示。
表1 多尺度卷積的卷積核參數(shù),其中kernel size 表示卷積核的尺寸,dilation rate 表示空洞卷積的空洞比率,group 表示卷積的分組數(shù)目,field 表示感受野的大小。
表1 多尺度卷積的卷積核參數(shù)
但是較大尺寸卷積核會(huì)使模型參數(shù)急劇上升。因此,我們使用空洞卷積和分組卷積兩種方式來(lái)改變這個(gè)困境,表1 給出了網(wǎng)絡(luò)所使用的卷積核的參數(shù)信息以及卷積的感受野。
多尺度卷積模塊充分考慮了對(duì)象的尺度多樣性,使用多尺度卷積使得模型對(duì)尺度變化的更加魯棒。但是多尺度卷積很有可能會(huì)帶入干擾判別的上下文,所以后續(xù)提出了方向預(yù)測(cè)模塊來(lái)幫助顯著特征的篩選。
多方向特征選擇模塊(MDSM)是對(duì)多方向特征進(jìn)行選擇。特征的選擇是為了更好地篩選出更加顯著的上下文信息。在該模塊中,模塊需要預(yù)測(cè)注意的方向權(quán)重因子,方向權(quán)重因子預(yù)測(cè)完全是無(wú)監(jiān)督的。通過(guò)模型自我監(jiān)督實(shí)現(xiàn)。預(yù)測(cè)結(jié)果采用了軟權(quán)重,即利用softmax 作為預(yù)測(cè)權(quán)重的后處理,將權(quán)重映射到區(qū)間(0,1)。
現(xiàn)設(shè)定網(wǎng)絡(luò)的預(yù)測(cè)的權(quán)重因子張量為W,其大小為c*w*h,其中的一個(gè)像素特征e為{e1,e2,…,e3} ,那么模塊的方向預(yù)測(cè)變成了對(duì)權(quán)重像素e取softmax操作,即
由于softmax 本身可微,所以模型可以實(shí)現(xiàn)端對(duì)端以及參數(shù)的更新。
方向權(quán)重因子預(yù)測(cè)時(shí)考慮到對(duì)象存在的尺度的多樣性,加入了不同dilation rate的空洞卷積實(shí)現(xiàn)提取不同尺度的上下文信息幫助網(wǎng)絡(luò)預(yù)測(cè)每一個(gè)像素點(diǎn)模型需要注意的方向的顯著特征,具體的實(shí)現(xiàn)如圖3 MDSM所示。
實(shí)驗(yàn)采用PASCAL VOC2012數(shù)據(jù)集,其中包含了20 個(gè)種類(lèi)的目標(biāo)以及1 個(gè)背景類(lèi)。數(shù)據(jù)集有1464 張圖像作為訓(xùn)練集,1449 張圖像作為驗(yàn)證集,以及1456 張圖像作為測(cè)試集,三個(gè)數(shù)據(jù)集中各個(gè)類(lèi)別數(shù)目相對(duì)平衡,數(shù)據(jù)分布相同。
基礎(chǔ)特征網(wǎng)絡(luò)為resnet101[12],并在ImageNet上面預(yù)訓(xùn)練。學(xué)習(xí)率按照衰減,power=0.9 ,初始學(xué)習(xí)率baselr=0.0001,iter為當(dāng)前已迭代次數(shù),總迭代次數(shù)max_iter=80。模型參數(shù)的優(yōu)化方法為SGD[13],采用隨機(jī)水平翻轉(zhuǎn)及隨機(jī)縮放圖像的尺寸以增廣數(shù)據(jù),輸入圖像采用5個(gè)尺寸,分別是[0.5,0.75,1,1.5,1.75]。
實(shí)驗(yàn)使用 mIoU[14]作為評(píng)價(jià)標(biāo)準(zhǔn),在 PASCAL VOC2012 上進(jìn)行測(cè)試。結(jié)果本文算法在各個(gè)類(lèi)別上都取得了優(yōu)異的結(jié)果,具體結(jié)果如表2所示。
我們和分割領(lǐng)域的其他經(jīng)典算法包括FCN[5]、CRF-RNN[15]、Dilation8[16]、DPN[17]、Piecewise[18]、DLC[19]、DUC[20]做了對(duì)比,對(duì)比結(jié)果如表3所示。
表2 Pascal VOC2012上的測(cè)試結(jié)果
表3 經(jīng)典算法在PASCAL VOC12 測(cè)試集的分割結(jié)果對(duì)比
實(shí)驗(yàn)對(duì)比發(fā)現(xiàn),我們的算法效果優(yōu)于目前絕大部分分割算法,但是測(cè)試結(jié)果沒(méi)有達(dá)到最優(yōu),PSPNet[9]是目前比較領(lǐng)先的算法。它們?cè)趍inibatch size 為16 時(shí),mIou 是 85.4%,由于實(shí)驗(yàn)條件所限導(dǎo)致實(shí)驗(yàn)的mini-batch 過(guò)小。mini-batch 的大小對(duì)網(wǎng)絡(luò)訓(xùn)練結(jié)果影響較大,所以我們使用同樣的mini-batch 分別在驗(yàn)證集進(jìn)行了測(cè)試,結(jié)果如表4所示。
表4 PASCAL VOC12 數(shù)據(jù)集上的驗(yàn)證集上的分割結(jié)果對(duì)比
通過(guò)以上對(duì)比發(fā)現(xiàn),在同等條件下,我們的算法相對(duì)目前最優(yōu)的算法取得了更優(yōu)的效果。
我們的算法在PASCAL VOC2012 上取得了較為優(yōu)異的效果,我們?cè)谠摂?shù)據(jù)集中隨機(jī)挑選出幾張圖像和FCN對(duì)比,對(duì)比結(jié)果如圖5所示。
圖5 實(shí)驗(yàn)結(jié)果可視化對(duì)比
本文為了更好地利用分割場(chǎng)景中的上下文信息,提出了基于上下文的語(yǔ)義分割方案:可變向卷積網(wǎng)絡(luò)??勺兿蚓矸e網(wǎng)絡(luò)包含三個(gè)模塊:多方向卷積模塊、多尺度卷積模塊以及多方向特征選擇模塊。模型通過(guò)改變卷積的方向獲取了更加顯著的特征,提高了分割的效果。通過(guò)在PASCAL VOC2012上測(cè)試顯示,我們的算法性能優(yōu)于目前經(jīng)典的分割算法。