【語義分割】常用模型架構淺讀

                Semantic Segmentation with Deep Learning

From FCN to Dilated Convolution

Fcn-Fully Convolutional Networks for Semantic Segmentation

Key Contributions:

  1. 採用了end-to-end,pixels-to-pixels的全卷積網絡(用卷積層代替原來的全連接層)
  2. 可以輸入任意尺寸,並且輸出等同輸入尺寸的大小
  3. 反捲積層上採樣(增大特徵圖尺寸,輸出精確的結果) 
  4. 利用跳躍鏈接改善上採樣粗糙像素定位

Paper Details: 

從整體結構上來看,FCN將全連接層去掉,採用反捲積層來代替,如下圖1.1,圖1.2
 

                                                                         Figure 1.1

                                                                          Figure 1.2

由圖1.2可見,前五層都是卷積層,到了第6,7這兩層,原來的卷積神經網絡都是採用全連接,都是4096的一維向量。而現在改爲卷積層變成了(4096,1,1)然後論文後續利用卷積層進行反捲積操作,也可以稱爲上採樣操作。 
此外,爲了改善上採樣的效果,此論文采用了一種跳躍連接的方式,如圖1.3

                                                                           Figure 1.3

對原圖進行卷積conv1,pool1圖像縮小到1/2,...,到conv5,pool5,圖像已經縮小到原來的1/32,在此過程中保留了pool3,pool4,pool5的feturemap,對4層、3層進行反捲積上採樣放大到16倍,8倍。以此來提高精度。原先到第5層反捲積已經放大32倍,還原到原來圖像到大小(coarse) 

SegNet:A Deep Conbolutional Encoder-Decoder Architecture for Image Segmentation

Key Contributions:

  1. 採用encode-decode的結構
  2. 編碼器與譯碼器之間採用了Pooling indices,(介於我的理解是)Pooling indices記錄了編碼過程中pooling中最大值的位置,然後傳遞到解碼器中,然後根據這個位置信息進行Unpooling

Tips: 

這邊補充瞭解下了Upsampling(上採樣)和Unpooling(上池化)的區別,如圖2.1和圖2.2

                                                                          Figure 2.1

                                                                         Figure 2.2

上池化是將最大值對應位置區域全部設置爲0,而上採樣是將對應周圍區域設置爲相同值。

Paper Details:

下面是整個模型的框架見圖2.3:

                                                                          Figure 2.3

最一開始左邊是卷積提取特徵,採用的是Batch正則化和ReLU的激活函數,之後用pooling讓圖片變小,這個過程即爲Encoder過程。Encoder中前13層卷積層用到是VGG16的卷積層。右邊就是反捲積,經過upsampling,使圖像分類過後的特徵得以重現,並且還原到原圖像尺寸,這個過程稱爲Decoder過程。其中,綠色的pooling層與upsampling層對應,並且通過pooling indices聯結。最後通過softMax,輸出不同分類的最大值,得到最終的分割圖(整個模型架構就是VGG16+encoder,decoder機制)

                                                                          Figure 2.4

這篇論文的亮點在於在編碼器和譯碼器之間加入了pooling indices,詳細過程如圖2.5:

                                                                           Figure 2.5

論文中闡述這樣做的好處有:1.改善了邊界劃分2.減少了端到端訓練參數的數量3.這種上採樣的方式可以應用到任何編碼解碼到結構中去如FCN

U-Net

Key Contributions:

  1. 與SegNet類似採用了編碼譯碼的結構,如圖3.1
  2. 用於醫學圖像,它不重複使用pooling indices。將整個特徵圖傳輸到相應到解碼器上,將其連接上採樣(通過反捲積,這邊我覺得與FCN類似,FCN沒有解碼結構,採用到是Skip connection)

                                                                      Figure 3.1

Dilated Convolutions: Multi-Scale Context Aggregation By Dilated Convolutions 

Key Contributions:

  1. 在處理像語義分割這種密集型預測問題上,提出了膨脹卷積的思想,用於傳統的卷積神經網絡(根本上是想解決pooling之後感受野區域增大,卻丟失原圖像分辨率的問題)(之前幾個模型也在處理這個問題,提出的方法不同)
  2. 將膨脹卷積應用到’context module’用來聚合多尺度信息
  3. 膨脹卷積機制可以以任何分辨率插入現有架構

Paper Details:

原來卷積離散的數學定義如下:

而膨脹卷積的定義爲:

並且每次都是以指數的形式增長,如1-dilated,2-dilated,4-dilated...論文中是這樣定義的:

Fi+1的維度都是(2^(i+2)-1)*(2^(i+2)-1),如圖4.1:

                                                                          Figure 4.1

由於padding和卷積的stride=1,卷積前後feature map大小可以保持不變,但每個元素的感受野指數增大。論文中提出了兩個module,第一個是frontend,第二個是context。從兩者的關係上來說,frontend的output作爲context的input,context起到對分割結果的優化。

Frontend Module Details:

總體上的架構是採用了VGG16(模型架構如圖4.2)。在此基礎上,去除了最後兩個pooling layers和隨後的卷積層。在第三個池化層和第四個池化層加入2-dilated的膨脹卷積,第四個池化層之後加入4-dilated的膨脹卷積。整個模型以彩色圖像作爲輸入,以特徵圖作爲輸出。

                                                                    Figure 4.2 VGG16

論文中沒有給出Frontend的架構,這邊我繪製一下大概的模型如圖4.3:

                                               Figure 4.3 VGG16+dilated convolution(Frontend)

這邊在膨脹卷積的部分細節上的繪製可能有點差錯。

Context Module Details:

這邊有點懵,沒看太懂。總體上來說,論文提到了以下幾個特性。1.c個通道的特徵圖進,c個通道的輸出。2.可以安插在任何網絡裏。他的總體架構如下圖4.4:

                                                                      Figure 4.4

References: 

[1]. Jonathan Long,Evan Shalhamer and Trevor Darrell,"Fully Convolution Networks for Semantic Segmentation",arXiv:1411.4038v2 [cs.CV] 8 Mar 2015

[2]. Vijay Badrinarayanan,Alex Kendall and Roberto Cipolla,"SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation",arXiv:1511.00561v3[cs.CV] 10 Oct 2016

[3]. Fisher Yu and Vladlen Koltun,"Multi-Scale Context Aggregation By Dilated Convolution",arXiv:1511.07122v3[cs.CV] 30 Apr 2016

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章