天天看點

Weakly-supervised Instance Segmentation via Class-agnostic Learning with Salient Images摘要1. Introduction2. Related Work3. Method

Weakly-supervised Instance Segmentation via Class-agnostic Learning with Salient Images

  • 摘要
  • 1. Introduction
  • 2. Related Work
  • 3. Method
    • 3.1. Weakly-supervised Instance Segmentation via Multi-instance Learning
    • 3.2. Joint Training with Salient Images
      • 3.2.1 Salient Images
      • 3.2.2 Data Augmentation
    • 3.3. Multi-task Learning
      • 3.3.1 MIL loss for weak segmentation
      • 3.3.2 Pixel-wise loss for salient segmentation and transferred segmentation
    • 3.4. Training a Proxy Mask R-CNN

摘要

即使不知道目标屬于什麼類别,人眼也有很強的分割能力。(比如即使有人不認識熊貓也能把熊貓和背景區分開來)由此本文提出了BoxCaseg來解決WSIS任務。這個方法融合了box監督資訊和顯著性資訊。同時它還運用了一個名為merged and dropped strategy的政策來代替GT去訓練分割模型。

1. Introduction

弱監督執行個體分割(WSIS)在計算機視覺領域很重要,原因有二:1.它減少了人工注釋工作,是以可用于建構高效标注的視覺識别系統。2.人類可以在沒有完美/精确标注的情況下學習如何分割目标,建構類似于人類感覺的視覺學習系統是計算機視覺的長期目标;是以研究WSIS是達成人們期望的方式之一。本文用bounding box 标注而不是精确的掩碼标注來探讨WSIS問題。

根據《What’s the point: Semantic segmentation with point supervision》中所提,标注一幀掩碼大約需要79秒而标注一幀bounding box隻需大約10秒。是以,如果一個WSIS算法可以得到和SOTA全監督執行個體分割算法(如MaskR-CNN)一樣的分割精度,這将會大有用處且有可能被投入進實際應用。為了解決這個問題,先前的方法已經在各種WSIS任務中應用了基于手動提取特征、pseudo labeling、multi-instance learning和attention networks的無監督圖像分割算法。

我們認為WSIS的關鍵問題在于box-supervised class-agnostic object segmentation (BoxCaseg),即給定目标的bounding box,我們需要推理pixel-level的目标掩碼。人類有很強的BoxCaseg任務處理能力,即使目标是未知的分割類别也可以感覺目标邊界。為了模仿這種class-agnostic的人類學習過程,我們提出了一種聯合訓練方法,其中的顯著性檢測目标分割資料集(也是顯著性目标檢測資料集)包含class-agnostic pixel-level目标位置資訊,以模拟人類的曆史記憶。顯著性圖像和box-annotated圖像在一個深度多任務網絡中(如Fig. 1所示)訓練,且在相同的mini-batches中混合。任務包括以pixel-level來标注顯著性圖像及對box-supervised圖像和顯著性圖像進行多執行個體分類。在訓練過程中,顯著性圖像可以提供顯著性資訊去指導box-supervised圖像的分割。另外受Mask* R-CNN的啟發,從多執行個體學習任務到像素标記任務執行權重轉移(weight transfer)以增強聯合學習。

Weakly-supervised Instance Segmentation via Class-agnostic Learning with Salient Images摘要1. Introduction2. Related Work3. Method

問題:什麼是mini-batches?

回答:一次訓練資料集的一小部分,而不是訓練整個訓練集的技術。它可以使記憶體較小、不能同時訓練整個資料集的電腦也可以訓練模型。

學習後的BoxCaseg模型被應用于為box-supervised訓練圖像生成目标掩碼。這些掩碼通過我們提出的merging and dropping strategies提煉以訓練一個為解決WSIS任務的Mask R-CNN模型。實驗在PASCAL VOC和COCO資料集上進行。最終,我們的contributions如下。

1.我們提出了一種新的基于box-supervised class-agnostic object segmentation的WSIS算法,其中的class-agnostic的精确的顯著性目标位置資訊在訓練時被用來作為輔助記憶來改善WSIS任務。

