本发明属于图像处理,计算机视觉,深度学习领域,具体为一种基于多重循环一致性的生成对抗式网络图像风格转移方法。
背景技术:
近年来,随着深度学习的进步,图像风格转移技术也有了重要的发展。2016年,leona.gatys发表了论文“imagestyletransferusingconvolutionalneuralnetworks”,利用深度学习算法来进行图像风格转移,其背后的原理是利用卷积神经网络对不同尺度下的内容特征和风格特征进行分离,从而使图像风格转移变得简单可行。2017年,jun-yanzhu发表了论文“unpairedimage-to-imagetranslationusingcycle-consistentadversarialnetworks”,利用循环一致性和生成对抗式网络进行图像到图像的映射学习,该方法不仅不需要一一对应的配对数据集,而且可以同时学习内容图片到风格图片的映射和风格图片到内容图片的映射。在涉及颜色和纹理变化的风格转移任务中,这些方法通常能取得较好的效果,但是面对涵盖几何变化的任务时,这些方法往往结果很差,比如将照片转化成国画、山水画、工笔画等风格的图片。当前亟待解决的问题是找到一种图像风格转移的普适性方法。
技术实现要素:
针对上述存在问题或不足,本发明将cyclegan中的循环一致性扩展为多重循环一致性,在内容图片和风格图片的映射路径上加入素描图片的中间映射,能够有效地解决涵盖几何变化的图像风格转移任务。
本发明采用的技术方案是:
(1)基于残差块的生成器。
(2)基于卷积神经网络的判别器。
(3)基于多重循环一致性和生成对抗式网络的损失函数训练。
(4)使用(3)训练的深度神经网络,由照片图像生成风格图像,或者由风格图像生成照片图像。
所述步骤(1)中的生成器网络具体包括:
(11)生成器的输入图像依次通过卷积核大小为7、步长为1、滤波器数量为32的卷积层,instancenorm层,relu激活层。
(12)将(11)的输出特征依次通过卷积核大小为3、步长为2、滤波器数量为64的卷积层,instancenorm层,relu激活层。
(13)将(12)的输出特征依次通过卷积核大小为3、步长为2、滤波器数量为128的卷积层,instancenorm层,relu激活层。
(14)将(13)的输出特征依次通过6个卷积核大小为3、步长为1、滤波器数量为128的残差块。
(15)将(14)的输出特征依次通过卷积核大小为3、步长为1/2、滤波器数量为64的卷积层,instancenorm层,relu激活层。
(16)将(15)的输出特征依次通过卷积核大小为3、步长为1/2、滤波器数量为32的卷积层,instancenorm层,relu激活层。
(17)将(16)的输出特征依次通过卷积核大小为7、步长为1、滤波器数量为32的卷积层,instancenorm层,relu激活层。
所述步骤(2)中的判别器网络具体包括:
(21)判别器的输入特征依次通过卷积核大小为4、步长为2、滤波器数量为64的卷积层,leakyrelu激活层。
(22)将(21)的输出特征依次通过卷积核大小为4、步长为2、滤波器数量为128的卷积层,instancenorm层,leakyrelu激活层。
(23)将(22)的输出特征依次通过卷积核大小为4、步长为2、滤波器数量为256的卷积层,instancenorm层,leakyrelu激活层。
(24)将(23)的输出特征依次通过卷积核大小为4、步长为2、滤波器数量为512的卷积层,instancenorm层,leakyrelu激活层。
(25)将(24)的输出特征展平,通过softmax函数将网络输出归一化。
所述步骤(3)中的基于多重循环一致性和生成对抗式网络的损失函数训练具体包括:
(31)输入图像包括三个集合
(32)使用随机梯度下降法进行训练,采用对抗损失和循环一致性损失构成的复合损失函数,计算公式如下:
l(g1,f1,g2,f2,x,y,z)=lgan(g1,dz,x,z)
+lgan(g2,dy,z,y)
+lgan(f2,dz,y,z)
+lgan(f1,dx,z,x)
+λ1lcyc(g1,f1)
+λ1lcyc(g2,f2)
+λ2lcyc(g1,f1,g2,f2)
所述步骤(4)中的风格转移具体包括:
(41)由照片图像生成风格图像:x→z→y,即先由照片图像生成素描图像,再由素描图像生成风格图像。
(42)由风格图像生成照片图像:y→z→x,即先由风格图像生成素描图像,再由素描图像生成照片图像。
本发明的有益效果是:
本发明将cyclegan中的循环一致性扩展为多重循环一致性,在内容图片和风格图片的映射路径上加入素描图片的中间映射,能够有效地解决涵盖几何变化的图像风格转移任务。另外,该方法不仅不需要一一对应的配对数据集,而且可以同时学习内容图片到风格图片的映射和风格图片到内容图片的映射。
附图说明
图1是多重循环一致性的生成对抗式网络的结构图
图2是实施例的照片图像
图3是实施例的工笔画风格转移图像
具体实施方式
以下将结合附图对本发明进行详细描述。
本发明公开了一种基于多重循环一致性的生成对抗式网络图像风格转移方法,具体实施步骤包括:
(1)基于残差块的生成器。
(2)基于卷积神经网络的判别器。
(3)基于多重循环一致性和生成对抗式网络的损失函数训练,其结构如图1所示。
(4)使用(3)训练的深度神经网络,由照片图像生成风格图像,或者由风格图像生成照片图像。
所述步骤(1)中的生成器网络具体包括:
(11)生成器的输入图像依次通过卷积核大小为7、步长为1、滤波器数量为32的卷积层,instancenorm层,relu激活层。
(12)将(11)的输出特征依次通过卷积核大小为3、步长为2、滤波器数量为64的卷积层,instancenorm层,relu激活层。
(13)将(12)的输出特征依次通过卷积核大小为3、步长为2、滤波器数量为128的卷积层,instancenorm层,relu激活层。
(14)将(13)的输出特征依次通过6个卷积核大小为3、步长为1、滤波器数量为128的残差块。
(15)将(14)的输出特征依次通过卷积核大小为3、步长为1/2、滤波器数量为64的卷积层,instancenorm层,relu激活层。
(16)将(15)的输出特征依次通过卷积核大小为3、步长为1/2、滤波器数量为32的卷积层,instancenorm层,relu激活层。
(17)将(16)的输出特征依次通过卷积核大小为7、步长为1、滤波器数量为32的卷积层,instancenorm层,relu激活层。
所述步骤(2)中的判别器网络具体包括:
(21)判别器的输入特征依次通过卷积核大小为4、步长为2、滤波器数量为64的卷积层,leakyrelu激活层。
(22)将(21)的输出特征依次通过卷积核大小为4、步长为2、滤波器数量为128的卷积层,instancenorm层,leakyrelu激活层。
(23)将(22)的输出特征依次通过卷积核大小为4、步长为2、滤波器数量为256的卷积层,instancenorm层,leakyrelu激活层。
(24)将(23)的输出特征依次通过卷积核大小为4、步长为2、滤波器数量为512的卷积层,instancenorm层,leakyrelu激活层。
(25)将(24)的输出特征展平,通过softmax函数将网络输出归一化。
所述步骤(3)中的基于多重循环一致性和生成对抗式网络的损失函数训练具体包括:
(31)输入图像包括三个集合
(32)使用随机梯度下降法进行训练,采用对抗损失和循环一致性损失构成的复合损失函数,计算公式如下:
l(g1,f1,g2,f2,x,y,z)=lgan(g1,dz,x,z)
+lgan(g2,dy,z,y)
+lgan(f2,dz,y,z)
+lgan(f1,dx,z,x)
+λ1lcyc(g1,f1)
+λ1lcyc(g2,f2)
+λ2lcyc(g1,f1,g2,f2)
所述步骤(4)中的风格转移具体包括:
(41)由照片图像生成风格图像:x→z→y,即先由照片图像生成素描图像,再由素描图像生成风格图像。
(42)由风格图像生成照片图像:y→z→x,即先由风格图像生成素描图像,再由素描图像生成照片图像。
照片图像如图2所示,产生的工笔画风格转移图像如图3所示。实验结果表明,本发明能够有效地实现图像风格转移,尤其是解决了涵盖几何变化的图像风格转移任务。