王漢譜,劉志豪,谷旭軒,廖建英,賀志強,涂 兵,彭怡書
(湖南理工學院 a.信息科學與工程學院;b.機器視覺與人工智能研究中心,湖南 岳陽 414006)
圖像語義分割是計算機視覺領(lǐng)域的一個重要研究課題,它利用圖像中的語義信息對每一個像素進行分類,是一種高階圖像處理任務(wù),廣泛應(yīng)用于自動駕駛[1]、地理信息系統(tǒng)[2]、智能醫(yī)療影像分析[3]等領(lǐng)域。傳統(tǒng)圖像語義分割方法是根據(jù)圖像色彩、幾何形狀、灰度值等特征,把圖像劃分為多個互補相交的區(qū)域,將目標與背景分類,主要包括基于邊緣分割[4]、閾值分割[5]、圖論分割[6]、聚類分割[7]等。Alex等[8]提出的AlexNet網(wǎng)絡(luò)在ImageNet大賽上取得優(yōu)異成績后,基于深度學習的方法大幅提升了語義分割性能,全卷積神經(jīng)網(wǎng)絡(luò)(Fully Convolutional Networks,F(xiàn)CN)[9]通過不斷地卷積和池化操作對圖片進行特征提取,再利用反卷積層對最后一層特征圖進行上采樣,恢復(fù)到原來的分辨率,從而實現(xiàn)像素級分類。然而,數(shù)據(jù)集中一般都存在許多小目標和稀少樣本類,這些難以學習特征的樣本,邊緣細節(jié)分割困難,盡管FCN增強了物體的分類能力,但是圖片空間分辨率的降低也導致了對小目標不敏感和邊緣信息丟失。
為解決上述問題,在前端處理方面可以通過對樣本重采樣來改善原始數(shù)據(jù)集使類別達到平衡[10],但是,根據(jù)先驗知識處理數(shù)據(jù)集使其達到平衡不僅耗時,且在后驗信息的度量下,會出現(xiàn)不均勻性。通過修改損失函數(shù)來加強對困難樣本特征的學習是一類常用的方法,黃慶康等[11]采用一種動態(tài)學習損失函數(shù)的方式,使得小批量內(nèi)各類樣本的損失值得到均衡;楊威等[12]將改進后的Focal Loss作為新的損失函數(shù),緩解了城市景觀數(shù)據(jù)集中樣本不均衡問題。還有一類方法是通過特征融合來提升語義分割的性能,U-Net[13]將預(yù)先訓練好的主干卷積模型的低級和高級特征結(jié)合起來以提高語義分割的性能;深度卷積網(wǎng)絡(luò)(Dense Convolutional Networks,DenseNet)[14]則是實現(xiàn)了各層特征圖的重用來提升語義分割的性能;ExFuse網(wǎng)絡(luò)[15]在高級特征中引入更多的空間分辨率信息來增強小目標和邊緣分割。但是,簡單的特征融合并不能很好地保護小目標的語義信息,因為在特征融合時,高層特征的通道數(shù)遠遠大于低層特征的通道數(shù),使得高層特征在特征融合時起著主導作用。DeepLabv3網(wǎng)絡(luò)[16]將語義分割的性能提升到一個新的高度,本文利用該網(wǎng)絡(luò)獲得多尺度信息的基礎(chǔ)上,將Focal Loss引入替換原來的交叉熵損失函數(shù)來加強邊緣像素點的特征學習,為了進一步提升小目標語義分割的性能,利用GPB/OWT/UCM[17]得到超像素塊,使得小目標的語義信息僅由低層特征單獨決定,從而優(yōu)化小目標和邊緣細節(jié)的分割,最終通過實驗證實該方法能夠進一步提升語義分割的性能。
本節(jié)從稀少樣本類和小目標2個方面考慮樣本不均衡問題。首先描述DeepLabv3網(wǎng)絡(luò)結(jié)構(gòu),接著引入Focal Loss并對該損失函數(shù)如何加強困難樣本特征的學習進行闡述,最后使用GPB/OWT/UCM所得超像素塊作為監(jiān)督,使小目標區(qū)域的語義信息僅由低等級特征去單獨決定,從而進一步優(yōu)化小目標分割,并最終進一步提升語義分割的性能。
DeepLabv3網(wǎng)絡(luò)如圖1所示,這是一個典型的編碼器-解碼器結(jié)構(gòu)。其中編碼器由Backbone和空洞空間金字塔池化(Atrous Spatial Pyramid Pooling,ASPP)模塊2部分組成。在編碼端,使用Resnet101[18]殘差網(wǎng)絡(luò)模型作為Backbone來進行特征提取,首先對輸入圖片進行16倍下采樣,得到特征圖(黃顏色塊表示),該特征圖經(jīng)過ASPP模塊,進一步提取到多尺度特征圖(不同顏色塊表示);在解碼端,多尺度特征圖通過連接和1×1卷積處理得到特征圖(綠顏色塊),該特征圖與Backbone下采樣通道數(shù)相同,然后通過上采樣將所得特征圖恢復(fù)到原來圖像的大小,最后經(jīng)過分類器獲得最終的語義分割結(jié)果。
圖1 DeepLabv3網(wǎng)絡(luò)結(jié)構(gòu)
Resnet101網(wǎng)絡(luò)由多個殘差塊組成,除激活層和Pooling層外,網(wǎng)絡(luò)共含101個卷積層,其網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)如表1所示。
表1 Resnet101結(jié)構(gòu)參數(shù)
在實際訓練時,把表1中的全連接層丟棄,將結(jié)果輸入到空間金字塔空洞池化模塊,所得特征圖通過上采樣恢復(fù)到原圖分辨率大小。
ASPP模塊是由1個1×1卷積、3個3×3采樣率為rates={6,12,18}的空洞卷積[19]和1個全局平均池化層組成??斩淳矸e解決了由于下采樣導致圖像分辨率降低、細節(jié)丟失信息的問題,且與VGG[20]網(wǎng)絡(luò)中使用小卷積核疊加,線性增加感受野相比,空洞卷積可以實現(xiàn)指數(shù)級增大感受野;全局平均池化模塊則是獲取全局上下文信息。輸入特征圖經(jīng)過ASPP模塊,在不降低圖像空間分辨率的同時提取到多尺度信息。不同空洞率的空洞卷積如圖2所示,紅點代表卷積操作后所得有效元素,藍點填充部分代表中間紅點處感受野的大小。
(a)空洞率為1
Focal Loss最初是在目標檢測中提出,用于解決訓練過程中正負樣本候選框極其不平衡問題[21]。其中Focal Loss的公式為:
(1)
式中:σ和γ為超參數(shù);pt是標簽預(yù)測概率。
語義分割對應(yīng)類別較多,預(yù)測結(jié)果多為2類之間較為相近的情況,其像素點對應(yīng)的標簽概率多為0.3~0.5,解碼器在最后一層上采樣使用雙線性插值法,其預(yù)測結(jié)果也會在空間相近的2個類之間。在后續(xù)的研究中,依據(jù)楊威等[12]在Cityscapes數(shù)據(jù)集上Focal Loss權(quán)重參數(shù)的設(shè)置,Pascal Voc 2012數(shù)據(jù)集與Cityscapes數(shù)據(jù)集類似,本文通過對原來的交叉熵損失值加上權(quán)重,同樣設(shè)置σ=2,γ=0.5來加強對困難樣本特征的學習。
采用全局邊界概率(Global Probability of Boundary,GPB)算法計算每一個像素作為邊界的可能性,即像素作為邊界的權(quán)重;定向分水嶺變換(Oriented Watershed Transform,OWT)對傳統(tǒng)分水嶺算法進行改進,將不連續(xù)的邊界圖連接成具有完整邊界的超像素分割圖,每條邊都賦予表示重要性的權(quán)重;最后采用超度量輪廓圖(Ultrametric Contour Map,UCM)算法,通過設(shè)置不同的閾值Q,實現(xiàn)對區(qū)域貪心合并,使得分割塊大致變成可以用語義去標志的區(qū)域,分割結(jié)果如圖3所示。
(a)原圖
本文使用UCM所得超像素塊圖作為監(jiān)督,先對每個超像素塊進行標號,若像素塊的面積小于給定閾值T時,則用1表示,否則用0表示,記為監(jiān)督圖U。FL是DeepLabv3網(wǎng)絡(luò)中Backbone所得特征圖經(jīng)過上采樣所得結(jié)果,F(xiàn)H是ASPP模塊所得特征圖上采樣所得結(jié)果,則最后融合特征圖可通過式(2)計算:
FFused=FL⊙U+FH⊙(1-U)。
(2)
式中:⊙代表每個特征與監(jiān)督信號的乘積;FFused是最后所得特征圖。將融合特征圖送入分類器,確定每個像素具體類別,這樣使得小目標區(qū)域的語義信息僅由低等級特征去決定,從而進一步優(yōu)化小目標分割。
在Linux下,GNU Octave作為GPB/UCM/OWT算法的編譯和運行環(huán)境,得到數(shù)據(jù)集圖片對應(yīng)的超像素圖;在Windows下使用Mxnet框架搭建深度學習網(wǎng)絡(luò)模型,并且在2塊GTX 1080Ti上運行改進的DeepLabv3網(wǎng)絡(luò)結(jié)構(gòu)。
本文使用的數(shù)據(jù)集為PASCAL VOC 2012[22],該數(shù)據(jù)集圖片分為20類,包括背景類共21類。這些圖片被分為訓練集、測試集、驗證集、增強數(shù)據(jù)集。增強數(shù)據(jù)集用于對模型進行預(yù)訓練。一共有1 464張高質(zhì)量像素級標注的圖片用于訓練。在訓練數(shù)據(jù)集上對圖片進行隨機裁剪,裁剪尺寸大小為320×480,然后對其進行歸一化操作,最后在驗證集上計算均交并比(Mean Intersection over Union,MIoU)來驗證本文所提出的網(wǎng)絡(luò)模型分割效果。
使用隨機梯度下降算法進行訓練,批量大小設(shè)置為8,迭代次數(shù)為30×103,學習率為10-3,權(quán)重衰減為10-4;UCM算法中閾值Q取0.9;低等級特征替換的閾值T為32×32。
為了評價本文網(wǎng)絡(luò)模型的語義分割效果,對實驗結(jié)果從主觀和客觀評價2個角度進行分析。主觀評價中,主要是語義分割結(jié)果小目標可視化和稀少樣本邊緣分割情況,客觀評價中,使用MIoU作為評價指標,定義為真實值(ground truth)和預(yù)測值(predicted segmentation)的交集和并集之比:
(3)
式中:k表示前景類別個數(shù);pij表示真實值為i,被預(yù)測為j的數(shù)量。
本文在沒有MS-COCO數(shù)據(jù)集預(yù)訓練和條件隨機場(Conditional Random Field,CRF)等后處理的情況下與其他語義分割方法進行對比。如表2所示,以VGG16作為編碼器結(jié)構(gòu),通過逐層跳躍連接恢復(fù)對象邊緣細節(jié)信息的經(jīng)典FCN網(wǎng)絡(luò),在Pascal VOC 2012驗證數(shù)據(jù)集上MIoU值取得了56.00%,至此,傳統(tǒng)語義分割方法再也無法與其比較。DeepLabV2中引入空洞卷積,在不降低特征圖分辨率的情況下擴大了感受野,MIoU值升至75.20%;MobileNetv2網(wǎng)絡(luò)中使用了深度可分離卷積,在保持精度的同時提升了語義分割的速度;在單DeepLabv3網(wǎng)絡(luò)中,MIoU值為79.52%,通過Focal Loss替換原來交叉熵損失函數(shù)后,MIoU值升為79.64%。而本文所提出的方法獲得MIoU值為80.23%,進一步提升了0.59%,并且優(yōu)于CRF-RNN、MobileNetV2、FastDenseNasarch-0等其他方法。
表2 與其他模型MIoU值的比較 %
圖4為分割結(jié)果MIoU值較高的DeepLabv3,DeepLabv3+Focal Loss以及本文方法在PASCALVOC 2012驗證數(shù)據(jù)集上的可視化結(jié)果圖。以第一行飛機目標為例,相比于原始的DeepLabv3網(wǎng)絡(luò),本文方法優(yōu)化了如紅顏色框圈起的飛機機翼部分的分割,對于像牛這種稀少樣本類邊緣細節(jié)分割也有一些改善,而人這種大類目標也不會降低其分割效果。
(a)RGB圖像 (b)DeepLabv3 (c)DeepLabv3+Focal Los (d)本文方法 (e)標簽
本文針對語義分割樣本不均衡導致的小目標和邊緣分割困難的問題,提出了一種基于DeepLabv3網(wǎng)絡(luò)結(jié)構(gòu)的語義分割模型。該模型以DeepLabv3為基本框架,首先,使用Focal Loss損失函數(shù)替換原來的交叉熵損失函數(shù),加強對小目標和邊緣特征的學習;然后引入GPB/OWT/UCM模塊,細化邊緣分割,提升分割精度,實驗結(jié)果表明本文分割方法能夠獲得較高的語義分割精度。但是,由于無法考慮單個像素與全局像素之間的關(guān)系,會導致分割錯誤的情況發(fā)生,下一步將會著重研究注意力機制,考慮單個像素點與全局關(guān)系以減少錯分情況,提高分割準確度。