目标检测之:Mask R-CNN

0.摘要

何恺明在提出resnet网络之后,有提出的一个目标检测框架,mask rcnn可以针对各个类别生产相应的掩码,0、1对应检测的背景和检测的目标,所以有着可以语义分割的特性,作者还说它可以进行行为分析。
ResNet+FPN+Fast RCNN(RPN)+Mask=Mask rcnn

1.回顾Fast RCNN

在这里插入图片描述
Faster RCNN使用CNN提取图像特征,然后使用RPN去提取出ROI,然后使用ROI pooling将这些ROI全部变成固定尺寸,再给全连接层进行Bounding box回归和分类预测。

1.1RPN

两条分支:上面一条通过softmax获得前景还是背景,下面一条用于计算对于anchors的bounding box regression偏移量,以获得精确的proposal。而最后的Proposal层则负责综合positive anchors和对应bounding box regression偏移量获取proposals。整个网络到了Proposal Layer这里,就完成了相当于目标定位的功能。

1.2FPN

单独讲过这篇论文,不再赘述

请添加图片描述

本文主要讲解一下roialign和第三条Mask分支

2.RoI pooling和ROIAlign

2.1RoI pooling

RoI Pooling层则负责收集proposal,并计算出proposal feature maps去做分类
Rol pooling层有2个输入:原始的feature maps、RPN输出的proposal boxes
Faster rcnn支持输入任意大小的关键就是RoI pooling,在pool之后之后不管输入的proposal feature maps是什么尺寸,都固定成固定的尺寸了
请添加图片描述
spp也有固定输出尺寸的作用
在这里插入图片描述

2.2ROI Align

proposal region的xywh通常是小数,但是为了方便操作会把它整数化。将整数化后的边界区域平均分割成 k x k 个单元,对每一个单元的边界进行整数化。就相当于把proposal region给挪动了,这样肯定会产生偏差。

在这里插入图片描述
每一个小点都求距离它最近的4个feature map块的双线性插值,都求出来之后再四个小点进行max pooling就是这个点的roi align的值。可以是4个点再求pooling也可以是直接插值出1个点当做这个点的feature map,采样点设为4会获得最佳性能。
请添加图片描述

双线性插值流程:
请添加图片描述
在这里插入图片描述
在这里插入图片描述

3.Mask

在这里插入图片描述
在这里插入图片描述
左边是基于Faster RCNN引入mask支路后的检测部分。图中的ROI指的就是ROIAlign操作,采用7*7大小的划分得到7*7*1024维度的feature map,然后再接ResNet中的res5结构(Faster RCNN中这部分其实存在对ROI的重复计算,这也是后续类似R-FCN算法的改进点,当然也有一些做法是将ROIPool移到后面来做,也就是基于res5的输出做ROIPool,而不是基于res4的输出来做),另外这里对res5做了修改,使得这个结构不改变输入feature map的宽高,res5结构输出7*7*2048维度的feature map。基于该feature map有两条支路,上面那条支路经过池化层得到1*1*2048维度的输出并作为分类支路和回归支路的输入;下面那条支路接反卷积层和卷积层来得到mask。

右边是基于FPN算法引入mask支路后的检测部分。FPN中就将原来Faster RCNN中的ROI Pool移到res5后面,也就是ROI Align层之后不再涉及一些特征提取操作,这样就减少了很多重复计算。图中的ROI指的就是ROIAlign操作,上面一条支路得到维度为7*7*256的feature map(因为FPN算法是基于5个融合特征层分别做检测,这里仅以一个融合特征层为例介绍,每个融合特征层的输出channel都是256,因此经过ROIAlign后得到的输出channel还是256),最后接两个1024维度的全连接层就可以做为分类和回归支路的输入。下面一条支路用14*14大小的划分得到14*14*256的输出,然后接数个卷积和反卷积层得到mask。
在这里插入图片描述
在这里插入图片描述
Lmask称为average binary cross-entropy loss,就是BCELoss
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值