一种可实时运行的图像风格化方法与流程

文档序号:12722400阅读:574来源:国知局
一种可实时运行的图像风格化方法与流程

本发明涉及图像处理和深度学习的算法领域,尤其涉及一种可实时运行的图像风格化方法。



背景技术:

图像编辑应用早就数不胜数,但是它们当中绝大部分都是使用简单的滤镜去改变图片的颜色、光线、对比度等。即使是一些类似油画、素描的图像特效都是人工设计的一些特征以及笔画去渲染图片,不仅算法的开发周期长、而且在终端上运行耗时也多。

CVPR的一篇oral文章“Image Style Transfer Using Convolutional Neural Networks”这半年来引起人们的关注,这是一种利用深度学习算法来进行图像风格化学习的方法,其背后的核心思想是利用深层卷积神经网络可对不同尺度下的内容特征和风格特征进行分离,从而让用户合成目标风格化图片变得简单可行。该算法使得设计图像特效在一定程度上脱离了人为干预,然而整个优化过程需要大量的浮点操作,在PC上需要几十秒去风格化一张普通的图片,其耗时在移动终端上将更加严重。



技术实现要素:

为克服现有技术的不足,提供一种可实时运行的图像风格化方法,设计一种轻量化的生成网络,并且具有足够的编码、解码能力,在经由生成对抗网络的训练之后,用矩阵低秩分解、网络剪枝、参数量化等方法对其进一步地压缩和加速,从而在保证生成网络的图片合成能力的同时,使其在终端上实时运行。

本发明的技术方案是这样实现的:

一种可实时运行的图像风格化方法,包括步骤

S1:使用Squeeze-Net中提出的fire模块来组成生成网络的编码部分,用解卷积层组成生成网络的解码部分;

S2:用VGG19中的conv1_1至conv5_1卷积层组成判别网络;

S3:通过构建生成对抗网络进行半监督学习;

S4:在保证生成网络的图片合成能力不变的前提下,用卷积核低秩分解、网络剪枝和参数量化的方法对生成网络进行进一步的加速和压缩。

进一步地,步骤S1中的fire模块是由两个卷积核大小为1*1的卷积层和一个卷积核大小为3*3的卷积层组成。

进一步地,步骤S1中生成网络中的解码部分的基本单元均为核大小为4、步长为2且边距为1的解卷积核组成。

进一步地,步骤S4包括步骤

S41:用卷积核低秩分解的方法对权利要求3所述的解卷积核进行分解,具体分解为1*1、4*1、1*4三个解卷积核,进行降维和去冗余,从而降低运算量;

S42:通过网络剪枝删除冗余的神经元,再重新训练、微调剩下的生成网络,两者之间交替迭代直至收敛;

S43:为每个卷积层、解卷积层各自训练一个码本,使得卷积层、解卷积层中的参数可用码本中的码字近似表示,使用较少的比特数存储对应码字的索引。

本发明的有益效果在于,与现有技术相比,本发明首次将fire模块和Flat-Deconv模块用于生成网络;在编解码的时候融合了多尺度信息;生成网络在保持一定合成能力的同时足够轻量化,适合应用于移动端。

附图说明

图1是本发明可实时运行的图像风格化方法流程图。

图2是本发明的生成对抗网络的基本结构。

图3是本发明的判别网络的结构。

图4是本发明的生成网络的编码模块设计图。

图5是本发明的生成网络的解码模块设计图。

图6是fire模块结构图。

图7是解卷积层分解为Flat-Deconv模块示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图1,本发明包括步骤

S1:使用Squeeze-Net中提出的fire模块来组成生成网络的编码部分,用解卷积层组成生成网络的解码部分,每层解卷积层的输入都是融合了不同尺度的特征信息;

如图4所示,生成网络中的编码部分是由fire模块组成,fire模块的结构如图6所示,而fire模块是由两个卷积核大小为1*1的卷积层和一个卷积核大小为3*3的卷积层组成,目的在于用1*1的卷积核代替3*3的卷积核,从而使参数量减少9倍。但为了不影响网络的表征能力,不是全部替代,而是一部分使用1*1的卷积核,一部分使用3*3的卷积核。这样做的另一个好处是减少3*3卷积层的输入通道,同时起到降低参数量的效果。

如图5所示,在步骤S1中,生成网络中的解码部分的基本单元均为核大小为4、步长为2、边距为1的解卷积核组成。每个fire模块都是提取了一种尺度空间上的特征信息,所以本发明中的解卷积核的输入融合了步骤1中不同的尺度信息。并且,这种卷积核在步骤4训练之后,可进一步分解为1*1、4*1、1*4的扁平化的解卷积核,这里称之为Flat-Deconv模块,如图7所示。

S2:提取在ImageNet上预训练好的VGG19网络中的卷积层组成判别网络,判别网络的机构如图3所示,用于提取输入图片在不同尺度下的内容特征和风格特征;风格特征为不同通道的特征图两两点积得到的一个gram矩阵。在训练过程中,内容图片、风格图片、以及生成网络的合成图片同时输入判别网络,求得合成图片与内容图片在内容特征上的均方误差、以及与风格图片的风格特征上的均方误差,这样得到的两个损失值以一定比例融合传回生成网络去更新生成网络的参数,后者的比例越高,图片的抽象程度越高。

