生成对抗网络及其在纺织行业中的应用

2023-12-07 02:36祝双武
纺织科技进展 2023年11期
关键词:数据分布织物服装

田 乐,祝双武,王 茹,丁 琼

(西安工程大学纺织科学与工程学院,陕西 西安 710048)

当前我国纺织服装行业正呈现出以下发展趋势:产品失去成本红利,缺乏高端自主品牌和价值链中低端锁定;纺织服装设备急需转型升级和融合智能制造的关键技术[1]。面对纺织领域数据量大、分类详细、来源不同的复杂数据,如何有效利用这些数据,是新型纺织制造体系发展面临的重要技术问题之一。人工智能旨在通过系统或程序模仿人类的智能行为,能够有效利用海量数据,执行思维和决策任务。在纺织领域,人工智能将引领行业发展,升级提高物体识别、疵点检测、虚拟试穿、面料评级、生产管理、面料设计等各个纺织领域的智能化水平,进而带来深远的变革[2]。机器学习是人工智能的关键子领域,能够让计算机系统拥有类似人类学习的技能,并通过经验的积累持续优化自身性能。但传统机器学习算法,通常采用浅层神经网络结构,数据分析能力相对不足。在应对复杂的现实问题时,其解决效果受制于数据特征表达的质量[3]。

深度学习作为机器学习的一种新兴领域,得益于其强大的非线性函数拟合能力和各种高效的网络训练方法,在各种传统机器学习的瓶颈领域均获得了突破性的进展,并逐渐成为工业界和学术界研究的热点方向[4]。在纺织领域,深度学习中的模型包括判别模型和生成模型。

判别模型包括卷积神经网络(Convolutional Neural Networks,CNN)和自动编码器(Auto-Encoders,AE)等。深度学习判别模型已被应用到织物表面缺陷检测中,并且取得了良好的效果。马阿辉等[5]提出了一种织物疵点检测算法,算法主网络采用YOLOv5,将CA 注意力机制与网络的部分Neck层结合,使用BiFPN 方法对网络的特征增强部分重新设计,然后再使用GSConv对网络的特征提取部分进一步去除冗余特征,保证了网络的精度与速度。Chen等[6]提出了一种基于遗传算法优化的Gabor滤波器和Faster RCNN 相结合的方法。针对纹理干扰问题,利用Gabor滤波器在频率分析中的优势,结合遗传算法确定最佳Gabor滤波器参数,然后通过将Gabor内核嵌入Faster RCNN 中进行改进,得到了比单独使用神经网络更好的结果,然而推理速度有所下降。Zhao等[7]提出一种基于VGG16网络的检测方法,用于亚麻织物和图像织物的疵点检测,可检测出破洞、污渍等6种疵点。尽管这些模型在各自条件下能够检测出破洞、污渍、长条等疵点,但其准确性依赖于大量高质量的数据样本的训练,测试样本的标注成本巨大,模型泛化能力弱,更换布匹种类后检测效果降低。面对纺织领域数据样本质量参差不齐、同一种类样本数量少、产品换代快等特点,模型实用性不高。

生成模型包括自回归模型(Autoregressive Model,AR)、变分自编码器(Variational Auto-Encoder,VAE)、生成对抗网络、扩散生成模型(Denoising Diffusion Probabilistic Models,DDPM)等。目前GAN 因为其出色的生成效果和样本标注量要求较低的特性,在纺织领域得到了广泛的应用。GAN 是由Goodfellow 等[8]于2014 年提出的一种无监督深度学习模型,核心思想是基于零和博弈理论。GAN 由生成器和判别器组成,目的在于使生成器生成的样本足够逼真,判别器无法区分真实样本和生成样本,最终达到一个纳什均衡的状态。此外GAN 的生成器可以与编码器或变分自编码器结合,得到新的生成器。目前,GAN 已经广泛应用到计算机视觉和相关领域,例如样本生成[9]、视频预测[10]和对象检测[11],并取得显著成效。

1 生成对抗网络的原理

生成对抗网络是一种基于对抗生成思想的深度学习生成模型,GAN 由2个子模型组成:一个可以拟合原始数据分布的生成模型G 和一个针对生成的假数据和真实数据的判别模型D。生成器和判别器通常是基于博弈论原理,通过交替迭代训练生成器和判别器来提高模型的性能。

