AIGC-风格迁移-“DEADiff:稳定可控的文本到图像风格化扩散模型 “-CVPR2024

DEADiff: An Efficient Stylization Diffusion Model with Disentangled Representations

代码:https://tianhao-qi.github.io/DEADiff/
论文:https://arxiv.org/pdf/2403.06951

在这里插入图片描述
本文介绍了一种名为DEADiff的方法,旨在解决基于扩散的文本到图像模型在风格迁移时遇到的问题。解决当前的基于编码器的方法显著影响了文本到图像模型在风格迁移时的文本可控性问题。为了解决这个问题,DEADiff采用了以下两种策略:

  • 解耦风格和语义的机制。通过Q-Formers首先提取解耦的特征表示,这些特征表示受不同的文本描述指导。然后将它们注入到互斥的交叉注意力层的子集中,以更好地解耦风格和语义。
  • 非重构性学习方法。Q-Formers使用成对图像进行训练,而不是相同的目标图像。在这种情况下,参考图像和真值图像具有相同的风格或语义。

MOTIVATION

附加编码器为中心(center around an additional encoder)

风格转移的流行方法是以附加编码器为中心的方法。基于编码器的方法通常训练编码器将参考图像编码为信息特征,然后将其注入扩散模型作为其引导条件。通过这样的编码器,可以提取高度抽象的特征,以有效地描述参考图像的风格。T2I-Adapter)可以自然地生成忠实的参考样式。 然而,这种方法也引入了一个特别令人烦恼的问题:虽然它允许模型遵循参考图像的风格,但它显着降低了模型在理解文本条件的语义上下文方面的性能。

文本可控性的丧失(The loss of text controllability)

  • 编码器提取的信息将风格与语耦合在一起,而不仅仅是纯粹的风格特征。具体来说,先前的方法在其编码器中缺乏有效的机制来区分图像风格和图像语义。因此,提取的图像特征不可避免地包含了风格和语义信息。这种图像语义与文本条件中的语义冲突,导致对基于文本的条件的控制力降低。
  • 先前的方法将编码器的学习过程视为一种重构任务(reconstruction),其中参考图像的gournd-truth是图像本身与训练文本到图像模型遵循文本描述相比,从参考图像的重构中学习通常更容易。因此,在重构任务下,模型倾向于关注参考图像,而忽视文本到图像模型中的原始文本条件。

CONTRIBUTION

  • 提出了一种双解耦表示提取机制,分别获取参考图像的风格和语义表示,从学习任务的角度缓解文本和参考图像之间的语义冲突问题。
  • 引入了一种解耦的调节机制,允许交叉注意力层的不同部分分别负责图像风格/语义表示的注入,从模型结构的角度进一步减少语义冲突。
  • 构建了两个配对数据集,以使用非重建训练范例来辅助 DDRE 机制。

RELATED WORK

T2I

基于文本反演的方法(Textual inversion-based meth-ods)将风格图像投影到可学习的文本token空间的embedding中。不幸的是,由于从视觉到文本模态的映射导致的信息丢失问题,使得学习的embedding无法准确地渲染参考图像的风格与用户定义的提示。

DreamBooth和Custom Diffusion通过优化扩散模型的全部或部分参数,可以合成更能捕捉参考图像风格的图像。然而,这种方法的代价是由于严重过拟合导致的对文本提示的准确度降低。

目前,参数有效的微调提供了一种更有效的方法来进行风格化图像生成,而不影响扩散模型对文本提示的忠实度,如InST,LoRA和StyleDrop。然而,尽管这些基于优化的方法可以定制风格,但它们都需要数分钟到数小时来微调每个输入参考图像的模型。额外的计算和存储开销阻碍可行性。

因此,一些无优化方法被提出来通过设计的图像编码器从参考图像中提取风格特征。

  • T2I-Adapter-Style和IP-Adapter使用Transformer作为图像编码器,以CLIP图像embedding作为输入,并利用通过UNet交叉注意力层提取的图像特征。
  • BLIP-Diffusion构建了一个Q-Former,将图像embedding转换为文本embedding空间,并将其输入到扩散模型的文本编码器中。

