1. 程式人生 > >DeconvNet 論文閱讀理解

DeconvNet 論文閱讀理解

公式 有趣的 ive 不同 iam 翻轉 mon 回顧 推斷

學習語義分割反卷積網絡DeconvNet

一點想法:反卷積網絡就是基於FCN改進了上采樣層,用到了反池化和反卷積操作,參數量2億多,非常大,segnet把兩個全連接層去掉,效果也能很好,顯著減少了參數,只有290萬,提升了性能

摘要

提出了一個創新的語義分割算法,反卷積網絡。網絡前幾層用VGG16的結構。反卷積網絡由反卷積層和反池化層組成,他們來實現像素級別的語義分割。我們把網絡應用於輸入圖像得到每個結果,再將所有結果組合起來構成最終的語義分割圖。這個方法可以降低現有的基於組合深度卷積網絡和類別預測的全卷積網絡的限制。我們的分割方法很好的識別了細節,也能應對不同尺度大小的物體。我們的網絡在PASCAL VOC 2012數據集上取得了很好的成績,同時在所有沒有用額外數據的全卷積網絡中取得了最高精度72.5%

1、介紹(introduction)

卷積神經網絡在許多視覺識別問題上取得了驚人的表現,如圖像分類[15,22,23],目標檢測[7,9],語義分割[6,18],動作識別[12,21]。CNN強有力的表現取得了巨大的成功,用CNN提取特征再和一個簡單的現成的分類器組合在實際操作中表現很好。由於CNN在分類問題上的成功,研究者們開始將其用於預測問題,如語義分割[17,1]和人體姿態估計[16]。

最近的語義分割通常是通過構建CNN來解決每個像素的標簽問題[1,17]。他們把一個現有的分類CNN結構轉化為全卷積網絡,通過對圖像每個局部區域的分類獲得一個粗糙的標簽圖,再用簡單的雙線性插值反卷積得到像素級別的標簽。有時會用條件隨機場對輸出圖片進行處理得到精細的分割結果[14]。FCN最大的優勢在於它接受一整個圖片,然後快速又精確的得到結果。

基於FCN的語義分割[1,17]有一些明顯的局限。首先,網絡只能處理單一尺度的圖片,因為網絡的感受野是確定的。因此比感受野更大或者更小的物體可能會被分裂或是誤標。換句話說,標簽預測對大物體只用了局部信息,使原本屬於同一物體的東西會有不連續的標簽。同時小物體通常會被忽略識別成背景。盡管[17]嘗試用跳躍連接結構來回避這一局限,但這不是一個根本性的解決,而表現也沒有取得很顯著的提升。第二,物體的細節結構通常會丟失或是被平滑,因為反卷積操作太簡單了,輸入到反卷積層的標簽圖太粗糙。在原始FCN中[17],標簽圖是16*16大小的,然後通過線性插值反卷積到原始圖片大小。沒有用真正的反卷積使其無法達到一個好效果。不過用CRF可以改善這一問題[14].

為了突破這些限制,我們提出了一個完全不同的策略,主要是以下幾點:

1、設計了多層反卷積網絡,由反卷積層,反池化層,relu層組成。反卷積層的學習是有意義的,但目前沒有人嘗試過

2、訓練好的網絡被應用於單獨物體的實例分割,最後組合起來形成最後的語義分割結果,它不受到規模尺度的影響同時有更好的細節

3、通過結合FCN和我們的方法[17],反卷積網絡在PASCAL VOC 2012上取得了傑出的表現

我們相信是這三點幫助我們達到了最高標準的表現

論文以下的結構是這樣組織的。首先在第二章裏回顧了相關的工作,第三章描述了我們的網絡結構,第四章裏詳細討論了如何去學習一個有監督的反卷積網絡。第五章展示了如何去利用學習好的反卷積網絡。實驗結果展示在第六章

2、相關工作

CNN在許多視覺識別任務中應用廣泛,也已經被廣泛用於語義分割。我們首先總結了現有的有監督的語義分割算法

基於分類的語義分割算法有幾種。Mostajabi等【18】和Farabet等【6】把多尺度超像素分類到預定義的類中,再結合分類結果實現像素級別標註。一些算法【3,9,10】對建議區域進行分類,再對分割好的圖片進行標註來獲得最後的分割結果。