生成器接受一个随机噪声z作为输入,将服从概率分布Pz(z)的随机噪声z均匀映射到一个服从概率分布Pdata(x)的真实数据分布x,并输出生成的数据分布G(z),生成的数据分布G(z)需尽可能地接近真实数据分布x。 判别器接受生成器输出的G(z)和真实数据分布x作为输入,利用二分类模型判定输入的数据是否符合真实数据分布,判定输入为真实数据x时D(x)输出1,判定输入为生成数据分布G(z)时D(G(z))输出0。二分类模型需尽可能正确判别其输入是真实数据还是生成数据。判定结果将通过误差反传的形式对生成器G 和判别器D 损失函数的梯度信息更新自身权重,优化网络。交替迭代训练生成器和判别器时,每一次对判别器D 的更新都在为生成数据分布和真实数据分布划分正确的决策边界;每一次对生成器G 的更新都试图让生成的数据分布更接近真实数据和决策边界。随着交替迭代训练的不断进行,最终使判别器D 难以划分决策边界,从而使生成器G 能拟合真实数据分布[12]。

生成对抗网络的训练过程是一个对抗学习过程,目标函数如式(1)所示。

式中:通过最大化判别器D 使得D(x)和1-D(G(z))更接近于1,模型的准确率更高;最小化生成器G 使得生成的D(G(z))更接近于1,生成的假样本更像真实样本。V(D,G)是GAN 的损失函数,其优化目标是使生成样本分布p G(z)和真实样本分布pdata(x)之间的JS距离最小化,使得生成的样本尽可能逼真地模拟真实样本分布[13]。

与其他生成模型相比较,GAN 有如下优势。

(1)通用性。相较于大部分其他框架需要生成网络有特定的函数形式,GAN 不需要定义生成器的概率分布形状,可以直接学习真实样本数据,通过生成器和判别器参数优化,最终近似拟合出真实样本的数据分布。这意味着GAN 可以用同一种方式处理图像、文本、声音等不同的高维数据。

(2)灵活性。针对不同的任务和数据类型,可以选择各种不同的神经网络结构作为GAN 的生成器和判别器,包括循环神经网络、全连接神经网络和自动编码器等,从而可以在提升生成样本质量和提高生成速度之间灵活选择。

尽管GAN有着显著优势,但GAN也有如下劣势。

(1)模式崩塌。GAN 对于数据的质量和数量要求比较高。如果训练数据过少或噪声过多,GAN 就容易出现模式崩溃现象,即生成器仅生成相似但缺乏多样性的其他样本模式。主要原因是判别器对生成器生成的样本过于苛刻,无法给生成器提供足够的梯度信息,导致生成器不断重复生成同样的样本。另外,训练数据的不均匀分布、过度的正则化等也可能导致模式崩塌现象的出现。

(2)结果不可控。因为GAN 需要同时训练生成器和判别器2个模块,尤其是在处理大规模数据时,需要更多的计算资源和时间,否则会导致训练时间过长。如果生成器和判别器二者在博弈过程中没有保持平衡而是过早分出胜负,会使得GAN 的训练结果不理想。同时GAN 的生成器是一个黑盒模型,可解释性较差,很难分析其内部的决策过程和生成样本的规律。

2 经典GAN

生成对抗网络因其良好的生成效果和无监督的生成模式吸引了大量学者研究。针对生成对抗网络训练不稳定、难以收敛、可解释性差等问题,学者们提出了一系列的改进模型。在纺织领域,有6种常见的GAN变体得到了广泛应用,这些模型包括渐进增长式生成对抗网络(Progressive Growing of Generative Adversarial Networks,PGGAN)、条件生成对抗网络(Conditional Generative Adversarial Network,CGAN)、基于样式的生成对抗网络(Style Based GAN,Style-GAN)、卷积生成对抗网络(Deep Convolutional Generative Adversarial Network,DCGAN)、Wasserstein生成对抗网络(Wasserstein Generative Adversarial Network,WGAN)、变种Wasserstein 生成对抗网络(Wasserstein Generative Adversarial Network With Gradient Penalty,WGAN-GP)。以上6种GAN 变体的改进位置和优缺点见表1。

表1 GAN 的典型模型

2.1 CGAN

原始GAN 对生成数据样本无法进行控制并生成指向性内容,为了控制模型生成符合要求的数据样本,Mirza等[14]提出条件生成对抗网络,在保留原始GAN结构的同时将条件信息y引入生成器G 和判别器D中,约束生成样本。

网络训练的目标函数如式(2)所示。

式中:D(x|y)指代在判别器中引入条件信息y;G(x|y)指代在生成器中引入条件信息y。 在条件生成对抗网络中,条件信息可以是向量的形式也可以是特征图的形式。

2.2 DCGAN

