关注公众号,发现CV技术之美

本文转自机器之心。

生成效果的确很惊艳。

视觉场景是由有语义意义的像素组构成。在深度学习的概念出现之前,业界就已经使用经典的视觉理解方法对像素分组和识别进行深入研究。自下而上分组的思想是:首先将像素组织成候选组,然后用识别算法模块处理每个分组。这种思路已经成功应用于超像素图像分割、以及目标检测和语义分割的区域构建。除了自下而上的推理,识别过程中自上而下的反馈信号,能够更好地完成视觉分组。

随着深度学习时代的到来,显式分组和识别的思想,在端到端的训练系统中已经不再那么泾渭分明,而是更紧密地耦合在一起。例如,语义分割通常是通过全卷积网络实现的,其中像素分组仅通过识别每个像素的标签在输出层显示。这种方法不需要对像素显式分组。虽然这种方法非常强大,并且性能是最好的,但它有两个主要的局限性:(1) 每像素的人工标签成本很高;(2) 学习的模型仅限于几个标记的类别,不能泛化到未知的类别。

从文本监督中学习视觉表达的最新进展在迁移到下游任务方面取得了巨大成功。学习到的模型不仅以零样本方式迁移到 ImageNet 分类中并实现最好的性能,还可以对 ImageNet 分类以外的未知对象类别进行识别。

受此研究方向的启发,来自加州大学圣圣地亚哥分校和英伟达的研究者提出这样一个问题:我们是否也可以学习一个纯文本监督的语义分割模型,无需做任何像素标注,就能够以零样本方式泛化到不同对象类别或词汇集

论文链接:https://arxiv.org/pdf/2202.11094.pdf

为了实现这一点,他们提出将分组机制加入深度网络。只要通过文本监督学习,分组机制就可以自动生成语义片段。方法概览如下图 1 所示,通过对具有对比损失的大规模配对图文数据进行训练,可以让模型不需要任何进一步的注释或微调的情况下,能够零样本迁移学习得到未知图像的语义分割词汇。

该研究的关键思想是利用视觉 Transformer(ViT)在其中加入新的视觉分组模块,研究者将新模型称为 GroupViT(分组视觉 Transformer)

图 1:首先使用成对的图像 - 文本数据联合训练 GroupViT 和文本编码器。使用 GroupViT,有意义的语义分组会自动出现,无需任何掩码注释。然后把训练好的 GroupViT 模型迁移到零样本语义分割任务。

GroupVit 的语义分割效果如下两个动图所示。

论文一作为 UCSD 计算机科学与工程系二年级博士生 Jiarui Xu,本工作是他在英伟达做实习生期间进行的。

本研究的主要贡献如下:

  • 超越深度网络中规则形状的图像网格:引入了一种新颖的 GroupViT 架构,将视觉概念分层自下而上分组为不规则形状的组

  • 没有任何像素级标签,并且仅通过对比损失进行图像级文本监督的训练,GroupViT 成功地学会将图像区域组合在一起并以零样本方式迁移到多个语义分割词汇表;

  • 第一个探索不使用任何像素级标签,完成从单独的文本监督到几个语义分割任务的零样本迁移的工作,也为这项新任务建立坚实的基础.

 GroupViT 架构

GroupViT 包含按阶段分组的 Transformer 层的分层结构,每个阶段会处理逐渐放大的视觉片段。右侧的图像显示了在不同分组阶段要处理的视觉片段。在初期阶段模型将像素分组为局部对象,例如大象的鼻子和腿。在更高的阶段进一步将它们合并成整体,例如整个大象和背景森林。

每个分组阶段都以一个分组块结束,该块会计算学习到的组标记和片段(图像)标记之间的相似度。相似度高的组会分配给同一组的段标记并合并在一起,并做进入下一个分组阶段的新段标记。

图 2:(a) GroupViT 的架构和训练流程。(b) 分组块的架构。

从图像 - 文本对中学习

为了训练 GroupViT 进行分层分组,研究者在图像 - 文本对之间使用了精心设计的对比损失。

下图 3 为多标签图文对比损失。给定一个输入的图像 - 文本对,他们通过提取其名词并通过一些句子模板提示,来从原始文本中生成新文本。对于对比学习,只有图像和文本对匹配的被认定为正例。研究者训练 GroupViT 和文本编码器以最大化图像 - 文本对正例之间的特征相似性,并最小化负例对之间的特征相似性。

零样本迁移到语义分割

