清华团队新作 | 从Text-to-Image扩散模型中提取表征,服务下游任务

本文主要是介绍清华团队新作 | 从Text-to-Image扩散模型中提取表征,服务下游任务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章标题:Unleashing Text-to-Image Diffusion Models for Visual Perception
代码地址:地址
文章地址:http://arxiv.org/abs/2303.02153

摘要

扩散模型(Diffusion Models,DMs)已成为生成模型的新趋势,并表现出强大的条件合成能力。其中,在大规模图文对上预训练的文本到图像扩散模型通过可定制的提示高度可控。与关注低层属性和细节的无条件生成模型不同,得益于视觉语言预训练,文本到图像的扩散模型包含了更多的高层知识。在本文中,我们提出了VPD (带有预训练扩散模型的视觉感知),一个在视觉感知任务中利用预训练的文本到图像扩散模型的语义信息的新框架。我们没有在基于扩散的pipeline中使用预训练的去噪自动编码器,而是简单地将其作为主干,旨在研究如何充分利用所学知识。具体来说,我们使用适当的文本输入提示去噪解码器,并使用适配器细化文本特征,从而更好地与预训练阶段对齐,并使视觉内容与文本提示进行交互。我们还提出利用视觉特征和文本特征之间的交叉注意力映射来提供显式的指导。与其他预训练方法相比,我们表明视觉语言预训练的扩散模型可以更快地适应下游的视觉感知任务。在语义分割、参考图像分割和深度估计上的大量实验证明了我们方法的有效性。值得注意的是,VPD在NYUv2深度估计上达到了0.254的RMSE,在RefCOCOval参考图像分割上达到了73.3 % oIoU,在这两个基准上都创下了新的记录。

引言

**背景:**大规模文本到图像的扩散模型能够生成纹理丰富、内容多样、结构合理的高质量图像,同时具有可组合、可编辑的语义。这一现象潜在地表明,大型文本-图像扩散模型可以从海量的图像-文本对中隐式地学习高层和低层视觉概念。同时,一些研究也表明:在文本到图像扩散模型中,文本中潜在的视觉特征和对应的单词之间存在明显的相关性

难点:传统的视觉预训练方法和文本到图像的模型有区别。

传统的视觉预训练方法旨在将输入图像编码为潜在的表示,并在分类和视觉语言任务中使用对比学习和掩蔽图像建模等假设性任务或大量标注来学习表示。预训练过程使得学习到的潜在表示自然适用于一系列视觉感知任务,因为语义知识是从原始图像中提取的。

文本到图像的模型旨在基于文本提示生成高保真图像。文本到图像的扩散模型将随机噪声和文本提示作为输入,通过渐进的去噪过程生成图像。尽管在大型扩散模型中学习到了丰富的表征,但是对于各种视觉感知任务如何提取这些知识,以及是否能对视觉感知有利,仍然是未知的

本文方向:本文研究如何利用从文本到图像中学习到的知识进行视觉感知

在扩散模型上使用迁移学习的两个难点

(1)扩散模型的pipeline与视觉感知任务之间的不兼容性

(2)UNet-like扩散模型与流行视觉骨架之间的架构差异。

本文研究重点:使用在文本生成高清图像上预训练的去噪自动编码器作为主干,研究如何充分利用学习到的高层和低层知识

解决办法

(1)不使用分步扩散pipeline,而是简单地使用自动编码器作为骨干模型直接使用没有噪声的自然图像,并通过设计prompt执行一个额外的去噪步骤来提取语义信息。

(2)为了与预训练阶段保持一致,并促进视觉内容和文本提示之间的交互,使用适当的文本输入来提示去噪扩散模型,并使用适配器来优化文本特征。

(3)受先前扩散模型中提示词与视觉模式关系研究的启发,提出利用视觉和文本特征之间的交叉注意力映射来提供显式的指导

主要的idea如图所示:

在这里插入图片描述

方法

整体框架为:

在这里插入图片描述

Prompting Text-to-Image Diffusion Model

说明:使用eθ表示一个自动编码器(通常是UNet结构)

对于文本到图像模型,文章认为,由于预训练过程中对自然语言的监督较弱,因此有足够的高级知识

一般的感知任务旨在对分布p(y|x)进行建模,其中y为任务特定标签,x为输入图像。

目标:充分挖掘训练有素的文本条件eθ的知识,并将学习到的知识迁移到下游的视觉感知任务中。

基本思想:在任务特定的标签和自然语言之间建立联系,使得学习到的语义信息能够被高效地提取出来。

预测模型定义
在这里插入图片描述
解释:

(1)p(C|S)负责从类名中提取文本特征。本文使用相同的CLIP文本编码器作为Stable Diffusion的预训练阶段,文本输入使用" a photo of a [CLS] "模板简单定义。将文本编码器转移到下游任务时,通常会出现域gap。对此,受[3]的启发,本文使用一个作为两层MLP实现的文本适配器来细化CLIP文本编码器得到的文本特征。总体流程如下:

在这里插入图片描述

其中T表示对类名集合应用提示模板生成的原始文本。r是一个可学习的因子,初始化为非常小。这种设计可以帮助我们最大限度地保留文本编码器的预训练知识,同时缓解预训练任务与下游任务之间的领域鸿沟

需要注意:不同于CLIP文本编码器使用整个句子的特征,我们简单地使用来自[EOS]标记的特征

(2)p(F|x,C)目的是在给定输入图像x和条件输入C的情况下,提取分层特征图F。本文首先使用VQGAN(简写为E)的编码器将图像编码到潜在空间(z0=E(x)),然后将潜在特征图和条件输入输入到预训练的eθ网络。

分层特征F可以从不同分辨率的每个输出块的最后一层获得,输入图像大小为512 × 512,F包含4个特征图,空间大小具体如下:

在这里插入图片描述
(3)p(y|F)它是由分层特征图F生成结果的预测头。它的组成为语义FPN(特征金字塔),由多个卷积层和上采样层组成。

文章还指出,它的方法不再是基于扩散的框架,因为我们只使用单个UNet作为主干。

Semantic Guidance via Cross-attention

在训练好的文本到图像扩散模型中,**特征图与条件文本特征之间的交叉注意力图具有很好的局部性。**这一良好的性质促使文章利用交叉注意力图来明确地促进下游的视觉感知。

交叉注意力操作存在于eθ网络的4种分辨率中。对于第i个分辨率,我们可以简单地将所有属于该分辨率的交叉注意力图进行平均,得到平均后的图Ai。注意力图使用条件输入C作为key和value的。

平均的交叉注意力图是有用的,因为它的每个通道都聚集了某个类别的一些语义信息。然后,我们可以将平均后的交叉注意力图与原始的层次特征图进行拼接,并将结果反馈给预测头Fi←[Fi,Ai]。

文章不使用最低分辨率的交叉注意力图,因为它们不是非常准确。

通过实验发现,通过交叉注意进行显性语义引导可以帮助我们的模型更快地适应下游任务

实验

实验设置

在训练时固定了VQGAN编码器E和CLIP文本编码器。我们总是将eθ的学习率设置为基学习率的1 / 10。文本适配器采用r = 1e - 4。

不同任务上的设置可以详细看论文。

实验结果

语义分割上不同方法的比较:
在这里插入图片描述
在这里插入图片描述
Referring image segmentation旨在从一幅图像中找到给定自然语言表达的相关对象。它的实验比较如下:
在这里插入图片描述

深度估计:

在这里插入图片描述

使用了已发布的1-5版本的"Stable-Diffusion"(简称SD-1-5)。以下结果表明,更长的预训练在下游任务产生更好的效果。

在这里插入图片描述

不足

虽然本文的方法表现出了令人满意的性能,但VPD的计算成本目前相对较高。eθ的高计算成本在我们当前的框架下无法解决。

结论

在本文中,我们提出了一个名为VPD的新框架,将预训练的文本到图像扩散模型的高级知识迁移到下游任务中。我们提出了几种设计来鼓励视觉-语言对齐,并隐式和显式地提示预训练模型。在语义分割、参考图像分割和深度估计上的大量实验证了VPD可以实现更好的性能且与各种视觉预训练范式的方法相比,表现出更快的收敛速度。我们也相信除了扩散模型,文本引导的生成模型也可以适用于VPD,这也是我们留给未来工作的方向。我们期望我们的努力能够揭示生成性文本到图像的预训练在视觉感知中的重要作用,为视觉生成和感知任务的统一迈出一步

参考文献

[1]Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, Sandhini Agarwal, Girish Sastry, Amanda Askell, Pamela Mishkin, Jack Clark, et al. Learning transferable visual models from natural language supervision. In ICML, pages 8748–8763. PMLR, 2021. 4

[2]Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser, and Bj ̈ orn Ommer. High-resolution image synthesis with latent diffusion models. In CVPR, pages 1068410695, 2022. 1, 2, 4

[3]Peng Gao, Shijie Geng, Renrui Zhang, Teli Ma, Rongyao Fang, Yongfeng Zhang, Hongsheng Li, and Yu Qiao. Clip-adapter: Better vision-language models with feature adapters. arXiv preprint arXiv:2110.04544, 2021. 4

这篇关于清华团队新作 | 从Text-to-Image扩散模型中提取表征,服务下游任务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/202399

相关文章

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

Spring Boot 集成 Quartz并使用Cron 表达式实现定时任务

《SpringBoot集成Quartz并使用Cron表达式实现定时任务》本篇文章介绍了如何在SpringBoot中集成Quartz进行定时任务调度,并通过Cron表达式控制任务... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启动 Sprin

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

Python实现word文档内容智能提取以及合成

《Python实现word文档内容智能提取以及合成》这篇文章主要为大家详细介绍了如何使用Python实现从10个左右的docx文档中抽取内容,再调整语言风格后生成新的文档,感兴趣的小伙伴可以了解一下... 目录核心思路技术路径实现步骤阶段一:准备工作阶段二:内容提取 (python 脚本)阶段三:语言风格调

一文详解如何在Python中从字符串中提取部分内容

《一文详解如何在Python中从字符串中提取部分内容》:本文主要介绍如何在Python中从字符串中提取部分内容的相关资料,包括使用正则表达式、Pyparsing库、AST(抽象语法树)、字符串操作... 目录前言解决方案方法一:使用正则表达式方法二:使用 Pyparsing方法三:使用 AST方法四:使用字

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

Spring LDAP目录服务的使用示例

《SpringLDAP目录服务的使用示例》本文主要介绍了SpringLDAP目录服务的使用示例... 目录引言一、Spring LDAP基础二、LdapTemplate详解三、LDAP对象映射四、基本LDAP操作4.1 查询操作4.2 添加操作4.3 修改操作4.4 删除操作五、认证与授权六、高级特性与最佳

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J