基于卷积神经网络的图像风格迁移算法综述

2023-01-16 09:45刘冰
关键词:卷积神经网络特征

刘冰

(闽南师范大学 教育科学学院,福建 漳州 363000)

在悠久的历史中,曾诞生过无数造诣精深的画家,他们留下的美妙画作已经成为人类文明历史中不可或缺的瑰宝。当然,任何一位画家都具有自己独特的风格,想要仿照其风格作画十分困难。20世纪90年代,计算机科学家们开始思考利用强大的算力按照某一画家的风格对其画作进行仿制。

这类算法被称为图像风格迁移(Image Style Transfer)算法。具体而言,图像风格迁移算法能够学习某张画作的风格,并将这种风格迁移到另一张图片,且很大程度上保留该图片原有的内容信息。即经算法处理过的图片能够兼具所期望拥有的内容与所期望呈现的画家风格。

这类方法具有很强的扩展性。它不仅可以仿照某个特定画家的风格设计滤镜,生成精美绝伦的图片;也可以依照特定环境,如冬季、黄昏等风格图片将图片转化为在对应情境下的形态;人们还根据算法原理提出了新的图像超分辨方法,即从低分辨的模糊图像中恢复出高分辨的清晰图像。另外,该算法也具有很强的可应用性。2016年,Alexey Moiseenkoy基于该算法原理开发了手机软件Prisma,为普通照片加入艺术效果,并被评为2016年IOS年度最佳应用程序。

1 研究历程与发展脉络

1.1 早期的风格迁移算法

图像风格迁移最早可以追溯到20世纪90年代中期诞生的非真实性渲染算法(Non Photorealistic Rendering,NPR)[1]。作为计算机图形学最早诞生的两大主要问题之一,与真实性渲染(Photorealistic Rendering)相对,非真实性渲染的目的主要在于模拟艺术化的绘制风格,呈现出手绘的效果。常见的非真实渲染技术包括卡通渲染、油画渲染、像素感渲染、铅笔画、素描画、蜡笔画和水墨画等类型。这类算法注重对特殊笔触纹理的模拟,并没有上升到对整体绘画风格的迁移。代表性的工作,如Salisbury与Anderson等人提出的参数化方法的笔触模拟,能够较好地根据用户绘制的线稿加以完善产生所需笔触风格的图片[2]。当然,这类方法极大受到单一风格的影响,很难扩展到其他风格或者更高层次的语义风格。

到20世纪初期,人们将NPR算法的主旨加以提炼,在更抽象的层面提出纹理迁移算法(Texture Transfer)。纹理迁移算法不再拘泥于绘画的笔触,转而抽取图像更抽象层面的纹理特征。所谓纹理特征即通过卷积、降采样、Harris算子等方式从原图像中提取出的能代表图像某种特征信息的因子。提取到纹理特征后,不同的学者采用不同方式将特征融合进目标图像中。具有代表性的工作,如Efros与Freeman等人引入了包含对应目标图像纹理特征的对应表以约束纹理迁移过程[3];Hertzmann等人提出了图像类比方法来实现迁移过程[4]。

然而,这些算法大都是采用非参数化的方法来实现风格迁移,虽然相比简单的NPR算法有所提高,但仍然局限于较为潜层的特征迁移。因此,更具普适性的风格迁移算法呼之欲出。

1.2 神经风格迁移算法的诞生

2015年前后,随着卷积神经网络(Convolution Neural Network,CNN)的迅速崛起以及其在诸如图像识别、自然语言处理等方向达成的巨大成就,图像风格迁移领域也开始跟进时代技术的步伐。2016年,Gatys等人在前人工作的基础上,提出了基于CNN的图像迁移算法[5],开创了巨大的技术革新。该算法采用了著名的VGG卷积神经网络模型来提取图像的风格特征,基于梯度下降方式来调整生成图像。

具体而言,Gatys等人使用VGG模型分别提取出风格图像与目标(内容)图像不同层级特征,其中越高的层级代表越抽象的语义特征。根据两类特征,可以分别定义风格图像与内容图像的损失函数,进而定义结果图片的总损失函数:

其中,系数α与β的大小决定了结果图片更倾向于风格化还是更倾向于保留原有结构。训练开始时,初始化结果图片,将结果图片中的每个像素值作为参数,通过VGG提取出图像的特征后依照上面的方法计算出损失函数值,再由梯度下降与反向传播算法进行前向与反向的神经网络迭代。在一定次数的迭代过后结果图像便逐渐收敛,得到所需要的效果。Gatys等人工作的结果可以从图1中概览(图1中,A为目标图像,B-F为由左下角作为风格图像时对A图像进行迁移的结果)。

Gatys等人发现,一幅图像中内容与风格的特征是可以良好分离并表达的。可以独立地操纵这两种表示,以生成新的、具有感知意义的图像。而调整损失函数中的比例或者选择CNN中的不同特征层,也可以产生不同效果的图片。

该算法一经发表便引起了巨大轰动,他们突破了以往非参数化的特征提取方法,将卷积神经网络应用到图像风格迁移中,并且达到了非常好的效果。然而,由于该模型需要对结果图片的每个像素进行参数化迭代,在图片分辨率较高的情况下,每次迭代所花费的代价较高,再加上该模型需要数百次的迭代才能成形,可见其还是存在较大的局限性。

1.3 神经风格迁移算法的调整与优化

1.3.1 风格迁移效率的优化

为了解决Gatys模型效率低下的问题,Johnson与Ulyanov分别提出两种不同解决方法。

相比于Gatys等人选择对结果图像进行参数优化的方式,Johnson等人提出了前向传播(Feed-forward)的方法,转而变为对模型进行优化[6]。具体而言,在实际开展迁移算法之前,先对风格图像训练出一个前向传播的神经网络,每次需要完成风格迁移任务时只需将目标图像作为输入在已训练好的神经网络上前向传播计算一遍,即可以达到所需要的效果。此外,还创造性地提出了语义损失(Perceptual Losses)函数的概念,改进了包括Gatys等先前主要使用的逐像素损失方法,改为综合语义信息计算图片损失。

Ulyanov等人提出了另一种网络结构[7],它采取多尺度架构作为生成网络的输入,生成网络产生的目标图像纹理信息将被输入到已经训练好的解释网络中进行风格融合,最终得到目标图像。此外他们还发现对单个图片进行正规化而非对批量图片进行正规化能够显著地提高风格化的质量。

Johnson与Ulyanov的模型均极大地提升了Gatys模型的效率,其中Johnson模型能够比Gatys快约3个数量级,Ulyanov模型能够加速约500倍。这样的优化是显著的,每张图片的风格化可以在极短的时间内实现,因此可以将其应用到在线平台或者视频中。不过,由于这两个模型都需要预先针对某个风格图像提前训练好前向网络与解释网络,因此每次要对新的风格进行迁移时需要提前训练一轮,故有其局限性。

图1 Gatys等人基于CNN的图像迁移算法的相关图像[5]

1.3.2 多风格迁移模型

在Johnson与Ulyanov等人研究的基础上,学者们又提出了可以适用多风格迁移的单个模型。具有代表性的有Dumoulin等人的工作与Chen等人提出的Style Bank方法。

Dumoulin等人发现,在Johnson等人所提出模型的基础上,保持卷积参数不变,只对其进行放缩与移位,能够通过不同的适配方式对不同风格图像进行迁移[8]。具体而言,他们提出了条件实例归一化方法,通过具有不同仿射参数的特征统计归一化,将输入图像归一化到不同的迁移风格。当然,Dumoulin等人的模型还可以实现不同风格的平滑过渡,即可以设置不同风格所占比重,对内容图像进行混合风格迁移。

Chen等人的思路则是通过不同的网络分量学习对应的内容与风格信息,从而精准地将一幅图像的内容与风格特征分离开来[9]。他们提出了风格库(Style Bank)的概念,即CNN的一个中间层。每种风格都由风格库中的一系列参数所确定,网络中的其余部分则用于学习内容信息,这部分信息将被所有风格共享。此外,Chen等人的工作还可以支持图像的不同区域对不同的风格进行迁移操作,也是相比于原先风格迁移算法的另一个突破。

Dumoulin与Chen等人的模型一方面突破了Johnson与Ulyanov模型每次训练只能对一种风格进行迁移的限制,可以同时训练约50种风格。一方面又取得了混合风格迁移以及区域风格迁移的额外收获,已经基本满足了大部分应用场景的需求。不过,作为代价,其风格化效果与Gatys模型相比略显逊色。

1.3.3 任意风格迁移模型

尽管Dumoulin与Chen的模型能够适用于大部分的情况,但由于对于一组新的风格,这类模型仍然需要重新进行训练,产生较大的开销,因此又有许多学者提出了对新风格不需要重新进行训练的方法。其中最具代表性的有Chen与Schmidt的方法与Huang的方法。

Chen与Schmidt的模型核心是基于特征块的方法[10]。首先从目标图像与风格图像中通过VGG等网络各提取出一系列特征(称作特征块),通过匹配最相似的内容与风格特征块,从而重新构建特征块对应关系,从而达到风格化的效果。这种方法能够无须事先对风格图像训练也能够实现一定的迁移化效果,不过由于某些内容特征块可能被简单地替换为非目标语义的风格特征块,因此其风格化结果从视觉上看并不是特别优秀。

Huang等人对Dumoulin模型里条件实例归一化方程加以修改,通过VGG提取的风格和内容特征,在大规模风格和内容图上进行训练,从而能够直接将图像中的内容归一化为不同风格[11]。不过,Huang等人的模型主要依靠数据驱动,难以扩展到非直接可见的风格特征上。另外,在处理细节较为丰富的特征与局部结构等较复杂的风格时该模型的表现也不尽如人意。

