CVMJ 2024 | StyleDiffusion: 基于Prompt嵌入的真实图像反演和文本编辑
论文:《StyleDiffusion: Prompt-Embedding Inversion for Text-Based Editing》
代码:https://github.com/sen-mao/StyleDiffusionhttps://github.com/sen-mao/StyleDiffusion
问题背景
已有一些工作利用预训练扩散模型进行真实图像的编辑。这些方法通常通过微调模型或在预训练模型的潜在空间中对图像进行反演。然而,它们面临两个主要问题:(1)在选定区域的编辑结果不理想(图 1. 第一行),同时在未选定区域出现意外变化(图 1. 第二行);(2)需要精心设计文本提示,确保文本提示涵盖输入图像中的所有元素(图 2. 第一行)。


为了解决这些问题,我们提出了两个主要改进:(1)仅优化cross-attention层中value线性层的输入,已具有足够强的能力以重建真实图像;(2)提出了注意力正则化方法,以保持重建和编辑后的物体注意力图,从而实现精确的编辑,而不会产生显著的结构性变化。此外,我们还通过P2P 使用CFG时的无条件分支改进了编辑能力,提出P2Plus。
对注意力机制的分析(重要观察)
为了解决提到的挑战,我们首先对扩散模型SD采样过程中的注意力机制进行了分析。我们观察到,key主导输出图像的结构(即"where"),而value决定了物体的风格(即"what")。接下来,我们通过实验证明value决定物体的风格(即"what")。如图 3.(第一行和第二行)所示,我们使用提示嵌入和
生成了两组图像(
=["Dog", "Dog", "Dog", "A man with glasses", "A dog holding flowers"],
=["Cat", "Tiger", "Watercolor drawing of a cat", "A man in sunglasses", "A cat wearing sunglasses"])。随后,我们在同一注意力层中为key和值value的输入使用了两种不同的嵌入来进行分析。如图 3.(第三行和第四行)所示,当交换key的输入并固定value的输入时,我们观察到生成图像的内容相似。例如,第一行和第三行的生成内容相似,第二行和第四行的内容相似。然而,如图 3.(第五行和第六行)所示,当交换value的输入并固定key的输入时,我们发现内容发生了交换,同时保留了大部分结构。例如,最后一行的图像与第一行的图像在语义信息上相似,而与第二行的图像结构相似。需要注意的是,第一行、第三行和第五行共享相同的潜在编码(cross-attention中的query),第二行、第四行和第六行也共享相同的潜在编码。},因此图 3.中的第一行和第三行,第二行和第四行的结构变化不大。这一实验表明,cross-attention中的value决定了物体的风格(即"what")。

方法(StyleDiffusion的真实图像反演)
因此,为了改进真实图像的反演,有效地利用value控制图像的风格(内容),我们提出StyleDiffusion。StyleDiffusion在真实图像反演时将真实图像映射到value的输入嵌入(我们将该嵌入称为Prompt-embedding,图 4.中II. StyleDiffusion中v的输入),同时我们将文本嵌入作为key的输入(图 4.中II. StyleDiffusion中k的输入"dog"),使用对latent进行重构,这使我们能够在反演时不引入显著结构性变化,而在编辑时实现精确的风格(内容)编辑。

同时,为了使局部注意力图更加精确,我们提出了一种注意力正则化方法,以获得更精确的重建和编辑能力。图 5.展示了注意力正则化的重建效果。结合
重建图像的交叉注意力图(第二行,第五列)与输入图像的交叉注意力图(第二行,第一列)更为接近。同时,
可以改善Null-text的重建质量(第二行,第二列)。在最后两列中,cow被替换为elephant,说明
在增强重构效果的基础上,可以获得更精准的编辑效果。

方法(StyleDiffusion的真实图像的编辑P2Plus)
在使用StyleDiffusion对真实图像进行反演后,就可以对真实图像进行编辑。在编辑阶段,我们主要基于使用广泛的编辑方法P2P 。P2P执行条件分支中交叉注意力图和自注意力图的替换,旨在保持源提示的结构(图 6.第二列)。然而,P2P仅在条件分支上操作,忽略了无条件分支。这导致在某些情况下编辑能力较弱,尤其是在编辑前后结构变化较大的情况下(例如,图 6.中的"…tent…"→"…tiger…")。

