DeepLab2:用于深度标记的TensorFlow库(2021)

DeepLab2:ATensorFLowLibraryforDeepLabelingDeepLab2是一个用于深度标注的TensorFlow库,旨在为密集像素标注任务提供统一的、最先进的TensorFlow代码库,包括但不限于语义分割、实例分割、全景分割、深度估计,甚至视频全景分割。深度标记是指通过深度神经网络为图像中的每个像素分配预测值来解决计算机视觉问题。只要感兴趣的问题可以用这种方式表述,DeepLab2就应该达到目的。此外,此代码库包括我们最近的和最先进的深度标签研究模

大家好,又见面了,我是你们的朋友全栈君。

[paper]DeepLab2: A TensorFlow Library for Deep Labeling
[code]DeepLab2: A TensorFLow Library for Deep Labeling
DeepLab2 是一个用于深度标注的 TensorFlow 库,旨在为密集像素标注任务提供统一的、最先进的 TensorFlow 代码库,包括但不限于语义分割、实例分割、全景分割、深度估计,甚至 视频全景分割。

深度标记是指通过深度神经网络为图像中的每个像素分配预测值来解决计算机视觉问题。只要感兴趣的问题可以用这种方式表述,DeepLab2 就应该达到目的。此外,此代码库包括我们最近的和最先进的深度标签研究模型。我们希望您会发现它对您的项目有用。

摘要

DeepLab2 是一个用于深度标记的 TensorFlow 库,旨在为计算机视觉中的一般密集像素预测问题提供最先进且易于使用的 TensorFlow 代码库。DeepLab2 包括我们最近开发的所有带有预训练检查点的 DeepLab 模型变体以及模型训练和评估代码,允许社区复制和进一步改进最先进的系统。为了展示 DeepLab2 的有效性,我们采用 AxialSWideRNet 作为网络主干的 Panoptic-DeepLab 在 Cityscaspes 验证集上实现了 68.0% PQ 或 83.5% mIoU,仅使用单尺度推理和 ImageNet-1K 预训练检查点。我们希望公开共享我们的库可以促进未来对密集像素标记任务的研究,并设想该技术的新应用。代码在 https://github.com/googleresearch/deeplab2 上公开提供。

介绍

深度标记是指通过使用深度神经网络为图像或视频中的每个像素分配预测值(即标记每个像素)来解决某些计算机视觉问题 [38, 44, 6]。典型的密集预测问题包括但不限于语义分割 [26, 37, 19],实例分割 [23, 42],全景分割 [36, 48],深度估计 [47, 21],视频全景分割 [34] , 70] 和深度感知视频全景分割 [55]。超越我们在 2018 年之前的开源库1(只能使用前几个 DeepLab 模型变体 [6、7、8、11] 处理图像语义分割),我们引入了 DeepLab2,这是一个用于深度标记的现代 TensorFlow 库 [1], 旨在为一般密集像素标记任务提供统一且易于使用的 TensorFlow 代码库。在 TensorFlow2 中重新实现,此版本包括我们最近开发的所有 DeepLab 模型变体 [13、67、66、70、55]、模型训练和评估代码以及几个预训练的检查点,允许社区重现并进一步改进此先进系统。我们希望开源 DeepLab2 将促进未来对密集像素标记任务的研究,并期待采用该技术的新突破和新应用。在以下部分中,我们详细介绍了一些流行的密集预测任务以及 DeepLab2 库中提供的最先进模型。

密集像素标记任务

几个计算机视觉问题可以表述为密集像素标记。在本节中,我们简要介绍一些密集像素标记任务的典型示例。

  • 图像语义分割 比用于场景理解的图像级分类 [56] 更进一步,以像素级精度识别图像中的对象,需要对象的精确轮廓。它通常被表述为逐像素分类 [44, 6],其中每个像素都由编码其语义类别的预测值标记。
  • 图像实例分割 在图像中以像素级精度识别和定位对象实例。现有模型 [17, 41, 24, 43, 4] 大多基于自上而下的方法(即,边界框检测然后分割)并将问题表述为掩码检测(比边界框检测更进一步,以便于实例级理解)。相反,我们的系统从自下而上的角度处理实例分割,在分割预测之上检测(或更准确地说,分组)实例。因此,我们的系统通过编码语义类和实例身份的预测值标记每个“事物”像素(并且“东西”像素被忽略)。请注意,与其他基于提案的模型不同,我们的模型生成不重叠的实例掩码。
  • 图像全景分割 统一语义分割和实例分割。该任务不允许重叠实例掩码,并需要使用编码语义类和实例身份的预测值标记每个像素(包括“事物”和“东西”像素)。我们想强调的是,我们的整个系统,包括训练和评估管道,使用全景标签格式(即全景标签 = 语义标签 × 标签除数 + 实例 id),因此不会(在训练模式期间)或生成 (在推理模式期间)任何重叠的掩码 [12]。这与大多数现有的现代全景分割模型 [35, 72, 40, 52, 39, 45, 69, 54] 非常不同,后者使用重叠实例掩码进行训练。
  • 单目深度估计试图通过用估计的深度值标记每个像素来理解场景的 3D 几何形状。
  • 视频全景分割将图像全景分割扩展到视频域,其中在整个视频序列中强制执行时间一致的实例标识。
  • 深度感知视频全景分割通过解决深度估计、全景分割和像素级跟踪的联合任务,提供深入的场景理解。视频中的每个像素都标有语义类、时间一致的实例身份和估计的深度值。

模型花园

在此,我们简要介绍我们开发的 DeepLab2 库中包含的 DeepLab 模型变体。

  • DeepLab 其中多孔卷积 [6](也称为带孔卷积或扩张卷积 2 )被大量用于语义分割(参见以前的几项工作 [28、22、50、59],它们以不同的方式有效地使用了多孔卷积)。具体来说,DeepLabv1 [6] 采用多孔卷积来明确控制由卷积神经网络主干 [59、60、25、14、53] 计算的特征分辨率。此外,多孔卷积使我们能够在不增加参数数量的情况下有效地扩大模型的视野。因此,后续 DeepLab 模型 [7, 8, 11] 中提出的 ASPP 模块(Atrous Spatial Pyramid Pooling)通过采用具有多个采样率的并行多孔卷积有效地聚合了多尺度信息。
  • Panoptic-DeepLab 用于全景分割的简单、快速且强大的自下而上(即无提议)基线。Panoptic-DeepLab 分别采用特定于语义和实例分割的 dualASPP 和双解码器结构。语义分割分支与 DeepLab 相同,而实例分割分支与类别无关,涉及简单的实例中心回归 [33, 51, 62, 49, 73]。尽管很简单,但 Panoptic-DeepLab 在多个全景分割基准上产生了最先进的性能。
  • Axial-DeepLab建立在提议的 Axial-ResNet [67] 骨干之上,该骨干有效地捕获具有精确位置信息的远程上下文。Axial-ResNet 通过将空间卷积替换为轴向注意力层 [27, 32],依次应用于高度和宽度轴,从而在主干的所有层中实现巨大甚至全局的感受野。此外,还提出了一种位置敏感的自注意公式,以在巨大的感受野中保留上下文位置。因此,Axial-DeepLab 采用提议的 Axial-ResNet 作为 Panoptic-DeepLab 框架 [13] 中的主干,在多个全景分割基准上优于最先进的卷积对应物。
  • MaX-DeepLab第一个完全端到端的全景分割系统。MaX-DeepLab 使用掩码转换器直接预测一组分割掩码及其相应的语义类,消除了对以前手工设计的模块(例如框锚 [24]、事物合并启发式 [35] 或模块 [72] 的需求])。掩码转换器使用建议的 PQ 式损失函数进行训练,并采用双路径架构,使 AxialResNet 能够读取和写入全局内存,从而允许任何 Axial-ResNet 层与转换器之间的高效通信(特征信息交换)。MaX-DeepLab 在 COCO [42] 上实现了最先进的全景分割结果,优于基于提案和无提案的方法。
  • Motion-DeepLab视频全景分割任务的统一模型,需要对每个像素进行分割和跟踪。它建立在 Panoptic-DeepLab 之上,并使用一个额外的分支将每个像素回归到前一帧的中心位置。网络输入不是使用单个 RGB 图像作为输入,而是包含两个连续的帧,即当前帧和前一帧,以及前一帧的中心热图 [76]。输出用于为整个视频序列中的所有实例分配一致的轨道 ID。
  • ViP-DeepLab联合处理单目深度估计和视频全景分割的统一模型。它通过添加深度预测头来执行单目深度估计和下一帧实例分支以生成具有时间一致的视频实例 ID 的全景预测,从而扩展了 Panoptic-DeepLab [13]。ViP-DeepLab 在多个基准测试中实现了最先进的性能,包括 KITTI 单目深度估计 [21, 63]、KITTI 多目标跟踪和分割 [21, 65] 以及 Cityscapes 视频全景分割 [15, 34] 。

支持的网络骨干网

在本节中,我们将简要介绍 DeepLab2 库支持的网络主干。

  • MobileNetv3为移动设备设计的轻量级主干 [30, 57],因此可以用作快速设备上模型比较的基准。
  • ResNet以及一些现代修改(例如, Inception stem [61]、随机丢弃路径 [31])。
    该主干可用作一般基线。
  • SWideRNet它在宽度(通道数)和深度(层数)上扩展了 Wide ResNets [74, 71, 5]。 这可用于强模型比较。
  • Axial-ResNetAxial-SWideRNet它在最后几个阶段用轴向注意力 [27, 32, 67] 块替换了 ResNet [25] 和 SWideRNet [9] 残差块。这种混合 CNN-Transformer(更准确地说,只有自注意力模块作为 Transformer 编码器)架构可用作基于自注意力模型比较的基线。除了默认的轴向注意块,我们还支持全局或非局部注意 [64, 68] 块。
  • MaX-DeepLab它以双路径方式将转换器块 [64] 与 Axial-ResNets [67] 相结合,允许任何 Axial-ResNet 层和转换器之间进行有效通信。当关闭变压器路径时,该主干也可以用于 Panoptic-DeepLab 框架 [13]。

为了简要强调 DeepLab2 的有效性,我们的 Panoptic-DeepLab 采用 Axial-SWideRNet 作为网络主干,在 Cityscapes 验证集上实现了 68.0% PQ 或 83.5% mIoU,具有单尺度推理和 ImageNet-1K 预训练检查点。对于更详细的结果,我们将读者推荐给提供的模型动物园。

最后,我们想强调的是,我们已经以一种通用的方式实现了 Axial-Block,它不仅包含基于 Transformer 的块(即,axis-attention [67]、global-attention [64]、双路径 Transformer ]) 以及卷积残差块(即基本块、瓶颈块 [25]、宽残差块 [9],每个都有或没有可切换 Atrous 卷积 [54])。我们的设计允许用户轻松开发新颖的神经网络,这些网络有效地结合了卷积 [38]、注意力 [2] 和变换器 [64](即自注意力和交叉注意力)操作。

训练期间的数据增强

除了用于密集预测任务的典型数据增强(即随机缩放、左右翻转和随机裁剪)之外,我们还支持:

  • AutoAugment [16] 发现的随机颜色抖动。在 [9] 中,我们分别在 COCO 和 Cityscapes 数据集上应用了 1.0 和 0.2 级的增强策略。

结论

我们开源 DeepLab2,其中包含我们所有最近的研究成果,希望它能促进未来对密集预测任务的研究。代码库仍在积极开发中,非常欢迎社区对代码库的任何贡献。最后,重申一下,代码和模型动物园可以在 https://github.com/google-research/deeplab2 中找到。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/129360.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java 继承、多态与类的复用

    Java 继承、多态与类的复用本文结合Java的类的复用对面向对象两大特征继承和多态进行了全面的介绍。首先,我们介绍了继承的实质和意义,并探讨了继承,组合和代理在类的复用方面的异同。紧接着,我们根据继承引入了多态,介绍了它的实现机制和具体应用。此外,为了更好地理解继承和多态,我们对final关键字进行了全面的介绍。在此基础上,我们介绍了Java中类的加载及初始化顺序。最后,我们对面向对象设计中三个十分重要的概念-重载、覆盖与隐藏进行了详细的说明。

  • django日志配置_怎么更改安装路径

    django日志配置_怎么更改安装路径Django日志信息路径的设置

  • MySQL——MySQL 图形化管理工具的介绍

    MySQL——MySQL 图形化管理工具的介绍文章目录MySQL——MySQL图形化管理工具的介绍1、MySQLWorkbench2、Navicat3、SQLyog4、DBeaver5、DataGripMySQL——MySQL图形化管理工具的介绍MySQL图形化管理工具极大地方便了数据库的操作与管理,常用的图形化管理工具有:MysQLWorkbench、phpMyAdmin、NavicatPreminum、MySQLDumper、SQLyog、dbeaver、MysQLODBcConnector、DataGrip。1、MySQL

  • c# savefiledialog_game是什么意思中文

    c# savefiledialog_game是什么意思中文1、这里通过一个例子来讲解saveFileDialog的使用方法,首先创建一个小的winform程序,然后在主界面中放入一个按钮、一个textbox,按钮用来弹出saveFileDialog,然后textbox用来接收saveFileDialog选择之后的文件路径,如下图:2、下图中的代码就是程序的全部代码了,对其中重要的代码进行解释:InitialDirectory方法:设置save…

  • Unix时间戳(Unix timestamp)转换工具 – 站长工具

    Unix时间戳(Unix timestamp)转换工具 – 站长工具站长之家站长论坛站长俱乐部站长问答网站建设资源站长交易赚钱站长工具ALEXA排名查询百度权重查询SEO概况查询友情链接查询GooglePR查询Whois信息查询域名备案查询站长素材字体下载高清壁纸简历模板高清图片矢量素材PPT模板PSD素材源码下载网站排行行业网站排名地区网站排名手机版工具旧版SEO工具包立即登录 注册新帐号海外服务器租用托管-台湾直销SEO快速排名前3、百度好搜搜狗新:外链…

  • 为什么有MAC地址还要IP_IP与MAC映射表

    为什么有MAC地址还要IP_IP与MAC映射表publicvoidnetmac(){//获取IP和MAC地      objectnetmac;      stringst=””;      ManagementObjectSearcherWmi=newManagementObjectSearcher(“SELECT*FROMWin32_NetworkAdapt

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号