由于 GroupViT 自动将图像分组为语义相似的片段,因此其输出可以轻松地 Zero-Shot 迁移到语义分割,而无需任何进一步的微调。零样本迁移的流程参见下图 4。GroupViT 的每个输出段嵌入对应于图像的一个区域。研究者将每个输出段分配给嵌入空间中图像 - 文本相似度最高的对象类。

通过组 token 的概念学习

研究者选择部分组 token 并且突出 PASCAL VOC 2012 数据集中的注意区域。即使还没有分类,不同的组 token 正在学习不同的语义概念。

 实验结果 

消融实验

为了识别 GroupViT 的每个组件的贡献,研究者进行了消融实验。对于所有实验,除非另有说明,否则都默认使用 CC12M 数据集训练 1-stage 的 GoupViT。他们在 PASCAL VOC 2012 验证集上,记录预测的 mIoU 和分割掩膜。

硬分配与软分配:在每个分组块中,研究者使用硬分配或软分配将图像片段标记分配给组 token(第 3.1 节)。对于软分配,他们使用原始的 A^l 矩阵而不是用于硬分配的来计算公式 5。这样做的影响见下表 1 的第一列。

多标签对比损失。研究者研究了表 1 的第二列中,添加多标签对比损失的效果。将多标签对比损失添加到标准损失(公式 8)中,硬分配和软分配的性能分别提高了 13.1% 和 2.6%。使用多标签对比损失,训练和推理期间的输入文本采用类似的提示格式。他们推测这种一致性有助于 GroupViT 更好地将学习到的图像片段分类为标签的类别。

组 token。在下表 2 中,研究者比较了不同的组 token 和输出 token。他们观察到,不断增加组 token 会持续提高性能。从概念上讲,每个组 token 代表不同的语义概念。所以更多的组 token 可能有助于 GroupViT 学习对更多的语义概念进行分组。尽管组 token 的数量远少于现实世界中的类别数量,但每个组 token 都是 384 维嵌入空间中的 1 个特征向量,但它可以表示比 1 更多的概念。他们还对不同的输出 token 进行了实验,发现 8 是最优的,类似于 [64] 中的发现。

多阶段分组。在下表 3 中,研究者比较了 1-stage 和 2-stage GroupViT 架构。

表 3 :单阶段和多阶段分组的消融实验。

研究者还在下图 5 中比较了 1-stage 和 2-stage 的视觉零样本语义分割结果。

2-stage GroupViT 生成的分割图比 1-stage GroupViT 更平滑、更准确。

可视化

研究者在 Pascal VOC、Pascal Context 和 COCO 数据集上对 GroupViT 进行评估。GroupViT 在没有接受任何语义分割注释的训练情况下,可以零样本迁移到任何数据集的语义分割类,并且无需对模型微调。

在 PASCAL VOC 2012 数据集上定性实验结果。下图 6 展示了 GroupViT 的特定定性分割结果。他们选择具有单个目标(第 1 行)、同一类的多个目标(第 2 行)和不同类的多个目标(第 3 行)进行了实验。实验证明 GroupViT 可以生成合理的分割。

图 6:PASCAL VOC 2012 的定性结果。阶段 1/2 组在分配标签之前对结果进行分组。

通过组标记的概念学习。下图 7 中可以直观地看到组 token 学习的内容。研究者选择部分组标签并且突出 PASCAL VOC 2012 数据集中的注意区域。

他们发现不同的组 token 会学习不同的语义概念。在第一阶段,组 token 通常侧重于中级概念,例如如「眼睛」(第 1 行) 和「四肢」第 2 行)。有趣的是,如果图片中有人,组 token 36 会关注「手」,而如果有鸟和狗等动物,则会关注「脚」。第二阶段的组 token 更多地与高级概念相关联,例如「草」、「身体」和「脸」。图 7 还表明,第一阶段学习的概念可以在第二阶段聚合为更高级别的概念。

图 7:通过组标记的概念学习。研究者强调了组 token 在不同阶段所涉及的区域。

与现有方法的比较

研究者将 GroupViT 的零样本语义分割性能与其它零样本基准、基于 ViT-S 的全监督迁移方法进行了比较。结果详见下表 4 和表 5。

表 4:与零样本基准的比较。

表 5:与完全监督迁移模型的比较。零样本意味着在没有任何微调的情况下迁移到语义分割。研究者也记录了在 PASCAL VOC 2012 和 PASCAL 上下文数据集的 mIoU。

END

欢迎加入「语义分割交流群

