maskr-cnn解读

AI菌 AI菌     2023-02-28     711

关键词:

摘要

本文提出了一个概念上简单、灵活和通用的目标实例分割框架。该方法有效地检测图像中的目标,同时为每个实例生成高质量的分割掩码。该方法被称为 Mask R-CNN,在 Faster R-CNN的基础上,通过添加一个分支来预测一个目标掩码,并与现有的目标检测分支并行。Mask R-CNN很容易训练,只增加了很小的开销,可以以5帧/秒的速度运行。

此外,Mask R-CNN很容易推广到其他任务,例如,人体姿态估计。本文在COCO数据集上进行了大量实验,结果表明Mask R-CNN在实例分割、目标检测和人关键点检测任务上优于其他所有的单一模型。

代码开源: https://github.com/facebookresearch/Detectron

一、引言

原则上,Mask R-CNN 是 Faster R-CNN 的直观扩展,但正确构建 Mask 分支对于良好的结果至关重要。最重要的是,Faster RCNN 不是为网络输入和输出之间的像素对像素对齐而设计的。这一点在 RoIPool 中最为明显,它实际上是处理实例的核心操作,它执行粗空间量化来提取特征。为了修正偏差,我们提出了一个简单的、无量化的层,称为 RoIAlign,它忠实地保持准确的空间位置。

尽管看似一个很小的变化,但是 RoIAlign 具有很大的影响力。它将 Mask 精度提高了10%至50%,在更严格的定位指标下显示出更大的增益。其次,我们发现将掩码和类预测分离是必要的: 我们为每个类独立预测一个二进制掩码,类之间不存在竞争,并依靠网络的 RoI 分类分支来预测类别。相比之下,FCN 通常进行逐像素的多类分类,分割和分类相结合,根据我们的实验,对于实例分割效果较差。

二、Mask R-CNN

2.1 Faster R-CNN

Faster R-CNN由两个阶段组成。第一个阶段,称为区域建议网络(RPN),提出候选对象边界框。第二阶段,本质上是Fast R-CNN,使用 RoIPool 从每个候选框中提取特征,并进行分类和边界框回归。这两个阶段所使用的特征可以共享,以便更快地推理。

2.2 Mask R-CNN

Mask R-CNN 采用相同的两阶段流程,第一阶段相同(即RPN)。在第二阶段,在预测类和框偏移的同时,Mask R-CNN 也为每个 RoI 输出一个二进制掩码。我们的方法遵循了 Fast R-CNN 的方法,它并行地应用了边界盒分类和回归,在很大程度上简化了原始R-CNN的多阶段结构。

2.3 Mask Representation

掩码对输入对象的空间布局进行编码。因此,不同于类标签或盒偏移不可避免地被全连接(fc)层压缩成短输出向量,提取掩码的空间结构可以通过卷积提供的像素到像素的对应来自然地解决。

具体来说,我们使用 FCN 从每个RoI预测 m × m 掩码。这使得蒙版分支中的每一层都可以保持明确的 m × m 对象空间布局,而无需将其折叠成缺乏空间维度的矢量表示。与以往依靠fc层进行掩码预测的方法不同,我们的全卷积表示需要较少的参数,而且实验证明更准确。

这种像素到像素的行为需要我们的RoI特性(它们本身就是小的特性映射)很好地对齐,以忠实地保持显式的每个像素的空间对应。这促使我们开发了以下的RoIAlign层,它在蒙版预测中扮演着关键的角色。

2.4 RoIAlign

RoIPool 是从每个 RoI 中提取小特征图(例如7×7)的标准操作。RoIPool 首先将一个浮点的 RoI 量化到特征映射的离散粒度上,然后将这个量化的 RoI 细分为空间容器,这些空间容器本身也被量化,最后将每个容器所覆盖的特征值进行聚合(通常是通过最大池化)。量化,例如,通过计算[x/16]对连续坐标x进行量化,其中16是特征地图步幅,[·]是四舍五入;同样地,在划分为多个容器时进行量化(例如7×7)。这些量化引入了RoI和提取的特征之间的偏差。虽然这可能不会影响分类,这对小的转换是稳健的,但它对预测像素精确的蒙版有很大的负面影响。

为了解决这个问题,我们提出了一个 RoIAlign 层,它消除了 RoIPool 的苛刻量化,将提取的特征与输入正确对齐。我们提出的改变很简单: 我们避免对 RoI 边界进行量化(即,我们使用x/16而不是[x/16])。我们使用双线性插值来计算每个RoI bin中四个定期采样的位置上输入特征的精确值,并将结果(使用max或average)汇总,详见图3。我们注意到,只要不执行量化,结果对精确的采样位置或采样的点数并不敏感。

三、网络架构

Mask R-CNN 的网络架构较为简单,由两大块组成:

  • 用于对整个图像进行特征提取的卷积主干网络。
  • 用于边界盒识别和掩码预测的网络头,分别应用于每个RoI。

如下图所示,是网络头的示意图,其主干网络分别采用的是 ResNet 和 FPN 的主干网络部分。

四、实验

1、实例分割效果

2、消融实验


3、目标检测

4、行人姿态估计

cvpr2019|maskscoringr-cnn论文解读

...来自华科和地平线,文章提出了MaskScoringR-CNN的框架是对MaskR-CNN的改进,简单地来说就是给MaskR-CNN添加一个新的分支来给mask打分从而预测出更准确的分数。源码地址:https://github.com/zjhuang22/maskscoring_rcnn 研究动机:MaskR-CNN其实... 查看详情

maskr-cnn

maskR-cnn,kaiminghe的新作。可以同时完成objectdetection和segmentation,还可以做poseestimation,简直就是功能多多啊。在coco上测试,超过去年竞赛冠军的水平了,代码会在不久的将来放出来。如果我没记错的话,facebook的featurepyramid在coco上... 查看详情

markdown关于maskr-cnn的链接(代码片段)

查看详情

论文阅读总结maskr-cnn翻译总结(代码片段)

MaskR-CNN1.摘要MaskR-CNN相关介绍与优点2.引言3.文献综述3.1R-CNN3.2InstanceSegmentation【实例分割】4.MaskR-CNN介绍4.1FasterR-CNN(相关细节请看相关文章)4.2MaskR-CNN4.3MaskRepresentation【遮罩表示法】4.4RoIAlign【感兴趣区域对齐】4.4.1RoIPool【感兴趣区... 查看详情

使用maskr-cnn模型实现人体关键节点标注

摘要:在本案例中,我们将展示如何对基础的MaskR-CNN进行扩展,完成人体关键节点标注的任务。本文分享自华为云社区《​​使用MaskR-CNN模型实现人体关键节点标注​​》,作者:运气男孩。前言ModelArts是面向开发者的一站式AI... 查看详情

maskr-cnn为什么“家喻户晓”

...恺明团队证明了这一点一个非常简单、灵活和快速的系统MaskR-CNN可以超越它先前最先进的实例分割结果。该方法,称为MaskR-CNN。文章传送门:https://arxiv.org/abs/1703.06870“家喻户晓”的MaskR-CNN是图像分割领域中非常经典的实... 查看详情

使用maskr-cnn模型实现人体关键节点标注(代码片段)

摘要:在本案例中,我们将展示如何对基础的MaskR-CNN进行扩展,完成人体关键节点标注的任务。本文分享自华为云社区《使用MaskR-CNN模型实现人体关键节点标注》,作者:运气男孩。前言ModelArts是面向开发者... 查看详情

windows上配置maskr-cnn及简单运行(代码片段)

  最近做项目需要用到MaskR-CNN,于是花了几天时间配置、简单跑通代码,踩了很多坑,写下来分享给大家。  首先贴上官方MaskR-CNN的Github地址:https://github.com/matterport/Mask_RCNN,源码可以从这里下载,README里也有一些介绍。 ... 查看详情

