您的位置:首页 > 其它

学习笔记(01):PyTorch版Mask R-CNN图像实例分割实战:训练自己的数据集-Mask R-CNN原理介绍...

2020-02-04 06:34 513 查看

立即学习:https://edu.csdn.net/course/play/26350/331002?utm_source=blogtoedu

mask r-cnn 原理

Faster R-CNN with FCN on Rois

mask 的框架是对faster r-cnn的扩展

与bbox识别并行的增加一个mask分支来预测每一个roi的分割掩码

mask分支是应用到每一个ROI上的一个小的FCN,以pix2pix的方式预测分割mask

mask有三条分支,分类,bbox回归,mask网络头

 ROI对比ROIALIGN

ROI池化 800*800的图片 狗占665*665经过VGG16下降32倍 除不尽 图像坐标到特征图坐标有一个量化,必须取整,特征图到ROI BIN 坐标 还要除以7 经过量化操作还要取整,经过两次量化后造成ROI和提取特征之间的不对准而产生位置的偏差,对于小目标的检测会产生很大的问题

ROIAlign:ROI池化10*10的特征图进行ROI池化有一个对准,ROIAlign不进行对准,保持蓝色框大小,对于每一个bin,计算里面四个点的位置(双线性插值),得到四个点后,在进行最大池化或平均池化得到bin的取值。

第一个候选框的映射阶段不进行量化,在第二个池化阶段也不进行量化,这样最后得到的若干区域大小为(665/32/7)*(665/32/7)=2.97*2.97

对于每一个ROI,映射之后坐标保持浮点数,在此基础上再平均切分成K*K个bin,这个时候也保持浮点数。再把每个bin 平均分成4个小区域(bin中更小的Bin),然后计算每个更小的Bin的中心点的像素点对应的概率值

双线性插值:四个点组成的矩形中间任意一点的取值如何得出。

ROI POOLING 8*8的特征图池化成2*2的Bin,每个bin要对准原来的特征图,每一个bin再进行池化

ROI Align 直接划分成2*2不需要量化,2*2的区域再划分成4个小区域,每个小区域用双线性插值取得小红点的值,得到大bin中小bin 的值,对小bin进行最大池化即可。

网络架构:作者评估了深度为50或101层的resnet和resnext网络,faster r-cnn与resnets的实现从第四阶段的最终卷积层中提取了特征,称之为C4,例如resnet-50的这个主干由resnet-50-c4表示

作者还使用了一个更为有效的FPN主干,具有FPN主干的faster r-cnn根据其规模从特征金字塔的不同级别中提取ROI特征

  • 点赞
  • 收藏
  • 分享
  • 文章举报
qq_38061011 发布了1 篇原创文章 · 获赞 0 · 访问量 374 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