- 发表年份: 2017
- 原文链接: Globally and Locally Consistent Image Completion
- 参考代码: 暂无
主要贡献
- 提出了一种基于卷积神经网络的图像补全方法,能够生成全局与局部一致的补全图像。
- 采用了全卷积神经网络(fully-convolutional neural network),可以通过填补任意形状的缺失区域,补全任意分辨率的图像。全连接层(fully connected layer)与卷积层(convolutional layer)相比具有更大的计算开销,而且对输入的大小有限制。
Abstract
We present a novel approach for image completion that results in images that are both locally and globally consistent. With a fully-convolutional neural network, we can complete images of arbitrary resolutions by fillingin missing regions of any shape. To train this image completion network to be consistent, we use global and local context discriminators that are trained to distinguish real images from completed ones. The global discriminator looks at the entire image to assess if it is coherent as a whole, while the local discriminator looks only at a small area centered at the completed region to ensure the local consistency of the generated patches. The image completion network is then trained to fool the both context discriminator networks, which requires it to generate images that are indistinguishable from real ones with regard to overall consistency as well as in details. We show that our approach can be used to complete a wide variety of scenes. Furthermore, in contrast with the patch-based approaches such as PatchMatch, our approach can generate fragments that do not appear elsewhere in the image, which allows us to naturally complete the images of objects with familiar and highly specific structures, such as faces.
Introduction
- 图像补全: 是一种用替代内容填充目标区域的技术,能够消除不需要的对象或生成被遮挡的区域。
- 技术难点: 不仅要补全目标区域的纹理,还要考虑补全后场景和对象的整体结构是否合理。
Method
如 Fig. 2. 所示,论文提出的方法中采用神经网络架构主要由三个网络组成:补全网络(Completion Network)、全局判别器(Global Discriminator)和局部判别器(Local Discriminator)。其中,补全网络用于对图像进行修补;全局判别器以整幅图像作为输入,对图像的全局一致性进行判断;局部判别器则是将修补后的区域作为输入,以获得更为细致的修补效果。
Convolutional Neural Networks
补全网络中采用了普通卷积层和膨胀卷积(Dilated Convolution)层进行图像特征提取。膨胀卷积层在保持训练参数个数不变的情况下增大了卷积核的感受野,让每个卷积输出都包含较大范围的信息;同时它可以保证输出的特征映射(feature map)的分辨率保持不变。
Completion Network
输入: 带有二进制通道掩码区域(需要补全区域的掩码值为 1)的 RGB图像。
输出: 补全后的 RGB图像,无需补全的区域将输出为原始 RGB图像的数值。
补全网络详细配置表
补全网络基于全卷积网络,整体采用了编码器-解码器(Encoder-Decoder)架构。编码阶段采用了两次跨步卷积(步长为2)操作将特征图分辨率降低至原始分辨率的 1/4 ,以减少内存开销和计算时间。解码阶段采用了两次分数跨步卷积(步长为 1/2)操作将特征图恢复到原始分辨率。此外,在补全网络中加入了不同膨胀率的膨胀卷积层,在计算参数不变的情况下增加,提供了更多的上下文信息(增加了感受野)。Fig. 3. 展示了更大感受野的优势,在左图的例子里,参与 p1 元素值计算的感受野 Ω1 中同时包含了补全区域外的信息和补全区域(空白,无有效信息),而Ω2 所示的感受野中因为仅包含了补全区域而无法获得有效的信息;在右图的例子中,更大的感受野为计算提供更多有效的信息( Ω1 和 Ω2 均包含补全区域外的信息)。
Context Discriminators
-
Global Context Discriminator(全局上下文判别器):
由 6个卷积层和 1个全连接层组成,所有卷积层均采用跨步卷积(步长为2,卷积核大小为 5x5)的方式来降低图像的分辨率。补全网络输出的整幅图像被输入到全局上下文判别器中,后者输出一个1024维的向量。
全局上下文判别器详细配置表 -
Local Context Discriminator(局部上下文判别器):
由 5个卷积层(因为其输入图像分辨率为 Global Context Discriminator 的一半,因此少一个卷积层)和 1个全连接层组成,所有卷积层均采用跨步卷积(步长为2,卷积核大小为 5x5)的方式来降低图像的分辨率。其输入是以补全区域为中心的 128x128 像素的图像块,输出同样是一个1024维的向量。值得注意的是,在网络训练过程中,补全区域是一个单一的图像块,而训练完成后的网络可以同时补全任意数量的 “图像空洞”;当补全区域不是一个完整的图像时无法获取以其为中心的 128x128 图像块,局部上下文判别器将随机从图像中选择一个相同大小的块作为输入(存在疑问,待看完代码后修正)。
局部上下文判别器详细配置表 -
Output of Discriminators:
全局上下文判别器输出的 1024维的向量与局部上下文判别器输出的 1024维的向量被连接为一个 2048维的向量,然后该向量被输入到一个全连接层中得到一个连续的数值,最后经过 Sigmoid 操作得到一个介于 [0, 1] 之间的概率值,用于判断输入图像是真实的图像(output 接近 1)还是由补全网络生成的图像( output 接近 0)。
连接层详细配置表 -
Training
- 损失函数:
加权均方误差(weighted Mean Squared Error,MSE)损失:
L ( x , M c ) = ∣ ∣ M c ⊙ ( C ( x , M c ) − x ) ∣ ∣ 2 L(x, M_c) = || M_c \odot (C(x, M_c) - x) || ^ 2 L(x,Mc)=∣∣Mc⊙(C(x,Mc)−x)∣∣2
其中,x 为输入的 RGB 图像;Mc为补全区域的二值掩码,其大小与输入图像相同;C(x, Mc) 表示补全网络的输出。
⊙ \odot ⊙ 表示元素逐点相乘, ∣ ∣ ⋅ ∣ ∣ || \quad\cdotp\quad || ∣∣⋅∣∣ 表示欧式范数。
生成对抗网络(Generative Adversarial Network, GAN)损失:
min C max D E [ l o g D ( x , M d ) + l o g ( 1 − D ( C ( x , M c ) , M c ) ) ] \min_C\max_D\mathbb{E}[ logD(x, M_d)+log(1-D(C(x,M_c),M_c))] CminDmaxE[logD(x,Md)+log(1−D(C(x,Mc),Mc))]
其中,Md 为随机的掩码;Mc 是输入的掩码;D(x, Md) 为判别器部分的输出, E \mathbb{E} E 表示输入 x 的期望值。
整体损失函数:
min C max D E [ L ( x , M c ) + l o g D ( x , M d ) + α l o g ( 1 − D ( C ( x , M c ) , M c ) ) ] \min_C\max_D\mathbb{E}[L(x, M_c) + logD(x, M_d) + \alpha log(1-D(C(x,M_c),M_c))] CminDmaxE[L(x,Mc)+logD(x,Md)+αlog(1−D(C(x,Mc),Mc))]
其中, α \alpha α 为一个权重超参数。 - 训练细节:
训练过程伪代码
- 损失函数:
训练共分为三个阶段:首先,使用上述 MSE 损失函数对补全网络进行 TC 次迭代训练;其次,补全网络的参数被固定,使用上述对抗网络损失从头开始对判别器进行 TD 次迭代训练;最后,用两种损失函数对补全网络和判别网络进行联合训练,直至整个训练迭代结束。文章来源:https://www.toymoban.com/news/detail-790150.html
Result
Fig. 6. 展示了论文中了部分实验结果,更多实验结果见原论文:Globally and Locally Consistent Image Completion文章来源地址https://www.toymoban.com/news/detail-790150.html
到了这里,关于【论文笔记】Globally and Locally Consistent Image Completion的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!