以上步骤用于组成一个生成对抗网络,通过误差反传、多次迭代训练使得生成网络的输出图片在内容特征上趋近于内容图片,在风格特征上趋近于风格图片;

S3:通过构建生成对抗网络进行半监督学习;

S4:在保证生成网络的图片合成能力不变的前提下,用卷积核低秩分解、网络剪枝和参数量化的方法对生成网络进行进一步的加速和压缩。如图7所示,在不影响精度的情况下,解码部分的解卷积层刻分解为Flat-Deconv模块。之后可用网络剪枝、参数量化对整个生成网络进一步精简。

请参见图2,本发明的整个训练过程用到的生成对抗网络,主要由生成网络G和判别网络D构成。本发明的目的在于通过训练和精简得到一个超轻量化的生成网络G。

主要的实施流程有以下几点:

1.训练过程以及损失函数

首先选用一个图像数据集作为训练数据(例如MS COCO),然后选用一种图像特效(例如梵高的油画《星夜》)作为所要学习的目标风格。在不断迭代优化G网络的过程中,每次迭代都从训练集中随机挑选一张图片作为输入的内容图片,而输入的风格图片则固定为上述所挑选的目标风格图片。在这里,D网络固定为在ImageNet上预训练好的VGG19网络,因为这里D网络的参数是固定的,所以整个网络并不是严格意义上的生成对抗网络。在不断的训练过程中,使得合成图片的内容特征趋近于内容图片的内容特征,使得合成图片的风格特征趋近于风格图片的风格特征。

具体而言,内容损失函数为:

其中,这里用的是VGG19中conv5_1中的特征图,C、H、W为该特征图的通道数、高、宽,fg为合成图片在conv5_1输出的特征图,fc为内容图片在conv5_1输出的特征图。

风格特征则定义为特征图的gram矩阵,即:

这里gram矩阵的大小为C*C,矩阵元素为Gci,cj,其值为第ci个通道的特征图与第cj个通道的特征图的点积。所以,风格损失函数为:

l表示第l层卷积层,见图2中判别网路的结构,这里计算风格损失函数共用到了conv1_1、conv2_1、conv3_1、conv4_1、conv5_1这五层卷积层。Gg,l表示合成图片在第l层的gram矩阵,Gs,l表示风格图片在第l层的gram矩阵,为第l层gram矩阵的大小,Wl为第l层损失函数的权重,这里一般设为0.2。

综上,总损失函数为:

Lloss=Lcontent+αLstyle

α为内容损失值与风格损失值之间的比例,α的设置与最终所要合成图片的抽象度有关。

2.生成网络G的设计

在本发明中,G网络的结构由图3的编码器和图4的解码器组成(批归一化和ReLU激活函数在图上省略不显示)。G网络的设计尤为重要,因为G网络的结构设计直接涉及到最终在终端的运行时间。所以,G网络在保证表征能力的同时,要尽可能精简。

在本发明中,如图5所示,G网络的编码器由fire模块组成,fire模块具有低参数量、低运算量的特点。fire模块的具体构成如图5所示,主要为三个卷积层组成,其中有两个1*1的卷积层和一个3*3的卷积层,第一个1*1的卷积层起到降维的作用,从而使得接下来的1*1和3*3卷积核的通道数减少,进而减少运算量。如图6所示,这里一般把通道数e1和e3设为s1的2到4倍。

在本发明中,如图5所示,G网络的解码器由3个解卷积层构成(批归一化和ReLU激活函数在图上省略不显示),一般把卷积核大小设为4,步长为2,边距为1。为了充分利用编码信息,这里解卷积层的输入为fire模块在不同尺度上提取的特征信息。

为了进一步去除解卷积核的冗余度,可采用核分解的方法使其分解为大小为4*1和1*4的解卷积核。并且,在这两个解卷积核之前,还可加上1*1的卷积核进行降维,作用与fire模块中的1*1的卷积核类似。这里核分解的方法具体为:1)对核矩阵进行SVD分解;2)进行微调,使得解卷积核分解前后的输出特征图变化不大。

3.进一步的压缩加速

在G网络训练完毕之后,可用网络剪枝和参数量化进行下一步压缩加速。

网络剪枝的过程为:1)将网络中小于某个阈值的连接删掉;2)重新训练剩下的连接;3)步骤1和步骤2交替进行,直到收敛。如果某个卷积核内的连接均被删除可直接将该卷积核移除,从而降低运算量。

参数量化的具体操作为某个卷积层或解卷积层训练一个码本,该层中的连接权重为该码本中的一个码字,最后在存储的时候用更小的比特数存储对应码本的索引,从而降低存储大小。

本发明通过设计生成网络G的结构,采用精简的基本模块,并运用卷积核分解、网络剪枝、参数量化等技巧,使得网络G更加轻量化,适合移植于移动端。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1