陈 佳,董学良,梁金星,何儒汉
(1.武汉纺织大学 数学与计算机学院,武汉 430000;2.湖北省服装信息化工程技术研究中心,武汉 430000)
近年来,随着计算机视觉在时尚行业的发展,服装图像呈现多样化的风格。个性化是时尚服装设计中的一个重要因素,对服装图像进行特定相关区域风格迁移有利于服装设计的个性化与多样化。服装图像风格迁移也是图像风格迁移[1]的一个重要分支。传统的非参数图像风格迁移是一种分析图像风格的方法,该方法根据风格绘制物理模型或者数学统计模型,对迁移的图像进行纹理合成,使其更好地贴合所构建的模型[2]。此方法需要繁琐的推理公式和复杂的数学模型,耗时耗力,导致传统的非参数图像风格迁移研究的应用发展缓慢[3]。HERTZMANN等[4]提出一种通过推导图像特征映射之间的关系,并将此关系看作风格的纹理特征,以实现图像风格迁移的方法。EFROS 等[2]提出使用物理模型绘制和新纹理合成算法相结合以实现图像风格迁移的方法。QIN等[5]通过改进Ashikhmin 算法,把统计特性引入相似性度量中,建立了新领域一致性度量方法,实现了图像间风格传输。这类传统的非参数图像风格迁移方法能提取图像的浅层特征而不能提取高层特征,在复杂的服装图像背景和光照条件下处理服装图像的颜色和纹理时,风格迁移后的服装图像效果较为粗糙。
随着深度学习[6]的兴起,GATYS 等[7]提出基于神经网络的图像风格迁移算法,通过神经网络不同层次提取不同特征以分离图像的内容与风格。然而该方法生成的图像存在噪声、不清晰、需大量成对的训练图像、需反复迭代、训练速度慢、占用极大的内存等问题[8],甚至可能导致程序崩溃。2017 年,ZHU等[9]融合GAN 和对偶学习的思想提出了循环生成对抗网络(Cycle Generative Adversarial Network,CycleGAN),该思想使用2 个生成器和2 个判别器以完成2 种风格域之间的环形转换,通过添加循环一致性损失以保留图像的内容信息。LUAN 等[10]在CycleGAN 中加入正则化以防止过拟合来提高图像的生成质量。虽然CycleGAN 在图像全局风格迁移工作中取得了很好的效果,但在复杂背景服装图像局部风格迁移中存在局部区域难以控制、局部风格迁移后产生边界伪影的问题。随着深度学习应用技术[11]的不断深入,深度学习被越来越多地应用到不同领域。生成对抗网络[12]作为深度学习的一个分支,被广泛应用于图像风格迁移[13]、图像超分辨率[14]和图像分类[15]等多个图像处理的领域。其中,MIU 等[16]提出将图像语义分割生成的掩码确定为风格迁移区域,融合图像未迁移区域以实现图像的局部风格迁移。LIU等[17]提出一种结合全卷积网络(FCN)与CycleGAN的图像风格迁移方法,该方法首先结合全卷积网络对图像进行语义分割以确定风格迁移的目标,然后将风格迁移后的图像与目标进行匹配以确定迁移对象,从而实现局部风格迁移。LI 等[18]提出利用马尔科夫随机场将图像分为许多块,建立块之间的联系而非像素间对应的理念。CHAMPANDARD 等[19]在此基础上尝试提出补丁算法以实现图像不同部分的风格迁移。
LI 等[20]利用生成对抗网络对人脸图像中的眼、鼻子、唇等局部区域按指定风格进行上妆,通过引入像素级直方图损失约束化妆风格的相似性,并将全局损失和局部损失合并到双重输入与输出的BeautyGAN 中,以提取、迁移局部微妙的化妆信息。GU 等[21]使用CGAN 进行掩膜引导肖像编辑,利用掩膜提供的卷积核约束合成人脸的轮廓,再对人脸图像的某一部分进行风格迁移,虽然CGAN 能够生成人脸,但细节处不够真实。基于生成对抗网络及其扩展的许多成功案例表明:基于生成对抗网络的图像生成不同于传统的非参数物理模型的绘制,前者能够通过生成器网络与判别器网络对抗训练以提高生成器生成图像的质量。在文献[16-17,20-21]中提出与GAN 结合以训练生成模型的方法,风格迁移后的生成图像取得了较好的效果,但基于深度学习的图像风格迁移过程依然存在只注重图像局部区域依赖关系而忽略全局区域的相关性的问题。
本文提出一种基于注意力机制的CycleGAN 服装局部风格迁移方法。将注意力机制融入CycleGAN的生成器中,利用注意力机制对服装各个区域分配权重分布,以建立服装全局区域的联系,从而有效地控制风格迁移的局部区域。同时,在损失函数中加入一个基于区域轮廓之间距离定义的损失项d以校正边界伪影,在变换处理的裁剪风格迁移区域和原始图像之间实现平滑过渡效果。
本文所提出的基于循环生成对抗网络的服装风格迁移模型如图1 所示。首先,采用VGG16 网络分别提取所给定内容图像C1和风格图像S1的内容特征和风格特征;然后,将上述内容特征和风格特征输入到基于注意力机制的生成器Gattention中,得到所需的风格迁移服装图像Generated_CS;最后,通过判别器DS和Dc分别判别所生成的服装迁移图像的风格和内容是否与要求一致。在训练时,使用改进的循环一致性损失函数指导生成器Gattention进一步改进生成所需的风格迁移服装图像。如此循环,形成一个环形的网络。
图1 服装风格迁移的CycleGAN 结构Fig.1 CycleGAN structure of clothing style transfer
本文的判别器网络DS和Dc采用了文献[22]的PatchGAN 结构,以对生成器生成的图像进行真伪鉴别。
注意力机制与人类视觉中选择性视觉注意力机制类似。通过快速扫描全局图像而获取需要重点关注的注意力焦点区域,而后对这一区域投入更多计算资源,以获取更多所需要关注目标的细节信息,同时抑制其他无用信息。对于2019 年Imat Fashion 挑战赛数据集中的27个主要服装对象和19个服装部件,本文把19个服装部件作为划分服装的N个区域,设x=(x1,x2,…,xn)T,对每一个服装区域块xi,i∈(1,2,…,n)通过注意力机制分布权重,权重大的区域获得更多的关注,并对该权重大的区域进风格迁移。自注意力机制[23]还可根据服装各个区域的权重分布找到与该权重大的区域相关度高的区域,并对其进行风格迁移。
本文所提出的加入注意力机制的生成器网络模型如图2 所示。主要组成部分有:1)下采样区(Subsampled Area)4 个卷积层提取输入内容特征 和风格特征的其它特征;2)中间区(Middle Area)8 个残差模块层进行图像转换;3)上采样区(Upsampling Area)2 个转置卷积层还原图像低级特征,1 个自注意力层关注服装特定的相关区域,最后由1 个卷积层生成图像。
图2 基于注意力机制的生成器网络模型Fig.2 Generator network model based on attention mechanism
1.2.1 下采样区模块
在生成器Gattention网络的浅层设置下采样以避免深层卷积核产生过多的浮点运算,通过减小特征图的尺寸以加速计算及保留输入特征图的多种特性,如内容特征和风格特征之外的其他特征,以方便下一个残差网络模块进行特征提取。该下采样区由4 个卷积层组成,经过4 个卷积层(包含1 个步长为1的卷积层和3 个步长为2 的卷积层)后,输入的特征图长和宽的尺寸都缩小为原来的1/8,从而减少特征映射的范围。
1.2.2 中间区模块
为更好地保留服装原图中没有进行风格迁移区域的完整信息,本文在基于注意力机制的生成器Gattention中增加了残差网络[24]模块。如图3 所示,每个残差网络模块层由3 个卷积层组成,第1 个卷积层的输出乘以δ的权重值与第2 个卷积层的输出一起作为第3 个卷积层的输入,如式(1)所示:
图3 残差网络模块层结构Fig.3 Residual network module layer structure
其中:L1表示残差网络模块层的第1 层输出;L2表示第2 层输出;δ为权重参数。
在生成器Gattention中增加残差网络模块以避免因网络层数的增加而导致梯度消失的问题,加快了模型的训练速度,残差网络内部各层之间的跳跃传参可以保留原图一部分没有进行风格迁移的完整信息,从而提高了服装风格迁移后的视觉效果。
1.2.3 上采样区模块
如图4 所示,在生成器Gattention的上采样区第2 层引入注意力机制。首先将通道数为C、尺寸大小为S的服装图像向量h∈RC×S的各个局部区域块x1,x2,…,xn作为Encoder 编码器网络输入,通过非线性变换f转化为向量编码hj,在这里每个区域都会被赋予一个权重αij,它的值代表生成第i个区域时,模型对第j个区域的注意力程度。通过Decoder 解码器网络的变换函数g合成整个服装区域中间语义表示g(C1,C2,…,Cn)∈Rc×n,也就是 将图像 构成元素求和,如式(2)所示:
图4 自注意力层Fig.4 Self-attention layer
其中,h1=f(x1),h2=f(x2),…,hn=f(xn);xn表示输入服装区域的个数;Ci对应着不同服装区域投入的注意力分配概率分布。
下面通过以下步骤获取各个区域块的权重系数αij的值:
1)设定一个服装风格迁移的局部区域向量qt。
2)输入服装的其它区域向量hi与qt并比较相似性,用score 函数计算出分值eij。
3)对score 的eij结果进行归一化得到αij。其中:eij=score(qt,hi)。score 表示匹配度的打分函数,用向量夹角大小来评判2 个向量的相似性。采用Cosine 相似度计算2 个向量所形成夹角的余弦值,余弦值计算范围为[−1,1],其值越小表示2 个向量的夹角越小,该向量的相似性越大。αij是对eij采用Softmax 归一化后概率形式的权重表示。
循环生成对抗网络的总损失函数L的设计包括前向映射损失L1和后向映射损失L2以及循坏一致性损失L3这3 个部分。为处理局部风格迁移图像中轮廓线条有时与原图不精确对应、有时有微小错位的问题,本文在循坏生成对抗网络的损失函数中加入了一个基于区域轮廓之间距离定义的损失项d以校正边界伪影。损失项d是计算源服装图像IDT与风格迁移后的服装图像I′DT中相同区域轮廓距离差值之和,是基于相同区域轮廓的像素距离定义的损失项,可以容忍微小的错位,而惩罚过大的错位。由注意力机制得到集中关注的区域掩模B,整个服装区域为A,1 张图像中的每1 个像素点的值为(j,k),损失项d如式(3)所示:
其中:IDT、I′DT分别表示源服装图像中每个区域轮廓上的像素到输出风格迁移前后服装图像中相同类型区域轮廓上像素的距离。前向映射损失L1如式(4)所示:
源域图像通过生成器Gattention生成风格域的图像,其中Ds为开始学习了部分风格域图像风格的判别器。
后向映射损失L2如式(5)所示:
风格域图像通过生成器G2重构源域的图像,其中Dc是开始学习了部分源域图像风格的判别器。
从给定数据集中选取1个样本(x,y),(x∈X,y∈Y),其中,X是源域的图像,Y是风格域的图像。生成器被使用了2次,即由x→Gattention→y及y→G2→x,判别器Ds和Dc起到鉴别的作用,确保图像的风格迁移。循坏一致性损失L3如式(6)所示:
循环一致性损失的目的是为了保持风格迁移后的服装图像仍可通过原始风格生成原始服装图像。
由以上3 个损失可以得到CycleGAN 的总损失L,如式(7)所示:
其中:w表示前向映射和后向映射相对重要性的权衡参数。CycleGAN 模型的优化目标如式(8)所示:
根据服装相关区域风格迁移对服装区域分割的要求,本文选用了2019 年iMat Fashion 挑战赛数据集中的27 个主要服装对象(裙子、夹克、连衣裙等)和19 个服装部件(袖子、前片、后片、口袋、衣领等)作为数据集。该数据集中的每一张服装图像由服装对象中已标注好的各个服装部件组成。每个服装部件作为1 个实例已通过实例分割实现了对服装区域的划分。不同服装对象的服装部件划分数据集如图5 所示。
图5 服装对象分割图Fig.5 The clothing object segmentation image
2.2.1 实验参数
生成器Gattention结构的参数设置如表1 所示,上采样区的最后输出层使用Sigmoid 激活函数,下采样区的卷积神经网络和中间区的残差网络均使用SN 归一化方法和ReLU 激活函数。实验中输入和输出服装图像大小均为256 像素×256 像素。批处理参数batch_size 为20,训练次数为200 轮,前100 轮的网络学习率为0.000 2,后100 轮网络的学习率为0.000 1。训练中的梯度下降采用Adam 算法优化。设置生成器Gattention网络的第1 层输出后的权重参数δ为0.3,在迭代训练中调整得到权重参数δ。用户感知评价的标准:0.3a+0.3b+0.4c。用户感知评价X为15,Y为40,共进行了600 组对比实验。均方误差MSE 的权重值W的初始值是0.5,样本总数n为1 000。
表1 生成器Gattention结构参数设置Table 1 Parameters setting of the generator Gattention structure
2.2.2 测评指标
由于服装风格迁移的效果具有主观性,很难单独使用客观的量化指标以评估本文的方法。实验中结合主观评价指标和客观的量化指标,采用用户感知评价、距离相似、均方误差、风格迁移速度这4 种测评指标对本文方法得到的服装图像特定的相关区域风格迁移的效果与其他方法比较。
1)用户感知评价UE(User Evaluation)是对风格迁移效果的主观评价指标,对此也设定评价的标准:(1)基于注意力机制的服装图像局部区域风格迁移的边缘是否平滑地嵌入以及边缘的清晰度;(2)服装图像特定的相关区域风格迁移的边界是否出现风格迁移“溢出”或者“不足”的现象;(3)服装风格迁移后的两种风格并存的滤镜效果。评价步骤如下:首先选择X个学生,从数据集中随机挑选Y张测试图像;然后将Y张测试图像在不同模型输出的服装局部风格迁移图像提供给用户进行比较;最后统计学生对各个模型输出图像为最佳效果图的数量A,得到学生对不同模型进行服装局部风格迁移效果的感知评价,如式(8)所示:
其中:共进行了X×Y组风格迁移效果对比评价实验。
2)距离相似(Distance Similarity,DS)是评估源服装图像X与进行局部风格迁移后的服装图像Y数据分布相似度的指标,如式(9)所示:
其中:ηX是X图像的平均值;ηY是Y图像的平均值;δX是X图像的协方差;δY是Y图像的协方差;是X图像的方差;是Y图像的方差;SD 越大表示两幅图像的分布结构越相似,图像质量越高。
3)均方误差MSE(Mean Square Error)是参数估计值与参数真实值之间差异程度的一种度量,如式(10)所示:
其中:θ是图像的期望值;θ是图像的估计值;W是权重值;n是样本总数。MSE 越小表示与原图的差距越小。
4)风格迁移速度(Style Transfer Speed,STS)是比较本文方法与其他方法效率的衡量指标。从数据集中随机挑出600 张服装测试图片,对每张服装图像局部特定的相关区域进行风格迁移。比较本文方法与其他方法对600 张服装图像进行风格迁移的平均耗时。
为了验证本文提出的方法在服装局部风格迁移效果上的有效性和优越性,进行了一系列对比实验。将本文提出的图像风格迁移方法与MIU 等[16]提出的基于CNN 的图像局部风格迁移方法、LIU 等[17]运用的FCN 和CycleGAN 结合的图像局部风格迁移方法、LI 等[20]采用的BeautyGAN 生成图像局部风格迁移方法进行比较。比较在相同的数据集上不同方法输出图像效果的用户感知评价UE、距离相似DS、均方误差MSE、风格迁移速度STS。实验数据如图6~图8 和表2 所示,效果图如图9 所示。
表2 风格迁移时间Table 2 Style transfer time s
图6 不同方法输出图像为最佳效果图的数量Fig.6 The number of the output images of different methods are the best renderings
图7 不同方法的距离相似度Fig.7 The distance similarity obtained by different methods
图8 不同方法得到的均方误差Fig.8 The mean square error obtained by different methods
图6 为通过用户调研得到用户对4 种方法进行图像风格迁移效果的感知评价,结果表明本文方法输出的效果图评为最佳图像的数量最多,证明本文方法与其他3 种方法比较,有效地提高了服装图像风格迁移的视觉效果。由图7 可知,本文方法在生成器网络中融入注意力机制后,学习和融合了样本的有效信息,生成的特定相关区域的服装风格迁移图像与原图像的分布结构最相似。由图8 可知,本文方法与其他3 种方法相比较,产生的均方误差是最小的,说明本文方法生成的风格迁移图像质量最好。从图9 可知,MIU 等[16]、LIU 等[17]、LI 等[20]的方法虽然实现了图像的局部风格迁移,但图像风格迁移区域不完整且出现了风格迁移区域伪影边界和图像模糊问题。而本文方法在进行风格迁移的相关区域定位准确,原图和风格迁移区域边缘的平滑效果好,风格迁移后的整体图像清晰。综合来看,本文方法在UE、DS、MSE、STS 这4 项测评指标的数据上优于其他3 种方法,生成风格迁移图像的质量高于其他3 种方法,验证了本文方法的可行性。
图9 不同方法服装风格迁移效果对比Fig.9 Comparison of clothing style transfer effects in different methods
本文提出一种基于注意力机制的CycleGAN 服装特定相关区域风格迁移方法。利用注意力机制在各个服装区域分配概率分布信息,得到注意力分布更多以及相关度更高的区域。在此基础上,通过循环生成对抗网络实现服装特定相关区域的风格迁移。实验结果表明,本文方法能有效控制服装风格迁移的局部区域,在经过变换处理的裁剪风格迁移区域和原始图像之间实现平滑过渡,相较于CNN、FCN、BeautyGAN 等传统图像风格迁移方法,其在图片视觉效果与质量上有一定提升。下一步将设计一种高效的目标检测与实例分割算法,以实现服装对象各个服装部件的准确识别与区域分割,加快风格迁移的速度。