浅析扩散模型与图像生成【应用篇】(二十五)——Plug-and-Play

25. Plug-and-Play: Diffusion Features for Text-Driven Image-to-Image Translation

  该文提出一种文本驱动的图像转换方法,输入一张图像和一个目标文本描述,按照文本描述对输入图像进行转换,得到目标图像。图像转换任务其实本质上属于图像编辑任务的一种,在保留输入图像原有的姿态、布局不变的情况下,修改图像的背景、纹理、材质等内容,而不能改变图像的内容、语义、视角等。本文提出在解码器阶段的特征图能够保留局部语义信息,并且不会受到对象外观的影响,而自注意力层中的相似性图能够保留布局和形状的细节。作者对输入图像进行重建,并将重建过程中的特征图和自注意力层中的相似性图抽取出来,注入到目标图像的生成过程中,从而实现对生成图像的布局、形状的约束和引导。文本的特征还是通过交叉注意力机制引入,来实现对目标图像的修改。
在这里插入图片描述
  首先,输入图像 I G I^G IG经过一个DDIM的扩散过程得到噪声图 x T G x^G_T xTG,将 x T G x^G_T xTG输入到一个预训练好的LDM中得到去噪重建的图像 x T − 1 G x^G_{T-1} xT1G。在解码过程中,将特征图 f t l f^l_t ftl和自注意力层中的相似性图 A t l = S o f t m a x ( q t l k t l T ) A_t^l=\mathrm{Softmax}(\boldsymbol{q}_t^l{\boldsymbol{k}_t^l}^T) Atl=Softmax(qtlktlT)提取出来。为了展示特征图和相似性图所包含的信息,作者使用PCA提取特征图中前三个主成分,并进行可视化展示,效果如下图所示
在这里插入图片描述
  可以看到,在较浅的层级中,特征图只保留了非常粗糙的前景物体信息。而在中间层级(layer=4)中,就能观察到不同领域的对象之间共享的局部语义信息,物体中相同的部分对应的颜色也相同(例如人物的头部都是黄绿色,而躯干都是红紫色),即使他们的外观存在很大的差别。在更高的层级中,特征图就包含了更多高频的低级纹理信息。同理,我们再看一下不同层级中自注意力层的相关性图的可视化效果,如下图所示。在较低的层级中,相似性图和图像的语义布局是对齐的,随着层级不断地加深,能够提取到更多的高频信息。
在这里插入图片描述
  可视化的结果表明了,中层级的特征图保留了局部的语义信息,而相似性图保留了布局和形状信息。作者的想法也非常简单,直接把这些信息注入到目标图像的生成过程中,取代对应位置的特征图和相似性图,从而实现对生成过程的引导。保持生成图像的语义、布局和形状不会发生改变。
  可以看到生成过程中,初始的噪声图 x T ∗ x^*_T xT直接使用原图的扩散结果 X T G X^G_T XTG,对噪声图使用预训练的LDM进行扩散生成,并将第4层特征图 { f t ∗ l } \{f_t^{*l}\} {ftl}和自注意力层的相似性图 A t l A_t^l Atl直接用前面提取得到特征图和相似图替换掉,而文本特征 P P P仍通过交叉注意力机制引入,得到生成的结果 z t − 1 ∗ = ϵ ^ θ ( x t , P , t ; f t 4 , { A t l } ) z_{t-1}^*=\hat{\epsilon}_{\boldsymbol{\theta}}(\boldsymbol{x}_t,P,t;\boldsymbol{f}_t^4,\{\boldsymbol{A}_t^l\}) zt1=ϵ^θ(xt,P,t;ft4,{Atl})为什么选择第4层的特征图而不是选择所有的特征图呢?是因为作者发现,如果全部都用会使得的生成结果保留原有图像的一些纹理和外观信息,只用第4层特征图就能够很好的保留语义信息。此外,如果只注入相似性图而不注入特征图,则会导致引导特征和生成特征之间没有语义关联,从而导致结构上的不对齐,如下图所示
在这里插入图片描述
  在生成过程中,作者使用两个参数 τ f \tau_f τf τ A \tau_A τA分别来控制注入特征图和相似性图的时间步数,当生成步数 t t t大于 τ f \tau_f τf τ A \tau_A τA,才开始注入特征图或相似性图,整个流程如下图所示
在这里插入图片描述
  此外,作者还引入了输入图像的文本描述作为负提示(Negative-prompting),作为无分类器的引导来修正预测的噪声 ϵ \epsilon ϵ ϵ = w ϵ θ ( x t , P , t ) + ( 1 − w ) ϵ ~ \epsilon=w\boldsymbol{\epsilon}_{\theta}(\boldsymbol{x}_{t},P,t)+(1-w)\tilde{\boldsymbol{\epsilon}} ϵ=wϵθ(xt,P,t)+(1w)ϵ~其中 ϵ ~ = α ϵ θ ( x t , ∅ , t ) + ( 1 − α ) ϵ θ ( x t , P n , t ) \tilde{\boldsymbol{\epsilon}}=\alpha\boldsymbol{\epsilon}_\theta(\boldsymbol{x}_t,\varnothing,t)+(1-\alpha)\boldsymbol{\epsilon}_\theta(\boldsymbol{x}_t,P_n,t) ϵ~=αϵθ(xt,,t)+(1α)ϵθ(xt,Pn,t) α \alpha α w w w分别来控制负提示的影响和无分类器引导的影响。但作者通过实验发现,这个改进对于缺少纹理的轮廓图像效果更明显,而对于拥有正常外观的引导图片作用较小。本文的转换效果与其他的图像编辑方法对比如下
在这里插入图片描述

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

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

相关文章

大模型日报2024-05-15

大模型日报 2024-05-15 大模型资讯 OpenAI推出全新AI模型GPT-4o,具备文本、图像和音频处理能力 摘要: OpenAI公司继ChatGPT后,最新推出了名为GPT-4o的AI模型。这一模型不仅能够理解和生成文本,还新增了图像和音频的解释及生成功能。GPT-4o作为…

字节跳动后端青训营笔记:Go语言进阶

1.语言进阶&依赖管理 1.1 语言进阶 从并发编程的视角了解Go高性能的本质。 1.1.1 并发&并行 在单核CPU下,线程实际还是串行执行的。操作系统中有一个组件叫做任务调度器,它将CPU的时间片(window下最小约为15毫秒)分给不同的程序使用&#xff0…

第十四届蓝桥杯大赛软件赛国赛C/C++ 大学 B 组 拼数字

//bfs只能过40%。 #include<bits/stdc.h> using namespace std; #define int long long int a,b,c,dp[2028]; struct s {int x,y,z;string m; }; map<vector<int>,int>k; signed main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);cin>>a…

[数据结构]红黑树的原理及其实现

文章目录 红黑树的特性红黑树的时间复杂度推导&#xff1a;结论红黑树与AVL树比较 红黑树的插入红黑树的节点定义调整策略思考情况2&#xff1a;思考情况3&#xff1a; 代码实现myBTRee.htest.cpp 红黑树的特性 红黑树最常用的平衡二叉搜索树。跟AVL树不同的是&#xff0c;红黑…

基于springboot+vue+Mysql的交流互动系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

【RAG 论文】IRCoT:基于 CoT 的交叉检索解决多步骤问题

论文&#xff1a;Interleaving Retrieval with Chain-of-Thought Reasoning for Knowledge-Intensive Multi-Step Questions ⭐⭐⭐⭐ ACL 2023, arXiv:2212.10509 Code: github.com/stonybrooknlp/ircot 论文速读 大多数 RAG 都是一次检索来辅助 LLM 生成&#xff0c;但是面对…

品鉴中的艺术审美:如何将红酒品鉴提升为一种艺术体验

品鉴云仓酒庄雷盛红酒不仅仅是对酒本身的体验&#xff0c;更是一种艺术和审美的过程。将品鉴提升为一种艺术体验&#xff0c;需要我们用更细腻的感官、情感和认知去感受葡萄酒的魅力。 首先&#xff0c;我们要意识到品鉴葡萄酒是一种多感官的体验。除了基本的视觉、嗅觉和味觉…

利用管道通信(pipe)测量进程间的上下文切换(context switch)开销

利用管道通信(pipe)测量进程间的上下文切换(context switch)开销 《https://pages.cs.wisc.edu/~remzi/OSTEP/cpu-mechanisms.pdf》 Measuring the cost of a context switch is a little trickier. The lmbench benchmark does so by running two processes on a single CPU…

Vditor集成于VUE笔记

文章目录 前言一、安装Vditor二、渲染markdown三、options3.1 自建CDN3.2 outline大纲不显示、不跳转问题3.3 upload 图片/视频上传3.4 toolbar提示位置点击事件more中文字 3.5 sv分屏渲染模式隐藏编辑框3.6 after中的insertValue或者setValue 前言 Vditor是一款易于使用的 Ma…

3D Web轻量化引擎HOOPS Communicator如何处理DWG文件中的图纸?

在当今工程设计和建筑领域&#xff0c;数字化技术已经成为不可或缺的一部分。HOOPS Communicator作为一种强大的三维数据可视化工具&#xff0c;被广泛应用于处理各种CAD文件&#xff0c;其中包括AutoCAD的DWG格式。在这篇文章中&#xff0c;我们将探讨HOOPS Communicator是如何…

DRF 跨域问题

【一】说明 CORS&#xff08;跨来源资源共享&#xff0c;Cross-Origin Resource Sharing&#xff09;是一种浏览器技术的规范&#xff0c;旨在解决浏览器同源策略&#xff08;Same-Origin Policy&#xff09;的限制&#xff0c;使得Web服务可以从不同的网域&#xff08;源&…

org.springframework.jdbc.BadSqlGrammarException

Cause: java.sql.SQLSyntaxErrorException: Table ‘web.emp’ doesn’t exist 产生原因&#xff1a;web表找不到&#xff0c;所以可能数据库配置错误 spring.datasource.urljdbc:mysql://localhost:3306/web02 更改完成后运行成功

Web浏览器的兼容性测试需要考虑哪些测试点?

测试web网站兼容性时&#xff0c;可以使用各种测试用例来确保网站在不同浏览器中的良好兼容性。以下是一些常见的兼容性测试用例示例&#xff1a; 1. 页面加载测试&#xff1a; - 确保网站在不同浏览器中正常加载&#xff0c;没有加载错误。 - 检查页面加载时间&#xff0c;…

场景文本检测识别学习 day09(SSM、S4、Mamba、S6)

SSM&#xff08;State Space Model&#xff09; SSM是一个针对连续函数的模型&#xff0c;即输入是连续函数&#xff0c;输出也是连续函数。上图为状态方程和输出方程&#xff0c;其中h(t)是当前时刻的状态&#xff0c;x(t)是当前时刻的输入&#xff0c;h’(t)是下一个时刻的状…

应用TRIZ创新原理解决技术矛盾的步骤是什么样的?

如何在有限的时间和资源下&#xff0c;高效地解决技术矛盾&#xff0c;推动技术的进步和创新呢&#xff1f;答案就隐藏在TRIZ创新原理之中。 首先&#xff0c;我们需要了解什么是TRIZ创新原理。TRIZ&#xff0c;即发明问题解决理论&#xff0c;是一套系统的创新方法论&#xff…

程序验证之Dafny--证明霍尔逻辑的半自动化利器

一、What is Dafny?【来自官网介绍 Dafny 】 1)介绍 Dafny 是一种支持验证的编程语言&#xff0c;配备了一个静态程序验证器。 通过将复杂的自动推理与熟悉的编程习语和工具相结合&#xff0c;使开发者能够编写可证明正确的代码&#xff08;相对于 {P}&#xff33;{Q} 这种…

uniapp微信小程序通过萤石云接入海康摄像机

需求&#xff1a;在uniapp微信小程序上查看海康威视的摄像机监控视频和和操作摄像机拍摄方向 在萤石云接入海康摄像机设备&#xff0c;由于不同品牌设备在不同时间段接入方式可能不一致&#xff0c;具体接入方式查看官方文档或咨询官方客服。 海康摄像机官方客服热线&#xf…

web学习笔记(五十五)

目录 1. 配置代码片段的步骤 2. 条件判断 2.1 v-if、v-else、v-else-if 2.2 v-show 2.3 v-show和v-if的区别 1. 配置代码片段的步骤 在Visual Studio Code中我们可以将常用的代码配置成代码片段&#xff0c;这样就可以在页面上快速输入大段代码了。 &#xff08;1&#…

JavaScript-基本数据类型和变量

基本数据类型 JavaScript支持数字、字符串和布尔值3种基本数据类型 字符串型 字符串型是JavaScript用来表示文本的数据类型&#xff0c;字符串通常由单引号或双引号括起来&#xff0c;如果字符串存在特殊字符&#xff0c;可以用转义字符代替 数字型 数字型也是JavaScript中的基…

pytest教程-46-钩子函数-pytest_sessionstart

领取资料&#xff0c;咨询答疑&#xff0c;请➕wei: June__Go 上一小节我们学习了pytest_report_testitemFinished钩子函数的使用方法&#xff0c;本小节我们讲解一下pytest_sessionstart钩子函数的使用方法。 pytest_sessionstart 是 Pytest 提供的一个钩子函数&#xff0c…