弱監督語義分割:從圖像級標註快進到像素級預測

一、背景

語義分割,旨在將圖像中的所有像素進行分類,一直是計算機視覺圖像領域的主要任務之一。在實際應用中,由於能準確地定位到物體所在區域並以像素級的精度排除掉背景的影響,一直是精細化識別、圖像理解的可靠方式。

但是,構建語義分割數據集需要對每張圖像上的每個像素進行標註。據統計,單張1280*720像素的圖像分割標註時間約1.5個小時[1],而動輒上萬、十萬才能產生理想效果的數據集標註所需要的人力物力讓實際業務項目投入產出比極低。

針對這個問題,僅需圖像級標註即可達到接近的分割效果的弱監督語義分割是近年來語義分割相關方向研究的熱點。該技術通過利用更簡單易得的圖像級標註,以訓練分類模型的方式獲取物體的種子分割區域並優化,從而實現圖像的像素級密集性預測。

       易盾算法團隊經過深入調研後在實踐中分析弱監督語義分割技術方向的特點,以及在實際項目上驗證了其有效性,從而成功將該技術落地到實際項目中並取得了顯著的項目指標提升,有效助力易盾內容安全服務精細化識別。

       接下來本文將介紹弱監督語義分割的分類和常規流程,並選擇該方向中有代表性的幾篇論文進行簡單介紹。

二、基本信息

1. 分類

       根據弱監督信號的形式,常見的弱監督語義分割可分爲以下四類(圖1):

       ① 圖像級標註:僅標註圖像中相關物體所屬的類別,是最簡單的標註;

       ② 物體點標註:標註各個物體上某一點,以及相應類別;

       ③ 物體框標註:標註各個物體所在的矩形框,以及相應類別;

       ④ 物體劃線標註:在各個物體上劃一條線,以及相應類別。

圖1 弱監督語義分割的分類

       本文主要關注標註最簡單方便的、也是最難的基於圖像級標註的弱監督語義分割。

      

2. 基於圖像級標註的弱監督語義分割步驟

       基於圖像級標註的弱監督語義分割大多采用多模塊串聯的形式進行,如圖2[2]:

 

圖2 弱監督語義分割的步驟

首先,利用圖像級標註的圖像類別標籤通過單標籤或多標籤分類的方式訓練出一個分類模型,該分類模型通過計算圖像中相應類別的類別特徵響應圖CAM[3]來當作分割僞標籤的種子區域;接着,使用優化算法(如CRF[4]、AffinityNet[5]等)優化和擴張種子區域,獲得最終的像素級的分割僞標籤;最後,使用圖像數據集和分割僞標籤訓練傳統的分割算法(如Deeplab系列[6])。

一、代表性工作

這部分主要介紹一下圖像級弱監督分割中幾篇典型的論文,首先會介紹弱監督分割的基礎論文CAM[3],然後會介紹2篇如何獲取覆蓋度更廣、更精準的CAM的算法(OAA[7]、SEAM[8])作爲分割僞標籤的種子區域,最後會介紹一篇典型的種子區域優化擴張算法AffinityNet[4]。

1. CAM(Class Activation Mapping)[3]

這篇文章是由周博磊在2016年的CVPR提出,作者發現了即使在沒有定位標籤的情況下訓練好的CNN中間層也具備目標定位的特性,但是這種特性被卷積之後的向量拉伸和連續的全連接層破壞,但若是將最後的多個全連接層換成了全局平均池化層GAP和單個後接Softmax的全連接層,即可保留這種特性。同時,經過簡單的計算,可以獲取促使CNN用來確認圖像屬於某一類別的具有類別區分性的區域,即CAM。

 

圖3 CAM

其中,CAM的具體計算方式如下(如圖3所示):

f k(x,y) 爲最後一層卷積層獲取的第k個特徵圖在 (x,y) 位置的值,w k c是類別c對應最後一層全連接層第k個權重,則類別c的響應特徵圖CAM在 (x,y) 位置的值爲:

