释放你的想象!支持25种复杂编辑类型!浙大等提出AnyEdit:统一高质量图像编辑框架

文摘   2024-12-22 00:52   江苏  
点击下方卡片,关注“AIGC Studio

文章链接:https://arxiv.org/pdf/2411.15738 
项目链接:https://dcd-anyedit.github.io/

亮点直击

  • 从全新的视角系统地对各种编辑指令进行分类,并创新性地引入了一个统一的编辑框架,该框架利用自适应编辑pipeline自动收集不同场景下的多样化高质量编辑数据,从而以可扩展的方式进行处理。 
  • 构建了一个多类型、多场景的数据集AnyEdit,并为其设计了相应的基准测试集AnyEdit-Test,涵盖了25种复杂的编辑类型,以满足现实世界中更广泛的编辑需求。 
  • 使用提出的AnySD方法,充分挖掘AnyEdit的潜力,在多个编辑类型中实现了指令遵循和图像保真度的SOTA。

惊艳效果,一睹为快

总结速览

解决的问题:

  1. 现有模型难以准确执行复杂的用户指令:由于训练数据质量较低且编辑类型有限,现有的指令驱动的图像编辑模型在处理复杂用户指令时存在困难。
  2. 缺乏高质量的指令编辑数据集:现有的编辑数据集数据质量不足,且难以支持基于多模态感知和复杂指令的图像编辑任务,如空间构图、视角变化和常识理解等。
  3. 当前数据集在多种输入格式和编辑需求上的适应性差:现有数据集缺乏对不同编辑任务的适配,导致编辑结果质量差,且生成的图像常存在低分辨率、高噪声或与文本不对齐的问题。

提出的方案:

  1. AnyEdit数据集:提出了一个全面的多模态指令编辑数据集,包含250万高质量的编辑对,涵盖20多种编辑类型和五个领域。通过引入对抗合成场景来平衡数据集中的概念分布,确保编辑数据的多样性和质量。
  2. 自适应编辑流程:为了适应不同的编辑需求,AnyEdit引入了自适应编辑流程,可以根据任务类型选择合适的数据处理流程,提高编辑效果。
  3. 指令验证和图像评估:通过开发指令验证预筛选和图像评估后筛选策略,过滤出不合格的编辑结果,从而确保数据集质量。
  4. AnyEdit Stable Diffusion(AnySD):提出了一种新的稳定扩散模型,采用任务感知路由和可学习的任务嵌入来支持不同类型的编辑任务,从而构建一个强大的指令驱动的图像编辑模型。

应用的技术:

  1. 多模态数据集:通过收集并组织2.5百万高质量的图像-文本编辑对,AnyEdit涵盖了包括局部编辑、全局编辑、相机运动编辑、隐式编辑和视觉编辑在内的多种编辑类型。
  2. 自适应编辑流程:通过自动化选择适合每个任务的数据处理流程,提升数据集的适应性。
  3. 任务感知路由:AnySD模型通过任务感知路由调整编辑的粒度(如局部物体编辑或全局风格编辑),增强了模型在处理多种编辑任务时的适应能力。
  4. 学习型任务嵌入:通过引入可学习的任务嵌入,AnySD模型能够有效协调不同任务的复杂性,提升编辑效果。
  5. 图像质量评估:通过引入图像质量的预筛选和后筛选机制,确保数据集的编辑对具备高质量。

达到的效果:

  1. 提升编辑模型的性能:通过AnyEdit数据集和AnySD模型,实验表明AnyEdit能显著提高扩散基础编辑模型的性能,在MagicBrush和Emu-Edit基准测试中创下新纪录。
  2. 更高的视觉和语义相似性:AnyEdit比现有的SOTA数据集提高了28.9%的视觉相似性和18.8%的语义相似性。
  3. 解决复杂任务的局限性:在AnyEdit-Test基准测试中,AnyEdit数据集帮助解决了现有模型在复杂任务(如动作变化)中的表现差异,显著提升了模型对多场景编辑任务的处理能力。
  4. 挑战现有基准测试的能力:AnyEdit-Test展示了现有基准测试在复杂任务中的局限性,强调了AnyEdit-Test在评估编辑模型能力中的重要性。

通过这些技术和方案,AnyEdit为指令驱动的图像编辑模型的开发提供了巨大的潜力,推动了人类创造力的发挥。

AnyEdit

编辑类型定义

为了使基于指令的编辑模型具备全面的能力,以遵循任何创意构思,制作了一个多模态图像编辑数据集 AnyEdit,用于基于指令的图像编辑,该数据集包含250万对高质量的编辑样本,涵盖五个主要领域,如图1所示。

