鄭 菲, 孟朝暉, 郭闖世
(河海大學(xué) 計算機(jī)與信息學(xué)院, 南京 211100)
圖像語義分割是機(jī)器視覺中圖像理解的重要一環(huán),其旨在通過一定的方法, 將圖像中的每個像素分為不同的語義類別, 得到不同的分割區(qū)域, 實(shí)現(xiàn)從底層到高層的推理過程, 最終獲得一幅具有像素語義標(biāo)注的圖像[1]. 準(zhǔn)確的圖像語義分割是實(shí)現(xiàn)諸多計算機(jī)視覺任務(wù)的基礎(chǔ), 如場景識別、場景理解和分析. 近年來, 隨著深度神經(jīng)網(wǎng)絡(luò)被引入到圖像語義分割任務(wù)中來, 該課題研究得到了快速發(fā)展. 應(yīng)用在自動駕駛領(lǐng)域, 如定位道路、車體和行人, 獲得物體輪廓信息等[2]; 在無人機(jī)領(lǐng)域, 如進(jìn)行落地點(diǎn)檢測、落地點(diǎn)場景識別等[3]; 還有在智能服務(wù)機(jī)器人、醫(yī)學(xué)圖像分析等領(lǐng)域中均取得了巨大的應(yīng)用成果.
在深度卷積網(wǎng)絡(luò)廣泛應(yīng)用到語義分割領(lǐng)域之前,圖像語義分割任務(wù)主要是根據(jù)圖像自身的低階視覺信息來進(jìn)行分割, 比如圖像的角點(diǎn)、邊緣和色彩等. 彼時的算法研究有簡單的像素級閾值法[4], 基于像素聚類的分割方法[5], 還有“圖割法”的分割方法. 其中 Shi等[6]提出的特征歸一化分割算法是著名的“圖割法”分割方法, 之后微軟劍橋?qū)W院[7]提出的Grab-cut也是著名的交互式圖像語義分割方法, 該方法利用圖像中的紋理信息和邊界信息, 盡可能減少了用戶交互操作而得到比較好的前景與背景的分割結(jié)果. 在計算機(jī)視覺步入深度學(xué)習(xí)時代之后, 以往的算法在復(fù)雜困難的分割任務(wù)中所面臨的難題, 如今也得到了很好的提升.
Long等[8]在2014年提出的全卷積神經(jīng)網(wǎng)絡(luò)(Fully Convolution Network, FCN), 是深度學(xué)習(xí)語義分割工作的開山之作. FCN是一個對整幅圖像進(jìn)行像素級密度預(yù)測[9](Pixelwise Dense Prediction)的端對端網(wǎng)絡(luò)模型,輸入任意尺寸的圖像可直接得到相應(yīng)的語義分割圖,F(xiàn)CN直接將傳統(tǒng)卷積網(wǎng)絡(luò)的全連接層替換為卷積層然后遷移到語義分割任務(wù)中, 通過跳轉(zhuǎn)結(jié)構(gòu)將深層的語義信息和淺層的位置信息進(jìn)行融合以達(dá)到精確的分割效果. 然而FCN在池化過程中會造成信息丟失, 所以Fishe等[10]提出將VGG網(wǎng)絡(luò)的最后兩個池化層去掉,然后將傳統(tǒng)的卷積層替換成擴(kuò)張卷積層(Dilated Convolution), 這就需要不同擴(kuò)張尺度的擴(kuò)張卷積層來保證網(wǎng)絡(luò)的感受野不受影響, 從而確保語義分割的準(zhǔn)確度. Chen等在語義分割工作中不斷改進(jìn)和實(shí)踐, 至今提出了多種版本的方案. 最初提出的DeepLab v1[11]和DeepLab v2[12]主要做了三個貢獻(xiàn), 首先用帶孔卷積(Atrous Convolution)實(shí)現(xiàn)逐像素的密度預(yù)測, 其次提出帶孔空間金字塔池化模型(Atrous Spatial Pyramid Pooling, ASPP)實(shí)現(xiàn)多尺度分割任務(wù), 第三是利用深度卷積網(wǎng)絡(luò)和概率圖模型相結(jié)合準(zhǔn)確定位物體邊緣.DeepLab v3[13]改進(jìn)了帶孔空間金字塔池化模型, 通過帶孔卷積級聯(lián)獲取多尺度的語義信息, 并且采用全連接條件隨機(jī)場(DenseCRF)的后處理操作對預(yù)測結(jié)果進(jìn)行優(yōu)化. DeepLab v3+[14]為了融合多尺度語義信息,引入編碼器-解碼器的架構(gòu), 并提出可任意控制編碼器提取特征的分辨率, 通過帶孔卷積來平衡精度與耗時.
經(jīng)典卷積網(wǎng)絡(luò) (AlexNet[15], VGG[16], GoogLeNet[17]等)中不同的卷積層提取出來的特征包括了從淺層到深層的多尺度特征信息, 且特征圖逐漸變小, 本文根據(jù)這一特性提出的算法主要思想包括兩個方面, 其一通過反卷積網(wǎng)絡(luò)將卷積網(wǎng)絡(luò)提取到的不同尺寸的特征圖放大到相同大小, 從而對多尺度特征信息進(jìn)行融合; 其二再對這些特征圖進(jìn)行最后的反卷積將其放大到原圖像的大小, 連接到Softmax分類器計算每個像素的損失函數(shù), 基于整幅圖像的損失函數(shù)反向訓(xùn)練網(wǎng)絡(luò). 并且本文提出一種新的數(shù)據(jù)處理方法, 批次中心化算法, 可以對輸入數(shù)據(jù)同時進(jìn)行激活和中心化操作, 有效提升網(wǎng)絡(luò)的收斂速度和算法的平均準(zhǔn)確率. 下面將闡述反卷積網(wǎng)絡(luò)的概念, 以及批次中心化算法, 并且詳細(xì)介紹本文算法和語義分割網(wǎng)絡(luò)結(jié)構(gòu), 以及實(shí)驗結(jié)果與分析.
2010年Zeiler等[18]提出利用反卷積網(wǎng)絡(luò)(Deconvolutional Networks)無監(jiān)督地學(xué)習(xí)圖片的中低層特征,操作的方向不再是從原圖片到特征圖, 而是從特征圖到圖片, 這里的反卷積就是卷積的前饋操作. 2011年Zeiler M D等[19]又提出新的反卷積網(wǎng)絡(luò)用來學(xué)習(xí)圖片的中高層特征, 不同于以往的是該反卷積網(wǎng)絡(luò)中加入了反池化(up-pooling)和反卷積(deconvolution).2013年Zeiler等[20]開始探究深度卷積網(wǎng)絡(luò)良好性能背后的原理, 他們想知道深度卷積網(wǎng)絡(luò)中每一個中間層的結(jié)果, 于是在每一層卷積后面接一個反卷積網(wǎng)絡(luò), 然后通過: 反池化——ReLU——反卷積的過程, 對卷積得到的特征圖進(jìn)行放大, 實(shí)現(xiàn)特征的可視化.
我們都知道池化起到下采樣的作用, 最大池化操作可以得到上一層輸出圖中的最大激活值來幫助分類,這一過程只保留了最大激活值而丟失了其余位置上的值, 因此池化是不可逆的. 但是反池化為了實(shí)現(xiàn)上采樣,可以做這樣的近似操作, 通過記錄最大池化過程中激活值的位置坐標(biāo), 然后在反池化的時候, 把池化過程中最大激活值所在位置上的值激活, 其他位置的值近似為0. 如圖1所示, 左邊是池化過程, 右邊是反池化過程.

