博客專欄

EEPW首頁 > 博客 > U2PL: 使用不可靠偽標簽的半監(jiān)督語義分割 (CVPR'22)

U2PL: 使用不可靠偽標簽的半監(jiān)督語義分割 (CVPR'22)

發(fā)布人:計算機視覺工坊 時間:2022-03-19 來源:工程師 發(fā)布文章
作者丨Pascal@知乎(已授權)

來源丨h(huán)ttps://zhuanlan.zhihu.com/p/474771549編輯丨極市平臺論文概況

  • 論文標題:_Semi-Supervised Semantic Segmentation Using Unreliable Pseudo-Labels_
  • 作者信息:商湯科技, 上海交通大學, 香港中文大學
  • 錄用信息:CVPR 2022 → arXiv:https://arxiv.org/pdf/2203.03884.pdf
  • 代碼開源:https://github.com/Haochen-Wang409/U2PL
  • Project Page:https://haochen-wang409.github.io/U2PL/

今天介紹我們在半監(jiān)督語義分割(Semi-Supervised Semantic Segmentation)領域的一篇原創(chuàng)工作 U2PL (Semi-Supervised Semantic Segmentation Using Unreliable Pseudo-Labels)。

半監(jiān)督任務的關鍵在于充分利用無標簽數(shù)據(jù),我們基于「 Every Pixel Matters」的理念,有效利用了包括不可靠樣本在內(nèi)的全部無標簽數(shù)據(jù),大幅提升算法精度。目前 U2PL 已被 CVPR 2022 接收,相關代碼已開源,有任何問題歡迎在 GitHub 提出。

Self-training: 樣本篩選導致訓練不充分

半監(jiān)督學習的核心問題在于有效利用無標注數(shù)據(jù),作為有標簽樣本的補充,以提升模型性能。

經(jīng)典的 self-training 方法大多遵循著 supervised learning → pseudo labeling → re-training 的基本流程,但學生網(wǎng)絡會從不正確的偽標簽中學習到錯誤的信息,因而存在 performance degradation 的問題。

通常作法是通過樣本篩選等方式降低錯誤偽標簽的影響,然而只選擇高置信度的預測結果作為無標簽樣本的偽標簽,這種樸素的 self-training 策略會將大量的無標簽數(shù)據(jù)排除在訓練過程外,導致模型訓練不充分。此外,如果模型不能較好地預測某些 hard class,那么就很難為該類別的無標簽像素分配準確的偽標簽,從而進入惡性循環(huán)。

我們認為「 Every Pixel Matters」,即使是低質量偽標簽也應當被合理利用,過往的方法并沒有充分挖掘它們的價值。

Motivation: Every Pixel Matters

具體來說,預測結果的可靠與否,我們可以通過熵 (per-pixel entropy) 來衡量,低熵表示預測結果可靠,高熵表示預測結果不可靠。我們通過 Figure 2 來觀察一個具體的例子,F(xiàn)igure 2(a) 是一張蒙有 entropy map 的無標簽圖片,高熵的不可靠像素很難被打上一個確定的偽標簽,因此不參與到 re-training 過程,在 FIgure 2(b) 中我們以白色表示。

圖片Figure 2. Illustration on unreliable pseudo-labels.

我們分別選擇了一個可靠的和不可靠的預測結果,在 Figure 2(c) 和 Figure 2(d) 中將它們的 category-wise probability 以柱狀圖的形式畫出。黃色十字叉所表示的像素在 person 類上的預測概率接近于 1,對于這個預測結果模型非常確信,低熵的該像素點是典型的 reliable prediction。而白色十字叉所表示的像素點在 motorbike 和 person 兩個類別上都具有不低的預測概率且在數(shù)值上較為接近,模型無法給出一個確定的預測結果,符合我們定義的 unralibale prediction。對于白色十字叉所表示的像素點,雖然模型并不確信它具體屬于哪一個類別,但模型在這兩個類別上表現(xiàn)出極低的預測概率,顯然很確信它不屬于 car 和 train 這些類別。

因而,我們想到即使是不可靠的預測結果,雖然無法打上確定的偽標簽,但可以作為部分類別的負樣本,從而參與到模型的訓練。這樣所有的無標簽樣本都能在訓練過程中發(fā)揮作用。

MethodOverview圖片Figure 3. An overview of our proposed U2PL method

網(wǎng)絡結構上,U2PL 采用經(jīng)典的 self-training 框架,由 teacher 和 student 兩個結構完全相同的網(wǎng)絡組成,teacher 通過 EMA 的形式接受來自 student 的參數(shù)更新。單個網(wǎng)絡的具體組成主要參考的是 ReCo (ICLR'22)[1],具體包括 encoder , decoder  和表征頭 。

損失函數(shù)優(yōu)化上,有標簽數(shù)據(jù)直接基于標準的交叉熵損失函數(shù)  進行優(yōu)化。無標簽數(shù)據(jù)則先靠 teacher 給出預測結果,然后根據(jù) pixel-level entropy 分成 reliable pixels 和 unreliable pixels 兩大部分 (分流的過程在 Figure 2 有所體現(xiàn)), 最后分別基于 和  進行優(yōu)化。




如上三個部分構成了 U2PL 全部的損失函數(shù),熟悉 Self-training 的話就只需要關注  對比學習這部分,其實也是十分經(jīng)典的 InfoNCE Loss[2],后面會具體討論。

Pseudo-Labeling

本節(jié)主要探討無標簽樣本中可靠預測結果的利用方式,即損失函數(shù)中的  部分

我們通過熵

 對預測結果的可靠性進行衡量,將最可靠的部分篩選出來,再通過常規(guī)方式打上偽標簽


隨著訓練過程的推進,我們認為模型的性能在不斷攀升,不可靠預測結果的比例相適應地也在不斷下降,因此在不同的訓練時刻我們對可靠部分的定義是不斷變化的,這里我們簡單采用了線性變化策略而未作過多探索

需要注意的是,由于僅僅是部分無標簽圖片像素點參與到這部分的計算,因此需要計算一個權重對這部分損失進行調節(jié)。

Using Unreliable Pseudo-Labes

本節(jié)主要探討無標簽樣本中不可靠預測結果的利用方式,即損失函數(shù)中的  部分。

U2PL 以對比學習為例介紹了如何將不可靠偽標簽用于提升模型精度,既然是對比學習,那不可避免的問題就是討論如何構建正負樣本對。接下來的有關對比學習內(nèi)容的實現(xiàn)細節(jié)大量參考了 ReCo[1],因此建議可以先看下這篇論文。

首先是 anchor pixels (queries),我們會給訓練過程中出現(xiàn)在 mini-batch 中的每一個類別都采樣一系列的 anchor pixel。

然后是 anchor pixel 的 positive sampe 的構建,我們會計算每一個類別的特征中心,每一個類別的 anchor pixel 都 share 一個共同的特征中心作為 postive sample。具體地,我們先從 mini-batch 分類別篩選出可用于計算特征中心的像素點,對于有標簽樣本和無標簽樣本,篩選的標準是一致的,就是該樣本在真值標簽類別或偽標簽類別上的預測概率大于一個閾值,篩選出來的這些像素點的表征  的集合  求一個向量均值就能用作于各個類別的特征中心  ,這里可以參見如下公式



最后是 anchor pixel 的 negative sampe 的構建,同樣的也需要分成有標簽樣本和無標簽樣本兩個部分去討論。對于有標簽樣本,因們明確知道其所屬的類別,因此除真值標簽外的所有類別都可以作為該像素的負樣本類別;而對于無標簽樣本,由于偽標簽可能存在錯誤,因此我們并不完全卻行確信標簽的正確性,因而我們需要將預測概率最高的幾個類別過濾掉,將該像素認作為剩下幾個類別的負樣本。這部分對應的是論文中公式 13-16,但說實話這一段內(nèi)容用公式去描述還是比較晦澀的。

圖片Algorithm 1: Using Unreliable Pseudo-Labels

由于數(shù)據(jù)集中存在長尾問題,如果只使用一個 batch 的樣本作為負樣本可能會非常受限,因此采用對比學習中很常用的 MemoryBank 來維護一個逐類別的負樣本庫,存入的是由 teacher 生成的斷梯度特征,以先進先出的隊列結構維護。

Comparison with Existing Alternatives

本文所有的實驗結果均是基于 ResNet-101 + Deeplab v3+ 的網(wǎng)絡結構完成的,所采用的的數(shù)據(jù)集構成和評估方式請參見論文描述。

我們在 Classic VOC, Blender VOC, Cityscapes 三種數(shù)據(jù)集上均和現(xiàn)存方法進行了對比,在全部兩個 PASCAL VOC 數(shù)據(jù)集上我們均取得了最佳精度。在 Cityscapes 數(shù)據(jù)集上由于我們沒能很好的解決長尾問題,落后于致力解決長尾問題的 AEL 方法,我們將 U2PL 疊加在 AEL 上能夠取得超越 AEL 的精度,也側面證明了 U2PL 的通用性。

圖片圖片圖片

值得一提的是,U2PL 在有標簽數(shù)據(jù)較少的劃分下,精度表現(xiàn)極為優(yōu)異。

Ablation StudiesEffectiveness of Using Unreliable Pseudo-Labels圖片圖片

我們在 PSACAL VOC 和 CItyscapes 等多個數(shù)據(jù)集的多個劃分上驗證了使用不可靠偽標簽的價值。

Alternative of Contrastive Learning圖片

我們增加了通過二分類去利用不可靠樣本的對比實驗,證明利用低質量偽標并不只能通過對比學習去實現(xiàn),只要利用好低質量樣本,即使是二分類方法也能取得不錯的精度提升。

附錄U2PL 與 negative learning 的區(qū)別

這里需要著重強調下我們的工作和 negative learning 的區(qū)別, negative learning 選用的負樣本依舊是高置信度的可靠樣本[3],相比之下我們則提倡充分利用不可靠樣本而不是把它們過濾掉。

比如說預測結果  由于其不確定性會被 negative learning 方法丟棄,但在 U2PL 中卻可以被作為多個 unlikely class 的負樣本,實驗結果也發(fā)現(xiàn) negative learning 方法的精度不如 U2PL。

U2PL 技術藍圖

這里貼出技術藍圖,便于大家更好地理解論文的核心 story 和實驗設計

圖片U2PL 技術藍圖

參考

  1. ^ab[2104.04465] Bootstrapping Semantic Segmentation with Regional Contrast https://arxiv.org/abs/2104.04465
  2. ^[1807.03748] Representation Learning with Contrastive Predictive Coding https://arxiv.org/abs/1807.03748
  3. ^In Defense of Pseudo-Labeling: An Uncertainty-Aware Pseudo-label Selection Framework for Semi-Supervised Learning https://openreview.net/pdf/c979bcaed90f2b14dbf27b5e90fdbb74407f161b.pdf


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。



關鍵詞: AI

相關推薦

技術專區(qū)

關閉