官方存储库:SalesforceAIResearch/bootpig (github.com)
一、Introduction
这部分首先介绍了个性化图像生成的背景,说明了当前的方法在个性化图像时面临的挑战。特别是,强调了如何有效利用参考图像来引导图像生成过程的重要性。
然后引出提出了一个名为BootPIG的新架构,它包括两个重复的潜在扩散模型——参考UNet和基础UNet。这个架构允许通过在基础UNet中融入参考自注意力(RSA)层来将参考图像特征融入生成过程中。接着简单的介绍了参考自注意力(RSA)层如何工作,它允许模型利用参考特征来调整和优化生成的图像。RSA层通过特定的操作允许输入的潜在特征“关注”参考特征从而在计算输出潜在特征时考虑到参考信息。
另一个点就是如何进行多参考图像处理,论文讨论了如何通过特殊的推理策略处理多个参考图像,介绍了三种不同的推理策略:Concat、Average和一种未具体描述的优化策略(Ours),每种策略都旨在以不同的方式利用多个参考图像的信息以生成更高质量的图像。
最后就是由于原始扩散模型未训练以使用RSA层,因此生成的图像可能不符合输入提示的期望。为了解决这个问题,提出了使用合成的(参考,目标)图像对对模型进行微调的方法。
二、Related Work
这部分主要就是讲解了有关文本到图像合成、基于测试时微调的主题驱动文本到图像合成、零样本的主题驱动文本到图像合成、文本到图像模型的多模态控制这几个方面的相关研究背景以及当前的一些先进方法。
三、Method
方法论部分首先讲解了扩散模型的基本原理,然后介绍了整个bootpig的结构。
上图便是Bootpig的整体架构图,实际上它的想法还是非常好理解的,方法的关键在于它用到了一个参考UNet以及参考自注意力层RSA,在训练过程中,它将参考图像输入到参考Unet中以提取参考特征,然后将参考特征输入到Base Unet的RSA层中,从而实现特征的融合。这就是它的关键思想。
Inference:
在推理过程中,在每个时间步,我们通过将噪声参考图像、目标标题c和时间步t传递到参考UNet来提取参考特征Fref。我们使用无分类器指导策略来使用Base UNet估计噪声生成潜伏期x′ t中的噪声:
论文中提到,可以利用多个参考图像提取特征注入到RSA中,具体而言,它首先会计算一个不用任何参考特征的输入,然后再计算用到每个参考特征的输出:
然后计算它们与不需要参考特征的输出之间的像素级差异,用ni表示,然后它会利用softmax函数计算得到每个参考图像的权重,最后根据权重来加权和每个参考特征的输出。
四、Experiments
实验部分展示了与当前的一些方法进行的比较,上图是生成的图像展示,下表是在指标上的衡量,具体而言,在同样的zero-shot方法中,论文的方法性能要好,与其他不是zero-shot的方法比较而言,相差不算很大。
下图是比较多个参考图像特征融合所用的方法生成的效果的比较:
指标上的衡量如下表,在图像保真度上随着参考图像越多,生成的效果越好,但在文本图像相似度上而言效果略微有所下降。
下表是消融实验部分,主要是根据训练不同的参数量做的比较: