本文是VCC张明启同学对论文 RealFill: Reference-Driven Generation for Authentic Image Completion 的解读,该工作来自康奈尔大学、Google Research以及Snap Research,已被发表在计算机图形学顶级会议SIGGRAPH 2024上。
该工作提出了一种
真实图像补全方法,该方法允许用户使用少量的参考图像对模型进行个性化训练,通过学习输入图像的真实场景信息从而对目标图像进行补全和扩展
,并且对输入的参考图像和目标图像没有严格限制,图像可以在视点、光照、风格等方面存在差异。相比于其他补全方法,RealFill补全结果能更好保持真实场景的结构和细节,而后者会产生合理但不真实的内容。
论文标题:
RealFill: Reference-Driven Generation for Authentic Image Completion
论文链接:
https://arxiv.org/abs/2309.16668
项目主页:
https://realfill.github.io/
一、引言
照片捕捉了我们生活中短暂而宝贵的经历,但是在许多情况下,我们拍摄不到具有完美角度的照片。因此,人们希望可以借用图像补全技术来得到想要的图像。图像补全是计算机视觉领域的一个长期挑战,其目的是用可信的内容来填充图像缺失部分,在许多应用场景具有广泛的应用潜力。过去解决此类问题主要采用经典的基于几何的方法,这些方法依赖于特征匹配、深度估计和3D变换等操作,无法处理复杂场景。最近出现的生成模型,尤其是概率扩散模型,在图像补全和拓展任务上展现了强大的性能。然而现有生成方法仍难以恢复真实场景的结构和细节。
为了能够真实地还原场景信息,本文提出了一种参考图像驱动的图像补全方法,RealFill。该方法根据用户提供的参考图像和目标图像,对预训练的补全扩散模型进行微调,使得模型可以学习到输入图像中的场景的内容、光照和风格,然后即可使用微调后的模型通过标准的扩散采样过程补全目标图像。RealFill能够有效地根据真实场景信息对图像进行补全和拓展,即使参考图像和目标图像在视点、光照、风格等方面具有较大差别,RealFill也能够很好地处理。因为扩散模型具有不确定性,生成结果的质量参差不齐,所以本文最后设计了一种基于对应关系的种子选择策略,从多个输出中选择一组补全效果较好的图像作为最终结果。
二、技术贡献
本工作主要贡献如下:
-
定义了一种新的任务:
真实图像补全
,给定一组参考图像和目标图像,本工作希望补全的内容符合输入图像中的场景信息;
-
提出了一种用于真实图像补全任务的方法,RealFill,通过在参考图像上利用LoRA微调预训练的扩散模型,即可使用微调后的模型进行真实图像补全;
-
提出了RealBench数据集,数据集内包含33个场景的信息,可以用于真实图像补全任务的定量评估。
给定一组随机捕获到的参考图像(至多5张),RealFill的目标是在缺失区域生成符合真实场景信息的内容,输出图像不仅要可信和逼真,而且要符合参考图像场景信息。RealFill的训练和推理过程如下图1所示。在训练阶段,本文根据用户输入图像,利用LoRA对预训练的补全模型进行参数微调,使得模型学习输入图像的场景信息;在推理阶段,利用微调后的模型,以特定句式“a photo of [V]”、目标图像及其掩膜作为控制条件,并且采用现有的Denoising Diffusion Probabilistic Models(DDPM)采样器,从一张纯噪声的图像生成最终的补全图像。
图1 RealFill的训练和推理过程
不论是对于基于几何的方法,还是基于重建的方法来说,真实图像补全的任务都十分具有挑战性。这是因为该任务只有少数图像可以作为输入,在参考图像
和目标图像
之间几乎没有设置任何几何约束,而且参考图像可能具有与目标图像十分不同的风格和光照条件。因此,该方法首先通过在参考图像上微调预训练的生成模型,从而将场景信息注入到模型中。然后,以目标图像
及掩码
作为条件,使用微调后的模型补全图像,从而使得生成的图像呈现目标场景。
RealFill的实现基于预训练的补全扩散模型,通过在训练阶段为预训练模型注入LoRA参数,并在
和
上用随机生成的掩膜
对参数进行微调,从而使得RealFill学习到当前输入图像的场景信息。损失函数如下所示:
其中
,
是一个文本描述词。对于
而言,损失函数只会在非缺失区域进行计算。该工作使用开源的Stable Diffusion v2补全模型,并在text encoder和UNet中注入LoRA参数。在训练过程中
为特定句式:“a photo of [V]”。对于每个训练样本,该工作生成多个随机的矩形区域,取矩形的并集或者并集的补集构建随机掩模图像 。
推理过程
在完成训练后,本文采用DDPM采样器生成
并以
、
和
作为模型的控制条件。在实验结果中,
的非掩码区域发生了畸变,与
中对应区域的内容不相符。为了解决这个问题,本文首先对掩膜
进行羽化处理,然后用羽化处理过的掩膜对
和
做alpha混合,这样可以使最终结果的已有区域和输入图像一致,并在生成区域的边界处产生平滑过渡。
由于扩散模型的推理过程是随机的,相同的输入可以生成不同的图像。这种随机性使得生成图像的质量参差不齐,该工作将参考图像作为基准,帮助识别高质量的生成图像。具体来说,采用 和 之间的匹配特征点对的数量作为度量,粗略地量化结果与参考图像的相似度。
四、部分结果展示
Inpaint和outpaint
现有的基于参考图像的图像补全基准主要关注小区域的补全,并假设参考图像和目标图像之间的差异非常微小。为了更好地评估本文测试用例,本文创建了一个包含33个场景的图像数据集,RealBench。图2和图3展示了RealFill的生成结果,说明该方法能够对图像进行补全和扩展,生成与参考图像信息一致的内容,并且能够处理相机姿态、光照、焦外模糊、图像风格的显著差异等情况。
图2 outpaint结果
图3 inpaint结果
定量评估
参考图像信息一致的内容,并且能够处理相机姿态、光照、焦外模糊、图像风格的显著差异等情况。本文与基于参考图像、基于提示词的两组基线方法进行了比较,并在RealBench数据集上对所有方法进行了定量评估。RealFill在所有指标上都优于另外两种方法,如表1所示:
表1 RealFill与基准方法的定量评估
图4展示了上述评估的可视化结果,与基准方法相比,RealFill不仅能够生成高质量的图像,而且补全的内容更加符合输入图像的场景信息。
图4 与基准方法定量评估的可视化结果
基于对应关系的种子选取
对于不同场景,本文根据匹配特征点对的数量对生成结果进行排序和筛选,以此来评估种子选取策略与结果质量之间的相关性。图5展示了具有不同匹配特征点对数量的RealFill输出,该结果表明匹配特征点对的数量越少通常意味着结果质量越低。
图5 匹配特征点对的数量与结果质量的相关性
五、总结与展望
本文首先介绍了一种新的真实图像补全任务,给定一组参考图像,本工作希望补全图像的内容符合输入图像的真实场景信息。为此,本文提出了一种简单但有效的方法RealFill,该方法首先用参考图像和目标图像对T2I补全扩散模型进行微调,然后使用微调后的模型补全目标图像的缺失区域。实验结果表明,RealFill能输出高质量、符合参考图像真实场景信息的补全结果,即使参考图像与目标图像之间存在视点、光照、风格等方面的差异,RealFill的表现也同样出色。
Q: RealFill还存在着哪些不足?
A: 当参考图像与目标图像之间的视点差异过大时,比如只有一张参考图像,此时RealFill的结果通常无法还原场景信息。另外,由于RealFill在学习输入图像的场景信息时是一个基于梯度优化的过程,因此RealFill的训练速度很慢。
Q: 参考图像的选择是否会影响RealFill的结果?
A: 根据经验,当有参考图像的数量更多时,或者当参考图像在视点、光照等方面与目标图像差异较小时,RealFill能够输出更好的结果,如图6所示: