1. 程式人生 > >影象語義分割(2)-DeepLabV1: 使用深度卷積網路和全連線條件隨機場進行影象語義分割

影象語義分割(2)-DeepLabV1: 使用深度卷積網路和全連線條件隨機場進行影象語義分割

論文地址:SEMANTIC IMAGE SEGMENTATION WITH DEEP CONVOLUTIONAL NETS AND FULLY CONNECTED CRFS
論文程式碼:
工程連結1
工程連結2

1. 提出問題

  首先明確一個概念-high level task,是指那些抽象度高且對細節不敏感的任務,low則恰好相反。
  文章指出使用卷積神經網路進行影象語義分割的時候會面臨兩個問題:

  • (1) 下采樣導致細節資訊的丟失
  • (2) CNN的空間不變性。即對於分類任務來說,同一張圖片進行空間變化(平移等)不影響最後結果,但對於分割任務來說完全不同。

2. 針對性方案

2.1 空洞卷積解決下采樣問題

  普通下采樣減小了影象的尺寸使得單個畫素對應了更大的感受野,但是同時也使得解析度下降,丟失了部分區域性資訊。此時自然想到需要一個不採用max pooling且仍能對應大感受野的取樣方法,引入空洞卷積來解決下采樣問題。

2.2 Dense/FullyConnected CRF解決空間不變性問題

   傳統的影象分析中,CRF主要用來做平滑處理,又因為short-range CRFs 可能會對我們恢復區域性資訊的目標起到反作用,所以使用全連線CRF,考慮全域性資訊。
  全連線條件隨機場的能量函式如下:
E

( x ) = i θ i
( x i ) + i j θ i j ( x i , y j ) E(x)=\sum_i \theta_i(x_i)+\sum_{ij} \theta_{ij}(x_i,y_j)

  這個能量函式計算的是所有畫素點的量和能量,其中後半部分pairwise部分顯示,特徵數量是n(n-1)[n指畫素個數],所以全連線條件隨機場也被稱為Dense CRF。
  能量函式的前半部分是一個一元函式:
θ i ( x i ) = l o g P ( x i ) \theta_i(x_i)=-logP(x_i)

  我們重點關注pairwise部分:
θ i j ( x i , y j ) = μ ( x i , y j ) m = 1 K ω m k m ( f i , f j ) \theta_{ij}(x_i,y_j)=\mu(x_i,y_j)\sum _{m=1}^K \omega_m \cdot k^m(f_i,f_j)

  其中:

  • μ ( x i , y j ) \mu(x_i,y_j) ,label compatibility:指約束力的傳導方向,只有相同的label能量才可以互相傳導,例如"畫素a可能是飛機"、“畫素b可能是飛機”、“畫素c可能是人”,1和2才可能相互作用[增強或減弱],二者和3並不能互相影響
  • 加和項是典型的 權重 X 特徵,代表了不同畫素之間的親密度:
    k m ( f i , f j ) = ω 1 e x p ( p i p j 2 2 σ α 2 I i I j 2 2 σ β 2 ) + ω 2 e x p ( p i p j 2 2 σ γ 2 ) k^m(f_i,f_j)=\omega_1 exp(-\frac{{||p_i-p_j||^2}}{2 \sigma _\alpha ^2}-\frac{{||I_i-I_j||^2}}{2 \sigma _\beta ^2})+\omega_2 exp(-\frac{{||p_i-p_j||^2}}{2 \sigma _\gamma^2})

    這其中:
          a. 前半部分稱為appearance kernel,其中, p p 表示畫素的位置-position[2維]; I I 是影象畫素值[彩色,對應3維]; 2 σ α 2 2 \sigma _\alpha^2 , 2 σ σ 2 2 \sigma _\sigma^2 , 2 σ γ 2 2 \sigma _\gamma^2 表示了高斯分佈的scale[方差]。從中我們可以看出:-畫素距離越近,顏色越接近,feature越強,反之則減弱;-分母越大,feature就越難強起來 \Longrightarrow 在5維空間尋找想進畫素並進行特徵加強
          b. 後半部分就是一個平滑處理。

2.3 other-多尺度預測

  multi-scale prediction將前四個max pooling後分別新增MLP(3x3x128和1x1x128)得到預測結果,將這四個預測結果與模型輸出進行拼接(concentrate),多了128x5個channels。
  但是多尺度預測的結果不如Dense CRF,模型最後結合二者來進行預測。

3. 模型架構

3.1 對原有VGG-16的調整

  • 將全連線層替換為卷積層
  • VGG網路中的後兩個max pooling去掉(VGG有5個max pooling),也可以將後兩個池化層的步長從2變為1,並加padding=1,只進行8x下采樣
  • 後兩個max pooling後的普通卷積層替換為空洞卷積
  • 對VGG中的第一個全連線卷積層(核尺寸7*7)使用3x3或者4x4的卷積層來進行替代,這樣能夠控制感受野,減少計算量(計算時間減少2-3倍)

3.2 其他

  • 損失函式使用交叉熵
  • 訓練資料label:原始Ground Truth進行8x下采樣
  • 測試資料label:預測結果 雙線性插值8x上取樣