位置: IT常识 - 正文

Mask RCNN详解(mask rcnn优点)

编辑:rootadmin
Mask RCNN详解 1.Mask RCNN网络结构

推荐整理分享Mask RCNN详解(mask rcnn优点),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mask rcnn优点,mask rcnn原理,maskrcnn解读,maskrcnn原理解读,mask rcnn代码,mask rcnn原理,mask rcnn流程,maskrcnn解读,内容如对您有帮助,希望把文章链接给更多的朋友!

        Mask R-CNN是对Faster R-CNN的直观扩展,网络的主干有RPN转换为主干网络为ResNet的特征金字塔网络(FPN),同时添加了一个分支用于预测每个感兴趣区域(RoI)上的分割掩模,与现有的用于分类和边界盒回归的分支并行(图1)。掩模分支是一个应用于每个RoI的小FCN,以像素-顶像素的方式预测分割掩模。但是,Faster RCNN并不是为网络输入和输出之间的像素对像素对齐而设计的。这一点最明显的是RoIPool[18,12],事实上的处理实例的核心操作,如何执行特征提取的粗空间量化。为了解决这种错位,网络使用了一个简单的、无量化的层,称为RoI Align,它忠实地保留了精确的空间位置。

1.backboneBackbone采用的是主干网络为ResNet-50或者ResNet-101的RPN,作为特征提取器提取特征,  特征金字塔(Feature Pyramid Networks, FPN)的基本思想是通过构造一系列不同尺度的图像或特征图进行模型训练和测试,目的是提升检测算法对于不同尺寸检测目标的鲁棒性。FPN构造特征包括自下而上(bottom-up)、自上而下(top-down)以及同层连接3个过程,自下而上的过程实质上是卷积网络前向传播的过程。         自上而下的过程实质上是通过把上层的特征图进行尺度变换,来构造新的特征图,新的特征图需要和下层的特征图保持一致的尺度,从而保证特征图可以融合在一起。在长、宽方向上,采用向上采样(upsample)的方法,和下层特征图的宽、高拉成一样大小;在深度方向上,通过一个1×1的卷积,把上层特征图的深度压缩到和下层特征图的深度相同。 经过自上而下的过程,基于上层特征图构建的新特征图和原始的下层特征图具有了同样的尺度。如图2所示,先把新的特征图和原始的下层特征图中每个对应元素相加(element-wise add),就实现了上层特征和下层特征的融合,再把融合后的每层特征图都输出为一个深度为d(比如d=256)的新特征图。这样就把深层特征融合到浅层特征中,就兼顾了细节和整体,融合后的特征会具有更为丰富的表达能力。

2.RPN(Region Proposal Network)

        与faster rcnn一样,网络使用区域建议网络(RPN)获得建议框,RPN对先验框进行回归,同时预测先验框中是否存在物体获得建议框,再将建议框馈送至分类和回归模块,获取物体的预测框与分类。

3.ROI Align

现在我们得到了图一所示的proposals后,我们需要清楚一个问题,那就是框的大小是不一样的,而不同大小的框代表了特征图上不同大小的区域,而全连接层的使用意味着我们得将框所代表的特征图区域统一为一个尺寸。这也就是ROI Align的作用。

我们需要把所有的ROI都pooling成相同大小的feature map后,才能将它reshape 成一个一维的向量,从而完成后面的分类与回归任务。

与Faster rcnn中的ROI pooling不同,使用ROI pooling会造成较大的量化误差,这对于分割任务来说会造成较大的误差,因此maskrcnn中对ROI pooling进行了改进,提出了ROI Align。

假如现在有一个8×8的feature map,如下图所示,现在希望得到2x2的输出,有一个bbox坐标为[0,3,7,8]。

这个bbox的w=7,h=5,如果要等分成四块是做不到的,因此在ROI Pooling中会进行取整。就有了上图看到的h被分割为2,3,w被分割成3,4。这样之后在每一块中做max pooling,可以得到下图的结果。

Mask RCNN详解(mask rcnn优点)

这样就可以将任意大小bbox转成2x2表示的feature。

