李叔敖,解 慶,馬艷春,劉永堅(jiān)
(武漢理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,湖北 武漢 430070)
作為計(jì)算機(jī)視覺的基礎(chǔ)任務(wù)之一,圖像語義分割的主要過程是對(duì)于一幅輸入圖像,精確地判斷圖像中的每個(gè)像素所屬的語義類別。圖像語義分割的性能對(duì)自動(dòng)駕駛、機(jī)器人和視頻監(jiān)控等應(yīng)用的性能提升具有重要的現(xiàn)實(shí)意義。
目前,圖像語義分割領(lǐng)域的主流方法通?;谌矸e神經(jīng)網(wǎng)絡(luò)FCN(Fully Convolutional Networks)[1],不同方法的主要區(qū)別在于針對(duì)分割過程的特定問題產(chǎn)生不同的網(wǎng)絡(luò)結(jié)構(gòu)。FCN提出利用卷積層代替全連接層以接受任意大小的圖像輸入,同時(shí),它利用反卷積獲得更為精細(xì)的特征。U-Net[2]對(duì)FCN做了簡單升級(jí),在上采樣和與之對(duì)應(yīng)的下采樣之間構(gòu)建了跳躍連接,并使用和FCN不同的特征融合方式,拼接來自不同特征層的特征。Badrinarayanan等在SegNet[3]中提出了反池化操作,使用最大池化的索引進(jìn)行上采樣,改善了物體邊界劃分效果的同時(shí)也減少了訓(xùn)練的參數(shù)。Chen等在DeepLabv1[4]中提出了擴(kuò)張卷積,同時(shí)還使用卷積神經(jīng)網(wǎng)絡(luò)級(jí)聯(lián)概率圖模型的方式使網(wǎng)絡(luò)獲得更豐富的對(duì)象信息。他們?cè)诤罄m(xù)研究的DeepLabv2中[5]提出擴(kuò)張空間金字塔池化ASPP(Atrous Spatial Pyramid Pooling),增強(qiáng)了分割網(wǎng)絡(luò)在多尺度下語義分割的魯棒性。DeepLabv3[6]改進(jìn)了 DeepLabv2中的擴(kuò)張空間金字塔池化過程,通過使用“縱式”的ASPP模塊,使分割網(wǎng)絡(luò)獲得了更大的感受野和多尺度信息。DeepLabv3+[7]在DeepLabv3的基礎(chǔ)上,通過融合擴(kuò)張金字塔池化和編碼器-解碼器結(jié)構(gòu),使模型在物體的邊界判斷上表現(xiàn)更好,也是目前最有效的語義分割框架。PSPNet[8]使用全局平均池化以聚合不同區(qū)域的上下文信息,提高了分割網(wǎng)絡(luò)獲取全局信息的能力。RefineNet[9]利用遠(yuǎn)距離殘差連接,將粗糙的較高層次的語義特征與精細(xì)的較低層次的語義特征結(jié)合起來,生成了高分辨率的語義分割圖像,進(jìn)一步提高了分割準(zhǔn)確率。在實(shí)例分割中,Mask- RCNN[10]在Fast-RCNN[11]/Faster-RCNN[12]的基礎(chǔ)上添加了一個(gè)分割分支,該分支采用全卷積層用于掩模的預(yù)測,不僅改善了檢測的性能,同時(shí)也提升了分割的性能。PANet[13]在Mask-RCNN的基礎(chǔ)上設(shè)計(jì)自底向上的路徑,以縮短深度卷積神經(jīng)網(wǎng)絡(luò)中低層特征層到最高層特征層信息的傳播路徑,優(yōu)化了信息傳遞的方式,使信息在網(wǎng)絡(luò)中可以得到進(jìn)一步的傳播。
本文從神經(jīng)網(wǎng)絡(luò)中信息的傳播路徑出發(fā),提出了一種路徑聚合型解碼器,該解碼器利用編碼器產(chǎn)生的特征圖逐步構(gòu)造另外2組特征金字塔,組成聚合性更強(qiáng)的解碼器結(jié)構(gòu),同時(shí)縮短分割網(wǎng)絡(luò)中的信息傳播路徑,減少解碼器網(wǎng)絡(luò)中定位信息流動(dòng)難度。該解碼器使得低層的細(xì)節(jié)性結(jié)構(gòu)信息更容易傳播到高層,從而實(shí)現(xiàn)更精準(zhǔn)的邊界分割效果。同時(shí),本文針對(duì)語義分割任務(wù)中常使用的Softmax交叉熵?fù)p失函數(shù)對(duì)于外觀相似物體區(qū)分能力不足的情況,使用雙向交叉熵?fù)p失函數(shù)來提高網(wǎng)絡(luò)對(duì)相似物體的區(qū)分能力,在PASCAL VOC2012Aug[14]分割數(shù)據(jù)集和Cityscapes[15]數(shù)據(jù)集上對(duì)本文方法進(jìn)行實(shí)驗(yàn),分別達(dá)到了80.44%和78.66%的分割精度。
隨著卷積神經(jīng)網(wǎng)絡(luò)如AlexNet[16]、VGG[17]、GoogleNet[18]和ResNet[19]等被用于圖像語義分割并取得了突破性進(jìn)展,F(xiàn)CN便成為圖像語義分割領(lǐng)域的主流方法,相關(guān)文獻(xiàn)中提出的編碼器-解碼器分割框架也被不斷采用[1,2,5,6,9]。編碼器-解碼器框架通常包含一個(gè)編碼器模塊和一個(gè)解碼器模塊,編碼器模塊一般移植于面向圖像分類任務(wù)的深度神經(jīng)網(wǎng)絡(luò),例如移除全連接層的VGG或者ResNet。在編碼階段,通過卷積網(wǎng)絡(luò)的堆疊,特征圖的尺寸逐漸縮小,同時(shí)網(wǎng)絡(luò)獲得更高級(jí)的語義信息。解碼器模塊通常由不同類型的上采樣網(wǎng)絡(luò)結(jié)構(gòu)組成,在解碼階段,使用不同的上采樣方法逐漸將特征圖恢復(fù)至輸入尺寸,恢復(fù)目標(biāo)鋒銳的邊界與細(xì)節(jié)信息。但是,該框架通常存在如下問題:由于編碼器(即引入的卷積神經(jīng)網(wǎng)絡(luò))在下采樣過程中會(huì)丟失大量的細(xì)節(jié)性空間信息,且這種丟失的信息不可恢復(fù),因此解碼器難以恢復(fù)物體邊界等細(xì)節(jié)性信息,導(dǎo)致分割性能變差。解決該問題的方法分為2種:第1種方法是改進(jìn)上采樣過程,增強(qiáng)編解碼之間的對(duì)應(yīng)關(guān)系或者融合不同網(wǎng)絡(luò)層次的語義信息。如FCN使用反卷積對(duì)特征圖進(jìn)行上采樣,并通過跳級(jí)結(jié)構(gòu)來結(jié)合不同深度特征層,用以提高解碼階段特征圖分辨率;U-Net使用橫向連接來構(gòu)建下采樣(編碼過程)和與之對(duì)應(yīng)的上采樣(解碼過程)之間的連接;SegNet提出反池化過程,在編碼過程中進(jìn)行池化操作時(shí),存儲(chǔ)池化格內(nèi)最大值的位置,在解碼階段,使用存儲(chǔ)的池化索引進(jìn)行反池化操作;PANet設(shè)計(jì)了自底向上的路徑增強(qiáng)結(jié)構(gòu),縮短了信息傳播路徑,同時(shí)有效地利用了低層特征精確的定位信息;特征金字塔網(wǎng)絡(luò)FPN(Feature Pyramid Network)[20]通過最近鄰上采樣和橫向連接逐步地構(gòu)建自頂向下的特征金字塔層,提升了被分割目標(biāo)的檢測精度。第2種方法是使用擴(kuò)張卷積[4 - 6],在擴(kuò)大感受野的同時(shí),有效避免頻繁下采樣帶來的分辨率損失和與物體邊界相關(guān)的細(xì)節(jié)性信息的損失。如SPP[21]使用多個(gè)不同尺寸的池化窗口對(duì)特征圖進(jìn)行池化,再將得到的結(jié)果進(jìn)行合并,使網(wǎng)絡(luò)不需要對(duì)輸入圖像進(jìn)行裁切即可得到固定長度的輸出;文獻(xiàn)[4-7]提出的DeepLab系列模型將不同擴(kuò)張率的擴(kuò)張卷積作用于高層特征圖,在不降低其空間維度的前提下增大了感受野,避免了頻繁下采樣所導(dǎo)致的分辨率丟失,使網(wǎng)絡(luò)從多個(gè)尺度獲取圖像的上下文信息。
由于DeepLabv3+模型相對(duì)于其它模型在編碼器階段提取的特征圖具有更加豐富的語義特征,因此本文引入DeepLabv3+作為模型的編碼器模塊;同時(shí)為了實(shí)現(xiàn)更精準(zhǔn)的邊界分割效果,引入了PANet模型中的路徑聚合結(jié)構(gòu)作為解碼器以恢復(fù)物體形狀,在FPN的基礎(chǔ)上,通過構(gòu)建另一條自底向上的聚合路徑對(duì)FPN做了進(jìn)一步增強(qiáng)。
Figure 1 Structure of semantic image segmentation model圖1 圖像語義分割模型結(jié)構(gòu)
本文提出的圖像語義分割模型整體結(jié)構(gòu)如圖1所示。圖1a表示編碼器,本文采用DeepLabv3+中Xception[22]結(jié)構(gòu)與擴(kuò)張空間金字塔池化模塊(ASPP)作為編碼器,待分割圖像經(jīng)過編碼器會(huì)生成分辨率逐漸降低的特征圖像C2~C5,被逐層抽取的高層語義信息再經(jīng)過ASPP模塊即可得到不同擴(kuò)張率的特征圖像,其包含多尺度上下文信息。虛線框(1)表示特征金字塔網(wǎng)絡(luò)(FPN),F(xiàn)PN接受編碼過程中產(chǎn)生不同尺寸的特征圖,P5~P2表示由特征金字塔逐步使用最近鄰上采樣和橫向連接構(gòu)造產(chǎn)生的特征圖,特征金字塔網(wǎng)絡(luò)利用了來自不同特征層的信息。虛線框(2)為本文引入的PANet路徑聚合結(jié)構(gòu),其構(gòu)建方式為在FPN網(wǎng)絡(luò)的基礎(chǔ)上自底向上進(jìn)行聚合,縮短了低層信息傳播到高層的信息傳播路徑,使低層的信息更容易傳播到高層。N2~N5表示由特征金字塔層通過自底向上的路徑聚合結(jié)構(gòu)產(chǎn)生的特征層。在路徑聚合結(jié)構(gòu)之后,本文使用多尺度特征融合(虛線框(3))聚合來自不同特征層的特征進(jìn)行語義分割預(yù)測,該方法相較于文獻(xiàn)[10,20]的方法能更加充分地利用上下文信息。
相對(duì)于傳統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu),改進(jìn)的Xception結(jié)構(gòu)中所有的最大池化過程用帶步長的深度分離卷積替代,可以在獲得相當(dāng)性能的同時(shí)減少模型參數(shù)量和計(jì)算花費(fèi),該結(jié)構(gòu)結(jié)合了深度分離卷積與擴(kuò)張卷積,可有效提高分割準(zhǔn)確率。因此,本文引入了DeepLabv3+模型中改進(jìn)的Xception結(jié)構(gòu)(分離卷積)和擴(kuò)張空間金字塔(ASPP)作為編碼器對(duì)圖像進(jìn)行特征抽取。Xception結(jié)構(gòu)如圖2所示。
Figure 2 Xception structure in encoder model圖2 編碼器的Xception結(jié)構(gòu)
由圖2可知,Xception結(jié)構(gòu)由多組卷積與深度分離卷積組合而成。如圖2中“Conv 32,3×3,stride2”表示對(duì)輸入圖像采用32個(gè)3×3大小、步長為2的卷積核進(jìn)行卷積。 “Seq Conv”即表示深度分離卷積,其將一個(gè)普通卷積轉(zhuǎn)化為一個(gè)深度卷積(Depthwise Convolution)和一個(gè)1×1的卷積(Pointwise Convolution),在獲得相當(dāng)性能的同時(shí)極大減少了模型參數(shù)量和計(jì)算花費(fèi)。圖2中沒有標(biāo)明stride的卷積塊默認(rèn)步長為1?!?.5×”表示Xception結(jié)構(gòu)的一次下采樣過程,2次下采樣之間存在許多中間卷積層,3次下采樣過程可分別輸出分辨率依次減半的特征圖,每次下采樣之前的特征圖分別記為{C2,C3,C4},供后續(xù)模塊作為輸入使用。
Xception模塊輸出的最高層特征圖作為擴(kuò)張空間金字塔模塊(ASPP)的輸入,ASPP模塊結(jié)構(gòu)如圖3所示。ASPP模塊以Xception輸出的特征圖作為輸入,且平行地使用不同擴(kuò)張率的卷積核對(duì)輸入特征圖進(jìn)行卷積,獲得多尺度信息,然后將卷積得到的特征圖進(jìn)行特征融合,形成256通道的特征圖作為編碼器的最終輸出。
Figure 3 Structure of atrous spatial pyramid pooling圖3 擴(kuò)張空間金字塔池化
假定二維輸入特征圖x,i代表特征圖的像素坐標(biāo)編號(hào),卷積核為w,擴(kuò)張率為r,k代表卷積核的各個(gè)坐標(biāo)編號(hào),則擴(kuò)張卷積的輸出y如式(1)所示:
(1)
ASPP模塊的輸出由2部分構(gòu)成:(1)輸入圖像經(jīng)過1個(gè)1×1大小卷積核和3個(gè)擴(kuò)張率分別為6,12,18的3×3大小卷積核卷積后輸出的結(jié)果;(2)輸入圖像首先經(jīng)過全局平均池化,再經(jīng)過256個(gè)1×1大小卷積核卷積、批歸一化,然后通過雙線性上采樣增大特征圖尺寸,最后對(duì)2個(gè)部分的結(jié)果進(jìn)行拼接,并經(jīng)過1×1卷積降低通道數(shù),即可得到擴(kuò)張ASPP模塊的輸出C5。
本文在訓(xùn)練階段共進(jìn)行4次下采樣,則編碼器輸出特征圖尺寸為輸入圖像尺寸的1/16,擴(kuò)張空間金字塔的輸出即為編碼器輸出,輸出特征圖為256通道,包含豐富的語義信息。
圖像語義分割不僅需要依賴高層的語義信息對(duì)圖像中目標(biāo)做出類別推斷,還需要根據(jù)更細(xì)節(jié)的信息如目標(biāo)的紋理、色彩等低層特征定位出目標(biāo)的位置信息。因此,本文引入了特征金字塔(FPN)結(jié)構(gòu),可以同時(shí)利用高層特征圖和低層特征圖對(duì)物體進(jìn)行類別和位置預(yù)測。FPN結(jié)構(gòu)如圖4所示。
Figure 4 Structure of FPN圖4 FPN網(wǎng)絡(luò)結(jié)構(gòu)
FPN使用最高層的特征圖,通過自頂向下的上采樣與網(wǎng)絡(luò)卷積過程中產(chǎn)生的金字塔狀的特征層相結(jié)合,再與Xception主干網(wǎng)絡(luò)進(jìn)行橫向連接構(gòu)建了特征金字塔。由于特征金字塔包含圖像各個(gè)尺度的特征,因此能逐步獲得低層次的目標(biāo)位置和邊界信息。
FPN的構(gòu)建過程為:首先,對(duì)C5進(jìn)行1×1卷積得到低分辨率特征圖P5;然后進(jìn)行如下迭代:將Pi的2倍最近鄰上采樣結(jié)果與對(duì)應(yīng)的編碼器輸出特征圖Ci-1(其中Ci需經(jīng)過1×1卷積降低通道數(shù)目)進(jìn)行像素相加,再經(jīng)過3×3卷積減少上采樣過程的混疊效應(yīng)[20],得到Pi(i∈{4,3,2});最后輸出特征圖集合{P2,P3,P4,P5}。其中,所有卷積通道數(shù)量設(shè)為256。
由于低層特征層對(duì)邊界或者實(shí)例部分的強(qiáng)烈反應(yīng)可以作為準(zhǔn)確定位實(shí)例的指示器[23],因此將圖像的低層語義和位置等有效地在圖像分割網(wǎng)絡(luò)中進(jìn)行傳播非常重要,但是以PSPNet為代表的分割模型將低層信息傳播到高層往往需要經(jīng)過50~100層甚至更多(如圖1中連接待分割圖像和P5的虛線)。針對(duì)此問題,本文引入了PANet中的自底向上路徑聚合結(jié)構(gòu),極大縮短了由低層到最高層的信息傳播路徑,降低了網(wǎng)絡(luò)層數(shù),使得來自低層的信息更容易傳播到高層,如圖1中虛線框(2)所示。具體來說,即以FPN輸出的特征圖集合{P2,P3,P4,P5},通過逐步下采樣和橫向連接,構(gòu)建一條從低層到高層的簡潔路徑,層數(shù)少于10層,因此是一條“捷徑”(如圖1中連接待分割圖像和N5的虛線)。
自底向上的路徑聚合結(jié)構(gòu)構(gòu)建過程如下所示:
Figure 5 Building of bottom-up path augmentation圖5 自底向上路徑增強(qiáng)構(gòu)建方式
首先,對(duì)特征圖P2進(jìn)行復(fù)制得到最低層特征圖N2,然后以N2為起點(diǎn),進(jìn)行如下迭代:
將Ni(i∈{2,3,4})的0.5倍最近鄰下采樣結(jié)果與對(duì)應(yīng)的編碼器輸出特征圖Pi+1進(jìn)行像素相加操作,再經(jīng)過3×3卷積減少下采樣過程的混疊效應(yīng)[16],得到Ni+1(i∈{2,3,4}),此過程循環(huán)進(jìn)行直到生成N5;最后,輸出特征圖集合{N2,N3,N4,N5}。其中,所有卷積通道數(shù)量設(shè)為256,每個(gè)卷積層之后都跟隨一個(gè)ReLU(Rectified Linear Unit)層[24]。
PANet的實(shí)驗(yàn)結(jié)果表明,對(duì)于分割問題,特征的重要性并不是和它所屬的層級(jí)有非常強(qiáng)的對(duì)應(yīng)關(guān)系,高層的特征具有更大的感受野,擁有更豐富上下文信息,而低層的特征有準(zhǔn)確的細(xì)節(jié)和位置信息,不管物體本身大小,高層特征層和低層特征層都對(duì)物體的類別和位置的預(yù)測有積極的影響,所以融合使用卷積網(wǎng)絡(luò)中不同層級(jí)的特征圖來提升語義分割性能成為一種普遍做法。如FCN和U-Net分別使用了逐像素相加和特征維度的拼接2種不同的特征融合方式,這2種方式在性能表現(xiàn)上并無明顯差距。出于使用簡單考慮,本文使用逐像素相加的方式進(jìn)行特征融合。具體步驟如下:
將N5、N4和N3分別進(jìn)行8倍、4倍和2倍最近鄰上采樣,將其調(diào)整到與N2相同的尺寸,然后將上采樣的結(jié)果和N2進(jìn)行像素級(jí)別的最大值融合。融合后的特征圖經(jīng)過2次3×3卷積,并在第2次卷積時(shí)降低通道數(shù)至相應(yīng)數(shù)據(jù)集的類別數(shù)(本文實(shí)驗(yàn)中,PASCAL VOC2012Aug設(shè)置通道數(shù)21,Cityscapes設(shè)置通道數(shù)量19),再經(jīng)過一次2倍的最近鄰上采樣恢復(fù)至輸入圖像大小尺寸,最后生成的特征圖為整個(gè)網(wǎng)絡(luò)的輸出特征圖,即最后的分割預(yù)測結(jié)果。
逐像素的圖像語義分割[1]通常使用Softmax交叉熵?fù)p失函數(shù)來衡量預(yù)測結(jié)果與真實(shí)標(biāo)注之間的差異。Softmax訓(xùn)練的深度特征會(huì)將整個(gè)超空間按照分類個(gè)數(shù)進(jìn)行劃分,保證了類別可分,但主要問題是Softmax并不要求類內(nèi)緊湊和類間分離,對(duì)于外觀形態(tài)相似的類使用Softmax交叉熵在訓(xùn)練網(wǎng)絡(luò)時(shí)難以衡量出類間差異,導(dǎo)致網(wǎng)絡(luò)對(duì)相似物體區(qū)分能力下降。以四分類問題舉例,對(duì)于樣本標(biāo)簽為(1,0,0,0)的樣本,假設(shè)模型A給出的激活為a(6,5,2,2),模型B給出激活為b(3,1,1,1),2個(gè)激活經(jīng)過Softmax歸一化后分別得到Softmax(a)=(71.2%,26.2%,1.3%,1.3%)和Softmax(b)=(71.1%,9.6%,9.6%,9.6%)。對(duì)2個(gè)Softmax的輸出進(jìn)行交叉熵?fù)p失函數(shù)計(jì)算時(shí),模型A的損失為-lb 0.712,B的損失為-lb 0.711,模型A和模型B損失基本一致,但模型B的激活b有唯一的較高值,而模型A的激活a有多個(gè)較高值,相較于模型A的輸出的激活,模型B的激活更加魯棒,但所使用的Softmax交叉熵?fù)p失函數(shù)無法體現(xiàn)這一點(diǎn)。一個(gè)樸素的想法是增加2個(gè)激活對(duì)應(yīng)的損失差異。與普通交叉熵只計(jì)算單個(gè)位置的概率值不同,本文將激活進(jìn)行Softmax歸一化后產(chǎn)生的所有概率值都納入損失計(jì)算,方法如下:首先將Softmax產(chǎn)生的概率值與樣本標(biāo)簽進(jìn)行正常的交叉熵?fù)p失計(jì)算,然后將樣本標(biāo)簽與概率均進(jìn)行取反加1,再進(jìn)行一次交叉熵計(jì)算,最后將2部分的結(jié)果進(jìn)行相加形成最終的損失。這種損失計(jì)算方法的主要優(yōu)勢在于能體現(xiàn)出不同激活分布的差異性。
普通交叉熵?fù)p失計(jì)算公式如式(2)所示:
(2)
本文使用的雙向交叉熵?fù)p失公式如式(3)所示:
(3)
其中,yc表示長度為N的one-hot向量第c位的值,pc表示預(yù)測樣本屬于第c類的概率,N表示數(shù)據(jù)集的類別數(shù)。與一般使用的交叉熵?fù)p失函數(shù)相比,雙向交叉熵?fù)p失函數(shù)實(shí)際上是將更多通道的概率值納入計(jì)算。
本節(jié)在PASCAL VOC2012Aug[14,25]分割數(shù)據(jù)集和Cityscape[15]數(shù)據(jù)集上驗(yàn)證所提出的網(wǎng)絡(luò)結(jié)構(gòu)和雙向交叉熵函數(shù)。PASCAL VOC2012Aug是由Hariharan等[14]對(duì)PASCAL VOC2012[25]進(jìn)行了部分增強(qiáng)得來的。數(shù)據(jù)集包含20個(gè)前景類和1個(gè)背景類,每幅圖像都進(jìn)行了像素級(jí)別的類別標(biāo)注,共包含10 582(訓(xùn)練增強(qiáng)集)幅訓(xùn)練圖像,1 449幅驗(yàn)證圖像,1 456幅測試圖像。Cityscape[15]數(shù)據(jù)集包含5 000幅像素級(jí)注釋的圖像,分為18個(gè)前景類和1個(gè)背景類,其中2 975幅訓(xùn)練圖像,500幅驗(yàn)證圖像,1 525幅測試圖像。同DeepLabv3+一樣,本文使用PASCAL VOC2012增強(qiáng)驗(yàn)證集和Cityscape的驗(yàn)證集評(píng)價(jià)模型性能。
本文使用平均交并比mIoU和像素準(zhǔn)確度PA(Pixel Accuracy)來評(píng)價(jià)模型性能,2個(gè)評(píng)價(jià)指標(biāo)的計(jì)算方法分別如式(4)和式(5)所示:
(4)
(5)
其中,nij表示屬于第i類的像素被判斷屬于第j類像素的數(shù)量,ncl表示類別數(shù),ti=∑jnij表示屬于第i類的所有像素的數(shù)量。
本文基于TensorFlow框架實(shí)現(xiàn)提出的網(wǎng)絡(luò)結(jié)構(gòu),使用DeepLabv3+提供的Xception在COCO[26]和ImageNet[27]數(shù)據(jù)集上預(yù)訓(xùn)練模型初始編碼器部分,解碼器部分重新訓(xùn)練。本文使用和DeepLabv2、DeepLabv3相同的訓(xùn)練策略,圖像輸入尺寸(cropsize)設(shè)置為513×513,使用動(dòng)量梯度下降法,初始學(xué)習(xí)率設(shè)置為0.007,在訓(xùn)練時(shí)使用隨機(jī)剪裁的數(shù)據(jù)增強(qiáng),GPU使用4塊NVIDIA GTX1080Ti,Batchsize最大設(shè)置為16。每個(gè)對(duì)照實(shí)驗(yàn)迭代步數(shù)90 000次。
本文提出的圖像語義分割模型在PASCAL VOC2012Aug分割數(shù)據(jù)集上的表現(xiàn)如表1所示。
表1中,OS(Output Stride)表示輸入圖像尺寸與卷積過程中最小特征圖的尺寸比值,train_os表示訓(xùn)練期間的OS,eval_os表示驗(yàn)證使用的OS,COCO和ImageNet分別表示將模型編碼器在COCO和ImageNet數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,Cross entropy表示使用像素交叉熵?fù)p失函數(shù),Bi-Cross entropy表示使用本文提出的雙向交叉熵?fù)p失函數(shù)。PA表示像素準(zhǔn)確率。表1中第1行數(shù)據(jù)是在本文實(shí)驗(yàn)環(huán)境下對(duì)DeepLabv3+進(jìn)行復(fù)現(xiàn)的實(shí)驗(yàn)結(jié)果。在驗(yàn)證期間不使用多尺度輸入,訓(xùn)練期間不使用左右翻轉(zhuǎn)的增強(qiáng)。將第1行數(shù)據(jù)作為本文對(duì)比實(shí)驗(yàn)的基線,第2~8行數(shù)據(jù)表示本文依次將引入的路徑聚合結(jié)構(gòu)和雙向交叉熵函數(shù)作為控制變量的其他實(shí)驗(yàn)結(jié)果。
Table 1 Model performance on PASCAL VOC2012Aug validation set
表1中第5~8行數(shù)據(jù)是本文模型使用路徑聚合型解碼器的效果。本文使用FPN與自底向上的路徑聚合結(jié)構(gòu)作為解碼器,對(duì)比第1行的DeepLabv3+結(jié)果,分割精度最高提升了1.67%,提升來自于路徑聚合結(jié)構(gòu)對(duì)分割網(wǎng)絡(luò)2個(gè)方面的優(yōu)化。一個(gè)優(yōu)化是縮短了低層特征層到高層特征層信息的傳播路徑,另一個(gè)優(yōu)化是融合使用來自不同層級(jí)的特征層進(jìn)行最終的分割預(yù)測,增強(qiáng)了模型分割多種不同尺度物體的能力。
表1的第2、4、6、8行展示了使用雙向交叉熵?fù)p失函數(shù)的效果,雙向交叉熵?fù)p失函數(shù)將多個(gè)通道的預(yù)測值納入最終的損失中,能更加充分地利用前向傳播結(jié)果的信息。相比于單一使用普通的交叉熵?fù)p失函數(shù)(如式(2)),能更加充分利用前向傳播結(jié)果的所有通道的值,增強(qiáng)了模型的魯棒性,mIoU提升了0.68%~0.88%。
本文模型在Cityscapes分割數(shù)據(jù)集上的表現(xiàn)如表2所示。
Table 2 Model performance on Cityscapes validation set
本文在Cityscape數(shù)據(jù)集上實(shí)驗(yàn)了提出的解碼器結(jié)構(gòu)和雙向交叉熵?fù)p失函數(shù),結(jié)果如表2所示。從表2中可以看出,同時(shí)使用路徑聚合結(jié)構(gòu)和提出的雙向交叉熵?fù)p失函數(shù)將Cityscapes驗(yàn)證集上的mIoU從76.83%提升到78.66%(1.83%的提升)。
表3所示為DeepLab v3+與本文模型分別對(duì)相同圖像進(jìn)行分割的可視化效果。通過進(jìn)一步改進(jìn)DeepLabv3+使用的解碼器,本文所提模型在分割物體的邊界輪廓中表現(xiàn)更好,物體邊界有了更多的細(xì)節(jié),如PASCAL VOC數(shù)據(jù)集中細(xì)長的馬腿、桌腿等以及Cityscapes數(shù)據(jù)集中電線桿和樹干等狹長的物體。同時(shí),相較于DeepLabv3+,本文模型對(duì)于外觀相似的物體具有更好的區(qū)分能力,減少了像素分類誤差。此外,我們?cè)趯?shí)驗(yàn)過程中發(fā)現(xiàn)PASCAL VOC數(shù)據(jù)集存在部分標(biāo)注問題,比如公交車上透過玻璃可以看到人,人車重疊部分的像素點(diǎn)數(shù)據(jù)集被標(biāo)注為公交車,此時(shí)若分割網(wǎng)絡(luò)將該像素點(diǎn)標(biāo)記為人,就不能簡單判定該部分像素點(diǎn)判斷錯(cuò)誤。同樣,Cityscapes數(shù)據(jù)集中圖像下方的車頭有反光和倒影,倒影包含人(訓(xùn)練時(shí)類別號(hào)為11)、騎手(訓(xùn)練時(shí)類別為12)和植物(訓(xùn)練時(shí)類別9)等前景實(shí)體,數(shù)據(jù)集沒有對(duì)倒影做出適當(dāng)處理,在訓(xùn)練過程中車頭是個(gè)不小的噪聲。
Table 3 Visualization of results on validation set
本文在DeepLabv3+的基礎(chǔ)上,引入一個(gè)自底向上的路徑聚合結(jié)構(gòu)來增強(qiáng)圖像分割網(wǎng)絡(luò)解碼器部分的解碼效果,該解碼器極大地縮短了低層特征層信息到高層特征層的傳播路徑,使得低層精確的定位信息更容易傳播到高層,改善了物體邊界的分割效果;同時(shí),創(chuàng)新性地提出雙向交叉熵?fù)p失函數(shù),該損失函數(shù)增加了相似類的類間差距,使得網(wǎng)絡(luò)對(duì)相似物體有更好的區(qū)分能力,減少了像素分類錯(cuò)誤。與對(duì)比方法比較,本文方法具有更高的像素分類準(zhǔn)確率。