基于改进AlexNet模型的抓毛织物质量检测方法
2022-07-18金守峰侯一泽李宇涛
金守峰,侯一泽,焦 航,张 鹏,李宇涛
(1.西安工程大学 机电工程学院,陕西 西安 710600;2.西安工程大学 西安市现代智能纺织装备重点实验室,陕西 西安 710600)
在织物表面进行抓毛工艺处理,抓毛后织物表面绒毛的长度和形态较为复杂。不合格抓毛织物的表面特征表现为绒毛厚度不致密且分布不均匀的特征,此种织物表面不能满足外观以及舒适性要求。由于抓毛织物表面的纹理特征、形态特征复杂,不同特征需要不同的算法提取,传统人工特征提取算法计算复杂已不能满足在光照不匀等影响因素下对抓毛织物的特征提取[1-2]。目前对抓毛织物绒毛质量的检测主要是通过有经验的工艺人员视觉判断和触觉判断的方法实现的,大量的视觉检测工作易导致疲劳、漏检以及工作效率不高等问题[3-4],因此,研究一种能够有效提取特征的算法自动提取具有分辨力的抓毛织物特征,具有较高准确率的分类模型显得尤为重要,对于实现高效、准确、无接触的抓毛织物检测具有重要意义。
传统的织物检测方法通过人工设计的织物特征提取方法来获取织物特征,然后将提取到的织物特征经过一系列的转化分解,判定出织物的疵点,研究人员在优秀特征的提取方法上取得了许多成果。汪亚明等[5]根据织物绒毛与织物不平整会引起不同的高低频噪声,通过Gabor滤波去除织物纹理噪声,最后得到织物起球的分割图。夏雨薇等[6]通过提取织物图像的纹理特征以及局部目标形状特征,通过PCA数据降维得到织物特征,最后通过K-近邻、决策树等多分类方法,最终得到96.8%的分类结果。然而,上述人工提取到的织物特征计算量大,提取算法复杂,且无法获得具有较高分辨力的优秀特征,往往只适用于特定光照背景下的识别检测,织物图像在明暗不均情况下容易受到干扰影响检测准确率。
相对于传统的机器学习方法,卷积神经网络方法在特征提取技术领域具有巨大的优越性[7]。王理顺等[8]基于GoogLeNet网络架构,利用人工标注的不同种类织物图片构建织物缺陷数据库,以卷积神经网络模型进行分类训练、测试,得到较高的检测正确率。张家玮[9]采用深度支持向量数据描述(deep support vector data description,Deep SVDD)对织物表面缺陷进行分类检测,以正常样本数据集进行训练,具有一定的分类精度和模型准确率,但是模型训练时间较长、硬件配置高。金守峰等[10]采用Freeman链码方法提取绒毛织物表面特征信息,并作为BP神经网络的输入进行模型训练,准确率为93.02%,但是该方法在进行Freeman链码提取绒毛的特征时,对绒毛的细微信息提取误差较大。
由于卷积神经网络需要大量的训练样本学习提取图像特征的能力[11-12],迁移学习在ImageNet数据集上经训练具有了较好的特征提取能力,可以减小网络模型训练所需的样本数量[13-14]。针对抓毛织物表面特征难以提取且识别准确率低的问题,本文采用在ImageNet数据集上预训练的模型,对抓毛织物图像进行数据增强,在AlexNet模型的基础上,设计全连接层模块,采用SGDM、RMSProp和Adam 3种优化算法进行全新学习和迁移学习的训练,并利用卷积神经网络的不同深度池化层提取抓毛织物特征作为输入,拟合SVM分类器对输入的抓毛织物图像进行分类,实现对抓毛织物质量检测。
1 卷积神经网络构建
1.1 抓毛织物图像数据集
用帧率为45帧/s、焦距为10 mm的工业相机采集了如图1所示的抓毛织物图像数据。图1(a) 为绒毛厚度分布均匀且致密的合格抓毛图像1 000张,图1(b)~(f)为5种不同颜色的不合格抓毛图像各1 000张,其中表面存在绒毛分布不均匀、稀疏及长度不一等特征。实验采集抓毛织物图像样本共计6 000张,将采集的图像80%用于训练集,20%用于测试集。
图1 抓毛图像示例Fig.1 Example of scratching image.(a) Wool catching fabric A;(b) Wool catching fabric B;(c) Wool catching fabric C;(d) Wool catching fabric D;(e) Wool catching fabric E;(f) Wool catching fabric F
1.2 数据扩充
由于原始采集的抓毛织物不合格数据集占比较小,为了扩充不合格抓毛图像,获得更多的训练图像,本文将训练图像在[-90°,90°]范围内进行随机旋转,在[1,2]范围内进行随机缩放以及加入噪声等操作,得到了用于训练的抓毛图像数据集共计 14 400 张。由于AlexNet网络模型要求输入固定维度,将抓毛图像的尺寸统一转化为227像素×227像素的样本,数据扩充如图2所示。
图2 数据扩充Fig.2 Data expansion.(a) Original drawing;(b) Image scaling;(c) Noise image
1.3 模型构建
本文使用改进AlexNet模型进行迁移学习,AlexNet包括输入层、卷积层、池化层、全连接层和输出层共25层,激活函数采用线性整流单元(rectified linear units,ReLU)位于每个卷积层与全连接层之后,其中有3层池化层采用最大池化以对神经元压缩来提高模型运算效率,除池化层之外的所有参数信息如表1所示。
表1 AlexNet网络参数表Tab. AlexNet network parameter table
由于本文采集了6类抓毛织物图像,故将FCL8的神经元个数修改为6,为了减少模型计算量与模型大小,同时在一定程度上提高模型的泛化能力,将全连接层FCL6神经元个数修改为1 000,并将原始全连接层FCL7进行删除,最后将经过扩充的抓毛数据集进行网络训练,利用不同优化算法完成CNN模型训练,结合的改进模型(见图3)与流程图(见图4),在保持卷积层、池化层参数不变的情况下,将训练输出的一维特征向量作为支持向量机(SVM)的输入参数,用于6种抓毛织物的分类。
图3 改进模型示意图Fig.3 Schematic diagram of improved model
图4 迁移学习用于抓毛织物识别流程图Fig.4 Flow chart of wool catching fabric recognition method
1.4 CNN织物特征提取
卷积神经网络是通过提取特征对图像进行分类,网络在训练过程中自行学习这些特征,可以将学习的特征进行可视化[15-17]。网络的每一层卷积层输出多个三维数组,将这些三维数组整体称作为特征图,而特征图是由不同卷积核卷积运算得到的二维数据堆叠在一起组成,每个数组对应于输入的过滤器,全连接层输出的通道对应于较浅层学习特征的高级组合。AlexNet网络中有5个卷积层,随着网络卷积层数的增加,相应的卷积层的感受野在不断增大,从开始阶段学习较小的低级特征,到终端的卷积层较大感受野时学习更高级的特征。将数据及可视化处理后的结果称为激活映射图,激活映射图的计算公式为
(1)
(2)
全连接层FCL6神经元个数修改为1 000,并将原始全连接层FCL7进行删除,最后将经过扩充的抓毛网络提取不同类型的抓毛织物图像,本文将输入抓毛织物图像进行卷积层特征可视化处理,图5示出卷积神经网络AlexNet的CL2层提取的6类抓毛织物图像特征。由图5可知卷积神经网络提取前后的致密均匀的抓毛织物表面特征与稀疏不均匀的抓毛织物表面特征有明显区别。
注:样品1#~5#为5类稀疏不均匀类型织物的原图和特征图。图5 抓毛织物图像在AlexNet网络CL2层的特征图Fig.5 Fleece fabric image outputs feature image in the CL2 layer of the AlexNet network.(a)Compact uniformity of original image;(b)Compact uniformity of feature image;(c)Sparse and uneven of original image;(d)Sparse and uneven of feature image
为进一步探究卷积获得抓毛织物的特征情况,选取致密均匀的抓毛织物进行表面卷积层可视化处理,结果如图6所示。可知从第1层到第5层的卷积过程,AlexNet模型学习的特征从整体到局部逐渐细化,网络经过一系列的特征提取和高度抽象化处理,将抓毛织物的热点区域保留、图像特征平滑清晰、对比度较大。提取的特征更加细微,而较浅层中的通道只能学习到抓毛织物的纹理、形状等简单特征。因此本文改进AlexNet模型能够提取到更为复杂的抓毛织物表面的绒毛细微图像信息,进行特征的描述。
图6 卷积层特征可视化Fig.6 Visualization of convolution layer features
2 实验分析
2.1 实验环境及参数设定
由于深度神经网络训练对硬件配置的要求更高,为了进行有效的实验,本文采用了GTX1060、6 G显存的配置,MatLab语言搭建MatLab R2021a及CUDA环境,通过GPU进行训练以加快数据的运算,提高实验效率。
综合考虑硬件设备的性能以及训练效果,实验设置MiniBatchSize为32(即每批次训练采用32张图片),动量参数设置为0.9,学习率作为影响模型的一个重要参数,设置过小会降低模型的收敛速度,使得模型的训练时间增加,设置过大的会引起损失函数值梯度爆炸,破坏迁移学习中预训练的权重信息,使得迁移学习失去意义,因此通过分别设置LearnRate为0.000 1与0.001进一步实验。
2.2 模型评价标准
本文通过使用预测准确率、过拟合率以及模型训练时间综合评判模型在抓毛织物上的分类能力和泛化能力[18-19],预测准确率P1用的公式为
(3)
式中:nT表示用于验证模型的测试样本集数量;mTA表示测试样本集中分类准确的样本数量。
过拟合率O1可表示为
(4)
式中:T1为训练准确率,%;T2为测试准确率,%。
2.3 实验结果及分析
为了验证提出模型对抓毛织物检测的有效性,本文在相同实验条件下采用分类对比的实验方法对网络性能进行评估,通过多次实验测试发现,若训练收敛,则迭代训练700次后的训练准确率变化范围在1个百分点以内,损失函数变化范围在0.01以内。因此将所有模型总训练迭代次数均设置为 800次,每迭代20次记录一次训练集与测试集上的准确率,对实验数据进行评估并保存如表2所示。
表2 不同模型检测结果Tab.1 Recognition results by different models
为了比较卷积神经网络不同层提取的特征对分类效果的影响,抽取了迁移学习算法经过SGDM训练的AlexNet模型的pool1、pool2、pool3、pool4、pool5层的特征,分别用于拟合SVM的分类,各层分类成功率的对比结果如图7所示。
图7 采用不同层特征的分类成功率对比Fig.7 Comparison of classification success rates using different layer features
由图7可知,随着卷积层的层数增高,抓毛织物表面特征越来越明显,抽取的特征越抽象,用于分类检测的效果越好。
2.3.1 优化算法对模型的影响
不同的优化算法对于模型训练中参数的更新有着重要影响,选择合适的优化算法可以使模型的输出参数达到最优。由表2可知,SGDM优化算法较RMSProp、Adam优化算法有着更高的预测准确率和较快的收敛速度。SGDM优化算法在每次选取部分抓毛织物样本数据进行训练的同时,引入了动量因子更新模型参数,因此在训练速度及预测准确率上优于RMSProp、Adam两种算法,因此,本文模型以SGDM作为优化算法更新模型。
2.3.2 数据增强对模型的影响
在其他参数和网络结构相同的实验条件下,为了验证原始数据集和扩充后数据集对模型的影响,本文在基于SGDM优化算法进行迁移学习并采用相同的学习率0.000 1,对原始数据集和扩充后数据集进行训练,结果如图8所示。由图可知,扩充后数据集的测试准确率比未扩充的原始数据集的测试准确率高,表明数据扩充能够增加数据的多样性,有效避免了训练过程中出现过拟合现象。此外,原始数据在训练过程中,训练准确率很容易出现波动,造成训练曲线不稳定;扩充后数据在训练过程中的准确率曲线比较平缓,波动小。由于训练数据的增加,学习抓毛织物表面特征类型更加详细,使得训练准确率更加稳定、波动平缓,能够有效提高模型的鲁棒性。
图8 数据增强对模型影响Fig.8 Impact of data enhancement on model
2.3.3 迁移学习对模型的影响
为研究迁移学习在抓毛织物图像数据增强情况下的泛化能力,基于SGDM优化算法,以学习率为0.000 1进行训练,对比结果如表3所示,准确率如图9所示。由图可知,数据集经过图像数据扩充后,增加了数据的多样性,全新学习与迁移学习的准确率均有所提高。但是全新学习收敛速度最慢,且具有较大的波动在一定时间内很难适应数据扩充带来的数据多样性;迁移学习的收敛速度比全新学习快,表明迁移学习缩短了网络收敛时间。
表3 学习方式对比结果Tab.2 Comparison and recognition results of learning styles
图9 不同学习方式对模型的影响Fig.9 Influence of different learning methods on model
3 结 论
本文以抓毛织物为研究对象,采用深度学习的方法对合格抓毛织物与5种不合格抓毛织物进行质量检测,得到如下主要结论。
1)以卷积神经网络对抓毛织物进行特征提取,能够自动提取具有高分辨力的优质特征。
2)SGDM优化算法在训练速度以及预测准确率上较其他优化算法而言有所优势,SGDM优化算法更新网络可以提高网络的分类性能,扩充后的抓毛织物图像数据集可以提高模型的识别率,获得性能良好的网络模型,有效提高模型的鲁棒性。
3)与AlexNet全新学习相比,本文采用迁移学习缩短网络收敛时间,提升了模型的识别性能,在抓毛织物质量检测方面具有较高的准确率。
4)基于改进AlexNet模型的pool5层提取抓毛织物特征拟合SVM分类器,对织物的识别准确率明显提高。
FZXB