圖1 反池化示意圖
卷積操作是將圖片經(jīng)過卷積后得到特征圖, 而反卷積操作剛好相反. 現(xiàn)假設(shè)輸入圖片為x, 特征圖為y,卷積操作可表示為y=Cx, 根據(jù)矩陣的運(yùn)算性質(zhì)可知,反卷積的過程則是x=CTy. 所以反卷積就是卷積操作在神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中正向和反向傳播的相反過程, 其實(shí)還是理論意義上的卷積操作, 只是為了突出其特性而稱作——反卷積. 采用卷積過程中轉(zhuǎn)置后的卷積核對特征圖進(jìn)行反卷積, 并且由于其相反于卷積操作的特性還可以將特征圖放大. 舉例說明:若輸入圖片尺寸為i、卷積核尺寸為k、步長為s、邊緣擴(kuò)充為p、輸出特征圖尺寸為o, 則卷積操作計算公式為:

現(xiàn)通過反卷積將特征圖還原到原圖像大小, 計算公式為:

反卷積示意圖如圖2所示.

圖2 反卷積示意圖
本文算法中將利用分層的反卷積網(wǎng)絡(luò)對特征圖進(jìn)行上采樣并學(xué)習(xí)特征, 最后將特征圖上采樣到原圖像的像素空間, 以便逐像素計算損失反饋到網(wǎng)絡(luò)中訓(xùn)練,對圖像的每一個像素進(jìn)行類別預(yù)測.
在訓(xùn)練過程中網(wǎng)絡(luò)的收斂速度跟輸入數(shù)據(jù)是有關(guān)的, 如果一組訓(xùn)練樣本具有較強(qiáng)的相關(guān)性, 則使訓(xùn)練網(wǎng)絡(luò)很容易收斂. Sergey Ioffe等[21]提出的批次歸一化算法 (Batch Normalize, BN), 主要是對每一層輸出的小批量數(shù)據(jù)進(jìn)行歸一化, 從而加快網(wǎng)絡(luò)收斂. BN算法將中心化和歸一化合并完成, 然后輸出采用ReLU激活函數(shù).
受BN算法的啟發(fā), 本文提出一種新的數(shù)據(jù)處理方法, 批次中心化算法 (Batch Centralization, BC).BC算法在訓(xùn)練時仍采用小批量數(shù)據(jù)(Mini-batch)處理的方式, 可以對輸入數(shù)據(jù)同時進(jìn)行激活和中心化操作. 針對一個有m個樣本的小批量數(shù)據(jù), 計算公式如公式(3)所示:

