Mask RCNN

概述
  • Mask RCNN主要解决的是实例分割,是目标检测和语义分割的结合,目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标,确定它们的类别和位置,语义分割就是把图像中每个像素赋予一个类别标签。
原理
  • Mask RCNN=ResNet+FPN +Faster RCNN +Mask
    Mask RCNN首先使用ResNet+FPN(图像金字塔网络)获取多尺度Feature Mp,将特征图输入到Faster RCNN的RPN网络得到Region proposal,region propasol加上Feature map送入到 RoIAlign输出固定大小的ROI,将得到固定大小ROI输入到全连接层进行bounding box回归,分类及每个ROI的二进制掩码处理
网络架构

在这里插入图片描述

  • ResNet+FPN
    在这里插入图片描述
    FPN(图像金字塔)
    在这里插入图片描述

  • 结构:自底向上的线路,自顶向下的线路,横向连接(lateral connection)

  • 作用:利用低层特征高分辨率和高层特征的高语义信息,通过融合这些不同层的特征达到预测的效果,对小目标的检测尤其如此。

  • 自底向上的线路
    由于使用的是Resnet作为主干,作者将其分成5个stage,每个stage最后的conv输出标记为{C1,C2,C3,C4,C5}。第一层占用的内存太多,因此只取{C2,C3,C4,C5}四个stage构成特征金字塔

  • 自上向下的线路,横向连接
    自上而下是从最高层开始进行上采样,通过最近邻方法把特征图上采样2倍;对应的需要相加的bottom-up map用11卷积核的网络调整其通道数,输出通道全部设置为相同的256通道,,然后和上采样的feature map进行加和操作。得到每个相加的特征图后,再次用33的卷积处理,得到最后的特征图{P2,P3,P4,P5}

  • RoIAlign
    Mask RCNN 的RoIAlign替换Faster RCNN的 ROI pooling,替换的原因是因为特征图上的 RoI 池化为固定大小的盒子 (bins) 时可能存在取整操作,这些取整会使得 RoI 与提取的特征之间存在偏差, 这样小的偏差对分类基本没什么影像, 但是对像素级的分割必然会产生较大的负面影响。

    在Faster RCNN中,有两次整数化的过程:

  1. region proposal的xywh通常是小数,但是为了方便操作会把它整数化。

  2. 将整数化后的边界区域平均分割成 nx n个单元,对每一个单元的边界进行整数化

    为了解决这个问题,ROI Align方法取消整数化操作,保留了小数,使用双线性插值的方法获得坐标为浮点数的像素点上的图像数值

  • 下面通过一个例子来讲解ROI Align操作
    1、假定原图中有一region proposal,大小为665x665,这样,映射到feature map中的大小:665/32=20.78,即20.78x20.78,此时,没有像RoiPooling取整操作,保留浮点数。
  1. 假定pooling后输出固定7x7大小的特征图,将在 feature map上映射的20.78x20.78的region proposal 划分成49个同等大小的区域,每个小区域的大小20.78/7=2.97,即2.97x2.97,得到下图共49个这样的大小的区域:
    在这里插入图片描述
  2. 假定采样点数为4,即表示,对于每个2.97x2.97的小区域,平分四份,每一份取其中心点位置,而中心点位置的像素,采用双线性插值法进行计算。一个2.97 x2.97的区域就会得到四个点的像素值,
    取四个像素值中最大值作为这个区域的像素值,如此类推,同样是49个小区域得到49个像素值,组成7x7大小的feature map
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值