Mask R-CNN 笔记

Mask R-CNN在Faster R-CNN基础上增加mask分支,解决实例分割问题,通过RoIAlign解决空间定位误差。文章介绍了Mask R-CNN的架构、损失函数及其在实例分割中的优越性。
摘要由CSDN通过智能技术生成

何恺明大神的Mask R-CNN获得ICCV最佳论文奖。Mask R-CNN通过扩展Faster R-CNN来实现实例分割,同时还可以用于人体关键点检测。

语义分割 VS 实例分割

首先说说语义分割和实例分割的区别。语义分割是分割不同类别,而实例分割在分割类别的同时分割类别的实例,通过下面的图片来更好地理解二者的区别
semantic segmentation
instance segmentation
实例分割比语义分割更难一些。

Mask R-CNN

Architecture

Mask R-CNN是基于Faster R-CNN的,它把Faster R-CNN的VGG换成能提取更好特征的ResNet,同时采用了FPN的特征金字塔模型。Mask R-CNN从RoI-Pooling层添加了一个mask分支,用于预测实例掩膜,这个mask是一个二值矩阵,用于表明这个RoI中哪些区域是实例,哪些不是。同时,为了避免misalignment问题,提高mask的预测精度,mask R-CNN把RoIPool换成RoIAlign。Mask R-CNN的简单结构如下图所示。
mask R-CNN

Head Architecture

Mask R-CNN的head有三个分支,如下图所示
head architecture

三个分支分别是class分支、box分支和mask分支。左边的表示使用ResNet作为网络的基础架构,RoI在ResNet的第4阶段后面,经过res5提取出RoI的特征,从这里开始分出两条分支,上面一条分支由于分类和bounding box回归,下面一条是mask分支。Mask分支首先进行向上采样提高feature map的空间分辨率,把通道数降到80。右边表示使用FPN作为网络的基础架构,res5在FPN中默认使用,所以在金字塔特征做分类和回归。下面的分支表示mask分支,虚线“×4”表示4次连续的卷积操作。这里Mask分支最后的feature map大小为28×28,比左边的更大,我也不知道为什么。

RoIAlign

Mask R-CNN成功的关键是RoIAlign,因为RoIAlign为RoI提供了更加精确的空间位置信息,使得Mask R-CNN的bounding box AP和mask AP比其他先进的网络更高。

Fast(er) R-CNN使用的RoIPool对feature map进行了两次量化
two quantizes
第一次量化是把原图变为feature map,假设原图大小为800×800,图中狗的RoI大小为665×665,使用VGG16把原图缩小了32倍,那么feature map大小为 800 / 32 = 25 800/32=25 800/32=25,同时RoI缩小为 665 / 32 = 20.78 665/32=20.78 665/3<

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值