CVPR 2024 | 拖拽P图又双叒升级了!DragNoise实现更快更准的拖拽编辑

前言 新加坡管理大学何盛烽团队联合华南师范大学在 CVPR 2024 上发表了工作《Drag Your Noise: Interactive Point-based Editing via Diffusion Semantic Propagation》。这一工作聚焦于利用扩散模型语义传播实现交互式点控制的图像编辑,只需点几个点,即可对用户输入的真实图片和生成图片精准快速的编辑,再也不用担心甲方 “天马行空” 的要求!

DragNoise 对内容填充、擦除、转脸、姿势控制等要求都能轻松快速的搞定,想要拖动哪里只需点一个红点,想要拖到哪里只需点一个蓝点,DragNoise 即可将红点的内容拖拽到蓝点。相对于 SOTA 方法 DragDiffusion,我们方法在有效保留图片原有信息的同时实现更精准快速的拖拽。

论文题目:

Drag Your Noise: Interactive Point-based Editing via Diffusion Semantic Propagation

论文地址:

https://arxiv.org/abs/2404.01050

代码地址:

https://github.com/haofengl/DragNoise

 

在这一领域,一些近期的工作引起了广泛关注。利用生成对抗网络 (GAN) 的 DragGAN 是一个重要里程碑,DragDiffusion 进一步应用到扩散模型上,下图展示了这两个方法的主要思想。不同于传统的“Outer-inversion”将真实图像反演至 latent 空间,我们将这种将用户编辑反演至 latent 空间的内部优化过程称为“Inner-inversion”。 

1. DragGAN:使用 StyleGAN2 生成器的第 6 层特征作为运动监督,将拖拽编辑反演至 latent code,从而产生相应的拖动结果图。尽管 DragGAN 具有创新性,但基于 GAN 固有的生成效果局限性使其无法获得高质量的编辑结果。此外,该工作和其他基于 GAN 的编辑方法涉及优化新的 latent code,难以保留图片全局内容。

2. DragDiffusion 利用大规模预训练扩散模型的优势,在这一领域取得了显著进步。DragDiffusion 延续了 DragGAN 的“Inner-inversion”方法,利用 U-Net 中间特征来监督优化噪声 latent map,从而控制后续去噪过程生成编辑后的图片。 

然而,我们发现 DragDiffusion 出现了两个主要问题:梯度消失导致的拖拽不足或无效,以及较低的反演保真度。DragDiffusion 的反演反向传播链较长,当控制点前后的特征差异很小时,梯度消失的问题就会加剧,导致结果出现“欠拖拽”。 

此外,保持图像的保真度仍然是反演技术的长期挑战。虽然 DragDiffusion 相比 DragGAN,通过将“Inner-inversion”扩展到二维 latent map,改善了空间控制,但由于其优化路径为反传到去噪过程中的有噪声 latent map,仍然难以保持较高的保真度。

相比于以上的方法,我们提出的方法 DragNoise 改变预测的噪声并传播优化来进行图像编辑。 

DragNoise 的核心思想来源于我们对在扩散模型中一种“middle-block replacement”的操作的探索。该操作从某个去噪时间步开始,将不同层的特征复制到所有后续 timestep 的对应层。通过观察 DDIM inversion 重建图像的效果,我们探索了扩散模型在何时以及何处学习到何种层次的语义信息。 

如下图所示,我们发现,bottleneck 特征是一种最优扩散语义表示,适合于高效编辑。由于它可以在早期 timestep 中有效地被编辑,因此操纵 bottleneck 特征可以平滑地传播到后面的去噪步骤,从而确保结果图像扩散语义的完整性。此外,由于优化 bottleneck 的路径短,有效地避免了梯度消失问题。

如下图所示,我们的方法 DragNoise 包括两个过程——扩散语义优化和扩散语义传播: 

1. 扩散语义优化:DragNoise 的编辑过程开始于训练高级语义的 timestep (例如,t=35),在此阶段针对用户的拖拽编辑对 U-Net 的 bottleneck 特征进行扩散语义优化。优化后的 bottleneck 特征学习到预期的拖拽效果,并使 U-Net 输出相应的操纵噪声。

