图像编辑技术的新篇章:基于扩散模型的综述

在人工智能的浪潮中,图像编辑技术正经历着前所未有的变革。随着数字媒体、广告、娱乐和科学研究等领域对高质量图像编辑需求的不断增长,传统的图像编辑方法已逐渐无法满足日益复杂的视觉内容创作需求。尤其是在AI生成内容(AIGC)的背景下,如何利用人工智能技术对图像进行高效、精准的编辑,已成为当前研究的热点问题。尽管基于学习算法的图像编辑技术取得了显著进展,但仍存在诸多挑战,例如模型的泛化能力、编辑的自然性、以及用户意图的准确捕捉等。此外,现有的图像编辑方法往往需要大量的训练数据和计算资源,这在实际应用中可能并不总是可行。为了克服这些问题,本文将重点探讨一种新兴的图像编辑技术——基于扩散模型的图像编辑方法。

基于扩散模型的图像编辑研究出版物的统计概览,分为三个部分:学习策略(Top)、输入条件(Middle)、编辑任务(Bottom)

什么是扩散模型?

扩散模型,作为生成人工智能领域的一项突破性技术,其灵感来源于非平衡热力学的原理。这些模型通过逐步向数据样本中添加噪声,将它们从原始分布转换为预定义的、通常更简单的分布,如高斯分布,然后通过迭代过程逆转这一过程,以生成与原始数据分布相匹配的数据。与传统的生成模型相比,扩散模型的特点是它们在迭代时间步骤中动态执行,涵盖前向和后向的时间运动。

这种模型的前向扩散过程将数据分布转换为高斯分布,而反向扩散过程的目标是学习前向过程的逆过程,以生成与原始未修改数据样本紧密对齐的分布。优化策略涉及最小化前向和后向序列的联合分布之间的Kullback-Leibler散度,这为模型提供了一个变分界限,用于指导学习过程中的参数更新。扩散模型还能够通过特定的反转方案将真实图像反转到相应的噪声潜在空间,为图像编辑提供了强大的基础。

图像编辑的分类

图像编辑任务可以根据编辑的性质被分为语义编辑、风格编辑和结构编辑三大类。图像编辑任务的分类反映了编辑目标的不同层面,指导了模型的设计和应用策略。

语义编辑关注于图像内容和叙述的实质性改变。这类任务包括在图像中添加或移除对象、替换现有元素、更改背景以及调整图像中的情感表达。例如,用户可能希望在风景照片中添加一只飞鸟,或者从集体照片中移除某个人物。这些编辑直接影响到图像所讲述的故事和传达的情境。

风格编辑着重于图像的视觉风格和审美特征的调整。这种编辑不改变图像的基本内容,而是改变其艺术表现形式,如色彩、纹理或整体风格。用户可能想要将一幅风景画转换为梵高风格的画作,或者改变一张照片的色调以匹配特定的情绪氛围。

结构编辑涉及对图像中元素的空间排列、位置、视点和特性的改动。这类编辑强调场景中对象的组织和展示方式,如移动对象位置、改变对象的大小和形状、调整对象的姿态或视角。例如,用户可能希望在室内场景中重新布置家具,或者改变建筑物的视角以展现不同的外观。

这种多维度的分类不仅帮助我们理解图像编辑的不同需求,也为扩散模型的应用提供了一个清晰的框架。通过深入分析这些类别,我们可以更准确地评估和设计扩散模型的性能,确保它们能够满足不同编辑任务的特定需求。

基于扩散模型的图像编辑方法的全面分类,从多个角度(如训练、测试时微调、无需训练和微调)对方法进行了颜色编码,并列出输入条件和任务能力

基于训练的方法

基于训练的方法在扩散模型的图像编辑中占据显著地位,这些方法通过稳定训练扩散模型和有效建模数据分布,为多种编辑任务提供可靠性能。具体可以分为几类:弱监督下的领域特定编辑、自监督的参考和属性引导、全监督的指令性编辑以及弱监督的伪目标检索。

基于训练的图像编辑方法的分类

弱监督下的领域特定编辑策略针对特定领域的小规模数据集进行训练,以解决大规模数据集训练资源消耗大的问题。例如,在处理人脸或特定动物图像的数据集时,研究者们通过弱监督的方式,即不需要精确的标签信息,而是利用数据集中的固有结构,来训练模型识别和编辑图像。这种方法使得模型能够在资源有限的情况下学习到有效的编辑策略。

两种代表性的CLIP引导方法DiffusionCLIP和Asyrp的训练流程的对比

通过自监督的参考和属性引导方法,研究者们开发了一种无需外部标注信息的机制,直接从图像本身提取参考和属性信息作为训练条件。例如,通过使用图像中的某个区域作为参考,模型学习如何根据这个参考合成或编辑图像的其他部分。这种方法充分利用了图像内部的结构信息,提高了模型的自适应性和灵活性。

全监督下的教学式编辑策略采用了一种更接近人类交流方式的指令来引导编辑过程。与传统的基于描述的编辑不同,这种策略使用直接的指令,如“去除帽子”或“改变天空颜色”,来告诉模型需要执行的具体操作。这种方式使得用户可以更自然、直观地与模型交互,提高了编辑过程的准确性和可控性。

指令式图像编辑方法的通用框架,说明了不同组件如何协同工作以根据指令编辑图像

弱监督下的伪目标检索方法面对的挑战是如何在缺乏精确编辑结果的情况下训练模型。这类方法通过检索最符合指令描述的图像作为伪目标,或者使用CLIP模型的评分作为优化目标,来指导模型的学习过程。这种方法允许模型在没有明确编辑结果的情况下,通过学习如何更好地接近目标描述来进行优化。

这些基于训练的方法展示了扩散模型在图像编辑任务上的多样性和适应性,它们通过不同的监督策略,实现了从简单到复杂的各种编辑任务,极大地扩展了图像编辑的可能性和应用范围。随着这些方法的不断发展和完善,未来的图像编辑技术将更加精准、高效,并能更好地满足用户的个性化需求。

测试时微调方法

在图像编辑的领域,测试时微调方法提供了一种在模型部署后进一步提升性能的策略。这些方法在模型的推理阶段对模型进行微调,以适应特定的编辑任务和用户需求。

测试时微调框架及其不同的微调组件,说明了在图像编辑中如何应用这些组件

去噪模型微调是最直接的一种测试时微调方法。通过在特定的图像或图像集合上微调整个去噪网络,可以使模型更好地学习图像的特征,并更准确地响应文本提示或编辑指令。例如,UniTune和Custom-Edit等方法通过在单个基础图像上微调扩散模型,鼓励模型生成与基础图像相似的图像,同时在采样阶段使用修改过的采样过程,以平衡对基础图像的忠实度和对编辑指令的对齐。

嵌入微调则专注于优化文本或空文本嵌入,以更好地整合嵌入与生成过程,实现更精确的编辑结果。空文本嵌入微调的目标是解决DDIM反转中的重建失败问题,通过在采样过程中微调空文本嵌入,减少采样轨迹与反转轨迹之间的距离,从而提高重建性能。而文本嵌入微调则通过优化从输入文本派生的嵌入,使编辑后的图像更符合条件特征。

超网络引导的方法通过引入一个自定义网络,来更好地符合特定的编辑意图。例如,StyleDiffusion和InST等方法使用映射网络或多层交叉注意力机制,将输入图像的特征映射到与文本提示嵌入空间对齐的嵌入空间,从而实现文本-图像交互。

潜在变量优化是另一种微调技术,它直接优化图像的潜在变量,而不是优化生成器的参数或嵌入的条件参数。这种方法通过引入特定的损失函数和中间层的特征,使用预训练的扩散模型执行图像翻译,而无需成对的训练数据。

混合微调结合了上述各种微调方法,可以是顺序的,也可以是同时进行的集成工作流程。这种复合微调方法可以实现针对性和有效的图像编辑。例如,Imagic和LayerDiffusion等方法通过结合文本嵌入优化和去噪模型微调,提高了模型在图像重建和编辑方面的性能。

测试时微调方法的分类

测试时微调方法为扩散模型提供了一种灵活的改进途径,可以根据具体的应用场景和用户需求,快速调整模型的行为,实现更加精细和个性化的图像编辑效果。随着这些技术的不断发展,未来的图像编辑工具将更加智能和适应性强。

无需训练和微调的方法

在图像编辑技术的发展中,无需训练和微调的方法代表了一种快速且成本效益高的范式,因为它们避免了在编辑过程中对模型进行时间和资源密集型的训练或微调。这些方法直接利用预训练模型的潜力,通过不同的策略实现对图像的精确编辑。

无需训练和微调的图像编辑方法的分类

