Mask R-CNN学习笔记

1 概览

image-20220319190220796

image-20220319190635841

img

img

来源:https://www.bilibili.com/video/BV1qA411w7Zg?p=2&share_source=copy_web

参考:一文读懂Faster RCNN - 知乎 (zhihu.com)

参考:令人拍案称奇的Mask RCNN - 知乎 (zhihu.com)

2 CNN BackBone

​ · 作用:对输入的图像进行初步的特征提取,最终将输出5个不同尺度的特征图

​ · 采用架构:ResNet + FPN

​ · Why:

​ ① ResNet的残差结构使得训练大参数深层次的Mask R-CNN成为可能

​ ② FPN利用了卷积的固有特征金字塔,融合了低层和高层的特征(因为特征图大小高层 > 低层,则高层检测小物体,低层检测大物体),构件在不同尺度上都有强语义的模型

image-20220319193259008

3 RPN

​ · 作用:为已经经过卷积层的特征图像生成大小不同的多个锚框。此处是在特征图生成锚框,生成之后再映射回原图进行采样。这种方式相比于直接从原图像生成锚框的方法,减少了锚框数量,加快了推理速度。

​ · 采用架构:沿用了Fast R-CNN采用了RPN结构进行锚框生成

​ · What:

​ 阶段一:利用3*3的卷积核遍历5个不同尺度的特征图,为特征图上每一个像素点生成3种大小不同的以该像素点为中心的锚框(1:1,1:2,2:1)作为图像初始的检测框。锚框的长宽通常按照一定的规则进行生成:

image-20220306173640732

​ 举个例子,原图像800×600,进行16倍下采样得到58×30特征图,假设特征图以每个像素为中心生成9个锚框,则:

image-20220319204944130

​ 阶段二:对于候选的锚框进行前景背景二分类候选框回归。在分类分支中,对每个特征图进行1*1卷积(生成特征大小为W×H×k×2,k为每个像素点生成的锚框数量),再经过softmax对每个锚框进行前景背景二分类(2k);在回归分支中,对于每个锚框一般采用四维向量[x,y,w,h]表示(中心坐标为(x,y),宽为w,高为h),每个锚框将向真实的目标框进行靠拢(经过平移与缩放),从而生成真实的边框(4k)。

​ 阶段三:经过非极大抑制筛选出合适的锚框得到proposal,作为下一阶段的输入

image-20220319192152256

4 通过proposal切割出RoI

image-20220319211421590

5 Fast R-CNN中的RoI Pooling

​ · Why:通常网络训练好后的输入值为固定值,如果输入的图像大小不固定,则会遇到麻烦。在RPN中,由于生成的锚框大小也是不固定的,则也会遇到同样的问题。RoI Pooling的诞生则为了解决该问题。

​ · How:

image-20220308184301669

6 Mask R-CNN中的RoI Align

​ · RoI Pooling存在的问题:特征图与原始图像是不对准的,所以会影响检测精度。这种情况出现在:当一个RoI的四个顶点是小数时,通常需要舍弃掉小数点,带来了第一处精度损失;resize的时候,如果希望缩小一倍,假设W=3,3/2=1.5,无法整除。通常做法是分为一部分2以及一部分1(如下图),带来第二处精度损失

image-20220319211950471

​ · RoI Align的做法:双向线性插值,解决了精度丢失的问题

image-20220319212109379

​ ① 将锚框分割为四块

​ ② 每一块中取四个点(权衡精度与效率)

​ ③ 对四个点进行双向线性插值,如下:

image-20220319212334330

​ ④ 经过上一个步骤后,每个块中的四个点都有对应的数值,此时再继续在四个点中取max,作为最终的结果

7 预测分支

7.1 Class与Box分支

image-20220319212803664

7.2Mask分支

image-20220319212916109

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值