Mask RCNN 论文阅读

原创 2017年03月26日 22:12:56

mask rcnn 是对Faster R-CNN的功能上的提升,速度上仍然在200ms(5fps)。

f1

Faster R-CNN回顾

Faster R-CNN由两个阶段组成。 第一阶段为RPN网络,提出候选对象bounding boxes。第二阶段,本质上是Fast R-CNN,从每个候选框中提取使用RoIPool的特征,并执行分类和边界框回归。

Mask R-CNN特点

Mask R-CNN在概念上很简单,与Faster R-CNN前相同只是又多加了一个输出:Faster R-CNN每个候选对象有两个输出,类标签(label)和边框偏移(bounding-box offset); 为提高精度,又添加了输出对象mask(二进制掩码)的第三个分支。但附加的Mask输出与类和框输出不同,需要提取对象的更精细的空间布局。同时,分类也取决于掩模预测。

损失上,在训练期间,将每个抽样RoI的多任务丢失定义为L=Lcls+Lbox+Lmask。 分类损失Lcls和bounding-box损失Lbox与Fast R-CNN中定义的相同。mask分支对于每个RoI具有Km2维输出,即K个分辨率m×m的二进制掩模编码,每个对应K中某个类别。 为此,对每个每像素使用sigmoid,并将Lmask定义为平均二进制交叉熵损失(the average binary cross-entropy loss)。对于与ground-truth类k相关联的RoI,Lmask仅在第k个掩码上定义(其他掩码输出不会造成损失)。

与FCN

我们对Lmask的定义允许网络为每个类生成掩码,而不会在类之间有竞争;我们依靠专用分类分支预测用于选择输出掩码的类标签。这将隔离mask和类预测输出。 这与将FCN应用于通常使用每像素softmax和多项交叉熵损失的语义分割的常见做法不同。 在这种情况下,类上的mask存在竞争;在我们这种情况下,使用每像素的sigmoid和二进制损失,不会存在mask间的竞争。 通过实验显示,这种方案是良好的实例分割结果的关键。

Mask的表示

一个mask对输入对象的空间布局进行编码,如图1。 因此,无需像全链接一样reshape,可以通过卷基层进行运算输出。具体来说,我们使用FCN预测每个RoI的m×m掩码。 这允许掩模分支中的每个层保持显式的m×m对象空间布局,而不会将其折叠成缺少空间维度的向量(fc)表示。完全卷积表示需要更少的参数,并且如实验所证明的更准确。 这种像素到像素的行为需要我们的RoI特征,它们本身是小的特征图,以便良好地对齐以保留显式的每像素空间对应(应该是得到的mask与物体的像素对其)。 这促使我们开发出在掩模预测中发挥关键作用的以下RoIAlign层。

RoIAlign

RoIAlign层是对RoIPool的改进,用于可以消除RoIPool的严格量化。其实提出的改变很简单:为了避免了RoI边界或块的任何量化(即我们使用x / 16而不是[x / 16])。我们使用双线性插值来计算每个RoI中四个定期采样位置的输入特征的精确值,并将结果聚合(使用最大值或平均值)。如展示的那样,RoIAlign带来了很大的改进。
其实这一部分就是对feature map的插值计算。

网络结构

效果最好的结构是ResNeXt + FPN。这两部分也有其各自的作用:

  1. 用于整个图像上的特征提取的卷积网络结构
  2. 分别应用于每个RoI的边界盒识别(分类和回归)和掩模预测的网络头。

是下图右边的结构:
Head Architecture

总结

这是把图像分割运用到了检测里来,算是检测功能的进一步增强。之前我就觉得这两者之间其实还是比较类似的,更进一步从检测做到分割也是理所当然。
其实最大的创新应该是分割中使用了非竞争的sigmoid代替了softmax,但具体各部分哪一点是最关键的,最提升性能的,只凭想也不能确认。以上是初步的阅读,可能有一些错误,希望与大家多交流。

S. Xie, R. Girshick, P. Doll´ar, Z. Tu, and K. He. Aggregated residual transformations for deep neural networks. arXiv:1611.05431, 2016.
T.-Y. Lin, P. Doll´ar, R. Girshick, K. He, B. Hariharan, and S. Belongie. Feature pyramid networks for object detection. arXiv:1612.03144, 2016.

版权声明:本文为博主原创文章,转载请标注出处。

相关文章推荐

Mask R-CNN论文导读

文章链接:Mask R-CNN看到文章出来的第一个感觉就是,哇塞,大神们不光甩大招,还在一起甩~~~让我们这些小虾米们怎么玩呢~废话不多说,介绍重点。 一、文章思想 文章的主要思路就是把原有的Fa...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Mask RCNN in TensorFlow

Download coco dataset, place it into ./data, then run python download and_convert_data.py to build t...

Mask-RCNN技术解析

一. Mask-RCNN 介绍        上篇文章介绍了 FCN,这篇文章引入个新的概念 Mask-RCNN,看着比较好理解哈,就是在 RCNN 的基础上添加 Mask。        Mask-...

Mask RCNN

Mask RCNN这是He Kaiming和Ross Girshick等人在2017新出的一篇文章。 一、文章思想 文章的主要思路就是把原有的Faster-RCNN进行扩展,添加一个分支,在现有...

Mask R-CNN个人理解

1 简述 Mask R-CNN是一个小巧、灵活的通用对象实例分割框架(object instance segmentation)。它不仅可对图像中的目标进行检测,还可以对每一个目标给出一个高质量...

MASK-RCNN阅读笔记

2017:Mask R-CNN - 扩展 Faster R-CNN 以用于像素级分割背景何凯明的这篇大作是想像Fast/Faster-RCNN,FCN做为检测任务与分割任务的基础框架那样,将MASK-...

rcnn安装配置,完美解决caffe不兼容问题

之前因为之前博客先装caffe版本不能兼容rcnn,下载caffe v0.999版本也出现来编译不能通过的情况。 现在的解决办法还是使用caffe v0.999版本,之所以出现编译不过的问题。是因为...

Mask R-CNN小结

Mask R-CNN 小结 连盛 2017.3.26 IMT Lab in XMU Author:Kaiming He, Georgia Gkioxari, Piotr Dol...

论文阅读-《Mask R-CNN》

arxiv 2017/3/20 KaiMing He & Rbg1.Contribution Propose a general instance segmentation method called...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Mask RCNN 论文阅读
举报原因:
原因补充:

(最多只允许输入30个字)