2.我們提出了新的掩碼merging and dropping strategies來擷取high-quality proxy masks以訓練pseudo-training Mask R-CNN。

3.class-agnostic分割模型有很強的泛化能力,實驗效果好。

2. Related Work

執行個體分割要求精細且高成本的pixel-level标注,然而許多弱監督算法隻能使用粗糙标注,如image tags, points, scribble和bounding boxes。

我們的體系使用目标bounding box作為弱監督。為了從bounding box獲得分割,許多方法使用了傳統的圖像分割算法去分割目标,如CRF,GrabCut和MCG。然而,這些方法依賴low-level的圖像特征,且不能獲得穩定的WSIS任務效果。Dai et al. 首次提出了通過疊代訓練和僞标注将深度網絡和手動提取WSIS任務的目标proposals結合到一起的方法。其他方法像《Box2seg: Attention weighted loss and discriminative feature learning for weakly supervised segmentation》和《Box-driven class-wise region masking and filling rate guided loss for weakly supervised semantic segmentation》關注用mean filling rates提煉僞掩碼。Arun et al.提出了一種條件網絡和預測網絡互相監督的方法。和以上的方法不同的是,BBTP設計了一種多執行個體學習multi-instance learning (MIL)公式去訓練弱監督分割模型。基于BBTP,BoxInst使用projection loss代替MIL loss,且使用從近端像素點得到的先驗去改進成對損失 (pairwise loss)。我們的weak segmentation head也基于BBTP且不依賴于任何傳統算法。

我們的方法也基于顯著性檢測salient object detection (SOD, as known as salient object segmentation)的發展。這類任務旨在在圖像中找到視覺上的顯著目标然後分割成二進制掩碼。其已經在深度學習上取得了巨大成功。最近的深度SOD方法得益于通過多級别特征融合(multi-level feature fusion),reverse attention, global and local context integration, cascaded partial decoder, edge-guided network, pooling-based global guidance [32] and nested U-Net(即 U 2 N e t U^2Net U2Net)來進行預測擦除(prediction erasing)。

問題:什麼是prediction erasing?

回答:就是把預測出來的部分擦除掉,對剩下的部分再進行預測。

顯著性目标分割資訊已經作為cue應用于WSIS任務中。在《Joint learning of saliency detection and weakly supervised semantic segmentation》中顯著性圖像和帶有類别标簽的圖像聯合訓練來得到class-specific semantic segmentation,然後通過聚合class-specific prediction結果得到saliency maps。和其理論上不同的是,我們的方法為class-agnostic object segmentation服務且不依靠顯著性圖像和box-supervised圖像的類别交集。ShapeProp在bounding boxes中使用pixel-wise MIL和message passing來獲得class-agnostic saliency information作為半監督執行個體分割任務的先驗。相反,我們的motivation是為了模拟人類強大的 class-agnostic object segmentation能力,且顯著性圖像和弱監督圖像之間的domain gap比ShapeProp中大得多。本文顯著性目标資訊被用作弱監督分割圖像的輔助記憶。

問題:什麼是顯著性圖像和box-supervised圖像的類别交集?

回答:

問題:什麼是domain gap?

回答:舉個例子,某兩個資料集之間存在domain gap,在一個資料集上訓練模型,在另外一個資料集上進行預測性能可能下降很大。

最後,class-agnostic object segmentation正在成為一個研究熱點。(後面是許多關于這個熱點的工作介紹,這個問題對WSIS很有幫助之類的。。。)

3. Method

本章先介紹MIL-based WSIS method,然後介紹BoxCaseg的訓練方法,最後介紹Proxy Mask R-CNN的訓練方法。

3.1. Weakly-supervised Instance Segmentation via Multi-instance Learning