全卷積網絡【17】帶來了深度學習在語義分割上的突破。在FCN中,傳統CNN的全連接層被一個具有大的感受野的卷積層替代,分割結果是通過在前向傳播上得到的粗糙的分類分值圖得到的。這個工作中有趣的想法是利用一個簡單的插值實現反卷積,只有CNN部分在學習。令人驚訝的是這個網絡的結果在PASCAL VOC上表現突出。Chen等【1】通過FCN網絡獲得逐像素標簽,再用全連接CRF改善標簽圖。

除了基於監督學習的方法,一些弱監督技術也被提出。僅僅給出邊界框標註【2,19】,再通過循環過程獲得精確的分割結果。另一方面,【20】在一個多實例學習網絡中僅僅基於圖片級別的標註實現語義分割。

語義分割在理論上基於反卷積,但學習反卷積網絡並不常見。反卷積網絡在【25】中被提出用於重構輸入圖片。最大池化層的存在使得重構輸入圖片是不簡單的,它提出反池化操作,通過記錄池化位置。使用反卷積網絡可以通過特征圖來重構網絡。這個方法也被應用於可視化CNN特征圖【24】,來提升網絡結構。可視化可以幫助我們更好理解一個訓練好的CNN網絡。

3、系統結構

這一部分討論了我們反卷積網絡的結構和算法。

3.1結構

圖2展示了整個網絡的細節配置。我們的網絡由兩部分組成,卷積和反卷積網絡。卷積網絡部分是一個特征提取器,將輸入圖片轉換成多維特征表示。反卷積網絡是一個形狀生成器,它將卷積網絡提取的特征生成目標分割結果。最後的輸出是一個和輸入圖片相同大小的概率圖,每個像素代表屬於預先定義的類的概率。

技術分享圖片

圖2. 整個網絡結構。卷積網絡基於VGG16,再通過反卷積得到準確的分割圖。給定一個特征,通過一系列反池化,反卷積和relu得到語義分割圖。

卷積部分我們把VGG16的分類層移除了【22】,總共有13層卷積,中間夾雜著relu和池化層。兩層全連接層在最後增強分類結果。反卷積網絡是卷積網絡的鏡像,有多層反池化反卷積和relu層。相反於卷積網絡減小激活尺寸,反卷積通過這反池化和反卷積擴大激活尺寸。更多的細節在下面討論。

3.2反卷積網絡用於分割

我們現在討論兩個反卷積網絡主要操作細節,反池化和反卷積。

3.2.1反池化

卷積網絡中的池化是設計用來過濾低層的噪聲,通過提取一個感受野內一個單一激活值實現。盡管它通過保持高層的魯棒激活來幫助分類,但同時也丟失了空間信息,這對語義分割是很重要的。

為了解決這個問題,我們在反卷積網絡中利用反池化層,它是池化的反操作,重構了原始大小的激活。圖3.實現反池化用了和【24,25】相似的方法。在池化時記錄最大池化索引,反池化時可以把激活值放回原位。這個反池化策略在重構輸入物體時很有用【24】。

3.2.2反卷積

反池化生成的擴大的輸出時稀疏的激活圖,反卷積層通過類似卷積層的操作將稀疏激活圖變密。相反於卷積層將一個感受野內的多個輸入變為1個輸出,反卷積將一個輸入變為多個輸出。圖3.反卷積層輸出的是稠密的擴大的激活圖,我們將超出邊界的部分裁剪掉,使其和反池化後的圖大小相同。

反卷積層學習到的濾波器對應於輸入物體的重構大小。因此類似於卷積網絡,繼承的反卷積網絡結構也可以獲得不同尺度的形狀信息。低層的濾波器傾向於捕獲物體整體形狀,而物體的細節分類特征在更高層捕捉。這樣網絡可以獲得形狀細節信息,這在別的只基於卷積網絡的方法裏是會被忽略的。【1,17】

3.2.3反卷積網絡分析

在提出的算法中,反卷積網絡是獲得物體精細邊界分割的主要組成部分。相對於【17】裏對粗糙的激活圖的簡單反卷積,我們的算法實現了深度反卷積網絡,通過連續的反池化反卷積和relu實現了稠密的像素分割概率圖。

