PD-GAN: Probabilistic Diverse GAN for Image Inpainting

最近对于image inpainting的研究开始向生成结果的多样性开始转变。传统image inpainting方法虽然也可以生成貌似真实的完整图像,但是这些模型有一个根本性的问题:它们默认了输入的缺失图像应该对应某一个完整图像,然后将生成的图像与真实的完整图像通过重建误差来优化网络。这显然是不合理的。就如艺术品修复一样,对于同一件艺术品,不同的艺术家对其修复的结果肯定是不一样的,但是这些修复结果都是合理的(艺术家自身水平达标的前提下),因此,如果将缺失图像用 I m I_m Im来表示,完整图像用 I g I_g Ig表示,模型学习的应该是一个概率表示 p ( I g ∣ I m ) p(I_g|I_m) p(IgIm)

本文基于一个很直观的想法:越靠近mask边缘的缺失像素点,其应该越与mask边缘的已知像素有关。换句话说,越靠近mask边缘的缺失像素点,其多样性应该越小,越远离边缘的缺失像素点,其多样性应该越大。依照这个想法,作者通过构建网络将mask图(原本缺失处是0,观测处是1)生成一个概率图,依照这个概率图来确定生成像素是应该更加确定还是更加多样。
此外,本文与传统方法的另一个不同点在于,为了获得生成结果的多样性,本文并不是将图像经过编码后再解码来生成的,而是从随机噪声开始生成(这样在测试的时候对于同一个测试图像,取不同的噪声可以产生不同的修复结果),然后在生成的过程中不断的添加先验信息(由某个预训练的inpainting模型生成的完整图像),最终生成一个多样性的完整图像。并且为此作者还提出了一个专门配套的perceptual diversity loss来保证生成的多样性。
给出本文的流程图:
PD-GAN: Probabilistic Diverse GAN for Image Inpainting_第1张图片
网络是经典的双阶段的模型,第一阶段预训练一个inpainting网络,可以产生比较粗糙的修复图像。之后本文的网络先是输入一个随机噪声,通过开始的几步卷积获得一个上采样结果,之后在每一个SPDNorm Residual Blocks中将预训练模型的粗糙修复结果(先验信息)和对应的mask输入到其中,不断进行特征的生成,最终随机噪声在不断添加的先验信息的加持下,生成理想的结果。SPDNorm Residual Blocks是本文的核心点,其中分为两部分,一部分是Hard SPDNNorm,其中的 D h D^h Dh用mask图生成Hard map。一部分是Soft SPDNorm,其中的 D s D^s Ds用mask图生成soft map。对于输入的特征 F i n F^{in} Fin经过不同的模块通过一系列卷积操作来生成相应的 F h a r d F^{hard} Fhard F s o f t F^{soft} FsoftPD-GAN: Probabilistic Diverse GAN for Image Inpainting_第2张图片
接下来具体来讲一下这两个map图的生成方式。
Hard map:顾名思义,就是一种很直接的概率图。如果将观测像素点的概率看做1,越靠近mask边缘的缺失像素点应该越确定(概率越接近于1),相反其概率应该越接近于0。于是作者给出了一个概率的迭代计算公式:在这里插入图片描述
其中 M i M_i Mi是第 i i i次迭代后得到的概率图,显然每经过一次迭代,概率图就会向内收缩一圈,然后每一次收缩的区域我么可以用 E i = M i − M i − 1 E_i = M_i − M_{i−1} Ei=MiMi1来表示,并且收缩部分的概率由原来的0转变为 1 / k i 1/k^i 1/ki。由此随着越远离mask边缘,其概率也会以指数级衰减。本文将k设置为了4。
Soft map:对比前面hard map,这里最大的不同点就是前面的hard map是不需要训练,直接由mask图计算得到的,而soft map则是由一个可训练的网络得到的。通过一个可训练的网络,soft map提取粗糙完整图像 P P P的特征 F p F^p Fp和前面步骤计算结果 F i n F^{in} Fin的先验信息,动态的生成一个概率图。计算过程可以表示为 D s = σ ( C o n v ( [ F p , F i n ] ) ⋅ ( 1 − M ) + M D^s = \sigma(Conv([F^p ,F^{in}]) · (1 − M) + M Ds=σ(Conv([Fp,Fin])(1M)+M其中 M M M是缺失图像对应的mask图。
PD-GAN: Probabilistic Diverse GAN for Image Inpainting_第3张图片

这里个人还有一点看法,通过给的示意图来看,soft map生成结果十分平滑,几乎聚集在0.5左右,并且最重要的一点是,其本身似乎并不满足作者所期望的中间小,边缘大的特性。所以我觉得这里所计算的soft map应该更像是一种依据全局结构信息来生成的一种结构可能性图,而这种可能性图并不非常依赖是否靠近mask边缘:试想一根树枝的图像,我们从中间mask掉一块(灰色部分),通过全局结构信息,我们很容易判定缺失部分中间的信息(A处)是一根树枝,并且相比于树枝周围的信息,B处虽然更加处在边缘,但是显然其信息不如A处容易推断。PD-GAN: Probabilistic Diverse GAN for Image Inpainting_第4张图片
由此,作者说soft map更多的是稳定模型训练(实验Table 3有体现),是有根据的。
前面我们可以看出,为了使得生成结果具有多样性,模型每次生成都是从随机噪声开始的。因此为了体现这种随机噪声的作用,最后作者又引入感知多样性损失。首先传统的多样性损失是这样的:在这里插入图片描述
其中 I o u t 1 I_{out1} Iout1 I o u t 2 I_{out2} Iout2分别是由 z 1 , z 2 z_1,z_2 z1,z2生成的完整图像。然而直接套用这个是有问题的:1、我们在进行比较时,不应该将mask之外的内容进行多样性比较。2、为了产生最大的差异性,网络的一个平凡解是直接生成一黑一白的两个图像(后面的实验Fig 7有体现)。由此,作者提出了一种新的感知多样性损失:在这里插入图片描述
首先感知损失,那么一定是特征之间求损失,这里的 F i F_i Fi就是代表VGG-19网络来提取生成图像的特征。之后,作者用M来限制了损失的范围。**其实个人觉得,这里已经有对比学习的味道了。**除此之外,网络还有常用的 reconstruction loss, feature matching loss and hinge adversarial loss。
至此,方法过程介绍完了。

你可能感兴趣的:(计算机视觉,人工智能,深度学习,机器学习)