Generative Image Inpainting with Contextual Attention

Abstract

    最近基于深度学习的方法已经显示出在图像中修复大的缺失区域的挑战性任务的有希望的结果。这些方法可以生成视觉上合理的图像结构和纹理,但通常会产生扭曲的结构或与周围区域不一致的模糊纹理。这主要是由于卷积神经网络明显地从远处空间位置借用或复制信息带来的不合理性。另一方面,传统的纹理和补丁合成方法效果还行当从周围区域借用纹理时。受这些观察的启发,我们提出了一种新的基于深度生成模型的方法,该方法不仅可以合成新颖的图像结构,还可以在网络训练中明确地利用周围的图像特征作为参考,从而做出更好的预测。该模型是一个前馈,完全卷积神经网络,可以在任意位置处理具有多个孔,任意大小的图像.

1.Introduction

    不幸的是,这些基于CNN的方法经常产生边界伪影,扭曲的结构和与周围区域不一致的模糊纹理。我们发现这可能是由于卷积神经网络在模拟远距离上下文信息和空洞区域之间的长期相关性方面的无效性.例如,为了允许像素受到64像素的内容影响,它需要至少6层3×3卷积,扩张系数为2或等效.然而,扩张的卷积样本来自规则和对称网格的特征,因此可能无法权衡感兴趣的特征相对其他特征。最近的工作尝试通过优化生成的补丁与已知区域中的匹配补丁之间的纹理相似性来解决外观差异。虽然提高了视觉质量,但是这种方法被数百个梯度下降迭代拖拽,并且花费几分钟来处理GPU上分辨率为512×512的图像。
    我们提出了一个统一的前馈生成网络,其具有用于图像修复的新颖的上下文关注层。我们提议的网络包括两个阶段。 第一阶段是一个简单的扩张卷积网络,训练有重建损失以粗略地丢失缺失的内容。 上下文关注集成在第二阶段。 上下文关注的核心思想是使用已知补丁的特征作为卷积过滤器来处理生成的补丁。它是通过卷积设计和实现的,用于将生成的补丁与已知的上下文补丁匹配,通道方式softmax用于权衡相关补丁和解卷积以使用上下文补丁重建生成的补丁。上下文关注模块还具有空间传播层以鼓励注意力的空间一致性。 为了让网络产生幻觉新内容,我们还有另一个与语境注意路径并行的卷积路径。将这两个路径聚合并馈入单个解码器以获得最终输出。 整个网络经过端到端的重建损失和两次Wasserstein GAN损失,其中一个判别器关注全局图像,另一个判别器看着局部区域。

2. 1 Related Work

     现有的图像修复工作主要可分为两种。第一组代表传统的基于扩散或基于补丁的方法,具有低级别的特征。第二组试图通过基于学习的方法来解决修复问题,例如训练深度卷积神经网络来预测缺失区域的像素。
    传统的扩散或基于斑块的方法,如[2,4,10,11]通常使用变分算法或斑块相似性来将信息从背景区域传播到空穴。这些方法适用于固定纹理,但限于非平稳数据,如自然图像。
    然而,斑块相似性的密集计算是非常昂贵的操作,这禁止了这种方法的实际应用。 为了解决这一挑战,已经提出了一种称为PatchMatch的快速最近邻域算法,它已经为包括修复在内的图像编辑应用展示了重要的实用价值。
    最近,深度学习和基于GAN的方法已成为图像修复的有前途的范例。 最初的努力训练卷积神经网络用于小区域的去噪和修复。 上下文编码器首先训练深度神经网络以修复大洞。训练在128×128图像中完成64×64的中心区域,以2像素重建损失和生成对抗性损失为目标函数。最近,Iizuka等人通过引入全球和地方鉴别器作为对抗性损失来改进它。 全局鉴别器评估完成的图像是否作为整体是连贯的,而局部鉴别器关注以生成的区域为中心的小区域以强制本地一致性。此外,Iizuka在修复网络中使用扩张卷积来代替上下文编码器中采用的通道方式完全连接层,这两种技术都被提出用于增加输出神经元的感受域。 同时,有几项研究侧重于生成性面部修复。Yeh在受损图像的潜在空间中搜索最接近的编码并解码以获得完成的图像。 李为面部完成引入额外的面部解析损失。 然而,这些方法通常需要后处理步骤,例如图像混合操作,以在孔边界附近强制颜色一致性。
    一些作品遵循图像样式化的想法,将修复作为优化问题制定。 例如,Yang提出了一种基于图像内容和纹理约束的联合优化的多尺度神经补片合成方法,它不仅保留了上下文结构,而且通过匹配和调整补丁与最相似的中间层特征相关性来产生高频细节。 深层次的分类网络。 这种方法显示出有前途的视觉效果,但由于优化过程而非常缓慢。

2.2注意力模型(Attention Modeling)

    在深度卷积神经网络中已经有许多关于学习空间注意力的研究。 在这里,我们选择回顾一些与提议的情境关注模型相关的代表性问题。Jaderberg首先提出了一种称为空间变换网络(STN)的参数空间注意模块,用于对象分类任务。 该模型具有一个定位模块,用于预测全局仿射变换到扭曲特征的参数。但是,该模型假设全局转换,因此不适合建模补丁注意。Zhou引入了一个外观流程来预测偏移矢量,指定输入视图中应该移动哪些像素以重建目标视图以进行新颖的视图合成。 根据我们的实验,该方法被证明对于匹配相同物体的相关视图是有效的,但是在预测从背景区域到孔的流场方面是无效的。最近,Dai和Jeon建议学习空间专注或主动卷积内核。 这些方法可以更好地利用信息在训练期间使卷积内核形状变形,但是当我们需要从背景中借用精确特征时,这些方法可能仍然有限。

3.1 Improved Generative Inpainting Network

    我们首先通过重现并改进最近最先进的修补模型来构建我们的基线生成图像修补网络,该模型在脸部图像、建筑立面和自然图像的修补中显示出良好的视觉效果。
    粗到精网络体系结构:我们改进的模型的网络体系结构如图2所示。我们遵循与[17]中用于训练和推理的输入和输出配置相同的配置,即,生成器网络将具有填充在孔中的白色像素的图像和指示孔区域的二进制掩码作为输入对,并输出最终完成的图像。我们将输入与相应的二进制掩模配对,以处理具有可变大小、形状和位置的孔。该网络的输入端是一幅256×256图像,在训练过程中随机抽取矩形缺失区域,训练后的模型可以采集到不同尺寸的多孔图像。
    在图像修复任务中,感受野的大小应该足够大,Iizuka为此目的采用扩张卷积。 为了进一步扩大感受野并稳定训练,我们引入了两个粗到细网络架构,其中第一个网络进行初始粗略预测,第二个网络将粗略预测作为输入并预测精细结果。 粗略网络用明确的重建损失进行训练,而细化网络用重建以及GAN损失进行训练。 直观地,细化网络看到比具有缺失区域的原始图像更完整的场景,因此其编码器可以比粗网络学习更好的特征表示。 这种两阶段网络架构在精神上与残留学习[15]或深度监督相似。


Generative Image Inpainting with Contextual Attention_第1张图片
2

    此外,我们的修复网络采用薄而深的方案设计,以提高效率,并且参数少于[17]中的参数。 在层实现方面,我们对所有卷积层使用镜像填充并删除批量标准化层[18](我们发现它会降低颜色一致性)。 此外,我们在[17]中使用ELU [7]作为激活函数而不是ReLU,并剪切输出滤波器值而不是使用tanh或sigmoid函数。 此外,我们发现GAN训练的全局和局部特征表示分离比[17]中的特征级联更好。
    Global and local Wasserstein GANs
    wgan代替dcgan,wgan的略过...
    对于图像修复,我们只尝试预测孔区域,因此梯度损失应仅应用于孔内的像素。 这可以通过梯度和输入掩码m的乘法来实现,如下所示:


wgan

    其中掩码值为0表示缺失像素,1表示其他地方。 在所有实验中λ设定为10
直观地,像素方式的重建损失直接将空洞回归到当前地面实况图像,而WGAN隐含地学习匹配可能正确的图像并用对抗性梯度训练发生器。 由于两种损耗均以像素方式测量l1距离,因此组合损失更容易训练并使优化过程更稳定
    空间折扣重建损失 修复问题涉及像素的幻觉,因此对于任何给定的环境都可能有许多合理的解决方案。 在具有挑战性的情况下,合理的完整图像可能具有与原始图像中的斑点或像素非常不同的斑块或像素。 由于我们使用原始图像作为计算重建损失的唯一基础事实,因此强制执行这些像素中的重建损失可能会误导训练卷积网络的过程。
    直观地,孔边界附近的缺失像素比靠近孔中心的像素具有更少的模糊度。 这类似于强化学习中观察到的问题。 当长期奖励在采样过程中有很大的变化时,人们会使用时间折扣奖励而不是采样轨迹[38]。 受此启发,我们使用a引入空间折扣重建损失

