zoukankan      html  css  js  c++  java
  • 鱼和熊掌兼得的Mask RCNN

    鱼和熊掌兼得的Mask RCNN

    1、MaskRCNN简介

    MaskRCNN是何凯明基于以往的FasterRCNN架构提出的新的卷积网络,一举完成了对象实物分割(object
    instance
    segmentation),该方法在现有的目标检测的同时完成了高质量的语义分割,可称为鱼和熊掌兼得。其主要思路是在现有的FasterRCNN基础上进行扩展,添加一个预测mask的分支,对目标进行并行预测。同时这个网络结构比较容易实现和训练,速度5fps也算比较快,并且很方便应用到其他领域,比如目标检测、分割和人物关键点检测等。

    MaskRCNN是一个实物分割(instance
    segmentation)算法,实物分割是一种在像素层面识别目标轮廓的任务,其不仅能分类不同的类,而且能把同一类物体中的多个不同物体分别标记出来。图1展现分类(classigication),语义分割(Semantic
    Segmention)、目标检测(Object Detection)和实物分割(Instance
    Segmentation)的任务。

    图1

    • Classigication:这张图像中有一个气球。
    • Semantic Segmention:这些全是气球像素。
    • Object Detection:这张图像中的这些位置上有 7 个气球。
    • Instance Segmentation:这些位置上有 7 个气球,并且这些像素分别属于每个气球。

    2、MaskRCNN优势

    • 高速和高准确率:

    作者选用了经典的目标检测算法Faster-rcnn和经典的语义分割算法FCN。Faster-rcnn可以即快又准的完成目标检测的功能;FCN可以精准的完成语义分割的功能,两个算法都是对应领域中的经典之作。Mask
    R-CNN比Faster-rcnn复杂,但是最终仍然可以达到5fps的速度。这和原始的Faster-rcnn的速度相当。由于发现了ROL
    Pooling中存在的像素偏差问题,提出了对应的ROlAlign策略,加上FCN精准的像素MASK,使得其可以获得高准确率。

    • 简单直观

    整个Mask
    R-CNN算法的思路很简单,就是在原始Faster-rcnn算法的基础上增加了FCN来产出对应MASK分支。即Faster-rcnn+FCN,更细致的是RPN+ROlAlign+fast-rcnn+FCN

    • 易于使用

    整个Mask
    R-CNN算法非常的灵活,可以用来完成多种任务,包括目标分类、目标检测、语义分割、实例分割、人体姿态识别等多个任务,这将其易于使用的特点展现的淋漓尽致。除此之外,我们可以更换不同的backbone
    architecture和Head Architecture来获得不同性能的结果。

    3、MaskRCNN网络框架

    Mask R-CNN算法实现流程:

    • 第一步:输入一幅你想处理的图片,然后进行对应的预处理操作,或者预处理后的图片;
    • 第二步:将其输入到一个预训练好的神经网络中(ResNet-FPN等)获得对应的多张不同尺度的特征图(feature
      map);
    • 第三步:对feature map中的每一点设定预定个的ROI,从而获得多个候选ROI;
    • 第四步:将这些候选ROI的9个尺度的anchor,通过ROI pooling
      ,得到候选区域的ROI。送入RPN网络进行二值分类(前景或背景)和BB回归,过滤掉一部分候选的ROI;
    • 第五步:对这些剩下的ROI进行ROIAlign操作。ROIAlign摈弃了ROIpooling采用的取消取整的这种粗暴做法,采用双线性插值来得到固定四个点坐标的像素值,从而使得不连续的操作变得连续起来,返回到原图的时候误差也变得更小。(ROIAlign为创新点1)
    • 第六步:这些ROI进行分类(N类别分类),BB分类和MASK生成(在每个ROI里面进行FCN操作)(引入FCN生成Mask为创新点2)

    总之,Mask
    R-CNN是一个非常灵活的框架,可以增加不同的分支完成不同的任务,可以完成目标分类、目标检测、实例分割,人体姿势识别等多种任务,真不愧是一个好算法。

    参考文献/博客

    Faster RCNN :https://zhuanlan.zhihu.com/p/31426458

    FCN: https://www.cnblogs.com/gujianhan/p/6030639.html

    FPN: https://blog.csdn.net/WZZ18191171661/article/details/79494534

    MaskRCNN:https://blog.csdn.net/heavenpeien/article/details/80534963

  • 相关阅读:
    PHP 5.5.0 Alpha5 发布
    Ubuntu Touch 只是另一个 Android 皮肤?
    MariaDB 10 已经为动态列提供文档说明
    Percona Toolkit 2.1.9 发布,MySQL 管理工具
    Oracle Linux 6.4 发布
    Ruby 2.0.0 首个稳定版本(p0)发布
    Apache Pig 0.11.0 发布,大规模数据分析
    Node.js 0.8.21 稳定版发布
    红薯 MySQL 5.5 和 5.6 默认参数值的差异
    Django 1.5 正式版发布,支持 Python 3
  • 原文地址:https://www.cnblogs.com/shenggang/p/12144862.html
Copyright © 2011-2022 走看看