该数据集包括被划分为五大类的编辑任务,每个类别下包含不同的编辑类型:

  • 局部编辑: 添加、删除、替换、颜色变化、外观变化、材质变化、动作变化、文本变化、计数。
  • 全局编辑: 背景变化、色调转移、风格变化。
  • 相机运动编辑: 旋转变化、外延绘制、移动、调整大小。
  • 隐式编辑: 隐性变化、关系变化。
  • 视觉编辑: 视觉参考、材质转移、视觉条件(如深度、分割、涂鸦、草图、mask)。

具体来说,局部编辑针对图像的特定区域进行修改,而不改变与之无关的语义内容;全局编辑则影响整个图像。相机运动编辑通过操控特定物体或场景内整体内容的视角来扩展这一概念。隐式编辑涉及状态或交互模式的隐藏变化,通常需要更深的理解。视觉编辑则加入额外的视觉输入作为参考,配合编辑指令一起使用。图1(a)展示了每种编辑类型的示例。

自动数据集收集

通用数据准备

以往研究表明,高质量的初始图像有助于编辑图像创作的多样性。为了应对现实世界中复杂场景下的图像编辑需求,从已标注的数据集(如 MSCOCO 、LLaVA-CC3M-Pretrain)和多视角图像数据集(如 MVImgNet)中收集了约 68 万对真实世界的图像-文本配对。随后,使用多语言大模型(例如 VILA)来丰富这些简短的描述,以增强描述的完整性。然而,这些图像-文本配对存在固有的数据偏差,导致模型在一些没有被广泛覆盖的领域中表现不佳。因此,引入了 反事实合成场景对数据集,以平衡初始图像-文本配对的数据分布。具体来说,从互联网数据中收集较少出现的尾部概念,并结合多个概念和上下文,通过 LLaMA-3B 生成描述。随后,使用现成的 T2I 模型生成初始图像。通过这种方式,通过引入罕见的概念组合,丰富了原始数据集,从而为 AnyEdit 数据集收集提供了约 70 万对高质量和多样的图像-文本配对,如表2所示。

多样化指令生成

目标是基于初始图像的描述,生成多样的编辑指令和相应的编辑后描述输出。如图2所示,我们利用公开的 Llama3-8b 模型将原始描述转换为多样的编辑指令。为了克服在生成编辑指令时指令多样性和一致性方面的局限性,将直观的类型约束与大语言模型(LLM)生成相结合,并使用上下文示例来开发一个针对每种编辑类型的特定任务代理。此外,将生成的编辑指令与原始描述结合,形成指令对,作为上下文示例供其进行迭代自我增强,从而逐渐提高指令的多样性和复杂性。

自适应编辑pipeline

传统的指令编辑数据集依赖于固定的pipeline或耗时的手动筛选,这使得在复杂的编辑类型和各种输入格式下,难以高效地生成高质量的编辑图像。在此,我们提出了一种自适应的编辑pipeline视角,能够根据特定的编辑类型定制编辑后的图像。具体来说,设计了9条核心pipeline,用于生成局部、全局、相机运动、隐式和视觉编辑数据,涵盖了20多种编辑类型。在图像编辑生成过程中,我们将编辑指令对与原始图像及其变体输入到自适应编辑pipeline中。该pipeline根据编辑类型动态选择量身定制的解决方案,生成与预期编辑一致的图像。此外,在扩散过程中将额外的约束(如膨胀mask、布局和几何引导)融入到UNet层中,以实现更精确的语义对齐和减少伪影。

数据质量增强

由于编辑数据的质量对于在AnyEdit中训练强大的编辑模型至关重要,进一步引入了一个全面的数据质量增强筛选策略。该策略包括两个步骤:指令验证预筛选和图像质量后筛选。

  • 指令验证预筛选 注意到,来自大语言模型(LLMs)的部分编辑指令有时会引入歧义,进而不利于编辑图像(例如,“颜色变化”编辑中的外观变化,或“动作变化”编辑中的静态桌面动作变化)。同时,低质量的初始图像(如低分辨率、不良的长宽比、缺乏美学)即使经过多轮筛选,也会导致编辑结果不满意。因此,采用特定任务的启发式规则来验证各种指令,确保指令的一致性,并进行美学评估,以确保使用的图像在审美上平衡,适合编辑过程。

  • 图像质量后筛选 在收集完所有编辑结果后,我们进行自动化的数据评估,筛选出不符合数据生成标准的不满意图像。首先,使用CLIP筛选指标评估编辑后图像 和其输出描述 之间的一致性,确保与编辑指令和目标区域的修改一致。接着,我们利用CLIP图像相似度来比较原始图像和编辑后的图像,确保未编辑部分的像素级保真度。此外,计算和 之间的L1距离,以保持原始图像的整体结构。最后,采用CLIP方向相似度,量化图像修改与描述中的变化之间的一致性,验证AnyEdit的指令遵循能力。我们还使用目标检测器验证局部编辑中的编辑物体,并使用视觉语言模型(VLM)评估全局编辑中图像的修改。

