摘要
Gatys等人最近引入了一种神经算法,该算法以另一幅图像的风格渲染内容图像,实现了所谓的风格转换。然而,他们的框架需要缓慢的迭代优化过程,这限制了其实际应用。已经提出了使用前馈神经网络的快速近似来加速神经风格的转移。不幸的是,速度的提高是有代价的:网络通常局限于一组固定的风格,无法适应任意的新风格。在本文中,我们提出了一种简单而有效的方法,首次实现了实时的任意风格转移。我们方法的核心是一个新的自适应实例归一化(AdaIN)层,它将内容特征的均值和方差与风格特征的均值、方差对齐。我们的方法实现了与现有最快方法相当的速度,而不受预先定义的一组样式的限制。此外,我们的方法允许灵活的用户控制,如内容风格权衡、风格插值、颜色和空间控制,所有这些都使用单个前馈神经网络。
1、介绍
Gatys等人的开创性工作表明,深度神经网络不仅对图像的内容进行编码,而且对图像的风格信息进行编码。此外,图像的风格和内容在某种程度上是可分离的:可以在保留图像内容的同时改变图像的风格。[16]的风格转移方法足够灵活,可以将任意图像的内容和风格结合起来。然而,它依赖于一个慢得令人望而却步的优化过程。
在加速神经风格转移方面投入了大量精力。[24,51,31]试图训练前馈神经网络,该网络通过单次前向传递来执行风格化。大多数前馈方法的一个主要局限性是每个网络都被限制为一种风格。最近有一些工作解决了这个问题,但它们要么仍然局限于有限的风格集,要么比单一风格转移方法慢得多。
在这项工作中,我们提出了第一个神经风格的转移算法,该算法解决了这一基本的灵活性-速度困境。我们的方法可以实时传输任意新样式,结合了基于优化的框架的灵活性和类似于最快前馈方法的速度。我们的方法受到实例归一化(IN)层的启发,该层在前馈式传输中非常有效。为了解释实例归一化的成功,我们提出了一种新的解释,即实例归一化通过归一化特征统计来执行风格归一化,这些特征统计已经被发现携带图像的风格信息。受我们解释的启发,我们引入了IN的一个简单扩展,即自适应实例规范化(AdaIN)。给定内容输入和风格输入,AdaIN只需调整内容输入的平均值和方差,以匹配风格输入的均值和方差。通过实验,我们发现AdaIN通过传递特征统计信息,有效地结合了前者的内容和后者的风格。然后学习解码器网络,通过将AdaIN输出反转回图像空间来生成最终风格化的图像。我们的方法比[16]快了近三个数量级,而不会牺牲将输入转换为任意新风格的灵活性。此外,我们的方法在运行时提供了丰富的用户控制,而无需对训练过程进行任何修改。
2、相关工作
风格转换
风格转移问题起源于非照片真实感渲染,与纹理合成和转移密切相关。一些早期的方法包括线性滤波器响应的直方图匹配和非参数采样。这些方法通常依赖于低级别的统计信息,并且常常无法捕获语义结构。Gatys等人首次通过在DNN的卷积层中匹配特征统计,展示了令人印象深刻的风格转移结果。最近,对[16]提出了一些改进建议。Li和Wand在深度特征空间中引入了一个基于马尔可夫随机场(MRF)的框架来强制执行局部模式。Gatys等人提出了控制色彩保留、空间位置和风格转移规模的方法。Ruder等人通过施加时间约束来提高视频风格传输的质量。
Gatys等人的框架基于缓慢的优化过程,该过程迭代更新图像,以最小化损失网络计算的内容损失和风格损失。即使与现代GPU融合也可能需要几分钟的时间。因此,移动应用程序中的设备上处理太慢,无法实现。一种常见的解决方法是用前馈神经网络代替优化过程,该网络经过训练以最小化相同的目标。这些前馈式传输方法比基于优化的替代方法快大约三个数量级,为实时应用打开了大门。王等人使用多分辨率架构增强了前馈风格传递的粒度。Ulyanov等人提出了提高生成样本质量和多样性的方法。然而,上述前馈方法是有限的,因为每个网络都绑定到一个固定的风格。为了解决这个问题,Dumoulin等人介绍了一种能够对32种风格及其插值进行编码的单一网络。在我们工作的同时,李等人[32]提出了一种前馈架构,可以合成多达300个纹理并传输16种样式。尽管如此,上述两种方法不能适应训练中没有观察到的任意风格。
最近,Chen和Schmidt介绍了一种前馈方法,该方法可以通过样式交换层传递任意样式。给定内容和风格图像的特征激活,风格交换层以补丁的方式用最匹配的风格特征替换内容特征。然而,他们的样式交换层产生了一个新的计算瓶颈:超过95%的计算用于512×512输入图像的样式交换。我们的方法也允许任意风格的转移,同时比[6]快1-2个数量级。风格转换的另一个核心问题是使用哪种风格损失函数。Gatys等人的原始框架通过匹配Gram矩阵捕获的特征激活之间的二阶统计量来匹配样式。已经提出了其他有效的损失函数,如MRF损失、对抗性损失、直方图损失、CORAL损失、MMD损失以及信道均值和方差之间的距离。注意,所有上述损失函数旨在匹配风格图像和合成图像之间的一些特征统计。
深度生成的图像建模
图像生成有几种替代框架,包括变分自动编码器、自回归模型和生成对抗性网络(GANs)。值得注意的是,GANs获得了最令人印象深刻的视觉质量。已经提出了对GAN框架的各种改进,例如条件生成、多级处理和更好的训练目标。GANs也已应用于风格转移和跨域图像生成。
3、背景
3.1、Batch Normalization
Ioffe和Szegedy的开创性工作引入了批量归一化(BN)层,该层通过归一化特征统计显著简化了前馈网络的训练。BN层最初设计用于加速判别网络的训练,但也被发现在生成图像建模中有效。给定输入批次
,BN对每个单独特征通道的平均值和标准偏差进行归一化:
其中,
是从数据中学习的有限参数;
是平均值和标准偏差,针对每个特征通道在批次大小和空间维度上独立计算:
BN在训练过程中使用小批量统计,在推理过程中用流行统计代替,引入了训练和推理之间的差异。最近提出了批量重整,通过在训练过程中逐渐使用流行的统计数据来解决这个问题。作为BN的另一个有趣应用,Li等人发现BN可以通过重新计算目标域中的流行统计数据来缓解域偏移。最近,已经提出了几种替代的归一化方案,以将BN的有效性扩展到递归架构。
3.2、Instance Normalization
在最初的前馈风格化方法中,风格转移网络在每个卷积层之后都包含一个BN层。令人惊讶的是,Ulyanov等人发现,只需将BN层替换为IN层,就可以实现显著的改进:
与BN层不同,这里
和
是针对每个通道和每个样本在空间维度上独立计算的:
3.3、条件实例归一化
Dumoulin等人[11]提出了一个条件实例归一化(CIN)层,该层为每种风格学习一组不同的参数
和
,而不是学习一组单一的参数
和
:
在训练过程中,从一组固定的风格
(在他们的实验中,
)中随机选择一个风格图像及其索引
。然后通过样式传递网络对内容图像进行处理,其中在CIN层中使用相应的
和
。令人惊讶的是,该网络可以通过在IN层中使用相同的卷积参数但不同的最终参数来生成完全不同风格的图像。与没有归一化层的网络相比,具有CIN层的网络需要2FS附加参数,其中F是网络中特征图的总数。由于附加参数的数量与样式的数量成线性比例,因此将他们的方法扩展到对大量样式(例如,数万)进行建模是具有挑战性的。此外,如果不重新训练网络,他们的方法就无法适应任意的新风格。
4、解释实例规范化
尽管(有条件的)实例规范化取得了巨大成功,但它们在风格转换方面特别有效的原因仍然难以捉摸。Ulyanov等人将IN的成功归因于其对内容图像对比度的不变性。然而,IN发生在特征空间中,因此它应该比像素空间中的简单对比度归一化具有更深远的影响。也许更令人惊讶的是,IN中的精确参数可以完全改变输出图像的风格。
已知DNN的卷积特征统计可以捕捉图像的风格。虽然Gatys等人[16]使用二阶统计量作为他们的优化目标,但Li等人最近表明,匹配许多其他统计量,包括信道均值和方差,也对风格转移有效。受这些观察结果的启发,我们认为实例规范化通过规范化特征统计(即均值和方差)来执行一种风格规范化形式。尽管DNN在[33]中充当图像描述符,但我们相信生成器网络的特征统计也可以控制生成图像的风格。
我们运行改进的纹理网络[52]的代码来执行具有IN或BN层的单一样式转移。正如预期的那样,具有IN的模型比BN模型收敛得更快(图第1(a)段)。为了测试[52]中的解释,我们通过对亮度通道执行直方图均衡,将所有训练图像归一化为相同的对比度。如图1(b)所示,in仍然有效,这表明[52]中的解释是不完整的。为了验证我们的假设,我们使用[24]提供的预训练风格传递网络将所有训练图像归一化为相同的风格(不同于目标风格)。根据图1(c),当图像已经进行了风格归一化时,IN带来的改进变得更小。剩余的差距可以通过以下事实来解释:[24]的风格规范化并不完美。此外,在风格归一化图像上训练BN的模型可以与在原始图像上训练IN的模型一样快地收敛。我们的结果表明,IN确实执行了一种风格规范化。
由于BN对一批样本的特征统计进行归一化,而不是对单个样本进行归一化,因此可以直观地理解为将一批样本归一化为以单个样式为中心。但是,每个样本可能仍然具有不同的样式。当我们想要将所有图像传输到相同的样式时,这是不可取的,就像原始前馈样式传输算法[51]中的情况一样。尽管卷积层可能会学会补偿批内风格的差异,但这给训练带来了额外的挑战。另一方面,IN可以将每个单独样本的样式标准化为目标样式。由于网络的其他部分可以在丢弃原始风格信息的同时专注于内容操纵,因此有利于训练。CIN成功背后的原因也很清楚:不同的定义参数可以将特征统计归一化为不同的值,从而将输出图像归一化为不同风格。
5、Adaptive Instance Normalization
如果IN将输入标准化为由定义参数指定的单个样式,是否可以通过使用自适应定义转换将其调整为任意给定的样式?在这里,我们提出了一个对IN的简单扩展,我们称之为自适应实例规范化(AdaIN)。AdaIN接收内容输入
和风格输入
,并简单地对齐
的通道平均值和方差以匹配
。与BN、IN或CIN不同,AdaIN没有可学习的定义参数。相反,它会根据样式输入自适应地计算最终参数:
其中,我们简单地用
缩放归一化的内容输入,并用
移动它。与IN类似,这些统计数据是跨空间位置计算的。
直观地说,让我们考虑一个功能通道,它可以检测某种风格的笔触。具有这种笔划的样式图像将产生该特征的高平均激活。AdaIN产生的输出将具有与此特征相同的高平均激活,同时保留内容图像的空间结构。类似于[10],可以使用前馈解码器将笔划特征反转到图像空间。该特征通道的变化可以编码更微妙的风格信息,这些信息也会传递到AdaIN输出和最终输出图像。简言之,AdaIN通过传递特征统计信息,特别是通道均值和方差,在特征空间中进行风格传递。我们的AdaIN层扮演着与[6]中提出的样式交换层类似的角色。虽然样式交换操作非常耗时且消耗内存,但我们的AdaIN层与IN层一样简单,几乎不增加计算成本。
6、实验的设置
图2显示了我们基于所提出的AdaIN层的风格传输网络的概述。