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

    文章

    3819

    浏览量

    52270
  • 架构
    +关注

    关注

    1

    文章

    537

    浏览量

    26644
  • 深度学习
    +关注

    关注

    73

    文章

    5608

    浏览量

    124635

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    人工智能-Python深度学习进阶与应用技术:工程师高培解读

    深度学习的工程化落地,早已不是纸上谈兵的事。从卷积神经网络到Transformer,从目标检测到大模型私有化部署,技术栈不断延伸,工程师面临的知识体系也越来越庞杂。现根据中际赛威工程师培训老师的一份
    的头像 发表于 04-21 11:01 323次阅读
    人工智能-Python<b class='flag-5'>深度</b><b class='flag-5'>学习</b>进阶与应用技术:工程师高培解读

    强化学习会让自动驾驶模型学习更快吗?

    是一种让机器通过“试错”学会决策的办法。与监督学习不同,监督学习是有人提供示范答案,让模型去模仿;而强化学习不会把每一步的“正确答案”都告诉你,而是把环境、动作和结果连起来,让机器自己
    的头像 发表于 01-31 09:34 831次阅读
    强化<b class='flag-5'>学习</b>会让自动驾驶模型<b class='flag-5'>学习</b>更快吗?

    机器学习深度学习中需避免的 7 个常见错误与局限性

    无论你是刚入门还是已经从事人工智能模型相关工作一段时间,机器学习深度学习中都存在一些我们需要时刻关注并铭记的常见错误。如果对这些错误置之不理,日后可能会引发诸多麻烦!只要我们密切关注数据、模型架构
    的头像 发表于 01-07 15:37 351次阅读
    机器<b class='flag-5'>学习</b>和<b class='flag-5'>深度</b><b class='flag-5'>学习</b>中需避免的 7 个常见错误与局限性

    穿孔机顶头检测仪 机器视觉深度学习

    ,能适用恶劣工况,在粉尘、高温、氧化皮等恶劣环境中均可正常工作。 测量原理 利用顶头与周围的物质(水、空气、导盘等)红外辐射能量的差异,用热成像相机拍摄出清晰的图片,再通过深度学习短时间内深度
    发表于 12-22 14:33

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

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

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

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

    如何深度学习机器视觉的应用场景

    深度学习视觉应用场景大全 工业制造领域 复杂缺陷检测:处理传统算法难以描述的非标准化缺陷模式 非标产品分类:对形状、颜色、纹理多变的产品进行智能分类 外观质量评估:基于学习的外观质量标准判定 精密
    的头像 发表于 11-27 10:19 333次阅读

    自动驾驶中常提的“强化学习”是个啥?

    下,就是一个智能体在环境里行动,它能观察到环境的一些信息,并做出一个动作,然后环境会给出一个反馈(奖励或惩罚),智能体的目标是把长期得到的奖励累积到最大。和监督学习不同,强化
    的头像 发表于 10-23 09:00 895次阅读
    自动驾驶中常提的“强化<b class='flag-5'>学习</b>”是个啥?

    手机板 layout 走线跨分割问题

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

    如何在机器视觉中部署深度学习神经网络

    图 1:基于深度学习的目标检测可定位已训练的目标类别,并通过矩形框(边界框)对其进行标识。 在讨论人工智能(AI)或深度学习时,经常会出现“神经网络”、“黑箱”、“标注”等术语。这些概
    的头像 发表于 09-10 17:38 1053次阅读
    如何在机器视觉中部署<b class='flag-5'>深度</b><b class='flag-5'>学习</b>神经网络

    深度学习对工业物联网有哪些帮助

    深度学习作为人工智能的核心分支,通过模拟人脑神经网络的层级结构,能够自动从海量工业数据中提取复杂特征,为工业物联网(IIoT)提供了从数据感知到智能决策的全链路升级能力。以下从技术赋能、场景突破
    的头像 发表于 08-20 14:56 1213次阅读

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

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

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

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

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

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

    使用MATLAB进行无监督学习

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