A Three-Stage Self-Training Framework for Semi-Supervised Semantic Segmentation
論文閱讀筆記:
A Three-Stage Self-Training Framework for Semi-Supervised Semantic Segmentation
基本資訊
\1.標題:A Three-Stage Self-Training Framework for Semi-Supervised Semantic Segmentation
\2.作者:\(Rihuan Ke^{*1} , Angelica Aviles-Rivero^{*1} , Saurabh Pandey^3 , Saikumar Reddy^4 , and\ Carola-Bibiane\ Schonlieb^1\)
\3.作者單位:\(^1Centre\ for\ Mathematical\ Sciences,\ University\ of\ Cambridge,\ Cambridge\ CB3\ 0WA,UK.^†\ ^2KritiKal Solutions^‡\)
\4.發表期刊/會議:CVPR
\5.發表時間:2020
\6.原文鏈接://arxiv.org/abs/2012.00827
Abstract
語義分割在社區中得到了廣泛的研究,其中SOTA的技術是基於監督模型的。這些模型展現出了前所未有的性能,代價是需要大量高品質的分割mask。獲取這樣的標註是非常昂貴和耗時的,特別是在需要像素級標註的語義分割中。在這項工作中,我們提出了一個完整的解決方案,作為半監督語義分割的三階段自訓練框架。該技術的核心思想是提取偽標籤統計資訊,以減少預測的不確定性,同時在多任務方式下增強分割一致性。我們通過三個階段的解決方案來實現這一目標。首先,我們訓練一個分割網路來生成預測概率高度不確定的粗糙偽標籤。其次,我們利用數據豐富的統計資訊,利用多任務模型增強一致性,降低偽掩碼的不確定性。我們將我們的方法與現有的半監督語義分割方法進行了比較,並通過大量的實驗證明了其SOTA的性能。
1.Introduction
語義分割是電腦視覺中的一項基礎任務,它的目標是從一組預定義的類中為影像中的每個像素分配一個標籤。這一任務在文獻中得到了廣泛的探索,但尚未完全解決。目前最先進的模型是建立在深度網路的基礎上的[30,5,34,53,54]。雖然這些技術已經報道了前所未有的結果,但它們依賴於非常高的標註數據體系。這是一個強烈的假設,因為標註是像素級的;這是昂貴的,耗時的,並且是人類固有的偏見。要解決缺乏大量且具有良好代表性的標籤集的問題,可以更多地依賴於無標籤的樣本。
另一種方法是使用完全無標記的數據,即無監督學習。然而,由於樣本和類之間缺乏對應關係,性能大大降低,因此這種範式在語義分割方面並不成功。另一種選擇是使用弱監督技術[25,40],然而,來自未標記樣本的豐富資訊沒有得到充分利用,性能仍然有限。一個可行的選擇是使用半監督學習,利用大量的標記數據和少量的注釋。雖然semi-supervised learning(SSL)在社區里已被廣泛開發[4],深度semi-supervised learning只是在過去的幾年裡有明顯的進步,而且主要用於影像分類的任務如[24,32,44],這些理論近年來在語義分割領域得到廣泛的應用[17,11,36,10]。
現有的SSL技術大致可以分為熵最小化[13]、生成式模型[23]、基於圖的技術[56]、基於代理的技術(建立在偽標籤/自訓練之上)[46]、一致性正則化[24,32]和整合了每個原則中最佳原則的整體方法。對於語義分割,現有的技術使用生成模型和一致性正則化技術。儘管該任務報告的結果很有希望,但仍有很多改進的空間,特別是關於如何改進置信度預測。
為此,我們提出了一種新的語義分割框架,該框架假定數據的有標籤樣本非常少。我們的整體解決方案是半監督學習的三個階段的自我訓練技術。我們的框架的每個階段都有一個目的:階段1通過訓練的分割網路生成初始偽掩模(在偽標籤意義上),階段2是一個多任務模型,學習偽掩碼統計資訊(Task 2)和分割(Task 1),用於生成更高品質的偽掩碼,然後在第三階段利用更新後的偽掩碼和微量標註集對分割網路進行訓練。我們的貢獻如下:
-
我們提出了一種新的深度半監督語義分割的自訓練框架,其中我們強調:
- 一個端到端的優化模型被構建成一個三個階段的解決方案。我們的模型使用多任務模型降低了偽掩模預測概率的不確定性,在利用數據統計資訊的同時加強了分割的一致性。
- 本文介紹了語義切分的一個新視角——整體原則。我們證明,雖然一致性正規化是重要的,但需要解釋預測偽掩模的不確定性。我們表明,從兩個來源學習資訊可以增加確定性預測。
-
我們在一系列數值和可視化結果上驗證了我們的技術,並將其與當前的SOTA深度半監督語義分割技術進行了比較。我們證明了我們設計良好的模型實現了它的目的,並且我們所提出的技術優於當前那些依賴非常有限的真值標籤的SOTA語義分割模型。
2.Related Work
Long[30]的開創性工作表明,全卷積網路具有將學習到的表示轉移到分割任務中的潛力,因此使用深度監督技術進行分割已經取得了重大進展,包括[2,5,34,38]。最近,複雜的機制被結合起來,以克服現有技術的性能限制,包括結構搜索[33,29,52,27]、注意力機制[53,50,51,16]和重新設計幾種架構的原則[47,26,37,54,55]。
儘管這些技術顯示了驚人的結果,一個主要的共有缺點是這些假設都是建立在用於足夠多的標記數據的設置下。這推動了對標註數據依賴較少的技術的快速發展,如弱監督分割,如[1,25,40,19,42,18]。當前關注的焦點是深度半監督學習的最新發展,這也是本研究的重點。在本節中,我們依次回顧現有的技術。
Deep Semi-Supervised Learning. 自[4]領域的早期開發以來,半監督學習(SSL)已經得到了廣泛的研究。然而,在過去的幾年中,對這種範式的興趣有了顯著的增長,這尤其是因為SSL的基礎理論與深網的強大功能相結合,深網報告了令人印象深刻的結果,很容易與完全監督的技術相競爭。這種性能增益主要報道在影像分類的背景下,其中已經發展了幾種技術,例如[24,32,44]。然而,影像分類與語義分割之間存在顯著差異,後者涉及到更密集、更複雜的預測。
影像分類的深層SSL可以使用不同的原則來實現,其中主要的成功是通過一致性正則化實現的[24,43,39,32,3]。該理論的核心思想是,在誘導擾動下的無標記樣本(\(x_u∈D_u\)表示無標記集)δ不應改變性能輸出,使\(f(x_u) = f(x_u + δ)\)。該原則通過將決策邊界推到低密度區域來強制執行SSL的等價形式,從而放鬆了SSL的集群假設。雖然在影像分類中應用的原則可以以某種方式外推到語義分割,但任務之間的固有差距阻止語義分割技術達到類似的高性能,如分類中報告的[11],因此,需要重新考慮用於語義分割的深層SSL的設計。
Deep Semi-Supervised Semantic Segmentation. 標註品質在技術性能中起著至關重要的作用。特別是在語義分割的任務中,標籤的開銷過大。例如,來自分割基準數據集Cityspaces[6]的一張解析度為1024×2048的影像,涉及超過1M的像素標籤,容易出現注釋錯誤,需要考慮像素模糊的問題。SSL非常適合手頭的任務,因為前面的方法依賴於一組很小的標籤。用於語義分割的深層SSL最近只在少數工作中進行了探索。
早期的技術依賴於GANs[12]原理。
[41]作者提出通過生成gan型合成影像來擴大訓練集,以豐富特徵空間,加強無標記樣本和有標記樣本之間的關係。Hung等人[17]提出一種基於GAN的預測概率圖與地面真值分割的區分技術。類似地,Mittal等人[31]提出了一個雙分支解決方案,包括:i)為輸入樣本生成每像素類標籤的GAN分支和ii)多標籤Mean Teacher[43]分支,以消除假陽性預測。
最近,[11]的作者將CutMix[48]擴展到語義分割的上下文中。在這篇論文中,作者應用了強增強的原理,包括Cutout,從影像分類的發現。[36]的作者強調了基於特徵、基於預測和隨機擾動之間的一致性。Ke等人的[20]使用了缺陷概率圖,並將雙學生[21]擴展到像素級任務。在[10]中提出了一種基於偽標籤的離線自訓練方案,增強了有標記集和無標記集之間的一致性。
3.Proposed Technique
本節包含了我們提出的框架的三個核心部分:(i)如何生成初始偽掩碼,(ii)多任務模型,以提高初始偽掩模的品質;(iii)如何在最終模型中傳播高品質的偽掩模。整個工作流顯示在圖1中。
Our Deep SSL Setting. 我們的整體技術建立在深度半監督學習的三個階段的自訓練技術框架。在我們的設置中,我們假設我們有大量的未標記數據和少量的標註數據。形式上,我們用\(\{(x_i, y_i) | i∈L\}\),其中\(x_i\)為影像,\(y_i\)為\(x_i\)對應的ground truth segmentation mask.未標記樣本集表示為\(\{x_i| i∈U\}\)。我們考慮的學習問題,只有一小部分的影像被標記,\(|L|\ll|U|\)接下來,我們將詳細討論我們的技術。
3.1. Consistency Regularisation with Strong Augmentations
半監督學習的一個關鍵問題是如何對未標記數據\(x_i (i∈U)\)計算具有高確定性的標籤。在深度學習的背景下,我們研究了先驗知識,以便更好地利用豐富的未標記數據。
為了明確SSL分段設置中的一致性規則化,我們定義一個操作符為\(A:\mathbb{R}^{n\times m \times c}\rightarrow \mathbb{R}^{n\times m \times c}\)獲取取影像x的隨機擾動版本\(Ax\)。這種擾動的常見例子包括旋轉、翻轉、平移及其組合。我們還定義運算符為 \(B:\mathbb{R}^{n\times n \times c’}\rightarrow \mathbb{R}^{n\times n \times c’}\)它以與A相同的方式將分割掩碼的像素映射到一個新的掩碼。一致性損失定義為:
\]
其中\(f_\theta\)和\(f_{\theta’}\)分別為\(\theta\)和\(\theta’\)參數化的深度神經網路模型,\(d_c\)表示\(f_\theta(Ax_i)\)和\(Bf_{\theta’}(x_i)\)之間的距離。在這個工作中,A和B是隨機運算元,也就是說,它們對於不同的樣本是不同的。
一致性正則化(1)的一個關鍵因素是擾動運算元A和b。代價(1)的最小化使網路對數據樣本鄰居的預測變得平滑。因此,A運算元的選擇反映了鄰居的大小,影響了分割結果。特別地,我們遵循使用強增強的原則,因為我們強制擾動是多樣化的和自然的,以提高SSL性能[45]。然後結合RandAugment[7]和Cutout[8]實現隨機運算元A和B作為強增廣器。
一致性損失(1)建立在兩個網路模型之間的關係上。在文獻中,常將\(f_θ\)網路和\(f_θ’\)網路分別稱為學生模型和教師模型。教師模型的參數可以用幾種方法確定。在\(Γ\)模型[24]中,θ’設為θ。在均值教師(MT)方案[43]中,θ’被計算為θ在訓練過程中的指數移動平均(EMA)。在MT中,由於學生模型的收斂性,當學習過程繼續進行[21]時,θ’越來越接近學生的權值θ。因此,隨著訓練步數的增加,教師模型\(f_{\theta ‘}\)缺乏有效的指導。
基於一致性正則化方法(例如[24,43]),模型輸出的一致性依賴於訓練期間教師和學生的耦合,基於這一事實,我們提出了一個通過多任務學習集成額外指導訊號的框架。接下來,我們提出了一個三階段的自訓練方法,該方法包含偽掩模統計數據,以幫助學習更好的一致輸出的未標記數據,從而提高不同階段的偽掩模品質。
3.2. A Three-Stage Self-Training Framework
擬議的框架包括三個階段(見圖1)如下所述。
Stage 1: Generating Initial Pseudo-Masks. 在這一階段,我們利用微小的標記影像集訓練分割網路\(f_θ\),生成具有高不確定性(即低品質偽掩模)的初始偽掩模。為此,我們使用如下定義的loss:
\]
\(d_s\)是交叉熵損失。一旦網路被訓練,偽分割掩模從模型\(\hat{y}_i:= arg max f_θ(x_i)\)的輸出產生,其中arg max函數在像素級下操作。這一階段的主要目的是生成初始偽掩模,由於真值標籤數量有限,其最大預測概率具有高度不確定性。
Stage 2: Increasing Certainty for Pseudo-Masks. 在這一階段,將標記的樣本、未標記的影像和第一階段生成的偽掩模\(\hat{y}_i\)一起使用,通過訓練第二個模型來生成更高品質的偽掩模。由於掩碼\(\hat{y}_i\)是不準確的,我們不使用它們來擬合分割網路,而是學習在多任務模型中複製它們。為此,我們考慮了兩個任務,即分割任務(task 1)和輔助任務(task 2)。我們的任務2旨在從\(\hat{y}_i\)中提取偽掩碼統計資訊。
我們的兩個任務在一個多任務網路中構建,如圖1所示。第一個網路fθ是由N塊(即藍色塊)組成的分割網路。第二個網路(Task 2的\(\hat{g}_{\hat{\theta}}\))由N個區塊和與fθ共享的第一個N−2區塊組成(見圖1左側),\(\hat{\theta}\)為\(\hat{g}\)的共享權和自身權。Task 1採用了segmentation loss(2)。另外,為了提高分割精度,我們在這個任務中加入了一致性損失(1)。在訓練[43]時,利用θ的指數移動平均(EMA)更新教師網路的權值\(\theta’\).對於Task 2和使用的偽掩碼\(\hat{y}_i\),損失定義為:
\]
我們強調\(\hat{g}_{\hat{\theta}}\)的輸出與fθ的輸出不相同,因為Task 1沒有看到偽掩模。但是,Task 2中的偽掩碼在優化過程中為Task 1產生額外的訊號。總的來說,我們在這個階段使用的損失是:
\]
其中λ1和λ2是平衡任務的超參數。對多任務網路進行訓練後,通過\(\tilde{y}_{i}:=\operatorname{argmax} f_{\theta}\left(x_{i}\right)\)計算出高品質的偽掩模。
Stage 3: Propagating Higher Quality Masks Information.最後,在這個階段,使用階段2的高品質偽掩模\(\tilde{y}_i\)來監督最終的模型。高品質pseudo-masks集成以第二階段中類似的方式執行,除了我們用\(\tilde{g}_{\tilde{\theta}}\)更換網路\(\hat{g}_{\hat{\theta}}\),其中\(\tilde{g}_{\tilde{\theta}}\)有N個模組和前N-1個模組(見圖1的右邊)和fθ共享(網路\(\hat{g}_{\hat{\theta}}\),然而,只有N-2個模組和fθ相同)。這使得偽掩模資訊更好地傳播到fθ,這是因為\(\tilde{y}_i\)比階段2中使用的\(\hat{y}_i\)更準確。這一階段所用的loss為:
\]
其中:\(\mathcal{L}_{\mathrm{pl}}^{\prime}:=\sum_{i \in L \cup U} d_{c}\left(\tilde{g}_{\tilde{\theta}}\left(A x_{i}\right), B \tilde{y}_{i}\right)\)
演算法1列出了我們的技術結合之前的各個階段來解決語義分割問題的整個過程。