一种基于上下文的像素预测驱动的无监督视觉特征学习算法外文翻译资料

 2022-01-07 22:17:56

Context Encoders: Feature Learning by Inpainting

摘要

我们提出了一种基于上下文的像素预测驱动的无监督视觉特征学习算法。通过与自动编码器的类比, 我们提出了上下文编码器(一种卷积神经网络, 基于受损区域的周围环境,可以生成任意受损图像区域的内容)。为了成功地完成这项任务, 上下文编码器既需要了解整个图像的内容, 也需要为缺失的部分生成一个合适的修补图像。在训练上下文编码器时, 我们尝试了标准的像素重建损失, 以及同时使用重建损失和对抗性损失进行重建。后者产生更清晰的结果, 因为它可以更好地处理输出中的多个模式。我们发现上下文编码器学习的表示不仅能捕捉外观, 还能捕捉视觉结构的语义。我们定量地展示了我们的预训练模型在分类、检测和分割任务中的学习能力。此外, 上下文编码器不仅可用于语义修复任务, 也可以是独立的或非参数统计方法的初始化。

介绍

我们的视觉世界非常多样化,但高度结构化,并且人类具有不可思议的能力来理解这种结构。在这项工作中,我们探讨了最先进的计算机视觉算法是否能够做到这一点。考虑图1(a)中所示的图像。该图像的中心部分缺失,虽然没有看到过过那个确切的场景,但大多数人可以很容易地根据周围像素想象出来其内容。部分人甚至可以画出它,如图1(b)所示。这种能力来自这样一个事实:尽管自然图像具有多样性,但高度结构化(例如立面上的常规窗户图案)。即使只看到场景的某些部分,我们人类也能够理解这种结构并进行视觉预测。本文将会展示使用卷积神经网络(CNN,最近在各种图像理解任务中取得成功的模型)可以学习和预测这种结构。

图:任务的定性插图。给定具有缺失区域(a)的图像,人类艺术家可以毫无困难地绘制它(b)。使用由L2重建损失训练的上下文编码器的自动修复在(c)中示出,并且在(d)中使用L2和对抗性损失。

给定具有缺失区域的图像(例如,图1(a)),我们训练卷积神经网络以回归到丢失的像素值(图1(d))。我们称这个模型为上下文编码器,因为它包括将图像的上下文捕获到紧凑的潜在特征表示中的编码器和使用该表示来产生丢失的图像内容的解码器。上下文编码器与自动编码器极其相似[3,20],因为它们拥有类似的编码-解码器架构。自动编码器获取输入图像, 并尝试在它通过低维 '瓶颈' 层之后对其进行重建, 以获得场景的紧凑特征表示形式。不幸的是, 此功能表示可能只是压缩图像内容, 而无需学习语义上有意义的表示。去噪自动编码器 [38] 通过损坏输入图像和要求网络撤消损坏来解决此问题。但是, 此损坏过程通常是非常本地化和低级别的, 并且不需要太多的语义信息来撤消。相反, 我们的上下文编码器需要解决一个困难得多的任务: 填充图像中的大量缺失区域, 在这些区域中, 它无法从附近的像素获得 '提示'。这就需要对场景有更深入的语义理解, 以及在大空间范围内合成高级要素的能力。例如, 在图1(a) 中, 需要 '凭空' 对整个窗口进行调整。这有点类似于word2vec [30], 后者通过学习自然语言句子,预测给定上下文中的一个词。

与自动编码器一样, 上下文编码器也是以无监督学习的方式进行训练的。我们的研究结果表明, 为了成功完成这项任务, 模型既需要了解图像的内容, 又需要为缺失的部分重建一个合理的修复图像。然而, 这项任务本质上是多模式的, 因为有多种方法可以填补缺失的区域, 同时也保持与特定背景的一致性。为了完成这项任务,上下文编码器的损失函数同时使用重建损失和对抗性损失, 以最小化重建损失和对抗性损失。重建损失(L2)抓住了与上下文相关的缺失区域的总体结构, 而对抗网络损失 [16] 则具有从分布中选择特定模式的效果。图1显示, 仅使用重建损失会产生模糊的结果, 而添加对抗损失会产生更清晰的预测。

我们分开评估编码器和解码器。在编码器方面,对图像进行编码,并对编码后的特征使用最近邻法补全周围像素。我们通过微调编码器进行各种图像理解任务 (包括分类、对象检测和语义分割), 进一步验证了学习到的特征的质量。在这些任务上, 我们与最先进的无监督/自我监督的方法进行比较。在解码器方面, 我们的方法往往能够填充逼真的图像内容。事实上, 据我们所知, 我们的上下文编码器是第一个参数化修复算法, 能够为大缺失区域填充合适的语义图像。上下文编码器在非参数修复方法中计算最近邻也有更好的视觉效果。

相关工作