以上基于卷积神经网络的图像迁移算法一些代表性的工作,这里引用Jing与Yang等对所有算法处理结果的横向对比结果[1],如图2所示(图2中,第一行为输入的内容图像与风格图像,其后每行分别为对应模型的处理结果)。

图2 图像风格迁移几类代表性模型的结果比较

1.3.4图像风格迁移算法的其他应用

关于图像风格迁移算法,除了最根本性的画作风格迁移,也可以应用到诸多其他的方面。在上面几类基本处理方法逐渐完善以后,人们开始关注该类算法的扩展性。

Gatys等人预见了图像风格迁移的更多可能。他们提出了图像风格迁移在照片写实风格迁移中的应用[5]。通过将一张纽约天际线的夜景照片作为风格图像,将伦敦天际线的白天照片作为目标图像,经过图像风格迁移算法处理后,可以得到一张较为逼真的伦敦天际线夜景照片。这为后来的研究者打开了思路,也激发了他们探索图像风格迁移在更多方向的可行性。

Huang等人在其多风格模型的基础上,提出了图像翻译(Image-to-Image Translation)的应用场景,即将一张图片映射到不同的语境域中[12]。例如,给出四张典型的春、夏、秋、冬四季照片,对任意一张照片,通过风格迁移方法,可以在保持原照片风景主体内容不变的前提下,加入对应季节的主要特征,使得照片犹如在该季节拍摄(图3)。类似地,也有游戏场景与真实场景之间的翻译、动物形态之间的翻译等。而Yang等人基于风格迁移的原理,发展出字体及字体特效迁移的方法[13],对于汉字、字母等字体的制作提供了极大便利(图4)。此外,Zhang等人利用本方法原理,开发出了对动漫人物线稿上色的算法[14],对于动画与漫画创作者是巨大的生产力提升。

图3 夏、冬季节间的图像翻译[12]

图4 字体风格迁移效果[13]

学者们也将此算法利用到了实际问题的解决上。代表性的工作,如Lin等人利用生成式对抗网络(Generative Adversarial Networks,GAN)开发出了白天与黑夜之间图像迁移的算法[15],将其用在夜晚车辆检测上效果显著,对自动驾驶等领域有不可忽视的促进作用。

2 当前的主要问题与未来发展方向

基于卷积神经网络的图像风格迁移算法经过大约五年的发展,基本框架已经趋于完善。然而,目前的NST模型还远非达到成熟的状态。

首先,在研究方向上大多数学者都选择在性能上进行考量而忽视了迁移质量。从Gatys的基于图像优化到Johnson与Ulyanov的快速单风格迁移,再到Dumoulin与Chen的快速多风格迁移以及Tian与Huang的快速任意风格迁移,单模型的效率与可扩展性不断提高。

就迁移质量与观感而言,在后期工作里有所下降。这主要是由于风格迁移结果的优劣本身是一个不完全定义的问题,其估计大多是经验性的,不存在一个界定明确的标准来评判各迁移结果孰优孰劣。相比之下,性能的优化作为可测量结果却吸引了更多学者进行研究。针对这一问题,学术界目前亟须制定一个能够被普遍性承认的风格迁移结果评判标准,从而促进对优化迁移结果的研究。

其次,大多数模型存在特异性,即对于某些风格图像模型能够很好迁移,对另外一些风格图像则有较大的差异。在图像存在特定形态的噪声时,许多模型也会受到不同程度上的干扰。因此,要实现普适性强、迁移性稳定的模型还有很长的路要走。

另外,目前的工作仍局限于单张风格图片的风格迁移,其语义层次还可以进一步提高。每个画家虽然有风格各异的作品,但各画作间有作者更为抽象的风格特征。如何从一个作者的多幅画作中提取出其更高层的特征,并对结果图片进行风格迁移,是当前值得探索的一个方向。再者,当前的风格迁移算法依然注重于如何从现有的画作提炼出风格特征并进行迁移融合,如何使神经网络通过大规模的学习创造出一种新的、自己的独特风格特征也是未来令人期待与振奋的研究思路。

总而言之,从最早的NPR算法起,人们开始追求让计算机生成美妙的艺术风格,直到Gatys提出的风格迁移算法,许多人终于实现了梦寐以求的效果。正如Gatys所言:“类似于执行生物视觉处理的神经系统能够将风格与内容精确地分开真令人着迷”,让AI技术加入艺术的创造中,这是一件非常值得欣喜的事情。

猜你喜欢
卷积神经网络特征
根据方程特征选解法
离散型随机变量的分布列与数字特征
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
从滤波器理解卷积
不忠诚的四个特征
基于神经网络的中小学生情感分析
基于傅里叶域卷积表示的目标跟踪算法
基于神经网络的拉矫机控制模型建立