文章目錄
- 1 背景
- 2 模塊
- 2.1 部分交叉熵損失
- 2.2 弱標簽(線/點)
- 2.3 Gated CRF Loss
- 3 效果
- 3.1 總體效果
- 3.2 消融實驗
- 4 總結
- 參考文獻
1 背景
全監督的語義分割需要對全圖進行完全而精確的標注。當需要標注的目標在圖像中較多,又或形狀不規則,又或邊界不清晰,人工進行標注的成本就極高,甚至無法進行標注。比如下圖1-1所示,需要分割圖片中的"臟污",這用全監督的方式訓練該如何標注呢?圖1-1中,我們可以確定一些區域必然是臟污,一些區域必然不是臟污,至于比較模糊的區域,使用弱監督的方式進行標注的話,就可以不標注,讓模型自行判斷。對于確定的區域,也不需要完全的標注,只需要標注部分即可。也就是說,對于圖1-1,使用弱監督模型進行訓練時,一種標注方式就是在確定是臟污的幾個區域畫幾條線,在確定是背景的區域也畫幾條線就可以了。
弱監督的標注形式可以是點、線、多邊形,只要不是講所有目標完整地進行標注,均可稱為弱監督。
本文要介紹的這篇文章講了一種弱監督的損失,可以適用于任意的語義分割模型,對預測部分不會產生任何額外的代價。
所有的弱監督損失其實都在回答一個問題:如何利用未標注區域?
不要被這篇文章的題目嚇到,又是Gated了,又是CRF,這些詞我們都可以不管。我們只需要知道這篇文章把"如何利用未標注區域"分成了兩個問題:
(1)哪些像素是無效區域,不加入損失的計算,即Gated
(2)如何描述有標注的像素和無標注像素之間的相似度,用于監督的引導,即CRF
2 模塊
2.1 部分交叉熵損失
訓練用于語義分割任務的神經網絡 FFF 需要成對的圖像 xxx 及其帶標注的對應圖像 yyy ,傳遞 CCC 類中的逐像素類分配。用 NNN 表示圖像中的像素總數,預測結果 y^=F(x)\hat{y}=F(x)y^?=F(x) 中類別 iii 的概率為 y^(i)\hat{y}(i)y^?(i) 。多類分類問題的傳統損失是交叉熵損失,當標簽 yyy 作為概率分布給出時(軟標簽),其形式為
LCE(y^i,yi)=?∑c=1Cyi(c)logy^i(c)(2-1)L_{CE} (\hat{y}_i, y_i) = -\sum_{c=1}^C y_i(c) log\hat{y}_i(c) \tag{2-1} LCE?(y^?i?,yi?)=?c=1∑C?yi?(c)logy^?i?(c)(2-1)
或當標簽 yyy 具有類標簽時(硬標簽)
LCE(y^i,yi)=?logy^i(yi)(2-2)L_{CE} (\hat{y}_i, y_i) = -log\hat{y}_i(y_i) \tag{2-2} LCE?(y^?i?,yi?)=?logy^?i?(yi?)(2-2)
在全監督中,訓練圖像的幾乎所有像素都被標注,形成與 yyy 大小相同的標注像素 mi∈{0,1}m_i \in \{0, 1\}mi?∈{0,1} 的密集圖。在弱監督中,僅對訓練圖像的幾個像素進行標注,形成標注像素 mim_imi? 的部分圖,其稀疏性取決于弱標注的類型(例如線、點)。由于未標注的像素不向學習過程提供任何信息,因此在用于通過反向傳播計算梯度的損失函數中不考慮它們,即
LCE(y^,y)=∑i=1NmiLCE(y^i,yi)/∑i=1Nmi(2-3)L_{CE} (\hat{y}, y) = \sum_{i=1}^N m_i L_{CE}(\hat{y}_i, y_i) / \sum_{i=1}^N m_i \tag{2-3} LCE?(y^?,y)=i=1∑N?mi?LCE?(y^?i?,yi?)/i=1∑N?mi?(2-3)
由于標注像素 mim_imi?的部分映射,弱監督語義分割的交叉熵損失通常稱為部分交叉熵(pCE)。
2.2 弱標簽(線/點)
典型的弱監督是由標注更少像素同時獲得更多樣本的動機驅動的。繪制多邊形、涂鴉或邊界框已被證明可以在標注時間和分割性能之間產生良好的折衷。與邊界框相比,點擊和涂鴉具有一些有價值的資產:
1)雖然稀疏,但標注的像素更加準確和可靠;
2)標注過程更加高效;
3)對象類和東西類(例如“天空”、“道路”)可以以相同的方式處理。
圖2-1展示了不同的標注方式以及對應訓練出來的模型的效果。
2.3 Gated CRF Loss
本文著手尋找一種方法來最小化弱監督和完全監督語義分割之間的性能差距。作者希望在不依賴任何常用先驗的情況下實現這一目標,例如“objectness”;不擴大帶標注的輸入;沒有在類似任務和數據集上預訓練模型(即 COCO);無需使用復雜的訓練程序或使用非常規最小化技術優化網絡權重;并且不會生成“fake” proposals作為GT并進行多輪訓練,這被證明會導致過擬合。
由于僅在弱標簽上應用 pCE 通常無法提供接近語義邊界的足夠監督信號,因此在監督不可用的情況下,很自然地會出現更糟糕的預測。為了緩解這種情況,作者使用帶標注的輸入作為 pCE 監督信號的種子,并使用其他形式的正則化將其傳播到周圍像素。
首先定義類別 iii 和 jjj 在位置 aaa 和 bbb 的能量方程
ψa,b(i,j)=μ(i,j)Kab(2-4)\psi_{a, b}(i, j) = \mu (i,j) K_{ab} \tag{2-4} ψa,b?(i,j)=μ(i,j)Kab?(2-4)
其中
Kab=∑p=1Pw(p)k(p)(fa(p),fb(p))(2-5)K_{ab} = \sum_{p=1}^{P} w^{(p)} k^{(p)}(f_a^{(p)}, f_b^{(p)}) \tag{2-5} Kab?=p=1∑P?w(p)k(p)(fa(p)?,fb(p)?)(2-5)
ψa,b\psi_{a,b}ψa,b? 表示成對的潛在可能性,μ\muμ 表示通用類兼容性矩陣,尺寸為RC×CR^{C \times C}RC×C ,緊接著的是PPP 個內核k(p)(?,?)k^{(p)}(\cdot, \cdot)k(p)(?,?) 用于一對有權重w(p)w^{(p)}w(p) 的位置。特征向量 fa(p)f_a^{(p)}fa(p)? 是第 ppp 個內核獨有的,并且不依賴于預測結果。實際情況下,通常由位置坐標或者輸入的模態信息(RGB或者深度圖)決定。作者使用的k(p)(?,?)k^{(p)}(\cdot, \cdot)k(p)(?,?)為
k(p)(fa(p),fb(p))=exp{?12∣fa(p)?fb(p)σ(p)∣2}(2-6)k^{(p)} (f_a^{(p)}, f_b^{(p)}) = exp\{ -\frac{1}{2}| \frac{f_a^{(p)} - f_b^{(p)}}{\sigma^{(p)}} |^2 \} \tag{2-6} k(p)(fa(p)?,fb(p)?)=exp{?21?∣σ(p)fa(p)??fb(p)??∣2}(2-6)
并且
μ(i,j)={0,ifi=j1,otherwise(2-7)\mu (i,j) = \begin{cases} 0, \ if\ i = j\\ 1, \ otherwise \end{cases} \tag{2-7} μ(i,j)={0,?if?i=j1,?otherwise?(2-7)
觀察定義的能量項,很明顯,在特征相似的情況下,如果兩個位置的類標簽不同,則其值會更高,也就是損失會很高。這種相似性是由內核的組合、權重和帶寬定義的,在RGBXY內核的情況下,這些相似性會轉化為5D顏色鄰近相似性(RGB為3D,XY為2D,合起來為5D),圖2-2中顯示了一些示例。
現在,可以在位置 aaa 和 bbb 處寫出預測 y^\hat{y}y^? 的能量,然后在“密集”設置中寫出預測 y^\hat{y}y^? 的總能量,其中圖像的每個像素都與其他每個像素相關
ψa,b(y^)=∑i,c∈[1,C]ψa,b(i,j)y^a(i)y^b(j)(2-8)\psi_{a, b}(\hat{y}) = \sum_{i, c \in [1, C]} \psi_{a, b}(i, j)\hat{y}_a(i)\hat{y}_b(j) \tag{2-8} ψa,b?(y^?)=i,c∈[1,C]∑?ψa,b?(i,j)y^?a?(i)y^?b?(j)(2-8)
觀察式2-8也可以發現,懲罰的主要是y^a(i)\hat{y}_a(i)y^?a?(i)和y^b(j)\hat{y}_b(j)y^?b?(j)置信度都很高,且特征相似類別不一致的情況。
總能量為
Ψ(y^)=∑a=1N∑b=1,b≠aNψa,b(y^)(2-9)\Psi(\hat{y}) = \sum^{N}_{a=1} \sum^{N}_{b=1, b \neq a} \psi_{a,b}(\hat{y}) \tag{2-9} Ψ(y^?)=a=1∑N?b=1,b=a∑N?ψa,b?(y^?)(2-9)
Gated CRF Loss的改進包括:
(1) b≠ab \neq ab=a 條件指定總能量項不包括自標記能量。然而,除了自身位置 aaa 之外,還有其他像素位置可能需要從總能量中排除。排除點可以是標記為無效的像素,無論是 RGB 圖像中曝光過度/曝光不足的區域,還是其他模式(例如深度圖)中丟失的數據。 “待排除”區域也可以通過一些常用的計算操作生成,例如通過深度學習框架的數據增強(圖像裁剪和旋轉)生成的 RGB 圖像的出界區域。為了排除這些像素影響其他像素,作者定義了一個與圖像 xxx 大小相同的源圖 msrcm^{src}msrc ,其中 masrc∈{0,1}m_a^{src}\in\{0, 1\}masrc?∈{0,1},其中 1 表示可用于為任意像素提供成對能量的像素,否則為 0。
(2)所有位置 a∈[1,N]a \in [1, N]a∈[1,N] 的求和的假設條件是總能量是作為這樣的累積而找到的。對于某些情況(包括弱監督分割)來說,這也是過度簡單化。對于此任務,可能需要排除帶標注的位置免受其他像素的影響,因為 pCE 損失在這些位置上提供了直接且更強的監督。簡而言之,如果 pCE 正確分類了標注像素的標簽,那么應用 CRF 能量項來“糾正”它們不會帶來額外的好處。為了排除這些像素接收能量,作者定義了一個與圖像 xxx 大小相同的目標圖madstm_a^{dst}madst? ,其中madst∈{0,1}m_a^{dst} \in \{0, 1\}madst?∈{0,1} ,其中 1 表示可用于接收和累積成對能量的像素圖像中的任何其他位置,否則為 0
(3)假設所有核都是高斯分布并且特征向量 k(p)k^{(p)}k(p) 包含位置坐標,對于任何固定位置 aaa ,聯合標記 aaa 和 bbb 的成對能量將隨著距 aaa 的距離而減小。具有長范圍求和的 CRF 損失對結合 pCE 和 CRF 損失的深度神經網絡的聯合訓練提出了巨大的計算挑戰。作者認為,當與相當簡單的一元項模型一起使用時,CRF 設置的“密集”屬性對于捕獲像素之間的遠程關系至關重要。目前的語義分割模型本身可以有效地捕獲全局上下文。因此,擁有密集的成對項可能不會帶來額外的好處(即模型下采樣后,本身就具備全局關聯性)。更重要的是,這需要使用高維過濾技術來減輕過高的計算復雜性,這也使內核項的操作變得復雜。作者認為,在弱監督語義分割的背景下,將 bbb 的求和范圍限制為局部鄰域 Ω(a)\Omega(a)Ω(a) 是有益的,該局部鄰域由可接受的信號損失和內核帶寬 σ(p)\sigma^{(p)}σ(p) 的函數來表征。
為解決(1)(2)中的問題,重寫式2-4來支持門控信息傳播
ψa,b(i,j)=μ(i,j)GabKab(2-10)\psi_{a, b}(i, j) = \mu (i,j) G_{ab} K_{ab} \tag{2-10} ψa,b?(i,j)=μ(i,j)Gab?Kab?(2-10)
完整的能量方程變為
Ψ(y^)=∑a=1N∑b∈Ωr(a),b≠aNψa,b(y^)(2-11)\Psi(\hat{y}) = \sum^{N}_{a=1} \sum^{N}_{b \in \Omega_r(a), b \neq a} \psi_{a,b}(\hat{y}) \tag{2-11} Ψ(y^?)=a=1∑N?b∈Ωr?(a),b=a∑N?ψa,b?(y^?)(2-11)
后一種表示可以使用標準張量運算有效地計算。由于損失函數直接嵌入到網絡中,因此在訓練期間局部影響會傳播到圖像的整個范圍。
提出的Gated CRF Loss只是預測類別概率的總能量:
LGCRF(y^)=Ψ(y^)/∑i=1Nmidst(2-12)L_{GCRF}(\hat{y}) = \Psi(\hat{y}) / \sum_{i=1}^N m_i^{dst} \tag{2-12} LGCRF?(y^?)=Ψ(y^?)/i=1∑N?midst?(2-12)
總損失為
L(y^)=LCE(y,y^)+λLGCRF(y^)(2-13)L(\hat{y}) = L_{CE}(y, \hat{y}) + \lambda L_{GCRF}(\hat{y}) \tag{2-13} L(y^?)=LCE?(y,y^?)+λLGCRF?(y^?)(2-13)
3 效果
3.1 總體效果
使用Gated CRF損失的模型和其他模型的對比可見下表3-1。
3.2 消融實驗
(1)Source and destination masking
表3-2中GCRFsGCRF_sGCRFs?表示使用了source masking,GCRFs,dGCRF_{s,d}GCRFs,d?表示使用了source masking和destination masking。CS和VOC是不同的數據集,每個數據集不同的行表示不同的標注方式,點、線、完全標注。
表3-2表明source masking的效果最好,是必須要有的。進一步添加destination masking使Cityscapes數據集改善約 1%,但 Pascal VOC 惡化最多 0.20%。這可以通過兩個數據集中弱標注的性質來解釋。Cityscapes通常包含許多散布在圖像周圍的物體實例。這為 pCE 單獨學習強類描述提供了足夠的弱標注。因此,在這種情況下激活目標屏蔽是有意義的,因為它會抑制門控 CRF 丟失對更可靠的 pCE 的影響。然而,在 Pascal VOC 中,圖像中通常只存在幾個對象實例。因此,與 Cityscapes 相比,弱標注要少得多且稀疏,使得 pCE 的監督不太可靠。
(2)增大標注粗度
表3-3表明,即使像許多現有方法那樣將點監督的大小從 [1×1]px 增加到 [3×3]px 看似微不足道,也會產生與基線情況相差 3% mIoU 的模型,即僅 PCE。然而,即使僅使用 [1×1]px 監督,在相同設置中與 pCE 一起使用的門控 CRF 損失也成功地彌補了這一差距。此外,任意放大帶標注的輸入并不總是有益的,因為它暗示了有關對象最小尺寸的先驗知識,而對象的最小尺寸在數據集之間差異很大。例如,作者觀察到,在 CityScapes 上僅使用 pCE 并沒有從 [1×1]px 提高到 [3×3]px,可能是因為放大背景中非常小的對象的標注會導致其他類過度填充。
(3)局部鄰域尺寸
σXY\sigma_{XY}σXY?表示核函數的帶寬,其值越大,越遠的像素起的作用越小。
表3-4表明了增大 σXY\sigma_{XY}σXY? 并不會持續提高驗證集的效果,可見前面說明的局部損失對全局也有影響的推測是正確的。這暗示局部應用的損失即使對于很小的 σXY\sigma_{XY}σXY?也會產生全局影響。
圖3-1說明了增大 σXY\sigma_{XY}σXY? 對于細物體的結果更準,但是損失了邊緣精度。
(4)GatedCRF損失權重
表3-5展示了使用不同的門控 CRF 損失權重 λ\lambdaλ 和 3 個級別的監督對 Pascal VOC 的影響。選擇的 λ=0.1\lambda=0.1λ=0.1 值給出了最佳的總體結果。然而,還觀察到,至少對于選定的 λ 值范圍,門控 CRF 損失的影響并沒有顯著減弱,這可能表明它不太容易出現損失平衡問題。
4 總結
總的來說,GatedCRFLoss設計了一種范式。
使用者可以通過修改fapf_a^{p}fap?和fbpf_b^{p}fbp?來用不同的方式描述兩個像素之間的相似度。
使用者可以通過修改σXY\sigma_{XY}σXY?來控制不同距離的像素帶來的影響程度。
使用者可以通過修改GabG_{ab}Gab?來控制哪些像素參與損失的計算。
參考文獻
[1] Gated CRF Loss for Weakly Supervised Semantic Image Segmentation
[2] 代碼gate_crf_loss.py