在过去十年中,计算机视觉在语义图像理解任务(例如分类,对象检测和分割)方面取得了巨大进步。 最近,卷积神经网络(CNNs)[13,27]极大地提高了这些任务的性能[15,26,28]。 这些模型在图像分类方面的成功为解决更难的问题铺平了道路,包括无监督学习的理解和自然图像的生成。 我们简要回顾一下与本文有关的每个子领域的相关工作。

无监督学习 CNNs对有超过一百万个标签的ImageNet数据集 [37]进行分类训练,在任务中很好地概括了特征[9]。 然而,这种语义信息和可概括的特征是否可以在没有任何标签的情况下,仅从原始图像中学习,仍然是一个悬而未决的问题。 深度无监督学习中最早的一些工作是自动编码器[3,20]。 沿着类似的路线,去噪自动编码器[38]从局部受损中重建图像,使编码器对这种破坏具有鲁棒性。 虽然上下文编码器可以被认为是去噪自动编码器的变体,但是应用于模型输入的损坏在空间上要大得多,需要更多的语义信息来撤消。

弱监督以及自我监督学习 最近,人们对使用弱监督和自我监督学习来学习有意义的表示产生了浓厚的兴趣。 一个有用的监督来源是使用视频中包含的时态信息。 跨时间框架的一致性已被用作监督,以学习在许多任务中表现良好的嵌入[17,34]。 使用一致性的另一种方法是跟踪包含任务相关属性的视频帧中的补丁,并使用跟踪补丁的一致性来指导训练[39]。 从非视觉传感器读取的自我运动已被用作训练视觉特征的监督信号等[1,21]。

与本文最密切相关的是尝试利用空间背景作为自由和丰富的监督信号的来源。 Visual Memex [29]使用上下文来非对称地建模对象关系并预测场景中的掩码对象,而[6]使用上下文来建立无监督对象发现的对应关系。但是,这两种方法都依赖于手工设计的功能,并且不执行任何表示学习。最近,Doersch等人 [7]使用预测图像内相邻块的相对位置的任务作为训练无监督深度特征表示的方法。我们与Doersch等人有着相同的高级目标。但是在方法上有所不同:而[7]正在解决一个判别任务(补丁A是补丁B以上还是以下?),我们的上下文编码器解决了一个纯粹的预测问题(洞中应该有哪些像素强度?)。有趣的是,使用语言上下文来学习单词嵌入存在类似的区别:Collobert和Weston [5]提倡一种判别方法,而word2vec [30]将其表述为单词预测。我们的方法的一个重要好处是我们的监控信号更加丰富:上下文编码器需要预测每个训练示例大约15,000个实际值,而[7]中的8个选项中只有1个选项。可能部分由于这种差异,我们的上下文编码器所需的训练时间远远少于[7]。此外,基于上下文的预测也更难以“作弊”,因为诸如色差的低级图像特征不提供任何有意义的信息,与其中色差部分地解决任务的[7]形成对比。另一方面,尚不清楚是否需要忠实的像素生成来学习良好的视觉特征。

图像生成 自然图像的生成模型具有重要的研究价值[16,24,35]。 最近,Radford等人 [33]为生成性对抗网络(GAN)[16]提出了新的卷积体系结构和优化超参数,产生了令人鼓舞的结果。 我们使用对抗和重建损失训练我们的上下文编码器以生成修复结果。 我们将在3.2节详细讨论这个问题。 Dosovitskiy等人[10]和Rifai等人[36]证明CNN可以学习生成特定对象类别(分别是椅子和面部)的新颖图像,但依赖于带有这些类别示例的大型标记数据集。 相反,上下文编码器可以应用于任何未标记的图像数据库,并基于周围环境生成图像。

图像修复 重要的是要指出我们的填孔任务不能通过经典的修复[4,32]或纹理合成[2,11]方法来处理,因为缺失区域太大而不能使局部非语义方法很好地工作。 在计算机图形学中,通常通过场景完成来填充大孔[19],其涉及使用来自数百万图像的数据集的复制最相似的到受损区域。 然而,场景完成意味着通过移除整个物体来填充留下的孔,并且它难以填充任意孔,例如, 部分遮挡对象的amodal修复。 此外,先前的修复依赖于手工制作的距离度量,例如用于最近邻居计算的Gist [31],其低于学习的距离度量。 我们的方法通常能够以参数方式绘制语义上有意义的内容,并为基于最近邻的修复方法提供更好的特征。

上下文编码器用于图像生成

我们现在介绍上下文编码器:CNNs用于预测周围环境中缺少的场景部分。 我们首先概述一般架构,然后提供有关学习过程的详细信息,最后介绍各种图像区域删除策略。

3.1 编码解码器

