ECCV2020 Oral | Deep Generative Prior:实现通用的图像复原与编辑

论文速递 sophie ⋅ 于 4天前 ⋅ 72 阅读

来源|潘新钢@知乎,https://zhuanlan.zhihu.com/p/165050802

我们的Deep Generative Prior [1]很荣幸被接收为ECCV2020的oral presentation。本文提出一种挖掘预训练的对抗生成网络(GAN)中图像先验的方式。无需针对特定任务设计,我们实现了多种图像复原(上色,补全,超分辨率,对抗防御)和图像编辑(随机扰动,图像变形,类别转换)效果。而实现这一切,你需要的仅仅是一个预训练的GAN。

论文链接:https://arxiv.org/pdf/2003.13659.pdf

代码链接:XingangPan/deep-generative-prior

视频链接:Exploiting Deep Generative Prior for Versatile Image Restoration and Manipulation

Deep generative prior的图像复原效果

动机:挖掘生成模型的图像先验

设计和利用更好的图像先验是实现图像复原与编辑的重要途径。经典的图像先验有total variation, dark channel prior, 以及各种基于markov random field的图像先验等,他们都模拟了图像在某一方面的统计特性。而近期由于深度学习的发展,大家开始用深度神经网络来建模图像先验,其中代表性的工作是深度图像先验deep image prior (DIP) [2]。DIP揭示了卷积神经网络在结构设计上就具备了图像的一些统计特性,但由于参数由随机初始化得到,因此无法模拟图像更高级的信息例如颜色,远距离像素间的关联等。另一方面,生成模型尤其是对抗生成网络(GAN)近年来得到了长足的发展,能够相当好地模拟自然图像分布。因此,一个直观的想法是,能否以及如何利用在大规模自然图像上训练的GAN作为一种通用的图像先验?

近期已经有一些工作对此进行了尝试[3][4][5],其中最相关的是几乎同期的multi-code GAN prior [4]和PULSE [5],前者为周博磊老师组的工作,也欢迎大家关注。在方法上,本文提出了与它们不同的策略,实现了更丰富的功能,并且应用在重建更加困难的BigGAN模型上。

在观察空间重建

给定一张灰度图像,如何利用预训练好的GAN恢复它的颜色呢?一个自然的想法是在GAN的图像空间寻找一张灰度化后与目标图片一致的图片,由于GAN倾向于输出自然的图片,因此找到的这张图会有自然的颜色。动画示意如下:

图1. 在灰度空间重建目标图片

这种在观察空间重建的策略在DIP等工作中就已经被应用。它有个前提条件是对应的退化变换 $\phi$ 已知且可导,好在上色,补全,超分辨率这些任务所对应的退化变换(灰度化,裁剪,降采样)都满足该要求。

GAN重建的挑战

上述方案要求用GAN的生成器G准确重建一张目标图片。针对该任务,传统的做法是优化生成器输入的隐向量z,又称作GAN inversion。其对应的优化目标为:

$\mathbf{z}^*= \text{argmin}_{\mathbf{z} \in \mathbb{R}^d} \mathcal{L}(\hat{\mathbf{x}}, \phi(G(\mathbf{z}; \mathbf{\theta})))$ (1)

其中 $\hat{\mathbf{x}}$ 为目标图片, $G$ 为生成器, $\phi$ 为上述退化变换, $\mathcal{L}$ 为图片距离度量例如MSE loss。然而在实践中,仅仅通过优化隐向量z难以准确重建ImageNet这样的复杂真实图片。例如,以下(a)(b)(c)(d)为以往GAN inversion方法的重建结果:

图2. 不同GAN inversion方法对比

究其原因,一方面用来训练GAN的数据集(ImageNet)本身是自然图片中很少的一部分,另一方面GAN受限于有限的模型性能和mode collapse,其模拟的图片分布与训练集图片分布也存在鸿沟。这两方面鸿沟让GAN难以精确重建任意给定的图片。

解放你的Generator吧

即使存在以上限制,GAN仍然学习了丰富的图片信息。为了利用这些信息并且实现精确重建,我们让生成器online地适应于每张目标图片,即联合优化隐向量z和生成器参数 $\theta$ :

$\mathbf{z}^,\mathbf{\theta}^= \text{argmin}_{\mathbf{z}, \mathbf{\theta}} \mathcal{L}(\hat{\mathbf{x}}, \phi(G(\mathbf{z}; \mathbf{\theta})))$ (2)

这种解放生成器的做法其实沿袭了DIP的思路。生成器仅需要微调,就可以实现对目标图片的精确重建,如上图中的(e)。

重拾被遗忘的距离度量:判别器