其中,μj是一個輸入樣本的均值, 其下標(biāo)表示上一層第j個神經(jīng)元,y(k)表示BC層處理后的輸出, 上標(biāo)表示第k個樣本,wj則是上一層第j個神經(jīng)元到該神經(jīng)元的權(quán)重.f(x)是Sigmoid型激活函數(shù), 用于對神經(jīng)元輸入的激活, 如公式(4)所示:

由于一般在使用Sigmoid函數(shù)對輸入值進(jìn)行激活后, 在神經(jīng)網(wǎng)絡(luò)梯度反向傳播時, 由于接近兩端的數(shù)據(jù)梯度較小而容易造成梯度消失. 所以提出在Sigmoid函數(shù)中加入敏感性強(qiáng)度參數(shù)α(α>0), 函數(shù)圖像如圖3所示.

圖3 Sigmoid函數(shù)
敏感性強(qiáng)度參數(shù)α對Sigmoid函數(shù)進(jìn)行橫向壓縮,由圖3中不同敏感性強(qiáng)度參數(shù)的對比可知,α值越大則中間部分的圖像越陡, 梯度越大, 則對中間區(qū)域的值越敏感. BC算法的思想就是首先按照公式(3)對輸入數(shù)據(jù)進(jìn)行中心化處理, 然后通過一個變型Sigmoid函數(shù)f(x)對中心化后的值激活. 使得有效數(shù)據(jù)盡可能集中在中心區(qū)域, 這就保證了中心化后的數(shù)據(jù)具有較大的梯度, 在一定程度上避免了在反向傳播過程中梯度減小進(jìn)而出現(xiàn)梯度消失的情況.
我們都知道對于一個深層卷積網(wǎng)絡(luò), 其最初一兩層學(xué)習(xí)到的基本上是顏色、邊緣等低層特征; 再往后就開始學(xué)習(xí)稍微復(fù)雜的特征, 比如紋理、線條等這些比較有區(qū)別性的特征; 更深層次的網(wǎng)絡(luò)學(xué)習(xí)的特征就更加完整, 具有明顯的辨別性特征, 比如物體的輪廓以及顯著的位置信息.
圖像中的語義信息和物體位置信息是以非線性金字塔的形式進(jìn)行編碼的, 然后作為圖像的淺層和深層特征. 語義分割任務(wù)中, 圖像的語義信息和圖像中物體的位置信息存在一種關(guān)系: 全局語義信息解決的是“是什么”的問題, 而局部位置信息解決的是“在哪里”的問題. 如圖4左邊的特征金字塔所示. 想要對圖像進(jìn)行準(zhǔn)確的語義分割, “在哪里”和“是什么”顯然是問題的關(guān)鍵, 如何將二者結(jié)合也是該領(lǐng)域一直在探索的話題. 所以在語義分割網(wǎng)絡(luò)中, 不僅要提取圖像的淺層特征, 還要提取深層特征, 將這些多尺度特征進(jìn)行融合進(jìn)而對圖像的每個像素準(zhǔn)確分類.
本文算法提出, 將淺層卷積、深層卷積以及更深層卷積提取到的多尺度特征分別通過相應(yīng)的反卷積進(jìn)行融合, 如圖4所示. 這里之所以要使用反卷積, 是因為卷積和池化過程中會使特征圖變小, 并且卷積層數(shù)越多特征圖越小, 為了方便融合需要將不同尺度的特征圖統(tǒng)一上采樣到相同尺寸, 還要保證盡可能少的丟失特征信息.