整体架构是一个简单的编码器-解码器。 编码器获取具有缺失区域的输入图像并产生该图像的潜在特征表示。 解码器采用此特征表示并生成丢失的图像内容。 我们发现通过通道全连接层连接编码器和解码器很重要,这允许解码器中的每个单元推断整个图像内容。 图2显示了我们的体系结构的概述。

图 2:上下文编码器。上下文图像通过编码器以获得使用通道完全连接层连接到解码器的特征,如3.1节所述。然后解码器在图像中产生缺失区域。

编码器 我们的编码器源自AlexNet架构[26]。 给定大小为227times;227的输入图像,我们使用前五个卷积层和下面的池化层(称为pool5)来计算抽象的6times;6times;256维特征表示。 与AlexNet相比,我们的模型没有经过ImageNet分类训练; 相反,网络被训练用于“从头开始”的随机初始化权重的上下文预测。

但是,如果编码器体系结构仅限于卷积层,则无法将信息从特征映射的一个角直接传播到另一个角。之所以如此,是因为卷积层将所有要素图连接在一起,但从不直接连接特定要素图中的所有位置。在目前的体系结构中,这种信息传播由完全连接或内积空间层处理,其中所有激活都直接相互连接。在我们的架构中,编码器和解码器的潜在特征尺寸为6times;6times;256 = 9216。这是因为,与自动编码器不同,我们不重建原始输入,因此不需要有较小的瓶颈。但是,完全连接编码器和解码器会导致参数数量激增(超过100M!),以至于难以对当前GPU进行有效的培训。为了缓解这个问题,我们使用通道方式完全连接的层将编码器特征连接到解码器,下面将详细介绍

通道式全连接层 该层本质上是具有组的完全连接的层,用于在每个特征映射的激活内传播信息。 如果输入层具有大小为ntimes;n的m个特征图,则该层将输出尺寸为ntimes;n的m个特征图。 但是,与完全连接的图层不同,它没有连接不同要素图的参数,只在要素图中传播信息。 因此,与完全连接层(忽略偏置项)中的个参数相比,该通道全连接层中的参数数量是。 接下来是步幅为1的卷积,以跨通道传播信息。

解码器 我们现在讨论管道的后半部分,使用编码器功能生成图像像素的解码器。 “编码器特征”使用通道完全连接的层连接到“解码器特征”。

在通道方向的全连接层之后是五个向上卷积层[10,28,40],其具有学习的滤波器,每个滤波器具有整流的线性单元(ReLU)激活功能。向上卷积只是一种卷积,可以产生更高分辨率的图像。可以理解为上采样后跟卷积(如[10]中所述),或卷积分数(如[28]中所述)。这背后的直觉很简单-一系列的上升和非线性包括编码器产生的特征的非线性加权上采样,直到我们大致达到原始目标尺寸。

    1. 损失函数

我们通过回归到丢失(丢弃)区域的基本事实内容来训练我们的上下文编码器。然而,通常存在多种同样合理的方式来填充与上下文一致的缺失图像区域。我们通过解耦联合损失函数来模拟这种行为,以处理上下文中的连续性和输出中的多个模式。重建(L2)损失负责捕获缺失区域的整体结构和关于其上下文的一致性,但倾向于将预测中的多个模式平均在一起。另一方面,对抗性损失[16]试图使预测看起来真实,并具有从分布中选择特定模式的效果。对于每个真实图像x,我们的上下文编码器F产生输出F(x)。令M是对应于丢弃图像区域的二进制掩码,其中值为1,其中像素被丢弃,0为输入像素。在训练期间,将为每个图像和训练迭代自动生成这些蒙版,如第3.3节所述。我们现在描述损失函数的不同组成部分。

重建损失 我们使用掩蔽的L2距离作为我们的重建损失函数,

其中⊙是对应元素相乘运算。我们尝试了L1和L2损失,发现它们之间没有显着差异。虽然这种简单的损失促使解码器产生预测对象的粗略轮廓,但它通常无法捕获任何高频细节(见图1(c))。这源于L2(或L1)损失通常比高度精确的纹理更喜欢模糊解决方案的事实。我们认为这是因为L2丢失预测分布均值更“安全”,因为这样可以最大限度地减少平均像素误差,但会导致平均图像模糊。我们通过增加对抗性损失来缓解这个问题。

对抗损失 我们的对抗性损失基于生成性对抗网络(GAN)[16]。为了学习数据分布的生成模型G,GAN建议联合学习对抗性判别模型D,以便为生成模型提供损失梯度。 G和D是参数函数(例如,深度网络),其中G:Z→X将样本从噪声分布Z映射到数据分布X.学习过程是二人博弈,其中对抗性鉴别器D同时接受G和地面实况样本的预测,并试图区分它们,而G试图通过产生尽可能“真实”的样本来混淆D.鉴别器的目标是逻辑似然性,表明输入是真实样本还是预测样本:

这种方法最近在图像的生成建模中显示出令人鼓舞的结果[33]。因

全文共9442字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[1921]

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。