摘要
大多數實例分割算法都要求為所有的訓練樣本分配一個分割掩碼標簽。為新類別打標簽是一件費時費力的事情,所以這篇文章提出了一個新的偏監督學習訓練范例,使用權值遷移函數來訓練擁有大量邊框標注但是有很少分割標注的實例分割模型。這些改進可以讓Mask R-CNN檢測和分割3000個視覺概念,通過使用Visual Genome dataset的邊框標注和COCO dataset的80個類別掩碼標注。這個方法擴展了視覺世界的廣泛概念。
1. 介紹
目標檢測現在都是准確率非常高的。實例分割受限於非常少的類別,大概只有100個目標類別。
限制的主要原因是最先進的實例分割算法都要求精確的監督標簽,而這些標簽的收集很難。相比之下,邊框標注是非常多的,並且很好收集。這引發了一個問題:對於所有類別沒有完整的實例分割標注,卻可以訓練高質量的實例分割模型?帶着這個動機,提出了一個偏監督實例分割任務,以及一個新的遷移學習方法來解決這個問題。
如下定義偏監督實例分割任務:(1)給定一個感興趣的類別集合,這個小的集合有實例掩碼標注,而其它列別僅僅有邊框標注;(2)實例分割算法應該利用這個數據去擬合模型,該模型可以在所有感興趣類別上分割所有目標實例。因為訓練詩句是掩碼數據和邊框數據的混合,所以稱該任務為偏監督學習。
偏監督相對於弱監督訓練的主要好處是,允許通過利用所有存在數據類型構建一個大規模實例分割模型,這些數據包括有大量類別的邊框標注的Visual Genome以及包含少量類別的實例掩碼標注的COCO。這個方法能讓最先進的實例分割方法擴展到數以千計的類別中。
為了處理偏監督實例分割,提出了一個建立在Mask R-CNN上的新遷移學習方法。Mask R-CNN非常適合這個任務,因為它將實例分割問題分解為邊框檢測和掩碼預測兩個子任務。這兩個子任務的使用專用共同的頭部網絡訓練。方法背后的直觀理解是,一旦訓練,邊框頭部的參數編碼每個類別的嵌入,使得視覺信息能夠傳遞到偏監督掩碼的頭部。
通過設計一個參數化的權值遷移函數來實現這個直觀理解,並訓練該函數作為邊框檢測參數的函數來預測類別實例分割的參數。該權值遷移函數使用帶有掩碼標簽的類作為監督在Mask R-CNN上訓練。在推理的時候,該函數用於預測每個類別的實例分割參數,因此使得模型分割所有的目標類別,並且包括那些訓練時候沒有掩碼標注的類別。
這篇文章在兩個設置上探索這個方法。首先是,使用COCO dataset來模仿偏監督實例分割任務。具體就是,將所有COCO類別集合分割成有掩碼標注的子集,其余的分為只有邊框標注的子集。因為COCO dataset只要80個語義上分割好的類,定量的評估是准確的且可靠的。實現結果表明,這個方法大大改善了結果。
第二個設置是,用Visual Genome(VG) dataset訓練一個大規模的有3000類別的實例分割模型。VG包含大量目標類別的邊框標注,然而定量的評估是個挑戰。此外,VG沒有實例掩碼標注。相反,使用VG提供大規模實例分割模型的定性輸出。
2. 相關工作
Instance segmentation. 實例分割是高度活躍的研究領域,其中的Mask R-CNN代表了最先進的算法。這些方法都假設了一個全監督的訓練場景,即所有的類別都有實例掩碼標注。這片論文的目標就是釋放這個假設,使得即使只有一部分類別的掩碼可用也能訓練模型。為了做到這點,在Mask R-CNN上構建了一個新的遷移學習方法。
Weight prediction and mask transfer learning. 替代直接學習模型參數,其它來源的先前的工作已經探索了如何預測它們。這里,設計一個模型來預測Mask R-CNN中使用的具體類別的實例分割權值,來替代直接訓練它們,這在偏監督訓練場景中是可行的。
這個方法是遷移學習的一種類型,其中的知識是從一個任務幫助另一個任務獲得。與這個方法最相關的是,LSDA通過域自適應步驟將整個圖像分類參數裝換為其它目標檢測參數。LSDA可以視為將在一個圖像分類任務上學習到的知識遷移到一個目標檢測任務,這里考慮將從邊框檢測學習的知識遷移到實例分割。
Weakly supervised semantic segmentation. 先前的工作從弱監督上訓練語義分割模型。這個領域的大多數工作僅僅處理語義分割不是實例分割,獨立的處理每個類,並且依賴手工自底向上的方法,泛化不好。
Visual embedding. 目標類別可以通過在視覺語義空間連續的嵌入向量來建模,其中相近的向量經常是外觀上或者語義本體中是相近的。類別嵌入向量可以通過自然語言處理技術獲得。這個方法中,Mask R-CNN框頭部的參數包含具體類別的外觀信息,並且可以視為通過為邊框檢測訓練學習到的嵌入向量。這個類別嵌入向量可以通過分享視覺相關類別之間的外觀信息,使得模型中的遷移學習得以實現。
3. 學習分割每個東西
假設$C$是想要訓練實例分割模型的目標類別集合。大多數現有方法都假設$C$中的所有訓練樣本都有實例掩碼標注。這里放寬了這個要求,而是假設$C=A∪B$,其中$A$所有類別的樣本都有掩碼,而$B$中的所有樣本僅有邊框。因為$B$中的樣本關於目標任務(實例分割)都被弱標簽化,所以稱在強標簽和弱標簽結合上的訓練為偏監督學習問題。注意到可以很容易將實例掩碼轉化為邊框,所以假設邊框標注也可以用於$A$中的類。
給定一個實例分割模型,像Mask R-CNN一樣有一個邊框檢測組件和一個掩碼預測組件,提出了$Mask^{X} R-CNN$方法將模型邊框檢測器中的具體類別信息遷移到它的實例掩碼預測器中。
3.1 使用權值遷移來預測掩碼
這個方法建立在Mask R-CNN上,因為他是一個簡單的實例分割模型,也實現了最先進的結果。簡短地說,Mask R-CNN可以視為是Faster R-CNN的增強,它通過添加一個小的FCN網絡來實現。在推理的時候,掩碼分支應用於每個檢測目標為了預測一個實例級的前景分割掩碼。在訓練時,掩碼分支與Faster R-CNN中標准邊框頭部並行且聯合訓練。
在Mask R-CNN中,邊框分支的最后一層和掩碼分支的最后一層都包含具體類別參數,該參數分別用於每個類別的邊框分類和實例掩碼預測。替代獨立學習具體類別的邊框參數和掩碼參數,提出使用通用的類無關的,且可以聯合訓練作為整個模型一部分的權值遷移函數,從邊框參數來預測一個類的掩碼參數。
對於一個給定的類別$c$,假設$w^{c}_{det}$是邊框頭部最后一層特定類的目標檢測權值,並且$w^{c}_{seg}$是掩碼分支特定類掩碼權值。替代將$w^{c}_{seg}$視為模型參數,使用一個通用權值預測函數Τ(·)將$w^{c}_{seg}$參數化。
$w^{c}_{seg}=Τ(w^{c}_{det};θ)$,(1)
這的θ是類無關的學習參數。
同樣的遷移函數Τ(·)可以應用任何類別$c$,因此θ應該被設置以致於Τ(·)可以泛化到在訓練時候沒有掩碼的類。期望泛化是可行的,因為特定類的檢測權值$w^{c}_{det}$可以視為一個基於外觀的類的視覺嵌入。
可以將$Τ(·)$實現為一個小的全連接網絡。圖2闡明了權值遷移函數如何擬合Mask R-CNN以形成$Mask^{X} R-CNN$。從細節來看,注意到邊框頭部包含兩種檢測權值:RoI的分類權值$w^{c}_{cls}$和邊框回歸取值$w^{c}_{box}$。實驗僅僅使用其中一種權值(例如,$w^{c}_{det}=w^{c}_{cls}\,or\,w^{c}_{det}=w^{c}_{box}$),或者使用兩者的拼接(例如,$w^{c}_{det}=[w^{c}_{cls},w^{c}_{box}]$)。
3.2 訓練
在訓練的時候,假設對於兩種類別$A$和$B$,僅僅$A$的實例掩碼標注可用,$B$的不可用,然而兩者邊框標注都可用。如圖2所示,使用標准的邊框檢測損失在所有類別上$A∪B$上訓練邊框頭部,但是僅僅使用$A$類上的掩碼損失來訓練掩碼頭部和權值遷移函數Τ(·)。給定這些損失,探索兩種不同的訓練步驟:階段性訓練和端到端訓練。
Stage-wise training. 因為Mask R-CNN可以視為用一個掩碼頭部對Faster R-CNN的一個增強,所以一個可行的訓練策略是將訓練步驟分成檢測訓練(第一階段)和分割訓練(第二階段)。在第一階段,僅僅使用$A∪B$類別的邊框標注進行訓練,並且然后在第二階段訓練附加的掩碼頭部而保持卷積特征和邊框頭部不變。用這種方法,每個類的特定類檢測權值$w^{c}_{det}$可以視為固定類嵌入向量,該向量在第二階段訓練時不需要更新。這個方法有益於讓我們只用訓練邊框檢測模型一次,並且然后快速為權值遷移函數評估設計選擇。它也有缺點,接下來討論。
End-to-end joint training. 對於Mask R-CNN來說,多任務訓練比分開來訓練每個任務會有更好的性能。上述的階段性訓練機制將檢測訓練和分割訓練分開, 並可能導致較差的性能。因此,可以用一種端到端的方式來聯合訓練邊框頭部和掩碼頭部。原則上,可以直接使用$A∪B$類的邊框損失和$A$類的掩碼損失來反向傳播訓練。然而,這可能會造成在$A$和$B$之間特定類檢測權值$w^{c}_{det}$的矛盾,因此僅僅對於$c\in A$的$w^{c}_{det}$通過權值遷移函數$T(·)$接收到來自掩碼損失的梯度。想$w^{c}_{det}$在$A$和$B$之間為同質,以至於在$A$上訓練的得到的預測$w^{c}_{seg}=Τ(w^{c}_{det};θ)$可以更好的泛化到$B$。
為了解決這個矛盾,使用一種簡單的方法:當反向傳播掩碼損失的時候,停止關於$w^{c}_{det}$的梯度,那就是,僅僅計算關於遷移函數參數θ的預測掩碼權值$Τ(w^{c}_{det};θ)$而不是邊框權值$w^{c}_{det}$的梯度。在大多數神經網絡工具包中可以通過$w^{c}_{seg}=Τ(stop\_grap(w^{c}_{det});θ)$實現。
3.3 基線:類無關的掩碼預測
DeepMask表明訓練一個深度模型來執行類無關的掩碼預測是可行的...
3.4 擴展:融合FCN+MLP掩碼頭部
Mask R-CNN中考慮兩種掩碼頭部:(1)一種FCN頭部,用一個全卷積網絡來預測$M$x$M$掩碼,(2)一種MLP頭部,用由全連接層組成的多層感知機來預測掩碼,與DeepMask更相似。在Mask R-CNN中,FCN頭部生成更高的掩碼AP。然而,兩種設計可以互補。直觀上,MLP掩碼預測器可以更好地捕捉到一個目標的“要點”,而FCN掩碼預測器可以更好地捕捉到細節(例如目標邊界)。基於這個觀察,通過融合來自類無關的MLP掩碼預測器,來改進基線類無關的FCN和權值遷移函數(使用FCN)。實驗將表明這個擴展將改善基線和這里的遷移方法。
對於$K$個類當融合類無關和特定類的掩碼預測時,添加兩個分數到最終的$K$x$M$x$M$輸出,其中類無關的掩碼分數(類型1x$M$x$M$)平鋪$K$次,並且通過一個sigmoid單元添加到每個掩碼概率,並且調整到實際邊框尺寸作為對於邊框的最終實例掩碼。在訓練時,在$K×M×M$掩碼概率上應用二元交叉熵損失。