Radford等[15]提出基于深度卷积的生成对抗网络,用深度卷积代替原始GAN 中的全连接层,使得模型可以从低层到高层逐渐生成更加复杂的图像。在模型中使用批量归一化和Leaky Re LU 激活函数,提高了模型的稳定性和收敛速度。

2.3 WGAN

当真实样本分布与生成样本分布不重叠时,原始GAN 中损失函数使用的JS散度趋近于恒定值,导致模型训练时梯度值始终为零,无法更新模型参数,从而出现模型训练失败的现象。为了解决原始GAN 训练时模型梯度不稳定的问题,提高GAN 训练的稳定性,防止模式崩溃,Arjovsky 等[16]提出了Wasserstein-GAN(WGAN),利用Wasserstein 距离来替换JS 散度,具体定义如下:

式中:Π(P r,P g)是P r与P g所有可能的联合分布集合;Wasserstein距离是用来度量真实数据分布x和生成器产生的数据分布y在联合分布下距离期望值E(x,y)[‖x-y‖]的下界。不同于JS散度,即使真实样本和生成样本重叠测度为零,Wasserstein距离也依然能度量出2个分布之间的距离。

2.4 WGAN-GP

WGAN 中为了保证Lipschitz连续,使用网络权重裁剪方法。但因为判别器的目标函数希望最大化生成样本和真实样本之间的差异,而权重裁剪方法将所有的权重限制取值范围,这将会导致大量的权重落在取值范围的2个边界处,进而导致权重参数二值化,使得网络无法学习到最优的权重参数,限制整个网络的生成效果。在WGAN-GP[17]中,去除权重裁剪、增加梯度惩罚项来优化训练过程,使得判别器损失函数的梯度接近于1。WGAN-GP是WGAN 的改进版本,使得判别器参数分布更加合理,优化了模型生成质量,解决了梯度爆炸或梯度消失问题,增强了模型的稳定性。但因为增加了参数量,训练成本也随之增加。

2.5 PGGAN

PGGAN[18]能够生成高分辨率的图像,以往高分辨率图像生成困难的原因在于更高的分辨率使得判别器更容易分辨是生成图片还是真实图片,并且生成模型很难直接拟合高分辨率图像复杂的数据分布。提出了渐进增长式的生成对抗网络,可以从简单的低分辨率图片开始生成,随着训练的进行,同时为生成器和判别器增加新的上采样卷积和下采样卷积,生成更高分辨率的细节,最终生成1024×1024的高分辨率图像。这一过程加速了训练并改善了网络生成高分辨率图像的稳定性。PGGAN 作为首个生成高分辨率图像的生成对抗网络,后续大量的高分辨率网络都以PGGAN为原型进行修改。

2.6 StyleGAN

PGGAN容易出现特征纠缠的现象,无法独立控制图片中的单个特征,即控制生成图像指定特征生成能力非常有限,略微调整输入,会同时影响生成图像的多个特征。StyleGAN[19]通过将输入的隐变量z经过多层全连接层的映射得到对应的隐空间w,中间向量w的不同元素控制不同特征,同时完成了对隐变量z的解耦。再利用一个全连接层将w转化为ys和yb,然后对每个特征图通过ys和yb重新进行缩放后得到输出,进而控制不同分辨率层的生成风格。通过在不同分辨率层上额外添加随机噪声为图像提供更多的随机细节。

3 GAN在纺织领域的应用现状

GAN 在实际应用中不需要显式建模真实的数据分布和进一步的数学条件,仅用一个任意的潜在向量z就可以生成逼真的样本。这些优势导致GAN 被应用在各种学术和工程领域。以下介绍了GAN 在纺织领域中的疵点检测、虚拟试衣、服装生成和图像融合等领域的应用现状。

3.1 疵点检测

实际工业应用中,与普通数据量相比,异常数据量非常有限。缺陷样本不足会导致数据集中类间不平衡,难以训练,需要预先对数据进行分类和标记的神经网络。尽管可以通过知识蒸馏、老师学生网络、迁移学习来解决网络训练问题,但没有足够的数据依然无法训练出足够好用的模型。此外,复杂的数据样本自身空间分布也很复杂,进一步造成了训练模型的困难。生成对抗网络具有较强的数据分类和分布学习能力,在纺织领域应用于异常检测方面具有广阔的应用前景。

Hu等[20]提出了一种基于DCGAN 的无监督物疵点检测方法。除了标准DCGAN 生成器和判别器外,增加了转换器(Inverter)部分,转换器将织物图像映射为隐变量,且该隐变量经生成器后能够生成只保留正常纹理的无缺陷织物图像。从原始图像中减去重构图像,得到一个残差图,用来突出缺陷区域,通过图像处理算法进行一系列处理,得到最终的分割图。验证了多种类型的织物图像在网络中的表现,并与MSCDEA和CDEA 等方法进行了对比,结果表明该网络的性能更加优异。

张哲源[21]提出在DCGAN 网络的基础上,通过引入隐式秩最小化自编码器(IRMAE)结构作为生成器,提取低秩织物纹理图像特征,完成对织物图像的重构。编码器和解码器中间添加的线性层对编码器输出隐空间变量的秩进行正则化,使其有更低的维度,能够提取更低秩的图像特征,以避免疵点等与织物组织纹理无关的特征干扰。

Cheng等[22]提出一种基于双生成对抗网络补丁模型(DGPM)的图像修复织物缺陷检测方法,提高了训练效率并减少了训练成本,此外增加了一个自注意模型,以减少背景噪声的产生。

Liu等[23]通过裁剪图像中的缺陷块,对缺陷块进行边缘信息提取和图像分割,得到只含缺陷块的图像。再通过改进后的DCGAN 学习织物疵点特征。然后将大量有缺陷的数据块数据和无缺陷的数据融合,得到大量成对的数据集。最后,获得的数据集被用于Fater R-CNN 检测缺陷。

Liu等[24]提出了一个基于多级生成对抗网络的织物疵点检测框架。首先训练CGAN 来学习纹理背景和缺陷之间的条件分布,能够合成不同织物背景的缺陷。然后训练一个基于GAN 的融合网络将缺陷和背景完全融合,从而产生新的缺陷样本。最后利用多级GAN 持续更新现有的织物数据集,并用于语义分割网络的微调,以便对不同纹理背景的织物进行更有效的检测。试验结果证明,所提出的方法在2个数据集上的准确率分别达到了97.0%和94.8%。

3.2 2D虚拟试衣

虚拟试衣技术以用户和目标服装作为输入,可以让用户穿上适合自己体型的虚拟服装,输出用户穿着目标服装的图像,并且可以从不同角度观察所穿衣服的布料。这项技术被广泛应用于电子商务、服装辅助设计、电影和游戏制作等领域,可以更好地实现服装个性化定制[25]。Jetchev等[26]基于CGAN 提出CAGAN(Conditional Analogy GAN),实现了模特的服装更换功能。CAGAN通过网络学习得到目标服装掩码,将掩码与原始图像进行融合得到服装更换结果。该模型善于转移衣服的颜色和结构,但不善于转移衣服的纹理。Hashmi等[27]通过拍摄的照片提取人体姿态,然后进行姿势估计。通过GAN网络学习输入的服装并通过点匹配的方式将其映射到人体上,以提高拟合的准确性。Xie等[28]提出了一个基于StyleGAN2 的纹理保存端到端网络PASTA-GAN,通过patch-routed解耦模块将服装风格及空间特征解耦,使得生成器衣服空间信息都将生成准确衣服风格的图片,再利用空间自适应残差模块提取扭曲的服装特征,自适应对齐目标衣服形状。Yu等[29]提出SCAGAN(Spatial Content Alignment GAN),用于增强服装纹理和人体特征的内容一致性。利用边缘提取进行纹理增强,通过将输入源泛化为空间自适应的风格和内容来解决姿势转移的空间不对齐问题。SARKAR等[30]提出StylePoseGAN,用于从单个输入图像分别提取出图片的姿势和外观,再输入到基于StyleGAN2的生成器中,合成具有明确姿势和每个身体部位外观控制的逼真新人体图像。尽管可以将服饰视为一种属性,并利用StyleGAN的属性进行解耦,但对于特定的服饰图案,StyleGAN所存储的属性中显然无法包含这些复杂的高频信息,因此这类方法在处理服饰图案时往往无法精确重建。Feng等[31]提出一种弱监督的非配对训练生成服饰模特生成算法,以缓解典型的虚拟试穿算法中对配对训练数据的需求。首先通过透视变换将服装与模型的身体对齐,再映射到预先训练的StyleGAN 隐空间中,用投影梯度下降法优化隐变量,最后通过语义搜寻和图案搜索,由粗略到精细重构出服饰的款式和图案。

3.3 3D虚拟试衣