这些方法使用整个图像重建或对象重建作为训练目标,导致从参考图像中提取了内容和风格信息。为了使图像编码器专注于提取风格特征,StyleAdapter和ControlNet-shuffle对参考图像的块或像素进行了重排,并且可以生成具有目标风格的各种内容。

Q-Former

Q-Former是一个基于Transformer的组件,它被用来提取和过滤图像特征。

METHODS

双重解耦下的提取-Dual Decoupling Representation Extraction

DDRE(Dual Decoupling Representation Extraction)受到BLIP-Diffusion的启发,DDRE不是直接训练一个模型来重建或模仿输入图像,而是通过设计2个辅助task来帮助模型学习更深层次的特征表示、DDRE通过分别针对风格和内容的训练,使得模型能够独立地处理这两类特征。

  • 使用Q-Formers作为表示过滤器:Q-Formers在这个中充当风格和内容特征提取的过滤器。利用 QFormer从参考图像中获取风格和语义表示。 Q-Former 根据“风格”和“内容”条件来选择性地提取与给定指令相符的特征。
  • 配对合成图像中学习的非重建训练范例:使用分别与参考图像和地面实况图像具有相同风格的成对图像来训练由“Style”条件指示的Q-Former。 同时,“Content”条件指示的QFormer是由具有相同语义但不同风格的图像训练的。
  • 非重构范式:与直接重建图像的方法不同,DDRE采用非重构的训练范式。这意味着模型的目标不是生成与参考图像完全相同的图像,而是学习如何提取和利用对生成过程有用的特征表示。

在这里插入图片描述

风格图像提取STRE:

在这里插入图片描述

  • 选择一对风格相同但内容不同的图像(对应图中reference A和target A),两者都保持相同的风格,它们分别作为Stable Diffusion(SD)生成过程的参考图像(reference )和目标图像(target )。(使用两个具有相同提示的不同图像)
  • 参考图像输入到CLIP图像编码器,其输出(该编码器会输出一个向量表示或特征向量)与Q-Former的learnable query tokens以及其输入文本(inputs)通过交叉注意力机制相互作用。
  • Q-Former的输入文本(inputs)被设定为“style”,目的是生成与文本对齐的图像特征作为输出。(条件化输入),对应的输出封装了风格信息,然后与目标图像内容的详细描述相结合,并提供给去噪U-Net进行条件控制.

这种prompt构成策略的动力在于更好地解开风格和内容描述之间的纠缠,使Q-Former更加专注于提取以风格为中心的表示

内容表示提取SERE

在这里插入图片描述

  • 选择一对主题相同但风格不同的图像((对应图中reference B和target B)),分别作为参考图像和目标图像。
  • 与STRE不同,Q-Former的输入文本被替换为“content”,以提取与内容相关的特定表示。
  • 为了获取纯净的内容表示,Q-Former的query token输出和目标图像的文本风格词同时作为去噪U-Net的条件。在这种方法中,Q-Former在生成目标图像时将筛选出CLIP图像嵌入中与内容无关的信息。

同时,将重构任务整合到整个流程中。这个学习任务的条件提示由“风格”Q-Former和“内容”Q-Former处理的 query token组成。通过这种方式,可以确保Q-Formers不会忽视关键的图像信息,考虑到内容和风格之间的互补关系。

解耦条件机制-Disentangled Conditioning Mechanism

DCM

受先前工作的启发(去噪 U-Net 中的不同交叉注意层主导合成图像的不同属性,不同的交叉注意力层对风格和语义的不同响应),引入了一种创新的Disentangled Conditioning Mechanism(DCM)。

  • DCM采用的策略是,空间分辨率较低的粗层以语义为条件,而空间分辨率较高的精细层以风格为条件。
  • 我们仅将带有“Style”条件的 Q-Former 的输出 query 注入到细层(fine layers),这些层响应局部区域特征而不是全局语义。这种结构性的调整促使Q-Former在输入“风格”条件时提取更多的风格导向特征,例如图像的笔触、纹理和颜色,同时减弱了其对全局语义的关注。

a joint text-image cross-attention layer

