高端学术
您当前的位置:核心期刊咨询网电子信息论文》图片风格融合及快速迁移

图片风格融合及快速迁移

来源:核心期刊咨询网时间:12

摘要:摘 要:通过卷积神经网络对不同图片的内容和风格进行融合,可生成风格多樣化的图片。这不但为影视制作提供了丰富的素材,更有利于图像修复和图像增强。针对这类问题,前人曾提出一些算法,但很难在时间和空间方面都达到很好的效果。这里提出一种基于TensorFl

  摘 要:通过卷积神经网络对不同图片的内容和风格进行融合,可生成风格多樣化的图片。这不但为影视制作提供了丰富的素材,更有利于图像修复和图像增强。针对这类问题,前人曾提出一些算法,但很难在时间和空间方面都达到很好的效果。这里提出一种基于TensorFlow(将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统)的条件归一化网络来支持多风格融合及图片快速迁移,多风格可共用一个网络模型,这大大减少了算法耗时,并缓解了模型存储耗费空间大的问题,节省了计算机资源。时间上优于传统迁移算法三个数量级,空间上25种风格可共用一个模型。同时,更大程度地保留了内容图的语义特征,具有更好的视觉效果。

  关键词:条件归一化网络;风格融合;快速迁移;共享模型

软件工程

  1 引言(Introduction)

  图像风格迁移不仅能改善电影动画制作效果,降低制作成本,更重要的是它有利于图像修复。图像风格迁移算法最初从研究纹理合成技术开始,大多数纹理合成算法采用非参数方法[1],并没有提取图像的高级特征,对纹理较为复杂的图像很难做到理想的风格迁移。Gatys[2]等人提出了一种基于CNN的传统迁移算法,增强了迁移效果,但耗时很大。Johnson[3]等人提出快速迁移算法即训练一种前馈生成网络,生成速度提高了三个数量级,但仍然无法同时获取多种风格。

  本文提出一种条件归一化网络算法,对每种风格归一化后再对其风格参数进行特定的调节,令最终模型具有多风格同步迁移且支持风格融合的能力。这样多风格可以共享一个模型,不仅缩短了风格融合时间,还大大缓解了模型存储的空间压力,为后期部署节约了很大的成本。

  2 算法设计(Algorithm design)

  2.1 构思背景

  考虑到快速风格迁移算法虽然加快了图像迁移的速度,但每次迁移时的风格图像是固定的,也就是每当更换风格时都需要加载另一个模型,这不利于多风格迁移且多个模型很不利于存储,更会浪费计算机资源。更重要的是,这为后期模型部署带来了很大的压力,降低了图片风格迁移的应用价值。于是设计一种网络可以满足对多个风格实现同步迁移,并最终利用该网络训练得到针对多风格的单一模型就显得尤为重要。

  显然,这里的训练数据和测试数据属于同一集合,因此不会存在过拟合问题。进行图像风格迁移时,不同风格图片的参数计算有一定的规律,那么不同的风格图片与同一内容图片进行风格迁移时就会存在一种共享模式,因此在实际的多风格迁移时多风格可以共享模型的参数和结构,这会大大减少模型占用空间。凭直觉来讲,不同的绘画有着相似的笔触,这代表着相似的视觉元素,但调色、用笔力度等方面存在差异,那么这多幅作品其实存在很多共通点。显然,在进行N风格迁移时仍然构建N个网络,这种共享模式就失去了意义,也很不利于模型的训练和存储。从艺术的角度来讲,绘画风格的多样性代表了一种丰富的视觉信息,有利于增强人们对绘画更高层次特征的理解。捕获到不同的图像风格,训练得到的模型允许任意方式组合的全新风格来探索新的艺术风格,为学习艺术风格的特征提供了一条独特的途径。

  2.2 网络架构

  条件归一化网络架构从输入层到输出层依次为三层卷积层、五层残差块和两层上采样,最后一层为卷积层,如图1所示;再结合损失函数网络便构成了条件归一化网络流程的整体网络架构(图2)。与快速风格迁移网络架构的主要区别为,条件归一化网络使用了条件归一化操作,并且该操作贯穿了整个网络的每一层,也就是图像的多风格迁移和风格融合是同时进行的。

  图1的卷积层包含三种操作:卷积、归一化、relu。残差块使用的是Gross and Wilber的残差网络,每个残差块共五层结构,包含两个3×3的卷积层,每个卷积层有128个滤波器。残差网络的核心操作为跨卷积层做加法操作,目的为避免梯度消失。与其等效的卷积块相比,该残差块最后缺少一个relu非线性,在分类方面有更好的性能,同时加快了损失函数收敛的速度,更易于训练深层的网络[4]。上采样同样包含三种操作:双线性插值、卷积和归一化。最后一层为卷积层,与开始卷积层不同的是,这里把relu改为sigmoid。

  2.3 条件归一化

  条件归一化可用来学习多种图像样式,该操作将单风格的图像转换网络转变为多风格的转换网络。多风格图像转换网络的卷积权重在不同风格间是共享的,归一化后对其对应的风格参数进行调节[5]。具体做法就是先将输入图像映射到正态分布,再对每个固定的风格在归一化之后进行特定的缩放和平移,所以这个网络中增加了W和B这两个参数,一个负责缩放,另一个负责平移。针对多风格的模型,只需要训练一个网络,网络整体也只是增加了W和B这两个参数,实际增加量为:2×风格数目×特征映射数目。在典型的网络设置中,只有0.2%的参数代表风格的独立特征。又因为条件归一化只对缩放和移动参数起作用,所以在多个风格上训练图像转换网络所需的参数比训练多个单独网络的方法需要的参数少得多,这大大减少了模型训练需要的时间。

  条件归一化把每种风格压缩为嵌入空间的一个点,多个不同点构成了最终的模型。该模型可以允许一些全新的方式组合风格,能更快地捕获新的艺术风格。

  2.4 改进图像生成质量

  棋盘现象:在快速迁移算法上采样过程中使用了转置卷积,这会导致生成图像出现一些类似棋盘状的伪影,尤其在颜色较深的区域,严重影响了图像的生成质量。本文采用双线性插值算法,避免了棋盘现象的产生。

  伪影现象:在快速风格迁移算法中残差块的卷积层没有使用填充操作,但一般卷积层会采用零填充。零填充虽然可以控制特征图的大小,但会造成边界伪影现象,严重影响了生成图像的质量。据了解,镜像填充可以缓解这种现象,但设置较为复杂,同时会增加训练时间,不利于多风格迁移模型的训练。那么这里仅是修改卷积时的边缘填充方式,使用VALID方式进行卷积,避免了生成图像边缘发黑,因此这与镜像填充方式的作用一致,较大程度地增强了风格迁移生成图像的质量。

  降低内容损失层:大部分的风格迁移算法都采用conv_3作为内容损失层。Gatys提出层数越低越能很好地重建内容特征,但conv_1层的内容损失很小,变化幅度相对更小不利于损失函数收敛。实验中发现采用conv_2作为内容损失层能加快收敛速度,增强生成图像质量,更适合多风格迁移。

  sigmoid函数:实验中发现当最后一层卷积层采用relu时图像有黑块现象,改为sigmoid这种现象几乎消失,同时有利于将结果控制在(0,255)内。

  2.5 多风格融合及快速迁移

  条件归一化网络(图1)生成目标图像,再将生成图像及内容和风格图像一并传入损失函数网络计算得到总损失,损失函数值按公式(1)计算。最后通过Adam优化器最小化损失值,逐步优化模型参数,如图3所示。

  3 实验(Experiment)

  3.1 实验数据和环境

  本次风格迁移实验需要的数据集分为内容图片和风格图片。内容图片为MSCOCO官网的train 2014中的82783张训练图片,数据集大小为12.5G。另外需要20张风格鲜明的风格图片用于训练。

  环境搭建:由于数据集很大,CPU训练非常耗时且容易断电或网络中断影响模型训练,因此这里采用GPU服务器进行模型训练,GPU型号为NVIDIA GeForce RTX 2080 Ti。编写语言为python,采用TensorFlow框架,在jupyter notebook和pycharm上运行代码。

  制作tfrecord训练集:对数据进行统一的管理是很有必要的。tfrecord文件[6]就是对输入数据做统一管理的格式,加上一些多线程的处理方式,使得在训练期间对于数据管理把控的效率和灵活度都比普通暴力的方法好得多。再加之实验需求的数据量很大,使用统一格式管理显得尤为重要。

  3.2 模型训练

  读取制作好的tfrecord训练集,依照图3所示训练得到最终模型。模型训练时的风格矩阵用于提取当前风格的参数W和B。训练中提供了断点续训功能,可及時查看当前训练结果,保存最优模型。实验开启了多线程训练,进一步减少了模型训练时间,为节省磁盘空间只保存最后一代模型。

  3.3 实验结果

  3.3.1 图像多风格迁移

  选择多张不同类别的图像为风格图像,一张儿童图片为内容图像,采用训练好的模型进行多风格迁移。实验结果证明,该算法确实可以很好地将每种风格特征迁移到如图4所示的内容图,生成图如图5和图6所示。

  3.3.2 图像多风格融合

  条件归一化网络算法能提取多张图像的风格特征,并将它们按照一定比例融合。实验采用了一张灰度图像作为内容图像,如图7所示。四张不同风格的图像令原本单调的灰度图像充满生机,验证了条件归一化网络算法具有很好的多风格融合能力。

  推荐阅读:《软件工程师》为中国软件行业协会会刊,被中国期刊全文数据库、中国知网、龙源期刊网、万方数字——数据期刊群以及中国核心期刊(遴选)数据库等全文收录。

转载请注明来自:http://www.qikan2017.com/lunwen/dzi/18824.html

相关论文阅读

论文发表技巧

期刊论文问答区

电子信息优质期刊

最新期刊更新

精品推荐