從Cascade R-CNN到Hybrid Task Cascade

原文 | https://arxiv.org/abs/1901.07518

Faster R-CNN算法及其實現詳解:https://zhuanlan.zhihu.com/p/31426458

Mask-RCNN 算法及其實現詳解:https://blog.csdn.net/remanented/article/details/79564045

傳統的Faster R-CNN結構如下:

è¿éåå¾çæè¿°

在train階段,其最終的輸出結果是通過如下一個簡單的IoU閾值判斷來決定哪些proposal作爲output

Cascade R-CNN Innovation
作者的Idea,是設計cascade的bbox cls/reg機制: 
總共有三個roi-wise subnet相cascade (級聯) ,每個roi-wise subnet採用不同的IoU閾值。依次爲0.5、0.6、0.7。 
對應的網絡結構如下: 

è¿éåå¾çæè¿°

具體可參考:https://blog.csdn.net/jningwei/article/details/80622837 

 

Hybrid Task Cascade結構圖如下

基本來自原作者的知乎:https://zhuanlan.zhihu.com/p/57629509

 第一步:Cascade Mask R-CNN

由於 Cascade R-CNN 在物體檢測上的結果非常好,我們首先嚐試將 Cascade R-CNN 和 Mask R-CNN 直接進行雜交,得到子代 Cascade Mask R-CNN,如上圖(a)所示。在這種實現裏,每一個 stage 和 Mask R-CNN 相似,都有一個 mask 分支 和 box 分支。當前 stage 會接受 RPN 或者 上一個 stage 迴歸過的框作爲輸入,然後預測新的框和 mask。這也是實驗中我們所比較的 baseline,從實驗表格可以看到其實這個 baseline 已經很強了,但是仍然存在明顯的問題,主要在於 Cascade Mask R-CNN 相比 Mask R-CNN 在 box AP 上提高了 3.5 個點,但是在 mask AP 上只提高了 1.2 個點。

第二步:Interleaved Execution

Cascade R-CNN 雖然強行在每一個 stage 裏面塞下了兩個分支,但是這兩個分支之間在訓練過程中沒有任何交互,它們是並行執行的。所以我們提出 Interleaved Execution,也即在每個 stage 裏,先執行 box 分支,將回歸過的框再交由 mask 分支來預測 mask,如上圖(b)所示。這樣既增加了每個 stage 內不同分支之間的交互,也消除了訓練和測試流程的 gap。我們發現這種設計對 Mask R-CNN 和 Cascade Mask R-CNN 的 mask 分支都有一定提升。

第三步:Mask Information Flow

 在相鄰的stage的mask分支間增加一條新的連接,提供mask分支的信息流,讓 不同stage之間相互調整

第四步:Semantic Feature Fusion

這一步是我們嘗試將語義分割引入到實例分割框架中,以獲得更好的 spatial context。因爲語義分割需要對全圖進行精細的像素級的分類,所以它的特徵是具有很強的空間位置信息,同時對前景和背景有很強的辨別能力。通過將這個分支的語義信息再融合到 box 和 mask 分支中,這兩個分支的性能可以得到較大提升。

在具體設計上,爲了最大限度和實例分割模型複用 backbone,減少額外參數,我們在原始的 FPN 的基礎上增加了一個簡單的全卷積網絡用來做語義分割。首先將 FPN 的 5 個 level 的特徵圖 resize 到相同大小並相加,然後經過一系列卷積,再分別預測出語義分割結果和語義分割特徵。這裏我們使用 COCO-Stuff 的標註來監督語義分割分支的訓練。紅色的特徵將和原來的 box 和 mask 分支進行融合(在下圖中沒有畫出),融合的方法我們也是採用簡單的相加。

 

 

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