[论文阅读笔记]图像修复篇:Context Encoders: Feature Learning by Inpainting 2016CVPR

Context Encoders: Feature Learning by Inpainting 2016CVPR

文章下载链接:https://openaccess.thecvf.com/content_cvpr_2016/papers/Pathak_Context_Encoders_Feature_CVPR_2016_paper.pdf

基于pytorch代码下载:https://github.com/eriklindernoren/PyTorch-GAN

基于tensorflow代码下载:https://github.com/pathak22/context-encoder

一篇比较经典的生成模型用于图像恢复。

注:自用。若有措辞不严谨,认知有误的地方还请指出!

Abstract

无监督视觉特征学习算法,driven by context-based pixel prediciton

context Encoders的任务:既需要理解整个图像的内容,还需要产生对确实区域的合理假设。

损失函数:a standard pixel-wise reconstruction loss 和 a reconstruction plus an adversarial loss(后者产生更清晰的结果,因为它能更好地处理输出中的多个模式(不理解这句话))

context Encoders的优势:可以捕获外表也可以捕获视觉结构的语义。

实验:在分类,检测,分割任务上验证了我们学习的特征对CNN预训练的有效性。另外,context Encoders也能用于语义修复任务,或非参数方法的初始化(不懂)

1. Introduction

问题背景:人类的视觉世界十分多样,结构化,可以理解这种结构。本文探索CV算法是否也可以像人类一样,探索CNN也可能学习和预测这种结构。

context Encoders的结构类似于autoencoder,都是先编码为一个紧凑的特征表达形式,再进行解码重构。但是这样的表达只是压缩了图像内容,没有学习到一个具有语义意义的表达。Denoising autoencoders也只是处理局部且低维的污染,本文的context Encoders需要填补一个大面积的缺失,不能从附近像素中获得提示,需要更深的语义理解,并需要在大空间范围内综合高级特征的能力

context Encoders以完全无监督的方式训练。图像修复的任务本质上是一个multi-model,有多种方式填补缺失区域同时需要维持和给定内容的一致性。本文通过损失函数解决这个问题,通过联合训练context Encoders以使重构损失和对抗损失最小化重构损失L2捕获缺失区域的整体结构,对抗损失从分布中挑选出特别的模式

context Encoders是第一个能够为语义填充(即较大的缺失区域)提供合理结果的参数修复算法

2. Related Work

(略)

3. Context encoders for image generation

编码器

源于AlexNet结构。但没有采用ImageNet的预训练模型,而是用带有随机初始化的权重从头开始训练。

但是如果编码器的架构中只有卷积层,就不会有信息直接从特征图的一个角落传递给另一个。这是因为卷积层将搜索特征图连接在一起,但是没有直接连接所有的位置在一个特定的特征图内。目前来讲,信息传递过程由全连接层或inner product层处理,所有的激活函数和彼此直接相连。在context Encoders中,潜在的特征维度(即编码器压缩后的特征维度)是6*6*256=9216,将编码器和解码器全连接会导致参数爆炸(超过100M!)。为了缓解这个问题,使用a channel-wise fully-connected layer去连接编码器的特征到解码器。

a channel-wise fully-connected layer

本质上是一个带有分组的全连接层,旨在在每个特征图的激活函数内传播信息。

如果输入层由m个大小为n*n的特征图,这个层将会输出m个n*n的特征图。但是,这层没有连接不同特征图的参数,只传递特征图内的信息。因此这个层的参数数量是mn^4(全连接层的参数是m^2*n^4)。随后是步幅为1的卷积,可跨通道传播信息。

解码器

由5个带有learned filters的up-convolutional layers组成,每层带有ReLU激活函数。

损失函数

通过回归缺失(丢失)区域的groun truth来训练context Encoders。 但是,通常有多种与上下文相符的同样合理的方式来填充缺失的图像区域。通过a decoupled joint loss function去处理这个问题。重构损失L2捕获缺失区域的整体结构,和其内容保持一致性,但是会趋于平均多种模型。对抗损失做一个看起来真实的预测从分布中挑选出具体的模式。