掩模中每个像素的权重计算为pow(γ,l)其中l是像素与最近的已知像素的距离。 在所有实验中γ设定为0.99
    在[32,41]中也研究了类似的加权思想。[41]中提出的重要加权上下文损失是通过固定窗口内的未损坏像素的比率(例如7×7)进行空间加权的。 Pathak等人。 [32]预测一个略大的补丁,边界区域的损失加权(×10)更高。 对于修复大孔,建议的折扣损失对于改善视觉质量更有效。 我们在实施中使用了l1重建损失。

4.Image Inpainting with Contextual Attention

    卷积神经网络逐层处理具有局部卷积核的图像特征因此对于从远处空间位置借用特征是无效的。 为克服这一局限,我们考虑了注意机制,并在深层生成网络中引入了一种新的语境关注层。 在本节中,我们首先讨论上下文关注层的细节,然后讨论如何将它集成到我们的统一修复网络中。

4.1. Contextual Attention

    上下文关注层学习从已知背景补丁借用或复制特征信息的位置以生成缺失补丁。 它是可微分的,因此可以在深度模型中进行训练,并且可以完全卷积,这允许在任意分辨率下进行测试
Match and attend
    我们考虑的问题是我们想要将缺失像素(前景)的特征与周围环境(背景)相匹配。 如图3所示,我们首先在背景中提取补丁(3×3)并将它们重新整形为卷积滤波器。 为了匹配前景补丁fx,fy与背景bx,by我们用归一化的内积(余弦相似度)进行测量


深度截图_选择区域_20181014213821.png

s代表着以fx1,fy1为中心的前景和bx2,by2的背景的相似性。然后,我们使用缩放的softmax沿x2,y2维度权衡相似性,


深度截图_选择区域_20181014214501.png

这有效地实现为卷积和通道方式softmax。 最后,我们重新使用提取的补丁bx,by作为反卷积滤波器来重建前景。 重叠像素的值被平均.


Generative Image Inpainting with Contextual Attention_第2张图片
3

Attention propagation
    我们通过传播(融合)进一步鼓励注意力的一致性。 一致性的想法是前景补丁的移位可能对应于背景补丁中的相同移位以引起注意。 例如,s * x; y; x0; y0通常具有接近的值,其中s * x + 1; y; x0 + 1; y0。 为了模拟和鼓励注意力图的一致性,我们进行左右传播,然后进行自上而下的传播,内核大小为k。 以左右传播为例,我们得到了新的注意力得分:


深度截图_选择区域_20181014215155.png

    传播有效地实现为具有单位矩阵作为核的卷积。 注意力传播显着改善了测试中的修复效果,并丰富了训练中的渐变。
    Memory efficiency 假设在128×128中缺少64×64区域,则从背景中提取的卷积滤波器的数量是12,288。 这可能会导致GPU的内存开销。 为了克服这个问题,我们引入了两个选项:1)提取背景片配合stride以减少卷积核的数量;以及2)在卷积之前缩小前景输入的分辨率并在传播之后放大注意力图。

4.2. Unified Inpainting Network

    为了集成注意力模块,我们引入了两个并行编码器,如图4所示,基于图2.底部编码器使用扩散卷积检测,而顶部编码器关注与背景特征的关系。 来自两个编码器的输出特征被聚合并馈送到单个解码器以获得最终输出。 为了解释上下文关注,我们以图4所示的方式对其进行可视化。我们使用颜色来指示每个前景像素最感兴趣的背景补丁的相对位置。 例如,白色(颜色编码图的中心)表示像素在其自身上,左下方是粉红色,在上方是绿色。 对于不同的图像,偏移值被不同地缩放以最佳地可视化最有趣的范围。


Generative Image Inpainting with Contextual Attention_第3张图片
4

5.1. Ablation study

背景注意力vs空间变化网络vs appearance flow 三者相比,本文更好
gan上wgan比lsgan和dcgan都更好,收敛的更快
没有l1 loss,会导致图像模糊,可以起到相对gan loss正则,perceptual loss, style loss and total variation loss都没什么作用

6. Conclusion

我们提出了一个从粗到细的生成图像修复框架,并介绍了我们的基线模型以及具有新颖的上下文关注模块的完整模型。 我们通过学习用于明确匹配和参与相关背景补丁的特征表示来显示上下文关注模块显着改善了图像修复结果。 作为未来的工作,我们计划使用类似于GAN渐进式增长的想法将方法扩展到高分辨率的修复应用程序。提出的修复框架和上下文关注模块也可以应用于条件图像生成,图像编辑和 计算摄影任务包括基于图像的渲染,图像超分辨率,引导编辑等等。

你可能感兴趣的:(Generative Image Inpainting with Contextual Attention)