2. 扩散语义传播:上一个步骤中优化的 bottleneck 特征包含了目标语义,因此与上面讨论的“middle-block replacement”操作相似,我们通过替换相应的 bottleneck 特征将优化后的 bottleneck 特征传播到所有后续时间步,从而避免了冗余的特征优化。这种替换以稳定、高效的方式显著增强了操纵效果。

我们使用拖拽编辑数据集 DragBench 和不同的示例图像进行了广泛的定量和定性实验。如下图,DragDiffusion 在大幅编辑时,会出现破坏周围特征的情况。DragGAN 由于其生成能力的限制, 对用户输入的图片编辑会严重失真,即使对于 GAN 生成的图片(下图中小猫),由于其优化的 latent code 为一维特征,缺少空间控制能力,会出现全局变化。

另外,我们在编辑点周围特征相似的极端情况下进行了实验,我们方法可以实现精准的控制,且控制能力优于 FreeDrag 方法。

与 DragDiffusion 相比,DragNoise 显著减少了 50% 以上的优化步骤。结果表明了 DragNoise 的编辑具有突出的效率和灵活性。

我们在 DragBench 数据集上进行了定量实验,结果达到了 SOTA。

此外,我们展示更多和 DragDiffusion 的对比效果,以表明我们方法广泛的有效性。

最后,我们展示更多的 DragNoise 的编辑过程,以表明 DragNoise 的连续性和稳定性。

 

 

 

 

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

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

相关文章

JVM从1%到99%【精选】-初步认识

目录 🥞1.什么是JVM 🍿2.JVM的功能 🥓3.常见的JVM 🌭4.JVM的位置 🧂5.JVM的整体结构 🎃6.JVM的生命周期 🎈7.JVM的架构模型 1.什么是JVM JVM本质上是一个运行在计算机上的程序,他的职责…

YOLOv7创新改进: 小目标 |新颖的多尺度前馈网络(MSFN) | 2024年4月最新成果

💡💡💡本文独家改进:多尺度前馈网络(MSFN),通过提取不同尺度的特征来增强特征提取能力,2024年最新的改进思路 💡💡💡创新点:多尺度前馈网络创新十足,抢先使用 💡💡💡如何跟YOLOv8结合:1)放在backbone后增强对全局和局部特征的提取能力;2)放在detect…

【THM】Metasploit: Introduction(简介)-初级渗透测试

介绍 Metasploit是使用最广泛的开发框架。Metasploit是一个强大的工具,可以支持渗透测试的所有阶段,从信息收集到后利用。 Metasploit有两个主要版本: Metasploit Pro:商业版本,有助于任务的自动化和管理。该版本有图形用户界面( GUI)。Metasploit Framework:从命令行…

水库水位监测:从传统到现代的技术革新与数据应用

水库,作为水利工程的关键设施,在防洪、灌溉、发电和供水等多个领域具有不可替代的作用。而水库的水位变化,直接关联到其功能的发挥及周边生态环境的稳定。因此,对于水库水位的科学、精准监测显得尤为关键。 一、传统方法的局限 过…

使用ORDER BY进行排序

ASC:升序,默认 DESC:降序 SELECT employee_id, first_name, salary FROM employees ORDER BY salary ASC; SELECT employee_id, first_name, salary FROM employees ORDER BY salary DESC; 二级排序 按salary降序,employee_id升…

【智能排班系统】基于SpringSecurity实现登录验证、权限验证

文章目录 SpringSecurity介绍sss-security实现依赖工具类Jwt工具JSON响应工具加密工具类 用户上下文用户信息实体类用户上下文 自定义重写自定义无权限的报错自定义密码加密自定义用户类 过滤器登录过滤器权限过滤器 Service登录Service 配置类说明登录验证权限验证IP流量限制 …

【LeetCode】热题100:排序链表

题目: 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head [4,2,1,3] 输出:[1,2,3,4] 示例 2: 输入:head [-1,5,3,4,0] 输出:[-1,0,3,4,5] …

对抗样本攻击

