CVPR2021 原文
半監督語義分割方法的總結:
主要思想: Consistency regularization :希望不同擾動之下網絡的輸出結果一致,擾動的加入的位置:(1)在輸入圖片上加擾動(2)在某一層的輸出特征上添加擾動
創新點:
- 鼓勵兩個初始化不同(不同擾動)的網絡的一致性
- 利用半監督的方式相當於擴充了數據集
網絡結構
兩個網絡的結構相同,但使用不同的初始化(作為不同的擾動),具體而言,2個網絡backbone部分使用同樣的ImageNet預訓練權重,Segmentation Head部分使用不同的隨機初始化權重。
上圖中的Y1和Y2分別表示2個網絡輸出的one hot標簽,⟶ 表示前向計算,− − → 表示監督信息的傳播,//表示不進行梯度計算。
對於無標簽數據:
將上分支網絡one-hot結果作為label監督下分支,下分支網絡one-hot結果作為label監督上分支,計算一致性損失:
對於有標簽數據:
將帶標簽的數據輸入2個網絡,使用ground truth分別監督這2個網絡進行訓練。用交叉熵函數計算損失
同時,也計算一致性損失(方式和無標簽數據相同)
總網絡的一致性損失分為有標簽和無標簽兩種:
總網絡損失:
多種網絡結構對比
a) 本論文網絡結構圖CPS,敘述如上
b) GCT網絡結構圖,和本方法相同,唯一的區別在於GCT使用confidence map作為監督信號,而CPS使用one-hot label
c)MeanTeacher 使用學生網絡和老師網絡,兩個網絡結構相同,參數初始化不同,學生網絡用老師網絡得到的confidence map作為監督信號,老師網絡隨着學生網絡的權重變化按照指數平均不斷變化
d)一張原圖X分別經過弱數據增強和強數據增強放入同一個網絡中,弱數據增強所得one hot結果作為強數據增強結果的真值,用於監督弱數據增強的結果
實驗
a,b圖分別使用ResNet50,ResNet101作為backbone
藍:baseline(不加入cutmix數據增強):只使用有標簽的數據
紅:使用兩個網絡,半監督學習,不加入cutmix數據增強
綠:使用兩個網絡,半監督學習,加入cutmix數據增強
Table1:在Pascal VOC上使用不同backbone和不同有標簽數據比例得到結果和其他SOTA方法對比
Table1:在Cityscapes上使用不同backbone和不同有標簽數據比例得到結果和其他SOTA方法對比
在兩個數據集上分別進行的消融實驗,損失函數的各部分對於結果的影響
使用極少的有標簽數據實驗結果