abstract
深度学习的最新进展已经显示了填充大孔的令人兴奋的希望,并导致图像修复的另一个方向。然而,由于认知理解不充分,现有的基于学习的方法经常会产生伪影和谬误的纹理。以前的生成网络受限于单一接收类型,并且考虑到细节清晰度而放弃合并。无论目标属性如何,人类认知都是不变的。由于多个感知领域提高了抽象图像表征能力,汇集可以保持特征不变,具体而言,深度初始学习被用来促进高级特征表示,增强局部补丁的模型学习能力。此外,引入了生成不同掩模图像的方法,并创建了随机掩模数据集。我们在ImageNet,Places2数据集和CelebA-HQ上对我们的方法进行基准测试。完成常规,不规则和自定义区域完成的实验,并且还呈现自由式图像修复。与先前最先进的方法进行定量比较表明,我们获得了更加自然的图像完成。
- Introduction
另外,当前图像完成面临两个主要问题。首先,这些方法经常会产生边界伪影,扭曲的结构和与周围区域不一致的模糊纹理,因为在对上下文信息和空洞区域之间的长期相关性进行建模时,卷积神经网络的认知理解和无效性不足[20,34,10]。例如,目标是狗,但完成的结果不符合视觉认知。它在视觉上看起来不像狗,很多细节都是文物。传统CNN使用的滤波器是广义线性模型(GLM)。因此,隐含地假设特征可线性分离以用于提取,但实际情况通常难以线性分离。此外,大多数生成网络放弃汇集并且受限于3×3卷积核。由于仅使用单一类型的感受域,显然不可能充分利用其学习能力和认知理解。鉴于图像中的狗,从我们的人类视觉认知中,无论目标在哪里,无论大小,旋转与否,它总是一条狗。视觉认知保持不变。具体而言,采用深度初始学习来利用更复杂的结构来抽象不同的感知领域内的数据,并探索足够的认知理解。微神经网络构建在一层内,并且可以通过堆叠多个这些层来构建修复网络,以通过初始层的非线性能力进行有效的高级特征提取。
我们的贡献总结如下。 首先,提出了一种使用初始模块的新型生成网络体系结构,以增强特征的抽象能力。 构建的网络显着改善了完成结果。 据我们所知,我们是第一个采用初始学习进行图像修复的人。 此外,提供了用于生成不同掩模的方法,并且创建了相关的掩模数据集。 对基准数据集进行了各种比较实验。 实现了高质量的修复效果,结果表明我们的模型对任意完成具有鲁棒性,包括常规,不规则和自定义掩模,如图1所示。
2.related works
2.1. Examplar-based Inpainting
一类传统图像完成方法是基于示例的。 它们是很长一段时间的主要方法。 此任务是基于补丁的优化问题,具有能量函数[4,30,1,5,6,7]。 基于匹配的方法将未知区域中的补丁与已知区域中的补丁明确匹配,并复制已知内容以完成未知区域。 明显的限制是合成纹理仅来自输入图像。 当令人信服的完成需要在输入图像中找不到纹理时,这是一个问题。 对于解决偏微分方程(PDE)[3,16]并将颜色传播到缺失区域的基于扩散的方法也是如此。
2.3. Network in Network
如上所述,传统CNN使用的滤波器是广义线性模型。一种解决方案是堆叠卷积滤波器以生成更高级别的特征表示以处理实际问题,更深层次的模型提高抽象能力。通常,网络越深,非线性越强。通常,提高网络性能的最直接方法是增加网络的深度和宽度。但这种方式存在以下问题:它带来的参数太多,如果训练数据集有限,很容易产生过度拟合;网络越大,计算复杂度越大;更深的网络容易导致梯度扩散,并且模型难以优化。 [2]认为可以在卷积层中进行特殊设计,以便除了堆叠网络卷积层之外,网络可以提取更好的特征。 [17]首先介绍了“网络中的网络”(NIN)的概念。实例化在卷积层内是有效函数逼近器的微神经网络。
之后,基于“网络中的网络”[28,11,29]的框架设计了初始模块。 初始的主要思想是卷积神经网络中的优化局部稀疏结构可以被一系列容易获得的密集子结构近似和覆盖。 初始保持网络的稀疏性,同时利用密集矩阵的高计算性能。 它可以帮助网络更深入,更广泛,而不会显着增加计算量。通过在相同计算量下提取更多功能的能力,性能得到显着提升。 结合残余块网络(ResNet)的设计,有助于减轻训练深度网络的难度,在[27]中提出了一种利用Inception和ResNet的优点的Inception-ResNet的新型初始框架。
-
Approach
3.1. Deep Inception Learning
受上述“网络中的网络”和“初始”的启发,我们采用深度学习来构建完成网络。 初始是层内的微网络,并且NIN结构可以在相同的感受域中利用强非线性而不是香草卷积。
一个初始单元中有几种不同类型的内核。 通常,包括小型过滤器,中型过滤器,大型过滤器和合并过滤器。 它增加了网络的宽度。 另一方面,它还增加了网络对多尺度处理的适应性。卷积层中的网络能够从输入的每个细节中提取信息,并且大滤波器也可以覆盖接收层的更大区域。 执行池化以减小空间的大小和过度拟合。初始拓扑分析上层的相关统计并将它们聚合成高度相关的单元组。 所有结果都连接成一个非常深的特征图,拼接意味着不同特征的融合。
在概念中有许多不同的初始模块和不同的过滤器组合。通常,在开始的结构中存在大量堆栈,并且它们表达密集且压缩的信息形式。为了更加稀疏地表达它并且仅大量地聚合信息,在诸如3×3,5×5的一般卷积之前处理1×1卷积。这有助于减少特征图厚度。例如,前一层的输出为100×100×128,在具有256个通道(stride = 1,pad = 2)的5×5卷积层之后输出为100×100×256,并且最终的卷积层参数将是128×5×5×256 = 819200。如果前一层的输出首先通过一个包含32个通道的1×1卷积层,然后用256个通道跟踪5×5卷积层,则输出仍为100×100 ×256,但卷积参数已减少到128×1×1×32 + 32×5×5×256 = 204800,减少了4倍。同时,通过在同一感受野中叠加更多的卷积,可以提取更多的特征。
与一般生成网络不同,其中3×3或5×5卷积滤波器是最常应用的形式,深度初始模型可以嵌入更大的卷积核。为了满足空间支持,扩散卷积允许计算具有更大输入区域的每个输出像素,同时仍使用相同数量的参数和计算能力[10]。他们认为通过在较低分辨率下使用扩张卷积,当计算每个输出像素时,模型可以有效地看到输入图像的较大区域,而不是标准卷积层。通过采用初始学习可以获得更大的感受野。并且以这种方式,不仅满足空间支持,而且获得不同的图像视图并且学习不同的特征。为了避免参数和计算的扩展,诸如n×n滤波器的大卷积核被分解为n×1和1×n形式。这有助于保存参数,加速计算,并避免过度拟合。考虑到嵌入嵌入在Inception中,这不仅有助于保持有效学习特性的能力,而且还避免模糊细节并降低单独使用池的分辨率。
除了过滤器的并行组合之外,还有用于构建初始的级联形式。通过级联卷积,获得更多的非线性特征。以两个卷积级联组合为例,假设第一个3×3卷积+激活函数近似f 1(x)= ax 2 + bx + c,第二个1×1卷积+激活函数近似f 2(x)=显然,mx 2 + nx + q,然后,线性关系2(f 1(x))强于f 1(x),级联形式的卷积可以比香草卷积更好地模拟非线性特征。图2显示了一种开始在我们的模型中。该结构堆叠了CNN中常用的卷积(1×1,3×3,5×5)和汇集(3×3)。卷积和池的维度保持相同,并且它们的通道连接在一起。提取微网络中不同内核示例的学习特征进行显示。可视化结果如图3所示。这里,我们选择解码器阶段中一层的前15个通道输出。对于图3(a)所示的给定输入图像,初始的特征图如图3(b)所示。
具有优良本地拓扑结构的这种网络层并行地执行多个卷积或池化,促进了对多个特征的学习。 由这些层构建的网络可以更好地抽象图像表征。有效的多尺度特征表示的直觉有助于带来足够的认知理解。 基于上述分析,基于深度初始学习的图像生成网络倾向于提高认知逻辑性,制作更高质量的修复结果,并改善人工制品,内容差异,颜色不一致性和差异性问题,这些问题由于缺乏而在之前的工作中退出 高级语境表示和非逻辑认知。
3.2. Partial Convolution
[18]提出了部分卷积的概念。 它显示了用于修复不规则孔的图像的出色性能。 卷积被屏蔽,输出仅以有效像素为条件。 设W为卷积滤波器的权重,b为相应的偏差.X为当前滑动窗口的特征值,M为对应的二元掩模。 每个位置的部分卷积表示为:
其中J表示逐元素乘法。 可以看出,输出值仅取决于未屏蔽区域。 在正确处理不规则掩模中,部分卷积比标准卷积具有更好的效果。 不同于图像分类和物体检测,其中输入图像的所有像素都是有效的,而在孔或掩模区域中存在用于图像修复任务的无效像素。 掩蔽区域的像素值通常设置为0或255。 如果[18]中报道了这些无效像素参与卷积,这将导致颜色差异,边缘响应。 为了利用最近工作的优势,我们在模型中用部分卷积代替标准卷积。
3.3. Network Design
我们遵循编码器 - 解码器架构来设计生成网络。在我们的模型中,分别有16层,编码器和8层解码器分别为8层。编码器阶段是学习图像特征,它是表征图像的过程。解码器阶段是将先前学习的特征恢复和解码为真实图像的过程。在某些问题上,始终考虑像素周围的像素提供的信息。该信息通常包括两类:一类是整体环境领域信息,另一类是详细信息。选择的窗口形式将带来很大的不确定性。如果所选尺寸太大,则不仅需要更多池化层来显示环境信息,而且本地细节也会丢失。相反,现场信息不准确。最近的研究表明,[22]中提出的U-net对图像生成任务具有良好的性能。 U-net使用包括下采样和上采样的网络结构。下采样用于逐渐显示环境信息,并且上采样过程在下采样期间合并包括环境信息的学习特征以恢复更多细节。我们将模型中的方法的好处与图像生成架构的概述相结合,如图4所示。
在我们的模型中,中间层是微网络,它们是初始模块。 每个卷积层之后进行批量标准化和激活。 ReLU用于编码层,并且在解码阶段使用具有α= 0.2的LeakyReLU。 所有卷积层都用部分卷积代替。 值得一提的一个关键点是,特征映射大小在体系结构中不是逐层线性变化的。 这与先前的生成网络不同,其中特征地图大小在层之间以2倍变化。 例如,编码器中的第4层和第5层具有相同的32×32的大小。在解码阶段对于底部第4层和底部第5层是相同的。 网络详细信息在补充材料中。
3.4. Guided Objective Function
给定地面实况图像x,生成器F产生输出F(x)。 令M为对应于丢弃图像区域的二进制掩码,其中值为0,其中像素被丢弃,255为输入像素。 通常,归一化的L1距离用作重建损耗,并在像素级构建,如下所示:
Perceptualloss
样式丢失广泛用于图像到图像的翻译任务,例如实时样式传输。 本文也采用了它。 通过计算每个要素图上的克矩阵,样式丢失采用以下形式:
基于从预训练网络提取的高级特征的上述牵引损失函数被组合到最终引导目标函数中以生成高质量图像。 最后,目标函数采用以下形式:基于L1计算的低级损失用于像素距离,并且采用预训练的VGG网络来提取用于计算感知和样式差异的高级特征图。