对抗样本是指经过特殊设计或调整的输入数据,旨在欺骗人工智能模型,使其产生错误的预测或输出。对抗样本通常是通过对原始输入进行微小但精心计算的改变,使得模型产生意外的结果。这种模糊化的输入可能难以从人类角度甄别,但对机器…

python 02字符串

字符串可能是用到最多的数据类型了,所有标准序列操作(索引、切片、乘法、成员资格检查、长度、最小值和最大值)都适用于字符串 但别忘了字符串是不可变的,因此所有的元素赋值和切片赋值都是非法的。 1.居中效果 默认为空格 可…

纯小白蓝桥杯备赛笔记--DAY9(动态规划)

文章目录 一、动态规划基础(1)线性DP简介步骤例题数字三角形--1536破损的楼梯-3367安全序列-3423 (2)二维DP简介例题摆花--389选数异或--3711数字三角形--505 (3)最长公共子序列LCSLCS算法模型最长公共子序…

Docker容器与虚拟化技术:OpenEuler 部署 ES 与 Kibana

目录 一、实验 1.环境 2.OpenEuler 部署 ES (EalasticSearch) 3.OpenEuler 部署 Kibana 4.部署 Elasticvue插件 5.使用cpolar内网穿透 6.使用Elasticvue 一、实验 1.环境 (1)主机 表1 主机 系统架构版本IP备注LinuxopenEuler22.03 LTS SP2 1…

C语言之指针的指向地址和指针的内容总结(八十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

Notion 开源替代品 AFFINE 部署和使用教程

AFFiNE 是一款完全开源的 Notion Miro 替代品,与 Notion 相比,AFFiNE 更注重隐私安全,优先将笔记内容保存到本地。 GitHub 地址:https://github.com/toeverything/AFFiNE AFFiNE 使用 Rust 和 Typescript 构建,只需…

【微服务】SpringCloud之Feign远程调用

🏡浩泽学编程:个人主页 🔥 推荐专栏:《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》《项目实战》 🛸学无止境,不骄不躁,知行合一 文章目录 …

【漏洞复现】易宝OA GetProductInv接口存在SQL注入漏洞

漏洞描述 易宝OA是一款功能非常强大的办公软件。用户通过软件里可以轻松的进行移动办公,功能非常的丰富,可以满足用户的各种办公需求,让你的办公效率有了有效的提高,通过软件里可以轻松的解决用户的各种办公事项。易宝OA GetProductInv接口存在SQL注入漏洞。 免责声明 …

【LeetCode】--- 动态规划 集训(二)

目录 一、63. 不同路径 II1.1 题目解析1.2 状态转移方程1.3 解题代码 二、931. 下降路径最小和2.1 题目解析2.2 状态转移方程2.3 解题代码三、174. 地下城游戏3.1 题目解析3.2 状态转移方程3.3 解题代码 一、63. 不同路径 II 题目地址: 不同路径 II 一个机器人位于…

机器学习数据预处理—统计分析方法

数据预处理 1 数据规范化 量纲,指将一个物理导出量用若干基本量的乘方之积表示出来的表达式。数据的比较需要关注两点——绝对数值和量纲,而特征间因为量纲的存在导致无法直接通过绝对数值比较大小,也就无法判断特征间的重要性。例如若某个…

中霖教育:注册会计师专业阶段考试难吗?

注册会计师专业阶段考试包含的考试科目众多,涉及的专业领域广泛,所以整体的难度相对较高。根据历年统计数据,该阶段的通过率平均约为22%,综合阶段的通过率在72%。 针对专业阶段,具体包括以下六门科目:《会…

DC9 Debian和sql注入

信息收集 sudo arp-scan -l 列出局域网主机 arp-scan向局域网中所有可能的ip地址发出arp请求包,如果得到arp回应,就证明局域网中某台主机使用了该ip dc9的ip : 192.168.146.133 访问网页 cms为Debian 端口扫描 22端口是filtered 隐藏目…

C++ 内存分配时地址对齐

如果数据地址的对齐与CPU相兼容,那么CPU读写内存时性能会更高。 因此在C中,有时会希望在堆或栈中分配内存时,返回的地址能按照特定的长度对齐。 如果希望在栈中分配的内存时,返回地址按照特定长度对齐,可以使用 alig…