为了使去噪U-Net支持图像特征作为条件,设计了一个联合文本-图像交叉注意力层,类似于IP-Adapter:

IP-adapter可以跳转到这篇博客:IP-adapter

在这里插入图片描述

  • 包含了两个可训练的线性投影层 W I k , W I V W_I^k,W_I^V WIk,WIV来处理图像特征 c i c_i ci
  • 还包含了冻结的线性投影层 W T k , W T V W_T^k,W_T^V WTk,WTV,用于处理文本特征 c t c_t ct
  • 不是独立地对图像和文本特征执行交叉注意力,而是分别从文本和图像特征中连接键和值矩阵,随后使用U-Net query 特征Z进行单个交叉注意力操作

Q = Z W Q , K = C o n c a t ( c t W T K , c i W I K ) , V = C o n c a t ( c t W T V , c i W I V ) , Z n e w = S o f t m a x ( Q K T d ) V . \begin{aligned} \text{Q}& =ZW^{Q}, \\ \text{K}& =Concat(c_{t}W_{T}^{K},c_{i}W_{I}^{K}), \\ \text{V}& =Concat(c_{t}W_{T}^{V},c_{i}W_{I}^{V}), \\ Z^{new}& =Softmax(\frac{QK^{T}}{\sqrt{d}})V. \end{aligned} QKVZnew=ZWQ,=Concat(ctWTK,ciWIK),=Concat(ctWTV,ciWIV),=Softmax(d QKT)V.

配对数据集构建

通过组合主题词和风格词手动创建文本提示列表,并利用预先训练的模型构建两个配对图像数据集

  • 具有相同风格的sample
  • 具有相同主题的sample。

具体而言,构建配对数据集包括以下三个步骤:

  • 步骤1:文本提示组合。 列出了近12,000个主题词,涵盖了四个主要类别:人物、动物、物体和场景。此外,还记录了近700个风格词,包括艺术风格、艺术家、笔触、阴影、镜头、分辨率和视角等属性。然后,平均每个主题词分配了大约14个来自所有风格词的风格词,这些组合形成了用于文本到图像模型的最终文本提示。
  • 步骤2:图像生成和收集。 将文本提示与主题词和风格词结合后,得到了超过160,000个文本提示。随后,将所有文本提示发送到Midjourney,这是一个领先的文本到图像生成产品,用于合成相应的图像。作为Midjourney的特点,给定提示的直接输出包括4张分辨率为512×512的图像。将每个图像上采样到分辨率为1024×1024,并与给定的提示一起存储。由于数据收集中的冗余性,最终收集了共计106万个图像-文本对。
  • 步骤3:**配对图像选择。**至于描述的内容表示学习任务,将具有相同主题词但不同风格词的图像配对为一个单独的项目。 我们观察到,即使具有相同的风格词(style words),使用不同的subject词生成的图像也存在显著差异。
    • 考虑到这一点,在风格表示学习任务中,使用两个具有相同提示的不同图像。
    • 将具有相同提示的图像存储为单个项目,并在每次迭代中随机选择两个图像。

Training and Inference

采用SD对应的损失函数来监督上述三个学习任务。在训练过程中,只有Q-Former和新添加的线性投影层被优化

L = E z , c , ϵ ∼ N ( 0 , 1 ) , t [ ∥ ϵ − ϵ θ ( z t , t , c ) ∥ 2 2 ] L=\mathbb{E}_{z,c,\epsilon\sim\mathcal{N}(0,1),t}\left[\left\|\epsilon-\epsilon_{\theta}\left(z_{t},t,c\right)\right\|_{2}^{2}\right] L=Ez,c,ϵN(0,1),t[ϵϵθ(zt,t,c)22]
在这里插入图片描述

EXPERIMENT

实验设置

