文章链接:https://arxiv.org/pdf/2407.20455
亮点直击:
一种数据生成技术,提供了具有更好身份和布局对齐的配对数据;
一种多条件扩散模型,能够生成保留特征的结果,并在推理中提供准确的编辑mask指导;
实现了最先进的人像编辑效果。
现有的技术在进行人像编辑时面临挑战,难以保留主体特征(如身份)。本文提出了一种基于训练的方法,通过自动生成的配对数据来学习所需的编辑,同时确保保留未更改的主体特征。具体来说,本文设计了一个数据生成过程,以低成本创建合理的编辑训练对。基于这些数据对,引入了一个多条件扩散模型(Multi-Conditioned Diffusion Model),能够有效地学习编辑方向并保留主体特征。在推理过程中,该模型生成准确的编辑mask,可以在推理过程中进一步指导,保留主体的细节特征。在服装编辑和卡通表情编辑的实验中,本文的方法在定量和定性方面均达到了最先进的质量水平。
效果对比镇楼
Pipeline
给定源域A中的输入人像图像,本文的目标是在目标域B中合成高质量的人像图像。一个经过良好编辑的图像应满足以下条件:
-
保留中未被编辑的主体特征(如身份)和大致布局
-
确保编辑的真实性(即属于B域)并保持高图像质量
为此,本文设计了一个基于扩散的图像编辑流程,分为三个阶段:
-
首先,引入了一种自动化数据生成策略,以创建合理但不完美的输入和真实标签配对数据(下图2左)
-
然后,设计并训练了一个多条件扩散模型(MCDM)(图2右)在生成的数据集上进行训练。通过以不同方式利用多个条件,MCDM能够有效地从训练数据对中学习编辑方向,同时保留不应改变的主体细节特征
-
在推理过程中,使用训练好的MCDM生成编辑结果,并通过自动生成的编辑mask进一步保留中的主体细节
配对数据生成
本文的目标是设计一种数据生成策略,能够根据文本提示定义的特定编辑方向(例如,从普通服装到圣诞老人服装)生成配对样本。然而,生成具有完美空间对齐和身份一致性的配对样本非常具有挑战性。因此,寻求设计一种策略(上图2左),能够生成合理的配对数据,并满足以下基本条件:
-
输入图像和真实标签中的用户身份应尽可能匹配
-
和应具有大致的空间对齐
-
数据应涵盖多样化的用户外观(以提高泛化能力)
一个直接的想法是由Instruct-Pix2Pix提出的,使用GPT-3生成源域和目标域中的一对文本提示。然后利用这些生成的提示通过预训练的Stable Diffusion模型和Prompt2Prompt图像编辑技术创建和。然而,这种方法通常会导致不理想的,因为它无法保留xA中的身份特征,如下图3(a)所示。
相反,本文在Composable Diffusion的基础上构建了一种条件配对生成策略,以满足上述三个要求。关键设计包括:
-
遵循[27]的方法,在一个单一的图像内生成和,通过单次去噪过程实现。这有助于在和之间生成一致的身份(条件1)
-
加入了姿态信息以改善空间对齐(条件2)
-
从真实照片中提取身份信息,并利用这些信息来确保满足条件1和条件3
为了实现设计(1),使用预训练的Stable Diffusion结合Composable Diffusion 来生成一个图像,其中操作符[·,·]表示两张图像的水平拼接。这里,H和W分别表示和的高度和宽度。此外,设计(2)和(3)作为条件被用于指导图像的去噪过程。
具体来说,首先随机初始化一个潜在代码 ,其中 ,,4 代表潜在代码的特征维度。在每个时间步 ,通过结合三个无分类器指导结果来计算预测的噪声。
其中,、 和 分别表示从共享提示 、源提示 和目标提示 计算得到的文本embeddings。在前面图2的示例中, 是“左边和右边是同一个女人”, 是“一个穿着普通服装的女人”,而 是“一个穿着圣诞老人服装的女人”。 表示从真实人像图像中提取的身份embeddings(设计(3)),通过一种基于CLIP的身份编码器的变体实现,该编码器在FFHQ数据集上进行了训练。该编码器将图像转换为多个文本词embeddings,因此可以与 、 和 结合,为去噪过程提供身份信息。
矩阵 和 分别定义为 [1,0] 和 [0,1],它们都属于 。其中,1(0)表示在维度为 的矩阵中所有值都设置为1(0)。此外,变量 、 和 表示与每个预测噪声相关的强度。此外,去噪过程由一个姿态图像(设计(2))引导,使用OpenPose ControlNet,如前面图2左上所示。这个姿态图像通过在图像的左右部分展示相同的姿态来确保对齐本文的方法生成的配对样本如图2左侧所示。
值得注意的是,设计(2)(用于姿态)和设计(3)(用于身份)在生成良好配对样本中起着至关重要的作用。前面图3说明了这一点。省略其中一个设计会导致明显的空间错位(图(b))和面部形状的显著差异(图(c))。此外,设计(3)也有助于在不同的配对样本中生成多样化的个体。这对于增强泛化能力至关重要,如下图4所示。
训练多条件扩散模型
虽然生成的配对数据相当不错,但仍然不完美。例如,在前面图2中,中的脸比中的略宽。这些不完美之处可能会混淆模型,影响性能。
因此,针对这些不完美的配对数据,本文设计了一个图像编辑模型,以有效地从生成的配对数据中学习相关信息,如编辑方向和未编辑的主体特征的保留,同时过滤掉意外的噪声——特别是身份和布局中的细微变化。受到[22]的启发,本文的模型的关键设计是在Stable Diffusion架构中以不同方式整合各种条件。将此模型称为多条件扩散模型(Multi-Conditioned Diffusion Model,MCDM)。将首先定义这些条件,并详细说明它们如何通过不同的注入方式帮助从不完美数据中学习相关信息。MCDM的详细结构如下图5所示。
本文的模型 考虑了三个路径的条件信号:
-
空间embeddings
-
文本embeddings ,由预训练的Stable Diffusion文本编码器通过目标文本提示 作为输入提取
-
图像embeddings ,其中 表示从预训练的CLIP图像编码器[35]中提取的embeddings。MLP(·) 是一个多层感知器(多层神经网络),将图像embeddings投射到文本embeddings空间。
为了将这些embeddings整合到本文的模型中,对Stable Diffusion架构进行了如下修改:
-
为防止中的不完美特征误导模型生成会改变布局和身份的输出,将空间embeddings 与噪声潜变量(U-Net的输入)进行拼接。拼接结果被用作U-Net的输入。在架构上,U-Net编码器的第一层被调整为容纳额外的4个通道(用于),使总通道数增加到8个通道。
-
和被拼接后输入交叉注意力层,这与Stable Diffusion架构相似。在功能上,包含了目标域的关键信息,按照文本提示的指示引导输出向目标域B方向发展。同时,则将从输入图像中提取的视觉信息提供给交叉注意力层,为注意力机制提供视觉指导。这防止了严格遵循文本指令,确保输出与的视觉上下文保持联系,避免不必要的偏离。
使用预训练的Stable Diffusion初始化网络权重。训练方案与Stable Diffusion类似,但有几个不同之处:
-
将替换为,并在5%的时间内将替换为。这使模型能够重构输入图像(即执行相同的编辑),这些将在推理阶段用于生成mask。
-
受[22]的启发,在分类器无指导的情况下对多个信号实施了dropout机制。具体来说,在20%的概率下,会丢弃以下任何组合:、、,甚至是全部。
下图6展示了这些设计选择的消融实验结果,强调了同时使用所有条件信号的有效性,如前文所述。
使用训练模型进行mask引导编辑
在训练之后,生成从到预测结果的标准方法是使用训练好的模型(带有无分类器指导)在T次迭代中对随机潜变量zT进行去噪。虽然生成的能够成功实现所需的编辑,同时保留身份和布局,但在保留主体特征的某些具体细节方面仍可能存在挑战。例如,在下图7中展示了表情编辑(如变为震惊表情)的例子,其中标准生成输出(d)中的帽子和上衣图案与输入图像(a)中的不同。
为了增强这些细节的保留,可以从训练好的MCDM中生成一个mask,为去噪过程提供明确的指导。这个mask指示了需要编辑的区域和不应更改的区域。本文采用了DiffEdit的方法来自动生成这样的mask。本文与DiffEdit的mask生成策略的主要区别在于,本文并非依赖预训练的Stable Diffusion模型,而是利用训练好的MCDM及其重构能力来实现更精确的mask生成。通过将DiffEdit应用于本文的MCDM而非原始Stable Diffusion模型,可以通过MCDM的重构能力实现更精确的mask生成。
上面图7(c)展示了一个由本文训练的模型生成的编辑mask示例,其精确度比用于生成配对数据的DiffEditmask(图7(b))更高。这一演示突显了MCDM即使在不完美的数据集上训练,也能够辨别应进行编辑的内容类型的能力。
一旦得到了mask M,在每个时间步t,通过以下方式计算mask引导的预测噪声:
这意味着在mask内进行目标编辑(使用),而在mask外保留原始图像内容(使用)。前面图7(e)显示了使用mask引导后的结果。
实验
数据集: 在两个不同的人像编辑任务中评估了本文的pipeline性能:服装编辑和卡通表情编辑。对于每个任务,我们在特定域中定义了四个不同的编辑方向。对于服装编辑,输入图像是穿着日常服装的真实人像,输出是同一人物穿着花朵、羊、圣诞老人或皇家服装的图像。对于卡通表情编辑,输入图像是带有中性表情的卡通肖像,而输出是相同的卡通角色,带有四种不同的表情:生气、震惊、大笑或哭泣。对于每个任务,本文生成了一个包含69,900对图像的训练数据集(每个编辑方向17475对图像)。用于测试的野外图像来自[40]。
Baselines: 本文选择了6种最新的图像编辑baselines方法进行比较。特别是,Prompt2Prompt、pix2pix-zero、DiffEdit、SDEdit是无需训练的扩散方法,通过文本提示引导编辑方向。由于SDEdit对强度参数敏感,本文测试了它的两个不同参数,即SDEdit 0.5和SDEdit 0.8。较大的强度会生成遵循编辑方向但偏离输入图像的输出。SPADE 和BBDM是基于生成对抗网络和扩散模型的训练型图像编辑框架。
实际应用: 本文通过两个不同场景展示了在两个数据集上训练的模型的实际应用。第一个应用涉及真实人像的服装编辑,其中输入是野外拍摄的人像图像。如下图8的前四行所示,无论是训练型还是无需训练的方法,结果都不令人满意;前者显示出明显的伪影,而后者往往未能与提供的提示对齐。
第二个应用是贴纸包生成。目标是基于野外拍摄的人像图像生成一个卡通贴纸包。为此,首先对真实输入图像进行数据增强,包含裁剪和单应性变换等处理。然后,使用这些增强的数据训练DreamBooth。接着,利用训练好的DreamBooth生成受精心设计的文本提示指导下的卡通化人像图像。最后,本文的模型应用于卡通化图像,以生成四种不同训练过的表情。请注意,直接使用DreamBooth生成具有各种表情的图像由于布局变化和过拟合问题,效果并不理想。如前面图8的最后四行所示,无需训练的baselines方法优于其训练型对手。这是因为训练型baselines方法在处理不完美的训练配对时不够鲁棒。相比之下,本文的方法在编辑准确性和主体特征保留方面超越了所有baselines,同时保持了高图像质量。
用户研究: 本文在两个实际应用场景上进行了用户研究,每个场景有12个示例。参与者被展示了由DiffEdit、SDEdit 0.5、SPADE、BBDM和本文提出的pipeline生成的输入和输出图像,顺序随机打乱。32名参与者被要求对每个输出图像给予1到5的评分(评分越高表示效果越好)。研究者们对每个示例和用户的评分进行了归一化处理,以消除用户偏差。在服装编辑任务中,本文的方法获得了最高的平均评分,超过了DiffEdit 3.3倍,SDEdit 0.5 1.8倍,SPADE 2.1倍,BBDM 2.5倍。同样,在表情编辑任务中,本文的方法也获得了最佳评分,超越了DiffEdit 1.7倍,SDEdit 0.5 1.4倍,SPADE 2.9倍,BBDM 1.6倍。这些结果表明,本文的方法在两个任务中均比baselines方法产生了更优的视觉效果。
验证集比较: 为了进行定量评估,为每个任务创建了一个验证数据集,生成了1,000对图像,采用了两种不同的方法。第一种方法是按照之前描述的相同方法生成配对数据,得到100对图像。第二种方法则采用了不同的策略,旨在引入FFHQ数据集中不存在的主体。排除了身份embeddings,并将由ChatGPT生成的详细文本描述添加到、和中。这产生了额外的900对图像用于评估。作者认为通过结合这两种类型的配对图像可以进行更全面的评估。下图9和表1显示,本文的方法优于所有测试的baselines方法。
消融研究: 本文进行了实验来评估模型每个组件的有效性,结果得到了四种变体:(1)Ours w/o Prt,从头开始训练本文的模型,(2)Ours w/o Spt,去除空间embeddings ,(3)Ours w/o Iemb,排除图像embeddings ,(4)Ours w/o mask,去除推理过程中的mask引导。由于本文在评估时使用一个模型训练了4种编辑方向,没有测试没有文本条件的变体,因为文本条件用于确定测试时执行的编辑类型。如前面表1、图6和图7所讨论,本文的最终设计优于这些变体。
局限性和未来工作: 数据集生成策略假设Stable Diffusion能够生成源域和目标域的图像,但这并非总是可能的。当处理大多数配对数据中存在显著噪声(如显著的布局和身份差异)时,编辑性能会受到影响。未来计划:(1)摆脱配对数据的限制,探索有效处理非配对数据的方法,(2)减少所需的训练数据量,使pipeline更加高效和可扩展。
结论: 本文旨在实现人像编辑,如更改服装和表情,同时保留未目标化的特征。本文引入了一种新颖的多条件扩散模型,该模型在我们提出的数据集生成策略生成的训练配对上进行训练。在推理过程中,模型生成一个编辑mask,并使用它进一步保留主体特征的细节。在两个编辑任务上的结果在定量和定性上均显示出相对于现有最先进方法的优越性。
参考文献
[1] Learning Feature-Preserving Portrait Editing from Generated Pairs