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

    文章

    3648

    浏览量

    51712
  • 架构
    +关注

    关注

    1

    文章

    533

    浏览量

    26506
  • 深度学习
    +关注

    关注

    73

    文章

    5590

    浏览量

    123907

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【团购】独家全套珍藏!龙哥LabVIEW视觉深度学习实战课(11大系列课程,共5000+分钟)

    (第10系列)、YOLOv8-Tiny工业优化版(第9系列),满足产线端设备算力限制,模型推理速度提升300%。 LabVIEW生态整合 作为工业自动化领域主流开发环境,LabVIEW与深度学习的集成
    发表于 12-04 09:28

    【团购】独家全套珍藏!龙哥LabVIEW视觉深度学习实战可(11大系列课程,共5000+分钟)

    领域主流开发环境,LabVIEW与深度学习的集成一直是行业痛点。课程提供独家开发的labview调用框架,实现从模型训练(Python)到部署(LabVIEW)的无缝衔接,已成功应用于DIP、AOI
    发表于 12-03 13:50

    手机板 layout 走线跨分割问题

    学习layout时,都在说信号线不可跨分割,但是在工作中为了成本不能跨分割似乎也非绝对。 在后续工作中,跨分割的基础都是相邻层有一面完整的GND参考,跨
    发表于 09-16 14:56

    自动驾驶中Transformer大模型会取代深度学习吗?

    持续讨论。特别是在自动驾驶领域,部分厂商开始尝试将多模态大模型(MLLM)引入到感知、规划与决策系统,引发了“传统深度学习是否已过时”的激烈争论。然而,从技术原理、算力成本、安全需求与实际落地路径等维度来看,Transforme
    的头像 发表于 08-13 09:15 3917次阅读
    自动驾驶中Transformer大模型会取代<b class='flag-5'>深度</b><b class='flag-5'>学习</b>吗?

    EL非监督分割白皮书丨5张OK图、1分钟建模、半小时落地的异常检测工具!

    ,阿丘科技全新发布《EL非监督分割白皮书》,揭秘一款极致速度、零门槛操作、稳定可靠的AI质检神器,解决柔性产线换型慢、未知缺陷难捕捉等行业难题。传统检测技术的三大
    的头像 发表于 07-11 15:21 481次阅读
    EL非<b class='flag-5'>监督</b><b class='flag-5'>分割</b>白皮书丨5张OK图、1分钟建模、半小时落地的异常检测工具!

    提高IT运维效率,深度解读京东云AIOps落地实践(异常检测篇)

    基于深度学习对运维时序指标进行异常检测,快速发现线上业务问题 时间序列的异常检测是实际应用中的一个关键问题,尤其是在 IT 行业。我们没有采用传统的基于阈值的方法来实现异常检测,而是通过深度
    的头像 发表于 05-22 16:38 804次阅读
    提高IT运维效率,<b class='flag-5'>深度</b>解读京东云AIOps落地实践(异常检测篇)

    使用MATLAB进行无监督学习

    监督学习是一种根据未标注数据进行推断的机器学习方法。无监督学习旨在识别数据中隐藏的模式和关系,无需任何监督或关于结果的先验知识。
    的头像 发表于 05-16 14:48 1178次阅读
    使用MATLAB进行无<b class='flag-5'>监督学习</b>

    labview调用yolo目标检测、分割、分类、obb

    labview调用yolo目标检测、分割、分类、obb、pose深度学习,支持CPU和GPU推理,32/64位labview均可使用。 (yolov5~yolov12)
    发表于 03-31 16:28

    如何排除深度学习工作台上量化OpenVINO™的特定层?

    无法确定如何排除要在深度学习工作台上量化OpenVINO™特定层
    发表于 03-06 07:31

    军事应用中深度学习的挑战与机遇

    人工智能尤其是深度学习技术的最新进展,加速了不同应用领域的创新与发展。深度学习技术的发展深刻影响了军事发展趋势,导致战争形式和模式发生重大变化。本文将概述
    的头像 发表于 02-14 11:15 818次阅读

    BP神经网络与深度学习的关系

    BP神经网络与深度学习之间存在着密切的关系,以下是对它们之间关系的介绍: 一、BP神经网络的基本概念 BP神经网络,即反向传播神经网络(Backpropagation Neural Network
    的头像 发表于 02-12 15:15 1340次阅读

    华为云 Flexus X 实例部署安装 Jupyter Notebook,学习 AI,机器学习算法

    前言 由于本人最近在学习一些机器算法,AI 算法的知识,需要搭建一个学习环境,所以就在最近购买的华为云 Flexus X 实例上安装了学习
    的头像 发表于 01-02 13:43 861次阅读
    华为云 Flexus X <b class='flag-5'>实例</b>部署安装 Jupyter Notebook,<b class='flag-5'>学习</b> AI,机器<b class='flag-5'>学习</b>算法

    Flexus 云服务器 X 实例:在 Docker 环境下搭建 java 开发环境

    和开发者精心打造。它以卓越的柔性算力,为我们在 Docker 环境下搭建 java 开发环境提供有力支撑。 一、Flexus 云服务器 X 实例介绍 1.1 Flexus 云服务器 X 实例
    的头像 发表于 12-30 09:07 869次阅读
    Flexus 云服务器 X <b class='flag-5'>实例</b>:在 Docker <b class='flag-5'>环境</b>下搭建 java 开发<b class='flag-5'>环境</b>

    基于华为云 Flexus 云服务器 X 实例搭建 Linux 学习环境

    不仅提供了强大的计算资源,还拥有灵活的扩展能力和稳定的运行表现,为用户提供了可靠的技术支撑。特别是对于那些希望快速搭建 Linux 学习环境的用户来说,华为云 Flexus 云服务器 X 实例是一个理想的选择。例如,Instan
    的头像 发表于 12-25 17:10 903次阅读
    基于华为云 Flexus 云服务器 X <b class='flag-5'>实例</b>搭建 Linux <b class='flag-5'>学习</b><b class='flag-5'>环境</b>

    Flexus X 实例 ultralytics 模型 yolov10 深度学习 AI 部署与应用

    前言: ���深度学习新纪元,828 B2B 企业节 Flexus X 实例特惠!想要高效训练 YOLOv10 模型,实现精准图像识别?Flexus X 以卓越算力,助您轻松驾驭大规模数据集,加速
    的头像 发表于 12-24 12:24 1295次阅读
    Flexus X <b class='flag-5'>实例</b> ultralytics 模型 yolov10 <b class='flag-5'>深度</b><b class='flag-5'>学习</b> AI 部署与应用