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所示
在这里插入图片描述

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

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

相关文章

【机器学习论文阅读笔记】Robust Recovery of Subspace Structures by Low-Rank Representation

前言 终于要轮到自己汇报了好崩溃。。盯着论文准备开始做汇报ppt感觉一头乱麻,决定还是写博客理清思路再说吧 参考资料: 论文原文:arxiv.org/pdf/1010.2955 RPCA参考文章:RPCA - 知乎 (zhihu.com) 谱聚类参考文章&#xff1a…

Python使用pymysql操作数据库

大家好,当涉及到与数据库进行交互和操作时,Python的pymysql库是一个常用且功能强大的选择。pymysql提供了与MySQL数据库的连接、查询、插入、更新和删除等操作的方法,使得在Python中进行数据库操作变得简单而高效。 1、安装 pymysql 库 在开…

Python3 笔记:部分专有名词解释

1、python 英 /ˈpaɪθən/ 这个词在英文中的意思是蟒蛇。但据说Python的创始人Guido van Rossum(吉多范罗苏姆)选择Python这个名字的原因与蟒蛇毫无关系,只是因为他是“蒙提派森飞行马戏团(Monty Python's Flying Ci…

【静态分析】在springboot使用太阿(Tai-e)01

参考:使用太阿(Tai-e)进行静态代码安全分析(spring-boot篇一) - 先知社区 ---------------------------------------------------------------------- 由于spring-boot实现了控制反转与面向切面编程的设计思想&#x…

OpenHarmony轻松玩转GIF数据渲染

OpenAtom OpenHarmony(以下简称“OpenHarmony”)提供了Image组件支持GIF动图的播放,但是缺乏扩展能力,不支持播放控制等。今天介绍一款三方库——ohos-gif-drawable三方组件,带大家一起玩转GIF的数据渲染,搞…

二手车经营效率罗盘,用经营效率罗盘玩转二手车生意

课程下载:https://download.csdn.net/download/m0_66047725/89292198 更多资源下载:关注我。 带你了解不一样的二手车圈让二手车经营更高效 课程介绍 随着时代不断发展,二手车行业迎来了快速变革期。二手车有着一车一况、一车一价非标和价…

无人机+飞行服务:无人机飞防服务(打药+施肥+播种)技术详解

无人机飞防服务,结合了先进的无人机技术与农业实践,为现代农业提供了高效、精准的打药、施肥和播种解决方案。以下是对这些技术的详细解析: 一、无人机打药技术 无人机打药技术利用无人机搭载喷雾设备,对农田进行精准施药。通过…

【Crypto】看我回旋踢

文章目录 一、看我回旋踢二、知识点什么是ROT13?工作原理分析字符串格式 解题感悟 一、看我回旋踢 关键词回旋,盲猜ROT13 因为以 synt{ 开头,并以 } 结束,基本可以判断是ROT13 小小flag,拿下! 二、知识点 …

抖音极速版:抖音轻量精简版本,新人享大福利

和快手一样,抖音也有自己的极速版,可视作抖音的轻量精简版,更专注于刷视频看广告赚钱,收益比抖音要高,可玩性更佳。 抖音极速版简介 抖音极速版是一个提供短视频创业和收益任务的平台,用户可以通过观看广…

【机器学习聚类算法实战-5】机器学习聚类算法之DBSCAN聚类、K均值聚类算法、分层聚类和不同度量的聚集聚类实例分析

🎩 欢迎来到技术探索的奇幻世界👨‍💻 📜 个人主页:一伦明悦-CSDN博客 ✍🏻 作者简介: C软件开发、Python机器学习爱好者 🗣️ 互动与支持:💬评论 &…

保障餐饮场所安全:定期送检可燃气体报警器

在餐饮行业,火灾隐患一直备受关注。餐厅、茶饮店等场所常常使用燃气设备,而这些设备带来了潜在的安全隐患。 为了及时发现并预防可燃气体泄漏,可燃气体报警器的定期送检显得尤为重要。那么,为什么可燃气体报警器需要定期送检呢&a…

【Linux】从零开始认识进程间通信 —— 管道

送给大家一句话: 人要成长,必有原因,背后的努力与积累一定数倍于普通人。所以,关键还在于自己。 – 杨绛 从零开始认识进程间通信 1 为什么要进程间通信2 进程如何通信3 进程通信的常见方式4 管道4.1 什么是管道4.2 管道通信的系…

交叉编译程序,提示 incomplete type “struct sigaction“ is not allowed

问题描述 incomplete type "struct sigaction" is not allowed解决办法 在代码的最顶端添加如下代码即可 #define _XOPEN_SOURCE此定义不是简单的宏定义,是使程序符合系统环境的不可缺少的部分 _XOPEN_SOURCE为了实现XPG:The X/Open Porta…

零一万物Yi-1.5开源,34B/9B/6B多尺寸,34B超Qwen1.5-72B

前言 近年来,大型语言模型(LLM)在各个领域展现出惊人的能力,为人们的生活和工作带来了巨大的改变。然而,大多数开源 LLM 的性能仍然无法与闭源模型相媲美,这限制了 LLM 在科研和商业领域的进一步应用。为了…

element-plus表格的表单校验如何实现,重点在model和prop

文章目录 vue&#xff1a;3.x element-plus&#xff1a;2.7.3 重点&#xff1a; 1) tableData放到form对象里 2) form-item的prop要写成tableData.序号.属性 <!--table-表单校验--> <template><el-form ref"forms" :model"form"><e…

安装mpi4py与dlio_profiler_py的总结

安装mpi4py mpi4py是一个Python库&#xff0c;它提供了与MPI&#xff08;Message Passing Interface&#xff09;兼容的接口&#xff0c;使得Python程序能够利用MPI实现并行计算。mpi4py 的核心是基于MPI标准的C/C实现&#xff0c;它能够在高性能计算环境下进行高效的并行处理…

软考之信息系统管理知识点(3)

流水线&#xff1a;是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的&#xff0c;它们可同时为多条指令的不同部分进行工作&#xff0c;以提高各部件的利用率和指令的平均执行速度。 编译得过程 关系数据库是表的集合 …

【全网最全】2024电工杯数学建模A题前两问完整解答+21页初步参考论文+py代码+保奖思路等(后续会更新成品论文)

您的点赞收藏是我继续更新的最大动力&#xff01; 一定要点击如下的卡片链接&#xff0c;那是获取资料的入口&#xff01; 【全网最全】2024电工杯数学建模A题前两问完整解答21页初步参考论文py代码保奖思路等&#xff08;后续会更新成品论文&#xff09;「首先来看看目前已有…

力扣:92. 反转链表 II(Java)

目录 题目描述&#xff1a;示例 1&#xff1a;示例 2&#xff1a;代码实现&#xff1a; 题目描述&#xff1a; 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的…

网络采集受限?如何解决指纹识别、IP封禁、验证码、账号多登等问题

网页采集是什么 网页采集&#xff0c;也常被称作网络采集、网络数据抓取&#xff0c;是一种通过自动化工具从网站上获取信息的技术。这些技术通过访问网页&#xff0c;解析页面上的内容&#xff0c;并提取出有价值的数据&#xff0c;如文本、图片、链接等。 网页采集通常用于…