输入文本优化标志着在图像编辑领域中,文本到图像翻译机制的重要进步。这种方法通过改善文本嵌入和简化用户输入,确保图像的修改既准确又符合上下文。它允许概念性的修改和直观的用户指令,消除了对复杂模型修改的需求。例如,通过利用扩散先验模型来执行CLIP图像嵌入空间中的概念编辑,可以实现更细腻和上下文感知的图像编辑。

反转/采样修改是无需训练和微调方法中常用的技术。这些方法通过修改反转和采样公式来改善重建能力。例如,直接反转方法通过改变源提示到目标提示来编辑真实图像,展示了处理多样化任务的能力。尽管如此,它仍然面临重建失败的问题,因此出现了多种方法来改进反转和采样公式,以提高重建性能。

注意力修改方法通过增强注意力层中的操作来增强图像编辑。这些方法通过识别并利用注意力层中的固有原理,然后通过修改注意力操作来进行编辑。例如,P2P方法通过识别交叉注意力层在控制图像布局和提示词空间关系中的关键作用,提供了一个仅依赖于文本输入的直观提示到提示编辑框架。

掩码引导在基于扩散的图像编辑中代表了一种增强图像编辑的技术。这些方法使用掩码来增强去噪效率,通过选择性处理图像区域来有效减少计算需求并提高整体效率。掩码增强的去噪效率方法通过利用掩码在交叉注意力层中引导特定区域的编辑,从而提高编辑的精度和速度。

多噪声重定向是预测不同方向的多个噪声,然后将它们重定向到单个噪声的过程。这种方法的优势在于能够使单个噪声统一多个不同的编辑方向,从而更有效地满足用户的编辑需求。例如,通过语义引导的噪声重定向方法,可以在采样过程中更精细地控制图像内容。

无需训练和微调方法的通用框架,说明了不同修改如何应用于扩散模型以实现图像编辑

这些无需训练和微调的方法,以其灵活性和高效性,在图像编辑领域中展现出巨大的潜力。它们为用户提供了一种快速实现个性化图像编辑的途径,同时为研究人员提供了探索新的可能性和创新应用的空间。

图像修复和扩展

图像修复和扩展是图像编辑中的两个重要子领域,它们专注于填补图像中的缺失部分或扩展图像的边界,以创造出无缝的视觉效果。

视觉上比较了传统的基于上下文的修复(顶部)和多模态条件修复(底部),展示了两种方法的样本

传统基于上下文的修复:基于监督训练的修复方法和零样本学习方法。在监督训练中,模型通过成对的损坏和完整图像进行学习,以掌握如何根据图像的上下文信息填补缺失区域。例如,Palette模型通过条件扩散模型来处理图像到图像的转换任务,它使用低质量参考图像与去噪结果的直接连接作为噪声预测的条件。而在零样本学习中,模型尝试从未损坏的图像部分提取结构和纹理,以补充缺失区域的内容,保持全局内容的一致性。这种方法不需要成对的训练数据,而是依赖于模型对图像内容的内在理解。

多模态条件修复 :即使用随机掩码训练和精确控制条件的方法。这些方法通过引入用户指定的多模态条件,如文本描述、分割图或参考图像,来指导修复过程。例如,GLIDE和Stable Diffusion等模型通过随机生成的掩码以及掩码图像和完整图像的描述进行训练,使模型能够利用未掩码区域的信息。为了提供更精确的控制,一些方法如SmartBrush和Imagen Editor通过引入精度因子或使用对象检测器生成的掩码,来实现对修复内容的精确控制。

多模态条件修复的另一个重要方向是利用预训练的扩散模型,通过整合各种技术来处理特定的修复任务。例如,Blended Diffusion和Inpaint Anything等模型通过结合CLIP计算和预训练的扩散模型,实现了在用户界面友好性和灵活性方面的显著提升。

评估

在任务选择方面,研究者们根据现有方法的能力精心挑选了一系列编辑任务。这些任务覆盖了从简单的对象编辑到复杂的场景变化,旨在全面考察不同图像编辑方法的性能。

在数据集构建上,研究团队精选了一系列高质量的图像。为每张图像配备了详尽的源文本描述、目标描述以及编辑指令,这样做的目的是为了确保评估过程中的多样性和适用性,让评估结果更具有代表性和广泛性。

在度量设计和选择上,研究者们认识到传统的评估方法可能无法充分捕捉编辑结果的质量。为了解决这一问题,他们提出了LMM Score,这是一种创新的量化评估指标。LMM Score利用了大型多模态模型(LMMs)的先进视觉-语言理解能力,以评估不同任务上的编辑性能。这种新指标的引入,旨在更准确地反映图像编辑结果与用户指令之间的一致性,为图像编辑领域的研究提供了一个更为精确的评估工具。

研究者选择了几种不同的基于扩散模型的图像编辑方法,并在EditEval基准上对它们进行了测试。在性能比较环节,研究者们细致地计算了每种方法在七个编辑任务上的平均得分和标准差。结果显示,并没有单一的方法能够在所有任务上都取得最佳性能,这反映出图像编辑方法的多样性以及它们在特定应用场景下的适用性。

为了进一步验证LMM Score这一评估指标的有效性,研究者们将其得分与用户研究的结果进行了细致的比较。通过计算LMM Score与用户评分之间的皮尔逊相关系数,研究者们发现两者之间存在显著的正相关性。这一发现表明,LMM Score不仅能够作为一项客观的评估工具,而且能够很好地反映用户的主观偏好和评价,从而为图像编辑方法的评估提供了一个可靠的量化指标。

LMM分数与用户研究之间的皮尔逊相关系数
7个选定的编辑类型上进行了视觉上的比较

通过这些评估得出结论,基于扩散模型的图像编辑技术虽然取得了显著进展,但仍存在样本依赖性和性能波动等问题。LMM Score作为一种新的评估指标,已被证明是可靠和有效的,能够为图像编辑领域提供更加精确的性能评估。

随着技术的不断发展,未来的基准构建和评估方法需要进一步考虑如何更好地模拟真实世界的应用场景,以及如何更全面地衡量编辑结果的质量和实用性。这将有助于推动图像编辑技术向更高水平发展,并为研究人员和开发者提供宝贵的反馈和指导。

论文链接:https://arxiv.org/abs/2402.17525

GitHub 地址:https://github.com/SiatMMLab/Awesome-Diffusion-Model-Based-Image-Editing-Methods

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

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

相关文章

CPP-类对象大小的组成

要计算一个类对象的大小要先明白一个问题:类中既可以有成员变量,又可以有成员函数,那么一个类的对象中包含了什么? 下面来看一段代码: // 类中既有成员变量,又有成员函数 class A1 { public:void f1() {} …

快速生成基于vue-element的后台管理框架,实现短时间二次开发

你是否遇到过当你想要独立开发一个项目时对反复造轮子的烦扰? 这种流水线的操作实在让人受不了 而vue-element-template很好的帮你解决了这个烦恼 只需克隆下来,改改图标,模块名,甚至样式,就会变成一个全新的自己的项目…

轻松恢复丢失数据EasyRecovery你的数据守护神

数据丢失?别怕!EasyRecovery来帮忙 大家好呀,今天我要分享一个我超级喜欢的数据恢复软件——EasyRecovery!🎉 如果你也经历过误删文件、硬盘格式化或是意外丢失重要数据的尴尬和焦虑,那你一定要看看这个神器…

uniapp 微信小程序更改轮播图指示点

仅微信小程序有效 /* #ifdef MP-WEIXIN */// 默认指示点样式wx-swiper .wx-swiper-dot {position: relative;background-color: #ffffff;width: 28rpx;border-radius: 10rpx;height: 8rpx;opacity: 0.4;}// 当前选中样式wx-swiper .wx-swiper-dot-active {background-color: #f…

HTML静态网页成品作业(HTML+CSS)——家乡泉州介绍网页(3个页面)(表格布局)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,table布局,未使用Javacsript代码,共有3个页面。…

HarmonyOS父子组件传递参数

HarmonyOS父子组件传递参数 1. 使用State和Prop进行父子组件传递———注意是单向同步 Prop装饰器:父子单向同步 注意:只支持单向同步,同时也只能支持string\number\boolean\enum比较简单的类型。 代码 // 使用 props 进行父子组件传值…

Python爬虫介绍

Python 作为一种广泛应用的编程语言,在 Web 开发、大数据开发、人工智能开发和嵌入式开发等领域都有着重要的应用。 Python 的易学性、清晰性和可移植性等特点使它得到很多技术人士的喜爱。对于数据科学和机器学习领域的程序员来说,Python 提供了强大的…

朴素贝叶斯案例

