挡不住了!扩散模型只用文字就能PS照片了
动动嘴皮子就能把图改好是甲方和乙方的共同愿望,但通常只有乙方才知道其中的酸楚。如今,AI 却向这个高难度问题发起了挑战。
在一篇 10 月 17 日上传到 arXiv 的论文中,来自谷歌研究院、以色列理工学院、以色列魏茨曼科学研究所的研究者介绍了一种基于扩散模型的真实图像编辑方法——Imagic,只用文字就能实现真实照片的 PS,比如让一个人竖起大拇指、让两只鹦鹉亲吻:
「求大神帮忙 P 一个点赞手势。」扩散模型:没问题,包在我身上。
从论文中的图像可以看出,修改后的图像依然非常自然,对需要修改的内容之外的信息也没有明显的破坏。类似的研究还有谷歌研究院和以色列特拉维夫大学之前合作完成的 Prompt-to-Prompt(Imagic 论文中的参考文献 [16]):
项目链接(含论文、代码):https://prompt-to-prompt.github.io/
因此,有人感慨说,「这个领域变化快到有点夸张了,」以后甲方真的动动嘴就可以想怎么改就怎么改了。
Imagic 论文概览
论文链接:https://arxiv.org/pdf/2210.09276.pdf
将大幅度的语义编辑应用于真实照片一直是图像处理中一个有趣的任务。近年来,由于基于深度学习的系统取得了长足的进步,该任务已经引起了研究社区相当大的兴趣。
用简单的自然语言文本 prompt 来描述我们想要的编辑(比如让一只狗坐下)与人类之间的交流方式高度一致。因此,研究者们开发了很多基于文本的图像编辑方法,而且这些方法效果也都不错。
然而,目前的主流方法都或多或少地存在一些问题,比如:
1、仅限于一组特定的编辑,如在图像上作画、添加对象或迁移风格 [6, 28];
2、只能对特定领域的图像或合成的图像进行操作 [16, 36];
3、除了输入图像外,它们还需要辅助输入,例如指示所需编辑位置的图像 mask、同一主题的多个图像或描述原始图像的文本 [6, 13, 40, 44]。
本文提出了一种语义图像编辑方法「Imagic」以缓解上述问题。只需给定一个待编辑的输入图像和一个描述目标编辑的单一文本 prompt,该方法就可以对真实的高分辨率图像进行复杂的非刚性编辑。所产生的图像输出能够与目标文本很好地对齐,同时保留了原始图像的整体背景、结构和组成。
如图 1 所示,Imagic 可以让两只鹦鹉接吻或让一个人竖起大拇指。它提供的基于文本的语义编辑首次将如此复杂的操作应用于单个真实的高分辨率图像,包括编辑多个对象。除了这些复杂的变化之外,Imagic 还可以进行各种各样的编辑,包括风格变化、颜色变化和对象添加。
为了实现这一壮举,研究者利用了最近成功的文本到图像的扩散模型。扩散模型是强大的生成模型,能够进行高质量的图像合成。当以自然语言文本 prompt 为条件时,它能够生成与要求的文本相一致的图像。在这项工作中,研究者将它们用于编辑真实的图像而不是合成新的图像。
如图 3 所示,Imagic 完成上述任务只需要三步走:首先优化一个文本嵌入,使其产生与输入图像相似的图像。然后,对预训练的生成扩散模型进行微调,以优化嵌入为条件,更好地重建输入图像。最后,在目标文本嵌入和优化后的嵌入之间进行线性插值,从而得到一个结合了输入图像和目标文本的表征。然后,这个表征被传递给带有微调模型的生成扩散过程,输出最终编辑的图像。
为了证明 Imagic 的实力,研究者进行了几个实验,将该方法应用于不同领域的众多图像,并在所有的实验中都产生了令人印象深刻的结果。Imagic 输出的高质量图像与输入的图像高度相似,并与所要求的目标文本保持一致。这些结果展示了 Imagic 的通用性、多功能性和质量。研究者还进行了一项消融研究,强调了本文所提出的方法中每个组件的效果。与最近的一系列方法相比,Imagic 表现出明显更好的编辑质量和对原始图像的忠实度,特别是在承担高度复杂的非刚性编辑任务时。
方法细节
给定一个输入图像 x 和一个目标文本,本文旨在以满足给定文本的方式编辑图像,同时还能保留图像 x 的大量细节。为了实现这一目标,本文利用扩散模型的文本嵌入层来执行语义操作,这种方式有点类似于基于 GAN 的方法。研究人员从寻找有意义的表示开始,然后经过生成过程,生成与输入图像相似的图像。之后再对生成模型进行优化,以更好地重建输入图像,最后一步是对潜在表示进行处理,得到编辑结果。
如上图 3 所示,本文的方法由三个阶段构成:(1)优化文本嵌入以在目标文本嵌入附近找到与给定图像最匹配的文本嵌入;(2)微调扩散模型以更好地匹配给定图像;(3)在优化后的嵌入和目标文本嵌入之间进行线性插值,以找到一个既能达到图像保真度又能达到目标文本对齐的点。
更具体的细节如下:
文本嵌入优化
首先目标文本被输入到文本编码器,该编码器输出相应的文本嵌入,其中 T 是给定目标文本的 token 数,d 是 token 嵌入维数。然后,研究者对生成扩散模型 f_θ的参数进行冻结,并利用去噪扩散目标(denoising diffusion objective)优化目标文本嵌入 e_tgt
其中,x 是输入图像,是 x 的一个噪声版本,θ为预训练扩散模型权值。这样使得文本嵌入尽可能地匹配输入图像。此过程运行步骤相对较少,从而保持接近最初的目标文本嵌入,获得优化嵌入 e_opt。
模型微调
这里要注意的是,此处所获得的优化嵌入 e_opt 在通过生成扩散过程时,不一定会完全和输入图像 x 相似,因为它们只运行了少量的优化步骤(参见图 5 中的左上图)。因此,在第二个阶段,作者通过使用公式 (2) 中提供的相同损失函数优化模型参数 θ 来缩小这一差距,同时冻结优化嵌入。
文本嵌入插值
Imagic 的第三个阶段是在 e_tgt 和 e_opt 之间进行简单的线性插值。对于给定的超参数,得到
然后,作者使用微调模型,以
为条件,应用基础生成扩散过程。这会产生一个低分辨率的编辑图像,然后使用微调辅助模型对目标文本进行超分辨率处理。这个生成过程输出最终的高分辨率编辑图像
。
实验结果
为了测试效果,研究者将该方法应用于来自不同领域的大量真实图片,用简单的文字 prompt 来描述不同的编辑类别,如:风格、外观、颜色、姿势和构图。他们从 Unsplash 和 Pixabay 收集了高分辨率的免费使用的图片,经过优化,用 5 个随机种子生成每个编辑,并选择最佳结果。Imagic 展示了令人印象深刻的结果,它能够在任何一般的输入图像和文本上应用各种编辑类别,如图 1 和图 7 中所示。
图 2 中是对同一张图片进行了不同的文字 prompt 实验,显示了 Imagic 的多功能性。
由于研究者利用的底层生成扩散模型是基于概率的,该方法可以对单一的图像 - 文本对生成不同的结果。图 4 展示了使用不同的随机种子进行编辑的多个选项(对每个种子的η稍作调整)。这种随机性允许用户在这些不同的选项中进行选择,因为自然语言的文本 prompt 一般都是模糊和不精确的。
研究将 Imagic 与目前领先的通用方法进行了比较,这些方法对单一输入的真实世界图像进行操作,并根据文本 prompt 对其进行编辑。图 6 展示了 Text2LIVE[7] 和 SDEdit[32] 等不同方法的编辑结果。
可以看出,本文的方法对输入图像保持了高保真度,同时恰当地进行了所需的编辑。当被赋予复杂的非刚性编辑任务时,比如「让狗坐下」,本文方法明显优于以前的技术。Imagic 是第一个在单一真实世界图像上应用这种复杂的基于文本的编辑的 demo。
以上是挡不住了!扩散模型只用文字就能PS照片了的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Vue.js 中字符串转对象时,首选 JSON.parse() 适用于标准 JSON 字符串。对于非标准 JSON 字符串,可根据格式采用正则表达式和 reduce 方法或解码 URL 编码字符串后再处理。根据字符串格式选择合适的方法,并注意安全性与编码问题,以避免 bug。

总结:将 Vue.js 字符串数组转换为对象数组有以下方法:基本方法:使用 map 函数,适合格式规整的数据。高级玩法:使用正则表达式,可处理复杂格式,但需谨慎编写,考虑性能。性能优化:考虑大数据量,可使用异步操作或高效数据处理库。最佳实践:清晰的代码风格,使用有意义的变量名、注释,保持代码简洁。

远程高级后端工程师职位空缺公司:Circle地点:远程办公职位类型:全职薪资:$130,000-$140,000美元职位描述参与Circle移动应用和公共API相关功能的研究和开发,涵盖整个软件开发生命周期。主要职责独立完成基于RubyonRails的开发工作,并与React/Redux/Relay前端团队协作。为Web应用构建核心功能和改进,并在整个功能设计过程中与设计师和领导层紧密合作。推动积极的开发流程,并确定迭代速度的优先级。要求6年以上复杂Web应用后端

Vue和Element-UI级联下拉框v-model绑定常见的坑点:v-model绑定的是一个代表级联选择框各级选中值的数组,而不是字符串;selectedOptions初始值必须为空数组,不可为null或undefined;动态加载数据需要使用异步编程技巧,处理好异步中的数据更新;针对庞大数据集,需要考虑使用虚拟滚动、懒加载等性能优化技术。

