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 : Real-Time Anchor-Free Instance Segmentation_第1张图片

CenterMask

  • Overall Framework:

CenterMask : Real-Time Anchor-Free Instance Segmentation_第2张图片

  • 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改进:

    CenterMask : Real-Time Anchor-Free Instance Segmentation_第3张图片

  • 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表现;二是在分割精度与推理速度之间取得更好的折中,在同等精度表现下,期望获得更快的速度;

 

 

你可能感兴趣的:(实例分割,深度学习,深度学习,pytorch,计算机视觉)