码迷,mamicode.com
首页 > 其他好文 > 详细

Mask RCNN笔记

时间:2018-04-26 23:31:39      阅读:717      评论:0      收藏:0      [点我收藏+]

标签:并行   复习   rest   含义   dai   idt   技术   com   网络   

Mask RCNN

 

技术分享图片

 

一、核心要点

(1)RoIAlign

mask rcnn的关键 一是RoIAlign,是将RoIPooling的插值方式,从最近邻插值(INTER_NEAREST)方式变为双线性插值。

这里复习一下关于RoI,RoIPooling的知识

RoI是Region of Interests 特征图上感兴趣的区域(“框”)

RoIPooling的过程是将一个个大小不同的box框,都映射成固定大小(w*h)的矩形框

具体操作是:先把RoI中的坐标映射到feature map上,得到feature map上的坐标后,使用Pooling得到输出,在Pooling过程中需要计算Pooling后的结果对应到feature map上所占的范围,然后在那个范围中进行取max或average操作。使用RoIPooling会在RoI和extracted features之间引入误差(introduce misalignments)。

所以使用RoIAlign 来解决这个问题。

技术分享图片

论文中还和RoIWarp(J. Dai, K. He, and J. Sun. Instance-aware semantic segmentation via multi-task network cascades. In CVPR, 2016. 2, 3,4, 5, 6 )进行了比较,实验结果表明RoIAlign的效果要好于 RoIWarp。

(2)实例分割同检测并行进行

 

技术分享图片

尝试了两种不同的faster rcnn的结构,ResNet C4和FPN结构。

从图中可以看到,ResNet C4共享RoI层,而FPN是两个任务分开做RoI。

mask Loss 只定义在了正例的RoIs上。

 

在该文章中RPN和 mask分支,训练时,不共享特征;对于前边的特征提取,RPN和mask共享基础网络结构。

 

(3)使用FPN对RoI进行实例分割 mask的具体含义?

  使用FCN对每个RoI预测一个k*m*m的mask,用来进行pixel2pixel的预测。mask编码了输入目标的空间分布(怎么就能编码?)。

 

(4)mask生成使类间无竞争的(loss是 对于每个像素点的sigmod 二值loss)

 Lmask只定义在 k-th mask上对于一个具体为k类的gt,其他mask对loss没有贡献,生成k个m*m的mask,这样类间就没有竞争。

 

 

 

下边就是具体的实验室数据和结果展示

技术分享图片

 技术分享图片

 技术分享图片

技术分享图片

技术分享图片

 

Mask RCNN笔记

标签:并行   复习   rest   含义   dai   idt   技术   com   网络   

原文地址:https://www.cnblogs.com/ya-cpp/p/8954828.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!