Mask R-CNN

本文详细介绍了Mask R-CNN模型,它在Faster R-CNN基础上增加了一个预测分割掩码的分支,实现了目标检测与分割的高效结合。文章重点讨论了RoI Align操作,作为解决Roi Pooling问题的关键,确保了像素级精确的掩码预测,提高了目标分割的准确性。此外,Mask R-CNN的简单灵活设计使其易于推广到其他任务。
摘要由CSDN通过智能技术生成

一、前言

  • 本文提出了一个概念上简单且灵活通用的目标分割框架——Mask R-CNN
  • Mask R-CNN能有效地检测图像中的目标,同时能为每个实例生成高质量的分割掩码
  • Mask R-CNN训练简单,相对于Faster R-CNN,只需增加一个较小的开销,运行速度可达5 FPS,且很容易推广到其他任务中

二、模型与方法

2.1 设计思路

  • 由于Fast/Faster R-CNN和FCN的出现,使得目标检测和语义分割的效果在短时间得到了很大改善
  • 目标分割它需要正确检测图像中的所有目标,同时也要精确地分割每个目标
  • 目标检测的目的是对目标进行分类,并使用边界框定位每个目标,既是语义分割,又是另一种形式的检测
  • 通过结合目标检测和目标分割最新研究的方法来改善目标分割的结果

在这里插入图片描述
主要思路:

  • 在Faster R-CNN的基础上,添加一个用于在RoI上预测分割掩码的分支
  • 掩码分支与用于分类和目标检测框回归的分支并行执行
  • 掩码分支是作用于每个RoI的小FCN,以像素到像素的方式预测分割掩码

2.2 Mask Representation

在目标检测中,如Faster R-CNN中,模型的输出是目标的类别和位置偏移量信息,这信息在模型中,由于通过了全连接层,从而无法避免的输出向量的形式,而掩码不同,它描述的是目标空间布局信息,因此需要通过卷积操作,来实现空间结构上像素到像素对应关系的掩码。

在本文中,作者通过FCN来每个Roi预测一个mxm的掩码,这允许掩码分支中的每个层显式地保持目标的空间布局,而不会将其缩成缺少空间维度的向量表示。此外,使用全卷积对掩码进行预测,需要的参数相对来说更少,并且实验证明其准确度更高。

2.3 RoI Align

2.3.1 Roi pooling的问题

在目标检测网络模型中,因为输出阶段有fc层的存在,所以需要以固定尺寸输入到fc层,因此为了解决不同大小的Roi对应的feature map的输入要以固定的尺寸输入到fc层,提出了Roi pooling方法。
由上述可知,目标分割需要输出像素到像素精确对应的掩码,然而Roi pooling方法会出现原图上的Roi与feature map上对应区域不对准的情况,具体例子如下:
在这里插入图片描述
在Faster RCNN中,有两次整数化的过程:

  • region proposal的xywh通常是小数,但是为了方便操作会把它整数化。
  • 将整数化后的边界区域平均分割成 k x k 个单元,对每一个单元的边界进行整数化。

事实上,经过上述两次整数化,此时的候选框已经和最开始回归出来的位置有一定的偏差,因为分类任务是具有平移不变性的,所以影响比较小,但是这在预测像素级精度的掩码时,就会产生非常的大的负面影响

2.3.2 RoI Align操作

为了解决上述所提到的问题,ROI Align方法取消整数化操作,保留了小数,使用双线性插值的方法获得坐标为浮点数的像素点上的图像数值。但在实际操作中,ROI Align并不是简单地补充出候选区域边界上的坐标点,然后进行池化,而是重新进行设计。

下面通过一个例子来讲解ROI Align操作:
在这里插入图片描述
如上图所示,虚线部分表示feature map,实线表示ROI,这里将ROI切分成2x2的单元格。如果采样点数是4,那我们首先将每个单元格子均分成四个小方格(如红色线所示),每个小方格中心就是采样点。这些采样点的坐标通常是浮点数,所以需要对采样点像素进行双线性插值(如四个箭头所示),就可以得到该像素点的值了。然后对每个单元格内的四个采样点进行maxpooling,就可以得到最终的ROIAlign的结果

2.3.3 双线性插值

线性插值:
已知数据 ( x 0 , y 0 ) (x_0,y_0) (x0,y0)与(x_1,y_1),要计算 [ x 0 , x 1 ] [x_0,x_1] [x0,x1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值