M c即爲CAM。最終CAM的值越大,表示對分類貢獻度越高:如圖3最後一幅圖的熱力圖紅色區域表示CAM值最大,也正是澳洲犬臉部區域。

在文章中,作者表示CAM所在區域可直接作爲弱監督目標定位的預測,並進行了相關實驗,不僅相比當時最好的弱監督定位算法效果提升明顯,而且僅需單次前向推理過程即可得到定位框。

在弱監督語義分割中,CAM一直是產生種子區域的核心算法。但是CAM缺點也很明顯:僅關注最具辨別度的區域,無法覆蓋到整個目標,後續的算法中大多是在解決這個問題或者對CAM進行後處理,接下來,會挑選幾篇代表性的工作進行介紹。

2. 獲取更好的種子區域

① OAA[7]

       這篇文章的動機簡單而直接,作者通過觀察發現:在訓練收斂前不同的訓練階段,模型所產生的CAM會在同一目標上的不同部位移動,如圖4 中的b、c、d表示不同的訓練階段,其CAM(高亮區域)在移動。當整合同一圖像在不同階段產生的CAM時,整合後的CAM更能覆蓋完全整個目標,如圖4-e。

 

圖4 CAM移動圖

       其算法示意圖如下:

 

圖5 OAA算法示意圖

       對單張圖像中的某個類別而言,在第t個epoch訓練該圖像時對其CAM特徵圖F c進行ReLU和標準化:

       然後與前一epoch保存的特徵圖A t-1 c進行像素級比較,選擇每個像素的最大值,最終輸出爲作爲累積後的響應圖M T。在訓練完成後,M T即當作弱監督語義分割僞標籤的種子區域。

       OAA算法簡單且有效,當時在VOC弱監督分割數據集上取得了SOTA的表現;但筆者在實際項目嘗試中發現其效果一般,原因在於多個epoch的CAM取最大值的方式容易使得種子區域出現較多噪聲,而這些噪聲是很難通過後處理消除的,最終導致分割精度明顯下降。

② SEAM[8]

       該文章引入大火的自監督學習理念,通過觀察發現同一圖像經過不同的仿射變換所產生的CAM不一致這一特點(如圖6-a中不同尺寸變換),利用隱式的等變換約束的方式建立類似自監督對比學習的一致性正則化學習機制,減少這種不一致程度來優化CAM,從而得到高精度的種子區域(圖6-b)。

 

圖6 不同尺寸輸入的圖像的CAM

       SEAM算法示意圖如下:

 

圖7 SEAM算法示意圖

       將原始圖像和其經過簡單的放射變換A(·)後(如縮小、左右翻轉)的圖像分別送入到共享參數的CNN中獲取各自對應的CAM特徵圖y oy t,這兩個特徵圖再經過像素關係優化模塊Pixel Correlation Module (PCM)的學習後分別得到優化後的CAM特徵圖y oy t。其中,PCM是類似於self-attention的操作,query和key是CNN得到的特徵圖,value是CAM特徵。其loss由3部分構成:

其中,L cls是常用的多標籤分類損失函數multi-label soft margin loss,equivariant regularization (ER) loss爲:

equivariant cross regularization (ECR) loss爲:

(

       推理時,採用多個尺度及其左右翻轉後的圖像產生的多個CAM加和、標準化後作爲最終的CAM。

       SEAM算法不僅在開放數據集相對其他算法取得了較大的提升,在易盾的實際項目中也取得較好的結果,其缺點是算法的訓練和推理都比較耗時。

3. CAM後處理

       在得到CAM種子區域後,可以直接作爲語義分割僞標籤進行訓練,但爲了更好的分割結果,通常會對種子區域進行優化,接下來會介紹一篇非常有效的算法AffinityNet[5]。

       該篇文章主要的做法是:對於一張圖像和其相應的CAM,建立所有像素與其周圍一定半徑的像素的鄰接圖,然後使用AffinityNet估計鄰接圖中像素對之間的語義密切關係以建立概率轉移矩陣。對每個類別而言,鄰接圖中在目標邊緣的點會根據概率轉移矩陣以random walk鼓勵該點擴散到相同語義的邊緣位置,同時會懲罰擴散到其他類別的行爲。這種語義的擴散和懲罰能顯著優化CAM,使其能較好地覆蓋到整個目標,從而得到更精確、完整的僞標籤。

       該模型訓練的主要難點在於如何不使用額外的監督信息,作者通過觀察發現CAM可以作爲產生訓練AffinityNet監督信息的來源。雖然CAM存在覆蓋不完全以及噪聲問題,但是,CAM依然會正確地覆蓋局部區域並確認該區域像素間的語義密切關係,這正是AffinityNet所需要達成的目標。爲了獲取CAM可靠的標籤,作者摒棄了CAM特徵圖分數相對較低的像素,只保留高得分和背景像素。在這些特徵區域上採集像素對,如果它們屬於同一類別則label爲1,否則爲0,如圖8所示。

 

圖8 AffinityNet樣本和標籤示意圖

       在訓練過程中圖像經過AffinityNet得到特徵圖f aff,則特徵圖上像素i和j的語義密切度W ij計算方式如下:

其中,x i , y i表示第i個像素特徵在特徵圖f aff上的座標位置。然後,利用交叉熵損失函數進行訓練。

整體的訓練和推理過程如下圖所示:

 

圖9 AffinityNet訓練和推理示意圖

首先利用訓練圖像的CAM選擇多個像素對作爲訓練樣本,並得到語義密切關係的label,這些數據用來訓練AffinityNet(如圖9左);然後使用訓練好的AffinityNet在每張圖像上進行推理計算以獲取該圖像鄰接圖的語義密切矩陣作爲概率轉移矩陣;最後在該圖的CAM上以random walk的形式使用該矩陣,得到最終優化後的語義分割僞標籤(如圖9右)。

AffinityNet算法思路清晰,結果可靠,常常作爲OAA或SEAM等算法獲取的CAM後處理方法用來優化僞標籤精度和擴展僞標籤覆蓋區域,其提升效果在定性和定量分析中都很明顯。

三、總結

本文簡單介紹了弱監督語義分割的概念和流程,並簡單介紹了其中的幾篇文章,以實踐的角度分析了這些算法的落地優缺點。現有的弱監督語義分割也存在流程較爲繁瑣冗長,在學界已經有一些工作提出端到端的解決方案並取得了一定的效果(如[9][10])。未來易盾算法團隊會持續跟進學界最新方向並嘗試落地,以進一步提升易盾內容安全服務精細化識別項目效果。

[1] Cordts M, Omran M, Ramos S, et al. The cityscapes dataset for semantic urban scene understanding[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 3213-3223.

[2] Zhang D, Zhang H, Tang J, et al. Causal intervention for weakly-supervised semantic segmentation[J]. Advances in Neural Information Processing Systems, 2020, 33: 655-666.

[3] Zhou B, Khosla A, Lapedriza A, et al. Learning deep features for discriminative localization[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 2921-2929.

[4] Krähenbühl P, Koltun V. Efficient inference in fully connected crfs with gaussian edge potentials[J]. Advances in neural information processing systems, 2011, 24.

[5] Ahn J, Kwak S. Learning pixel-level semantic affinity with image-level supervision for weakly supervised semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 4981-4990.

[6] Chen L C, Papandreou G, Kokkinos I, et al. Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs[J]. IEEE transactions on pattern analysis and machine intelligence, 2017, 40(4): 834-848.

[7] Jiang P T, Hou Q, Cao Y, et al. Integral object mining via online attention accumulation[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019: 2070-2079.

[8] Wang Y, Zhang J, Kan M, et al. Self-supervised equivariant attention mechanism for weakly supervised semantic segmentation[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020: 12275-12284.

[9] Zhang B, Xiao J, Wei Y, et al. Reliability does matter: An end-to-end weakly supervised semantic segmentation approach[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2020, 34(07): 12765-12772.

[10] Araslanov N, Roth S. Single-stage semantic segmentation from image labels[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020: 4253-4262.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章