論文閱讀筆記十六:DeconvNet:Learning Deconvolution Network for Semantic Segmentation(ICCV2015)


 

論文源址:https://arxiv.org/abs/1505.04366

tensorflow代碼:https://github.com/fabianbormann/Tensorflow-DeconvNet-Segmentation

基於DenconvNet的鋼鐵分割實驗:https://github.com/fourmi1995/IronSegExperiment-DeconvNet

摘要

       通過學習一個反卷積網絡來實現分割算法, 本文卷積部分基於改進的VGG-16,反卷積網絡部分由反卷積層和上采樣層組成。測試時,用訓練好的模型測試一張圖片上的許多proosal,最后以一種簡單的方式將所有預測的proposals進行拼接。該文通過引入反卷積和proposal級別的預測分割改進了傳統基於FCN網絡的部分不足,可以識別出細小及自然場景中不同尺寸的物體。

介紹

       目前,分割主要解決結構類型的像素級預測分類,經過圖片中局部區域的分類會從網絡中得到大致的label,通過雙線性插值的反卷積,進行像素級的標記。CRF作為后處理優化分割效果。FCN的優勢在於可以將整幅圖片送入網絡,計算速度較快。

       基於FCN網絡的幾個限制:(1)網絡的感受野尺寸是預先定死的。因此,對於輸入圖片中比感受野大或者小的物體可能會被忽略。換言之,對於較大的物體,只有局部的細節信息能夠被正確標記,或者標記的結果是不連續的,而對於小物體會被忽略。由於分割的邊界細節和語義信息之間的權衡,通過跳躍結構來改善效果這一做法也無法從根本上解決問題。

                                                   (2)由於,卷積后送入反卷積層的feature map十分稀疏,而且,反卷積的過程又十分的粗糙,輸入圖片中的結構細節信息會有所損失。

      該文主要貢獻:

                           (1)學習一個帶有反卷積層,上采樣層,ReLU層的深層反卷積網絡。

                           (2)將訓練好的模型,應用到圖片的proposals中,得到實例級分割結果,最終將這些結合組成最終的分割結果,解決了原始FCN網絡中的尺寸問題,同時,物體的細節信息更詳盡。

 相關工作

      (1)基於多尺寸超像素分類,將分類后的結果進行組合得到像素級的標記。(2)將reginon proposal進行分類,對像素級的分割map進行增強處理。(3)將傳統CNN中的全連接層轉變為具有較大感受野的卷積層得到的FCN網絡取得較好的效果。輸入圖片進行前向操作得到的粗略的類別 score map。FCN基於插值操作進行反卷積,而且只通過微調網絡的CNN部分來間接的學習反卷積,網絡得到的分割結果后通過CRF進行增強。(4)基於弱監督的分割方法,輸入的圖片只有bounding box形式的標簽類別,通過重復的迭代操作輸出准確的分割結果。該文是基於全監督的學習。

       分割網絡包含反卷積部分,但對於反卷積網絡的學習還沒有較成熟的方法。反卷積用於對特征表示的重構,通過保存最大池化操作值的位置來實現上采樣操作,反卷積也可以用於可視化訓練過程中的激活特征。

系統結構

      該網絡包括兩個部分,卷積網絡和反卷積網絡兩部分。卷積網絡部分將輸入圖片轉變為多維度的特征表示,用作提取特征,反卷積用於從提取的特征生成分割物體的形狀。網絡的最后一層輸出是一張概率map,與輸入圖片的大小相同,表示每個像素代表屬於某個類別的概率。網絡結構如下。

  

      該網絡基於VGG16網絡中卷積部分,有13層卷積,非線性,池化等操作參雜在卷積層中,卷積網絡部分后面接着兩層全連接層用於增強類別的分類,反卷積部分是卷積部分的鏡像,反卷積網絡結合反卷積,反池化,及非線性處理層等幾個部分,通過反卷積與上采樣操作擴大響應區域。

反卷積部分:

      反池化模塊:卷積網絡中的池化操作用於在較低層網絡張,通過抽象一定感受野范圍的特征值來過濾部分噪聲,雖然,池化操作得到的抽象信息對上層網絡中有助於提高分類效果,但赤化操作后,圖像的位置信息會有所損失,不利於分割這種對位置信息要求高的任務。針對池化操作中位置信息的損失,反池化將池化操作中最大值變量的位置保存,在反池化的過程中進行恢復其在原圖中的對應位置。

     反卷積模塊:反池化輸出結果的尺寸雖然變大了,但特征值仍比較稀疏,通過引入反卷積來是特征變得密集。反卷積引入類似於卷積的卷積核,卷積是將多個輸入通過一個濾波器輸出一個值,反卷積層的作用是捕捉不同層的形狀信息。較低層的filter捕捉整體的形狀,而對於物體類別細節信息在較高層的網絡中進行編碼,反卷積網絡將類別細節信息->形狀信息都考慮其中,在只有卷積層的網絡中這種操作是沒有的。 

          該文反卷積網絡可視化的結果如下:

      該網絡中的卷積部分得到的像素級的類別概率map送入反卷積網絡中,經過一系列的反池化, 反卷積,及非線性操作。由上圖可觀察到,物體在反卷積網絡中,目標物特征由稀疏到精細。較低層網絡更多捕捉物體的粗略的外形,像位置,形狀,區域等,在高層網絡中捕捉更加復雜的模式類別。反池化與反卷積在重構feature map時發揮着不同的作用,反池化通過原feature map中較強像素的位置信息來捕捉example-specific (個人理解為外形,位置等特征)結構,進而以一定的像素來構建目標的結構細節,反卷積中的卷積核更傾向於捕捉class-specific形狀,經過反卷積,雖然會有噪聲的影響,但激活值仍會與目標類別進行相關聯。該網絡將反卷積和反池化結合,獲得較好的分割效果。

 訓練過程

     (1)Batch Normalization :將每層的輸入分布變為標准高斯分布來減少內協變量,在卷積和反卷積的每一層后添加BN層。避免進入局部最優。

       (2) 兩階段訓練:首先基於標簽,對含有實例的圖片進行裁剪得到包含目標的圖片,進一步構成較簡單的數據進行預訓練,然后使用復雜的數據進行微調,復雜數據集基於簡單數據進行構建,proposals與groundTruth的Iou大於0.5的被選作用於訓練。但此做法的弊端是,目標物的位置與尺寸信息與原始數據集出現差別。

 實驗

Reference

      [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. In ICCV, 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

 個人實驗結果

                                             

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM