实时图像编辑大革新!Adobe发布TurboEdit:可以通过文本来编辑图像,编辑时间<0.5秒!

今天给大家介绍Adobe研究院新的研究TurboEdit,可以通过文本来编辑图像,通过一句话就能改变图像中的头发颜色、衣服、帽子、围巾等等。而且编辑飞快,<0.5秒。简直是图像编辑的利器。

相关链接

项目:betterze.github.io/TurboEdit

论文:arxiv.org/abs/2408.08332

论文阅读

TurboEdit: Instant text-based image editing(即时基于文本的图像编辑)

摘要

我们在几步扩散模型的背景下解决了精确图像反转和分离图像编辑的挑战。

我们引入了一种基于编码器的迭代反演技术。反演网络以输入图像和上一步的重建图像为条件,允许对输入图像进行下一次重建校正。我们证明,通过以(自动生成的)详细文本提示为条件,可以在几步扩散模型中轻松实现分离控制。

为了操纵反转图像,我们冻结噪声图并修改文本提示中的一个属性(手动或通过 LLM 驱动的基于指令的编辑),从而生成与输入图像相似的新图像,但只有一个属性发生变化。它可以进一步控制编辑强度并接受指导性文本提示。

我们的方法促进了实时的真实文本引导图像编辑,反转中只需要 8 个功能评估 (NFE)(一次性成本),每次编辑只需要 4 个 NFE。我们的方法不仅速度快,而且明显优于最先进的多步扩散编辑技术。

方法

给定一个输入的真实图像 x0,我们利用 LLaVA 生成详细的标题 c。用户可以修改 c 以创建新的文本提示 c ′。反演过程首先将 x0、c、当前时间步长 t 和之前重建的图像 x0,t+1(初始化为零矩阵)输入反演网络。然后,该网络预测噪声 ϵt,随后将其输入到冻结的 SDXL-Turbo 模型中以生成新的重建图像 x0,t。给定最终的反演噪声 ϵt 以及 c,我们可以使用 SDXL-Turbo 创建反演轨迹并重建 x0,0,这与 x0 非常相似。使用相同的噪声 ϵt 和略有不同的文本提示 c ′,从 t = T 开始到更小的 t,编辑轨迹将与反演轨迹非常相似,生成的图像将与输入图像非常相似,仅在 c' 中指定的属性上有所不同。

实验

当呈现简洁的源文本提示时,文本空间中的微小编辑可能导致图像空间中的布局和结构发生重大变化。相反,在详细的文本提示中进行小文本编辑往往会导致图像空间中发生更简单的变化。结果来自使用相同随机种子的单步图像生成。下面提供了标题和颜色编码的修改区域。

给定详细的源文本和相应的目标文本,我们可以对文本嵌入进行插值,并在图像空间中生成平滑的插值,即使对于较大的结构变化也是如此。

使用 PIE-Bench 数据集中的描述性文本进行图像编辑比较。效率是在单个 H100 GPU 中测量的。我们的方法实现了最佳的背景保留和剪辑相似性,同时比其他方法快得多(4 步 DDIM 除外)。

我们比较了使用描述性文本提示作为指导的方法。尽管我们的方法只需要四个步骤,但它的表现优于多步骤方法,特别是在需要对属性进行重大结构变化的场景中,例如添加帽子或将男人变成女人。相比之下,InfEdit 和 Pix2PixZero 在背景和身份保存方面遇到了困难。同样,Ledits 和 Ledits++ 无法有效处理大的结构变化,这一点从它们无法添加高顶礼帽或将男人变成女人就可以看出。

我们评估了利用指导性提示作为指导的方法。虽然我们的方法不需要任何意外训练,只需要四个采样步骤,但在身份保存(猫到狗)和文本提示对齐(毛衣到 T 恤)方面,它优于 InstructPix2Pix 及其变体。值得一提的是,InstructPix2pIx 及其变体需要收集大规模意外训练集、计算密集型训练和多步骤采样。

