基于EfficientNets的织物疵点图像分类方法

2021-01-07 12:19赵雪青
纺织高校基础科学学报 2020年4期
关键词:疵点织物准确率

张 敏,赵雪青

(西安工程大学 计算机科学学院,陕西 西安 710048)

0 引 言

中国作为世界上最大的纺织品生产和出口国,数字化、智能化的纺织品生产过程逐渐成为趋势。然而,在纺织品生产过程中,由于原料、设备及操作等诸多因素的影响,织物表面会产生各种疵点,这些织物疵点严重影响织物质量。因此,对织物疵点进行有效地检测和分类是现代纺织企业控制成本以及提高产品竞争力的关键点[1-2]。

有效的织物疵点分类方法不仅能够提高纺织品的生产效率,而且能够提升纺织企业的生产和管理水平。然而,织物疵点产生的原因较多,如:棉织物纱线原料问题、织前准备不足、织机机械状态不良以及织布操作不当等[3-4],导致织物疵点种类繁多且复杂,增加了织物疵点分类难度。因此,借助数字化图像处理技术对织物疵点图像进行分类是目前较有效的技术手段之一。针对织物疵点图像特征提取,传统方法主要基于尺度不变特征,如LI等提出了极限学习机和彩色尺度不变特征相结合的方法,该方法有效地将图像分类准确率提高了3%~4%[5]。随后,JING等采用Gabor滤波方法来提取织物疵点图像的特征[6],充分利用Gabor变换提取织物疵点图像的空间域和频率域信息方面良好的特性。其他基于频域的特征提取方法,如傅里叶变换,利用傅里叶变换系数获得织物疵点图像的直方图统计信息进而提取特征[7];小波变换,从时域和频域2个维度获得织物疵点图像的多尺度特征信息[8]。此外,从统计学角度,ZHANG提出了一种结合局部二值模式(LBP)和灰度共生矩阵(GLCM)的分类算法[9],结合织物疵点的局部与全局特征进行图像分类,一定程度上提升了分类的准确率。其他基于统计的特征提取,如方向梯度直方图(HOG)方法,利用局部区域不同方向上的梯度值进行统计得到直方图作为特征[10];颜色直方图方法,采用RGB颜色空间的全局颜色统计直方图特征等。这些传统的特征提取方法仅通过提取织物线层特征进行分类,获得的图像特征有限[11]。针对疵点图像背景的复杂性、数据样本的有限性和目标特征的随机性的特点,利用卷积神经网络(convolutional neural networks,CNN)良好的学习能力和在卷积处理中可以捕获多层结构的特征,可以将卷积神经网络引入到织物疵点图像分类中[12]。例如:文献[13]使用2012年ImageNet数据集[14]竞赛冠军模型Alexnet和GoogLeNet,针对小样本数据集利用迁移学习对模型进行微调,最后利用softmax回归算法进行预测分类,准确率均能达到95%以上。这说明卷积神经网络利用迁移学习改善了小样本数据因数据量不足不能提取到有效特征的问题,通过模型的多层卷积操作缓解了浅层特征提取局限性的问题,但是随着模型深度的不断增加,也会使模型出现过拟合现象,这意味着模型的效率会有所降低。

本文提出了基于EfficientNets的织物疵点图像分类方法,使用ImageNet数据集上预训练的权重采用迁移学习的方法,在小样本TILDA数据集上进行微调构建新的EfficientNets模型,再采用softmax对织物疵点图像进行分类。

1 EfficientNets模型相关理论

1.1 复合系数缩放

随着深度学习理论的深入研究和计算机计算能力的不断提升,CNN及其扩展网络得到了快速的发展,影响CNN性能的主要因素是网络的深度、宽度和基数[15],在一定约束条件下增加模型的深度、宽度和基数,均会提升网络的性能,然而,单一增加模型的深度、宽度等因素,会产生过拟合现象,导致网络效率下降,如何有效地平衡网络结构和性能是设计新型网络结构的核心。TAN等提出了EfficientNets模型[16],一种新的缩放方法能够平衡效率与准确率,通过使用一个简单而高效的复合系数来均匀地缩放深度、宽度、分辨率的所有维度。针对CNN的张量形状输入(H,W,C),其中,H×W为输入图像的大小,C为通道数,L为网络的卷积层数,则该卷积网络可定义为

