Causal Intervention for Weakly-Supervised Semantic Segmentation


Zhang D., Zhang H., Tang J., Hua X. and Sun Q. Causal Intervention for Weakly-Supervised Semantic Segmentation. NIPS, 2020.

這篇文章從因果關系的角度剖析如何提升弱監督語義分割的方法.

主要內容

普通的弱監督語義分割

image-20210406172107380

弱監督語義分割不似普通的語義分割一樣依賴豐富的人工標注, 本文考慮的情況就是非常極限的, 僅知道每張圖片的類別標簽(可以是多標簽, 比如: 人, 車, 表示一張圖片里面有人有車).

一般的弱監督語義分割包含:

  1. 訓練一個分類模型(多標簽);
  2. 通過CAM確定大概的seed areas;
  3. 將seed areas進行拓展得到pseudo-masks;
  4. 訓練一個分割模型(將pseudo-masks作為ground-truth);
  5. 概分割模型作為最后的模型

但是顯然的是, 僅僅憑借類別標簽完成復雜的語義分割任務是相當困難的, 大概有如下:

  1. 目標物體往往不是孤立的: 有可能數據集中每次出現馬的時候都會有一個人, 則分類模型可能會將二者的特征混合用於分類, 那么最后的分割就很難明顯的把二者的邊界提取出來;
  2. 背景信息並不完全: 背景往往含有一些別的未被標注的目標, 而這些目標和我們所關心的目標有可能是相互聯系甚至是同時存在的, 比如: 地板和沙發, 這導致在提取沙發的時候往往把模板也一並提取出來了;
  3. foreground, 前景的目標往往是共同變化的: 比如車和車窗, 車窗總是會反應周圍的事物, 導致車窗這一屬性不是用來提取車的好的特征, 分類模型很有可能會丟掉這一部分信息, 其導致的結果就是最后的分割的區域車窗少一塊.

因果模型

image-20210406172025175

C: context prior;
X: pixel-level image;
M: image-specific representation using the textual templates from C;
Y: labels.

作者認為, 整個流程是這樣的:

  1. 確定先驗背景信息\(C\);
  2. 通過先驗背景信息\(C\)構建圖片\(X\);
  3. 圖片\(X\)和背景信息\(C\)共同確定了和背景有關的特征表示\(M\);
  4. \(X\), \(M\) 共同影響最后的類別標簽\(Y\).

我們一般的分類模型, 實際上是擬合條件分布

\[\mathrm{P}[Y|X], \]

顯然這個條件分布與先驗的背景信息有很大聯系, 即圖(a).
而我們實際上所關心的是

\[\mathrm{P}[Y|do(X)], \]

即建立目標的出現和場景沒有關系的模型.
首先我們要做的就是將其轉為一般的統計估計量:

\[\tag{1} \begin{array}{rl} \mathrm{{P}}[Y|do(X)] =& \sum_{c} \mathrm{P}[Y|do(X), c] \: \mathrm{P}[c|do(x)]\\ =& \sum_{c} \mathrm{P}[Y|do(X), c] \: \mathrm{P}[c]\\ =& \sum_{c} \mathrm{P}[Y|X, c, f(X;c)] \: \mathrm{P}[c]\\ =& \sum_{c} \mathrm{P}[Y|X, M=f(X;c)] \: \mathrm{P}[c].\\ \end{array} \]

顯然, 這里有一個假設, 即知道了\(X, C\)之后, \(M\)也是確定的, 其通過\(M=f(X;c)\)來擬合.

訓練流程

image-20210406175915587

  1. 訓練以\(X, M\)為輸入的多標簽分類網絡, 其通過

\[\mathrm{P}[Y|do(X);\Theta_t] = \prod_{i=1}^n [\mathbf{1}_{i \in Y}\frac{1}{1 + \exp(-s_i)} + \mathbf{1}_{i \not\in Y}\frac{1}{1 + \exp(s_i)} ], \]

其中\(s_i=f(X, M_t;\theta_t^i)\), \(n\)是類別總數.
2. 利用CAM得到seed areas 並擴展為pseudo-mask;
3. 將上面的pseudo-mask作為ground-truth訓練分割模型;
4. 計算

\[M_{t+1} = \sum_{i=1}^n \alpha_i c_i P(c_i), \quad \alpha_i = softmax(\frac{(W_1X_m)^T(W_2c_i)}{\sqrt{n}}). \]

注意到, 我們本應該最小化(1), 但是注意到, 此時對於每一個\(c\), 我們都要循環一次, 這非常非常耗時, 所以作者是:

\[\sum_{c} \mathrm{P}[Y|do(X), M=f(X;c)] \mathrm{P}[c]\approx \mathrm{P}[Y|do(X), M=\sum_{c}f(X;c)\mathrm{P}(c) ].\\ \]

一直進行\(T\)步.

注:第1步中的\(f(X, M_t;\theta_t^i)\)並不一定要讓\(X, M_t\)都在同一層輸入, 實際上\(M_t\)是比較抽象的信息, 故作者實驗發現在后幾個block加入效果更好;

注: 先驗背景信息\(\{c_i\}\)是pseudo-mask的平均;

注: \(W_1, W_2\)是可訓練的參數.

代碼

原文代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM