0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深度学习部分监督的实例分割环境

Tensorflowers 来源:TensorFlow 作者:TensorFlow 2021-10-21 14:05 次阅读

实例分割的任务是将图像中的像素分组为单个事物的实例,并用类标签(可计数的对象,如人、动物、汽车等,并为每个对象分配独特的标识符,如 car_1 和 car_2)来标识这些事物。实例分割作为一项核心的计算机视觉任务,对许多下游应用至关重要,如自动驾驶汽车、机器人医学成像和照片编辑。

近年来,深度学习 (Deep learning) 在使用 Mask R-CNN 之类的架构解决实例分割问题方面取得了重大进展。然而,这些方法依赖于收集大型的标签实例分割数据集。但不同于收集边界框标签的方法,如 Extreme clicking,可以实现每个实例 7 秒的收集速度,收集实例分割标签(称为“掩码”)时,每个实例用时可能需要高达 80 秒,该方式较高的成本,拉高了这项研究的门槛。另一个相关任务——泛型分割,甚至需要更多的标签数据。

Mask R-CNN

https://arxiv.org/abs/1703.06870

Extreme clicking

https://arxiv.org/abs/1708.02750

高达 80 秒

https://arxiv.org/abs/1405.0312

部分监督的实例分割环境(即只用实例分割掩码给一小部分类加标签,其余大部分类只用边界框来加标签)这一方法有可能减少对人工创建的掩码标签的依赖,从而大大降低开发实例分割模型的门槛。不过,这种部分监督的方法也需要更强的模型泛化形式来处理训练时没有遇到过的新类别,例如,只用动物掩码进行训练,然后让模型针对建筑物或植物产生准确的实例分割。此外,还有简单的方法,例如训练一个与类无关的 Mask R-CNN,同时忽略任何没有掩码标签的实例的掩码损失 (Loss function),但这些方法效果并不好。例如,在典型的 “VOC/Non-VOC” 基准中,Mask R-CNN 针对 COCO 中 20 个类的子集(称为“已见类”)进行掩码训练,并在其余 60 个类(称为“未见类”)上进行测试,一个带有 Resnet-50 主干的典型 Mask R-CNN 在未见类上的 掩码 mAP(即平均精度,数值越高越好)只能达到约 18%,而在全监督时,在同一集合上的掩码 mAP 则高出很多,超过了 34%。

部分监督的实例分割环境

https://arxiv.org/abs/1711.10370

在即将发布于 ICCV 2021 的“掩码头部架构对新类别分割的惊人影响 (The surprising impact of mask-head architecture on novel class segmentation)”一文中,我们确定了 Mask R-CNN 在新类别上表现不佳的主要原因,并提出了两个易于实施的修复方法(训练协议修复;掩码头部架构修复),这两种方法协同作用,可以缩小与全监督性能之间的差距。

掩码头部架构对新类别分割的惊人影响

https://arxiv.org/abs/2104.00613

我们证明了这种方法普遍适用于裁剪-分割模型,即 Mask R-CNN 或类似 Mask R-CNN 的架构:计算整个图像的特征表征,然后将每个实例的裁剪传递给第二阶段的掩码预测网络(也称为掩码头部网络)。对发现结果进行整合,我们提出了基于 Mask R-CNN 的模型,该模型的掩码 mAP 远高于目前最先进的模型,提升了 4.7%,且无需更复杂的辅助损失函数、离线训练的先验因素或先前研究中提出的权重转移函数。我们还开放了该模型两个版本的代码库,分别称为 Deep-MAC 和 Deep-MARC,并发布了一个 colab,从而以互动方式生成掩码,如下面的视频演示所示。

Deep-MAC

https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/deepmac.md

Deep-MARC

https://github.com/tensorflow/models/tree/master/official/vision/beta/projects/deepmac_maskrcnn

colab

https://github.com/tensorflow/models/blob/master/research/object_detection/colab_tutorials/deepmac_colab.ipynb

模型 DeepMAC 的演示版,即使是训练时未见过的类,该模型也可以学习预测准确的掩码,以及给定用户所指定的边框。亲自在 colab 中试试吧。图片来源:Chris Briggs、维基百科和 Europeana

部分监督环境中裁剪方法的影响

裁剪是裁剪-分割模型的一个重要步骤,通过裁剪特征图以及对应每个实例的边界框的实际掩码来训练 Mask R-CNN。将这些裁剪过的特征传递给另一个神经网络(称为掩码头部网络),该网络计算出最终的掩码预测,然后将其与掩码损失函数中的实际裁剪进行比较。裁剪有两种选择:(1) 直接对实例的实际边界框进行裁剪, (2) 对模型预测的边界框(称为建议)进行裁剪。在测试时始终通过建议来执行裁剪,因为要假设实际边界框不可用。

“对实际边界框的裁剪”对比“训练过程中对模型预测的建议裁剪”。标准 Mask R-CNN 实现使用上述两种类型的裁剪,但我们已经证明,只对实际边界框进行裁剪在新类别上表现出显著的性能优势

我们考虑了一个类似于 Mask R-CNN 的一般架构系列,与典型的 Mask R-CNN 训练环境相比,存在一个微小但关键的区别:我们在训练时使用实际边界框(而不是建议边界框)裁剪

典型的 Mask R-CNN 实现将两种类型的裁剪都传递给掩码头部。然而,在传统的观点中,这个选择是一个不重要的实施细节,因为它在全监督环境中不会对性能产生显著影响。相反,对于部分监督环境,我们发现裁剪方法起着重要的作用,虽然在训练过程中,只对实际边界框进行裁剪不会使全监督环境下的结果发生明显变化,但在部分监督环境中却有着惊人的显著积极影响,在未见类上的表现明显改善。

利用建议和实际边界框(默认设置)或只用实际边界框进行训练时,Mask R-CNN 在未见类上的性能。只用实际边界框训练掩码头部时,在未见类上的性能有明显的提升,mAP 超过 9%。我们报告了 ResNet-101-FPN 主干加持下的性能

ResNet-101-FPN

https://arxiv.org/pdf/1703.06870.pdf

解锁掩码头部的完全泛化潜力

更令人惊讶的是,上述方法引发了一个新现象:在训练过程中启用实际裁剪, Mask R-CNN 的掩码头部对模型的泛化能力(泛化至未见类)起着异常重要的作用。举个例子,我们在下图中比较了几个模型,对象为停车计时器、手机和披萨(训练期间未见过的类)。每个模型都已启用实际边界框裁剪,但使用的开箱即用掩码头部架构不同。

使用四种不同的掩码头部架构对未见类进行掩码预测(从左到右分别是:ResNet-4、ResNet-12、ResNet-20、Hourglass-20,其中数字是指神经网络的层数)尽管从未见过“停车计时器”、“披萨”或“手机”类中的掩码,但最右的掩码头部架构可以正确分割这些类。我们展示的掩码头部架构在掩码预测方面的性能从左到右依次递增。此外,这种差异只有在未见类上进行评估时才比较明显,如果在已见类上进行评估,所有四个架构会表现出类似的性能

ResNet-4

https://arxiv.org/abs/1512.03385

ResNet-12

https://arxiv.org/abs/1512.03385

ResNet-20

https://arxiv.org/abs/1512.03385

Hourglass-20

https://arxiv.org/abs/1603.0693

特别需要注意的是,在全监督环境中,掩码头部架构之间在这些方面的差异并不明显。顺便说一下,这可能解释了为什么先前的实例分割研究几乎只使用浅层(即低层数)掩码头部,因为增加复杂性无法带来任何优势。下面我们比较了三种不同的掩码头部架构在已见与未见类上的掩码 mAP。所有这三种模型在已见类的集合上展现了同样优越的性能,但应用于未见类时,深沙漏型掩码头部脱颖而出。我们发现,在所尝试的架构中,沙漏型掩码头部效果是最好的,并且在使用 50 层以上的沙漏型掩码头部时获得了最佳结果。

ResNet-4、Hourglass-10 和 Hourglass-52 掩码头部架构在已见类和未见类上的性能。尽管在已见类上的性能几乎没有变化,但在未见类上的性能却有很大差别

沙漏型

https://arxiv.org/abs/1603.06937

最后,我们证明这一发现具有普遍性,适用于各种主干(如 ResNet、SpineNet 和 Hourglass)和检测器架构,包括基于锚和无锚的检测器,甚至在根本没有检测器的情况下也适用。

基于锚

https://arxiv.org/abs/1506.01497

无锚的检测器

https://arxiv.org/abs/1904.07850

总结

为了得出最完善的结果,我们整合了上述发现:我们在高分辨率图像 (1280x1280) 上利用 SpineNet 主干训练了一个启用实际边界框裁剪且带有深 Hourglass-52 掩码头部的 Mask R-CNN 模型。我们称此模型为 Deep-MARC (Deep Mask heads Above R-CNN)。在不使用任何离线训练或其他手动先验因素的情况下,Deep-MARC 超过了之前最先进的模型,掩码 mAP 提高了 4.5%(绝对值)以上。为证明这种方法的普遍性,我们还训练了基于 CenterNet(而非基于 Mask R-CNN)的模型(称为 Deep-MAC),该模型同样展现出强大的性能,也超越了之前最先进的水平。

结论

我们开发的实例分割模型能够泛化到不属于训练集的类。这其中要强调两个关键因素的作用,这两个因素可以应用于任何裁剪-分割模型(如 Mask R-CNN):(1) 训练过程中的实际边界框裁剪, (2) 强大的掩码头部架构。虽然这两个因素对训练期间有掩码的类影响不大,但在训练期间没有掩码的新类别上,采用这两个因素会带来明显的改善。此外,这两个因素足以在部分监督的 COCO 基准上实现最先进的性能。最后,我们的研究结果具有普遍性,也可能对相关的任务产生影响,如全景分割和姿势预测。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模型
    +关注

    关注

    1

    文章

    2704

    浏览量

    47683
  • 架构
    +关注

    关注

    1

    文章

    484

    浏览量

    25200
  • 深度学习
    +关注

    关注

    73

    文章

    5237

    浏览量

    119907

原文标题:重新审视模型架构的掩码头部,用于新类别实例分割

文章出处:【微信号:tensorflowers,微信公众号:Tensorflowers】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    动态场景下的自监督单目深度估计方案

    监督单目深度估计的训练可以在大量无标签视频序列来进行,训练集获取很方便。但问题是,实际采集的视频序列往往会有很多动态物体,而自监督训练本身就是基于静态环境假设,动态
    发表于 11-28 09:21 277次阅读
    动态场景下的自<b class='flag-5'>监督</b>单目<b class='flag-5'>深度</b>估计方案

    基于深度学习的3D点云实例分割方法

    3D实例分割(3DIS)是3D领域深度学习的核心问题。给定由点云表示的 3D 场景,我们寻求为每个点分配语义类和唯一的实例标签。 3DIS
    发表于 11-13 10:34 602次阅读
    基于<b class='flag-5'>深度</b><b class='flag-5'>学习</b>的3D点云<b class='flag-5'>实例</b><b class='flag-5'>分割</b>方法

    深度学习图像语义分割指标介绍

    深度学习在图像语义分割上已经取得了重大进展与明显的效果,产生了很多专注于图像语义分割的模型与基准数据集,这些基准数据集提供了一套统一的批判模型的标准,多数时候我们评价一个模型的性能会从
    发表于 10-09 15:26 165次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>图像语义<b class='flag-5'>分割</b>指标介绍

    深度学习的由来 深度学习的经典算法有哪些

    深度学习作为机器学习的一个分支,其学习方法可以分为监督学习和无监督学习。两种方法都具有其独特的
    发表于 10-09 10:23 358次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>的由来 <b class='flag-5'>深度</b><b class='flag-5'>学习</b>的经典算法有哪些

    视觉深度学习迁移学习训练框架Torchvision介绍

    Torchvision是基于Pytorch的视觉深度学习迁移学习训练框架,当前支持的图像分类、对象检测、实例分割、语义
    的头像 发表于 09-22 09:49 450次阅读
    视觉<b class='flag-5'>深度</b><b class='flag-5'>学习</b>迁移<b class='flag-5'>学习</b>训练框架Torchvision介绍

    深度学习在医学图像分割与病变识别中的应用实战

    等方面具有重要意义。本文将介绍这一领域的背景、挑战,以及通过一个代码实例展示如何利用深度学习方法进行医学图像分割与病变识别。 背景与挑战医学图像
    发表于 09-04 11:11

    机器学习深度学习的区别

    机器学习深度学习的区别 随着人工智能技术的不断发展,机器学习深度学习已经成为大家熟知的两个术
    的头像 发表于 08-17 16:11 3382次阅读

    深度学习框架和深度学习算法教程

    深度学习框架和深度学习算法教程 深度学习是机器学习
    的头像 发表于 08-17 16:11 717次阅读

    深度学习算法简介 深度学习算法是什么 深度学习算法有哪些

    深度学习算法作为其中的重要组成部分,不仅可以为诸如人工智能、图像识别以及自然语言处理等领域提供支持,同时也受到了越来越多的关注和研究。在本文中,我们将着重介绍深度
    的头像 发表于 08-17 16:02 6809次阅读

    使用LabVIEW 实现物体识别、图像分割、文字识别、人脸识别等深度视觉

    LabVIEW可以实现深度学习嘛,今天我们一起来看看使用LabVIEW 实现物体识别、图像分割、文字识别、人脸识别等深度视觉
    的头像 发表于 08-11 16:02 906次阅读
    使用LabVIEW 实现物体识别、图像<b class='flag-5'>分割</b>、文字识别、人脸识别等<b class='flag-5'>深度</b>视觉

    基于深度学习的点云分割的方法介绍

      摘 要:点云分割是点云数据理解中的一个关键技术,但传统算法无法进行实时语义分割。近年来深度学习被应用在点云分割上并取得了重要进展。综述了
    发表于 07-20 15:23 0次下载

    基于SAM实现自动分割遥感图像实例

    本篇文章为大家介绍RSPrompter: Learning to Prompt for Remote Sensing Instance Segmentation based on Visual Foundation Model (基于视觉基础模型的遥感实例分割提示
    的头像 发表于 07-06 09:08 1025次阅读
    基于SAM实现自动<b class='flag-5'>分割</b>遥感图像<b class='flag-5'>实例</b>

    基于SAM设计的自动化遥感图像实例分割方法

    RSPrompter的目标是学习如何为SAM生成prompt输入,使其能够自动获取语义实例级掩码。相比之下,原始的SAM需要额外手动制作prompt,并且是一种类别无关的分割方法。
    发表于 07-04 10:45 530次阅读
    基于SAM设计的自动化遥感图像<b class='flag-5'>实例</b><b class='flag-5'>分割</b>方法

    基于通用的模型PADing解决三大分割任务

    1. 研究动机 图像分割旨在将具有不同语义的像素进行分类进而分组,例如类别或实例,近年来取得飞速的发展。然而,由于深度学习方法是数据驱动的,对大规模标记训练样本的强烈需求导致了巨大的挑
    的头像 发表于 06-26 10:39 316次阅读
    基于通用的模型PADing解决三大<b class='flag-5'>分割</b>任务

    深度学习中的图像分割

    深度学习可以学习视觉输入的模式,以预测组成图像的对象类。用于图像处理的主要深度学习架构是卷积神经网络(CNN),或者是特定的CNN框架,如A
    的头像 发表于 05-05 11:35 837次阅读