N=FL(H,W,C)

(1)

式中:F为网络的卷积操作;N为整个模型的网络。

根据式(1)可知,CNN的分类结果与其深度d、宽度w及分辨率r的参数相关,它们的关系可定义为

Race(N(d,w,r))=Fd·L(r·H,r·W,w·C)

(2)

式中:d·L为加入深度系数后的网络深度;r·H、r·W为加入系数后的输入图像的大小;w·C为加入系数后的网络通道数;Race为模型的准确率。

复合缩放方法中,使用复合系数∅以一种有原则的方式均匀地缩放模型宽度、深度和分辨率。深度:d=α∅,宽度:w=β∅,分辨率:r=γ∅,约束条件:α·β2·γ2≈2,其中,α≥1,β≥1,γ≥1,α、β、γ是可以通过小型网格搜索确定的常量。直观的∅为用户指定的系数,该系数控制可用于模型缩放的资源数量,α、β、γ指定如何分别为模型宽度、深度和分辨率分配这些额外资源。值得注意的是,正则卷积运算的FLOPS与d、w2、r2成正比。由于卷积运算通常在卷积网络中占主导地位,因此对卷积网络进行缩放,会使FLOPS增加约(α·β2·γ2)∅,所以限制α·β2·γ2≈2,使得对于任何新的∅,FLOPS将近似地增加2∅。

1.2 EfficientNets模型结构和参数

由于模型的缩放操作并不会影响到模型的卷积操作,所以选择一个良好的基线模型也很重要。本文使用EfficientNets的基线模型是多目标神经架构搜索,主要由移动逆瓶颈卷积(MBconv)与SENet[17]组成,移动逆瓶颈卷积与深度可分离卷积相似,首先对输入进行1×1逐点卷积并根据扩展比例改变输出通道维度,然后在EfficientNets模型的k×k卷积中引入SENet注意力机制,最终再使用1×1卷积恢复原来的通道数,EfficientNets基线网络EfficientNets-B0的网络结构如表1所示,表中的MBConv1和MBConv6分别代表扩展比例为1和6。

表1 EfficientNets基线网络EfficientNet-B0的网络结构

模型的损失函数使用的是交叉熵损失函数, 计算织物疵点分类结果中正确结果与预测结果之间的误差,计算公式为

(3)

式中:p为真实的概率分布,训练网络时,输入数据与标签已经确定,那么真实概率分布p就确定下来了;q为预测的概率分布。

交叉熵损失函数能够衡量同一个随机变量中的2个不同概率分布的差异程度,在分类模型中就表示为真实概率分布与预测概率分布之间的差异。交叉熵的值越小,模型预测效果就越好。

通过小型网格搜索得到参数取值,即α=1.2,β=1.1,γ=1.15,给定复合系数∅,得到EfficientNets B0至B5网络的w、d以及r的参数如表2所示。本文的实验中选择B5参数,称为EfficientNet-B5网络模型。

表2 EfficientNets B0至B5网络的参数

1.3 迁移学习

随着机器学习应用领域的不断拓展,出现了基于大规模数据的学习算法,例如深度学习。然而,该类方法对大量训练数据的依赖性非常强,网络模型的规模和训练数据量级的大小呈线性关系, 需要大量的数据来理解数据的潜在模式,但是,数据收集及标注代价昂贵。因此,迁移学习作为机器学习中解决训练数据不足这一基本问题的重要工具,已在多个领域展开应用。迁移学习将知识从源域迁移到目标域,这对许多由于训练数据不足而难以改进的领域产生巨大的积极影响,源域即大规模数据集,目标域即小样本的数据集。不需要对目标域内的模型进行从零开始的训练,可以显著降低对目标域内训练数据和训练时间的需求。因此,针对小样本的迁移学习受到越来越多关注。目前,众多模型均使用迁移的策略进行训练。例如使用大规模图像数据集ImageNet对CNN模型进行训练,然后使用到小样本数据集中,使用GoogLeNet、AlexNet进行迁移学习来对织物花型进行分类[18],使用LeNet模型进行迁移学习来对图像美感进行分类[12]。这也体现CNN体系结构的另一个优势便是经过预训练的模型可以实现网络结构与参数信息的分离,所以只要网络结构一致,便可以利用已经训练好的权重参数构建并初始化模型,极大地节省了网络的训练时间。

