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

文章链接: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.mzph.cn/web/28235.shtml

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

相关文章

《全职猎人》

《全职猎人》 [1-2]是日本漫画家富坚义博的作品。 1999年版改编电视动画由日本动画公司负责动画制作,于1999年10月16日-2001年3月30日在富士电视台播出,该动画的故事至贪婪之岛篇章结束,全92话。 该作在富坚义博老师天马行空的想…

Gstreamer学习3----灌数据给管线之appsrc

参考资料 Basic tutorial 8: Short-cutting the pipeline gstreamer向appsrc发送帧画面的代码_gst appsrc可变帧率-CSDN博客 在官网教程Basic tutorial 8: Short-cutting the pipeline 里面,讲了一个例子,push音频数据给管线,视频的例子更…

二分+ST表+递推,Cf 1237D - Balanced Playlist

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 Problem - 1237D - Codeforces 二、解题报告 1、思路分析 case3提示我们一件事情:如果存在某个位置永远不停止,那么所有位置都满足永远不停止 很容易证明 随着下标右移&#xff0c…

闲聊最近招聘面试

最近在为团队招聘开发人员,筛选了200多份简历,面试了50多人,感触良多,回想当初自己多多少少也存在这些问题,想着做一个总结。 首先,面试不是闲聊,要通过短暂的时间尽可能向面试官展示你的各方面…

Spring Boot + EasyExcel + SqlServer 进行批量处理数据

前言 在日常开发和工作中&#xff0c;我们可能要根据用户上传的文件做一系列的处理&#xff0c;本篇文章就以Excel表格文件为例&#xff0c;模拟用户上传Excel文件&#xff0c;讲述后端如何高效的进行数据的处理。 一.引入 EasyExcel 依赖 <!-- https://mvnrepository.com/…

VMware Ubuntu 虚拟机网卡消失及解决办法

VMware Ubuntu 虚拟机网卡消失 描述原因查找解决方法 描述 在正常使用过程中重启后发现 VMware Ubuntu 虚拟机中的网卡消失了&#xff0c;使用 ifconfig 查看只能看到本地回环&#xff1a; 原因查找 使用如下命令查看是否和我这边遇到的问题一致的原因。 sudo lshw -c netwo…

USB转I2C转SPI芯片CH341与CH347比较

1. 芯片中文资料&#xff1a; USB转I2C转SPI芯片CH341 高速USB转接芯片CH347转9M双串口转I2C转SPI转JTAG转SWD USB2.0高速转接芯片CH347应用开发手册 2. CH341与CH347比较&#xff1a; 类别CH341CH347备注串口速度2M9MCH347的串口速度更快设置CH341的I2C或SPI不能与串口同…

【Netty】ByteBuffer原理与使用

Buffer则用来缓冲读写数据&#xff0c;常见的buffer有&#xff1a; ByteBuffer MappedByBuffer DirectByteBuffer HeapByteBuffer hortBuffer IntBuffer LongBuffer FloatBuffer DoubleBuffer CharBuffer 有一个普通文本文件data.txt,内容为&#xff1a; 1234567890a…

决策树概念

图例 概念 决策树基本上就是对经验的总结 决策树的构成&#xff0c;分为两个阶段。构造和剪枝 构造 概念 构造就是生成一颗完整的决策树。构造的过程就是选择什么属性作为节点的过程 构造过程&#xff0c;会存在3种节点 根节点&#xff1a;就是树的最顶端&#xff0c;最…

WPF/C#:异常处理

什么是异常&#xff1f; 在C#中&#xff0c;异常是在程序执行过程中发生的特殊情况&#xff0c;例如尝试除以零、访问不存在的文件、网络连接中断等。这些情况会中断程序的正常流程。 当C#程序中发生这种特殊情况时&#xff0c;会创建一个异常对象并将其抛出。这个异常对象包…

华为云CodeArts API:API管理一体化平台 5月新特性上线啦!

CodeArts API是华为云API全生命周期管理一体化解决方案平台&#xff0c;支持开发者高效实现API设计、API开发、API测试、API托管、API运维、API变现的一站式体验。 通过以API契约为锚点&#xff0c;CodeArts API保证API各阶段数据高度一致&#xff0c;为开发者提供友好易用的A…

FreeRTOS队列(queue)

队列(queue)可以用于"任务到任务"、 "任务到中断"、 "中断到任务"直接传输信息。 1、队列的特性 1、1常规操作 队列的简化操如下图所示&#xff0c;从此图可知&#xff1a; 队列中可以包含若干数据&#xff1a;队列中有若干项&#xff0c;这…

【C++】实现学生管理系统(完整版)

&#x1f495;&#x1f495;&#x1f495;大家好&#xff0c;这是作业侠系列之C实现学生管理系统&#xff0c;还是那句话&#xff0c;大家不想cv或者cv了跑不起来,三连后都可以来找我要源码&#xff0c;私信或评论留下你的邮箱即可。有任何问题有可以私聊我&#xff0c;大家觉得…

YOLOv10涨点改进SPPF创新结构,重新设计全局平均池化层和全局最大池化层,增强全局视角信息和不同尺度大小的特征

本文改进:SPPF_improve利用全局平均池化层和全局最大池化层,加入一些全局背景信息和边缘信息,从而获取全局视角信息并减轻不同尺度大小所带来的影响,强烈推荐,适合直接使用,paper创新级。 目录 1,YOLOv10介绍 1.1 C2fUIB介绍 1.2 PSA介绍 1.3 SCDown 2.SPP &SP…

TSP:人工原生动物优化器(APO)求解旅行商问题TSP(可以更改数据),MATLAB代码

一、旅行商问题介绍 二、人工原生动物优化算法求解TSP 2.1算法介绍 人工原生动物优化器&#xff08;Artificial Protozoa Optimizer &#xff0c;APO&#xff09;由Xiaopeng Wang等人于2024年提出&#xff0c;其灵感来自自然界中的原生动物。APO 模拟了原生动物的觅食、休眠和…

Python合并文件(dat、mdf、mf4)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

【three.js】设置canvas画布背景透明

通过Three.js渲染一个模型的时候&#xff0c;不希望canvas画布有背景颜色&#xff0c;也就是canvas画布完全透明&#xff0c;可以透过canvas画布看到画布后面叠加的HTML元素图文&#xff0c;呈现出来一种三维模型悬浮在网页上面的效果。 比如我们现在的模型背景是黑色的&#…

spring框架(SSM)

Spring Framework系统架构 Spring框架是一个开源的企业级Java应用程序框架&#xff0c;它为开发Java应用程序提供了一个全方位的解决方案。Spring的核心优势在于它的分层架构&#xff0c;这使得开发者可以灵活选择使用哪些模块而无需引入不需要的依赖。下面是Spring框架的一些关…

【每天学会一个渗透测试工具】AWVS安装及使用指南

&#x1f31d;博客主页&#xff1a;泥菩萨 &#x1f496;专栏&#xff1a;Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 ✨AWVS介绍 是应用漏洞扫描工具 &#x1f4a6;使用docker安装 docker pull dockermi3aka/awvs启动镜像 docker run -dit …

数据采集项目1-用户行为数据同步

环境准备 linux配置、克隆103和104、编写集群分发脚本、ssh无密码登录配置、jdk安装、数据模拟集群日志数据输出脚本、xcall脚本、安装hadoop、zk安装、kafka安装、flume安装、mysql安装、maxwell安装、datax安装、hive安装 用户行为数据同步-总的数据流程图 第一层flume 数据…