zl程序教程

您现在的位置是:首页 >  其他

当前栏目

论文阅读笔记Context Encoders: Feature Learning by Inpainting

论文笔记 by 阅读 learning Context Feature
2023-09-11 14:22:51 时间

 

,本文的context Encoders需要填补一个大面积的缺失,不能从附近像素中获得提示,需要更深的语义理解,并需要在大空间范围内综合高级特征的能力。

 

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

 

context Encoders是第一个能够为语义填充(即较大的缺失区域)提供合理结果的参数修复算法。
一、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也能用于语义修复任务,或非参数方法的初始化

二、 method

1、仅使用L2重建损失会产生模糊的结果,而添加对抗损失会产生更清晰的预测。

2、采用类似encoder-decoder架构, L2 loss使图片重建相近,adversarial loss使图片清晰
encoder和decoder之间使用channel-wise FC层相连(因为修复需要四周的context,而单纯conv只有局部语义

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

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

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

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

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

6、损失函数

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

(SGD随机梯度下降法)

7、We experimented with replacing allpooling layers with convolutions of the same kernel sizeand stride. The overall stride of the network remains thesame, but it results in finer inpainting. Intuitively, there isno reason to use pooling for reconstruction based networks

没有池化层的编码器。在分类中,池化层提供了空间不变性,这可能不利于基于重构的训练。为了与之前的工作保持一致,我们仍然使用原始的AlexNetarchitecture(带池)来获得所有的特性学习结果

8、使用这两个数据集进行验证:ParisStreetView and ImageNet 。

 


原文链接:https://blog.csdn.net/m0_37412775/article/details/116202901