三维虚拟试衣要生成三维人体模型和三维服装,并且保证高精度和真实性。目前,借助3D 建模软件进行三维服装建模仍是最常用的方法,这些软件虽然提供了一定的辅助功能,但仍要求使用者具备一定的先验知识,并且需要大量繁琐的步骤,反复修改每一个三维人体模型和对应的服装[32]。如何低成本、高保真地生成三维服装,将其穿在不同体型的三维人体模型上并保持真实感,一直是虚拟试衣领域的研究热点及难点。一种研究方法是同时生成三维人体模型和服装模型,Zhang等[33]提出Avatar Gen 模型,可以生成高保真、多视角一致的含服装的三维着衣人体模型,并且可以调整人的姿势。输入二维图像,编码器生成一个具有典型姿势和形状的标准人体模型的三平面特征,再通过一个变形模块控制人体姿态,逐步将低分辨率的特征和图像渲染出来,最后利用生成对抗网络将特征图像解码为高分辨率图像。另一些学者则把重点放在研究服装的复杂性上,Ma等[34]提出条件生成对抗网络Mesh VAE-GAN,用于学习SMPL 中的服装变形,模拟人体不同姿态下的服装形状,能够为不同的人体模型穿上衣服。还有一些学者研究模型运动时衣服的动态变化,Sanchez-Riera等[35]提出PhysXNet,封装了多种布料贴图和骨架模型,利用CGAN 来学习人体运动学空间分布和布料变形空间分布之间的映射,预测人体运动时服装的动态变形。Bhatnagar等[36]提出多服装网络MGN,利用一个由不同姿态和穿着不同服装的三维扫描数据集学习分布,可以分别生成身体形状和服装,提高了真实性和可控性。

3.4 图像融合

Frühstück[37]等以StyleGAN2-ADA 为基本框架提出了Inset GAN,用于无条件生成不同身份、发型、服装和姿势的高分辨率全身人像。利用多个预先训练过的GAN 分别生成全身服装图片、面部图片和脚部图片,并将它们通过联合优化的方式融合在一起,不直接使用单个复杂的GAN 生成全身人像。但主要问题是生成的人体体型变化有限;关节优化方法可能会改变发型、领口或服装等细节;无法解决对称性问题。Li[38]提出了一种高分辨率语义图像的合成方法。基础生成器基于分割图生成高质量的图像,再通过单独训练特定类的模型创建了一个生成对抗网络。

3.5 其他应用

Cai等[39]提出了一个基于CGAN 的摩擦信号生成框架FrictGAN,用于织物材料的触觉模拟。织物材料的纹理图像作为输入,生成相应的摩擦信号。通过计算RMSE和t-SNE 来评估FrictGAN 模型,并进行一系列用户感知试验,研究模型生成的摩擦信号对织物触觉模拟的有效性。生成的摩擦信号可用于电振动触觉显示器,以模拟不同织物材料的触觉。Li等[40]提出一种极度不平衡数据增强生成式对抗网EIDGANs,以解决极度不平衡的数据扩增问题。在目标函数中增加了新的惩罚项,“强制”模型学习离群点的特征,并用离群点检测器和k-fold交叉验证法评估生成样本的质量。

4 结束语

探讨了人工智能在纺织系统中的应用趋势及限制,分析了生成对抗网络(GAN)解决限制的方法途径,探讨了其基本原理及优缺点,介绍了常见的GAN衍生模型。进一步地,从GAN 在纺织领域的应用出发,概述了各种场景中所应用的GAN 模型。经过长期的发展,GAN 已在样本生成和数据扩充领域得到了广泛应用,并与深度学习网络相互结合,提出了各种损失函数,并修改了多种网络结构。最后,对GAN 在纺织领域中遇到的问题和挑战进行总结。

尽管GAN 在解决生成样本方面具有优越性,然而,其训练生成器和判别器两者的缺陷也是不可忽视的。其一,训练不稳定,容易崩溃,需要加入大量的手工方法来保持稳定,结果的复现性不高。其二,训练成本较高,需要分别训练生成器和判别器的权重,但在最终的应用中,仅需要生成器的权重,判别器的训练会造成资源的浪费。GAN 在近10 年的研究中已相当成熟,因此,将上游的知识迁移至纺织领域,微调模型参数并将通用领域的研究成果转化至纺织行业,将变得相对容易。此外,随着扩散生成模型的崛起,GAN 可能会失去其主导地位,但作为2个知识点相近的领域,将前期的科研成果转化至扩散生成模型领域,依旧是可行且有利可图的。因此,GAN 在纺织行业中必将有着广阔的应用前景。

猜你喜欢
数据分布织物服装
无Sn-Pd活化法制备PANI/Cu导电织物
让人心碎的服装
《纺织品织物折痕回复角的测定》正式发布
竹纤维织物抗菌研究进展
改进的云存储系统数据分布策略
现在可以入手的mina风高性价比服装
一种基于给定标准对数据进行正态修正的算法
试论大数据之“大”
服装家纺个股表现
织物柔软剂的香气发展趋势