Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Tianci LIU 李泽南编译

康奈尔&英伟达提出多模态无监督图像转换新方法

计算机可以学习并建立从输入图像到输出图像的映射,对图片进行多种类型的风格转换。近日,康奈尔大学和英伟达的研究人员提出了多模态、无监督的风格转换新方法,其抛弃了以往方法的确定性假设条件,可让模型生成多样性的输出结果。据称,该方法已经达到了和当前最佳监督方法相当的表现。

Demo:

论文:Multimodal Unsupervised Image-to-Image Translation

论文地址:https://arxiv.org/pdf/1804.04732.pdf

摘要:无监督 Image-to-Image 变换是计算机视觉领域一个重要而富有挑战的问题:给定源域(source domain)中的一张图像,需要在没有任何配对图像数据的情况下,学习出目标域(target domain)中其对应图像的条件分布。虽然条件分布是多模态的,但现有方法都引入了过于简化的假设,而将其作为一个确定性的一对一映射。因此,这些模型都无法在特定的源域图像中生成富有多样性的输出结果。为突破这一限制,我们提出了多模态无监督 Image-to-Image 变换(Multimodal Unsupervised Image-to-image Translation,MUNT)框架。我们假设,图像表征可以分解为一个具有域不变性(domain-invariant)的内容码(content code)和一个能刻画域特有性质的风格码(style code)。为了将图像转化到另一个域中,我们将:1. 原图像的内容码,2. 从目标域中随机抽取的某个风格码 进行重组。(在下文中)我们分析了 MUNT 框架,并建立了相应的理论结果。我们进行了大量实验,将 MUNT 与其他目前最先进方的法进行了比较,结果进一步展现出了 MUNT 的优越性。最后,通过引入一个风格图像(style image)样例,使用者可以利用 MUNT 来控制转化的输出风格。

预训练模型及相关代码可在这里查看:https://github.com/nvlabs/MUNIT

图 1. 方法演示。(a)各个域 Xi 中图像的编码形式为:共享目标空间 C 和域特有的风格空间 Si。每个编码器都有对应的反编码器(未在图中展示)。(b)为了将某个 X1 中的图像(如猎豹)变换到 X2 中(如家猫),我们将输入图像的内容码和目标风格空间中的某个随机风格码进行重组。不同的风格码会得到不同的输出。

图 2. 模型概述。我们的 Image-to-Image 转化模型(MUNT)由分别各属于一个域的两个自编码器组成(在图中分别用红色和蓝色箭头表示),每个自编码器的隐编码由一个内容码 c 和一个风格码 s 构成。我们利用对抗目标(adversarial objectives)(图中点线)和双向重建目标(bidirectional reconstruction objectives)(图中短线)训练模型,其中对抗目标能保证转化的图像和目标域中真实图像难以区分,双向重建目标则用于同时重建图像和隐编码。

实验

实现细节

图 3. 自编码器架构展示:由一个内容编码器、一个风格编码器和一个联合解码器组成。更详细的信息和相关参数在附录中。我们提供了 PyTorch 下的开源实现

内容编码器:由多个用于对输入降低采样的 Strided Convulsion 层和多个进一步处理输入的 Residual Block 组成,其中所有的 Convulsion 层都进行了 Instance Normalization 处理。

风格编码器:由多个 Strided Convulsion 层、一个全局的 Average Pooling 层和一个全连接(Fully Connected)层组成。在这里我们没有使用 IN 层,因为 IN 会去除原始特征的均值和方差,而很多重要的风格信息都包含在其中。

解码器:我们的解码器根据输入图像的内容码和风格码对其实现了重建。解码器通过一组 Residual Blocks 处理内容码,并最终利用多个上采样和 Convulsion 层来生成重建图像。另外,最近有研究通过在 normalization 层中使用仿射变换(Affine Transformation)来表征风格。受其启发,我们在 Residual Block 中引入了自适应实例标准化(Adaptive Instance Normalization,AdaIN)层,AdaIN 层中的参数可以利用多层感知(MLP)在风格码上动态生成:

其中 z 是前一个卷积层产生的激活(Activation),µ 和 σ分别表示各个通道的均值和标准差,γ 和 β是 MLP 从风格码中生成的参数。注意:这里的仿射参数是通过训练出的神经网络生成的,而不是像 Huang et al. [53] 研究中一样,根据预训练的神经网络的统计量计算得到的。