圖4 多尺度特征融合
在3.1小節(jié)中詳細(xì)介紹了本文算法是如何進(jìn)行多尺度特征融合的, 下面介紹整個反卷積特征學(xué)習(xí)網(wǎng)絡(luò)的結(jié)構(gòu), 闡明該網(wǎng)絡(luò)結(jié)構(gòu)是如何實(shí)現(xiàn)圖像語義分割的.
目前的深度卷積網(wǎng)絡(luò), 如 A l e x N e t[15]、GoogLeNet[17]、VGG[16]以及 ResNet[22]等, 通過不斷加深的卷積網(wǎng)絡(luò)結(jié)構(gòu)能夠更好地學(xué)習(xí)圖像中的特征, 根據(jù)每年ILSVRC挑戰(zhàn)賽的結(jié)果可知, 網(wǎng)絡(luò)結(jié)構(gòu)層次越深往往分類的準(zhǔn)確率越高. 這就說明卷積網(wǎng)絡(luò)學(xué)習(xí)圖像特征的本領(lǐng)已經(jīng)非常強(qiáng)大了, 那么如何將這些用于分類的卷積網(wǎng)絡(luò)的本領(lǐng)發(fā)揮到圖像語義分割任務(wù)中來,就需要充分理解語義分割任務(wù)和分類任務(wù)的區(qū)別.
以往的分類識別任務(wù)是對圖像進(jìn)行特征提取, 將特征學(xué)習(xí)的結(jié)果送入分類器中, 最后得到標(biāo)簽TOP5的概率得分以此判斷圖像所屬類別. 而在語義分割任務(wù)中需要通過特征學(xué)習(xí)來預(yù)測每個像素所屬的類別,得到一副具有像素語義標(biāo)注的圖像. 因此語義分割任務(wù)中需要計算每個像素的損失函數(shù), 對圖像進(jìn)行逐像素的密度預(yù)測. 而在卷積網(wǎng)絡(luò)提取特征的過程中, 卷積和池化操作改變了原圖像的尺寸, 為了完成逐像素預(yù)測就要將特征圖放大到原圖像的像素空間.
Long等[8]提出的全卷積神經(jīng)網(wǎng)絡(luò), 是在第7層卷積之后添加一層1×1卷積核的、通道數(shù)為21的卷積來預(yù)測特征圖每個像素位置上粗糙的分類得分, 后面緊跟一個反卷積層用來將這個粗糙的預(yù)測得分雙線性上采樣到原圖像的像素密度預(yù)測. 顯然這種只通過一層反卷積就簡單粗暴地將最后的特征圖上采樣到原圖像的像素空間, 丟失了許多特征信息, 這對最后的像素級密度預(yù)測非常不利. 而本文算法提出將每一步卷積和池化的過程都逐步反向操作來實(shí)現(xiàn)上采樣, 逐步還原特征圖中的信息, 減少特征信息的丟失.
下面介紹本文反卷積特征學(xué)習(xí)的語義分割網(wǎng)絡(luò),示意圖如圖5所示. 第2節(jié)所介紹的批次中心化算法(BC), 是對數(shù)據(jù)同時進(jìn)行中心化和激活操作, 其作用就相當(dāng)于經(jīng)典分類卷積網(wǎng)絡(luò)中的ReLU激活層和歸一化層.本文算法將卷積網(wǎng)絡(luò)中的激活層和歸一化層替換為BC層, 其可行性和優(yōu)越性將在第4節(jié)實(shí)驗中進(jìn)行驗證.
本文的語義分割網(wǎng)絡(luò)輸入的原圖像尺寸為H×W,其后融合了第三層卷積后的特征圖、第四層卷積后的特征圖和最后一層卷積的特征圖, 實(shí)現(xiàn)了將圖像中淺層到深層的多尺度特征進(jìn)行融合. 圖5中Conv1-11-96表示第一層11×11的卷積核、通道數(shù)96的卷積操作,Maxpool1-3-96表示第一層3×3的窗口、通道數(shù)為96的最大池化. 而我們都知道卷積和池化操作會改變圖像的尺寸, 尤其在本文算法中需要融合不同尺寸的特征圖, 為了方便特征融合, 可以先分別將每一層的特征圖經(jīng)過反卷積層上采樣到相同尺寸, 再進(jìn)行融合.

