論文題目: 《Instance-aware Semantic Segmentation via Multi-task Network Cascades》
論文信息: CVPR2016,Jifeng Dai, Kaiming He, Jian Sun, Microsoft Research
論文:
https://arxiv.org/abs/1512.04412
作者主頁:
http://research.microsoft.com/en-us/um/people/jifdai/
代碼鏈接:
https://github.com/daijifeng001/MNC
1. 論文的工作
1) 顯著性分割
2) 實例感知
這篇論文主要的工作在於對一張圖片進行顯著性分割,一般的顯著性只進行到分割,並不能識別分割出來的物體是什麼類別的,這篇文章,除了進行顯著性分割,還能對分割出來的物體進行識別,判別出是何種類別。
(圖片來源於論文,左邊爲原始圖片,中間爲論文結果,包括顯著性分割及實例分類,右邊爲groundtruth)
2. 論文的想法
1) 整體框架
對於傳統的多任務方法,在共享特徵的基礎上,每個任務同時進行,在後續的實驗中,各個任務之間互不干擾,互相獨立。
這篇論文提出的多任務方法,在共享特徵的基礎上,下一個任務依賴於上一個任務以及共享特徵,如此形成層級的多任務結構。
(圖片來源於論文)
2) 詳細解析
這篇論文主要做三個任務:
(1). 實例區分 (Differentiating instances)
(2). 掩膜估計 ( Estimating masks)
(3). 分類目標 (Categorizing objects)
可以使用VGG-16前13層學到的特徵作爲共享特徵。
每個任務階段都包括一個損失項,下一任務階段的損失依賴於上一任務的損失。
爲了實現反向傳播,論文使用了關於空間座標可微的網絡層,使得梯度可計算。
(圖片來源於論文)
(1). 實例區分
在這一任務階段,輸入爲共享的特徵,輸出爲bounding box。
方法: 網絡結構以及損失函數採用區域生成網絡(Region Proposal Network, RPN)。RPN 爲用全卷積形式來預測bounding box的位置和目標得分。
損失函數:
: 儘量優化後的所有網絡參數。
: box的索引。 : box的中心。 :
box的寬度以及高度。 : 目標概率。
表明網絡參數的函數爲box 的預測。
(2). 掩膜估計
在這一任務階段, 輸入爲共享特徵和第一任務階段產生的bouding box, 輸出爲像素級的masks.
方法: 通過RoI (Region of Interest) pooling來提取box裏感興趣的特徵,(RoI pooling 用來將box減小到固定大小的特徵)。隨後增加兩層全連接層。第一個全連接層將特徵維度降低到256,第二個全連接層迴歸像素級的mask.
損失函數:
: 輸出的mask。
第二層的損失依賴於第一次的損失。
(3). 分類目標
在這一任務階段,輸入爲共享特徵,第一任務階段產生的bouding box 和第二階段產生的mask,輸出爲每個實例的分類得分。
方法: 在使用RPN得到 bounding box 之後,
一方面,由RoI pooling 後加兩層卷積(第二任務階段的方法)得到mask 特徵,
另一方面,由RoI pooling 直接連接兩層4096維卷積層,得到特徵。
這兩方面得到的特徵相連接,使用softmax分類。N+1類。N個實例類別,1個背景類別。
mask特徵:
: RoI pooling 得到的特徵。 : mask 的預測。
損失函數:
: 所有實例的預測類別。
3. 端到端的訓練
爲了實現端到端的訓練,論文實現了可微的RoI pooling.使用隨機梯度下降來訓練模型。
4. 級聯更多階段
任務階段1,2,3爲前面提到的方法,任務階段1得到bounding box, 任務階段2得到mask ,任務階段3得到實例分類,
在任務階段3,選擇類別數考前的bounding box 作爲新的 bounding box,
任務階段4採用與任務階段2相同的方法,得到新的mask,
任務階段5採用與任務階段3相同的方法,最終得到實例分類。
(圖片來源於論文)
5. 實現細節
第一階段產生的box 數目很多,論文用NMS(非極大值抑制),獲得300個box用於後續任務階段。
6.最後爲論文的實驗結果
後記: 文章思路: