文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.190010
中文引用格式: 王宇,張煥君,黃海新. 基于深度學(xué)習(xí)的圖像語(yǔ)義分割算法綜述[J].電子技術(shù)應(yīng)用,2019,45(6):23-27,36.
英文引用格式: Wang Yu,Zhang Huanjun,Huang Haixin. A survey of image semantic segmentation algorithms based on deep learning[J]. Application of Electronic Technique,2019,45(6):23-27,36.
0 引言
圖像語(yǔ)義分割是計(jì)算機(jī)視覺(jué)領(lǐng)域中最具挑戰(zhàn)性的問(wèn)題之一。隨著場(chǎng)景理解[1-2]、重構(gòu)[3]和圖像處理等計(jì)算機(jī)視覺(jué)領(lǐng)域最熱門話題的興起,圖像語(yǔ)義分割作為上述熱門話題的基礎(chǔ),也受到了越來(lái)越多該領(lǐng)域科研人員的重視。
在深度學(xué)習(xí)應(yīng)用于語(yǔ)義分割之前,傳統(tǒng)的機(jī)器學(xué)習(xí)算法如隨機(jī)決策森林(Random Decision Forests)等方法被應(yīng)用于語(yǔ)義分割領(lǐng)域。在PASCAL VOC 2007數(shù)據(jù)集上,SHOTTON J等人使用了基于紋理特征的隨機(jī)決策森林算法[4]取得了42%的評(píng)價(jià)像素精確率。另一種用于解決語(yǔ)義分割問(wèn)題的方法是使用概率圖模型。首先利用參數(shù)統(tǒng)計(jì)方法[5-8]基于幾個(gè)簡(jiǎn)單的特征對(duì)圖像進(jìn)行過(guò)度分割,然后利用馬爾可夫隨機(jī)場(chǎng)(MRF)方法,通過(guò)提取復(fù)雜的手工特征將這些超像素分類為不同的幾何類。在PASCAL VOC 2010挑戰(zhàn)賽上,Gonfaus等人使用基于概率圖模型條件隨機(jī)場(chǎng)構(gòu)建的系統(tǒng)取得了第一名的好成績(jī)。
隨著深度學(xué)習(xí)的崛起,越來(lái)越多的學(xué)者將深度學(xué)習(xí)方法引入至計(jì)算機(jī)視覺(jué)領(lǐng)域中,如圖像分類[9]等。2015年,LONG J等人提出了全卷積網(wǎng)絡(luò)(Fully Convolutional Networks,F(xiàn)CN)[10],創(chuàng)造性地提出了一種全新的端到端的網(wǎng)絡(luò)應(yīng)用于語(yǔ)義分割中,并取得了遠(yuǎn)超于傳統(tǒng)方法的像素準(zhǔn)確率。作為將深度學(xué)習(xí)應(yīng)用于語(yǔ)義分割的開(kāi)山之作,之后大部分方法都是基于FCN網(wǎng)絡(luò)的改進(jìn)版。本文將對(duì)基于深度學(xué)習(xí)的圖像語(yǔ)義分割算法進(jìn)行綜述。
1 常用術(shù)語(yǔ)及基本概念介紹
圖像語(yǔ)義分割是像素級(jí)別的問(wèn)題,因此在訓(xùn)練集中需要對(duì)圖像的每個(gè)像素附加一個(gè)標(biāo)簽。用公式來(lái)表示即為:從標(biāo)簽空間L={l1,l2,…,lk}表示一組隨機(jī)變量X={x1,x2,…,xN}。每個(gè)標(biāo)簽l表示不同的類或?qū)ο?,例如,飛機(jī)、汽車、交通標(biāo)志等。這個(gè)標(biāo)記空間具有k個(gè)可能的狀態(tài),這些狀態(tài)通常擴(kuò)展到k+1個(gè),并將l0作為背景或空類。x表示圖像的像素,像素個(gè)數(shù)為N。
除了問(wèn)題表述之外,重要的是要注釋一些背景概念,如常見(jiàn)的深度學(xué)習(xí)網(wǎng)絡(luò)常常被用作深度學(xué)習(xí)語(yǔ)義分割系統(tǒng)的基礎(chǔ)。此外,了解常見(jiàn)的訓(xùn)練技術(shù),如遷移學(xué)習(xí),以及對(duì)數(shù)據(jù)進(jìn)行的預(yù)處理等都有助于讀者理解綜述。
1.1 常見(jiàn)的深層網(wǎng)絡(luò)架構(gòu)
當(dāng)前最常見(jiàn)的深度學(xué)習(xí)網(wǎng)絡(luò)如GoogLeNet、VGG等網(wǎng)絡(luò)為計(jì)算機(jī)視覺(jué)領(lǐng)域作出了巨大的貢獻(xiàn),在語(yǔ)義分割中也通常使用這些常見(jiàn)的深層次網(wǎng)絡(luò)作為基本框架。
1.1.1 VGG
Visual Geometry Group(VGG)是由牛津大學(xué)視覺(jué)幾何組引入的CNN模型。他們提出了各種深層CNN的模型和配置[11],其中之一被提交到ImageNet大型視覺(jué)識(shí)別挑戰(zhàn)(ILSVRC)-2013,因?yàn)樵撃P褪怯?3個(gè)卷積層和3個(gè)全連接層疊加而成的,所以也稱其為VGG-16。由于其達(dá)到92.7%的TOP-5測(cè)試精度而成為流行的網(wǎng)絡(luò)。圖1顯示了VGG-16的結(jié)構(gòu)。VGG-16和它的前身之間的主要區(qū)別是在第一層使用一組具有小感受野的卷積層而不是使用一個(gè)大感受野的卷積核。這導(dǎo)致使用了更少的參數(shù)和更多的非線性層,從而使決策函數(shù)更具有鑒別力并使得模型更容易訓(xùn)練。
1.1.2 GoogLeNet
GoogLeNet是由SZEGEDY C等人[12]設(shè)計(jì)的一個(gè)網(wǎng)絡(luò)。該網(wǎng)絡(luò)以93.3%的TOP-5測(cè)試準(zhǔn)確率贏得了ILSVRC-2014挑戰(zhàn)賽。這種CNN體系結(jié)構(gòu)的特點(diǎn)是它的復(fù)雜性,它由22層和一個(gè)新引入的模塊(見(jiàn)圖2)組成。這種新方法證明了CNN層可以用比典型的順序堆疊方式更多的方式進(jìn)行構(gòu)建。實(shí)際上,這些模塊包括網(wǎng)絡(luò)中的網(wǎng)絡(luò)層、池化層、大型卷積層和小型卷積層,它們都是并行計(jì)算的,最后進(jìn)行1×1卷積運(yùn)算,以減少維數(shù)。由于這些模塊,該網(wǎng)絡(luò)通過(guò)顯著減少參數(shù)和操作的數(shù)量來(lái)節(jié)省內(nèi)存和計(jì)算成本。
1.2 遷移學(xué)習(xí)與微調(diào)
在實(shí)際生產(chǎn)或?qū)嶒?yàn)中,從零開(kāi)始訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)常常是不可行的。首先需要足夠大的數(shù)據(jù)集,這往往不容易實(shí)現(xiàn);其次,從頭訓(xùn)練的網(wǎng)絡(luò)一般是不易收斂的,或需要的收斂時(shí)間過(guò)長(zhǎng)。即使上述條件都滿足,現(xiàn)有的研究結(jié)果[13-14]也表明了從預(yù)先訓(xùn)練的權(quán)重開(kāi)始而不是從隨機(jī)初始化的權(quán)重開(kāi)始訓(xùn)練效果會(huì)更好。針對(duì)這個(gè)問(wèn)題,遷移學(xué)習(xí)是一個(gè)很好的解決方法,所謂遷移學(xué)習(xí)就是將已經(jīng)在其他數(shù)據(jù)集上訓(xùn)練好的模型參數(shù)遷移到我們的模型中代替隨機(jī)初始的參數(shù),并用新的樣本學(xué)習(xí)訓(xùn)練對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行微調(diào)(Fine-tune),這樣可以大大減少訓(xùn)練時(shí)間,也可以彌補(bǔ)數(shù)據(jù)量不足的缺陷。
1.3 數(shù)據(jù)預(yù)處理
數(shù)據(jù)增強(qiáng)是一種常見(jiàn)的數(shù)據(jù)預(yù)處理手段,WONG S C[15]等人已經(jīng)證明數(shù)據(jù)增強(qiáng)技術(shù)有利于大多數(shù)的機(jī)器學(xué)習(xí)訓(xùn)練任務(wù)。常見(jiàn)的圖像數(shù)據(jù)增強(qiáng)手段有:平移、旋轉(zhuǎn)、翹曲、縮放、顏色空間移動(dòng)、裁剪等。這些轉(zhuǎn)換的目的是生成更多的樣本以創(chuàng)建更大的數(shù)據(jù)集,防止過(guò)擬合,平衡數(shù)據(jù)庫(kù)中的類等,提高了模型的魯棒性。
2 基于深度學(xué)習(xí)的語(yǔ)義分割算法
在深度學(xué)習(xí)技術(shù)引入至計(jì)算機(jī)視覺(jué)領(lǐng)域后獲得了巨大的成功,尤其是在基于Convolutional Neural Networks(CNNs)的圖像分類、目標(biāo)檢測(cè)[16-18]等領(lǐng)域上效果極佳。這也激勵(lì)了研究人員探索這類網(wǎng)絡(luò)能否應(yīng)用于像素級(jí)別的標(biāo)記問(wèn)題,比如圖像語(yǔ)義分割。本文將介紹語(yǔ)義分割領(lǐng)域最具有代表性的3種深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)。
2.1 全卷積網(wǎng)絡(luò)FCN
全卷積網(wǎng)絡(luò)是由LONG J等人于2014年提出的[19],是最常用的語(yǔ)義分割網(wǎng)絡(luò)之一,其結(jié)構(gòu)圖如圖3所示。
作為基于深度學(xué)習(xí)的圖像語(yǔ)義分割的開(kāi)山之作,目前所有最成功的語(yǔ)義分割網(wǎng)絡(luò)都是基于FCN來(lái)進(jìn)行改進(jìn)的。FCN網(wǎng)絡(luò)利用CNNs在圖像上的強(qiáng)大學(xué)習(xí)能力提出了一個(gè)全卷積化概念,將現(xiàn)有的一些常用分類深度網(wǎng)絡(luò)模型如VGG16、GoogLeNet等網(wǎng)絡(luò)的全連接層全部用卷積層來(lái)替代,這樣做的好處是因?yàn)闆](méi)有了全連接層,最終輸出的結(jié)果是一張圖片而不是一維向量,實(shí)現(xiàn)了端對(duì)端的語(yǔ)義分割;其次,通過(guò)去除全連接層能實(shí)現(xiàn)任意大小圖片的輸入,從而保證輸入與輸出圖片大小相等。具體過(guò)程如圖4所示。由于卷積層后接有池化層,池化層又稱下采樣層,會(huì)對(duì)圖片的分辨率大小產(chǎn)生影響。為了保證輸入圖片與輸出圖片的大小相等,F(xiàn)CN網(wǎng)絡(luò)使用反卷積[20-21]的方式進(jìn)行上采樣以維持圖片的分辨率。
FCN網(wǎng)絡(luò)還創(chuàng)造性地提出了一種跳躍結(jié)構(gòu)。它把全卷積化后的VGG16中pool5層的輸出進(jìn)行上采樣作為模型FCN-32s的結(jié)果,這樣得出的圖片比較粗糙,效果較差。于是FCN將pool5的輸出進(jìn)行二倍上采樣后與pool4的輸出進(jìn)行特征融合,將融合后的特征圖上采樣作為模型FCN-16s的結(jié)果,同理將pool3與pool4、pool5的特征進(jìn)行融合得到的結(jié)果進(jìn)行上采樣,得到最終結(jié)果FCN-8s。具體操作如圖5所示。
圖6是未融合特征與融合了高低層次特征后的結(jié)果對(duì)比,可以看出融合了低層次空間信息的FCN-8s效果最好,其次是FCN-16s,F(xiàn)CN-32s由于特征圖分辨率太小,在下采樣過(guò)程中損失了很多信息導(dǎo)致其效果最差。
FCN有很多優(yōu)點(diǎn),如能接收任意大小圖片輸入、運(yùn)算高效等,但其缺點(diǎn)也是很明顯的。首先FCN-8s的結(jié)果與FCN-32s相比優(yōu)化了很多,但與人工標(biāo)注的圖相比還是較為模糊,細(xì)節(jié)方面有待提高。其次FCN網(wǎng)絡(luò)對(duì)像素分類時(shí)并未充分考慮圖片的上下文關(guān)系,即像素與像素之間的關(guān)系,缺乏空間一致性。
2.2 Deeplab
Deeplab[22]是Google團(tuán)隊(duì)提出的一種用于圖像語(yǔ)義分割的深度學(xué)習(xí)模型,是目前性能最好的語(yǔ)義分割模型之一。其模型結(jié)構(gòu)圖如圖7所示。
Deeplab仍然采用了FCN的全卷積化結(jié)構(gòu),將VGG16網(wǎng)絡(luò)的全連接層用卷積層替代。但與FCN不同的是,Deeplab未使用“跳躍結(jié)構(gòu)”,為了防止下采樣過(guò)程中損失太多信息,Deeplab將VGG16中第4、5兩個(gè)池化層的stride由2改為1,這樣最終產(chǎn)生的特征圖由原圖大小的1/32擴(kuò)大至原圖的1/8。為了維持改動(dòng)后像素特征的感受野大小,deeplab提出一種“Hole算法”將空洞卷積[23]引入網(wǎng)絡(luò)中,其具體操作示意圖如圖8所示。這樣通過(guò)“Hole算法”提升特征的感受野解決了因改動(dòng)池化步長(zhǎng)造成的感受野變小問(wèn)題,最終能得到較為稠密的高分辨率特征圖。
在模型的最后,Deeplab采用全連接的條件隨機(jī)場(chǎng)(CRF)[24]來(lái)對(duì)得到的特征圖進(jìn)行邊緣優(yōu)化。其效果圖如圖9所示。
與FCN相比,Deeplab通過(guò)引入空洞卷積解決了特征圖分辨率太低的問(wèn)題,并引入后端的全連接CRF來(lái)優(yōu)化邊緣,彌補(bǔ)了FCN網(wǎng)絡(luò)圖像細(xì)節(jié)較差的缺點(diǎn)。
2.3 PSPNet
場(chǎng)景解析一直是計(jì)算機(jī)視覺(jué)領(lǐng)域中一個(gè)充滿挑戰(zhàn)性的問(wèn)題,傳統(tǒng)的FCN網(wǎng)絡(luò)在進(jìn)行場(chǎng)景解析時(shí)因其上下文理解能力不足,對(duì)一些容易混淆的類別或一些不顯眼的小尺寸物體經(jīng)常造成誤分的情況。PSPNet[25]通過(guò)引入Pyramid Pooling Module在場(chǎng)景分割問(wèn)題上取得了很好的結(jié)果。其結(jié)構(gòu)圖如圖10所示。
PSPNet的骨干網(wǎng)絡(luò)是經(jīng)過(guò)修改后的ResNet101網(wǎng)絡(luò)[26]。與Deeplab一樣,PSPNet也引入了空洞卷積來(lái)提取稠密的特征圖。在Pyramid Pooling模塊,PSPNet將空洞卷積得到的特征圖進(jìn)行了不同層級(jí)的池化,每個(gè)池化后的特征圖經(jīng)過(guò)一個(gè)卷積層來(lái)降低通道數(shù),然后將每個(gè)特征圖進(jìn)行雙線性插值的上采樣方法恢復(fù)到池化前的大小,最后將全部特征圖拼接在一起。這樣做的好處是通過(guò)不同層級(jí)的池化再融合,讓網(wǎng)絡(luò)能對(duì)圖像的上下文信息進(jìn)行更好的整合,以得到含有整體信息的特征圖。
與FCN網(wǎng)絡(luò)相比,PSPNet能更好地學(xué)習(xí)到圖像的上下文信息,初步解決了語(yǔ)義分割模型常見(jiàn)的類別錯(cuò)誤、小目標(biāo)不易識(shí)別等問(wèn)題。圖11為PSPNet與FCN網(wǎng)絡(luò)的結(jié)果對(duì)比圖。
3 結(jié)論
本文綜述了圖像語(yǔ)義分割深度學(xué)習(xí)算法的常用術(shù)語(yǔ)、基本概念以及幾種有代表性的深度學(xué)習(xí)模型,并通過(guò)不同模型結(jié)構(gòu)的對(duì)比將各個(gè)模型的優(yōu)缺點(diǎn)進(jìn)行了綜合性評(píng)估。深度學(xué)習(xí)的引入使得圖像語(yǔ)義分割算法再次成為當(dāng)前計(jì)算機(jī)視覺(jué)領(lǐng)域的研究熱點(diǎn),加快了語(yǔ)義分割領(lǐng)域的發(fā)展。雖然現(xiàn)有的語(yǔ)義分割模型已經(jīng)能到達(dá)較好的分割結(jié)果,但仍有很多問(wèn)題未能得到解決。比如語(yǔ)義分割的樣本標(biāo)注要求極高,想要獲得足夠的樣本數(shù)據(jù)需要高昂的成本費(fèi)用;深度學(xué)習(xí)模型的理論解釋性較差,且模型種類單一,想要?jiǎng)?chuàng)新出新的模型將會(huì)十分困難。盡管深度學(xué)習(xí)在學(xué)術(shù)領(lǐng)域內(nèi)還是一個(gè)飽受爭(zhēng)議的方法,但我們不能否認(rèn)其功能的強(qiáng)大性,而且基于深度學(xué)習(xí)的圖像語(yǔ)義分割算法仍屬于起步階段,可以預(yù)見(jiàn)未來(lái)幾年內(nèi)一定會(huì)有更加優(yōu)秀的深度學(xué)習(xí)算法和研究路線的出現(xiàn)。
參考文獻(xiàn)
[1] LIANG G Q,CA J N,LIU X F,et al.Smart world: a better world[J].Science China Information Science,2016,59(4):043401.
[2] WANG J L,LU Y H,LIU J B,et al.A robust three-stage approach to large-scale urban scene recognition[J].Science China.Information Science,2017,60(10):103101.
[3] WANG W,HU L H,HU Z Y.Energy-based multi-view piecewise planar stereo[J].Science China Information Science,2017,60:032101.
[4] SHOTTON J,JOHNSON M,CIPOLLA R.Semantic texton forests for image categorization and seg-mentation[C].IEEE Conference on Computer Vision and Pattern Recognition,2008:1-8.
[5] SAXENA A,SUN M,NG A Y.Make3d: learning 3d scene structure from a single still image[J].IEEE Transaction on Pattern Analysis and Machine Intelligence,2009,31(5):824-840.
[6] GOULD S,F(xiàn)ULTON R,KOLLER D.Decomposing a scene into geometric and semantically consistent regions[C].Proceedings of the IEEE International Conference on Computer Vision,2009:1-8.
[7] GUPTA A,EFROS A A,HEBERT M.Blocks world revisited:image understanding using qualitative geometry and mechanics[C].Proceedings of European Conference on Computer Vision,2010:482-496.
[8] ZHAO Y B,ZHU S C.Image parsing via stochastic scene grammar[C].Proceedings of the Conference and Workshop on Neural Information Processing System,2011:73-81.
[9] 許少尉,陳思宇.基于深度學(xué)習(xí)的圖像分類方法[J].電子技術(shù)應(yīng)用,2018,44(6):116-119.
[10] LONG J,SHELHAMER E,DARRELL T. Fully convolutional networks for semantic segmentation[C].The IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2015.
[11] SIMONYAN K,ZISSERMAN A.Very deep convolutional networks for large-scale image recognition[J].2014 arXiv:1409.1556.
[12] SZEGEDY C,LIU W,JIA Y,et al.Going deeper with convolutions[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2015:1-9.
[13] AHMED A,YU K,XU W,et al.Training hierarchical feed-forward visual recognition models using transfer learning from pseudo-tasks[C].European Conference on Computer Vision,Springer,2008:69-82.
[14] OQUAB M,BOTTOU L,LAPTEV I,et al.Learning and transferring mid-level image representations using convolutional neural networks[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2014:1717-1724.
[15] WONG S C,GATT A,STAMATESCU V,et al.Understanding data augmentation for classification:when to warp?[C].2016 International Conference on Digital Image Computing:Techniques and Applications(DICTA).IEEE,2016:1-6.
[16] KRIZHEVSKY A,SUTSKEVER I,HINTON G E.ImageNet classification with deep convolutional neural networks[C].Advances in Neural Information Processing Systems,2012:1097-1105.
[17] SIMONYAN K,ZISSERMAN A.Very deep convolutional networks for large-scale image recognition[J].2014 arXiv:1409.1556.
[18] SZEGEDY C,LIU W,JIA Y,et al.Going deeper with convolutions[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2015:1-9.
[19] SHELHAMER E,LONG J,DARRELL T.Fully convolutional networks for semantic segmentation[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2014,39(4):640-651.
[20] ZEILER M D,TAYLOR G W,F(xiàn)ERGUS R.Adaptive deconvolutional networks for mid and high level feature learning[C].2011 IEEE International Conference on Computer Vision(ICCV).IEEE,2011:2018-2025.
[21] ZEILER M D,F(xiàn)ERGUS R.Visualizing and understanding convolutional networks[C].European Conference on Computer Vision,Springer,2014:818-833.
[22] LIANG-CHIEH C,PAPANDREOU G,KOKKINOS I,et al.Semantic image segmentation with deep convolutional nets and fully connected CRFs[C].International Conference on Learning Representations,2015.
[23] YU F,KOLTUN V.Multi-scale context aggregation by dilated convolutions[J].arXiv:1511.07122vz.
[24] CHEN L C,PAPANDREOU G,KOKKINOS I,et al.DeepLab:semantic image segmentation with deep convolutional nets,atrous convolution,and fully connected CRFs[J].arXiv:1606.00915v2.
[25] ZHAO H,SHI J,QI X,et al.Pyramid scene parsing network[J].arXiv preprint arXiv,2016:1612.01105.
[26] HE K,ZHANG X,REN S,et al.Deep residual learning for image recognition[C].Proceedings of IEEE Conference on Computer Vision and Pattern Recognition,2016:770-778.
作者信息:
王 宇,張煥君,黃海新
(沈陽(yáng)理工大學(xué) 自動(dòng)化與電氣工程學(xué)院,遼寧 沈陽(yáng)110159)