多篇用DL做Semantic Segmentation的文章總結

轉載自:http://www.cnblogs.com/yymn/articles/5377340.html

最近總結了一下語義分割相關的文章。

這是我在一篇文章(deconvolution network)中看到的近期一些方法的評估表:

 

下面談到的一些文章整理都是關於以上的方法。

1、 FCN8s 文章出處:CVPR2015-FullyConvolutional Networks for Semantic Segmentation

CNN對分類問題的效果非常好,但不適合直接做分割;

CNN模型的輸入維度固定則輸出維度也被固定,不適合輸入圖片尺度變化的情況;

FCN是對CNN改進適合直接用於分割的模型,直接拿segmentation 的 ground truth作爲監督信息,訓練一個端到端的網絡,讓網絡做pixelwise的prediction,直接預測label map。

網絡特點:所有Layer都是Conv Layer,無FC層,適合end-to-end和dense/pixelwise prediction,輸出結果就是Segment Map;

輸入:整幅圖像;

輸出:resample到corresponding空間維度。

2、TTI-zoomout-16 文章出處:CVPR2015-Feedforwardsemantic segmentation with zoom-out features

               

這篇文章的方法是superpixel-level的,主要是基於CNN實現的。

這篇文章的亮點應該是:1,它把CNN每一層的特徵都拿出來使用,兼顧了local信息和global信息2,直接使用image classification的現有成果,不用自己訓練網絡,方便高效,易於推廣。3,實驗結果好,比FCN的方法結果好。

從作者貼出的example來看,分割的邊緣還是有些粗糙,原因是:本文方法是直接基於superpixel做特徵提取和分類的,提取的superpixel是不夠準確的,一個superpixel中可能包含了多個class。要優化這個邊緣,應該還是要挖掘出pixel level的細節信息。

 

3、DeepLab-CRF 文章出處:ICLR2015-SemanticImage Segmentation with Deep Convolutional Nets and Fully Connected CRFs

主要在FCN改進的地方:

通過控制InputStride實現Fine目標(Dense Extractor)(hole algorithm),而不用像FCN結合Lower Layer和上採樣的方式來Fine,相對FCN減小了運算量。Author最後還是結合了Lower Layer信息,進一步提升了效果。

 

以前對於分割物體的精確定位主要是兩個方面:

一、  利用多層信息(如FCN中用前幾個pooling層做預測);

二、  利用super-pixel(zoomoutrepresentation)。

本文提出了用CRF進行優化,主要是能夠更好的修復分割的邊界結構。

4、CRFasRNN 文章出處:ICCV2015-ConditionalRandom Fields as Recurrent Neural Networks

主要貢獻點:將CRF融入到deep learning的網絡結構中,作爲其中的一層(遞歸神經網絡)

 

 

進行端對端的學習時,CNN的訓練也得到CRF的影響,將CNN的參數學習和CRF的參數學習統一到一個網絡。

              

5、 Deconvolution Network  文章出處:Learning Deconvolution Network for SemanticSegmentation

 

FCN的缺點:由於感受野的固定,如果物體大了或者小了,分割效果就不好。而且通過純粹的雙線性插值算法得到最終的得分概率圖,不太準確,雖然用了CRF進行了改善,但沒有從根本上解決。

本文的創新點:

一、  學習了一個多層反捲積網絡代替簡單的雙線性插值;

二、  將objectproposal(edge box)送入訓練後的網絡,然後整幅圖像是這些proposal的分割結果的組合,這樣就可以解決物體太大或者太小所帶來的分割問題。

6、SDS 文章出處:Simultaneous Detection and Segmentation

            

 

這篇文章的效果不算太好,主要創新是把detection和分割結合一起。對於檢測來說,只能提供一個粗略的位置,而對於語義分割的網絡來說需要對每個點進行Label。

缺點:

一、  SDS使用了掩碼後的圖像,有很多邊緣信息,而在CNN訓練中並沒有表現出來;

二、  SDS對每幅圖產生2000多個候選框,每個候選框都要產生CNN特徵,這是非常耗時的,Convolutional Feature Masking for Joint Object and StuffSegmentation這篇文章對這個問題做了很好的解決。

7、DeepLab-public 文章出處:Weakly-and Semi-Supervised Learning of a Deep Convolutional Network for Semantic ImageSegmentation

主要創新點在於:訓練網絡時用的是一些簡單的訓練數據如bounding boxes或者圖像級標籤,提出的是半監督和弱監督學習,不要太多的annotation effort而可以得到較好的結果,可以接近全監督學習的網絡結果。這篇文章的網絡框架用的是deepLab-CRF。


8、boxup 文章出處:BoxSup: ExploitingBounding Boxes to  SuperviseConvolutional Networks

創新點:很多語義分割的CNN訓練都是靠大量的annotated segmentation masks,這種方式需要大量的工作來標記。本文通過boundingbox來進行相應的監督學習,主要是一個迭代過程,首先在區域proposal的配合下用bounding box得到分割掩膜,得到掩膜反過來更新CNN模型,再用CNN模型估計掩膜,直到迭代終止。

 

 

這是論文裏面的優化的核心部分,前者是考慮與bounding box的平均交集最多的segmentation mask作爲監督信息,後者考慮的就是FCN(之前有文章介紹過)。

9、DecoupledNet 文章出處:DecoupledDeep Neural Network for Semi-supervised Semantic Segmentation

之前的很多方法都需要大量的ground truth,這樣導致的結果是分割的圖像類別有限制(20類都需要大量的ground truth),之前有提出半監督的訓練,通過不斷迭代的方式進行,但那種方式可能導致的問題的沒法迭代收斂,相應的實現接口也比較複雜。這個方法對於類別數沒有限制,具有可擴展性。

decoupling classification and segmentationreduces search space for segmentation significantly, which makes it feasible totrain the segmentation network with a handful number of segmentationannotations

輸入一張圖片,分類網絡得到圖片的標籤,分割網絡得到相應的每一類的前景背景分割圖(概率分佈?),中間加入bridge層提取class-specific information。

訓練過程:先用大量的image-level 標籤訓練前面的分類網絡,然後用少量的pixel-level標籤來進行後續網絡的訓練,由於pixel-level標籤較少,用數據增加得到人工的訓練樣本。

分類網絡給的class-specific activation maps可以減少分割網絡中優化時的搜索空間,因爲只有兩類(前景或者背景),這樣減少了很多網絡參數。

創新點和優點:

一、  提出了一個將分類和分割網絡結合的半監督網絡,對於訓練來說比較簡單;

二、  引入了bridgelayer連接兩個網絡,主要是提取每一類的activation map然後進行前景背景的分割,這些map提供了很好的先驗信息,使得整個參數學習過程也比較簡單容易,只需要少量的anotation。


發佈了15 篇原創文章 · 獲贊 41 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章