CVPR2022 做语义分割不用任何像素标签,UCSD、英伟达在ViT中加入分组模块相关推荐

  1. 你了解如何用GAN做语义分割吗

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 前  言 本文主要推荐一篇使用GAN来做语义分割的论文.  论文名 ...

  2. CVPR2022自适应/语义分割:Class-Balanced Pixel-Level Self-Labeling for Domain Adaptive Semantic Segmentation

    CVPR2022自适应/语义分割:Class-Balanced Pixel-Level Self-Labeling for Domain Adaptive Semantic Segmentation用 ...

  3. 看一遍你也会做!用英伟达 DIGITS 进行图像分割(上)

    DIGITS 是什么? 7 月 8 日,英伟达深度学习学院 DLI 线下训练营即将来到深圳,主题是图像分类.目标检测与图像分割的零基础开发入门. 虽然是全球范围内顶级的 AI 培训项目,但 DLI 进 ...

  4. 看一遍你也会做!用英伟达 DIGITS 进行图像分割(下)

    DIGITS 是什么? 7 月 8 日,英伟达深度学习学院 DLI 线下训练营即将来到深圳,主题是图像分类.目标检测与图像分割的零基础开发入门. 虽然是全球范围内顶级的 AI 培训项目,但 DLI 进 ...

  5. 英伟达推出GAN“超级缝合体”,输入文字草图语义图都能生成逼真照片

    晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 继GauGAN2之后,英伟达推出了一个GAN的"超级缝合体"--PoE GAN. PoE GAN可以接受多种模态的输入, ...

  6. 震撼!英伟达用深度学习做图像修复,毫无ps痕迹

    在计算机视觉研究领域,NVIDIA常常让人眼前一亮. 比如"用Progressive Growing的方式训练 GAN,生成超逼真高清图像","用条件 GAN 进行 20 ...

  7. deeplabv3 + mobilenetv2 做语义分割并封装成c++部署到移动端,linux,windows等平台(史上最详细)

    训练 Deeplab项目安装以及测试 首先为了确保版本支持,先得确认你的tensorflow的版本是1.10以上的.我的linux系统上装的是1.14的tensorflow,因为我一直用的这个版本. ...

  8. PyTorch 深度学习:37分钟快速入门——FCN 做语义分割

    语义分割是一种像素级别的处理图像方式,对比于目标检测其更加精确,能够自动从图像中划分出对象区域并识别对象区域中的类别 在 2015 年 CVPR 的一篇论文 Fully Convolutional N ...

  9. 用双注意力模块来做语义分割

    作者|Umer Rasheed  编译|ronghuaiyang 导读 本文对双注意网络进行场景分割进行简要概述. 论文链接:https://arxiv.org/abs/1809.02983 图1,双 ...

最新文章

  1. 如何让插件代码同时兼容ats 5.x和ats 6.x的方法
  2. VS2010去掉每次全部编译
  3. 详解Linux交互式shell脚本中创建对话框实例教程
  4. python装饰器原理-Python函数装饰器原理与用法详解
  5. pytorch错误解决: BrokenPipeError: [Errno 32] Broken pipe
  6. 15件事造就有理想的程序员
  7. Ajax基石脚本异步并发调用参数传递
  8. 不定长内存池之apr_pool
  9. C#LeetCode刷题之#706-设计哈希映射(Design HashMap)
  10. js动态添加的元素,动作绑定
  11. IE6下溢出多余文字
  12. 整合使用jeecg-boot微服务问题
  13. 微星小飞机界面翻译_软件 | 第二款翻译利器推荐
  14. FCKeditor使用
  15. 【干货】如何有效地提问
  16. LINUX基础知识笔记全
  17. sumifs(多条件求和,多条件计数,数据分类汇总利器)、countifs
  18. java租车_Java 哒哒租车系统(控制台)
  19. Zabbix忘记登录密码重置
  20. 计算机连接电视显示超范围,HDMI连接后电脑操作界面的边框超出电视屏幕,怎么解决...

热门文章

  1. HTML表单基础(掌握)
  2. 反射矩阵(reflection matrix)推导
  3. 用Yum安装最新的MySQL版本
  4. MATLAB 在图像处理和机器视觉的应用举例01 - 官网培训视频笔记(上)-- 图像分割和图像配准
  5. c语言计算机动画生成原理,计算机组成原理动画演示系统 - 源码下载|多媒体|源代码 - 源码中国...
  6. python supervisor 日志_Supervisor使用详解
  7. oracle数据库实例关闭步骤,Oracle 数据库实例起动关闭过程
  8. java复制sheet_Java对excel中的sheet进行拷贝
  9. vue使用高德地图画电子围栏_Vue.js 中使用高德地图定位及渲染地图
  10. 【debug】mount: unknown filesystem type ‘nfs’