為了實作用bounding box标注就完成執行個體分割任務,Hsu et al.提出了MIL-based方法,這一方法利用bounding box tightness prior(BBTP)。這一方法在Mask R-CNN中用新的MIL loss代替原先的segmentation loss。正如Fig. 3所示,整個目标在bounding box中,bounding box中的每行或每列至少有一個像素點屬于目标。BBTP把這些行和列稱作positive bags。bounding box外的其他行和列稱為negative bags。一個bag在每行或列上包括了多種像素/特征。是以,無論是box-supervised圖像中給定的bounding box還是由salient object mask産生的box,我們都可以把圖像分成positive bags和negative bags。

Weakly-supervised Instance Segmentation via Class-agnostic Learning with Salient Images摘要1. Introduction2. Related Work3. Method

在Mask R-CNN中,值得注意的是,一個目标對應多種region proposals。是以将為每個region proposal分别産生positive和negative bags,然後通過池化(max-pooling)pixel classification probabilities得到目标的classification probabilities。bag classification loss可以通過反向傳播來優化像素分類器以實作像素級别的分割。

3.2. Joint Training with Salient Images

以上的MIL-based WSIS方法可以在box supervision下端對端優化。然而我們難以感覺目标的精确邊界資訊。我們提出利用一個相對較小的顯著性分割資料集作為輔助知識。這些資料包含了和box-supervised圖像聯合訓練的顯著性知識,以在整個學習過程中提供邊界位置資訊引導。

我們的box-supervised class-agnostic segmentation (BoxCaseg)聯合訓練網絡如Fig. 4所示。BoxCaseg網絡将顯著性圖像和box-supervised圖像作為輸入。用HRNet進行特征提取。顯著性圖像特征和box-supervised圖像特征被喂入3個受pixel-labeling loss和the MIL loss監督的segmentation heads中。細節如下。

Weakly-supervised Instance Segmentation via Class-agnostic Learning with Salient Images摘要1. Introduction2. Related Work3. Method

3.2.1 Salient Images

帶有mask标注的顯著性圖像衍生于現有的顯著性目标檢測資料集DUTS-TR。在每張顯著性圖像中我們都保證隻有一個目标。顯著性目标類别範圍廣且在圖像中占主要位置。顯著性圖像提供具有一般性的精細的邊界位置資訊。為了避免過拟合,我們確定在算法中使用的顯著性圖像和目标WSIS資料集(即PASCAL和COCO)沒有重合。

3.2.2 Data Augmentation

BBTP在Mask R-CNN中同時完成檢測和分割任務,其使用ROIAlign來提取patch的特征,與其不同的是,我們的方法分别訓練 classagnostic object segmentation model。BBTP中的ROIAlign可以高效擷取patch feature,但是正如PointRend中所說的,其不能為精确的目标分割任務提取如此準确地特征。是以,本文不使用ROIAlign作為網絡輸入,而是根據目标位置crop patches作為BoxCaseg網絡輸入。對于顯著性圖像和box-annotated圖像的patch cropping(即資料增廣)政策是不同的。對于每張顯著性圖像,首先resize到 320 × 320 320×320 320×320的大小,然後随機裁剪成 288 × 288 288×288 288×288大小作為輸入;對于box-annotated圖像,我們發現下面更積極的資料增廣政策表現更好。

Weakly-supervised Instance Segmentation via Class-agnostic Learning with Salient Images摘要1. Introduction2. Related Work3. Method

這個資料增廣技術轉換了bounding box的位置和形狀,采用了背景資訊。得到新的box後,一個image patch被cropped和resized成 288 × 288 288×288 288×288的大小以進行聯合訓練。

3.3. Multi-task Learning

如Fig. 4所示,我們的BoxCaseg網絡有三個訓練任務,即box-supervised圖像的MIL訓練,顯著性圖像的MIL訓練和顯著性圖像的pixel級别精度的标注。3個 segmentation heads分别被稱作salient segmentation head, transferred segmentation head和weak segmentation head。這3個heads有相同的網絡結構。

3.3.1 MIL loss for weak segmentation

