浅析扩散模型与图像生成【应用篇】(二十五)——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分别来控制负提示的影响和无分类器引导的影响。但作者通过实验发现,这个改进对于缺少纹理的轮廓图像效果更明显,而对于拥有正常外观的引导图片作用较小。本文的转换效果与其他的图像编辑方法对比如下
在这里插入图片描述

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

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

相关文章

web安全学习笔记(16)

记一下第27-28课的内容。Token 验证 URL跳转漏洞的类型与三种跳转形式;URL跳转漏洞修复 短信轰炸漏洞绕过挖掘 一、token有关知识 什么是token?token是用来干嘛的?_token是什么意思-CSDN博客 二、URL跳转漏洞 我们在靶场中,…

JVS物联网模拟点位:如何配置并自动生成点位数据全教程

模拟点位 功能描述 模拟点位常用于业务的调试或数据展示,通过配置对应点位实现自动生成点位数据的功能。 界面操作 如下图所示,从模拟点位菜单进入模拟点位管理界面 模拟点位新增 点击新增按钮,如下图所示: ①:用户…

带插画的登录页火爆一时,不过好像有点过气了,是么?

插画在B端登录页中的作用是通过增加视觉吸引力、塑造品牌形象、提升用户体验和增加可视化指引等方式,为用户提供一个愉悦、易用、具有个性化的登录体验。这有助于提高用户对企业或组织的认知和好感度,增加用户的参与度和忠诚度。 当年这种分割很火爆呀&…

前端学习第一课

AJAX 事先说明,这只是记录,并不是从零到一的教学内容,如果想要学习的话,可以跳过本文章了 ok,转回正题,正如上面所说,这只是记录。其实我是有一定的前端基础的,也做过涉及相关的开发…

【JavaEE 初阶(七)】网络原理 TCP与UDP协议

❣博主主页: 33的博客❣ ▶️文章专栏分类:JavaEE◀️ 🚚我的代码仓库: 33的代码仓库🚚 🫵🫵🫵关注我带你了解更多网络知识 目录 1.前言2.应用层2.1xml2.2json 3.传输层3.1UDP协议3.2TCP协议3.2.1确认响应3.2.2超时重…

【车载开发系列】AutoSar中的Port

【车载开发系列】AutoSar中的Port 一. Port概念 AutoSAR 接口定义了 SWC 之间、BSW 模块之间以及 SWC 和 BSW 模块之间交互的信息。AutoSAR 接口通过 SWC 和/或 BSW 模块端口(Port)的形式实现。通过这些端口,SWC 和 BSW 模块之间实现了数据…

NineData云原生智能数据管理平台新功能发布|2024年4月版

基础服务 - 工作台 NineData 工作台提供了直观明了的可视化页面,展现了当前账户下所有任务流、资源以及热点信息,包含了任务流总览、资源总览、常用文档、公告、本周热文。 基础服务 - 新增数据源支持 NineData 发布了对 TiDB、Sybase、Hive、OceanBas…

Git使用(4):分支管理

一、新建分支 首先选择Git -> Branches... 然后选择 New Branch,输入新分支名称,例如dev。 可以看到右下角显示已经切换到新建的dev分支了。 push到远程仓库,可以看到新添加的分支。 二、切换分支与合并分支 为了演示合并分支&#xff0c…

laravel 解决composer install报错

laravel 解决报错: Please provide a valid cache path 这是因为laravel的缓存路径没有找到 laravel缓存文件路径是在 config/cache.php中设置,默认存在storage文件夹中 file > [driver > file,path > storage_path(framework/cache/data),], 解决&#x…

提升LED显示屏散热效能的五大策略

在现代生活中,LED显示屏已成为不可或缺的信息展示工具,其广泛应用于商业广告、公共信息发布、舞台表演等多个领域。然而,随着LED显示屏的长时间运行,散热问题逐渐凸显,不仅影响设备的稳定性和寿命,还可能导…

【Python】语句与众所周知【自我维护版】

各位大佬好 ,这里是阿川的博客 , 祝您变得更强 个人主页:在线OJ的阿川 大佬的支持和鼓励,将是我成长路上最大的动力 阿川水平有限,如有错误,欢迎大佬指正 本篇博客是在之前的基础上进行的维护 目录 条…

React 第三十八章 React 中的位运算

位运算是一种计算机编程中常用的操作,它直接对二进制位进行操作。二进制,指的就是以二为底的一种计数方式,常见的还有八进制、十进制、十六进制。 十进制0123456789101112131415二进制0000000100100011010001010110011110001001101010111100…