采用Stable Diffusion v1.5 作为我们的基础文本到图像模型,该模型包括总共 16 个交叉注意力层。按照从输入到输出的顺序对它们进行编号,定义层 4-8 为粗层,用于注入图像内容表示。因此,其他层被定义为用于注入图像风格表示的细层。使用来自 CLIP 的 ViT-L/14 作为图像编码器,并保持 Q-Former 的可学习 query token数量与 BLIP-Diffusion 一致,即为 16。采用两个 Q-Formers 分别提取语义和风格表示,以鼓励它们专注于自己的任务。
为了快速收敛,使用 HuggingFace 中由 BLIP-Diffusion 提供的预训练模型初始化 Q-Former。至于额外的投影层 W I k , W I V W_I^k,W_I^V WIk,WIV,我们将它们的参数初始化为 W T k , W T V W_T^k,W_T^V WTk,WTV的参数。在训练期间,我们根据前面中所述的三个学习任务的采样比率设置为1:1:1,以同等地训练风格 Q-Former 和内容 Q-Former。我们固定图像编码器、文本编码器和原始 U-Net的参数,仅更新 Q-Former、16 个可学习 query 和额外的投影层 W I k , W I V W_I^k,W_I^V WIk,WIV的参数。模型在 16 个 A100-80G GPU 上以总batch大小为 512 进行训练。采用 AdamW 作为优化器,学习率为 1 e − 4 1e^{-4} 1e4训练 100000 次迭代。至于推理阶段,采用 DDIM采样器进行 50 步采样。无分类器指导的指导尺度为 8。

评估指标

在缺乏准确和合适的评估风格相似度(SS)的度量标准的情况下,我们提出了一个更合理的方法。此外,在 CLIP 文本-图像embedding空间内确定文本提示与其对应的合成图像之间的余弦相似度,这表明了文本对齐能力(TA)。还报告了每种方法的图像质量(IQ)的结果。最后,为了消除客观度指标计算中随机性带来的干扰,进行了用户研究,反映了结果的主观偏好(SP)。

Style Similarity: 具体来说,该过程首先使用 CLIP Interrogator 生成与参考图像对齐的最佳文本提示。 随后,我们过滤掉与参考图像内容相关的提示,并计算剩余提示与 CLIP 文本图像嵌入空间内生成的图像之间的余弦相似度。 计算结果表示风格相似度,有效减轻参考图像内容的干扰。
Image Quality:采用名为 LAION-Aesthetics Predictor V2 的预测模型来评估每种方法生成的图像的质量。
Text Alignment: 确定 CLIP 文本图像嵌入空间内文本提示与其相应的合成图像之间的余弦相似度,表明文本对齐能力。

实验效果

定性分析:

与最先进的方法进行比较,包括无优化方法,如CAST、StyleTr2、T2I-Adapter、IP-Adapter和StyleAdapter,以及基于优化的方法,如InST。
在这里插入图片描述
首先,基于内容图像的风格迁移方法,如CAST和StyleTr2,它们不使用扩散模型,从而避免了文本控制减少的问题。然而,它们仅执行直接的颜色迁移,没有从参考图像中提取更独特的特征,如笔触和纹理,导致每个合成结果中都存在明显的伪影。因此,当这些方法遇到具有复杂风格参考和大量内容图像结构复杂性的情况时,它们的风格转移能力明显降低。

另外,对于使用扩散模型进行重建目标训练的方法,无论是基于优化的(InST)还是无优化的(T2I-Adapter),它们通常都会在生成的结果中受到来自参考图像的语义干扰,如图4的第一行和第四行所示。这与我们之前的语义冲突问题的分析相一致。

第三,虽然随后改进的工作StyleAdapter有效地解决了语义冲突的问题,但它学习到的风格并不理想。它失去了参考图像的细节笔触和纹理,颜色也有明显的差异

最后,IP-Adapter通过对每个参考图像进行精细的权重调整,可以实现不错的结果,但其合成输出要么引入了一些来自参考图像的语义,要么风格退化。相反,我们的方法不仅更好地遵循了文本提示,而且显著保留了参考图像的整体风格和详细纹理,颜色色调之间的差异非常小。

定量分析:

在这里插入图片描述
在文本对齐方面与生成内容图像的两种基于SD的方法CAST和StyleTr2相当,这表明在学习参考图像的风格时并没有牺牲SD的原始文本控制能力。

与StyleDrop的比较:
在这里插入图片描述

