4. Palette: Image-to-Image Diffusion Models

  该文提出一种基于扩散模型的通用图像转换(Image-to-Image Translation)模型——Palette,可用于图像着色,图像修复,图像补全和JPEG图像恢复等多种转换任务。Palette是一种条件扩散模型,目的是根据输入的条件x来构建分布p(y|x),其中xy都是图像的形式。作者采用了256*256的条件UNet架构作为网络模型,并通过图像级联的方式引入条件图像。目标损失函数如下

\mathbb{E}_{(\boldsymbol{x}, \boldsymbol{y})} \mathbb{E}_{\boldsymbol{\epsilon} \sim \mathcal{N}(0, I)} \mathbb{E}_{\gamma}\|f_{\theta}(\boldsymbol{x}, \underbrace{\sqrt{\gamma} \boldsymbol{y}+\sqrt{1-\gamma} \boldsymbol{\epsilon}}_{\tilde{\boldsymbol{y}}}, \gamma)-\boldsymbol{\epsilon}\|_{p}^{p}

其中\gamma表示噪声的强度。在DDPM中p=2,即采用L2损失函数;而在其他的一些工作中,也有选择L1损失函数的。作者发现使用L2损失能够提高生成样本的多样性,而使用L1损失则会生成更加保守可信的结果。
  为了评估图像转换算法的性能,作者还给出了一个综合的评价指标,包含Inception Score (IS);Fréchet Inception Distance (FID); Classification Accuracy (CA),用预训练的ResNet-50分类器的Top-1分类准确率; Perceptual Distance (PD), 在Inception-V1特征空间中的欧氏距离。此外还引入了人类评估方式,即让人判断两张图片哪个是自然图片,哪个是生成图片,人类将生成图片误判为自然图片的比例,称为Fool Rate。
  作者在四个图像转换任务中对Palette的性能进行了测试,包括:

  • 图像着色:将灰度图像转换为彩色图像
  • 图像修复:将图像中被任意掩码的部分用真实的内容填充起来
  • 图像补全:把输入图像沿一个或多个方向进行扩展使其变得更大
  • JPEG图像恢复:将压缩过得JPEG图像恢复其图像细节

实验结果表明,在无需对任务进行单独调参和单独设计得条件下,Palette在多个任务中均取得了非常有竞争力的结果,甚至超过了许多针对任务开发的专用算法(包括基于GAN和自回归模型的)。

 接着作者研究了自注意力机制对扩散模型的影响,作者发现全局自注意力机制要优于局部自注意力机制,甚至不适用自注意力机制,通过增加更多的残差块或者使用空洞卷积来增大感受野,其性能都超过使用局部自注意力。最后,作者研究了多任务训练的影响,即使用多个任务的数据集同时对Palette进行训练。在大部分任务中(图像修复和图像着色)多任务训练的效果是不如针对任务单独训练的Palette方法的,而在JPEG图像恢复任务中,多任务训练的Palette甚至取得了更好的效果。