Mask RCNN整体介绍及部分细节讲解

本文详细介绍了Mask RCNN的整体架构,包括其基于Faster RCNN的改进,特别是RoIAlign层的作用。Mask RCNN通过RoIAlign保留像素级信息,增加了mask分支实现实例分割。此外,论文探讨了网络细节、训练策略和实验结果,展示了其在实例分割、位姿估计等任务中的应用。
摘要由CSDN通过智能技术生成

Mask RCNN基于Faster RCNN改进,所以若有看不懂的地方可以先去看看我上篇博客Faster R-CNN整体介绍及部分细节讲解
论文全称:Mask R-CNN



一、整体总结

1. general notes

主要性能提升是因为RoIAlign(双线性插值+对齐)
用FCN在faster rcnn基础上预测了mask(每类一个FCN)
两个backbone,分别是FPN和ResNet(对应faster rcnn中的conv layers)
mask分支有改进空间,且时间效率可提高
可用于实例分割、位姿估计(每个mask是one-hot的的一个关键点位置)、检测工作

2. 整体架构

Mask RCNN的整体架构如图所示。
在这里插入图片描述
首先用backbone网络处理原始图像,得到特征图feature map,同时将backbone网络输出的特征输入到RPN网络中,得到相应的锚框,此处需要注意Faster RCNN使用resnet50时,从CONV4导出特征供RPN使用,而不是直接使用完整的resnet50所生成的特征供RPN使用。得到锚框和特征图了之后,采用RoIAlign的方式,将每个锚框对应的特征图统一为单一尺寸,也就是得到每个锚框的fixed size feature map。在得到每个锚框的特征图之后,将该特征图输入到全连接层中,再分别经过reg层和cls层得到box regression,也就是锚框位置矫正和classification,也就是该锚框中物体是每一类的概率。如上所讲的部分,除了RoIAlign层之外,均和faster RCNN的结构相同,所以具体讲解可参照上篇博客Faster R-CNN整体介绍及部分细节讲解,而RoIAlign层在本篇博客的第三部分有具体讲解。
本篇论文除了RoIAlign之外,还增添了mask分支,使得该网络可以做到实例分割。mask分支的架构如下图中黑色部分所示(图中方块显示的是数据大小,箭头表示conv层、deconv层或fc层)。在mask分支中,针对每一个锚框,均生成K个mask,其中K是目标类别数,然而只有检测模块检测出的类k(当前锚框中物体是类k物体)的mask才会被输出,并且对loss有贡献,其他的mask均被丢弃。
在这里插入图片描述

二、论文细节

  1. 每个ROI(region of interest,感兴趣区域)针对每一类生成一个mask,生成方式是FCN网络,也就是在目标类别数为k的时候,每一个ROI都经过k个不同的FCN生成k个不同的mask。然而只采用检测出的类别对应的mask计算损失函数。mask的损失函数Lmask是平均交叉熵,使用的激活函数是per-pixel sigmoid。
  2. 类别预测、框偏差预测用全连接层(分别对应Faster RCNN中的cls层和reg层),提取mask的空域信息用卷积。
  3. 将faster RCNN中的ROI Pooling换为了ROI Align,因为ROI Align能够更好保留像素级别的信息。在Align中用x/16来代替Pooling中的 ⌊ x / 16 ⌋ \lfloor x/16\rfloor ⌊<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值