但我们可以看见,ROI Pooling需要取整,这样的取整操作进行了两次,一次是得到bbox在feature map上的坐标时。

例如:原图上的bbox大小为665x665,经backbone后,spatial scale=1/32。因此bbox也相应应该缩小为665/32=20.78,但是这并不是一个真实的pixel所在的位置,因此这一步会取为20。0.78的差距反馈到原图就是0.78x32=25个像素的差距。如果是大目标这25的差距可能看不出来,但对于小目标而言差距就比较巨大了。

因此有人提出不需要进行取整操作,如果计算得到小数,也就是没有落到真实的pixel上,那么就用最近的pixel对这一点虚拟pixel进行双线性插值,得到这个“pixel”的值。

ROI Align操作步骤为:

1.将bbox区域按输出要求的size进行等分,很可能等分后各顶点落不到真实的像素点上

2.在每个块中再取固定的4个点,也就是图6右侧的蓝色点,针对每一个蓝点,距离它最近的4个真实像素点的值加权(双线性插值),求得这个蓝点的值

3.一个块内会算出4个新值,在这些新值中取max,作为这个块的输出值,最后就能得到2x2的输出。

根据maskrcnn论文所述,我们通过ROI Align可以把我们RPN生成并筛选后的框所对应的区域全部变成我们需要大小的特征图。而最后的任务就是对这些特征图来做进一步的分类、定位,分割了。

分类和定位和RPN里面的分类定位原理相同,这里主要说明一下分割。如图7所示,在得到ROI Align操作后的特征后,由于前面进行了多次卷积和池化,减小了对应的分辨率,mask分支开始利用反卷积进行分辨率的提升,同时减少通道的个数,maskrcnn使用到了FPN网络,通过输入单一尺度的图片,最后可以对应的特征金字塔,首先将ROI变化为14x14x256的feature,然后进行了5次相同的卷积操作,然后进行反卷积操作,最后输出28x28x80的mask,即输出了更大的mask。

 4.网络头部

        Faster R-CNN对每个候选对象有两个输出,一个类标签和一个边界框偏移量;Mask RCNN添加了第三个输出对象掩码的分支。 

         每个采样RoI上的多任务损失定义为L=Lcls+Lbox+Lmask。分类损失Lcls和边界框损失Lbox与[12]中定义的相同。掩码分支为每个RoI有一个维度的输出,它编码K个分辨率为m×m的二进制掩码,每个K个类一个。为此,我们应用每像素s型,并将Lmask定义为平均二进制交叉熵损失。对于与地面真实类k相关联的RoI,Lmask只定义在第k个掩码上(其他掩码输出不会造成损失)。         对Lmask的定义允许网络为每个类生成掩码,而无需类之间的竞争;我们依赖于专用的分类分支来预测用于选择输出掩码的类标签。这可以解耦掩码和类预测。这与将FCNs[30]应用于语义分割时的常见做法不同,后者通常使用每像素的softmax和多项式交叉熵损失。在这种情况下,跨类的掩码相互竞争;在我们的例子中,对于每像素的s型和二进制损失,它们不会。实验结果表明,该公式是获得良好的实例分割结果的关键。

5.训练网络

        就像在FastR-CNN中一样,如果一个 ROI有一个IoU至少为0.5的真实框,则被认为是正的,否则是负的。mask loss Lmask仅在正RoI上定义。掩码目标是RoI与其相关的地面真实掩模之间的交集。

        训练采用以图像为中心的训练。图像的调整使其比例(较短的边缘)为800像素。每个批次每个GPU有2张图像,每张图像有N个采样roi,正[12]与负[12]的比例为1:3。C4主干N为64,FPN N为512。在8个gpu(有效小批量大小为16)上进行160k迭代训练,学习速率为0.02,在120k次迭代时学习率降低为原来的1/10。使用的权重衰减为0.0001,动量为0.9。使用ResNeXt[45],为每个GPU训练1张图像和相同次数的迭代,起始学习率为0.01。  

本文链接地址:https://www.jiuchutong.com/zhishi/300693.html 转载请保留说明!

上一篇:Session详解,学习 Session对象一篇文章就够了(session用处)

下一篇:计算机视觉中的注意力机制(计算机视觉中的数学方法)

  • 笔记本f12键怎么打开(笔记本f12功能键怎么打开)

    笔记本f12键怎么打开(笔记本f12功能键怎么打开)

  • 小天才怎么解绑原来的手机号(小天才怎么解绑联系人)

    小天才怎么解绑原来的手机号(小天才怎么解绑联系人)

  • 怎么判断手机被退换过(怎么判断手机被植入木马)

    怎么判断手机被退换过(怎么判断手机被植入木马)

  • 华为手机怎么投屏到海信电视上(华为手机怎么投屏到汽车中控屏)

    华为手机怎么投屏到海信电视上(华为手机怎么投屏到汽车中控屏)

  • 快手小店1000保证金在哪里交(快手小店1000保证金怎么退)

    快手小店1000保证金在哪里交(快手小店1000保证金怎么退)

  • vega6相当于什么显卡(vega6 graphics相当于什么显卡)

    vega6相当于什么显卡(vega6 graphics相当于什么显卡)

  • 小米手机网速慢怎么办(小米手机网速慢怎样解决)

    小米手机网速慢怎么办(小米手机网速慢怎样解决)

  • 腾讯svip和vip有什么区别(腾讯vip和vip会员有区别吗)

    腾讯svip和vip有什么区别(腾讯vip和vip会员有区别吗)

  • 华硕z270a主板上的按钮有什么用(华硕z270gaming主板)

    华硕z270a主板上的按钮有什么用(华硕z270gaming主板)

  • 序列号f2开头的苹果是哪产的(序列号f2开头的苹果手机)

    序列号f2开头的苹果是哪产的(序列号f2开头的苹果手机)

  • 抖音怎么和别人连线(抖音怎么和别人合拍唱歌)

    抖音怎么和别人连线(抖音怎么和别人合拍唱歌)

  • 抖音收藏突然不见了是什么原因(抖音为啥收藏的内容看不到)

    抖音收藏突然不见了是什么原因(抖音为啥收藏的内容看不到)

  • thinkcell是什么(think -cell)

    thinkcell是什么(think -cell)

  • 视频看不到对方咋回事(为什么微信视频看不到对方)

    视频看不到对方咋回事(为什么微信视频看不到对方)

  • 为什么流量进不了一些网站(为什么流量进不去光与夜之恋)

    为什么流量进不了一些网站(为什么流量进不去光与夜之恋)

  • 哔哩哔哩怎么换头像(哔哩哔哩怎么换手机号以前的号不用了)

    哔哩哔哩怎么换头像(哔哩哔哩怎么换手机号以前的号不用了)

  • 联发科mt6762相当于骁龙什么处理器(联发科mt6762m)

    联发科mt6762相当于骁龙什么处理器(联发科mt6762m)

  • ipad能插无线网卡吗(ipad可以插网线)

    ipad能插无线网卡吗(ipad可以插网线)

  • 计算机硬件系统包括哪些(计算机硬件系统由哪几个部分组成)

    计算机硬件系统包括哪些(计算机硬件系统由哪几个部分组成)

  • OPPO k5支持光学防抖吗(opporeno5k支持光学防抖吗)

    OPPO k5支持光学防抖吗(opporeno5k支持光学防抖吗)

  • 勿扰模式闹钟会响嘛(勿扰模式闹钟会响吗vivo)

    勿扰模式闹钟会响嘛(勿扰模式闹钟会响吗vivo)

  • 朋友圈个签怎么居中(朋友圈个签怎么设置到中间)

    朋友圈个签怎么居中(朋友圈个签怎么设置到中间)

  • 165开头的手机号属于虚拟号段吗(165开头的手机号是催收吗)

    165开头的手机号属于虚拟号段吗(165开头的手机号是催收吗)

  • 怎么下载视频到电脑(怎么下载视频到mp3)

    怎么下载视频到电脑(怎么下载视频到mp3)

  • 监控录像怎么关闭声音(监控录像怎么关机)

    监控录像怎么关闭声音(监控录像怎么关机)

  • 中国卖家如何在亚马逊全球开店(中国卖家如何在国外销售)

    中国卖家如何在亚马逊全球开店(中国卖家如何在国外销售)

  • 苹果x国产屏跟原装屏幕区别(苹果x国产屏比原装屏厚吗)

    苹果x国产屏跟原装屏幕区别(苹果x国产屏比原装屏厚吗)

  • 寓意幸福和团圆的春节灯笼,中国 (© d3sign/Moment/Getty Images)(寓意幸福和团圆的网名)

    寓意幸福和团圆的春节灯笼,中国 (© d3sign/Moment/Getty Images)(寓意幸福和团圆的网名)

  • od命令  输出文件内容(od输出结构)

    od命令 输出文件内容(od输出结构)

  • 固定资产处置营业外收入和发票金额不一致
  • 怎样注册投资有限公司
  • 建筑发票开具与土增税扣有什么关系?
  • 金税四期怎么监控银行流水
  • 即征即退收入要交税吗
  • 报验户预缴个税怎么算
  • 企业所得税计提分录
  • 佣金的发票
  • 会计凭证的内容中应包括会计分录
  • 固定资产转为投资性房地产折旧
  • 个人承担的社保算工资吗
  • 出口退税报关单解密在哪下载
  • 三类小规模纳税标准
  • 采购国产设备增值税
  • 稳岗补贴能享受多久
  • 出口退税企业分类
  • 业务招待费进项税额转出
  • 灭火器属于办公设施吗
  • 个人所得税的征收
  • 年终一次性奖金个税计算
  • win10系统出现蓝屏恢复
  • 现金流量具体内容
  • 进口关税和增值税
  • 王者荣耀中廉颇是哪一个族的族长
  • 向股东借款作为股东借款
  • 开发企业房产税如何征收
  • ftp pwd命令
  • 开发票时,一张发票上不同税率要符合哪些要求?
  • 无人蹭网 网络还不好
  • 非货币性资产交换
  • 试用期人员工资财务记账
  • 增值税的优惠有哪三种形式
  • 混合成本的分解方法很多,通常有
  • yolo v5 focus
  • 餐厅的餐具怎么摆
  • 补缴去年的工会经费计提
  • vue发布时间
  • 怎么用switch语句
  • php禁用函数怎么删除
  • php中验证码如何实现登录验证
  • 残疾证哪里发
  • 残保金缴纳需要计提吗
  • 健身房注册公司名称带超字
  • 综合所得个税计算例题
  • 应交税费中印花税是什么
  • java替换集合的元素
  • 加工企业进项发票有哪些
  • 发票已经做账但要退款账不平咋办
  • 一般纳税人申报表电子版
  • 并发环境下,共享资源的正确使用方式是
  • 装修费用应该计入什么科目
  • 设备维修费可以抵扣进项税吗
  • 红冲暂估原材料如何做会计分录
  • 应收应付对冲的分录
  • 公司加班的餐费怎么算
  • sqlserver 触发器 redis
  • win7系统命令激活
  • fedora怎么用
  • 主板不支持u盘装系统怎么办
  • win8系统怎么设置开机启动项
  • compaq-rba.exe是哪个方面的进程 作用是什么 compaq-rba进程查询
  • win8桌面在哪
  • android内存优化面试
  • cocos2dx场景切换
  • cocos2dx小游戏
  • cocos2dx游戏有哪些
  • 所见即所得出自哪里
  • unity shader lod
  • 从《AndEngine游戏开发实践指南》开始,学习AndEngine引擎
  • shell 字符操作
  • Android之framework修改底部导航栏NavigationBar动态显示和隐藏
  • eclipse创建android项目
  • 简述javascript中的函数
  • unity data
  • python遍历列表的两种方法
  • python中的stringvar
  • 深圳如何打印个人参保证明
  • 云南省地方税务局关于城镇土地使用税
  • 深圳沙井社保局在哪个位置
  • 海关进口增值税怎么认证抵扣
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设