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

  • 相关阅读:
    windows下安装git
    使用forever运行nodejs应用
    在Sublime Text 2 中使用Git插件连接GitHub
    一个向导功能JS库
    GitHub window 提交失败的问题
    jquery.shapeshift网格插件支持动画效果
    类似bootstrap的UI库FlatUI
    timus_1006
    timus_1692
    系统引导加载器的简单实现
  • 原文地址:https://www.cnblogs.com/shenggang/p/12144862.html
Copyright © 2011-2022 走看看