基于SE注意力CycleGAN的蓝印花布单纹样自动生成

2024-01-08 04:25:30冉二飞贾小军喻擎苍陈卫彪
丝绸 2024年1期
关键词:印花布纹样注意力

冉二飞, 贾小军, 喻擎苍, 谢 昊, 陈卫彪

(1.浙江理工大学 计算机科学与技术学院(人工智能学院),杭州 310018; 2.嘉兴学院 信息科学与工程学院,浙江 嘉兴 314001;3.浙江师范大学 数学与计算机科学学院,浙江 金华 321004)

蓝印花布源于唐宋,盛于明清,是中国传统的民间手工艺品。作为首批列入国家级非物质文化遗产名录的民间传统工艺,其使用简单淳朴的蓝白两色,创造出绚丽多姿的艺术世界,因其纹样设计风格特征鲜明、“线断意连”而闻名于世。目前对蓝印花布的研究,大都是从纹样的视觉语义寓意,历史发展和制作工艺角度进行[1-3],而对于纹样的自动生成技术研究略显单薄,且往往不够简单实用[4-5]。随着深度学习的发展,尤其是图像风格迁移研究的进展,提供了扩展蓝印花布纹样的新思路,即将其他风格的简单图像转化为蓝印花布风格的纹样,从而大大提高蓝印花布设计的效率,有利于创新蓝印花布纹样。

图像的风格迁移是两个不同域中图像的转换,具体来说就是提供一种风格图像,将任意一张图像转化为这种风格,并尽可能保留原图像的内容。如今实现风格迁移的方法多种多样,大致分为基于神经网络的图像风格迁移和基于对抗生成网络的图像风格迁移。Gatys等[6]首先将深度学习运用在风格迁移任务上,利用Gram矩阵将图像表示为内容和风格两部分,通过图像重建使内容图的Gram矩阵逼近风格图的Gram矩阵。这种方法可以生成风格图像,但是收敛速度慢,渲染时间长。Wang等[7]为了减少伪影,引入了相似性损失函数,添加了一个后处理细化步骤。其方法可以稳定地对摄影作品的图像进行风格转换。Luan等[8]约束卷积神经网络从输入到输出的变换,使其表示为颜色空间中的局部仿射,实现了如天气、季节等多种场景的艺术风格转换,但是风格迁移的效率低下,效果一般。Johnson等[9]使用在ImageNet上预训练的VGGNet简化损失函数计算过程,使效率得到较大提升,但该方法需要构造复杂的损失函数。Goodfellow等[10]提出了生成对抗网络理论(GAN),GAN为图像风格转换提供了新的思路,掀起了新的研究热潮。Mirza等[11]提出了带有条件约束的cGAN(conditional GAN),该模型通过对输入图像额外增加一个条件标签,来引导模型生成方向。Isola等[12]提出了Pix2Pix算法模型,通过图像作为输入来进行图像风格转换,而不是传统的噪音,大大提升了生成图像的可控性。cGAN和Pix2Pix都需要配对的数据集,但是在很多情况下,并没有完美的成对数据集。Zhu等[13]提出了CycleGAN算法模型,摆脱了配对训练数据集的限制要求,使用半监督的方式实现不同风格之间的图像转换,如将马转化为斑马、春夏秋冬的转换、油画和真实图像的转换等,但CycleGAN在几何形状改变方面表现不佳。Chen等[14]提出CartoonGAN,用于将现实图像转化为漫画风格。该模型在CycleGAN的基础上针对卡通图像加入边缘对抗损失,使生成的图像具有漫画图像一样的清晰边缘,但在处理现实人脸到漫画人脸这类形变较大的转换时效果不佳。

以上模型大多只对于图像纹理与色调的风格进行转换,忽略了几何形变方面的风格转换。蓝印花布的风格有很强的抽象特性,为了稳定生成蓝印花布的纹样,针对上述图像风格化存在问题,本文使用SE注意力机制改进CycleGAN模型来实现蓝印花布纹样图像的风格迁移。对生成网络中的编码器和解码器进行重构,提升CycleGAN模型几何形变方面的能力,使得生成结果贴近蓝印花布纹样的抽象风格。

1 CycleGAN原理

GAN模型由生成网络和判别网络组成,其目标是让生成网络的模型学会一种映射,使得原始域的数据分布拟合目标域的数据分布。在训练过程中,生成网络需要生成伪造的样本使判别网络判断为真,而判别网络则要尽力判别输入样本是真实样本还是生成的伪造样本,两个神经网络在这个对抗中不断优化,最后网络模型能够输出接近样本分布的数据。GAN的优化目标可以看成是一个极大极小博弈,在训练最后的生成网络和判别网络之间实现纳什均衡,使得生成网络能够生成接近样本数据分布特征的目标数据。其目标方程[10]为:

(1)

式中:G表示生成网络,D表示判别网络,Pdata表示真实样本x的分布,Pz表示输入的噪声z的分布,V表示损失函数,E表示数学期望,G(z)表示生成网络G根据噪声z生成的假图像,D(x)和D(G(z))分别表示判别器D判断真实样本x和假图像G(z)是真实样本分布的概率。

GAN模型在跨域图像风格转换任务上存在一个缺陷,生成网络可能会把原始域映射到目标域上的子集,甚至有可能将原始域全部映射到一张图像上,而判别网络只关注生成图像是否属于目标域,所以仅通过单独的对抗损失,无法达到将原始域映射到目标域的结果。对于这个问题,CycleGAN没有采用像Pix2Pix算法使用严格配对数据集的做法,而是使用循环一致性损失解决这一问题。CycleGAN模型通过第一个生成网络G(x2y),将输入的X域图像转换成Y域,然后通过第二个生成网络F(y2x)转换回来,将原始域中的数据经过两次转换后,转换回来的图像应与原始输入尽量相同。同样地,对于Y域的图像通过F(y2x)和G(x2y)重新生成伪造的Y域图像与原始输入的Y域图像进行比较。通过这种方式解决了X域可能都映射到Y域同一张图像的情况。CycleGAN模型有两个生成网络和两个判别网络,其中两个生成对抗网络中的生成网络共享权重。CycleGAN模型在结构上像一个环形网络,从X域向Y域转换的GAN网络结构如图1所示。

CycleGAN循环一致性损失函数计算方法[13]为:

(2)

对抗损失由两部分组成,分别对应两个单独的GAN模型:

LGAN(G,Dy,X,Y)=Ey~pdata(y)[logDy(y)]+Ex~pdata(x)[log(1-Dy(G(x)))]

(3)

图1 CycleGAN网络结构Fig.1 CycleGAN network structure

LGAN(F,Dx,Y,X)=Ex~pdata(x)[logDx(x)]+Ey~pdata(y)[log(1-Dx(F(y)))]

(4)

整个环形GAN网络的总损失[13]计算方法为:

L(G,F,Dx,Dy)=LGAN(G,Dy,X,Y)+LGAN(F,Dx,Y,X)+λLcyc(G,F)

(5)

式中:X、Y分别代表两个数据域,x、y为两个数据域中的样本数据,G为从X到Y的映射函数,F为从Y到X的映射函数,Dx、Dy为判别网络,λ为控制循环一致损失函数的权重。

2 改进的CycleGAN网络结构

CycleGAN网络实现了无配对图像集之间的风格迁移,但泛化能力较弱,当训练图像与测试图像之间差距较大时,迁移效果不佳。直接使用CycleGAN进行简笔画向蓝印花布风格纹样转化生成的结果不理想。针对这一问题对原始CycleGAN的生成网络结构进行改进,CycleGAN的生成网络结构由编码器、残差结构和解码器组成。编码器与解码器都是由3个卷积模块组成,每个模块包含一个卷积层、一个实例正则化层及一个Relu激活函数。为了增强CycleGAN网络提取特征的能力,本文提出了使用残差块结构加上原始卷积模块和SE注意力模块取代原卷积模块的方法。

2.1 注意力机制

注意力机制(attention mechanism)是解决信息超载问题的一种资源分配方案,当计算资源有限时,可以把计算资源分配给更重要的任务。在神经网络学习过程中,参数越多模型所存储的信息量就越大,模型的表达能力也越强,但这会带来信息过载的问题。引入注意力机制,可以在众多的输入信息中聚焦于对当前任务更为关键的信息,降低对其他信息的关注度,提高任务处理的效率和准确性。

SE(squeeze and excitation)模块[15]在通道维度增加注意力机制,通过一系列变换操作得到一个权重矩阵,对原特征进行重构来得到更重要的特征信息,关键步骤为压缩(squeeze)和激发(excitation)。通过自动学习的方式,获取特征通道的重要程度,以此为每个特征通道赋予不同的权重值,从而提升对当前任务有用的特征图的通道利用率,并抑制对当前任务影响不大的通道。SE模块的结构[15]如图2所示。

图2 特征压缩与激发模块结构Fig.2 Feature compression and excitation module structure

实现通道注意力的过程分为压缩(squeeze),激发(excitation)和调节(scale)三个步骤。

压缩阶段,使用全局池化(global pooling)操作,将H×W×C的特征图沿着通道方向转化成为1×1×C的特征,即图2中的Fsq过程将每一个二维的特征图变成了一个具有整体卷积感受野的实数Zc,其计算方法为:

(6)

式中:H、W为输入特征图的高和宽,uc(i,j)为在i、j位置上的特征值。

激发过程的操作Fex(·,W)是通过两个全连接层来捕捉通道的内部依赖程度参数得到特征通道的裁剪系数,其计算方法为:

s=Fex(z,W)=σ(W2δ(W1z))

(7)

式中:W1和W2为两个全连接层学习参数,δ为Relu函数,σ为Sigmoid函数,z为上一步求得的1×1×C的特征向量。

最后是调节权重,将s视为每个通道的重要程度,通过Fscale(.,.)逐通道加权到先前的特征图上,完成通道维度上的注意力机制计算。

Fscale(sc,uc)=scuc

(8)

式中:sc为第C个通道的裁剪系数,uc为第C个通道的特征图。

2.2 网络结构

CylceGAN算法模型是一个循环迭代的网络,包括两个生成网络G(x2y)、F(y2x)及两个判别网络Dx、Dy。在本文研究中,X代表简笔画数据域,Y代表蓝印花布纹样数据域。两个生成网络分别生成简笔画图像和蓝印花布图像。生成网络通过学习两个图像域之间的映射函数,最终生成网络G(x2y)能够使一个简笔画图像转化后获得蓝印花布纹样的风格特点。

2.2.1 生成网络

生成网络主要由编码器、转换器和解码器组成。本文采用残差块结构、原始卷积模块和SE注意力模块对原CycleGAN模型中编码器和解码器进行改进,并削减转化器中残差块的数量。对于新卷积模块(Se-ConvLayer),使用残差模块(ResidualBlock)及原始卷积模块(Conv3×3 stride=2 padding=1;InstanceNorm;Relu)加SE注意力模块(SeBlock)取代原始卷积模块,如图3(a)所示。对于新反卷积模块(SeDeConvLayer),使用SE注意力模块(SeBlock)及原始反卷积模块(Upsample scale_factor=2;Conv3×3 stride=1 padding=1;InstanceNorm;Relu)加残差模块(ResidualBlock)取代原始反卷积模块,如图3(b)所示。

图3 改进的新模块Fig.3 New improved modules

改进的整个生成网络结构如图4所示。首先将输入的256×256灰度图像送入一个padding为1,卷积核大小为3×3的卷积IniConvLayer中进行初始化,将通道数扩展为16。而后将输出送入到SeConvLayer1中进行特征提取,并在SeBlock中根据式(6~8)进行特征图权重的分配,得到32个128×128的特征向量。对于得到的特征向量,SeConvLayer2再次进行特征提取和特征图权重的分配,最终编码器提取出64个尺寸为64×64的特征向量。由4个残差模块组成的转换器组合提取不同的特征,将输入转化为目标域的特征向量。每个残差块中包含2个卷积层、2个实例正则化层和1个Relu激活层。

解码器为编码器的逆过程,采用与新卷积模块类似的2个新反卷积层SeDeConvLayer1和SeDeConvLayer2还原图像的低级特征,得到一个16×256×256的特征向量,最后通过一个1×1卷积层FinConvLayer还原成目标域的图像,之后将还原的图像输入判别网络判断,根据式(5)计算梯度,更新生成网络参数。

图4 改进的CycleGAN的生成网络结构Fig.4 Improved CycleGAN generative network structure

2.2.2 判别网络

判别网络的作用为判别生成网络产生的伪样本是否属于目标数据域,促使生成网络生成更加难以分辨真伪的样本,其网络结构如图5所示。本实验的判别网络使用PatchGan[10]判别网络,由5个卷积模块组成,前四个模块用于抽取输入图像的特征,最后一个卷积模块得到一张特征图,此时特征图上每一个点都有着70×70的感受野,代表了判别网络对于其代表的70×70图像块的判别结果。最后将所有图像块进行判别之后得到的平均结果作为这张输入图像的判别结果,随后根据式(5)计算梯度,更新判别网络参数。

图5 CycleGAN判别网络结构Fig.5 CycleGAN discriminator network structure

3 实验和结果分析

3.1 环境与数据集

实验平台处理器为Intel(R) Xeon(R) Platinum8350C CPU@2.60 GHz,显卡型号为NAVID RTX A5000,24 GB显存,操作系统为Ubuntu 18.04,使用PyTorch深度学习框架,版本为1.8.1,Cuda 11.1。

基于改进CycleGAN的风格迁移算法分别选用412张动物简笔画和216张蓝印花布单纹样图作为实验样本数据集。训练过程中不同数据集间没有指定配对关系,其中简笔画数据集通过互联网收集,蓝印花布单纹样从已有的蓝印花布图像中截取,两个数据集图像大小统一调整为256×256像素。部分数据集图像如图6所示。

图6 训练时的部分数据集Fig.6 Partial dataset during training

3.2 训练过程

设置循环一致性损失超参数λ值为10,批量训练样本数量(batchsize)为1,训练总轮次(epoch)为400,采用adam优化器,初始学习率(lr)为0.000 2,在100个epoch后使用指数衰减策略对学习率进行动态调整。训练过程中的部分实验数据如图7所示。

模型训练50个epoch时转换效果如图7第二行所示,此时图像尚没有形成明显的蓝印花布风格,原始形状保留较为完整,但此时生成的图像颜色已经变为黑底白纹,并且组成图像内容的线条已经转化为大小不同的白色块,有了向蓝印花布风格转化的趋势。模型训练100个epoch时转换效果如图7第三行所示,此时产生的图像仍显得零乱,产生的色块也较多,不符合蓝印花布抽象精炼的特点,但是相比50个epoch时产生的色块少了许多,初步形成了蓝印花布的风格。模型训练400个epoch时转换效果如图7第四行所示,此时生成的图像抓住了原始图像中的关键信息,并将其融合进了蓝印花布的风格里,图案边界更加清晰,主体模糊程度明显减弱,整体风格更为凝实、简练,并在不妨碍整体布局的情况下,对于过长的线条或弯曲弧度较大的造型产生了合适的断线,比较符合蓝印花布“线断意连”的特点。

图7 训练过程的转换效果Fig.7 Conversion effect of training process

训练过程损失如图8所示,在GAN模型训练过程中由于生成网络和判别网络的对抗,在训练一段时间达到稳定期后,生成网络和判别网络的损失都应该在一个小区间内波动,而不会有明显的持续上升或者下降趋势。在图8中,前200个epoch的学习率相对较大,总损失total_loss曲线震荡明显,200个epoch后随着学习率的降低和训练达到稳定期,total_loss在较小的区间波动。在400个epoch时产生的图像已经有了蓝印花布纹样的风格并且网络已稳定。

图8 训练过程total_loss变化Fig.8 Total_loss changes during training

3.3 网络对比

