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

曹明 曹明     2022-09-05     339

关键词:

Mask R-CNN实例分割通用框架,检测,分割和特征点定位一次搞定(多图)

 
导语:Mask R-CNN是Faster R-CNN的扩展形式,能够有效地检测图像中的目标,同时还能为每个实例生成一个高质量的分割掩码。

技术分享

对Facebook而言,想要提高用户体验,就得在图像识别上做足功夫。

雷锋网此前报道《Facebook AML实验室负责人:将AI技术落地的N种方法》( ,下篇)就提到,做好图像识别,不仅能让Facebook的用户更精准搜索到想要的图片,为盲人读出图片中包含的信息,还能帮助用户在平台上销售物品、做社交推荐等等。

近日, FAIR部门的研究人员在这一领域又有了新的突破——他们提出一种目标实例分割(object instance segmentation)框架Mask R-CNN,该框架较传统方法操作更简单、更灵活。研究人员把实验成果《Mask R-CNN》发布在了arXiv上,并表示之后会开源相关代码。

以下为AI科技评论据论文内容进行的部分编译。

论文摘要

物体识别,图像语义分割技术能在短时间内快速发展,Fast/Faster RCNN和全卷积网络(FCN)框架等技术功不可没。这些方法概念直观,训练和推断速度快,并且具有良好的灵活性和鲁棒性。

一般来说,目标分割的难点在于,它需要正确识别出图像中所有物体的方向,并且要将不同物体精准区分开。因此,这里面涉及到两个任务:

  • 用物体识别技术识别物体,并用边界框表示出物体边界;

  • 用语义分割给像素分类,但不区分不同的对象实例。

大家可能认为,要同时完成这两个任务,方法一定会相当复杂;但Mask R-CNN却可以更轻松的解决这两个问题。

Mask R-CNN是Faster R-CNN的扩展形式,能够有效地检测图像中的目标,同时还能为每个实例生成一个高质量的分割掩码(segmentation mask)。

它的构建方法是:在每个兴趣点(Region of Interest,RoI)上加一个用于预测分割掩码的分层,称为掩码层(mask branch),使该层并行于已有边界层和分类层(如下图所示)。

技术分享

 Mask R-CNN 框架

于是,掩码层就成为了一个小型FCN。我们将它应用于单个RoI中,以在pixel-to-pixel行为中预测分割掩码。

Mask R-CNN 的优点:

  • 由于目前已有许多设计良好,可用于Faster R-CNN的构架,因此,作为Faster R-CNN的扩展,Mask R-CNN在应用时也没有阻碍;

  • 考虑到掩码层只给整个系统增加一小部分计算量,所以该方法运行起来非常高效;

  • Mask R-CNN 还可以很容易泛化到其它任务上。比如,可以在同一个框架中估计人物的动作。

在COCO测试中可以看到,Mask R-CNN 在实例分割、边界框目标检测和人物关键点检测这三个难点上都获得了较好的实验效果,并且比每个现有的独立模型,包括 COCO 2016 挑战赛的获胜模型,表现都要好。

所以,我们希望该方法能为简化势力层面的识别打下一个坚实的基础。

实验结果图&表

研究人员进行了一系列实验来分析Mask R-CNN的运行效果。例如,把Mask R-CNN放在 COCO 测试集上进行测试、对比多项掩码和单项掩码(Multinomial vs. Independent Masks)、对比Class-Specific 和Class-Agnostic Masks、对比RoIAlign和RoIWarp等。以下是论文中出现的部分实验图和表格:

技术分享

  • 图2:Mask R-CNN在 COCO 测试集上的测试结果。结果显示,Mask R-CNN能用 ResNet-101,在 5 fps 的度下实现 35.7 的 mask AP。图上不同的颜色表示不同的掩码,另外也给出的边界框、类别和置信度。

 

技术分享

  • 图 3:顶端架构:我们延展了两个已有的 Faster R-CNN 头 [14,21]。左图和右图分别展示了 ResNet C4 和 FPN 的主干的顶端部分,分别来自 [14] 和 [21],而且可以看到上面还增加了一个 mask 分支。图中的数字表示空间分辨率和信道,箭头表示卷积、去卷积或全连接层。具体可以根据情况推断(卷积会保持空间维度而去卷积会增加空间维度)。除了输出卷积是 1×1 之外,其它所有卷积都是 3×3,去卷积是 2×2,步幅为 2。我们在隐藏层中使用 ReLU [24]。左图中 res5 表示 ResNet 的第 5 阶段,但为了简单起见,我们做了修改,使第 1 个卷积层运行在一个 7×7 RoI 上,步幅为 1(而不是如 [14] 中的 14×14,步幅为 2)。右图中的 ×4 表示 4 个连续卷积的堆叠。