判别器:我们使用了 Mao et al. [38] 所提出的 LSGAN 目标,并利用 Wang et al. [20] 提出的多尺度判别器,来确保生成器同时生成了真实细节和正确的全局结构。

具有域不变性的感知损失(perceptual loss):通常,以输出图像和参考图像在 VGG [74] 特征空间中的距离作为感知损失,在有配对图像的监督数据中,这种方法已被证明可以有效地帮助 Image-to-Image 变换;但在无监督场景下,我们并没有目标域中的参考图像。为此,我们提出了一个具有更强的域不变性的修正感知损失,进而可以将输入图像作为参考图像。具体而言,在计算距离前,我们利用 Instance Normalization 处理了 VGG 特征 [70](没有使用仿射变换),去除了原始特征中包含大量域特定信息的均值和方差 [53,57]。我们发现,修正后的感知损失能够加速高分辨率(≥ 512 × 512)数据集上的训练过程,因此在这些数据集上,我们使用的是这一修正感知损失。

图 4. 线图→鞋子变换的定性比较。第一列展示了输入和对应输出的真实图像。第二列开始每一列展示从某种方法中得到的 3 个随机的输出结果。

表 1. 线图→鞋子/手提包变换的定量分析。多样性得分使用的是 LPIPS 距离均值,质量评分使用的是「人类偏好得分」:人们相较于 MUNIT 更偏好该方法的百分比。两个指标中,都是数值越高表现越好。

图 5. 例:(a)线图↔鞋子(b)线图↔手提包

图 6. 例:动物图像变换结果

表 2. 动物图像变换的定量分析。这个数据集中共包含 3 个域,我们在任意两个域对之间完成双向变换,共 6 个变换目标。在每个目标上使用 CIS 和 IS 来度量表现效果。

图 7. 示例:街景变换结果

图 8. 示例:约塞米蒂国家公园的夏天↔冬天(HD 分辨率)

图 9. 示例:有引导图像变换。其中每一行内容相同,每一列风格相同

图 10. 现有风格变换方法的比较

结论

我们展示了一个多模态无监督 Image-to-Image 变换框架,我们的模型在(输出图像的)质量和多样性上都超过了现有的无监督方法,达到了和如今最先进的监督方法相当的结果。我们下一阶段的研究方向会是将这一框架推广到其他域,如影像、文本中。

理论论文康奈尔大学英伟达多模态学习无监督学习图像转换
2
相关数据
池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

多层感知机技术

感知机(Perceptron)一般只有一个输入层与一个输出层,导致了学习能力有限而只能解决线性可分问题。多层感知机(Multilayer Perceptron)是一类前馈(人工)神经网络及感知机的延伸,它至少由三层功能神经元(functional neuron)组成(输入层,隐层,输出层),每层神经元与下一层神经元全互连,神经元之间不存在同层连接或跨层连接,其中隐层或隐含层(hidden layer)介于输入层与输出层之间的,主要通过非线性的函数复合对信号进行逐步加工,特征提取以及表示学习。多层感知机的强大学习能力在于,虽然训练数据没有指明每层的功能,但网络的层数、每层的神经元的个数、神经元的激活函数均为可调且由模型选择预先决定,学习算法只需通过模型训练决定网络参数(连接权重与阈值),即可最好地实现对于目标函数的近似,故也被称为函数的泛逼近器(universal function approximator)。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

规范化技术

规范化:将属性数据按比例缩放,使之落入一个小的特定区间,如-1.0 到1.0 或0.0 到1.0。 通过将属性数据按比例缩放,使之落入一个小的特定区间,如0.0到1.0,对属性规范化。对于距离度量分类算法,如涉及神经网络或诸如最临近分类和聚类的分类算法,规范化特别有用。如果使用神经网络后向传播算法进行分类挖掘,对于训练样本属性输入值规范化将有助于加快学习阶段的速度。对于基于距离的方法,规范化可以帮助防止具有较大初始值域的属性与具有较小初始值域的属相相比,权重过大。有许多数据规范化的方法,包括最小-最大规范化、z-score规范化和按小数定标规范化。

推荐文章
暂无评论
暂无评论~