在GAN重建中,传统的距离度量是MSE或Perceptual loss。但是我们发现,在上述允许优化生成器参数的设定下,将这些传统距离度量用在图像恢复如上色任务中时,常常无法准确恢复颜色,并且重建过程中图像变得模糊,即生成器会丧失原本的生成特性,如下图(a)(b)所示。对此,需要设计更好的优化方式来保留生成器的特性。

图3. 不同优化方式的图像重建过程对比

因此,我们在该工作中选择使用与该生成器对应的判别器来作为距离度量。与Perceptual loss所采用的VGGNet不同,判别器并非在一个第三方的任务上训练,而是在预训练时就与生成器高度耦合,它天然地适用于调整生成器的输出分布。我们用判别器特征空间的L1距离作为距离度量,即 $\mathcal{L}(\mathbf{x}_1, \mathbf{x}2) = \sum{i \in \mathcal{I}} | D(\mathbf{x}_1, i), D(\mathbf{x}_2, i) |_1$ ,其中 $D(\mathbf{x}, i)$ 代表以x作为输入时判别器第i个block输出的特征。从上图(c)可以看出,使用这种基于判别器的距离度量时,重建的过程更加自然和真实,最终颜色恢复的效果也更好。

先整体后局部:渐进式重建

虽然改进的距离度量带来了更好的效果,但是图像复原的结果仍存在非自然痕迹,例如上图(c)五个苹果中最左边的一个没有继承到初始苹果的绿色。这是因为整个生成器在针对目标图片优化时,在浅层参数匹配好图片整体布局之前,深层参数就开始匹配细节纹理了。因此,对图像复原任务我们提出渐进式重建的策略,即在微调生成器时,先优化浅层,再逐渐过渡到深层,让重建过程“先整体后局部”:

图4. 渐进式重建

从图3(d)可看出,采用渐进式重建后,生成器重建的苹果从一个分成两个,然后分成五个,最后匹配细节,这样最终的五个苹果都恢复了自然的颜色。

应用:图像复原

我们称上述方法为深度生成式先验deep generative prior (DGP),并运用到多种图像复原任务中,文章开头的动画展示了复原过程。这里展示更多结果:(注:这些是在ImageNet validation集上的结果,GAN在预训练时并没见过这些图片。)

图像上色结果

图像补全结果

图像超分辨率结果 (四倍放大)

我们也将DGP应用于非ImageNet的图片,同样可以取得不错的效果:

除了(b)来自Places数据集,其它图片抓取自互联网

这里(d)中两个楼房的例子很有意思,图中需要恢复部分的信息(横梁,窗户)在周围仅出现了4或8次,而生成器就能在重建的过程中“学过来”,利用周围像素信息填补缺失部分。可见相比较DIP,DGP更好地模拟了像素间的空间关系。

此外,DGP可以有更加灵活的应用,例如下图中的条件上色和混合复原。条件上色即在灰度空间重建时对生成器输入不同的类别条件,最终恢复的颜色会呈现出不同的效果。混合复原即同时进行多种图像复原任务,例如下图(b)中同时进行上色,补全,和超分辨率(两倍放大)。

DGP还可以用于对抗防御,由于attacker加上的攻击噪声不符合自然的图像分布,用DGP可以将这种非自然噪声消除:

应用:图像编辑

另一方面,由于改进的GAN inversion实现了精确的重建,我们可以利用GAN本身的特性,通过操纵隐向量来编辑目标图片。

例如,通过对隐向量z加随机高斯噪声,可以对目标图片实现随机扰动效果:

对重建两张图片得到的隐向量和生成器参数进行插值,可以实现图像渐变效果:

将生成器的输入类别改变,还可以实现对图中物体类别的转换:

图像重建与编辑的动画demo:

小结

本文提出了一种挖掘GAN中图像先验的方式,在多个任务上揭示了GAN作为一种通用图像先验的潜力。我们首次将其应用于复杂图片的对抗防御;提出了同时插值隐变量和生成器的图像渐变方法;实验中DGP所展现出的强大的像素间空间关系模拟能力也十分有趣。

Reference

[1] Pan, Xingang, et al. "Exploiting Deep Generative Prior for Versatile Image Restoration and Manipulation." ECCV2020.

[2] Ulyanov, Dmitry, Andrea Vedaldi, and Victor Lempitsky. "Deep image prior." CVPR2018.

[3] Bau, David, et al. "Semantic photo manipulation with a generative image prior." ACM Transactions on Graphics (TOG) 38.4 (2019): 1-11.

[4] Gu, Jinjin, Yujun Shen, and Bolei Zhou. "Image processing using multi-code gan prior." CVPR2020.

[5] Menon, Sachit, et al. "PULSE: Self-Supervised Photo Upsampling via Latent Space Exploration of Generative Models." CVPR2020.

微信公众号: 极市平台(ID: extrememart )
每天推送最新CV干货

成为第一个点赞的人吧 :bowtie:
回复数量: 0
暂无回复~
您需要登陆以后才能留下评论!