DiffMorpher
DiffMorpher: Unleashing the Capability of Diffusion Models for Image Morphing
1 研究背景
1.1 图像变形(Image morphing)
图像变形(Image morphing)是一种图像变换技术。是一个计算机视觉和图形学交叉的问题。给定相似物体的两张图像和一组对应关键点(可选),生成一系列变形中间图像。这些图像插入两个输入图像之间,能让整个图像序列生成一个平滑过渡的视频。可用于深度学习中的数据增强,动画,照片编辑等领域。
1.2 传统图像变形技术
图像变形问题的经典解决方式是通过图像变形把两个图像的对应点对齐,然后进行颜色交融。但是这种方式有两个问题:
- 只在颜色空间操作,无法解释图像纹理和语义的变化
- 生成的中间图像易出现伪影,效果不自然
经典方法的问题在于无法创建超出给定输入的新内容,从而容易出现伪影。对于这个问题,最近产生了新的数据驱动的变形范式,利用特定对象类的大量图像来确定原图像到目标图像的平滑过渡路径。但是这需要大量单类的数据,也解决不了跨域等通用场景的应用。
1.3 对抗模型(GAN)与扩散模型(Diffusion model)在图像变形问题中的比较
在前几年,已经有一些使用GAN来完成图像变形的研究。在GAN中,图像是由高维隐变量生成的,可以通过GAN反演把输入图像变为隐变量,再对隐变量进行插值,从而生成输入图像的中间过渡图像。但由于GAN反演的挑战以及GAN生成的图像通常局限于某一类别,泛用性差。
diffusion model在图像生成质量上强于GAN,也有一些使用diffusion model采用插值方式解决图像变形问题的研究,对DDIM反演[2]得到的纯噪声隐变量进行插值。由于diffusion model的潜在空间不够结构化[1],插值常会导致随机和突然的内容闪烁,因此如何保证转换的平滑性是一个挑战。
[1]:扩散模型从高维随机噪声开始,逐步学习去噪生成图像,映射更加复杂,每步结果都依赖噪声,模型权重,步数等因素,因此潜在空间相较于GAN不够结构化。
[2]:从一张真实图像恢复到其在扩散过程中的初始噪声的过程,基于DDIM(Denoising Diffusion Implicit Models)采样算法实现。
本篇文章提出了LoRA插值和潜在噪声插值,自注意力插值等方法,提高diffusion model在解决图像变形问题时,生成中间图像的质量和平滑性。
2 方法
2.1 LoRA插值
低秩适应是一种有效的模型调优技术,将模型参数的调整分解为对低秩矩阵的调整。假设有原始权重矩阵W,LoRA通过低秩矩阵A和B的乘积调整权重:
A和B是两个低秩矩阵,训练过程中,LoRA只需要更新A和B。这能提高训练效率。而本篇文章的作者发现LoRA能将高级图像语义封装到低秩参数空间,这样通过将LoRA拟合到单个图像,微调后的模型能在遍历噪声时生成语义一致的不同样本。 受此观察的启发,作者提出的方法首先在 SD UNet ϵθ 上为两个图像 I0 和 I1 训练两个 LoRA Δθ0、Δθ1。 形式上,训练 Δθi(i = 0, 1) 的学习目标是:
- z0i 是原始图像 i 的VAE编码潜在嵌入。
- ϵ 是实际的噪声(采样自高斯分布)
- $\sqrt{\overline\alpha_t}z_0i+\sqrt{1-\overline\alpha_t}\epsilon$是step t的噪声潜在embedding
- ϵ^θ+Δθ 是模型的预测噪声,基于当前的参数
- ci是prompt的文本embedding
- $ε_θ+Δθ_i$是Lora微调集成的UNET
- t 是当前的时间步
微调后$Δθ_0$和$Δθ_1$被固定并存储。 当生成中间图像 Iα 时,通过在低秩参数空间中应用线性插值来融合 I0 和 I1 中的高级语义:$ Δθ_α = (1 − α)Δθ_0 + αΔθ_1 $并使用 带有插值$ LoRA ϵ_θ+Δθ_α $的 UNet 作为去噪步骤中的噪声预测网络。 这样的插值$ Δθ_α $是有意义的,因为$ Δθ_0 $和$ Δθ_1 $是从相同的初始化中进行适度微调的,因此高度相关。
这一部分工作的重点在于通过LoRA将两个图像的一致语义保留,然后对LoRA的权重参数进行插值,实现语义的平滑过渡。
2.2 潜在插值
通过噪声预测网络,生成 Iα 的下一步是找到相应的潜在噪声 zTα 和潜在文本条件 cα。 为此,本研究进一步引入潜在插值。通过DDIM反演得到两个图像对应的潜在噪声zT0、zT1,并通过球面线性插值(slerp)得到中间潜在噪声zTα:
为了缓解反演中不准确重建的问题,本研究在反转时利用了LoRA继承的UNet的权重。而潜在文本条件作者也采用了线性插值的方式:
获得潜在噪声 zTα 和潜在条件 cα 后,通过 LoRA 集成的 UNet ϵθ+Δθα 对 zTα 进行去噪,获得具有自然空间过渡的语义有意义的中间图像。
这一部分工作是对输入图像对应的噪声和输入文本enbedding进行插值,提高中间图像的合理性。
2.3 自注意力输入的插值与替换
通过前两种方法已经提高了中间结果的语义合理性,但是纹理变化的不平滑仍然存在,作者将此归因为多步去噪过程中引入的非线性特性,并提出了一种新颖的自注意力插值和替换方法,该方法将线性变化的注意力特征引入到去噪过程中, 大大减少了生成视频的突然变化。
如图4所示,在去噪过程t时,将输入图像的噪声输入到LoRA的UNet中,得到自注意力模块的矩阵K和V,然后对两张图像的K和V矩阵插值,替换原有自注意力矩阵,从而让图像能够从输入图像中查询到相关结构和纹理,从而提高图像平滑性。
作者还发现自注意力插值替换会使图像纹理模糊,因此只在早期的λT步替换特征,后续步保持自注意力矩阵不变,并经实验确认λ取0.4-0.6是效果最好的。
这一部分的工作对自注意力矩阵替换,将原有的自注意力矩阵替换为输入图像插值后的自注意力矩阵,从而让中间图像生成过程能利用原图像的纹理,从而提高图像变换的平滑性,也通过控制进行替换的步数解决了替换自注意力的问题。
2.4 自适应实例归一化
在扩散模型的去噪过程中,为了确保生成图像与输入图像之间的颜色和亮度保持一致,作者引入了自适应实例归一化(AdaIN)对插值的潜在噪声进行调整。通过调整噪声的均值(µ)和标准差(σ)来改变图像的色调和亮度,从而使生成图像在颜色和亮度上更符合输入图像的特征。同样采用插值的方法,先计算输入图像的潜在噪声的各个通道的平均值和标准差,然后线性插值,据此调整中间图像的潜在噪声。
2.5 采样重调度
通过以上的方法,可以实现在两个图像之间生成平滑的过渡图像。但是图像内容的过渡不均匀,即开始和结束时变化较慢,中间时刻图像变化过快。在选择插值比例α的选择上,如果α是等距的,即如果产生10个中间帧,混合比例[0,0.1,0.2,…,1],不同比例的地方图像的变化率不同,变化率不均匀。
作者采用了一种类似平均颜色分布的直方图均衡化算法。调整了重采样的混合比例[0,α1,α2,α3,α4…1],使相邻帧的变化了近乎相同。其推导见原文。
3 实验结果
由于图形变换问题缺乏具体的评价基准,作者提出了MorphBench,作为一个评估图像变形的数据集。收集了 90 对不同内容和风格的图片,并将它们分为两类:i)不同物体之间的变形(66 对)和 ii)相同物体的动画(24 对)。
作者和五种代表性的图形变形方法进行了比较,包括基于扭曲和混合的经典图形变形技术;基于GAN的插值方法DGP和styleGAN-XL;基于Diffusion model的深度差值方法DDIM和Diff.Interp。
定性评估实验结果,DiffMorpher 在图像保真度、语义一致性和转换平滑度方面都优于以前的所有方法,无论是用于在不同对象之间变形还是为同一对象设置动画,并且也没有出现残影等问题,并且色彩上也是平滑变化的。如图5所示:
为了定量评估,作者采用了Diff.Interp中采用的指标(这里作者没有详细阐释这些指标的计算方法和原理,可能在Diff.Interp中有介绍,此处只简单记录这些指标的作用)。
- Frechet inception distance(FID):计算输入图像的分布和生成图像的分布之间的FID,从生成图像中随机采样两个图像10次,取平均FID分数作为中间图像的合理性和保真度指标。越低表示图形变换效果越好。
- Perceptual path length(PPL):计算 17 帧序列中相邻图像之间的感知损失之和,作为过渡视频的平滑度和一致性的指标。
- Perceptual distance variance(PDV):作者基于Perceptual path length (PPL)提出的新指标,计算连续图像之间的感知损失,然后计算序列中这些距离的方差,测试集中所有序列的平均序列方差被视为PDV,用于评估转换速率的均匀性。较低的PDV表示更均匀的速率。
量化评估指标的结果如下表所示,本研究的效果优于DDIM等方法。但是在部分类型和指标上指标高于(对应效果劣于)WarpBlend即经典方法,作者说明了这是因为变形和混合操作的平滑和线性特性,所以经典方法从指标上看效果很好,但是很容易出现重影和伪影,从上面定性评估的warpBlend也能看出来,确实存在明显的重影和伪影。
最后作者还进行了消融实验衡量各个具体方法的有效性,表2显示了4种不同方法的组合以及指标,提高语义一致性和平滑程度的关键是LoRA插值(降低FID和PPL),采样重调度则使图像变化速率均匀,降低了PDV。
4 局限及问题
作者提出方法的局限性之一在于必须在图形变换前为每个输入图像训练LoRA,会花费额外的时间,也增加了图形变换求解本身的复杂性。此外,潜在差值部分对输入文本的嵌入表示插值,来提高中间图像的合理性,需要用户对输入的prompt文本进行对齐,这是作者在文章最后指出的。