文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190010
中文引用格式: 王宇,張煥君,黃海新. 基于深度學習的圖像語義分割算法綜述[J].電子技術應用,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 引言
圖像語義分割是計算機視覺領域中最具挑戰性的問題之一。隨著場景理解[1-2]、重構[3]和圖像處理等計算機視覺領域最熱門話題的興起,圖像語義分割作為上述熱門話題的基礎,也受到了越來越多該領域科研人員的重視。
在深度學習應用于語義分割之前,傳統的機器學習算法如隨機決策森林(Random Decision Forests)等方法被應用于語義分割領域。在PASCAL VOC 2007數據集上,SHOTTON J等人使用了基于紋理特征的隨機決策森林算法[4]取得了42%的評價像素精確率。另一種用于解決語義分割問題的方法是使用概率圖模型。首先利用參數統計方法[5-8]基于幾個簡單的特征對圖像進行過度分割,然后利用馬爾可夫隨機場(MRF)方法,通過提取復雜的手工特征將這些超像素分類為不同的幾何類。在PASCAL VOC 2010挑戰賽上,Gonfaus等人使用基于概率圖模型條件隨機場構建的系統取得了第一名的好成績。
隨著深度學習的崛起,越來越多的學者將深度學習方法引入至計算機視覺領域中,如圖像分類[9]等。2015年,LONG J等人提出了全卷積網絡(Fully Convolutional Networks,FCN)[10],創造性地提出了一種全新的端到端的網絡應用于語義分割中,并取得了遠超于傳統方法的像素準確率。作為將深度學習應用于語義分割的開山之作,之后大部分方法都是基于FCN網絡的改進版。本文將對基于深度學習的圖像語義分割算法進行綜述。
1 常用術語及基本概念介紹
圖像語義分割是像素級別的問題,因此在訓練集中需要對圖像的每個像素附加一個標簽。用公式來表示即為:從標簽空間L={l1,l2,…,lk}表示一組隨機變量X={x1,x2,…,xN}。每個標簽l表示不同的類或對象,例如,飛機、汽車、交通標志等。這個標記空間具有k個可能的狀態,這些狀態通常擴展到k+1個,并將l0作為背景或空類。x表示圖像的像素,像素個數為N。
除了問題表述之外,重要的是要注釋一些背景概念,如常見的深度學習網絡常常被用作深度學習語義分割系統的基礎。此外,了解常見的訓練技術,如遷移學習,以及對數據進行的預處理等都有助于讀者理解綜述。
1.1 常見的深層網絡架構
當前最常見的深度學習網絡如GoogLeNet、VGG等網絡為計算機視覺領域作出了巨大的貢獻,在語義分割中也通常使用這些常見的深層次網絡作為基本框架。
1.1.1 VGG
Visual Geometry Group(VGG)是由牛津大學視覺幾何組引入的CNN模型。他們提出了各種深層CNN的模型和配置[11],其中之一被提交到ImageNet大型視覺識別挑戰(ILSVRC)-2013,因為該模型是由13個卷積層和3個全連接層疊加而成的,所以也稱其為VGG-16。由于其達到92.7%的TOP-5測試精度而成為流行的網絡。圖1顯示了VGG-16的結構。VGG-16和它的前身之間的主要區別是在第一層使用一組具有小感受野的卷積層而不是使用一個大感受野的卷積核。這導致使用了更少的參數和更多的非線性層,從而使決策函數更具有鑒別力并使得模型更容易訓練。
1.1.2 GoogLeNet
GoogLeNet是由SZEGEDY C等人[12]設計的一個網絡。該網絡以93.3%的TOP-5測試準確率贏得了ILSVRC-2014挑戰賽。這種CNN體系結構的特點是它的復雜性,它由22層和一個新引入的模塊(見圖2)組成。這種新方法證明了CNN層可以用比典型的順序堆疊方式更多的方式進行構建。實際上,這些模塊包括網絡中的網絡層、池化層、大型卷積層和小型卷積層,它們都是并行計算的,最后進行1×1卷積運算,以減少維數。由于這些模塊,該網絡通過顯著減少參數和操作的數量來節省內存和計算成本。
1.2 遷移學習與微調
在實際生產或實驗中,從零開始訓練深度神經網絡常常是不可行的。首先需要足夠大的數據集,這往往不容易實現;其次,從頭訓練的網絡一般是不易收斂的,或需要的收斂時間過長。即使上述條件都滿足,現有的研究結果[13-14]也表明了從預先訓練的權重開始而不是從隨機初始化的權重開始訓練效果會更好。針對這個問題,遷移學習是一個很好的解決方法,所謂遷移學習就是將已經在其他數據集上訓練好的模型參數遷移到我們的模型中代替隨機初始的參數,并用新的樣本學習訓練對網絡參數進行微調(Fine-tune),這樣可以大大減少訓練時間,也可以彌補數據量不足的缺陷。
1.3 數據預處理
數據增強是一種常見的數據預處理手段,WONG S C[15]等人已經證明數據增強技術有利于大多數的機器學習訓練任務。常見的圖像數據增強手段有:平移、旋轉、翹曲、縮放、顏色空間移動、裁剪等。這些轉換的目的是生成更多的樣本以創建更大的數據集,防止過擬合,平衡數據庫中的類等,提高了模型的魯棒性。
2 基于深度學習的語義分割算法
在深度學習技術引入至計算機視覺領域后獲得了巨大的成功,尤其是在基于Convolutional Neural Networks(CNNs)的圖像分類、目標檢測[16-18]等領域上效果極佳。這也激勵了研究人員探索這類網絡能否應用于像素級別的標記問題,比如圖像語義分割。本文將介紹語義分割領域最具有代表性的3種深度學習網絡結構。
2.1 全卷積網絡FCN
全卷積網絡是由LONG J等人于2014年提出的[19],是最常用的語義分割網絡之一,其結構圖如圖3所示。
作為基于深度學習的圖像語義分割的開山之作,目前所有最成功的語義分割網絡都是基于FCN來進行改進的。FCN網絡利用CNNs在圖像上的強大學習能力提出了一個全卷積化概念,將現有的一些常用分類深度網絡模型如VGG16、GoogLeNet等網絡的全連接層全部用卷積層來替代,這樣做的好處是因為沒有了全連接層,最終輸出的結果是一張圖片而不是一維向量,實現了端對端的語義分割;其次,通過去除全連接層能實現任意大小圖片的輸入,從而保證輸入與輸出圖片大小相等。具體過程如圖4所示。由于卷積層后接有池化層,池化層又稱下采樣層,會對圖片的分辨率大小產生影響。為了保證輸入圖片與輸出圖片的大小相等,FCN網絡使用反卷積[20-21]的方式進行上采樣以維持圖片的分辨率。
FCN網絡還創造性地提出了一種跳躍結構。它把全卷積化后的VGG16中pool5層的輸出進行上采樣作為模型FCN-32s的結果,這樣得出的圖片比較粗糙,效果較差。于是FCN將pool5的輸出進行二倍上采樣后與pool4的輸出進行特征融合,將融合后的特征圖上采樣作為模型FCN-16s的結果,同理將pool3與pool4、pool5的特征進行融合得到的結果進行上采樣,得到最終結果FCN-8s。具體操作如圖5所示。
圖6是未融合特征與融合了高低層次特征后的結果對比,可以看出融合了低層次空間信息的FCN-8s效果最好,其次是FCN-16s,FCN-32s由于特征圖分辨率太小,在下采樣過程中損失了很多信息導致其效果最差。
FCN有很多優點,如能接收任意大小圖片輸入、運算高效等,但其缺點也是很明顯的。首先FCN-8s的結果與FCN-32s相比優化了很多,但與人工標注的圖相比還是較為模糊,細節方面有待提高。其次FCN網絡對像素分類時并未充分考慮圖片的上下文關系,即像素與像素之間的關系,缺乏空間一致性。
2.2 Deeplab
Deeplab[22]是Google團隊提出的一種用于圖像語義分割的深度學習模型,是目前性能最好的語義分割模型之一。其模型結構圖如圖7所示。
Deeplab仍然采用了FCN的全卷積化結構,將VGG16網絡的全連接層用卷積層替代。但與FCN不同的是,Deeplab未使用“跳躍結構”,為了防止下采樣過程中損失太多信息,Deeplab將VGG16中第4、5兩個池化層的stride由2改為1,這樣最終產生的特征圖由原圖大小的1/32擴大至原圖的1/8。為了維持改動后像素特征的感受野大小,deeplab提出一種“Hole算法”將空洞卷積[23]引入網絡中,其具體操作示意圖如圖8所示。這樣通過“Hole算法”提升特征的感受野解決了因改動池化步長造成的感受野變小問題,最終能得到較為稠密的高分辨率特征圖。
在模型的最后,Deeplab采用全連接的條件隨機場(CRF)[24]來對得到的特征圖進行邊緣優化。其效果圖如圖9所示。
與FCN相比,Deeplab通過引入空洞卷積解決了特征圖分辨率太低的問題,并引入后端的全連接CRF來優化邊緣,彌補了FCN網絡圖像細節較差的缺點。
2.3 PSPNet
場景解析一直是計算機視覺領域中一個充滿挑戰性的問題,傳統的FCN網絡在進行場景解析時因其上下文理解能力不足,對一些容易混淆的類別或一些不顯眼的小尺寸物體經常造成誤分的情況。PSPNet[25]通過引入Pyramid Pooling Module在場景分割問題上取得了很好的結果。其結構圖如圖10所示。
PSPNet的骨干網絡是經過修改后的ResNet101網絡[26]。與Deeplab一樣,PSPNet也引入了空洞卷積來提取稠密的特征圖。在Pyramid Pooling模塊,PSPNet將空洞卷積得到的特征圖進行了不同層級的池化,每個池化后的特征圖經過一個卷積層來降低通道數,然后將每個特征圖進行雙線性插值的上采樣方法恢復到池化前的大小,最后將全部特征圖拼接在一起。這樣做的好處是通過不同層級的池化再融合,讓網絡能對圖像的上下文信息進行更好的整合,以得到含有整體信息的特征圖。
與FCN網絡相比,PSPNet能更好地學習到圖像的上下文信息,初步解決了語義分割模型常見的類別錯誤、小目標不易識別等問題。圖11為PSPNet與FCN網絡的結果對比圖。
3 結論
本文綜述了圖像語義分割深度學習算法的常用術語、基本概念以及幾種有代表性的深度學習模型,并通過不同模型結構的對比將各個模型的優缺點進行了綜合性評估。深度學習的引入使得圖像語義分割算法再次成為當前計算機視覺領域的研究熱點,加快了語義分割領域的發展。雖然現有的語義分割模型已經能到達較好的分割結果,但仍有很多問題未能得到解決。比如語義分割的樣本標注要求極高,想要獲得足夠的樣本數據需要高昂的成本費用;深度學習模型的理論解釋性較差,且模型種類單一,想要創新出新的模型將會十分困難。盡管深度學習在學術領域內還是一個飽受爭議的方法,但我們不能否認其功能的強大性,而且基于深度學習的圖像語義分割算法仍屬于起步階段,可以預見未來幾年內一定會有更加優秀的深度學習算法和研究路線的出現。
參考文獻
[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,FULTON 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] 許少尉,陳思宇.基于深度學習的圖像分類方法[J].電子技術應用,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,FERGUS 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,FERGUS 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.
作者信息:
王 宇,張煥君,黃海新
(沈陽理工大學 自動化與電氣工程學院,遼寧 沈陽110159)