常用的迁移学习的方法有4种:基于样本的迁移学习,基于模型的迁移学习,基于特征的迁移学习和基于关系的迁移学习。本文针对小样本织物疵点图像数据的训练任务,采用基于模型的迁移学习策略,通过共享源域和目标域参数实现迁移学习,在源域ImageNet数据集上预训练模型权重参数,在目标域TILDA小样本数据集上通过微调参数进行迁移学习,构建TILDA数据集的EfficientNets模型来实现织物疵点图像分类任务。迁移学习过程如图1所示。

图1 迁移学习过程

2 实验结果与分析

2.1 实验平台

提出的基于EfficientNets的织物疵点分类方法在TILDA织物疵点数据集的C1R3中进行验证。采用Python语言,基础配置CPU: Intel(R), Core(TM)i7-GTX1070 4.20 GHz; 内存12 GB,显存8 GB; 系统Ubuntu 16.04,为了加速训练过程,在实验过程中使用了GPU来加速,配置Cuda 8.0 Cudnn 6.0,Tensorflow 1.4.0,Keras 2.2.4。

2.2 数据预处理

本文使用的数据集是TILDA织物疵点数据集的C1R3,其中包含5类疵点,分别为飞来物、破洞、油污、纱疵、竹节。数据集总共包含250张图片,随机划分为训练集125张,每类25张,测试集125张,每类25张。每类示例图如图2所示。

图2 TILDA数据集中5类织物疵点

由于使用的数据集是小样本数据集,所以在使用卷积神经网络迁移学习过程中,对原本的数据集进行数据增强。本文采用的数据增强方法有左右翻转、旋转15°、高斯噪声(0.9)、椒盐噪声(0.9)和变暗(0.3),参数0.9表示噪声在图像中的占比,0.3表示图像像素矩阵值减小了70%,数据增强示意图如图3所示。将数据集扩增5倍,数据集总共包含1 500张图片,其中训练集750张,每类150张,测试集750张,每类150张。

图3 数据增强示意图

2.3 实验结果

2.3.1 参数设置 EfficientNet-B5模型的参数选择是使得模型的效率与准确率达到一个最优的效果,而不过分地占用资源、消耗资源,使得模型效率降低。为了得到模型最优参数,常使用准确率以及误差值来选择参数。当准确率和误差值同时趋于稳定时,说明模型迭代次数最优。本文设置批量大小为16,学习率为0.005。为了防止过拟合,设置丢弃函数的丢弃率为0.5,迭代训练100次,结果如图4所示。从图4可以看到当训练迭代为25时,准确率和误差值同时趋于稳定,没有消耗过多资源,使得模型达到最优。

(a)准确率曲线

2.3.2 性能测试 为了测试本文提出的EfficientNet-B5模型性能,本文采用4个常用的网络模型DenseNet201[19]、Inception_v3、Xception[20]、ResNeXt101[21]作为对比,从网络模型分类织物疵点图像的准确率、训练时间进行分析,结果见图5。从图5(a)可以看出DenseNet201、Inception_v3和Xception分类准确率相近分别是96.8%、97.1%和97.5%。从图5(b)训练时间上来看DenseNet201比Inception_v3、Xception网络模型花费的训练时间还要长。EfficientNet-B5、DenseNet201、Inception_v3、Xception、RsNeXt101网络模型的参数量分别为30.44×106、20.07×106、22.91×106、23.87×106、44.22×106,可以看出DenseNet201、Inception_v3、Xception网络模型的准确率和参数量成正比。DenseNet201是密集深度网络模型,而Inception_v3、Xception是使用深度可分离卷积的模型,这说明只增加网络模型的深度并不能使准确率得到很好的提升。Inception_v3、Xception和ResNeXt101相比较,ResNeXt101网络模型的准确率比较高,但是训练时间也较长。ResNeXt101除了采用Inception_v3和Xception的深度可分离卷积之外,还使用了组卷积来减少网络模型参数、增加网络模型宽度,所以最后结果比较好。ResNeXt101和EfficientNet-B5网络模型相比较,在时间上只相差1 min,但在准确率上EfficientNet-B5高出ResNeXt101网络模型1%,在网络模型参数上EfficientNet-B5模型也比ResNeXt101模型少31.1%的参数量,这很好地说明本文提出的网络模型比其他网络模型性能优越。

(a)网络模型准确率

2.3.3 精准率和召回率 模型的精准率P表示预测为正的样本中有多少是真正的正样本,召回率R表示样本中的正例有多少被预测正确了。PT表示预测为正样本,实际也为正样本的数量,PF表示预测为正样本,实际为负样本的数量,NT表示预测为负样本,实际也为负样本的数量,NF表示预测为负样本,实际为正样本的数量。

精准率和召回率的计算公式定义为

(4)

为了更详细地说明本文提出的网络模型的优势,采用了分类模型的评价指标精准率和召回率来详细分析每个模型的特点。模型精准率和召回率的结果如图6所示。

(a)精准率曲线图

从图6(a)可知对于破洞、竹节这2类的精准率都较高,这是因为破洞和竹节这2类疵点比较单一。5个网络模型对竹节这个比较单一的疵点表达能力都很好,精准率为100%,对于飞来物和破洞这2类,DenseNet201网络模型的结果较低,这说明深层网络模型不能很好地表达这2类疵点的特征,而EfficientNet-B5模型在这2类上精准率依旧为100%,这说明EfficientNet-B5网络模型比深层网络模型更能很好地表达疵点特征。对于纱疵和油污这2类具有多样性和背景复杂性的疵点来说,整体网络模型精准率下降。EfficientNet-B5网络模型在纱疵上的结果依旧是最优的,ResNeXt101网络模型是最差的,但是在油污上,EfficientNet-B5网络模型的精准率低于ResNeXt101,这说明扩展宽度模型能够能好地表达油污这类疵点,而EfficientNet-B5是混合系数网络模型。综上所述,EfficientNet-B5网络模型效果最优,由于它是混合系数网络模型,可以看作是宽度、深度、分辨率的多特征融合模型,所以结果比其他单特征模型(只是增加深度或者宽度的模型)好。

从图6(b)可知,对于油污、竹节的召回率,在EfficientNet-B5网络模型上都达到了100%,而竹节的召回率在5个网络模型上都达到了100%,同时也说明这类疵点的单一性。对于飞来物可以看到召回率的差别非常大,这就表示将负样本预测为正样本的非常多,说明模型对于具有类间相似性和类内差异性的图像特征表达能力欠缺。与其他模型相比,EfficientNet-B5网络模型对飞来物的召回率很高,说明EfficientNet-B5网络模型对于特征的表达能力较强。对于破洞和纱疵,EfficientNet-B5网络模型召回率较差,是因为EfficientNet-B5模型是混合系数模型,会对图像的分辨率有一个系数的增加,导致图像分变率图像清晰度下降,提取不到复杂纹理的有效信息。综上所述,从图中红色折线可以看出,EfficientNet-B5网络模型在召回率方面性能最优。

3 结 语

本文提出了一种基于EfficientNets的织物疵点图像分类方法,使用从ImageNet数据集上预训练好的模型权重迁移到织物疵点数据集上并进行微调,训练出自己的模型权重,再使用自己的权重去预测出测试集的图片类别,最终的结果取3次平均值,实验证明本文的方法与其他模型相比效果较好。从模型的准确率柱状图中可以明显看出,EfficientNet-B5模型的结果较好;从模型的精准率与召回率曲线可以看出,织物疵点具有复杂性、多样性、类内差异性以及类间相似性,纱疵和油污精准率较低。除了织物疵点本身的复杂性之外,说明不同的卷积神经网络模型对于特征表达能力不同,所以下一步的研究应该注重于提高卷积神经网络的特征表达能力,尝试采用多特征融合,多尺度等方法。

猜你喜欢
疵点织物准确率
无Sn-Pd活化法制备PANI/Cu导电织物
《丝绒织物》等103项纺织行业标准发布
基于Cascade RCNN 和二步聚类的织物疵点检测
《纺织品织物折痕回复角的测定》正式发布
基于总变差的织物疵点分割方法
竹纤维织物抗菌研究进展
喷丝板疵点检测系统设计
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析