CenterMask : Real-Time Anchor-Free Instance Segmentation

Paper Link: https://arxiv.org/abs/1911.06667

GitHub (PyTorch): https://github.com/youngwanLEE/CenterMask

Introduction

  • 實例分割的經典代表,包括Mask-RCNN與YOLACT等;
  • Mask-RCNN基於two-stage檢測框架,mask AP相對較高,但執行速度較慢;
  • YOLACT基於one-stage檢測框架,執行速度快,但mask AP相對較低;
  • 且Mask-RCNN與YOLACT都是anchor-based實現方式,具有以下劣勢:
  1. anchor相關的超參數設置相對敏感,較難適應樣本多樣性,例如尺度、形狀多變的場景;
  2. 爲了確保高召回率,密集的anchor覆蓋 (尤其是stride較小的檢測分支)容易導致class imbalance、過重的計算與訪存負擔;
  • 爲了實現高效率、高mAP的實例分割模型,文章設計了CenterMask:
  1. 檢測框架爲one-stage anchor-free FCOS;
  2. backbone爲改進的VoVNet,能夠有效降低memory access cost;
  3. mask分支引入了spatial attention guidance;
  4. 達到了如下效果:

CenterMask

  • Overall Framework:

  • Adaptive ROI Assign Function:
  1. 將FCOS檢測的bbox分派到指定等級的FPN feature上:

  2. kmax=5,kmin=3;
  3. 提取FPN feature的ROIAlign area,送入SAG-Mask;
  • Spatial Attention Guided Mask:
  1. 沿channel維度執行max-pooling與avg-pooling,並通過concat聚合特徵;
  2. 進一步通過3x3卷積、sigmoid函數提取spatial attention:

  3. spatial attention與ROI特徵相乘,實現聚焦學習;
  4. 相乘之後的特徵,通過up-sampling以及1x1 convolution,獲得包含語義分類的mask;
  • VoVNet-V2 Backbone:
  1. Backbone的結構改進包括OSA module改進,以及SE module改進:

  • OSA module:
  1. Memory access cost:

  2. DenseNet的輸入特徵維度,隨着concat的執行不斷線性遞增,導致訪存開銷增大;
  3. OSA module中每個layer的輸入/輸出特徵維度是相同的,可以節省MAC;
  4. 並且OSA module將所有layer的feature一次性聚合在output feature,有助於增強output feature的信息量;
  5. 類似於ResNet,文章進一步引入residual connection,有助於加深網絡;
  • eSE module:
  1. 省去了SE module中負責維度壓縮的FC layer,可減少channel-wise信息損失,有助於獲得更好的channel-wise attention:

SE-module:

eSE-module:

channel-wise atttention:

  • Training:
  1. Multi-task loss:

Experiments

  • Mask-RCNN可以認爲是高精度instance segmentation的代表;
  • YOLACT則是快速實例分割的代表;
  • CenterMask的提出,與BlendMask具有相同的motivation,一是在允許提升模型複雜度的條件下,獲得SOTA表現;二是在分割精度與推理速度之間取得更好的折中,在同等精度表現下,期望獲得更快的速度;

 

 

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