圖5 網(wǎng)絡(luò)結(jié)構(gòu)
這里反卷積網(wǎng)絡(luò)采用反池化-反激活-反卷積的操作順序. 本文中的反池化操作采用文獻(xiàn)[19,20]中提出的方法. 對于反激活, 在卷積網(wǎng)絡(luò)中激活函數(shù)是用于保證每層輸出的激活值都是正數(shù), 那么對于反卷積過程我們依然需要保證每層特征圖為正值, 因此這個反激活其實(shí)跟激活沒有區(qū)別, 依然采用我們之前的BC層.而反卷積操作中的所有參數(shù)都要參與訓(xùn)練, 以達(dá)到特征學(xué)習(xí)的目的. 圖5中Uppool1-3-21表示第一層3×3的窗口、通道數(shù)21的反池化操作, Deconv1-5-21表示第一層5×5的卷積核、通道數(shù)21的反卷積操作. 本文卷積-反卷積的網(wǎng)絡(luò)結(jié)構(gòu)是根據(jù)編碼器-解碼器原理設(shè)計的, 所以算法中添加的反卷積網(wǎng)絡(luò)是根據(jù)前面特征提取過程中卷積和池化操作來設(shè)計的, 這里可以理解為“鏡像原理”, 前面一組卷積和池化對應(yīng)于后面的一組反池化和反卷積, 逐漸將特征圖放大到原圖大小. 這樣一來可以更大程度上減少特征信息的損失,二來反卷積網(wǎng)絡(luò)也要進(jìn)行特征學(xué)習(xí), 幫助更精確地完成分割.
融合后再接一層反卷積網(wǎng)絡(luò), 將特征圖還原到原圖大小, 這里設(shè)計成21通道是對應(yīng)數(shù)據(jù)集PASCAL VOC的21類語義標(biāo)簽. 最后將21張?zhí)卣鲌D中每個對應(yīng)位置的像素值送入Softmax層進(jìn)行語義類別的預(yù)測,利用預(yù)測結(jié)果和標(biāo)簽計算最終的損失函數(shù). 如公式(5)所示:

上式表示圖像中一個像素點(diǎn)的損失計算. 其中,1{·}是示性函數(shù). 針對一個有m個樣本的小批量數(shù)據(jù)集,x={x(1),x(2),…,x(m)}, 原圖像經(jīng)過上述語義分割網(wǎng)絡(luò)的處理, 得到對圖像中每個像素的預(yù)測, 結(jié)果為Ph,w(x(i)|θ), 下標(biāo)h,w表示圖像中 (h,w)的位置,θ表示網(wǎng)絡(luò)中的參數(shù)向量.yk表示語義標(biāo)簽的第k類.λ表示正則項的超參數(shù).
由公式(5)可以推出最終整幅圖像的損失計算如公式(6)所示:

本文實(shí)驗?zāi)康闹饕袃蓚€, 其一是驗證所提出的批次中心化(BC)在本文算法中的可行性和優(yōu)越性. 其二主要評估本文算法在SIFT Flow和PASCAL VOC2012兩個數(shù)據(jù)集上的性能表現(xiàn), 以及與其他算法的對比實(shí)驗結(jié)果.
本節(jié)實(shí)驗所使用到的數(shù)據(jù)集有PASCAL VOC2012和SIFT-Flow.
(1) Pascal VOC 2012
PASCAL VOC挑戰(zhàn)賽是視覺對象的分類識別和檢測的一個基準(zhǔn)測試, 提供了檢測算法和學(xué)習(xí)性能的標(biāo)準(zhǔn)圖像注釋數(shù)據(jù)集和標(biāo)準(zhǔn)的評估系統(tǒng). PASCAL VOC數(shù)據(jù)集包括20個對象.
所有的標(biāo)注圖片都有物體檢測需要的標(biāo)簽, 但只有部分圖片有圖像分割的標(biāo)簽. 對于物體檢測任務(wù),VOC2012的訓(xùn)練集、驗證集和測試集包含VOC2008-VOC2011的所有對應(yīng)圖片; 對于圖像分割任務(wù), VOC2012的訓(xùn)練集和驗證集包含VOC2007-VOC2011的所有圖片, 測試集只包含VOC2008-VOC2011. 對于分割任務(wù)的標(biāo)簽有兩個部分, 其一是語義分割(Semantic Segmentation)標(biāo)注出每一個像素的類別, 如圖6(b)所示; 其二是實(shí)例分割(Instance Segmentation)標(biāo)注出每一個像素屬于哪一個對象如圖6(c)所示.

圖6 PASCAL VOC數(shù)據(jù)集
本文所研究的語義分割屬于第一種類別分割, 通過本文算法提出的網(wǎng)絡(luò)對每個像素進(jìn)行類別預(yù)測.
(2) SIFT-Flow數(shù)據(jù)集
SIFT-Flow數(shù)據(jù)集中包含2688張圖片, 是針對森林、城市街景、道路、建筑物等室外場景, 其中包含語義分割和幾何分割兩種標(biāo)簽. 語義分割的標(biāo)簽0表示背景、1~33表示33種類別, 幾何分割的標(biāo)簽-1表示背景、1-3分別表示天空、水平和垂直. 如圖7所示, 該數(shù)據(jù)集中對應(yīng)原圖像的每個像素在語義標(biāo)簽中是用數(shù)字表示的, 28表示天空, 6表示建筑, 要通過Matlab將標(biāo)簽圖顯示出來.
本實(shí)驗首先討論批次中心化算法(BC)中, Sigmoid函數(shù)的敏感性強(qiáng)度參數(shù)α的設(shè)置對最終準(zhǔn)確率的影響.選取α=1開始, 以0.25的步長進(jìn)行多次實(shí)驗, 在PASCAL VOC2012數(shù)據(jù)集上的結(jié)果如圖8所示.

圖7 SIFT-Flow數(shù)據(jù)集

圖8 α取值對準(zhǔn)確率的影響
由圖 8 可知,α=3.75 時本文算法的準(zhǔn)確率最優(yōu), 因此下面所有的實(shí)驗中α取值均為3.75.
下面驗證批量中心化(BC)算法在本文網(wǎng)絡(luò)模型中的性能. 在SIFT-Flow和PASCAL VOC2012兩個數(shù)據(jù)集上, 首先將網(wǎng)絡(luò)結(jié)構(gòu)中的激活層和歸一化層采用ReLU和BN進(jìn)行訓(xùn)練, 再將網(wǎng)絡(luò)結(jié)構(gòu)中的ReLU和BN用一層BC來代替進(jìn)行訓(xùn)練. 最終測試結(jié)果如表1所示.
表1中給出了是否使用BC算法對本文語義分割算法最終的平均準(zhǔn)確率, 明顯得到使用BC算法的準(zhǔn)確率更高, 網(wǎng)絡(luò)結(jié)構(gòu)的性能更好.

表1 BC算法驗證結(jié)果
本節(jié)主要評估本文算法在SIFT-Flow和PASCAL VOC2012兩個數(shù)據(jù)集上的性能表現(xiàn), 以及與其他算法的對比實(shí)驗結(jié)果.
首先在數(shù)據(jù)集SIFT-Flow上進(jìn)行對比實(shí)驗, 因為該數(shù)據(jù)集包含了語義分割和幾何分割兩種標(biāo)簽, 所以我們在這兩種任務(wù)上獨(dú)立訓(xùn)練本文的模型. 將整個數(shù)據(jù)集分為訓(xùn)練集、驗證集和測試集, 訓(xùn)練集包含1612張圖片, 驗證集包含806張圖片, 測試集包含270張圖片. 使用Caffe框架實(shí)現(xiàn)圖5的網(wǎng)絡(luò)結(jié)構(gòu), 整個網(wǎng)絡(luò)是端對端的結(jié)構(gòu), 在數(shù)據(jù)集SIFT-Flow中圖片尺寸均是256×256, 輸入到網(wǎng)絡(luò)中進(jìn)行訓(xùn)練. 訓(xùn)練中使用了小批量隨機(jī)梯度下降(Mini-Batch Gradient Descent, MBGD)算法, 調(diào)整學(xué)習(xí)率為 1×10-1, 正則項的超參數(shù)λ設(shè)置為0.0005, 沖量(momentum)設(shè)置為0.99, batch 大小設(shè)置為 5, 迭代訓(xùn)練 150 000 次. 在相同數(shù)據(jù)集上和Liu等[23]的算法、Tighe等[24,25]的算法、Farabet等[26]的算法以及Long等[8]提出的FCN-16s進(jìn)行對比, 對最終的結(jié)果進(jìn)行分析, 如表2所示.

表2 SIFT-Flow上實(shí)驗結(jié)果對比
SIFT-Flow上的語義分割(中間部分)和幾何分割(右邊部分)的實(shí)驗結(jié)果是獨(dú)立的. 其中Pixel acc.指語義分割的像素準(zhǔn)確率, Mean acc.指平均準(zhǔn)確率, Mean IoU指的是不同語義類別識別準(zhǔn)確度的平均值, Geom acc.指幾何分割的像素準(zhǔn)確率. 可以看出本文算法在語義分割上的像素準(zhǔn)確率達(dá)到88.3%, 幾何分割上的像素準(zhǔn)確率達(dá)到96.8%, 表現(xiàn)較好.
下面在PASCAL VOC2012數(shù)據(jù)集上進(jìn)行實(shí)驗, 選取1747張訓(xùn)練集、874張驗證集以及1165張測試集.使用Caffe框架實(shí)現(xiàn)圖5的網(wǎng)絡(luò)結(jié)構(gòu), 先將所有圖片統(tǒng)一縮放到500×500, 輸入到網(wǎng)絡(luò)中進(jìn)行訓(xùn)練. 訓(xùn)練中仍采用小批量隨機(jī)梯度下降算法, 學(xué)習(xí)率、超參數(shù)、沖量、batch大小以及迭代次數(shù)分別設(shè)置為1×10-2、0.0005、0.9、5、150 000. 并且和 FCN-8s[8]、DeepLab v1[11]、DeconvNet[27]三種語義分割網(wǎng)絡(luò)進(jìn)行對比. 在PASCAL VOC2012數(shù)據(jù)集上各種類別的準(zhǔn)確率和平均準(zhǔn)確率的結(jié)果對比分析如表3所示.
表3中列出了PASCAL VOC2012中20種語義類別和背景(bkg), 觀察得到本文算法在大部分語義類別上的準(zhǔn)確率表現(xiàn)較好, 并且平均準(zhǔn)確率達(dá)到73.5%相比其他算法也有一定的提高. 現(xiàn)選取FCN-8s、DeepLab v1和本文算法在部分測試集上的語義分割圖作對比, 如圖9所示, 其中最右側(cè)是語義分割標(biāo)簽圖. 可見本文算法分割結(jié)果更好, 物體邊緣分割更明顯.

表3 PASCAL VOC2012上實(shí)驗結(jié)果對比

圖9 語義分割對比實(shí)驗結(jié)果
本文提出了一種新的圖像語義分割算法, 首先融合卷積網(wǎng)絡(luò)中的多尺度特征信息, 再通過反卷積網(wǎng)絡(luò)將融合后的特征圖放大到原圖像大小, 最后對圖像的每個像素點(diǎn)進(jìn)行密度預(yù)測. 本文提出的批次中心化算法在網(wǎng)絡(luò)中表現(xiàn)也較好, 在SIFT-Flow數(shù)據(jù)集上語義分割的平均準(zhǔn)確率達(dá)到45.2%, 幾何分割的準(zhǔn)確率達(dá)到96.8%, 在PASCAL數(shù)據(jù)集上的平均準(zhǔn)確率達(dá)到73.5%. 當(dāng)前語義分割任務(wù)的實(shí)時性是一個亟待解決的問題, 本文語義分割網(wǎng)絡(luò)需要進(jìn)一步優(yōu)化和提升, 在保證分割準(zhǔn)確率的同時提升速度.