论文笔记:FCN
原文:Fully Convolutional Networks for Semantic Segmentation
FCN
1、四個問題
- 語義分割。
- 提出了“全卷積神經網絡”,可以接收任意尺寸的輸入,并給出對應大小的輸出。
- 使用一些圖像分類模型(如:AlexNet、VGG、GoogLeNet)等做遷移學習。
- 使用skip architecture的結構,結合深層的較粗糙的信息和淺層的較精細的信息,得到更精確的結果。
- 使用反卷積做上采樣。
- 在PASCAL VOC 2012、NYUD v2、 SIFT Flow等數據集上取得了當時(2015年)領先的效果。并且在PASCAL VOC 2012上取得了62.2%的mean IU,比之前的最優方法提高了20%。
- 文中的FCN網絡對每張圖片處理耗時為0.2s。
- FCN是深度學習用于語義分割任務的開山之作,現在來說效果不能算很好。
2、論文概述
2.1、幾個知識點總結
2.2、FCN結構
2.2.1、將分類用于dense prediction
- 作者指出,全連接層可以修正維度并會丟棄空間坐標關系。然而這些全連接層本身也可以看做是覆蓋了整個feature map的卷積核組成的卷積層。
- 使用卷積層替代全連接層。實質上全連接層也可以看做1?11 * 11?1的卷積。
- 以圖中的網絡為例:
- 普通的全連接層:假設最后倒數第二個卷積層的feature map為7?7?2567 * 7 * 2567?7?256,我們令最后一個卷積層的卷積核尺寸為7?7?256?40967 * 7 * 256 * 40967?7?256?4096,得到的結果是1?1?40961 * 1 * 40961?1?4096。將結果flatten,展開成1維的向量,隨后接全連接操作。
- 使用1?11 * 11?1卷積替代全連接:與前面一樣,倒數第二個卷積層的feature map為7?7?2567 * 7 * 2567?7?256,最后一個卷積層的卷積核尺寸為7?7?256?40967 * 7 * 256 * 40967?7?256?4096,得到的結果是1?1?40961 * 1 * 40961?1?4096。下面接上1?11 * 11?1卷積,卷積核為1?1?4096?40961 * 1 * 4096 * 40961?1?4096?4096,其實還是等價于全連接。
- 1?11*11?1卷積操作取代全連接,其實就是對將卷積核上同一點的所有channel進行FC操作。
2.2.2、基本結構
- 假設使用的預訓練網絡是VGG-16,整個FCN網絡中除了最后deconv的部分都與VGG一樣。
- 以圖中的網絡為例,FCN網絡的conv7輸出的heatmap,通過deconv進行上采樣32倍得到第一個預測結果FCN-32s。
- 接著作者使用了skip layers將幾個pooling層輸出的結果結合起來:
- 先將pool4的輸出接上1?11 * 11?1卷積層,然后對conv7的輸出使用deconv進行2倍上采樣,隨后兩個輸出相加。最后再接上stride為16的deconv層進行16倍上采樣。得到第二個預測結果FCN-16s。
- 同理,將pool3的輸出接上1?11 * 11?1卷積與pool4以及conv7的輸出組合起來,最后可以得到第三個預測結果FCN-8s。
2.2.3、訓練細節
2.2.4、度量指標
2.3、其他
3、資料
總結
- 上一篇: 论文笔记:Inception v1
- 下一篇: 论文笔记:ResNet v2