为了验证所提出网络的优越性,本文将提出的方法与对于同样基于对偶思想的CycleGAN、DualGAN[16]、DiscoGAN[17]进行对比,结果如图9所示。在图9中,从上到下依次为原图、CycleGAN算法、DualGAN算法、DiscoGAN算法与SE-CycleGAN(ours)算法生成的结果。对于DualGAN和DiscoGAN来说,其生成网络采用Unet结构,保留了大量原始的细节,在灰度图中仍能隐约看到原始的图像,但是在高度抽象化的蓝印花布风格中,这些细节反而使得生成效果大大降低,并且图像中没有产生合适断线,整体结构也更加混乱。CycleGAN虽然表现出断线,但是断线后形成的色块过于紧凑,没有呈现蓝印花布的风格。SE-CylceGAN(ours)明显提升了图像的抽象化程度,相对于其他网络色块少而精炼,主体更加突出,线条分布合理,“线断意连”风格明显,表现最优。

图9 不同网络生成结果Fig.9 Generated results of different networks

3.4 注意力机制对比

为了直观展示使用不同注意力机制的风格迁移效果,本文将SE注意力机制替换为CBAM注意力机制[18]和ECA注意力机制[19]并进行对比,结果如图10所示。在图10中,从上到下依次为原图、CycleGAN算法、CBAM-CycleGAN算法、ECA-CycleGAN算法与SE-CycleGAN(ours)算法生成的结果。其中CBAM-CycleGAN对于原图像的细节保留过多,断线产生的位置不合理,转化后形成的风格比起SE-CycleGAN(ours)有较大的不足,在小猫图像和狐狸图像上较为明显,且CBAM-CycleGAN明显产生了更多的噪点。而ECA-CycleGAN对于原图内容的把握明显缺失,色块排列杂乱无章,没有明确的主题或焦点,难以捕捉到图片想要表达的核心信息,甚至生成了如第二列蜜蜂图所示的意义不明的图像。SE-CycleGAN(ours)生成的效果最好,色块更加写意,色块边缘更加柔和,如牛的耳朵细看之下宛如花瓣,并且断线的位置恰到好处,符合蓝印花布“线断意连”的风格,在整体上结构清晰,有更高的艺术价值。实验结果表明,相较于其他算法,使用SE注意力机制的CycleGAN算法在生成蓝印花布图样上有明显的优势。

图10 使用不同注意力的改进CycleGAN网络生成结果Fig.10 Improved CycleGAN network generated results using different attention methods

4 结 论

作为国家非物质文化遗产的蓝印花布,对其进行数字化传承和创新有重要的价值和意义。本文提出了一种基于SE注意力机制的改进CycleGAN的端到端网络SE-CycleGAN。通过SE注意力模块和残差模块重新塑造的生成网络提高了原始CycleGAN的几何变形能力,相对于其他网络,图像的内容与蓝印花布的风格有更好的融合,产生的噪点也较少,并且新提出的网络本身有小样本训练,无需配对数据集的特点,可以很好地迁移到其他类似纹样的生成。但是因为数据集和分辨率的限制,目前生成的纹样仍较为简单。而且,受到笔画和图像信息密集程度的影响较大,难以生成更加复杂、内容丰富多样的纹样。接下来将在多类、复杂的蓝印花布纹样自动生成方面开展研究工作。

《丝绸》官网下载

中国知网下载

猜你喜欢
印花布纹样注意力
黄梅君作品
大观(2023年8期)2023-09-25 06:21:16
让注意力“飞”回来
蓝印花布:南通独具特色的非遗传承
华人时刊(2021年19期)2021-03-08 08:35:44
从林栖的《青出于蓝》,看蓝印花布的借衣还魂
《2020年杭州亚运会纹样设计》
流行色(2019年7期)2019-09-27 09:33:08
藏族传统纹样中几何纹样的类型及其文化解读
“扬眼”APP:让注意力“变现”
传媒评论(2017年3期)2017-06-13 09:18:10
A Beautiful Way Of Looking At Things
国外印花布色彩设计赏析
纺织报告(2016年5期)2016-06-25 09:26:29
袁飞纹样设计
湖南包装(2016年2期)2016-03-11 15:53:17