有人开源了maskr-cnn对象检测和分割的keras和tensorflow代码

有人在github上发布了何凯明的MaskR-CNN目标检测和对象分割Keras和TensorFlow的实现代码。这个实现基于Python3、Keras和TensorFlow。模型对图片中的每个对象实例生成包围框(boundingboxes)和分割掩膜(segmentationmasks)。基于... 查看详情

tensorflow实现maskr-cnn实例分割通用框架,检测,分割和特征点定位一次搞定(多图)

MaskR-CNN实例分割通用框架,检测,分割和特征点定位一次搞定(多图) 导语:MaskR-CNN是FasterR-CNN的扩展形式,能够有效地检测图像中的目标,同时还能为每个实例生成一个高质量的分割掩码。对Facebook而言,想要提高用户体... 查看详情

maskr-cnn学习

终于!开始了MaskR-CNN的学习!!膜拜大佬!首先介绍一下FasterR-CNN模型:是一个二阶段的分类器。第一结算是区域候选网络(RegionProposalNetwork,RPN)用于提出候选的包围箱;第二个阶段是核心,即... 查看详情

有空就学学的实例分割1——tensorflow2搭建maskr-cnn实例分割平台(代码片段)

有空就学学的实例分割1——Tensorflow2搭建MaskR-CNN实例分割平台学习前言什么是MaskR-CNN源码下载MaskR-CNN实现思路一、预测部分1、主干网络介绍2、特征金字塔FPN的构建3、获得Proposal建议框4、Proposal建议框的解码5、对Proposal建议框加... 查看详情

【cv论文笔记】maskr-cnn之roialign理解

...考技术A本文主要用于介绍KaimingHe,rbg等大神于2017年提出的MaskR-CNN网络,该网络架构是在其前作FastR-CNN上的升级改进版可以用于实例分割。本笔记主要为自我温习回顾,以备后用。论文链接:https://arxiv.org/pdf/1703.06870.pdfgithub主页:... 查看详情

目标检测/实例分割maskr-cnn简介与swintransformer实践测试(代码片段)

前言之前在看SwinTransformer的时候,发现该算法在目标检测、实例分割等各种视觉任务上屠榜,于是想来实践测试一下。官方地址:https://github.com/SwinTransformer/Swin-Transformer-Object-Detection查看源码,发现SwinTransformer并... 查看详情

目标检测/实例分割maskr-cnn简介与swintransformer实践测试(代码片段)

...前仅实现了mask_rcnn和cascade_mask_rcnn)因此,有必要先对MaskR-CNN算法做一个了解。MaskR-CNN简介MaskR-CNN是何凯明大神继Faster-RCNN后的又一力作,在FaskerR-CNN的基础上,集成了物体检测和实例分割两大功能。论文链接:https:... 查看详情

目标检测/实例分割maskr-cnn简介与swintransformer实践测试(代码片段)

...前仅实现了mask_rcnn和cascade_mask_rcnn)因此,有必要先对MaskR-CNN算法做一个了解。MaskR-CNN简介MaskR-CNN是何凯明大神继Faster-RCNN后的又一力作,在FaskerR-CNN的基础上,集成了物体检测和实例分割两大功能。论文链接:https:... 查看详情

图像分割技术及经典实例分割网络maskr-cnn(含基于keraspython源码定义)(代码片段)

图像分割技术及经典实例分割网络MaskR-CNN(含Python源码定义)文章目录图像分割技术及经典实例分割网络MaskR-CNN(含Python源码定义)1.图像分割技术概述2.FCN与语义分割2.1FCN简介2.2反卷积2.2FCN与语义分割的关系3.Mask... 查看详情

maskrcnn分割评价怎么看

...,同时为每个实例生成高质量的分割掩码。该方法被称为MaskR-CNN,在FasterR-CNN的基础上,通过添加一个分支来预测一个目标掩码,并与现有的目标检测分支并行。MaskR-CNN很容易训练,只增加了很小的开销,可以以5帧/秒的速度运... 查看详情