为了解决这个问题,我们需要减少结构对源提示"…tent…"的依赖,并为根据目标提示生成结构提供更多自由度,以便根据目标提示"…tiger…"生成结构。因此,如图 7.所示,我们提出在无条件分支中进一步执行自注意力图替换,我们称为P2Plus,同时在条件分支中像P2P一样进行操作。P2Plus提供了更精确的编辑能力。

与P2P类似,我们引入了一个时间步参数,用于确定注入应用的步骤范围。图 8. 展示了不同
值下的结果。P2P(第二列:
)未能成功地将tent替换为tiger。添加注入参数
有助于成功编辑,尤其是当
时。我们使用与SD相同的分类器自由引导CFG参数
,此时无条件分支的权重
为负,随着
从0.2增加到1.0(从第三列到第八列),P2Plus可以逐渐减弱无条件分支中tent的影响。第一行和第二行的源图像来自SD,而第三行的源图像来自输入的真实图像(第一列)。从第一行到第三行的编辑分别为:"...tent..." → "...tiger...","...bike..." → "...motorcycle...",以及"...kitten..." → "...puppy..."。

实验结果
我们对所提的方法(StyleDiffusion)对真实图像的编辑进行了验证,编辑时对非编辑区域的保持均超过了baselines。例如,我们使用Structure-dist和NS-LPIPS来评测编辑前后结构的保真度,StyleDiffusion在两个指标上表现最好(评测不使用P2Plus)。使用未编辑区域的掩码,我们计算真实图像与编辑后图像之间的未编辑区域LPIPS,我们将其称为NS-LPIPS(即未选区域的 LPIPS)。较低的NS-LPIPS得分意味着未编辑区域与输入图像更相似(提取未编辑区域和计算NS-LPIPS代码见GitHub - sen-mao/StyleDiffusion: Official Implementations "StyleDiffusion: Prompt-Embedding Inversion for Text-Based Editing" (CVMJ2024)Official Implementations "StyleDiffusion: Prompt-Embedding Inversion for Text-Based Editing" (CVMJ2024) - sen-mao/StyleDiffusionhttps://github.com/sen-mao/StyleDiffusion#-ns-lpips虽然*DDIM,SDEdit和MasaCtrl取得了更好的Clipscore,但会显著影响结构的保证度(图 9.)


图 10. 和图 11.展示了我们更多的编辑结果


总结StyleDiffusion的贡献:
1. StyleDiffusion通过优化value输入和注意力正则化,实现了对真实图像更精确的重建和编辑
2. StyleDiffusion提出了P2Plus,解决了P2P的局限性,使P2P获得更强大的编辑能力,特别是在源对象与目标对象编辑前后结构变化较大时
最后,强烈建议阅读原文,了解更多实现细节和实验结果。
相关文章:
CVMJ 2024 | StyleDiffusion: 基于Prompt嵌入的真实图像反演和文本编辑
论文:《StyleDiffusion: Prompt-Embedding Inversion for Text-Based Editing》 代码:https://github.com/sen-mao/StyleDiffusionhttps://github.com/sen-mao/StyleDiffusion 问题背景 已有一些工作利用预训练扩散模型进行真实图像的编辑。这些方…...
UE5 帧数优化思路
A、思路 1、直接在GM的事件beginplay中改可延展性相对质量级别, 改为1或2,最简单粗暴的方式,而效果明显,帧数提高一倍,GPU占用率与显存占用直接下降一大截。在物体密集的地方卡顿会缓解很多,物体少的地方…...
【Java】正则表达式基础题+场景题练习
基础语法可以看我另一篇博客:正则表达式【规则】【实例】【技巧】_正则规则-CSDN博客 输出结果全是true public class StringRegexTest {public static void main(String[] args) {System.out.println(matchSingleNum("1"));System.out.println(matchMul…...
qq资料修改/空间操作
此工具仅支持 空间ck导入操作 发布说说 转发别人的动态分享 支持修改头像 修改昵称 空间权限获取 说说内容自定义 说放置说说图片 同样也支持多ck操作 详细支持如下 发布说说 转发分享 修改头像 修改昵称 允许空间 发送分享 设置访客权限 问题空间 清空相册 删除说说 封存三天…...
数据结构—图
目录 一、图的定义 二、图的基本概念和术语 2.1有向图 2.2无向图 2.3简单图 2.4多重图 2.5完全图 2.6子图 2.7连通、连通图和连通分量 2.8强连通图、强联通分量 2.9生成树,生成森林 2.10顶点的度、入度和出度 2.11边的权和网 2.12稠密图、稀疏图 2.1…...
【Prompt Engineering】2.迭代优化
一、环境配置 配置使用zhipuai API 的环境。安装 zhipuai 库,并设置 API_KEY。封装 zhipuai 接口的函数,参数为 Prompt,返回对应结果。 from zhipuai import ZhipuAI zhipu_client ZhipuAI(api_key"") # 一个封装 OpenAI 接口…...
每日十题八股-2024年12月16日
1.垃圾回收算法哪些阶段会stop the world? 2.minorGC、majorGC、fullGC的区别,什么场景触发full GC 3.垃圾回收器 CMS 和 G1的区别? 4.什么情况下使用CMS,什么情况使用G1? 5.G1回收器的特色是什么? 6.GC只会对堆进行GC吗&#x…...
使用 imageio 库轻松处理图像与视频
使用 imageio 库轻松处理图像与视频 imageio 是一个 Python 库,用于读取和写入多种图像和视频格式。它功能强大、易于使用,广泛应用于图像处理、视频编辑和数据可视化等领域。本篇文章将介绍 imageio 的基础功能、常见用法以及高级操作。 一、安装 imag…...
MR30分布式IO模块:驱动物流传输机高效升级
在日新月异的物流行业中,效率与智能化已成为推动企业转型升级的关键驱动力。随着物联网、大数据、云计算等技术的深度融合,传统物流传输机正逐步向智能化、自动化迈进。在这场技术革命中,明达技术MR30分布式IO模块以其独特的优势,…...
【开源免费】基于SpringBoot+Vue.JS在线竞拍系统(JAVA毕业设计)
本文项目编号 T 013 ,文末自助获取源码 \color{red}{T013,文末自助获取源码} T013,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…...
Docker
文章目录 仓库容器核心组件网络模式挂载方式Docker常用指令Compose常用指令代码 仓库 国内镜像仓库地址 修改方法见: https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 科大镜像:https://docker.mirrors.ustc.edu.cn/网易:ht…...
上海艾一公司-运维工程师知识点备战
1.AD域控(ActionDirectory活动目录) ad域的作用:批量管理主机和用户(所以数量要多用这个才合适) 前置1:VM安装Windows镜像 2.IT资产管理 3.会议室管理...
程序员实用工具之推荐(Recommendations for Practical Tools for Programmers)
11款程序员实用工具,老少皆宜 优秀程序员之所以优秀的原因并不一定是他写代码的速度比所有人都快,但他解决事情的效率一定是比很多人都要高的,提升工作效率的方法并不需要我们十八般武艺样样精通,有时候使用好的工具就能帮助我们大…...
win服务器的架设、windows server 2012 R2 系统的下载与安装使用
文章目录 windows server 2012 R2 系统的下载与安装使用1 windows server 2012 的下载2 打开 VMware 虚拟机软件(1)新建虚拟机(2)设置虚拟机(3)打开虚拟机 windows server 2012(4)进…...
当服务器数据包丢失该怎样进行解决?
当企业面对服务器数据包丢失的情况,都有哪些解决策略呢? 首先对于数据丢失,最直接的方法就是尝试进行数据恢复,数据恢复过程通常包括使用数据恢复软件扫描丢失数据的磁盘驱动器,以此来尝试找回丢失的文件,在…...
go语言 爬虫 钉钉群机器人
第一步:钉钉新建一个群机器人 钉钉创建群机器人文档:https://open.dingtalk.com/document/orgapp/custom-robot-access 安全设置选择签名 签名设置文档:https://open.dingtalk.com/document/robots/customize-robot-security-settings 第二步…...
14篇--模板匹配
原理 模板匹配就是用模板图(通常是一个小图)在目标图像(通常是一个比模板图大的图片)中不断的滑动比较,通过某种比较方法来判断是否匹配成功。 匹配方法 1. 平方差匹配TM_SQDIFF 以模板图与目标图所对应的像素值使用…...
Cadence学习笔记 5 四路HDMI原理图绘制
基于Cadence 17.4,四层板4路HDMI电路 更多Cadence学习笔记:Cadence学习笔记 1 原理图库绘制Cadence学习笔记 2 PCB封装绘制Cadence学习笔记 3 MCU主控原理图绘制Cadence学习笔记 4 单片机原理图绘制 目录 5、四路HDMI原理图绘制 快捷键总结:…...
一文详解“分治—归并“在算法中的应用
找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏: 优选算法专题 这里的归并与我们在数据结构中学习的归并排序是一样的,我们可以先来复习一下归并排序。用一道题来帮助我们回想起归…...
哪些视频媒体平台可给企业直播间做分发拉流转播宣传?提升流量数据!
【本篇由 言同数字媒体直播分发 原创】在如今信息爆炸的时代,直播已成为企业进行品牌传播、产品推广和与消费者互动的重要渠道。为了最大化直播效果,企业通常需要选择合适的视频平台进行直播分发和拉流宣传。以下是一些热门的视频平台,它们为…...
软硬件漏洞有哪些
关于网络软件安全漏洞与硬件安全漏洞,这是一个涉及到信息安全领域的重要问题。在当前信息化快速发展的背景下,无论是软件还是硬件的安全问题都可能成为安全隐患,因此了解这两方面的安全漏洞对于提升整体系统的安全性至关重要。 ### 网络软件…...
ElasticSearch系列:索引分片调整
一、前言 ElasticSearch版本:8.11.1 操作环境:机器数5,规格为16核32 GB 索引名称:test 索引大小:1.5G 索引分片:1主1副 测试环境将test索引调整为2主2副。计划采用如下两种方案: 方式耗时…...
KeyFormer:使用注意力分数压缩KV缓存
Keyformer: KV Cache Reduction through Key Tokens Selection for Efficient Generative Inference 202403,发表在Mlsys Introduction 优化KV cache的策略,主要是集中在系统级别的优化上,比如FlashAttention、PagedAttention,它…...
ElementPlus Table 表格实现可编辑单元格
通过基础的Table表格来实现单元格内容的可编辑 1.首先定位到需要编辑的列,替换el-table-column <el-table-column label"Editable Column" width"300"><template #default"{ row, column, $index }"><el-inputsize&qu…...
ASR-LLM-TTS 实时语音对话助手:语音识别、大模型对话、声音生成
参考:https://blog.csdn.net/weixin_42357472/article/details/137020794 asr:funasr-SenseVoiceSmall 离线 llm:deepseek 在线api tts:edge-tts 在线api import pyaudio import wave import threading import numpy as np import time from queue import Queue import web…...
怎样正确做 Web 应用的压力测试?
Web应用,通俗来讲就是一个网站,主要依托于浏览器来访问其功能。 那怎么正确做网站的压力测试呢? 提到压力测试,我们想到的是服务端压力测试,其实这是片面的,完整的压力测试包含服务端压力测试和前端压力测…...
什么是MyBatis?
MyBatis 是一个优秀的持久层框架,它消除了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的工作。MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象…...
【网络云计算】2024第50周-每日【2024/12/13】小测-理论-写10个Bash Shell脚本-解析
文章目录 1. 计算1到100的和2. 列出当前目录下所有文件和文件夹3. 检查文件是否存在4. 备份文件到指定目录(简单示例)5. 打印系统当前日期和时间6. 统计文件中的行数7. 批量重命名文件(将.txt后缀改为.bak)8. 查找进程并杀死&…...
联发科MTK8788_MT8788安卓核心板安兔兔跑分_安卓主板方案商
MT8788安卓核心板具有集成的蓝牙、fm、WLAN和gps模块,是一个高度集成的基带平台,包括调制解调器和应用处理子系统,启用LTE/LTE-A和C2K智能设备应用程序。该芯片集成了工作在2.0GHz的ARM Cortex-A73、最高可达2.0GHz的ARM Cortex-A53和功能强大…...
文本情感分类
一、文本情感分类的基本概念 文本情感分类是自然语言处理(NLP)中的一个重要任务,它主要是对文本中所包含的情感倾向进行分类。情感倾向通常可以分为正面(如赞美、高兴等)、负面(如批评、愤怒等)…...
【已解决】启动此实时调试器时未使用必需的安全权限。要调试该进程,必须以管理员身份运行此实时调试器。是否调试该进程?
【已解决】启动此实时调试器时未使用必需的安全权限。要调试该进程,必须以管理员身份运行此实时调试器。是否调试该进程? 目录一、前言二、具体原因三、解决方法 目录 报错截图 一、前言 进行应用程序开发时,需要对w3wp进行附加调试等场景ÿ…...
3D工具显微镜的测量范围
一、测量尺寸范围 样品尺寸: 3D工具显微镜通常能够测量各种尺寸和形状的样品,从小至微米级别的微小结构到大至几厘米甚至更大的物体。具体的测量尺寸范围取决于显微镜的载物台大小、镜头焦距以及软件处理能力。测量精度: 3D工具显微镜的测量…...
电脑丢失dll文件一键修复的多种方法分析,电脑故障修复攻略
电脑在使用过程中,有时会遇到DLL文件丢失的情况,这可能导致软件无法正常运行或系统出现故障。当面对这种状况时,不必过于慌张,因为有多种有效的修复方法可供选择。下面我们一起来看看电脑丢失dll文件的多种解决方法。 一.了解什么…...
Elasticsearch 集群快照的定期备份设置指南
Elasticsearch 集群快照的定期备份设置指南 概述 快照: 在给定时刻对整个集群或者单个索引进行备份,以便在之后出现故障时可以基于之前备份的快照进行快速恢复。 前提条件: 准备一个备份存储盘,本指南采用的是AWS EFS文件系统做…...
【YashanDB知识库】kettle同步大表提示java内存溢出
【问题分类】数据导入导出 【关键字】数据同步,kettle,数据迁移,java内存溢出 【问题描述】kettle同步大表提示ERROR:could not create the java virtual machine! 【问题原因分析】java内存溢出 【解决/规避方法】 ①增加JV…...
HP服务器开启性能模式
ENERGY PERF BIAS CFG 模式指的是通过特定配置(通常是 BIOS 或操作系统中的设置)来控制处理器的能源性能偏置(Energy Performance Bias, EPB)。EPB 是一种机制,允许用户或系统管理员在性能和功耗之间进行权衡。不同的设置可以影响系统的响应速度、能效等。 ENERGY PERF B…...
【kubernetes】资源管理方式
目录 1. 说明2. 命令式对象管理3. 命令式对象配置4. 声明式对象配置5. 三种方式的对比 1. 说明 1.在Kubernetes(k8s)中,资源管理是一个核心功能,它允许用户通过操作资源来管理Kubernetes集群。2.Kubernetes将所有的内容都抽象为资…...
react源码探索之预先知识了解
最近快期末考试,本来不打算写博客的,但是一旦停下不知又是何年,或许是我工作之后,也或许是永远把。毕竟这只是用来记录我大学的殷实生活,大四我不再着重记录,而是投身于找工作。时光匆匆,重大一…...
【工具】Git 操作大全
文章目录 1. Git 基础操作1.1 初始化 Git 仓库1.2 克隆现有仓库1.3 配置 Git 用户信息1.4 查看 Git 配置信息 2. 文件操作2.1 查看文件状态2.2 添加文件到暂存区2.3 提交文件到本地仓库2.4 查看提交历史2.5 回退到上一个提交 3. 分支操作3.1 创建新分支3.2 切换分支3.3 查看所有…...
2024年12月17日Github流行趋势
项目名称:google-gemini / cookbook 项目维护者:MarkDaoust markmcd random-forests shilpakancharla Giom-V项目介绍:Gemini API 的使用示例和指南。项目star数:7,977项目fork数:998 项目名称:TEN-framew…...
揭秘语言模型后训练:指令微调、偏好调优与强化学习的深度解析
揭秘语言模型后训练:指令微调、偏好调优与强化学习的深度解析 前言1. 什么是后训练?2. 指令微调(Instruction Fine-Tuning, SFT)概念训练流程实践示例:TLU 3 3. 偏好调优(Preference Tuning, DPO࿰…...
AIDD-人工智能药物设计-ChemDraw Mac版pojie安装
AIDD-人工智能药物设计-ChemDraw Mac版pojie安装 Mac系统12.X版本需要安装chemdraw v20及以上。 https://github.com/Z-H-Sun/CS_CCME_Posts/blob/hidden/cos/cdm2.md 一、准备工作 软件下载地址:https://pan.baidu.com/s/1SDZCriXsxPZvcHMoA7WzUA 提取码&#…...
MySQL 入门大全:运算符
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…...
如何使用Kimi进行学术仿写?
目录 1.Kimi分析仿写选题 2.Kimi拆解论文框架 3.Kimi分析论证方法 学习如何从别的优秀论文中吸取精华是提高学术论文写作的一个高效的方法。适当的模仿能帮助理解研究方向相关内容,还可以借鉴一些可取的论证方法。当然我们也应该要知道,即使是在顶刊发…...
算法训练day2|209.长度最小的字符串,59.螺旋矩阵,
两道题都做过 209 没注意是大于等于,改了一下马上通过了。 class Solution {public int minSubArrayLen(int target, int[] nums) {int l 0, r 0, len nums.length;int count 0, ans len 1, now 0;while(r < len){count nums[r];//r是下一个要加的whil…...
网络安全问题概述
1.1.计算机网络面临的安全性威胁 计算机网络上的通信面临以下的四种威胁: (1) 截获——从网络上窃听他人的通信内容。 (2) 中断——有意中断他人在网络上的通信。 (3) 篡改——故意篡改网络上传送的报文。可应用于域名重定向,即钓鱼网站。 (4) 伪造——伪…...
Web 毕设篇-适合小白、初级入门练手的 Spring Boot Web 毕业设计项目:教室信息管理系统(前后端源码 + 数据库 sql 脚本)
🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 1.0 项目介绍 开发工具:IDEA、VScode 服务器:Tomcat, JDK 17 项目构建:maven 数据库:mysql 8.0 系统用户前台和管理…...
C# 模式匹配
文章目录 前言一、is模式二、switch语句中的模式三、解构模式四、总结 前言 在 C# 中,模式匹配是一种强大的技术,它允许你在代码中更简洁、更安全地检查和处理对象的类型和值。本教程将介绍 C# 中的模式匹配功能,包括is模式、switch语句中的模…...
JWT报CORSFilter错误原因(以Java SpringBoot为例)
JWT 报 CorsFilter 原因,通常是因为跨域请求未通过浏览器的同源策略检查,而 CorsFilter 是用来处理跨域问题的过滤器。如果后端未正确配置 CORS 或 JWT 的传递方式不符合跨域要求,可能导致此类问题。 以下是具体原因及解决方法: …...
百度智能云千帆AppBuilder升级,百度AI搜索组件上线,RAG支持无限容量向量存储!
百度智能云千帆 AppBuilder 发版升级! 进一步降低开发门槛,落地大模型到应用的最后一公里。在千帆 AppBuilder 最新升级的 V1.1版本中,企业级 RAG 和 Agent 能力再度提升,同时组件生态与应用集成分发更加优化。 • 企业级 RAG&am…...