结论

据我们所知,我们的方法是第一个在几步扩散模型的背景下探索图像编辑的工作,也是第一个探索扩散模型中基于编码器的反演的工作。我们证明,通过对(自动生成的)详细文本提示进行条件处理,可以在几步扩散模型中轻松实现解缠结控制。我们的方法使用户能够以交互速率进行逼真的文本引导图像编辑,反演和编辑过程都在几毫秒内完成。

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

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

相关文章

问题-解决

1. 在collection中的SetTest4_Student上面 此时我想解决LinkedHashSet的自定义降序身高问题是现在不行了 难道只能在构造器里面完成吗 还是说明只能为int类型 Double.compare(o1.getHeight(),o2.getHeight()) 在这道题中我在使用为什么不通过 Map<String, Integer>…

视频结构化从入门到精通——图像算法类型介绍

视频结构化主要图像算法 1 认识“数组、矩阵和张量” 1.1 什么是维度 在图像算法中&#xff0c;“维度”这个概念非常重要&#xff0c;它描述了数据的结构和形状。在不同的上下文中&#xff0c;维度可能有不同的含义&#xff0c;但总体来说&#xff0c;它们都与数据的排列方式…

【WiFi主要技术学习2】

WiFi协议学习2 WiFi SPEC理解频段信道带宽协商速率安全与加密WiFi主要技术理解BP直接序列扩频(Direct Sequence Spread Spectrum,DSSS)BPSKQPSK正交幅度调制(Quadrature Amplitude Modulation,QAM)互补码键控(Complementary Code Keying,CCK)正交频分复用(Orthogonal…

基于mallat小波变换的图像分解和重建算法matlab仿真,对比不同分解层数图像重建质量

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核心程序 &#xff08;完整版代码包含详细中文注释和操作步骤视频&#xff09…

axios取消请求CancelToken的原理解析及用法示例

文章目录 一、axios的实例与请求流程二、CancelToken 的作用三、CancelToken 的实现原理四、取消请求的流程五、CancelToken用法六、利用拦截器取消请求1、axios请求拦截器2、axios响应拦截器3、利用路由导航守卫取消请求 一、axios的实例与请求流程 下图是axios实例属性的简图…

Java技术栈 —— Spark入门(三)之实时视频流

Java技术栈 —— Spark入门&#xff08;三&#xff09;之实时视频流转灰度图像 一、将摄像头数据发送至kafka二、Kafka准备topic三、spark读取kafka图像数据并处理四、本地显示灰度图像(存在卡顿现象&#xff0c;待优化) 项目整体结构图如下 参考文章或视频链接[1] Architectur…

破解“目录名称无效”难题:数据恢复实战指南

在数字化生活日益普及的今天&#xff0c;数据存储与管理成为了我们日常不可或缺的一部分。然而&#xff0c;当您尝试访问某个文件夹时&#xff0c;却遇到了“目录名称无效”的错误提示&#xff0c;这无疑会让人感到焦虑和困惑。本文将深入探讨“目录名称无效”这一问题的根源&a…

Excel中使用VBS自定义函数将中文转为拼音首字母

1、在“开发工具”中&#xff0c;点击“Visual Basic”。如果没有“开发工具”&#xff0c;则添加。 2、添加“模块”&#xff0c;在窗口中添加自定义函数。 Function MyGetPYChar(char) MyCodeNumber 65536 Asc(char) If (MyCodeNumber > 45217 And MyCodeNumber <…

2d椭圆拟合学习

算法来自论文《 Direct Least Square Fitting of Ellipses》 《NUMERICALLY STABLE DIRECT LEAST SQUARES FITTING OF ELLIPSES》 相关文章 论文阅读&#xff1a;直接拟合椭圆 Direct Least Square Fitting of Ellipseshttps://zhuanlan.zhihu.com/p/645391510Fitting Elli…

线段树离散化、二分搜索、特别修改

699. 掉落的方块 - 力扣&#xff08;LeetCode&#xff09; 1.如果直接按照原落点的值构造线段树&#xff0c;空间开辟会过大&#xff0c;所以收集所有出现过的点进行离散化 2.方块a落在1--3点&#xff0c;b落在3--4点&#xff0c;如果直接按照落点修改&#xff0c;查询3时位置…

基于Docker搭建Graylog分布式日志采集系统

文章目录 一、简介二、Graylog1、主要特点2、组件3、工作流程介绍4、使用场景 三、Graylog 安装部署1、 安装 docker2、安装docker compose3、 安装graylog4、Graylog控制台 四、springboot集成Graylog 一、简介 Graylog是一个开源的日志管理工具&#xff0c;主要功能包括日志…

go 切片slice学习总结

切片的结构 切片的底层结构&#xff1a; type SliceHeader struct {Data uintptr // 指向底层数组的指针 Len int //长度Cap int //空间容量 } 切片的初始化 1 通过数组或者已有的slice创建新的slice 1.1 使用数组创建切片 通过数组的一部分来初始化切片。 …

数据结构-c/c++实现栈(详解,栈容量可以动态增长)

一.栈的基本介绍 栈是一种只能够在一端进行插入和删除的顺序表。如下图 空栈&#xff1a;表示不含任何元素的栈 栈顶&#xff1a;表示允许进行插入和删除元素的一端 栈底&#xff1a;表示不允许进行插入和删除元素的一端 即栈是一种后进先出的线性表数据结构 二.栈的常见操…

为什么我的手机卡需要快递员给激活?这到底安全吗?

网友咨询&#xff1a;网上申请了一张新卡&#xff0c;本来想着自己激活&#xff0c;没想到快递员先打电话过来说&#xff0c;要身份证给帮助激活&#xff0c;所以我想问一下&#xff0c;网上申请的卡是不是都是快递给激活呢&#xff1f;安不安全呢&#xff1f; 首先要说一下&a…

第4章-08-用Python Requests库模拟浏览器访问接口

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年CSDN全站百大博主。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已收录于专栏:Web爬虫入门与实战精讲,后续完整更新内容如下。 文章…

CSRF漏洞的预防

目录 CSRF漏洞预防措施 深入研究 CSRF Token的工作原理是什么&#xff1f; 为什么仅依靠Referer头字段来防范CSRF攻击不是完全可靠&#xff1f; SameSite cookie属性如何防止CSRF攻击&#xff1f; SameSite Cookie属性的作用 如何通过SameSite属性防止CSRF攻击 导图 CS…

Eclipse 自定义字体大小

常用编程软件自定义字体大全首页 文章目录 前言具体操作1. 打开设置对话框2. 打开字体设置页面3. 找到Text Font&#xff0c;点击修改4. 修改字体 前言 Eclipse 自定义字体大小&#xff0c;统一设置为 Courier New &#xff0c;大小为 三号 具体操作 【Windows】>【Perfer…

Qt第二课----信号和槽

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

C#笔记4 详细解释事件及其原型、匿名方法和委托的关系

匿名方法 定义 匿名方法允许一个与委托关联的代码被内联的写入使用委托的位置。 语法形式 delegate(参数列表) {代码块 } 前文说过&#xff0c;委托是定义了一个公司&#xff0c;公司专门承接某一类型的任务。 委托的实例化就是公司把任务交给了具体的职员&#xff08;方…

掌握测试的艺术:深入探索Python的pytest库

文章目录 **掌握测试的艺术&#xff1a;深入探索Python的pytest库**背景&#xff1a;为什么选择pytest&#xff1f;pytest是什么&#xff1f;如何安装pytest&#xff1f;5个简单的库函数使用方法1. pytest.main()2. pytest.skip()3. pytest.mark.parametrize()4. pytest.raises…