特性与统计

得益于我们有效的自动化数据集收集方法,AnyEdit包含250万对高质量的编辑样本,涵盖25种不同的编辑类型。AnyEdit涵盖了更广泛的领域,包括视角编辑、隐式编辑和视觉编辑等复杂编辑任务,并融合了更丰富的场景种类,包括概念丰富的合成场景(参见表1)。此外,图1(b)中的AnyEdit数据分布反映了多种编辑类型的广泛覆盖。定量评估表明,基于语义相似度和视觉相似度指标(参见表3),AnyEdit在像素级一致性和准确反映编辑指令方面表现出显著的提升(相较于UltraEdit,DINOv2提升+25.2%,CLIPin提升+16.0%)。

AnyEdit数据集集中每种编辑类型的详细流程图:

现有图像编辑数据集的比较

“真实图像”表示原始图像来自现实世界,“合成图像”表示它们来自T2I模型,“合成场景”表示图像和描述都是为了解决固有的数据偏差而生成的:

方法

架构

由于AnyEdit包含了跨多个领域的多种编辑指令,因此具有开发强大编辑模型的潜力,能够处理高质量的编辑任务。然而,训练这样一个模型面临三个额外的挑战:(a)对各种多模态输入的语义对齐;(b)识别每个领域中的语义编辑,以控制编辑的粒度和范围;(c)协调各种编辑任务的复杂性,以防止灾难性遗忘。为此,提出了一种新颖的AnyEdit稳定扩散方法(AnySD),以应对现实世界中的各种编辑任务。如图3所示,AnySD包括三个设计:视觉提示投影器、任务感知路由和可学习的任务嵌入。接下来,将介绍每个AnySD设计。

视觉提示投影器为了对齐多模态输入的语义,首先使用视觉提示投影器,将来自冻结CLIP图像编码器的图像特征 与指令嵌入对齐,从而获得视觉提示 。然后,将这些嵌入与UNet的时间步嵌入通过跨注意力交互进行集成,以在图像编辑扩散过程中提供视觉提示条件。扩散目标随后调整为:

其中, 是扩散过程中添加的噪声,[] 是一组编辑指令,其中 仅适用于视觉编辑。

任务感知路由

由于每种编辑类型具有不同的粒度和编辑范围,提出了一种任务感知路由策略,结合专家混合模型(MoE)块,以满足特定任务的编辑需求。具体来说,视觉条件被集成到冻结的 UNet 层中,通过经过调整的模块与解耦的跨注意力机制,以避免干扰编辑指令条件。每个 MoE 块共享相同的语言注意力层,但在的注意力处理上有所不同,权重根据任务嵌入通过路由器进行分配。因此,我们为每个专家引入了新的跨注意力层,专注于额外条件嵌入与文本嵌入之间的跨注意力。最后,我们将所有专家的分布式结果添加到文本跨注意力的输出中,如下所示,其中 是来自视觉提示的查询矩阵,是相应的权重矩阵。

可学习的任务嵌入

为了引导生成过程朝向每个编辑任务所需的适当粒度,我们在训练过程中学习一个任务嵌入。与之前的工作 [64] 不同,将任务嵌入插入到 MoE 块之前,而不是将其集成到整个去噪过程中,以减少指令和编辑类型之间的查询混淆。任务嵌入  具有两个主要作用:

  • 它与 ( z_v )(当没有视觉提示时设置为零)拼接,形成 MoE 块的
  • 它输入到路由中,将权重分配给 MoE 专家。

训练与推理

为了增强 AnySD 处理多样化编辑条件的能力,引入了 CFG ,扩展自 InstructPix2Pix,用于三种条件化。此外,将 AnySD 的训练结构分为两个阶段,以确保扩散模型能够充分理解通用的编辑知识并开发细粒度的任务特定技能。

阶段 I:指令理解

在此阶段,为了增强模型的指令跟随能力,冻结任务感知路由,将额外的条件设置为零张量,并仅预训练扩散过程中的 UNet 主干,以使其与编辑指令对齐。此外,在训练过程中随机省略原始图像和编辑指令,以增强推理时的 CFG。

阶段 II:任务调整

在此阶段,进一步微调 MoE 块中的 和,任务感知路由器、视觉提示投影器以及任务嵌入,以使模型适应任务特定的编辑粒度。

推理

在推理阶段,我们使用 LLMs(例如 LLaMA-3)预测编辑类型,并根据输入的指令应用我们的 AnySD 进行编辑。

实验

首先在流行的标准编辑基准上评估 AnyEdit 和 AnySD,展示 AnyEdit 数据集的高质量以及 AnySD 架构的优越性。此外,将评估扩展到更具挑战性的 AnyEdit-Test 基准,以展示方法的扩展性,更好地与现实场景中的创意编辑需求对接。还进一步展示定性结果并进行深入分析,以说明 AnyEdit 的可扩展性和更广泛的适用性。

实验设置

设置

为了公平比较,采用 Stable-Diffusion 1.5 作为主干,并遵循 InstructPix2Pix的设置来训练我们的 AnySD。值得注意的是,仅使用 AnyEdit 数据进行训练,而未结合任何额外的数据集。

基准与评估指标

在两个流行的基准上评估我们的方法:Emu Edit Test和 MagicBrush。这些标准基准通过比较编辑结果与真实值来评估编辑模型。此外,从 AnyEdit 中手动选择了每种编辑类型的 50 个高质量编辑数据,创建了更具挑战性和综合性的 AnyEdit-Test 进行评估。值得注意的是,AnyEdit-Test 在训练期间不可见。遵循先前的工作 [17, 64, 82],采用语义相似度(例如 CLIPim 和 CLIPout)和视觉相似度(例如 DINO 和 L1 距离)指标来评估基于 AnyEdit 训练的 AnySD 在指令驱动图像编辑中的效果。

基准方法

使用以下基准方法:

  • 专门的图像编辑方法:PnP, Null-Text;
  • 基于指令的方法:它直接用自然语言编辑图像,包括 InstructPix2Pix, MagicBrush, HIVE, EMU-Edit, UltraEdit;
  • 视觉条件方法:它针对视觉编辑,包括 Uni-ControlNet。

标准图像编辑的主要结果

在 EMU-Edit Test 和 MagicBrush 基准上报告 AnyEdit 和其他基准方法的标准图像编辑结果,见表 4。

根据实验结果,总结了以下结论:

  • 使用 AnyEdit 的 SD-1.5,仅更改训练数据为 AnyEdit,在编辑对齐和内容保留方面始终表现出优越的语义性能,甚至没有额外的掩码监督(在 EMU-Edit Test 上,CLIPim 为 0.872,CLIPout 为 0.285)。这突出了 AnyEdit 在掌握高质量图像编辑方面的有效性,验证了其高质量编辑数据在语义对齐和清晰的编辑结构方面的显著作用。
  • 使用 AnySD 模型,在 AnyEdit 数据上训练并采用 AnySD 架构,进一步在语义和视觉相似度上超越了 SOTA 方法(在 EMU-Edit Test 上 CLIPim 为 0.872,在 MagicBrush Test 上 DINO 为 0.881),在 MagicBrush 和 Emu-Edit 基准上创下新纪录。这表明 AnySD 在遵循编辑指令的同时,能够保持未修改图像元素的完整性,得益于其任务感知架构,从 AnyEdit 中学习任务特定知识,提升了模型在跨任务编辑中的能力。

AnyEdit-Test 基准对比

表 5 展示了 AnyEdit-Test 基准的结果,其中每个指令旨在严格评估 AnyEdit 在更广泛的挑战性编辑场景中的适应性。

从中可以观察到:(i)大多数基准方法在处理标准基准中很少出现的复杂编辑任务时效果不佳(平均 L1 为 0.190 对比 0.121),尤其是在隐式编辑任务上,这些任务需要推理能力。这表明 AnyEdit-Test 对于评估编辑模型在复杂任务中的表现至关重要。(ii)即使是常见的编辑任务,最先进的模型在 AnyEdit-Test 上的表现也出现了显著下降(UltraEdit 在 CLIPim 上下降了 3.5%,在 DINO 上下降了 19.2%)。这突出了现有基准在评估多场景编辑中的局限性。(iii)相比之下,AnyEdit 在所有编辑类别中显著优于最先进的方法,展示了其在处理复杂任务中的可扩展性和鲁棒性。(iv)传统方法在处理视觉编辑时常常难以有效应对额外的视觉输入。在这种情况下,即使与经过多种视觉条件预训练的 Uni-ControlNet 相比,AnyEdit 在视觉编辑任务中也始终表现得更好。这显示了 AnyEdit 在处理视觉条件编辑指令时的有效性。