圖4展示了網絡一層層的輸出,這對我們理解內部網絡結構很有用。可以看到由粗到細的物體結構在反卷積層的傳播中被重構。低層傾向於獲得整體的粗糙外形(位置,形狀,區域),更復雜的特征在高層被捕獲。註意到反池化和反卷積在重構物體分割掩膜時是有不同作用的。反池化捕獲結構特例(example-specific,通過追溯原圖像最大激活的位置。結果就是有效的重構了物體細節結構。在另一方面,反卷積層傾向於捕獲類別特定(class-specific的形狀。通過反卷積,和目標類別相關的激活被放大,無關的被壓制。結合反池化和反卷積,我們的網絡生成精確的分割圖。

圖5展示了FCN-8s的輸出和我們的輸出。我們的網絡結構比FCN-8S的輸出更稠密和精確。

3.3系統總覽

我們的算法把語義分割看做實例分割問題。就是說網絡接收一個可能包含物體的圖片,後面題為實例,作為輸入然後輸出逐像素的類別預測。我們的網絡把每一類的實例從圖像裏提取出來,然後聚合起來生成語義分割結果。

一個個實例的分割在圖片級別的預測有幾個好處。它可以有效處理不同尺度的物體,識別物體細節,這在固定尺寸的感受野是無法實現的。同時它通過降低預測的搜索空間和訓練時需要的內存減輕了訓練復雜度。

4、訓練

前文所述的網絡非常深(是【22】的兩倍),同時有許多復雜的參數。另外用於語義分割的訓練樣本相較於網絡非常小——PASCAL的訓練和驗證集加起來12031。訓練一個深層網絡用這麽少有限的樣本是不現實的,我們用以下幾個方法順利的訓練了網絡。

4.1 批歸一化batch normalization

眾所周知深層神經網絡由於內部協變量移動(internal-covariate-shift)問題很難優化【11】,每層的變量輸入分布在每次訓練時都在改變,因為上一層更新了。分布的變化在層與層之間傳播時會被放大導致很難優化。

用BN可以減輕內部協變量移動(internal-covariate-shift)通過把每一層的輸入分布歸一化到標準高斯分布。因此BN層在每個卷積和反卷積後面都加了。我們發現BN對優化我們的網絡非常重要,如果不用網絡會落在一個不好的局部最優

4.2 兩級訓練 two-stage training

盡管BN可以幫助我們逃離局部最優,網絡相比於訓練樣本還是太大,反卷積網絡帶來的好處會消失。因此我們用了兩級訓練,首先用簡單的例子訓練網絡,再用復雜的例子對網絡進行微調。

第一個階段的訓練我們利用標註數據將物體裁剪至圖像中間。通過限制物體位置和形狀,顯著降低了搜索空間和大小,同時成功的用少量樣本訓練了網絡。在第二階段,我們利用物體建議來構建更復雜的樣本。特別是那些候選物體和真值時有重疊的。用這個方法構建訓練數據在測試時有更好的魯棒性,但它使訓練難度增加了。

5、推斷,實現(inference)

提出的網絡是在單實例上訓練的。給定一個圖像,我們首先生成一定數量的候選提議,再用網絡對每個單獨物體進行提議,再將所有物體的提議組合起來形成最後的結果。此外我們也組合了我們的方法和FCN【17】來更進一步提升性能。細節在下面展示

5.1 聚合每個實例的分割結果

由於一些提議是不準確的由於物體的錯位和背景的聚合,我們要在聚合時消除這些噪聲。每個像素的分值圖的最大值或是平均值是有效的。

gi∈R(W*H*C)是第i個提議的分值圖,w,h,c是分值圖像的大小和類別數。首先在gi周圍補0到原圖大小,後面記為Gi。然後將所有提議的分值圖聚合起來通過最大或是平均。

每一類的原始大小的概率圖再經過一個softmax激活函數。最後用全連接CRF【14】對輸出圖進行優化,用逐像素概率圖得到一元可能性。

5.2 和FCN組合

我們的反卷積網絡和FCN是互補的,我們提取精細邊界,而FCN提取總體形狀。另外,逐實例預測在處理多尺度目標時有用,而全卷積網絡對捕獲上下文特征有用。組合這兩個特征可以獲得更好的結果。

我們簡單組合了兩個方法,計算兩個網絡最後輸出的平均值,再用CRF獲得最後分割結果。

6、實驗

這部分描述了我們事先細節和實驗步驟。然後從各個方面分析和評估了網絡

6.1 實現細節

網絡配置

表2總結了網絡的細節。網絡以第二個全連接層為中心對稱。輸入和輸出分別代表輸入圖像和類別條件概率圖,整個網絡共有約252M的參數

數據集

用的是PASCAL VOC 2012的訓練和測試分割數據【5】。訓練時我們用了【8】的擴增方法,對於訓練和驗證數據都擴增了。網絡的表現在測試集上進行評估。註意我們只用了這個數據集,沒有像【2,19】那樣用額外的數據集才得到最高水平的結果

訓練數據構建

我們用兩級訓練法,每個階段用不同的訓練數據。構建第一階段訓練數據時,我們對每個標註的物體畫一個框框,再擴大1.2倍來包括物體的局部上下文信息。第二階段,每個訓練樣本通過物體提議提取出來【26】,相關的類別標簽用於標註。然後用和第一階段相同的後處理方法來包括上下文信息。對兩個數據集,通過添加重復的樣本使樣本不同類之間保持平衡。在擴增數據集方面,我們轉換一個輸入圖像到250*250大小。再隨機切割成224*224,同時隨機添加水平翻轉【22】。第一階段和第二階段的訓練樣本大小分別為0.2M和2.7M。

優化

我們在caffe框架下實現了網絡,標準的隨機梯度下降配合動量的方法用於優化,初始學習率0.01,momentum 0.9,權重下降0.0005。初始化卷積網絡用在ILSVRC上預訓練的VGG16層,反卷積網絡用0均值的高斯分布。由於BN的存在移除了dropout(為啥呢),學習率當驗證集精度不再上升時按數量級下降(應該是每次除以10),盡管我們是在訓練集和驗證集上一起訓練的,實驗看來學習率調整還是很有用。網絡的第一階段和第二階段分別在經過20K和40K的SGD叠代後收斂,batch-size為64。訓練消耗了6天,第一階段2天,第二階段4天。用一塊Nvidia GTX Titan X GPU,內存12G。

實現

我們用邊框【26】來生成物體建議,對每個測試圖像我們生成大約2000個物體建議,挑選前50個。我們發現50個對獲得精確分割邊界是足夠的,最後用每個像素的最大提議來生成語義分割圖(前文聚合部分的最大值公式)

6.2在PASCAL VOC上評估

PASCAL VOC 2012包含1456個測試圖像,20個物體種類【5】。我們采用交並比IoU來評估。

和其余方法的定量比較結果在表1中。反卷積網絡和最先進的模型不相上下。用CRF【14】做後處理提升了1%的準確度。我們通過結合FCN-8s更進一步提升了表現,對FCN-8s和反卷積網絡分別提升了10.3%和3.1%。我們相信這是由於我們的方法和FCN的互補導致的,5.2中已經討論過,這個特性使我們的方法和其余基於FCN的方法區分開來。兩個方法的結合用EDeconvNet表示。

技術分享圖片

圖6展示了逐實例預測的有效性。通過聚合以大小降序排列的提議,同時觀察分割的過程,隨著聚合過程的繼續,算法識別到了物體的精細邊界,這是通過小的提議捕獲到的。

圖7展示了一些DeconvNet,FCN和他們的組合的結果。總的來說,反卷積網絡相比於FCN生成更精細的結果,同時可以處理不同尺度的物體。FCN由於固定感受野無法識別太大或是太小的物體(7a)。我們的網絡當物體有移位或是處於背景中時也會生成有噪音的結果(7b)。兩者的組合有一個更好的結果。註意到兩者錯誤的預測可以被組合的網絡糾正。加上CRF可以一生效果盡管提升不顯著。

7、結論

我們提出了一個創新型的可學習的反卷積網絡。反卷積網絡可以生成精確的分割結果,是因為一個物體通過一系列的反卷積實現了粗糙到精細的重構。我們基於逐實例的預測對處理不同規模大小的物體很有用,不像全卷積網絡固定了感受野。我們進一步提出了結合兩個網絡的方法,由於兩個網絡的互補性取得了更好的成績。我們的網絡在沒有額外數據的情況下取得了最先進的表現

參考文獻:

[1] L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L. Yuille. Semantic image segmentation with deep convolutional nets and fully connected CRFs. In ICLR, 2015. 1,2, 4, 7

[2] J. Dai, K. He, and J. Sun. Boxsup: Exploiting bounding boxes to supervise convolutional networks for semantic segmentation.arXiv preprint arXiv:1503.01640, 2015. 2, 6, 7

[3] J. Dai, K. He, and J. Sun. Convolutional feature masking for joint object and stuff segmentation. In CVPR, 2015. 2, 7

[4] J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, and L. Fei-Fei. Imagenet: A large-scale hierarchical image database. In CVPR, 2009. 6

[5] M. Everingham, L. Van Gool, C. K. Williams, J. Winn, and A. Zisserman. The pascal visual object classes (voc) challenge.IJCV, 88(2):303–338, 2010. 6, 7

[6] C. Farabet, C. Couprie, L. Najman, and Y. LeCun. Learning hierarchical features for scene labeling. TPAMI, 35(8):1915–1929, 2013. 1, 2

[7] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In CVPR, 2014. 1

[8] B. Hariharan, P. Arbel´aez, L. Bourdev, S. Maji, and J. Malik. Semantic contours from inverse detectors. In ICCV, 2011. 6

[9] B. Hariharan, P. Arbel´aez, R. Girshick, and J. Malik. Simultaneous detection and segmentation. In ECCV, 2014. 1, 2

[10] B. Hariharan, P. Arbel´aez, R. Girshick, and J. Malik. Hypercolumns for object segmentation and fine-grained localization.In CVPR, 2015. 2, 7

[11] S. Ioffe and C. Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv:1502.03167, 2015. 5

[12] S. Ji, W. Xu, M. Yang, and K. Yu. 3D convolutional neural networks for human action recognition. TPAMI, 35(1):221–231, 2013. 1

[13] Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Girshick, S. Guadarrama, and T. Darrell. Caffe: Convolutional architecture for fast feature embedding. arXiv preprint arXiv:1408.5093, 2014. 6

[14] P. Kr¨ahenb¨uhl and V. Koltun. Efficient inference in fully connected crfs with gaussian edge potentials. In NIPS, 2011.1, 2, 6, 7

[15] A. Krizhevsky, I. Sutskever, and G. E. Hinton. ImageNet classification with deep convolutional neural networks. In NIPS, 2012. 1

[16] S. Li and A. B. Chan. 3D human pose estimation from monocular images with deep convolutional neural network. In ACCV, 2014. 1

[17] J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. In CVPR, 2015. 1, 2,4, 5, 7, 8

[18] M. Mostajabi, P. Yadollahpour, and G. Shakhnarovich. Feedforward semantic segmentation with zoom-out features. arXiv preprint arXiv:1412.0774, 2014. 1, 2, 7

[19] G. Papandreou, L.-C. Chen, K. Murphy, and A. L. Yuille. Weakly-and semi-supervised learning of a DCNN for semantic image segmentation. arXiv preprint arXiv:1502.02734,2015. 2, 6, 7

[20] P. O. Pinheiro and R. Collobert. Weakly supervised semantic segmentation with convolutional networks. In CVPR, 2015.2

[21] K. Simonyan and A. Zisserman. Two-stream convolutional networks for action recognition in videos. In NIPS, 2014. 1

[22] K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. In ICLR, 2015.1, 3, 5, 6

[23] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich.Going deeper with convolutions. arXiv preprint arXiv:1409.4842, 2014. 1

[24] M. D. Zeiler and R. Fergus. Visualizing and understanding convolutional networks. In ECCV, 2014. 2, 3

[25] M. D. Zeiler, G. W. Taylor, and R. Fergus. Adaptive deconvolutional networks for mid and high level feature learning.In ICCV, 2011. 2, 3

[26] C. L. Zitnick and P. Doll´ar. Edge boxes: Locating object proposals from edges. In ECCV, 2014. 6

DeconvNet 論文閱讀理解