【論文筆記】CNN-based SemSeg using Level Set Loss

論文地址:https://arxiv.org/abs/1910.00950,2019 IEEE Winter Conference on Applications of Computer Vision (WACV). IEEE, 2019

解決的問題

CNN 分割網絡常見的兩個問題:

  • 在池化過程中,特徵圖分辨率降低
  • 對小物體不敏感

對於上述兩個問題的常見解決方法:

以上方法要麼犧牲了時間,要麼犧牲了空間,爲了實現更好的分割性能,同時權衡了時間和空間的花費,這篇論文 提出一種新的損失函數 Level Set Loss
在這裏插入圖片描述(a)和(b)分別是原圖和 ground-truth,(c)是 DeepLab 分割的結果,(d)是本文采用新的損失函數後的分割結果。

從分割結果看出,該方法細化了分割邊界並填補了分割缺失的部分,並且增強了對小物體的分割效果。

論文亮點

  • 將傳統的 Level Set 方法與深度學習架構相結合,提出 Level Set Loss ,有助於分割網絡學習目標的空間信息,比一般使用的交叉熵損失有更好的性能,實現 端到端的訓練

語義分割網絡大多使用 cross-entropy loss function,這種 Loss 函數只是 獨立地 計算每個像素上的損失情況,而這篇論文認爲,在分割網絡的輸出結果中,像素之間是有語義關係的,而且這種語義關係可以用網絡輸出的概率圖來表示。

所以基於這一目的,本篇論文設計了 Level Set 能量函數,利用能量函數能夠考慮到空間信息的特點,進一步提升分割效果。

方法描述
在這裏插入圖片描述
Level Set 方法只能進行二分類(區分前景和背景),要做多類別分割任務時,這篇論文的解決方案是爲每一個目標(注意 不是 每一個類,只是假設了每個類只有一個目標而已)都生成一個二值 mask,也就是說這張圖中有多少個可分割出的小個體(閉合區域),就需要生成多少張二值 mask。

GG 爲圖像的 ground-truth,LL 爲圖像中目標的類別數,重新構建 ground-truth GlG_l,角標 ll 代表第 lLl \in L 類,將該類作爲新的 ground-truth 的前景,其餘所有類別均作爲背景,特別注意 G0G_0 是背景類。

< 具體做法 >

原始的 Level Set 能量函數長這樣:
在這裏插入圖片描述
在這篇論文裏的改進包括:

  • 首先,設置參數 ν=0\nu = 0λ1=λ2=1\lambda_1 = \lambda_2 = 1
  • 其次,上式的長度正則化項 Length(ϕ)Length(\phi) 對object 的大小很敏感,所以對於輸入數據有多種尺度的 objects 的情形來講,長度正則化項不適用,所以將 μ\mu 也設置爲 0

這樣的話,實際上是不採用長度和麪積的正則化項,僅包含兩項:
在這裏插入圖片描述
其中 Ωl\Omega_lGlG_l(第 ll 類目標)的全部區域,ϕ(x,y)\phi(x,y) 是 shifted dense probability map(就叫它 偏移概率圖 好了),定義爲:ϕl(x,y)=Pl(x,y)0.5[0.5,0.5]\phi_l(x,y) = P_l(x,y) - 0.5 \in [-0.5, 0.5],其中 Pl(x,y)P_l(x,y) 是爲第 ll 類預測的概率圖。Level Set Function 就定義爲該分割網絡預測的偏移概率圖。

【這裏的想法很巧妙,LSF 本身就是要凸顯出前景和背景的不同從而確定一個輪廓曲線的,在 DELSE 中使用截斷符號距離矩陣,通過定義內部點到輪廓上距離爲負、外部點到輪廓上距離爲正、輪廓上點到輪廓距離爲 0 確定除了 LSF;這裏是同樣的到理,通過將概率圖減掉 0.5,所有概率值爲負的就可以代表背景(說明本來的概率小於 0.5),概率值爲正的可以代表前景(說明本來的概率大於 0.5),概率值剛好爲 0 的說明它本來預測的就是 0.5,類別不明朗,所以可以作爲邊界。】

另外,在進行單類別分割時,傳統 Level Set 函數中的 uu 是用來學習目標物體特性的,而在多類別分割時,不同物體間顏色差異比較大,一個 uu 肯定沒辦法同時表達多種類別物體的特性,所以這篇文章對 uu 也進行了替換:GlG_l,用於表示第 ll 個類別的物體的特性,具體就是第 ll 個類別的物體在所有像素點上的強度。

cl,1c_{l,1}cl,2c_{l,2} 是 ground-truth 二值圖像 GlG_l 的前景和背景的平均強度值:
在這裏插入圖片描述

總結

1. 數據處理:對標籤數據重新處理,prostate 數據集有兩類,爲這兩個類別分別生成二值 mask,對於背景類來說,prostate 像素值爲 0 背景像素值爲 1,對於 prostate 類來說,prostate 像素值爲 1 背景像素值爲 0。

2. 對 DeepLab-ResNet 網絡的更改

  • 對數據輸入接口的更改:輸入數據爲訓練圖像 + 每一張圖像對應的 n 張二值 mask標籤

  • 對網絡結構的更改

  • 對輸出大小的更改

  • 對 Loss 函數的更改

對於每個類別,將概率圖作爲二值圖像的 level set function。

對於圖像中每個類(包含背景類)都生成一個二值圖像,其中 1(白色)表示前景,0(黑色)表示背景,對每個類別都計算 Level Set Energy,將 Energy 的和作爲分割網絡的損失。

採用了 Level Set Theory 來考慮 ground truth 上空間信息的關聯,

使用 level set function 作爲 loss function,通過將 level set loss 降到最小,可以獲得邊界更復雜的分割結果

基於區域的 Level Set Method 比基於邊緣的 Level Set Method 效果好,因其對於噪聲和初始化輪廓具有魯棒性。

使用 Level Set 做顯著目標檢測,使用 super-pixel filtering 進一步細化結果
使用 Contextual Recurrent Level Set (CRLS) 做語義分割,將 Level Set 方法轉換爲 RNN 網絡,但由於 Level Set 不能用於多類別圖像,所以需要先用一個檢測網絡來獲得單目標圖像。

而本文的方法不需要任何輔助網絡

問題:Level Set 無法用於多類別目標圖像

Cross-entropy loss 的缺點在於,沒有場景理解能力

Region-based Level Set Method 通過最小化能量函數實現語義分割問題,

提出 Modified Approximated Heaviside Function (MAHF) HH*,即使用 tanhtanh 作爲激活函數:
在這裏插入圖片描述
實驗證明,H* 的效果好於 HF 和 AHF

Level Set Loss 函數的梯度:
在這裏插入圖片描述
將 Level Set Loss 和 Cross-Entropy Loss 結合起來,使網絡學習到更多的特徵:
在這裏插入圖片描述
其中 λ\lambda 是 Level Set Loss 的權重

爲什麼加上 Level Set Loss 後效果會變好?因爲能量函數考慮到了圖像的全局空間信息

實驗效果

  1. 在 PASCAL VOC 2012 增強數據集上(訓練、驗證和測試分別有10582,1499,1456 張圖片,21類):
    在這裏插入圖片描述
  2. 在 PASCAL-Context 數據集上(訓練、測試分別有 4998 和 5105 張圖片,60類):
    在這裏插入圖片描述
  3. CityScapes 數據集上(訓練、驗證分別有 2975 和 500 張圖片,19類):
    在這裏插入圖片描述
  4. Level Set Loss 與用 CRF 做後處理的效果差不多,但效率更高:
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章