定性评估

由于定量指标在评估编辑任务中的局限性,进行了定性评估,以进一步评估我们方法的有效性,如图 5 所示。

主要观察结果如下:

  1. 大多数基准模型,包括人工调优的 HIVE-c和拥有大量训练数据的最先进方法 UltraEdit,在处理复杂的精细化指令(例如图 5(ii) 中的“面部畸形”和“缺失眼镜”)时,仍然会遭遇过度编辑或错位的情况。
  2. 由于当前数据集的多样性和质量有限,先前的方法(如 ip2p、MagicBrush 和 UltraEdit)在不同场景下难以推广到新型编辑类型(例如,在旋转变换和计数任务中未能遵循指令,或在外观修改任务中粗略改变对象的外观)。
  3. 相比之下,我们的方法可以有效确保目标区域的编辑精度,并在不相关区域保持一致性,即使没有任何掩膜指导(如图 5(i)、(vii))。此外,方法能够自动区分前景和背景,并修改背景(如图 5(v))。我们的方案还成功执行了更复杂的编辑指令(例如图 5(vi) 中的风格变换和图 5(x) 中的修复)。

此外,在图 6 中可视化了 AnyEdit 在视觉编辑中的结果。在这个具有挑战性的设置下,Uni-ControlNet 仅能反映视觉条件中的像素信息,或者保留原始图像的语义而不执行任何编辑。相比之下,对于各种视觉指令,AnyEdit 始终能够理解视觉条件中的像素信息并实现可靠的编辑。这些有前景的可视化结果确认了 AnyEdit 在处理视觉条件编辑指令时的有效性和高质量。

深入分析

AnySD 架构

调查了每个组件的有效性,并在 EMU-Edit Test 基准上进行了以下实验:

  • 我们移除了 AnySD 中的文本感知路由策略(参见表 6 的第 1 行),发现其导致了显著的性能下降(CLIPim 从 0.838 降至 0.872,L1 从 0.154 降至 0.070),表明该策略对于适应多样的图像编辑任务至关重要。
  • 移除了 AnySD 中的任务嵌入,观察到这对语义对齐的影响较小,但对视觉一致性有显著影响(参见表 6 的第 2 行),这表明任务嵌入在跨注意力过程中控制了像素信息的感知粒度。

AnyEdit 中数据扩展的分析

在图 4 中,分析了 AnyEdit 数据扩展对图像编辑能力的影响。观察到:

  • 对于一致性指标(例如 CLIPim 和 DINO),随着数据规模的增加,性能逐步提升;
  • 对于编辑准确性指标(例如 CLIPout),即使数据量较少,也能实现令人满意的性能,表明 AnyEdit 在语义对齐方面表现优异;
  • 此外,移除了在反事实合成场景中的 AnyEdit-Composition 编辑数据,如表 6 第 3 行所示,缺乏概念平衡会限制 AnySD 的泛化能力,导致语义性能下降(CLIPout 降低了 4.9%)。这证实了反事实合成场景在编辑任务泛化中的有效性。

结论

这项工作提出了一种新的编辑任务分类视角,并引入了一个统一框架,利用自适应pipeline构建低资源环境下适用于多样编辑任务的高质量数据。在此基础上,提出了 AnyEdit,这是一个多类型、多场景的基于指令的编辑数据集,包含 250 万个编辑样本,覆盖 25 种不同类型,并配套 AnyEdit-Test 基准,开启了统一图像编辑的更全面的范式。此外,开发了强大的 AnySD,充分释放了 AnyEdit 的潜力。通过在标准基准和具有挑战性的 AnyEdit-Test 上的广泛实验,证明了我们的方法在多样任务和场景下的高质量图像编辑能力,能够准确执行复杂指令,同时保持未修改元素的图像一致性。

参考文献

[1] AnyEdit: Mastering Unified High-Quality Image Editing for Any Idea


感谢你看到这里,也欢迎点击关注上方公众号并添加公众号小助手加入官方读者交流群,一个有趣有AI的AIGC公众号:关注AI、深度学习、计算机视觉、AIGC、Stable Diffusion、Sora等相关技术,欢迎一起交流学习💗~

AIGC Studio
一个有趣有AI的AIGC公众号:关注AI、深度学习、计算机视觉、AIGC、Stable Diffusion、Sora等相关技术。这里不仅有简单易懂的AIGC理论实践和AI学习路线,还有大厂工作经历和体会分享。如果有幸能给你一些帮助就更好啦!
 最新文章