为了设置 Vue Axios 的超时时间,我们可以创建 Axios 实例并指定超时选项:在全局设置中:Vue.prototype.$axios = axios.create({ timeout: 5000 });在单个请求中:this.$axios.get('/api/users', { timeout: 10000 })。

利用地理空间技术高效处理700万条记录并创建交互式地图本文探讨如何使用Laravel和MySQL高效处理超过700万条记录,并将其转换为可交互的地图可视化。初始挑战项目需求:利用MySQL数据库中700万条记录,提取有价值的见解。许多人首先考虑编程语言,却忽略了数据库本身:它能否满足需求?是否需要数据迁移或结构调整?MySQL能否承受如此大的数据负载?初步分析:需要确定关键过滤器和属性。经过分析,发现仅少数属性与解决方案相关。我们验证了过滤器的可行性,并设置了一些限制来优化搜索。地图搜索基于城

文章介绍了MySQL数据库的上手操作。首先,需安装MySQL客户端,如MySQLWorkbench或命令行客户端。1.使用mysql-uroot-p命令连接服务器,并使用root账户密码登录;2.使用CREATEDATABASE创建数据库,USE选择数据库;3.使用CREATETABLE创建表,定义字段及数据类型;4.使用INSERTINTO插入数据,SELECT查询数据,UPDATE更新数据,DELETE删除数据。熟练掌握这些步骤,并学习处理常见问题和优化数据库性能,才能高效使用MySQL。

MySQL启动失败的原因有多种,可以通过检查错误日志进行诊断。常见原因包括端口冲突(检查端口占用情况并修改配置)、权限问题(检查服务运行用户权限)、配置文件错误(检查参数设置)、数据目录损坏(恢复数据或重建表空间)、InnoDB表空间问题(检查ibdata1文件)、插件加载失败(检查错误日志)。解决问题时应根据错误日志进行分析,找到问题的根源,并养成定期备份数据的习惯,以预防和解决问题。