尽管DEADiff在颜色准确性方面略逊于基于优化的StyleDrop,但在艺术风格和对文本的忠实度方面,它取得了相当甚至更好的结果。DEADiff生成的小屋、帽子和机器人更加合适,并且不会遭受参考图像中固有的语义干扰。这证明了从参考图像中解耦语义的关键作用

应用

应用:与ControlNet的结合
DEADiff支持所有原生于SD v1.5的ControlNet类型。以深度ControlNet为例

在这里插入图片描述

应用:风格混合
在这里插入图片描述
应用:参考语义的风格化

在这里插入图片描述
应用:切换基础T2I模型
由于DEADiff不对基础T2I模型进行优化,因此可以直接在不同基础模型之间切换,生成不同的风格化结果,如下图10所示
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

又翻车了!谷歌急于手动删除搜索中的奇怪AI答案|TodayAI

谷歌公司近日确认,正在“迅速采取行动”删除一些AI工具的奇怪回应。社交媒体上充斥着谷歌新AI概览产品(AI Overview)说出奇怪话语的例子,从告诉用户在披萨上涂胶水到建议他们吃石头。这次混乱的AI发布导致谷歌不得不手动禁用某些搜…

车灯合面合壳密封使用UV胶的优缺点是什么呢?汽车车灯的灯罩如果破损破裂破洞了要怎么修复?

车灯合面合壳密封使用UV胶的优缺点是什么呢? 车灯合壳密封使用UV胶的优缺点如下: 优点: 快速固化:UV胶通过紫外线照射可以在短时间内迅速固化,大大缩短了车灯制造的工艺流程时间,提高了生产效率。高度透明&#xff…

二叉树——进阶(递归创建,非递归,广度优先,翻转,深度,对称)

二叉树——进阶 二叉树的递归创建非递归前中后序遍历非递归前序遍历非递归中序遍历非递归后序遍历 广度优先遍历二叉树(层序遍历)翻转二叉树 二叉树深度最大深度最小深度 对称二叉树 二叉树的递归创建 1,二叉树是一种结构相对固定的数据&…

金融信贷风控系统设计模式应用之模版方法

背景介绍 风控系统每种场景 如个人消费贷 都需要跑很多规则 规则1 申请人姓名身份证号实名验证规则2 申请人手机号码实名认证规则3 银行卡预留手机号码实名认证规则4 申请人银行卡预留手机号码在网状态检验规则5 申请人银行借记卡有效性核验规则6 户籍地址与身份证号归属地比…

微信小程序知识点1

一. 页面样式和结构 1.1 小程序组件(html) (1) 区域布局组件 view 定义块级区域,相当于网页中的 div 标签text 定义行内区域,相当于网页中的 span标签 (2) 链接跳转组件 navigator 组件相当于网页中的 a 标签,用来实现页面之间的跳转。 …

基于卷积神经网络的交通标志识别(pytorch,opencv,yolov5)

文章目录 数据集介绍:resnet18模型代码加载数据集(Dataset与Dataloader)模型训练训练准确率及损失函数:resnet18交通标志分类源码yolov5检测与识别(交通标志) 本文共包含两部分, 第一部分是用re…

力扣刷题---2206. 将数组划分成相等数对【简单】

题目描述🍗 给你一个整数数组 nums ,它包含 2 * n 个整数。 你需要将 nums 划分成 n 个数对,满足: 每个元素 只属于一个 数对。 同一数对中的元素 相等 。 如果可以将 nums 划分成 n 个数对,请你返回 true &#xf…

高开高走的续作,可不止《庆余年2》

说起最近霸屏的影视剧,莫过于《庆余年2》。火爆全网的讨论度总归是没有辜负观众们五年的等待,在五月的影视市场独占鳌头已成定局。张若昀、陈道明、李沁等一众演员稳定发挥,剧情节奏随着故事发展渐入佳境,评分一路高涨。 对影视作…

【网络安全】社会工程学攻击与防范

一、社会工程学概述 1、社会工程学的定义 通过利用人们的心理弱点、本能反应、好奇心、信任、贪婪等一些心理陷阱进行的诸如欺骗、伤害、信息盗取、利益谋取等对社会及人类带来危害的行为或方法。 当网络恶意攻击者无法通过纯粹的计算机技术达到目的时,高超的情商…

统计信号处理基础 习题解答10-4

题目: 重复习题10.3,但条件PDF变为: 以及均匀先验。如果非常大,这样先验知识很少,则会出现什么情况。 解答: 如果记 那么,根据条件独立性质,得到: 其中,&am…

Web3 游戏平台 Creo Engine 销毁代币总量的20%,以促进长远发展

Creo Engine 5月16日进行了第三次代币销毁,这次的销毁占代币总量的 20%。一共销毁了2亿 $CERO 代币,市场价值接近 2000 万美元。 Creo Engine 致力于连接世界、为玩家提供一站式游戏中心,并提升 Web3 游戏体验。 Creo Engine 发布于2022年&am…

Python学习---基于TCP协议的网络通信程序案例

TCP简介: ●TCP 面向连接、可靠的、基于字节流的传输控制协议 ●TCP的特点 ○面向连接 ○可靠传输 ■应答机制 ■超时重传 ■错误校验 ■流量管控 ●TCP通信模型 TCP严格区分客户…

运维Tips | Linux系统文件命令执行时inode表如何变化?

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路。 ] 大家好,我是【WeiyiGeek/唯一极客】一个正在向全栈工程师(SecDevOps)前进的技术爱好者 作者微信:WeiyiGeeker 公众号/知识星球:全栈工程师修炼指南 主页博…

Linux下自旋锁的学习使用

前言 前面我们讲到定时器的使用,本篇讲下自旋锁的使用。想第一时间看我的文章的话可以点击公众号主页右上角有个设为星标,以免错过好文。本文源码采用Linux内核5.10 自旋锁简介 自旋锁是Linux内核里最常用的锁之一,自旋锁的概念很简单,就是…

误差反向传播简介与实现

误差反向传播 导语计算图反向传播链式法则 反向传播结构加法节点乘法节点 实现简单层加法乘法 激活函数层实现ReLUSigmoid Affine/Softmax层实现Affine基础版批版本 Softmax-with-Loss 误差反向传播实现梯度确认总结参考文献 导语 书上在前一章介绍了随机梯度下降法进行参数与…

ubuntu20.04 开机自动挂载外加硬盘

文章目录 一、问题描述二、操作1. 查找新添盘符2. 格式化硬盘文件系统3. 挂载硬盘4. 开机自动挂载5. 取消挂载6. 查看挂载的硬盘信息 一、问题描述 因电脑使用一段时间后自身硬盘不足,需外加硬盘使得电脑自动识别加载。 二、操作 1. 查找新添盘符 sudo blkid自己…

linux中的arch命令使用

arch 显示当前主机的硬件架构类型 概要 arch [OPTION]...主要用途 打印机器架构信息;arch 命令输出结果有:i386、i486、i586、alpha、sparc、arm、m68k、mips、ppc、i686等。 选项 --help 显示帮助信息并退出。 --version 显示版本信息并…

windows7的ie11降级到ie8

重点是要在程序管理窗口中“查看已安装的更新”打开当前系统中已安装更新列表,找到两个IE11的更新(见下图“卸载文件“)并卸载掉,这样windows功能中的ie11才会变成ie8. 打开控制面板 进入面板,点击程序,进…

hot100 -- 回溯(上)

目录 🍞科普 🌼全排列 AC DFS 🚩子集 AC DFS 🎂电话号码的字母组合 AC DFS 🌼组合总和 AC DFS 🍞科普 忘记 dfs 的,先看看这个👇 DFS(深度优先搜索&#xf…

ping 探测网段哪些地址被用

#!/bin/bash# 遍历192.168.3.1到192.168.3.254 for i in {1..254} doip"192.168.3.$i"# 对每个IP地址进行三次ping操作if ping -c 3 -W 1 $ip > /dev/null 2>&1thenecho "$ip: yes"fi done$ sh test.sh 192.168.3.1: yes 192.168.3.95: yes 192.…