顯著性圖像的卷積的特征用 P s P_s Ps​表示,弱監督(即box-supervised)圖像用 P w P_w Pw​表示。 P s , P w P_s, P_w Ps​,Pw​被送入weak segmentation head,通過一個pixel-wise的sigmoid函數分别得到單通道的probability maps S s , S w S_s, S_w Ss​,Sw​。另外,上采樣確定了 S s , S w S_s, S_w Ss​,Sw​有和輸入圖像一樣的大小。正如3.1節所說,我們把 S s , S w S_s, S_w Ss​,Sw​中positive bags B + B^+ B+的集合和negative bags B − B^- B−的集合作為樣本。MIL loss定義成如下。

L m i l ( S , B + , B − ) = − ∑ B ∈ B + l o g ( max ⁡ p ∈ B S ( p ) ) − ∑ B ∈ B − l o g ( 1 − max ⁡ p ∈ B S ( p ) ) + 0.05 × φ ( S , B + , B − ) L_{mil}(S,B^+,B^-)=-\sum_{B\in B^+}log(\max_{p\in B}S(p))-\sum_{B\in B^-}log(1-{\max_{p\in B}S(p)})+0.05×\varphi (S,B^+,B^-) Lmil​(S,B+,B−)=−B∈B+∑​log(p∈Bmax​S(p))−B∈B−∑​log(1−p∈Bmax​S(p))+0.05×φ(S,B+,B−)

其中 p p p是在一個bag B ∈ { B + , B − } B\in \{B^+,B^-\} B∈{B+,B−}中的一個空間位置和一個在 S ∈ { S s , S w } S\in \{S_s,S_w\} S∈{Ss​,Sw​}的score map, S ( p ) S(p) S(p)表示在位置 p p p的score,最後一項 φ ( S , B + , B − ) \varphi (S,B^+,B^-) φ(S,B+,B−)是一個帶有固定權重為0.05的smooth term,如下所示。

φ ( S , B + , B − ) = ∑ p ∈ { B + , B − } ∑ p ′ ∈ Ω ( p ) ∣ ∣ S ( p ) − S ( p ′ ) ∣ ∣ 2 \varphi (S,B^+,B^-)=\sum_{p\in \{B^+,B^-\}}\sum_{p'\in \Omega (p)}||S(p)-S(p')||^2 φ(S,B+,B−)=p∈{B+,B−}∑​p′∈Ω(p)∑​∣∣S(p)−S(p′)∣∣2

其中 Ω ( p ) \Omega (p) Ω(p)表示像素點 p p p周圍鄰近的8個像素點。在第一個公式中,求和部分用MIL對像素進行分類,pairwise部分(就是第二個式子)旨在保持local smoothness。positive bags至少含有一個目标像素,是以我們激勵positive bags中的最大score盡量接近1,同時抑制negative bags中的最大scores。

3.3.2 Pixel-wise loss for salient segmentation and transferred segmentation

pixel-wise loss公式隻在salient圖像上使用。帶有pixel-wise loss的精确的salient圖像标注對于我們的BoxCaseg網絡捕捉class-agnostic邊界資訊很有幫助。由于它不能在box-supervised圖像上使用,我們提出了一個 transferred segmentation head去使得pixel-wise labeling parameters更加适合box-supervised圖像。這可以通過權重轉移(weight transfer)實作,這一操作首先在Mask* RCNN中被提出。正如Fig. 4所示,我們把weak segmentation head分離的卷積參數通過weight transfer子產品轉移到transferred segmentation head中。至于weight transfer子產品,我們隻用了一個兩層的帶有leaky ReLU激活函數的多層感覺機(MLP)。需要注意weight transfer是一個單向不可逆過程,是以它是從weak segmentation head中分離出來的,即梯度不會反向傳播給weak segmentation head。在訓練的過程中,weight transfer MLP的參數被不斷優化。給定一個顯著性圖像,其gt是一個二值化的掩碼,記為 M M M,我們把它從salient segmentation head和transferred segmentation head中輸出的score maps記作 S a , S t S_a,S_t Sa​,St​。然後,pixel-wise loss函數就是一個标準的二進制交叉熵損失,如下所示。

L p i x ( M , S a , S t ) = − M l o g ( α S a + ( 1 − α ) S t ) − ( 1 − M ) l o g ( 1 − ( α S a + ( 1 − α ) S t ) ) L_{pix}(M,S_a,S_t)=-Mlog(\alpha S_a+(1-\alpha)S_t)-(1-M)log(1-(\alpha S_a+(1-\alpha)S_t)) Lpix​(M,Sa​,St​)=−Mlog(αSa​+(1−α)St​)−(1−M)log(1−(αSa​+(1−α)St​))

其中 α ∈ [ 0 , 1 ] \alpha \in [0,1] α∈[0,1]是用來控制使用多少transferred segmentation map來計算pixel-wise loss的參數。

最終的loss函數如下所示。

L = L m i l ( S , B + , B − ) + λ L p i x ( M , S a , S t ) L=L_{mil}(S,B^+,B^-)+\lambda L_{pix}(M,S_a,S_t) L=Lmil​(S,B+,B−)+λLpix​(M,Sa​,St​)

其中如果輸入是box-supervised圖像, λ \lambda λ等于0,否則為1。最後,在訓練過程中,box-supervised圖像和顯著性圖像都在一個mini-batch中。他們的比例在實驗中可見詳情。這個混合的輸入政策有助于穩定訓練過程,且解決了資料不平衡問題,即在COCO資料集中box-supervised圖像很多而顯著性圖像很少。

Weakly-supervised Instance Segmentation via Class-agnostic Learning with Salient Images摘要1. Introduction2. Related Work3. Method

3.4. Training a Proxy Mask R-CNN

為了使用聯合訓練的BoxCaseg網絡做執行個體分割,我們首先需要在測試階段用一個分類器得到目标的位置。為了簡化這一過程同時避免two-step testing procedure的耗時長的問題。我們在一個網絡中重複訓練一個Mask R-CNN去執行box localization和mask prediction。我們的解決方式是直接前傳 - 我們使用BoxCaseg模型在訓練集上去生成僞掩碼。在用預訓練的BoxCaseg網絡為訓練執行個體生成僞掩碼時,我們隻通過gt boxes從圖像上crop patches作為輸入,且隻使用salient segmentation head和transferred segmentation head去預測目标掩碼。在我們的方法中,Mask R-CNN模型用bounding box标注和僞掩碼進行訓練,是以叫做Proxy Mask R-CNN。

雖然聯合訓練的BoxCaseg模型有很好的效果,但仍然不可避免地會有一些分割錯誤。主要是因為許多目标在一個bounding box中嚴重重合,例如在Fig. 5中機車上的人和沙發上的人。由于這些成對的目标極有可能一起出現,弱監督算法難以解決。為了減少這樣的錯誤,我們提出了merge and drop政策,即用smaller object better思想合并掩碼,和用proxy box agreement規則丢棄掩碼,細節如下。

Weakly-supervised Instance Segmentation via Class-agnostic Learning with Salient Images摘要1. Introduction2. Related Work3. Method

Merging via smaller object better: 先驗知識告訴我們每個像素點隻能屬于一個目标。在合并分割結果時,那些屬于多個預測出來的掩碼的像素被歸類為最小的目标所有。因為因為小目标通常都在大目标的box裡面。

Dropping via proxy box agreement: merge操作之後,我們要丢棄低品質的掩碼。可以觀察到低品質的掩碼明顯不同于他們的gt。然而,我們隻有gt boxes沒有gt masks。是以,我們找到僞掩碼的bounding box,稱為僞bounding box(proxy bounding box),計算proxy bounding box和GT bounding box的IoU作為proxy box agreement。proxy mask和GT mask的mask的IoU的下限可以反應分割的品質。需要注意的是,丢棄mask不意味着把它從标注檔案中移除。而是在Mask R-CNN的mask head訓練的反向傳播過程中忽略掉那些被删除的masks。

繼續閱讀