效果超越ControlNet+IP-Adapter和FreeControl!Ctrl-X:可控文生图新框架(加州大学英伟达)

news2024/11/24 9:58:19

文章链接:https://arxiv.org/pdf/2406.07540

项目链接:https://genforce.github.io/ctrl-x/

最近的可控生成方法,如FreeControl和Diffusion Self-guidance,为文本到图像(T2I)扩散模型带来了细粒度的空间和外观控制,而无需训练辅助模块。然而,这些方法针对每种类型的评分函数优化潜在embedding,并采用较长的扩散步骤,使生成过程耗时且限制了它们的灵活性和使用。

本文提出了Ctrl-X,这是一个简单的T2I扩散控制结构和外观的框架,无需额外的训练或指导。Ctrl-X设计了前馈结构控制,以实现与结构图像的结构对齐,并进行语义的外观迁移,以促进从用户输入图像进行外观迁移。

广泛的定性和定量实验说明了 Ctrl-X 在各种条件输入和模型 checkpoints 上的卓越性能。特别是,Ctrl-X支持任何形式的条件图像的新型结构和外观控制,与现有工作相比具有更高的图像质量和外观迁移,并为任何T2I和文本到视频(T2V)扩散模型提供即插即用功能。

总结本文的贡献如下:

  • 提出了Ctrl-X,这是一个简单的即插即用方法,基于预训练的文本到图像扩散模型,在生成过程中提供结构和外观的解耦和 zero-shot 控制,无需额外的训练或指导。
  • Ctrl-X 提出了第一个支持多个条件信号(结构和外观)和模型架构(例如文本到图像和文本到视频)的通用无需指导的解决方案。
  • 本文的方法在条件对齐、文本图像对齐和图像质量方面与以往基于训练和指导的基线(如ControlNet + IP-Adapter和FreeControl)相比表现出更好的结果。

无导向结构和外观控制

Ctrl-X是一个通用框架,用于免训练、无引导、zero-shot的T2I扩散,具有结构和外观控制。给定结构图像 I s I^s Is和外观图像 I a I^a Ia,Ctrl-X操作一个预训练的T2I扩散模型 ε θ ε_θ εθ,生成一个输出图像 I o I^o Io,该图像继承了 I s I^s Is的结构和 I a I^a Ia的外观。

方法概述。方法如下图2所示,并概括如下:给定干净的结构和外观潜变量 I s = x 0 s I^s = x^s_0 Is=x0s I a = x 0 a I^a = x^a_0 Ia=x0a,首先通过扩散正向过程直接获得噪声结构和外观潜变量 x t s x^s_t xts x t a x^a_t xta,然后从预训练的T2I扩散模型中提取它们的U-Net特征。在对输出潜变量 x t o x^o_t xto进行去噪时,从 x t s x^s_t xts注入卷积和自注意力特征,并利用自注意力对应关系将 x t a x^a_t xta的空间感知外观统计信息传输到 x t o x^o_t xto,以实现结构和外观控制。

前馈结构控制

T2I扩散的结构控制需要将结构信息从 I s = x 0 s I^s = x^s_0 Is=x0s转移到 x t o x^o_t xto,特别是在早期时间步骤中。为此,初始化 x T o = x T s ∼ N ( 0 , I ) x^o_T = x^s_T ∼N(0,I) xTo=xTsN(0,I),并使用 x 0 s x^s_0 x0s和随机采样的 ε ∼ N ( 0 , I ) ε ∼N(0,I) εN(0,I)在方程1中通过扩散正向过程获得 x t s x^s_t xts。受到扩散特征包含丰富布局信息的观察的启发,执行以下特征和自注意力注入:对于U-Net层l和扩散时间步t,令 f l , t o f^o_{l,t} fl,to f l , t s f^s_{l,t} fl,ts为来自 x t o x^o_t xto x t s x^s_t xts的卷积块后的特征/激活,并且令 A l , t o A^o_{l,t} Al,to A l , t s A^s_{l,t} Al,ts为来自 x t o x^o_t xto x t s x^s_t xts的自注意力块的注意力映射。然后,替换

与[36, 18, 24]相比,研究者们不执行反演,而是直接使用前向扩散(方程1)获得 x t s x^s_t xts。观察到,通过前向扩散过程获得的 x t s x^s_t xts即使在非常早期/高时间步中也包含足够的结构信息,如下图3所示。这也减少了由FreeControl观察到的基于反演的方法常见的外观泄漏。

对层 l ∈ L f e a t l \in L^{feat} lLfeat应用特征注入,并对层 l ∈ L s e l f l \in L^{self} lLself进行自注意力注入,对于(归一化的)时间步 t ≤ τ s t ≤τ^s tτs,其中 τ s ∈ [ 0 , 1 ] τ^s \in [0,1] τs[0,1]是结构控制计划。

空间外观迁移

受先前定义外观为特征统计量的工作的启发,研究者们认为外观迁移是一项风格化任务。T2I扩散自注意力用注意力映射A转换值V,其中后者表示Q中的像素与K中的像素对应的方式。正如Cross-Image Attention所观察到的那样,当从每个图像的特征计算Q和K时,即使两个图像在结构上有显著差异, Q K ⊤ QK^⊤ QK也可以表示两个图像之间的语义对应关系。因此,受AdaAttN的启发,提出了空间感知外观迁移,其中利用这种对应关系从 x t a x^a_t xta生成自注意力加权的均值和标准差图到规范化 x t o x^o_t xto:对于任何自注意力层l,让 h l , t o h^o_{l,t} hl,to h l , t a h^a_{l,t} hl,ta分别为 x t o x^o_t xto x t a x^a_t xta的自注意力之前的扩散特征。然后,计算注意力映射

norm是应用于空间维度(hw)的。值得注意的是,我们首先对 h l , t o h^o_{l,t} hl,to h l , t a h^a_{l,t} hl,ta进行归一化,以去除外观统计信息,从而隔离结构对应关系。然后,计算由A加权的 h l , t a h^a_{l,t} hl,ta的均值和标准差图M和S,并使-+用它们对 h l , t o h^o_{l,t} hl,to进行归一化。

I o I^o Io I a I^a Ia之间的结构对应加权的M和S是 x t a x^a_t xta的空间感知特征统计量,它们被转移到 x t o x^o_t xto。最后,像平常一样对 h l , t o h^o_{l,t} hl,to执行层l的自注意力。对层 l ∈ L a p p l \in L^{app} lLapp应用外观迁移,对于(归一化的)时间步 t ≤ τ a t ≤τ^a tτa,其中 τ a ∈ [ 0 , 1 ] τ^a \in [0,1] τa[0,1]是外观控制计划。

结构和外观控制。最后,用 Equation 2 中的 ε θ ε_θ εθ 替换

在这里, { f l , t s } l ∈ L f e a t \{f^s_{l,t}\}_{l \in L^{feat}} {fl,ts}lLfeat { A l , t s } l ∈ L s e l f \{A^s_{l,t}\}_{l \in L^{self}} {Al,ts}lLself { h l , t a } l ∈ L a p p \{h^a_{l,t}\}_{l \in L^{app}} {hl,ta}lLapp 分别对应于用于特征注入的 x t s x^s_t xts特征,用于自注意力注入的xst注意力映射,以及用于外观迁移的 x t a x^a_t xta特征。

实验

研究者们提供了大量的定量和定性结果,以展示Ctrl-X在T2I扩散上的结构保留和外观对齐。

具有结构和外观控制的T2I扩散

基线。对于基于训练的方法,ControlNet 和 T2I-Adapter学习了一个辅助模块,该模块将条件图像注入到预训练的扩散模型中,以实现结构对齐。然后,将它们与IP-Adapter(用于图像提示和外观迁移)相结合。Splicing ViT Features针对每个源-外观图像对从头开始训练一个 U-Net,以最小化它们的 DINO-ViT 自相似性距离和全局 [CLS] token损失。(对于基于训练的基准不支持的结构条件,将其转换为边缘检测图。)对于基于引导的方法,FreeControl 通过从扩散特征子空间计算的反向传播得到的分数函数来强制结构和外观对齐。对于无指导的方法,Cross-Image Attention 操纵注意力权重以在保持结构的同时转移外观。尽可能在 SDXL v1.0 上运行所有方法,否则使用它们的默认基础模型。

数据集。本文的方法支持具有外观迁移和任意条件结构控制的T2I扩散。由于没有针对这种灵活任务的基准,创建了一个新数据集,包含256个不同的结构-外观对。结构图像包括31%的自然图像,49%的ControlNet支持的条件(如边缘检测、深度、分割),以及20%的野外条件(如3D网格、点云),外观图像是Web和生成图像的混合。使用模板和手动注释来制作结构、外观和输出文本提示。

评估指标。对于定量评估,报告了两个广泛采用的指标:DINO Self-sim 衡量了DINO-ViT 特征空间中结构图像和输出图像之间的自相似距离,较低的距离表示更好的结构保留;DINO CLS 衡量了外观图像和输出图像之间的DINO-ViT全局 [CLS] token之间的损失,较低的损失表示更好的外观对齐。

定性结果。如下图4和图5所示,Ctrl-X从各种结构图像中忠实地保留了结构,包括自然图像和ControlNet支持的条件(如HED、分割),以及野外条件(如线框、3D网格),这在先前的基于训练的方法中是不可能的,同时灵活地从外观图像中转移外观,具有语义对应关系。

与基线方法的比较。上图5和下表1将Ctrl-X与基线方法进行了比较。对于基于训练和基于指导的方法,尽管T2I-Adapter和FreeControl在结构保留方面更强(较小的DINO自相似距离),但它们通常难以实现忠实的外观迁移,并且产生更差的全局CLS损失,这在图5的第1行和第3行特别明显。由于基于训练的方法将结构控制模块(ControlNet和T2I-Adapter)与单独训练的外观迁移模块IP-Adapter 结合在一起,这两个模块有时会以牺牲外观迁移为代价产生冲突的控制信号(例如第1行)—对于ControlNet来说,也包括结构保留。对于FreeControl来说,其从提取的嵌入中获得的外观评分函数可能无法充分捕捉更复杂的外观对应关系,再加上需要每个图像的超参数调整,导致输出的对比度较低,并且有时无法进行外观迁移(例如第4行)。此外,尽管Splicing ViT Features在表1中具有最佳的DINO自相似性和CLS分数,但图5显示,其输出图像通常模糊不清,并显示出与非自然图像的结构图像外观泄漏(例如第3行、第5行和第6行)。它之所以在基准测试中表现良好,是因为其每个图像的训练直接最小化了这两个指标。

与无指导基线Cross-Image Attention相比,该方法不够稳健,对结构图像的外观更为敏感,因为反演的结构潜变量包含了强烈的外观信息。这导致了结构对齐较差,并且经常出现外观泄漏或伪影(例如第6行),从结构到输出图像,导致更差的DINO自相似性距离和全局CLS损失。在实践中,发现Cross-Image Attention对其遮罩域非常敏感,并且有时无法产生具有跨模态对(例如线框到照片)的输出。

推理效率。研究者们研究了该方法与基线方法的推理时间,所有方法都使用基础模型SDXL v1.0,除了Cross-Image Attention(SD v1.5)和Splicing ViT Features(U-Net)。表1报告了使用单个NVIDIA A6000 GPU的平均推理时间。与基于训练的ControlNet(1.32倍)和T2I-Adapter(1.73倍)及IP-Adapter相比,Ctrl-X稍慢一些,但明显快于每个图像训练的Splicing ViT(0.0071倍)、基于指导的FreeControl(0.025倍)和无指导的Cross-Image Attention(0.14倍)。无训练和无指导方法达到了与基于训练的方法相当的运行时,表明了其灵活性。

扩展到基于提示的条件生成。Ctrl-X还支持基于提示的条件生成,它生成一个符合给定文本提示的输出图像,并与结构图像对齐,如前面图4和下图6所示。受FreeControl的启发,Ctrl-X可以联合生成 I a I^a Ia,基于文本提示以及 I o I^o Io,其中使用方程2从xat中获得xat−1进行去噪处理而没有控制。

扩展到视频扩散模型

Ctrl-X无需训练、无需指导,并且运行时具有竞争力。因此,可以直接将方法应用于文本到视频(T2V)模型,如下图7所示。本文的方法将结构图像和输出视频之间的结构紧密对齐,同时从外观图像中传递时间一致的外观。

消融实验

控制效果。如下图8(a)所示,结构控制负责结构保留(仅外观 vs. 本文的方法)。此外,仅结构控制不能够隔离结构信息,会显示出强烈的结构图像外观泄漏和低质量的输出(仅结构 vs. 本文的方法),因为它仅仅注入了结构特征,这为外观控制创造了语义对应关系。

外观迁移方法。由于研究者们将外观迁移视为一项风格化任务,比较了带有和不带有注意力加权的外观统计量转移。没有注意力加权(相当于AdaIN)时,归一化是全局的,因此不能考虑外观图像和输出图像之间的语义对应关系,因此输出看起来对比度低。

反演效果。比较了DDIM反演和前向扩散(本文的方法)来获得 x T o = x T s x^o_T = x^s_T xTo=xTs x t s x^s_t xts,如上图8©所示。在具有挑战性的条件下(左侧),反演显示了从结构图像中的外观泄漏,而在其他条件下(右侧)与本文的方法类似。考虑到反演成本和额外的模型推理时间,对于本文的方法来说,前向扩散是一个更好的选择。

结论

本文提出了Ctrl-X,这是一个针对任何T2I和T2V扩散模型的结构和外观控制的无需训练和无需引导的框架。Ctrl-X利用了预训练的T2I扩散模型的特征对应关系,支持任意的结构图像条件,适用于多种模型架构,并在与基于训练和指导的方法相比取得了竞争性的结构保留和更优异的外观迁移,同时享受了无需指导方法的低开销优势。

局限性。如下图9所示,Ctrl-X的关键局限性在于语义外观迁移方法可能无法捕捉到目标外观,特别是当实例很小时,因为特征图的低分辨率。希望本文的方法和发现能够揭示在生成模型变得更大、更强大时,控制生成方面的新可能性和研究。

更广泛的影响。Ctrl-X通过支持多种条件信号(结构和外观)和模型架构,而无需额外的训练或优化计算开销,使可控生成变得更加易于访问和灵活。然而,这种易用性也使得将预训练的T2I/T2V模型用于恶意应用(例如深度伪造)变得更加容易,特别是由于可控性使用户能够生成特定图像,从而引发了关于同意和为使用他们的工作作为条件图像而给予艺术家的信用的伦理关切。针对这些安全问题,T2I和T2V模型变得更加安全。同样,Ctrl-X可以继承相同的安全保障措施,其即插即用的性质允许开源社区审查和改进其安全性。

参考文献

[1] Ctrl-X: Controlling Structure and Appearance for
Text-To-Image Generation Without Guidance

本文由mdnice多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1829562.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SinNerf理解和效果

文章目录 SinNerf 解决的问题方法和结构自己训练的效果 SinNerf 解决的问题 该方法主要解决的问题是: 现有都使用多张照片来进行nerf 表示的学习,这篇文章的话,主要是想使用一张单视角的照片来Nerf表示的学习。通过从单张照片中得到的伪标签…

Parallels Desktop 19 激活码 - 苹果 Mac 最新版 PD 19激活密钥虚拟机下载 (支持Win11/macOS Sonoma)

Parallels Desktop 被称为 macOS 上强大的虚拟机软件。可以在 Mac 下同时模拟运行 Win、Linux、Android 等多种操作系统及软件而不必重启电脑,并能在不同系统间随意切换。 最新版 Parallels Desktop 19 (PD19) 完全支持 macOS Sonoma、Ventura 和 Windows 11 / Win…

AOSP平台开发的利器——Android Studio for Platform

Android Studio for Platform (ASfP) 是一个为使用 Soong 构建系统构建的 Android 开源项目(AOSP)平台开发者而设计的 Android Studio IDE 版本。与标准 Android Studio 不同,ASfP 具有多语言支持,可以在同一 IDE 中编写 C、Kotli…

netty:promise的简单示例

# 项目代码资源&#xff1a; 可能还在审核中&#xff0c;请等待。。。 https://download.csdn.net/download/chenhz2284/89442495 # 项目代码 【pom.xml】 <dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><v…

图解 Twitter 架构图

写在前面 两年前&#xff0c;马老板收购了twitter&#xff0c;并且做了一系列的大动作。那么今天我们来看一下这个全球最火的软件之一的架构。 Twitter解析 开始之前&#xff0c;我先提前说明一下&#xff0c;我之前不是做搜推广的&#xff0c;所以对这些了解不是很深&…

chatglm4本地部署详解

下载地址 模型下载地址&#xff1a;GitHub - THUDM/GLM-4: GLM-4 series: Open Multilingual Multimodal Chat LMs | 开源多语言多模态对话模型 已经训练好的数据下载地址&#xff1a; https://huggingface.co/THUDM/glm-4-9b-chat-1m/tree/main 测试主机配置 cpu&#xff1a;E…

超拟人大模型:AI心理健康服务的未来

摘要&#xff1a; 周末听了一场聆心智能关于情感LLM的分享&#xff0c;总结了相关内容如下。在人工智能技术的浪潮中&#xff0c;超拟人大模型技术为心理健康服务领域带来了革命性的变化。本文将分析超拟人大模型的进展、CharacterGLM模型的特点、Emohaa模型的应用以及心理健康…

解放双手 免费AI编程工具---Fitten Code

前言 相信大家在2023年后听说了不少的关于人工智能的话题&#xff0c;对于这种全新的科技又好奇又恐惧&#xff0c;今天我们来见识下一个在VS中的AI代码工具吧。 配置环境 安装 首先我们找到管理扩展&#xff0c;然后再搜索Fitten Code下载安装。 我这里已经下好过了&#xff…

《C语言》文件操作

文章目录 一、认识文件1、文件的概念2、程序文件3、数据文件4、文件名 三、二进制文件和文本文件四、文件的打开和关闭1、流2、标准流3、文件指针4、文件的关闭和打开 四、文件的顺序读写文件的随机读写1、fseek2、ftell3、rewind4.int origin 一、认识文件 主要讨论数据文件 1…

Python 潮流周刊#56:NumPy 2.0 里更快速的字符串函数

△△请给“Python猫”加星标 &#xff0c;以免错过文章推送 本周刊由 Python猫 出品&#xff0c;精心筛选国内外的 250 信息源&#xff0c;为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景&#xff1a;帮助所有读者精进 Python 技术&am…

【GO-OpenCV】go-cv快速配置

最近对golang实现目标检测心血来潮&#xff0c;尝试在没有sudo权限的平台配置go-cv,有所发现&#xff0c;索性多个平台都做尝试 安装Go语言&#xff08;Golang&#xff09; 通过包管理器安装&#xff08;适用于Debian/Ubuntu&#xff09;(有点慢) 更新包列表&#xff1a; sud…

贷款投资决策和常用财务函数

前段时间上了一门excel操作的课&#xff0c;本文结合其中介绍财务函数以及投资决策分析相关的部分&#xff0c;对贷款中的现金流计算进行深入的分析。 以等额本息产品为例进行实操计算&#xff0c;假设某产品本金12000元&#xff0c;期限12&#xff0c;IRR利率24%。每期还款113…

关于volatile与System.out的“冲突”导致的内存屏障失效问题

起因&#xff1a;今天在写一个volatile相关的Demo&#xff0c;本来想的是一个线程根据这个IS_STOP去一直进行循环&#xff0c;直到另一个线程改变为true就中断。内存屏障的问题会导致虽然其他线程修改了值&#xff0c;但是原线程是不知道的&#xff0c;会继续循环&#xff0c;所…

c++模板模式

文章目录 模板模式什么是模板模式为什么使用模板模式模板模式实现步骤 示例模板模式优缺点 模板模式 什么是模板模式 模板模式&#xff08;Template Method Pattern&#xff09;是一种行为设计模式&#xff0c;它定义了一个操作中的算法骨架&#xff0c;将某些步骤的具体实现延…

质疑标普,理解标普,加入标普

上周我在文章里提到过&#xff0c;标普信息科技LOF(161128)出现套利机会。每天申购卖出&#xff0c;到现在一个账户56*6336润。 得益于美股七巨头轮流领涨&#xff0c;161128依旧坚挺&#xff0c;每天溢价都是10%&#xff0c;成交量1个多亿&#xff0c;场内新增份额才400万份&…

Web的UI自动化基础知识

目录 1 Web自动化入门基础1.1 自动化知识以及工具1.2 主流web自动化测试工具1.3 入门案例 2 使用工具的API2.1 元素定位2.1.1 id选择器2.1.2 name2.1.3 class_name选择器2.1.4 tag_name选择器2.1.5 link_text选择器2.1.6 partial_link_text选择器2.1.7 xpath选择器2.1.8 CSS选择…

【AI实践】Dify开发应用和对接微信

自定义应用 创建应用有2种&#xff0c; 从应用模板创建 空白应用&#xff0c;也就是自定义应用 选择翻译助手 Translation assistant模板创建一个应用 自定义应用&#xff0c;创建一个child_accompany_bot自定的应用&#xff0c;用来支持家长&#xff0c;如何解决低龄儿童的…

马克·雷伯特访谈:机器人的未来及波士顿动力的创新之路

引言 机器人技术作为现代科技的前沿领域&#xff0c;始终吸引着大量的关注与研究。波士顿动力公司作为这一领域的领军者&#xff0c;其创始人兼前CEO马克雷伯特&#xff08;Marc Raibert&#xff09;近日在主持人莱克斯弗里德曼&#xff08;Lex Fridman&#xff09;的播客节目…

this指针如何使C++成员指针可调用

在C中&#xff0c;this指针是一个隐藏的指针&#xff0c;指向当前对象实例。它在成员函数中自动可用&#xff0c;用于访问该对象的成员变量和成员函数。理解this指针的工作原理有助于理解为什么指向成员的指针是可调用的。在本文中&#xff0c;我们将详细探讨this指针的概念&am…