一、朴素贝叶斯算法: 朴素贝叶斯算法,是一种基于贝叶斯定理与特征条件独立假设的分类方法,基于贝叶斯后验概率建立的模型,它用于解决分类问题。朴素:特征条件独立;贝叶斯:基于贝叶斯定理。属于…

【Python】已解决:ModuleNotFoundError: No module named ‘paddle’

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决:ModuleNotFoundError: No module named ‘paddle’ 一、分析问题背景 在Python编程中,ModuleNotFoundError是一个常见的错误,它通常发生…

C语言中的进制转换

基础概念 进制又称数制,是指用一组固定的符号和统一的规则来表示数值的方法,在C语言中,可以使用不同的前缀来表示不同的进制: 二进制:以0b或0B为前缀(部分编译器可能不支持)八进制&#xff1a…

【论文精读】分类扩散模型:重振密度比估计(Revitalizing Density Ratio Estimation)

文章目录 一、文章概览(一)问题的提出(二)文章工作 二、理论背景(一)密度比估计DRE(二)去噪扩散模型 三、方法(一)推导分类和去噪之间的关系(二&a…

LVGL8.3动画图像(太空人)

LVGL8.3 动画图像 1. 动画图像本质 我们知道电影属于视频,而电影的本质是将一系列动作的静态图像进行快速切换而呈现出动画的形式,也就是说动画本质是一系列照片。所以 lvgl 依照这样的思想而定义了动画图像,所以在 lvgl 中动画图像类似于普…

能理解你的意图的自动化采集工具——AI和爬虫相结合

⭐️我叫忆_恒心,一名喜欢书写博客的研究生👨‍🎓。 如果觉得本文能帮到您,麻烦点个赞👍呗! 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧,喜欢的小伙伴给个三连支…

浅聊Cookie

前言 在客户端使用Nuxt的useFetch调用接口并存储cookie&#xff0c;发现一些趣事~ cookie存储需要遵守同源策略~ 理论我们是知道的&#xff0c;但具体是怎么一回事呢~ 实现 在Nuxt中是这样的~ 直接访问 Nuxt <template><div>{{ data }}</div> </te…

【python】python学生成绩数据分析可视化(源码+数据+论文)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

c#使用自带库对字符串进行AES加密、解密

文章目录 1 代码1.1 定义Aes加密类块1.2 在主函数中调用 2 获取Key和IV2.1 基本方法2.2 自定义Key2.3 技术方面的原理 参考文章&#xff1a; C#软件加密实例&#xff1f; 。 参考官文&#xff1a; Aes 类。 在使用C#的自带的System.Security.Cryptography.Aes模块进行加密和解…

Spdlog日志库的安装配置与源码解析(Linux)

为什么使用日志库而不是控制台输出&#xff1f; 日志库通常提供了更丰富的功能&#xff0c;比如可以设置日志输出级别、输出到不同的目标&#xff08;比如控制台、文件、网络等&#xff09;&#xff0c;以及格式化输出等。 使用日志库可以使代码更易于维护。通过统一的日志接口…

Opencv学习项目2——pytesseract

上一次我们使用pytesseract.image_to_boxes来检测字符&#xff0c;今天我们使用pytesseract.image_to_data来检测文本并显示 实战教程 和上一次一样&#xff0c;添加opencv-python和pytesseract库 首先我们先来了解一下pytesseract.image_to_data pytesseract.image_to_data(…

红队内网攻防渗透:内网渗透之内网对抗:横向移动篇入口切换SMB共享WMI管道DCOM组件Impacket套件CS插件

红队内网攻防渗透 1. 内网横向移动1.1 WMI进行横向移动1.1.1 利用条件:1.1.1 利用详情1.1.1.1 wmic1.1.1.1.1 正向shell上线1.1.1.1.2 反向shell上线1.1.1.2 cscript(不建议使用)1.1.1.3 wmiexec-impacket1.1.1.4 cs插件1.2 SMB横向移动1.2.1 利用条件:1.2.2 利用详情1.2.2…

基于YOLOv5的火灾检测系统的设计与实现(PyQT页面+YOLOv5模型+数据集)

基于YOLOv5的火灾检测系统的设计与实现 概述系统架构主要组件代码结构功能描述YOLOv5检测器视频处理器主窗口详细代码说明YOLOv5检测器类视频处理类主窗口类使用说明环境配置运行程序操作步骤检测示例图像检测视频检测实时检测数据集介绍数据集获取数据集规模YOLOv5模型介绍YOL…