重构损失L2

实验发现l1和l2没有显著差异。l2会导致图像模糊,它通常无法捕获任何高频细节。这是由于L2(或L1)损失通常更倾向于模糊的解。因为最小化平均像素方向的误差,但会导致平均图像模糊。

对抗损失

判别器的目的是区别输入是真的图片还是假的图像

对抗损失的公式

训练时交替使用SGD对生成器和对抗器优化。

总体损失

5.1 图像修复的实施细节

没有调节对抗损失,也没有给编码器添加噪声。对Context Encoder用了比判别器高出10倍的学习率。为了进一步强调预测内容的一致性,预测了一个稍微大点的patch,这个patch覆盖了缺失部分。在训练时,用了10倍多的权重用于重构损失在被覆盖区域。

实验结果展示,如果缺失区域中低级纹理特征更丰富,则纹理合成方法效果更好。本文方法在语义上总是对齐的(可能会模糊,但是不会瞎填)

一些结果图

 

 

 

 

 

 

 

  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 上下文编码器(Context Encoders)是一种深度学习模型,它通过修复输入图像中的缺失部分来学习有用的特征。这种方法也被称为“修复学习”或“图像修复”。上下文编码器被广泛应用于计算机视觉领域,特别是在图像生成和图像修复任务中。模型可以根据图像的周围环境推断出缺失的部分,从而对图像进行恢复。这种方法可以用于去除图像中的噪声、修复损坏的图像、或者在生成图像时填补缺失的部分。上下文编码器可以学习到图像的高级特征,例如物体边界和纹理信息,并能够在许多计算机视觉任务中提高模型的性能。 ### 回答2: Context encoders: Feature Learning by Inpainting(上下文编码器:通过修复学习特征)是一种深度学习算法,它可以学习图像的特征,特别是在图像编码、填充、分割和修复等应用中有很大的用途。 通过输入一张有遮挡图案的图片,该算法可以自动地推断出遗漏的信息。它利用卷积神经网络对缺失区域进行修复,然后将修复后的图像作为输入重新训练模型。通过重复训练这个过程,模型可以不断地学习更高层次的图像特征,使得每次修复的区域都更加准确。 与传统的图像补全方法不同,Context encoders可以处理多种形式的缺失图像,而不仅仅是像素缺失。它可以处理物体缺失、区域缺失以及其他一些复杂的缺失情况。 该算法在图像分类、自然语言处理、音频信号处理等方面都有广泛的应用。在图像分类任务中,Context encoders可以学习更加鲁棒的特征表示,提高模型的分类准确度。在自然语言处理任务中,该算法可以处理缺失单词及语法错误等问题,提高自然语言处理的效果。 总之,Context encoders可以帮助我们更好地理解和处理缺失数据,在深度学习中有着广泛的应用前景。 ### 回答3: Context EncodersFeature Learning by Inpainting,是一种用于生成式模型的特征学习方法,它基于图像修复技术的思想,从部分图像中学习如何重构完整的图像。这个方法的主要思想是使用通道填补方法从部分图像中重建原始目标图像,并将填充像素视为上下文信息。因此,Context Encoders 通过学习如何重构部分图像来解决多个计算机视觉任务,例如图像重构、语音生成和自然语言处理等。 Context Encoders 基于深度神经网络,使用像素级损失函数和特征级损失函数对图像进行训练。像素级损失函数是指对原始目标图像与重构图像进行像素级别的比较,以评估其重建效果。而特征级损失函数是指对不同层的卷积网络的特征进行比较,以评估模型的特征学习效果。 Context Encoders 的应用非常广泛,例如可以使用它对缺失图像进行修复,也可以用来自动生成图像。此外,Context Encoders 还可以应用在自然语言处理任务中,例如对于单词或短语进行补全或自动翻译。 总之,Context EncodersFeature Learning by Inpainting 通过使用图像修复技术的思想,从部分图像中学习如何重构完整的图像,可以解决多个计算机视觉任务,并且具有很强的应用价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值