我是靠谱客的博主 迷你奇异果,最近开发中收集的这篇文章主要介绍神经网络的认识(十二)Mask-RCNN,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

https://blog.csdn.net/WZZ18191171661/article/details/79453780

在这里插入图片描述

Mask-RCNN 的网络结构示意:
在这里插入图片描述
其中 黑色部分为原来的 Faster-RCNN, 红色部分为在 Faster 网络上的修改:
1) 将 Roi Pooling 层替换成了 RoiAlign;
2) 添加并列的 FCN 层(mask 层);
先来概述一下 Mask-RCNN 的几个特点(来自于 Paper 的 Abstract):
1)在边框识别的基础上添加分支网络,用于 语义 Mask 识别;
2)训练简单,相对于 Faster 仅增加一个小的 Overhead,可以跑到 5FPS;
3)可以方便的扩展到其他任务,比如人的姿态估计 等;
4) 不借助 Trick, 在每个任务上, 效果优于目前所有的 single-model entries;
在这里插入图片描述
图中灰色部分是 原来的 RCNN 结合 ResNet or FPN 的网络,下面黑色部分为新添加的并联 Mask 层,这个图本身与上面的图也没有什么区别,旨在说明作者所提出的Mask RCNN 方法的泛化适应能力 - 可以和多种 RCNN 框架结合,表现都不错。
Mask-RCNN 技术要点

  • 技术要点 1 - 强化的基础网络
    通过 ResNeXt-101+FPN 用作特征提取网络, 达到 state-of-the-art 的效果。
  • 技术要点 2 - ROIAlign
    采用 ROIAlign 替代 RoiPooling(改进池化操作) 。引入了一个插值过程,先
    通过双线性插值到 14*14,再 pooling 到 7*7,很大程度上解决了仅通过 Pooling 直接采样带来的 Misalignment 对齐问题。
    PS: 虽然 Misalignment 在分类问题上影响并不大, 但在 Pixel 级别的 Mask上会存在较大误差。ROIAlign 带来较大的改进, Stride 越大改进越明显。
  • 技术要点 3 - Loss Function
    每个 ROIAlign 对应 K * m^2 维度的输出。 K 对应类别个数,即输出 K 个
    mask, m 对应 池化分辨率(7*7)。 Loss 函数定义:
    Lmask(Cls_k) = Sigmoid (Cls_k), 平均二值交叉熵(average binary cross-entropy) Loss,通过逐像素的 Sigmoid 计算得到。
    Why K 个 mask? 通过对每个 Class 对应一个 Mask 可以有效避免类间竞争(其他 Class 不贡献 Loss )。
    在这里插入图片描述

最后

以上就是迷你奇异果为你收集整理的神经网络的认识(十二)Mask-RCNN的全部内容,希望文章能够帮你解决神经网络的认识(十二)Mask-RCNN所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部