技术分享

  • 表 1:在 COCO test-dev 上的实例分割 mask AP。MNC [7] 和 FCIS [20] 分别是 COCO 2015 和 2016 分割挑战赛的获胜模型。仅有Mask R-CNN,其表现就超过了更复杂的 FCIS+++——其包括多种规模的训练/测试、水平翻转测试和 OHEM [29]。所有的项都是单个模型的结果。

 

技术分享

  • 表2:Mask R-CNN 的分解表。在 trainval35k 上训练,在 minival 上测试。主要是 mask AP 的成绩,除非有特别指明。

上图显示,更深层的网络(图2a:50 vs 101)和更先进的设计(包括FPN和ResNeXt)都对Mask R-CNN有帮助作用。不过,也不是所有框架都能自动从中受益。

 

技术分享

  • 表3:在 test-dev 上目标检测单个模型的结果(边界框 AP)vs 当前最佳。使用 ResNet-101-FPN 的 Mask R-CNN 的表现超越了所有之前最佳模型的基本变体(在这些实验中忽略了 mask output)。Mask R-CNN 在 [21] 的基础上获得的增益得益于对 RoIAlign (+1.1 APbb)、多任务训练 (+0.9 APbb) 和 ResNeXt-101 (+1.6 APbb) 的使用。

技术分享

    • 图6:用Mask R-CNN (ResNet-50-FPN)在COCO测试上进行关键点测试。该模型在 5 fps 条件下实现了 63.1 的关键点 AP。

       

       

技术分享
  • 表 4:在 COCO test-dev 上的关键点检测 AP。ResNet-50-FPN 是以 5 fps 运行的单个模型。CMUPose+++[4] 是 2016 年的比赛获胜者,使用了多尺度测试、带有 CPM 的后处理 [33] 和带有一个目标检测器的滤波,累加约 5 分(在个人通信中阐明的)。G-RMI 是在 COCP plus MPII [1](2.5 万张图像)上训练的,使用了两个模型(Inception-ResNet-v2 + ResNet- 101)。由于使用了更多数据,所以不是与 Mask R-CNN 的直接对比。

     

源代码见:https://github.com/Mark110/Master-R-CNN


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

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

手把手教你使用labview实现maskr-cnn图像实例分割(含源码)(代码片段)

...分类,目标检测,今天我们来看一下如何使用LabVIEW实现MaskR-CNN图像实例分割。一、什么是图像实例分割?图像实例分割(InstanceSegmentation)是在语义检测(SemanticSegmentation)的基础上进一步细化,分离对象的前景与背景,实现像素级别... 查看详情

目标检测/实例分割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为什么“家喻户晓”

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

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

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

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

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

maskrcnn分割评价怎么看

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

论文阅读总结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解读

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

maskr-cnn解读

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

maskr-cnn学习

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

如何使用tensorflow实现多类语义分割

】如何使用tensorflow实现多类语义分割【英文标题】:Howtoimplementmulti-classsemanticsegmentationusingtensorflow【发布时间】:2020-04-1607:25:50【问题描述】:我正在尝试使用tensorflow和tflearn或Keras执行多类语义分割(我尝试了这两个API)。与... 查看详情

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

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

r-cnn和maskr-cnn在图像分割中的应用史

...些呢?【嵌牛鼻子】机器学习cnn 【嵌牛提问】r-cnn和maskr-cnn有什么区别?两者又是怎么形成的?【嵌牛正文】在Athelas(Athelas通过深度学习进行血液诊断),我们使用卷积神经网络(CNN)不仅仅是分类!在这篇文章中,我们将看... 查看详情

learningtosegmenteverything简介

...注但是有很少分割标注的实例分割模型。这些改进可以让MaskR-CNN检测和分割3000个视觉概念,通过使用VisualGenomedataset的边框标注和COCOdataset的80个类别掩码标注。这个方法扩展 查看详情

用于对象检测和分割的 Mask R-CNN [训练自定义数据集]

】用于对象检测和分割的MaskR-CNN[训练自定义数据集]【英文标题】:MaskR-CNNforobjectdetectionandsegmentation[Trainforacustomdataset]【发布时间】:2018-09-1523:46:35【问题描述】:我正在研究“MaskR-CNN用于对象检测和分割”。所以我阅读了原始... 查看详情

语义分割之车道线检测lanenet(tensorflow版)(代码片段)

Lanenet  一个端到端的网络,包含Lanenet+HNet两个网络模型,其中,Lanenet完成对车道线的实例分割,HNet是一个小网络结构,负责预测变换矩阵H,使用转换矩阵H对同属一条车道线的所有像素点进行重新建模    ... 查看详情