如何评价 Kaiming He 最新的 Mask R-CNN?

https://arxiv.org/pdf/1703.06870.pdf Abstract: We present a conceptually si…
关注者
2,940
被浏览
417,100

51 个回答

Mask-RCNN 的结果在不加任何 trick 的情况下能够超过各种数据增强加持下的 COCO 2016 分割挑战的冠军 FCIS 了,一个特点就是 Mask-RCNN 的检测和分割是并行出结果的,而不像以前是分割完了之后再做分类,结果是很 amazing 的。



Mask-RCNN 大体框架还是 Faster-RCNN 的框架,可以说在基础特征网络之后又加入了全连接的分割子网,由原来的两个任务(分类+回归)变为了三个任务(分类+回归+分割)



主要改进点在:

1. 基础网络的增强,ResNeXt-101+FPN的组合可以说是现在特征学习的王牌了

2. 分割 loss 的改进,由原来的 FCIS 的 基于单像素softmax的多项式交叉熵变为了基于单像素sigmod二值交叉熵,经 @Oh233同学指正 ,softmax会产生FCIS的 ROI inside map与ROI outside map的竞争。但文章作者确实写到了类间的竞争, 二值交叉熵会使得每一类的 mask 不相互竞争,而不是和其他类别的 mask 比较 。

3. RoIAlign 层的加入,说白了就是对 feature map 的插值,直接的ROIPooling的那种量化操作会使得得到的mask与实际物体位置有一个微小偏移,个人感觉这个没什么 insight,就是工程上更好的实现方式

文章还指出在物体检测中,Mask-RCNN 比一般的 state-of-the-art 方法(用Fatser-RCNN+ResNet-101+FPN实现)在 bounding-box 的 AP 上高3.6个点,1.1来自ROIAlign,0.9来自多任务训练,1.6来自更好的基础网络(ResNeXt-101)

说一点个人愚见,这么好的效果是由多个阶段的优化实现的,大头的提升还是由数据和基础网络的提升:多任务训练带来的好处其实可以看作是更多的数据带来的好处;FPN 的特征金字塔,ResNeXt更强大的特征表达能力都是基础网络

源码出来之后才能知道更多的细节~

为什么不仔细读一下在膜拜大神呢?

Mask RCNN 是基于Kaiming 之前的工作 FPN (Feature Pyramid Network) 很形象地说就是用FPN产生的检测结果, 后面加了一个分割的网络.

文章中用到了 Top-Down + Bottom-Up 最近很流行的多层网络, 因为最开始Faster-RCNN只是在最后一层上面检测, 很容易丢掉小目标物体, 并且对细节遮挡也很不敏感. 最近的趋势就是结合多层 特征, 答主孔涛就很早发现了这个insight, 做出了HyperNet 并中了CVPR roal!!!

Top-Down + Bottom-Up 结构比HyperNet更进一步, 干脆不简单地拼合多层特征了, 再做一层"反卷积(把图片增大的卷积, 和卷积没本质区别)" 把高层特征带到低层次去, 这样低层次既有细节又有语义. 这样的做法进一步提高了coco上的性能 大约5个点吧. 和FPN一起出来的还有Google一个工作 Top-Down Modulation for Object Detection.

Kaiming的另外一个发现是用 class-wise 的 binary loss 比以往多分类的softmax with entropy loss更有用, 很小的改进就提升了几个点.

btw 另外大家现在都不在 VOC上做了, 主要目标转到了coco, 有更多的小物体, 更挑战, 更多的数据 (14万) 标注.

这项工作不足之处也很多, FPN最大的问题就是就是它的最好地方, 巨大搜索空间, 原来Faster RCNN 只有上千个anchors(初始化区域), FPN是数十万级别! 用python单单生成这些候选区域都要0.05s, cython加速也只做到0.01s.

这个工作只是开始, 肯定不是终点. 不过弯道超车的确极难. 前面的Google FB MSRA 都有上千GPU 上TB的ImageNet 众多实习生和数位大神 ...

在尝试实现 Mask RCNN (in progress), 有兴趣的可以关注一下 CharlesShang/FastMaskRCNN