FCN與ParseNet


Fully Convolutional Networks for Semantic Segmentation

問題描述

        本文是將CNN應用到語義分割任務並得到顯著結果的開山之作。以往的用於語義分割的CNN,是對候選區域進行特征提取,不能達到像素級別的精度。本文設計了FCN(全卷積網絡),將網絡中的全連接層替換為卷積層,輸入任意尺寸,通過學習生成對應尺寸的輸出。

其主要貢獻在於:

 (1)  FCN(全卷積網絡)將分類網絡中的全連接層替換為卷積層,可以輸入任意尺寸,再通過上采樣生成對應尺寸的輸出。

(2) 使用遷移學習的方法進行 finetune

(3) 使用跳躍結構使得,使得深的粗的語義信息可以結合淺的細的表征信息,產生准確和精細的分割。實驗證明了經過端到端、像素到像素訓練的卷積網絡取得了當前語義分割中的最佳結果。

2  內容介紹

2.1  全卷積網絡

圖1   全卷積網絡得到heatmap

        如圖1所示,FCN將AlexNet最后三個全連接層改為卷積層,經過卷積操作得到特征圖稱之為heatmap。

2.2  上采樣

        后續的操作為:在上圖的基礎上,對heatmap 不斷upsampling到原始圖片大小。比如最后輸出的是21張heatmap經過upsampling變為原圖大小的圖片,最終通過計算在21個通道中每個像素所在位置的最大數值作為該像素的分類結果,實現對原圖的語義分割。

        為得到dense prediction,作者采用上采樣(upsampling) 放大原圖像,得到更高分辨率。圖像放大幾乎都是采用內插值方法,如線性插值、雙線性插值等,即在原有圖像像素的基礎上在像素點之間采用合適的插值算法插入新的元素。

2.2.1  雙線性插值

        雙線性插值是有兩個變量的插值函數的線性插值擴展,其核心思想是在兩個方向分別進行一次線性插值。具體過程如圖2所示

 

圖2  雙性插值

        假如我們想得到未知函數 f 在點 P = (x, y) 的值,假設我們已知函數 f 在 Q11 = (x1, y1)、Q12 = (x1, y2), Q21 = (x2, y1) 以及 Q22 = (x2, y2) 四個點的值。最常見的情況,f就是一個像素點的像素值。首先在 x 方向進行線性插值,得到

       

        然后在 y 方向進行線性插值,得到

       

        綜合起來就是雙線性插值最后的結果。

2.2.2  shift-and-stitch

        設網絡只有一個2x2的max-pooling且stride=2,故下采樣因子f=2。如圖3所示,左邊矩陣為平移因子,經過四次移位得到4個output,分別為圖右上處的3*3。接下來,將原始感受野的中心填上來自output的的pixel值,作為網絡對原始圖片像素類別的prediction,以紅色的1為例,它對應(0,0)we位置處的第一個output,最終結果如右下圖,完成了較為精准的分類預測。但該方法在實驗過程中具有較大的計算開銷,作者並未采用。

 

圖3 shift and stitch 原理圖

        注:該部分內容參考自:https://www.jianshu.com/p/e534e2be5d7d

2.3  分割結構

        作者設計了FCN-32s,FCN-16s, FCN-8s,且在模型中定義了 “skip” 結構,將深的粗糙的信息與淺的精細的信息相結合,產生准確和精細的分割。如圖4所示

 

圖4 分割架構

        以FCN-16s為例:第二行的pool4是在第一行pool4上增加一個1x1的卷積層使其產生一個額外的分類預測,通道數和pool5相同。之后將pool5進行兩倍的上采樣(雙線性插值)。然后將第二行的pool4與2x pool5相加,進行16倍的上采樣得到FCN-16s。

3  參數設置

        通過動量為0.9的SGD(隨機梯度下降)學習網絡權重,mini-batch=20,固定學習速率為10-3,10-4和5-5用於FCN-AlexNet, FCN-VGG16,和FCN-GoogLeNet。使用零初始化,但采用的隨機初始化既不能產生更好的表現也沒有更快的收斂。Dropout應用於原始分類的網絡中。最終通過反向傳播微調整個網絡的所有層。

4  實驗分析

 

表1  FCNs在PASCAL VOC2011驗證集上的結果對比

        實驗證明:FCN-8s的效果最好;當上采樣的步長降低到8,效果提升已經不是很明顯了。即收益遞減,可以不用融合更多的淺層特征。

 ParseNet: Looking Wider to See Better

1. 問題描述         

        FCN的缺點在於:速度不夠快,無法進行實時推理,不能有效地考慮全局上下文信息,而且不容易轉換成三維圖像。因此本文提出了加入全局信息解決該問題,取得了優於FCN的效果。另外,文章通過實驗證明了神經網絡實際的感受野要遠小於其理論上的感受野,並不足以捕捉到全局語義信息。

2. 內容介紹

        模型中用於獲取全局語義信息的架構設置如下圖5,可直接對網絡中任一層進行全局池化得到高維特征圖,並利用這個特征圖進行分割。

        

 

圖5 parsenet上下文模塊設計

       在融合方式上,作者采用了early fusion,早融合的意思是將經過全局池化的全局特征進行反池化(UnPool),得到和原特征圖同樣大小的特征,進行通道的疊加。另外還有一種融合方式late fusion,將兩部分的分類結果以某種方式融合起來,如加權求和。

        采用L2 Norm進行正則化處理,是為了解決不同層融合時尺度不同的問題,通常在處理后加入一個scale參數,使用scale控制歸一化后特征向量的大小。


免責聲明!

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



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