天天看點

深度學習語義分割開山之作-經典論文-FCN泛讀:快速浏覽把握概要精讀總結:總覽全文,歸納總結

FCN論文學習筆記

  • 泛讀:快速浏覽把握概要
    • 摘要
    • 根據圖,表格對重點内容進行把握
  • 精讀
      • 論文的結構
        • 1. introduction(Figure 1.)
        • 2. Related work
        • 3. Fully convolutional networks
          • 3.1.使分類器适應密集預測(Figure 2.)
          • 3.2. 移位縫合是過濾稀疏
          • 3.3.(上采樣是反向交錯卷積)
          • 3.4.拼湊訓練是損失抽樣
        • 4. 分割架構
          • 4.1 .從分類器到稠密FCN
          • 4.2 .結合什麼和在哪裡
          • 4.3 .實驗架構
        • 5. 結果
        • 6. 結論
  • 總結:總覽全文,歸納總結

泛讀:快速浏覽把握概要

摘要

  • 主要成就: 端到端、像素到像素訓練方式下的卷積神經網絡超過了現有語義分割方向最先進的技術
  • 核心思想: 搭建了一個全卷積網絡,輸入任意尺寸的圖像,經過有效推理和學習得到相同尺寸的輸出
  • 主要方法: 将目前分類網絡改編成全卷積網絡并進行微調設計了跳躍連結将全局資訊和局部資訊連結起來,互相補償
  • 實驗結果: 在PASCAL VOC\NYUDv2和SIFT FLOW資料集上得到了state-of-the-art的結果。

根據圖,表格對重點内容進行把握

精讀

論文的結構

1. introduction(Figure 1.)

提出了語義分割目前存在的問題:語義與位置的内在沖突,即全局資訊和局部資訊的沖突。全局資訊解決是什麼,局部資訊解決在哪裡。

全局資訊與局部資訊的對比:

深度學習語義分割開山之作-經典論文-FCN泛讀:快速浏覽把握概要精讀總結:總覽全文,歸納總結

并且提出了解決辦法:

FCN使用深層特征層級( Deep feature hierarchies)在局部到全局金字塔(local-to-global pyramid)中共同編碼位置和語義,這裡作者提出一個叫”skip”新架構,将深層的、粗糙的語義資訊和淺層的、精細的表征資訊結合起來。

2. Related work

這裡介紹了在此之前,優秀的語義分割網絡成功案例

3. Fully convolutional networks

感受域:在卷積神經網絡中,決定某一層輸出結果中一個元素所對那個的輸入層的區域大小。

通常來說,大感受野的效果比小感受野的效果更好。由公式

RF(l+1) = RF(l)+ (kernel_size -1)*stride

可見,stride 越大,感受野越大。但是過大的stride會使feature map保留的資訊變少。是以在減小stride的情況下,如何增大感受野或使其保持不變,成為了分割中的一大問題。

3.1.使分類器适應密集預測(Figure 2.)
  • 輸入的固定尺寸到任何尺寸
    • CNN是圖像級别的分類
    • FCN是像素級别的分類
    • FCN和CNN的差別在于FCN把CNN最後的全連接配接層換成卷積層輸出一張已經label好的圖像
  • FCN就是在CNN的最後一層卷積進行反卷積将圖檔改為了原來圖像的尺寸。
3.2. 移位縫合是過濾稀疏

解釋了移位縫合的原理。并打算用卷積對其進行實作,但是實驗失敗了。在探索的道路上放棄了這個方法,選擇了反卷積,對結果進行上采樣。

3.3.(上采樣是反向交錯卷積)

說明了反向卷積實作上采樣的可能性。

3.4.拼湊訓練是損失抽樣

讨論進行全圖像級别的采樣和塊級别的采樣,經過試驗,整個圖像采樣的效果會更好。

對于 patch-wise的補充:

The term “Patchwise training” is intended to avoid the redundancies of full image training. In semantic segmentation, given that you are classifying each pixel in the image, by using the whole image, you are adding a lot of redundancy in the input. A standard approach to avoid this during training segmentation networks is to feed the network with batches of random patches (small image regions surrounding the objects of interest) from the training set instead of full images. This “patchwise sampling” ensures that the input has enough variance and is a valid representation of the training dataset (the mini-batch should have the same distribution as the training set). This technique also helps to converge faster and to balance the classes. In this paper, they claim that is it not necessary to use patch-wise training and if you want to balance the classes you can weight or sample the loss. In a different perspective, the problem with full image training in per-pixel segmentation is that the input image has a lot of spatial correlation. To fix this, you can either sample patches from the training set (patchwise training) or sample the loss from the whole image. That is why the subsection is called “Patchwise training is loss sampling”. So by “restricting the loss to a randomly sampled subset of its spatial terms excludes patches from the gradient computation.” They tried this “loss sampling” by randomly ignoring cells from the last layer so the loss is not calculated over the whole image.

我的了解是:對于整個圖像的采樣會産生大量的備援,通過patch-wise(隻對感興趣的目标周圍像素)進行采樣又會丢失掉整個圖像上的空間相關性。是以可以在網絡的最後一層神經元上進行塊級采樣,避免計算其産生的空間損失。(個人也不是很了解,希望有了解的可以提供寶貴的意見。)

4. 分割架構

4.1 .從分類器到稠密FCN

指出自己對AlexNet,VGG16和GoogLeNet的改編,并通過試驗最終選擇VGG16這個網絡。

4.2 .結合什麼和在哪裡

解釋了自己的跳躍結構,并通過試驗驗證了其有效性,并指出其層級之間結合的限制。同時将該方法與其他方法進行了比較,證明本文提出方法的高效性。

4.3 .實驗架構
  • 優化

    優化方法:SGD with momentum。在試驗過程中,超參數設定的探索以及類别得分卷積層的初始化沒有效果等進行了說明。在原本的分類器中使用了dropout。

  • 微調

    由于隻微調輸出層的效果并不好,是以本文微調了所有層。

  • 塊級采樣

    這個方法可能是之前經典的解決方法,是以一直在比較本文提到的全圖像采樣。

  • 類别平衡

    在神經網絡中,需要平衡各類别的訓練樣本數。但是本訓練樣本基本上3/4的空間都是背景,樣本類别不是非常的平衡。最後試驗發現類别平衡在本實驗中不重要。

  • 密集預測

    中間的層使用的是雙線性采樣

    最後一層使用的雙線性插值的反向卷積

  • 圖像增廣

    使用鏡像和平移方法來增加訓練資料,但是沒有顯著的幫助。

  • 更多的資料
  • 實作

    使用caffe架構,單個GPU,開源

5. 結果

我們訓練FCN在語義分割和場景解析,研究了PASCAL VOC, NYUDv2和 SIFT Flow。盡管這些任務在以前主要是用在物體和區域上,我們都一律将它們視為像素預測。我們在這些資料集中都進行測試用來評估我們的FCN 跳躍架構,然後對于NYUDv2将它擴充成一個多模型的輸出,對于SIFT Flow則擴充成多任務的語義和幾何标簽。

指出度量名額:

深度學習語義分割開山之作-經典論文-FCN泛讀:快速浏覽把握概要精讀總結:總覽全文,歸納總結

6. 結論

全卷積網絡是一類豐富的模型——現代分類卷積網絡是其中的一個特例。認識到這一點,将這些分類網擴充到分割,并用多分辨率層組合改進體系結構,極大地提高了技術水準,同時簡化和加快了學習和推理。

總結:總覽全文,歸納總結

對于FCN架構的了解:

深度學習語義分割開山之作-經典論文-FCN泛讀:快速浏覽把握概要精讀總結:總覽全文,歸納總結

對于FCN-8s的了解:

深度學習語義分割開山之作-經典論文-FCN泛讀:快速浏覽把握概要精讀總結:總覽全文,歸納總結

要對整體的架構了解清楚。在論文中有很多經驗之談,是作者在試驗過程中積累的,個人覺得可以進行學習。

訓練技巧的總結:
  • 加載預訓練模型
  • 初始化反卷積參數(l利用雙線性插值)
  • 至少175 個epoch後算法才會有不錯的表現
  • 學習率在100次後進行調整,越後面學習率越小
  • pool3之前的特征圖不需要融合(也就是pool1/2)試驗結果表明,加入後的效果沒有很大的提升,且增加了計算,也就沒有必要再加上了。

繼續閱讀