肖朝霞 陳勝
摘要:圖像語義分割作為AI領(lǐng)域的重要分支,是計(jì)算機(jī)視覺技術(shù)中的重要環(huán)節(jié),同時(shí)也是深度學(xué)習(xí)算法的重要應(yīng)用。介紹深度學(xué)習(xí)應(yīng)用于計(jì)算機(jī)視覺技術(shù)之前圖像處理中語義分割傳統(tǒng)算法,并探討語義分割問題中基于不同神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型的深度學(xué)習(xí)算法及性能,如FCN、U-net算法。最后針對(duì)當(dāng)前圖像語義分割算法應(yīng)用,總結(jié)展望未來研究方向。
關(guān)鍵詞:深度學(xué)習(xí);圖像處理;神經(jīng)網(wǎng)絡(luò);U-net網(wǎng)絡(luò)
DOIDOI:10.11907/rjdk.173172
中圖分類號(hào):TP301
文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2018)008-0006-03
英文摘要Abstract:As an important branch of AI field,image semantic segmentation is an important part of computer vision technology and an important application of deep learning algorithm.This paper introduces the traditional algorithm of semantic segmentation applied in image processing prior to the application of deep learning in computer vision,and discusses the deep learning algorithm and its performance based on different neural network structure models in semantic segmentation,such as FCN and U-net algorithm.Finally,aiming at the application of the current image semantic segmentation algorithm,the paper summerizes the research direction.
英文關(guān)鍵詞Key Words:deep learning; image processing; neural network; U-net network
0 引言
圖像語義分割是計(jì)算機(jī)視覺的關(guān)鍵技術(shù),與圖像自動(dòng)標(biāo)注作為大規(guī)模圖像處理和理解的兩大重要任務(wù)[1]。在機(jī)器視覺領(lǐng)域,隨機(jī)森林分類與紋理基元森林分類是圖像語義分割的傳統(tǒng)作法。最初的分割大都基于簡(jiǎn)單的像素級(jí)別的“閾值法”,隨著分割技術(shù)的不斷改進(jìn),基于“圖劃分”的分割法改善效果明顯,精度較高,成為經(jīng)典的傳統(tǒng)語義分割方法之一[2-3]。
在深度學(xué)習(xí)算法被創(chuàng)造性地引入機(jī)器視覺領(lǐng)域后,語義分割問題有了突破性進(jìn)展,如全卷積神經(jīng)網(wǎng)絡(luò)(fully convolutional networks,F(xiàn)CN)、基于多圖學(xué)習(xí)與塊對(duì)角約束的全監(jiān)督語義分割方法、基于模型評(píng)估的弱監(jiān)督語義分割方法[4]
等許多基于神經(jīng)網(wǎng)絡(luò)訓(xùn)練的語義分割方法相繼出現(xiàn),分割精度不斷提高。
1 傳統(tǒng)圖像語義分割算法介紹
在傳統(tǒng)的視覺算法中,圖像語義分割的經(jīng)典作法有基于圖劃分的“Normalized cut”算法和“Grab cut”算法等。
1.1 Normalized Cut算法
“Normalized cut”方法,簡(jiǎn)稱“N-cut”,是基于圖劃分的語義分割方法之一[5]。圖劃分是指將圖像建模為圖(Graph)的形式,借助圖理論(Graph theory)對(duì)圖像進(jìn)行語義分割。最小分割算法(Min-cut algorithm)就是其中較為經(jīng)典的代表,如圖1所示。
Min-cut算法不足之處在于只考慮局部信息,分割精度不高,為此N-cut提出一種考慮全局信息的方法進(jìn)行圖劃分(Graph partitioning)[6]。N-cut算法將全圖節(jié)點(diǎn)的權(quán)重(assoc(A,V)和assoc(B,V))加在兩個(gè)分割部分A、B中,使在劃分離散點(diǎn)時(shí),其中某一權(quán)重值接近于1,從而達(dá)到考慮全局信息而摒棄劃分離群點(diǎn)的目的。正是這樣的算法改進(jìn),使得N-cut 既能處理二類語義分割,還能將二分圖擴(kuò)展為K路圖劃分,即完成多語義的圖像語義分割[7],如圖2所示。
1.2 Grab cut算法
Grab cut是一種經(jīng)典的交互式圖像語義分割方法[8],是N-cut算法的改進(jìn),采用迭代式語法分割。在圖像處理問題上,它利用傳統(tǒng)的圖像紋理信息及邊界信息,借助用戶少量交互操作獲取前后背景的分割結(jié)果。Grab cut 算法可以很好地分割RGB圖像,算法利用兩個(gè)混合高斯模型(Gaussian Mixture Model,GMM)分別對(duì)前景和背景建模,還利用吉爾斯能量方程進(jìn)行全局建模,而后不斷迭代,將能量方程達(dá)到最優(yōu)時(shí)的參數(shù)作為兩個(gè)GMM的最優(yōu)參數(shù)參與整個(gè)建模過程,從而使GMM準(zhǔn)確描述某個(gè)像素屬于前景或背景的概率。
用戶交互式操作主要以包圍框和涂寫線條兩種方式為Grab cut算法提供輔助信息。以圖3為例,用戶在待分割的圖像中用方框選中主要物體,Grab cut 就會(huì)默認(rèn)方框中的像素包含主要物體、前景,此后經(jīng)過圖劃分迭代求解,最終得到扣圖結(jié)果。然而這樣的分割效果并不是特別理想,它需要人為干預(yù),用紅色線條或點(diǎn)標(biāo)明背景,用白色線條標(biāo)明前景。只有在這樣的基礎(chǔ)上,才可能得到理想效果,不能做到完全自動(dòng)化處理。
2 基于深度學(xué)習(xí)的語義分割算法
自從深度學(xué)習(xí)引入機(jī)器視覺領(lǐng)域后,一系列基于不同神經(jīng)網(wǎng)絡(luò)訓(xùn)練的語義分割方法相繼提出,使得分割精度不斷提高。本文介紹在語義分割領(lǐng)域3種基于深度學(xué)習(xí)的代表性作法。
2.1 FCN網(wǎng)絡(luò)
全卷積神經(jīng)網(wǎng)絡(luò)(FCN)是目前語義分割最常用的網(wǎng)絡(luò),也是深度學(xué)習(xí)在圖像語義分割任務(wù)上的開創(chuàng)性工作[9]。深度卷積神經(jīng)網(wǎng)絡(luò)模型(CNN)是圖像級(jí)別語義理解的利器,而FCN 則是基于CNN實(shí)現(xiàn)的像素級(jí)別的語義理解,適用于圖像語義分割、邊緣檢測(cè)等應(yīng)用場(chǎng)景[10]。FCN可以接受任意尺寸的輸入圖像,采用反卷積層對(duì)最后一個(gè)卷積層的特征圖進(jìn)行上采樣,使它恢復(fù)到與輸入圖像相同的尺寸,從而可以對(duì)每個(gè)像素都產(chǎn)生一個(gè)預(yù)測(cè),同時(shí)保留原始輸入圖像中的空間信息,最后在上采樣的特征圖上進(jìn)行逐像素分類 FCN 的網(wǎng)絡(luò)結(jié)構(gòu),如圖4所示。
在池化層下采樣之后,原圖的長(zhǎng)和寬遠(yuǎn)大于響應(yīng)張量的長(zhǎng)和寬,就像素級(jí)別的直接訓(xùn)練而言,丟失了很多圖像細(xì)節(jié),增加了預(yù)測(cè)困難。針對(duì)這一問題,一方面FCN 利用雙線性插值采樣到原圖大小,另一方面 FCN將 Pool4 和 Pool3 的響應(yīng)結(jié)果,分別作為模型 FCN-16s 和 FCN-8s 的輸出,與原來 FCN-32s 的輸出結(jié)合在一起作最終的語義分割預(yù)測(cè),如圖5所示。
圖6是不同層作為輸出語義分割結(jié)果的對(duì)比[11],可以看出池化層下采樣倍數(shù)的不同導(dǎo)致了不同語義分割精細(xì)程度。其中由于是最后一層卷積和池化的輸出,該模型的FCN-32s下采樣倍數(shù)最高,其對(duì)應(yīng)的語義分割結(jié)果最為粗略;而 FCN-8s 則因下采樣倍數(shù)較小可以取得較為精細(xì)的分割結(jié)果。
FCN訓(xùn)練比較復(fù)雜,需要訓(xùn)練3次才能得到FCN-8s分割效果,對(duì)圖像的細(xì)節(jié)部分不夠敏感。主要是因?yàn)樯喜蓸舆^程僅是一個(gè)簡(jiǎn)單的去卷積過程,在解碼時(shí),輸入上采樣層的標(biāo)簽圖太稀疏;其次是對(duì)各圖像像素在進(jìn)行分類時(shí),并未考慮像素間的關(guān)系,忽略了像素級(jí)別分類方法中的空間規(guī)整步驟,缺乏空間一致性。
2.2 U-net網(wǎng)絡(luò)
U-net 是一種基于FCN的語義分割網(wǎng)絡(luò),適用于醫(yī)學(xué)圖像分割[12]。網(wǎng)絡(luò)是一種編碼器-解碼器結(jié)構(gòu)。編碼器逐漸減少池化層的空間維度,解碼器逐步修復(fù)物體的細(xì)節(jié)和空間維度。編碼器和解碼器之間通常存在快捷連接,因此能幫助解碼器更好修復(fù)圖像目標(biāo)的細(xì)節(jié)。U-net的結(jié)構(gòu)如圖7所示。
U-net作為一個(gè)全卷積網(wǎng)絡(luò),沒有全連接層,輸入、輸出的內(nèi)容都是圖像。網(wǎng)絡(luò)具有不同的分辨率層,其中較淺的高分辨率層決定像素定位,較深的則用于像素分類[13]。20個(gè)左右的卷積層經(jīng)過4次上采樣、4次下采樣。輸入圖像大于輸出圖像,對(duì)輸入圖像進(jìn)行鏡像操作。如圖8所示。
和FCN相比,結(jié)構(gòu)上比較大的改動(dòng)在上采樣階段,上采樣層包括多層特征。此外,U-net只需要一次訓(xùn)練,而FCN需要3次訓(xùn)練。
2.3 SegNet網(wǎng)絡(luò)
SegNet 是一個(gè)編碼器-解碼器結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò),是基于FCN、修改后的VGG-16網(wǎng)絡(luò)得到的語義分割網(wǎng)絡(luò)[14]。SegNet 的網(wǎng)絡(luò)結(jié)構(gòu)如圖9所示。
SegNet和FCN最大區(qū)別是解碼的上采樣方法,在圖9的結(jié)構(gòu)中,編碼器中每一個(gè)池化層都保存了池化指數(shù),并且將其傳遞到后面對(duì)稱的上采樣層具體的上采樣過程如圖10[15]所示。
文獻(xiàn)[16]中關(guān)于道路場(chǎng)景和室內(nèi)場(chǎng)景的SegNet預(yù)測(cè),如圖11所示。
3 結(jié)語
基于深度學(xué)習(xí)的圖像語義分割技術(shù)雖然與傳統(tǒng)方法相比,取得了很好的分割效果,但是對(duì)數(shù)據(jù)標(biāo)注的要求過高:不僅需要海量圖像數(shù)據(jù),而且這些圖像還需提供精確到像素級(jí)別的標(biāo)記信息。因此,越來越多的研究者開始將注意力轉(zhuǎn)移到弱監(jiān)督(weakly-supervised)條件下的圖像語義分割上。弱監(jiān)督條件下的圖像語義分割可以作為深入研究的方向。
參考文獻(xiàn):
[1] 曹攀,錢軍浩,陳智,等. 基于圖像分層樹的圖像語義分割方法[J/OL].計(jì)算機(jī)應(yīng)用研究:1-11.[2017-07-21].http://www.arocmag.com/article/02-2018-08-039.html.
[2] ROTHER C,KOLMOGOROV V,BLAKE A."GrabCut"-interactive foreground extraction using iterated graph cuts[J],ACM Transactions on Graphics,2004.
[3] LONG J,SHELHAMER E,DARRELL T.Fully convolutional networks for semantic segmentation[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2014,39(4):640-651
[4] 張珂.圖像語義分割算法研究[D].上海:復(fù)旦大學(xué),2014.
[5] 程國建,劉麗婷.深度學(xué)習(xí)算法應(yīng)用于巖石圖像處理的可行性研究[J].軟件導(dǎo)刊,2017,16(2):54-56.
[6] 王啟冬.基于數(shù)學(xué)規(guī)劃的圖劃分模型研究[D].大連:大連理工大學(xué),2009.
[7] SHI J B,MALIK J.Normalized cuts and image segmentation[J],IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(8):888-905 .
[8] WU S Q.Automatic grab cut based lung extraction from endoscopic images with an initial boundary[A].IEEE 13th International Conference on Signal Processing,2017:1374-1378.
[9] LONG J,SHELHAMER E,DARRELL T.Fully convolutional networks for semantic segmentation[C].Boston:IEEE Conference on Computer Vision and Pattern Recognition,2015.
[10] 相文波.基于卷積神經(jīng)網(wǎng)絡(luò)的肺炎類型影像判別[D].哈爾濱:哈爾濱理工大學(xué),2017.
[11] ZHENG S,JAYASUMANA S,ROMERA-PAREDES B,et al.Conditional random fields as recurrent neural networks[C].Santiago:International Conference on Computer Vision,2015.
[12] RONNEBERGER O,F(xiàn)ISCHER P,BROX T.U-net:convolutional networks for biomedical image segmentation[C].Munich: International Conference on Medical Image Computing and Computer-assisted Intervention,2015.
[13] 楚恒.像素級(jí)圖像融合及其關(guān)鍵技術(shù)研究[D].成都:電子科技大學(xué),2008.
[14] 張明月.基于深度學(xué)習(xí)的圖像分割研究[D].長(zhǎng)春:吉林大學(xué),2017.
[15] 翁健.基于全卷積神經(jīng)網(wǎng)絡(luò)的全向場(chǎng)景分割研究與算法實(shí)現(xiàn)[D].濟(jì)南:山東大學(xué),2017.
[16] BADRINARAYANAN V,KENDALL A,CIPOLLA R.SegNet:a deep convolutional encoder-decoder architecture for scene segmentation[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2015(99):2481-2495.
(責(zé)任編輯:江 艷)