code: github,作者只开源了部分代码。

1、Abstract

高质量的图像修复需要用可信的内容填充受损图像中的缺失区域。现有的研究要么通过复制图像块来填补这些区域,要么从区域上下文生成语义连贯的块,而忽略了对视觉和语义可信性都有很高要求的事实。本文提出了一种基于深度生成模型的金字塔上下文图像编码网络(PEN-Net)。PEN-Net是在U-Net结构的基础上构建的,它通过对全分辨率输入的上下文语义进行编码,将学习到的语义特征解码回图像,从而实现对图像的恢复。具体地说,我们提出了一种金字塔上下文编码器,它通过注意从高级语义特征图中逐步学习区域亲和力,并将学习到的注意转移到先前的低级特征图中。由于缺失的内容可以通过金字塔式的从深到浅的注意力转移来填补,从而保证了修复中图像的视觉和语义的一致性。进一步提出了一种具有深度监督金字塔损失和对抗性损失的多尺度译码器。这样的设计不仅能在训练中快速收敛,而且在测试中也能得到更真实的结果。对各种数据集的大量实验表明,该网络具有较好的性能。

2、Introduction

高质量的图像修复不仅要在视觉上达到逼真效果,而且要在语义上合理地综合缺失区域的内容。
现有的方法大致可以分为两组。第一组受纹理合成技术的启发,尝试在图像级上填充缺失区域。具体来说,这类方法通常从源图像中采样并粘贴完整的图像分辨率块到缺失的区域,从而合成具有细节的结果。然而,由于缺乏对图像的高级理解,这种方法往往无法生成语义上合理的结果。
为了解决这个问题,第二组使用深度神经蛙网络将图像的语义上下文编码到一个潜在的特征空间中,然后通过生成模型生成语义相关的块。然而,从紧凑的潜在特征中生成逼真的视觉效果,仍然具有挑战性,因为完整的图像分辨率细节可以通过叠加卷积和池化来平滑。
为了保证视觉和语义的一致性,我们建议在图像和特征层填充缺失区域。首先,使用U-Net结构作为骨干网络,它可以将上下文从低级像素编码为高级语义特征,并将这些特征解码回图像中。具体来说,我们提出了一个金字塔上下文编码器网络(PEN-Net)和三个定制的关键组件。为了提高U-Net在图像修复方面的能力,采用了金字塔上下文编码器、多尺度解码器和生成对抗损失。
其次,一旦压缩后的潜在特征被编码到图像中,金字塔上下文编码器在解码之前会在金字塔路径中填充从高级语义特征到低级特征(具有更丰富的细节)的区域。
为此,我们提出了一种注意转移网络(ATN)来学习高层次特征图中缺失区域内外的块之间的区域亲和力,然后进行转移(即亲和加权复制)相关特征从外部进入到先前特征图的内部区域,分辨率更高。第三,提出的多尺度译码器以ATNs通过跳跃连接重建的特征和潜在特征作为输入,进行最终解码。通过最小化深度监督金字塔L1损失和对抗性损失,来优化PEN-Net。
PEN-Net是第一个能够填补图像级和特征级的图像修复缺失区域。

  • 跨层的注意力转移:我们提出了一种新的网络,ATN,从高级特征映射(如编码中的压缩潜在特征)中学习区域亲和力。所得到的亲和映射可以指导编码器中相邻低层的特征传输。
  • 金字塔填充:我们的模型可以通过重复使用从深到潜的ATNs来填充多个孔(取决于编码器的深度),这可以恢复具有更细粒度细节的图像。

3、Pyramid-context Encoder Network

在这里插入图片描述

3.1、Pyramid-context encoder

3.1.1 Pyramid-context encoder

编码器先对低级的mask+image逐层下采样,学习到一个高级紧凑潜特征(latent feature),然后金字塔上下文编码网络通过以金字塔形式重复使用ATNs,从高级语义特征到低级特征来填充缺失区域。语义相似的像素应该具有相似细节,在这个假设下,在每一层都使用一个ATN从高级语义特征中学习区域亲和性,从而学习到的区域亲和性可以进一步指导具有更高分辨率的相邻层内/外缺失区域的特征转移。
f函数为ATNs,作者使用了L=7层。
atn_conv(low_level_fm,high_level_fm,mask)

  • low-level feature map with larger size [b, h, w, c].
  • high-level feature map with smaller size [b, h/2, w/2, c].

在这里插入图片描述

3.1.2、Attention Transfer Network

注意力通常是通过缺失区域内外的patch(通常是3x3)之间的区域亲和力来获得的,这样就可以将外部的相关特征转移(即,通过亲和关系加权从上下文复制)到内部区域。图2所示©, ATN首先学习地区从高层特征映射,亲和力ψl。它从ψl提取补丁和补丁内部和外部之间的余弦相似性计算失踪的区域。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
作者进一步使用了四组扩展卷积,这样的设计保证了最终重建特征的结构与环境的一致性,从而提高了测试结果。

3.2、Multi-scale decoder

多尺度解码网络在L=6时,对encoder最后一层(L=7)高级语义潜特征进行转置卷积,然后将ATNs的L=6的结果和转置后的结果进行通道相加,然后再进行一次卷积,这就是decoder的一层操作。下面的以此类推。
在这里插入图片描述
为什么结合ATNs的特征和encoder最后一层潜特征?
ATNs生成的重建特征能够为缺失区域编码更多低层次的信息。这样的设计使得解码器能够生成具有细粒度细节的视觉上真实的结果。
通过卷积得到的压缩潜特征可以合成缺失区域内的新对象,即使在缺失区域外找不到目标。
结合这两种特征,解码器能够根据图像的上下文,在语义和纹理上合成具有高度一致性的新对象。例如,所提出的解码器能够在两只眼睛都被遮挡的情况下合成人脸图像中的眼睛。

Pyramid L1 losses
在每个尺度上计算一次损失,具体地说,每个金字塔损失是特定尺度的预测与相应尺度的groundtruth之间的归一化L1距离。
在这里插入图片描述
h()函数将解码网络的每层结果解码为相同大小的RGB图像,x代表resize为相同大小的groundtruth。

3.3、Adversarial training loss

图像修复本身就是一个高度病态问题,groundtruth只有一个,现有的大多数方法是从对抗训练中选择出一个最合理的修复内容,包括PEN-Net,G和D的目标是达到纳什均衡(Nash Equilibrium) 。 但是图像修复可以生成多种多样的可信解,即图像修复结果不唯一。
生成器的预测结果为:
在这里插入图片描述
判别器损失:
在这里插入图片描述
对抗损失:
在这里插入图片描述
total loss:
在这里插入图片描述

4、Experiments

4.1、Experimental settings

Datasets:
在这里插入图片描述
Baselines:
PatchMatch(PM)、GL、CA、PConv

Implementation details:
我们使用随机块进行训练,遵循baseline[9,31]的实验设置,用于公平比较。所有的图片(训练集和测试集)都调整到256x256。在每一层提取孔和非孔的块时,使用最近邻下采样来演化孔洞。

4.2、Results

评价指标:
L1 loss、MS-SSIM、IS、FID

Quantitative comparisons:
在这里插入图片描述
Qualitative comparisons:
在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