1. 程式人生 > >影象語義分割(4)-SegNet:深度全卷積編解碼結構

影象語義分割(4)-SegNet:深度全卷積編解碼結構

論文地址:
SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation
[Badrinarayanan V , Kendall A , Cipolla R . SegNet: A Deep Convolutional Encoder-Decoder Architecture for Scene Segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017:1-1.]
論文實現:

github程式碼

1. 概述

1.1 解決的問題

  • 影象語義分割中max pooling等Subpooling方法縮小了特徵圖尺寸,導致資訊丟失
  • 影象分割模型的主要結構(編解碼)

1.2 提出新方法

  • Encoder—Decoder
  • 新的上取樣方式unpool with indices

1.3 得到的效果

  • 精度上與FCN相差不大,而且Deconv方法效果更好
  • 在儲存和時間效率上SegNet效果大大改善,這也對應了SegNet的初衷,道路物體語義資訊理解(自動駕駛)

2.模型關鍵架構

在這裡插入圖片描述

2.1 Encoder-Decoder架構

  FCN語義分割網路中的編解碼結構如下:

  • Encoder:使用pool操作和卷積操作,特徵圖尺寸縮小,通道數增加 \rightarrow SubSample
  • Decoder: 使用Deconv特徵圖尺寸增加 \rightarrow
    UpSample
      在SegNet中做了如下改進:
  • Encoder:VGG網路直接去掉三層全連線層,模型引數大幅度減小,模型規模大幅下降。每一次卷積後加依次Batch Normalization。
  • Decoder:每一個Encoder對應一個Decoder並提出新的upSample方式,unpool with indices

2.2 Unpool 反池化上取樣方式

  記錄下maxPooling在對應Kerner的座標,反池化過程中,將一個元素根據Kernerl放大,其他位置元素補0,如下圖所示:
在這裡插入圖片描述