冯一凡 师 昕 赵雪青
(西安工程大学计算机科学学院 西安 710048)
我国作为世界上最大的纺织产品生产贸易国家,纺织行业是我国现代经济中非常重要的一部分,但在纺织产品大量生产的现代社会,仍然存在大量的纺织产品疵点,不同程度的纺织产品疵点以及不同种类的纺织产品疵点,会对纺织产品造成不同的影响[1~2]。目前,纺织产品疵点的检测主要还是人工依靠视觉离线检测来完成的,该方法存在检测速度低,检测结果要依靠检验人员主观印象,导致检验结果误检率以及漏检率高等缺点[3]。
基于统计的方法,针对纺织产品疵点区域与正常区域的颜色统计上存在一定的差异性,对于纺织产品正常区域特征稳定且区域统一,而存在疵点现象的区域其特征变现在与正常区域存在误差,因此传统的基于统计方法的纺织产品疵点检测主要利用灰度共生矩阵,形态学处理等方法[4~6]。但由于纺织产品疵点存在的位置不确定,以及纺织产品纹理具有随机性,因此很难准确地使用统计方法对特征进行疵点检测,进行分类。基于频域分析的纺织产品疵点检测方法,主要是通过将纺织产品疵点图像从空间域转换为频域,在频域中对图像进行分析处理,常见的有是用数学方法的小波变换、Gabor变换、傅里叶变换等[7~9]。基于机器学习的纺织产品疵点检测方法[10~13],主要包含基于字典与基于深度学习的方法,字典学习是利用正常纺织产品图像块学习出字典集,进而通过稀疏矩阵重构正常纹理图像,根据正常图像与测试图像的统计进行分类;基于深度学习的方法,主要是利用深度卷积学习网络相应的参数以解决相对应的问题,但是基于深度学习的方法虽然在结果上有一定的优势,但是在模型训练过程中需要大量的数据集进行参数的训练,耗费大量的时间成本,并且在基于小样本数据时,准确率较低。
基于此,本文提出了基于迁移学习的纺织产品疵点分类方法,通过利用原始模型在ImageNet数据集[14]上进行预训练得到的参数,将其迁移到本文所使用的AlexNet模型中,进行实验,本文的结果不管是在准确率方向还是在时间方向,与传统的方法例如小波变换,人工神经网络以及基于机器学习的方法DenseNet[15]还是ResNet[16]或 者Xception[17]方法对比,都有一定的耗时、准确率优势。
在一些领域,如生物信息学,机器人技术,纺织产品识别技术,由于数据获取过程的困难以及获取价格昂贵,构建一个大规模数据集是一个困难的过程,这在很大程度上限制了其开发。
迁移学习的诞生,让小数据模型有了很大的发展,放宽了训练数据必须是独立的和同分布的假定,利用迁移学习的方法来解决训练数据不足的问题[18]。2010年Pan等[19]提出了迁移学习的概念,即利用现有领域的知识来提高目标领域解决训练数据稀缺和过拟合相关问题的能力。换句话说,将先前获取的知识用于学习未知知识,以避免对学习未知领域的巨大投资,从而减少过度的资源浪费。随着深度学习的发展,基于深度学习的迁移学习可分为基于映射的深度迁移学习[20]、基于实例的深度迁移学习[21~22]、基于对抗学习的深度迁移学习[23~25]以及基于网络的深度迁移学习[26~27]。迁移学习的网络模型的优点是数据依赖小、网络训练速度快、学习效率高。迁移学习是将在源域训练的模型参数迁移到新模型中,并应用到目标域,以帮助新模型的训练和求解。
如图1 所示,将AlexNet 卷积神经网络在大型数据集ImageNet上进行充分的训练,在ImageNet数据集上学习到图像分类识别所需要的大量特征知识,参数框架等信息迁移到AlexNet,应用在纺织产品疵点分类问题。本文使用的迁移方式是参数迁移,重新初始化网络中的部分层数,保留原有卷积层结构,并搭建新全连接层和归一化层,使用网络预训练好的权重参数,如表1 所示,应用在新数据集的分类过程中。本文提出的模型是基于AlexNet的迁移学习模型,应用在纺织产品疵点检测分类,简称FDAT 模型(fabric defect classification based on AlexNet using transfer learning)。相较于传统的分类识别方法,通过迁移学习的方法实现纺织产品疵点的分类识别,无需人工在数据中挖掘相关数据特征。通过ImageNet数据集上进行预训练的AlexNet网络,避免网络过拟合,或陷入局部最优解。
表1 FDAT模型网络参数
表2 参数设置
图1 迁移学习模型框架图
本文采用了TILDA纺织产品疵点数据集,如图2 所示,TILDA 数据集包含飞来物、破洞、纱疵、油污、竹节等五种类别的纺织产品疵点现象,每个类别包含50 张图像,每张图像的大小不一,共250 张图像,随即分80%为训练集,20%为测试集。为测试本文提出的FDAT 模型的性能,对比了DenseNet,ResNet,Xception,小波变换,人工神经网络等方法在不同评价指标下的实验结果。实验平台为Matlab R2019a,Intel Core,i7,CPU 2.60GHz。
图2 数据集
为了量化比较本文提出的方法与其他分类方法的性能。研究人员使用通用评估标准(准确率)来衡量模型的性能。P 是分类结果为正样本的数目,N 是分类结果为负样本的结果,为了计算该指数,使用真阳性(TP)、真阴性(TN)、假阳性(FP)和假阴性(FN)。Accuracy(准确率)表示所有样本中可以准确预测的百分比,描述了分类方法的整体性能。
为了提高模型准确率,缩短模型训练时间,减少资源消耗,本文提出模型的具体参数设置如下表1 所示。其中,Epoch 是指对所有图像进行完整的训练训练期间选择的数据集。Batch size 是指批次的数量样本,即每次发送到训练的图像数量。Learning rate决定着目标函数能否收敛到局部最小值以及何时收敛到最小值,代表了神经网络中随时间推移,信息累积的速度。
本文提出的FDAT 模型在TILDA 数据集上训练时的准确率曲线如图3 所示,准确率越高模型越准确,其中迭代次数在40 次时模型准确率稳定在98%;模型训练时的损失函数曲线如图4所示,损失值越低越好,其中迭代次数在40次后趋于0。
图3 FDAT模型的准确率曲线
图4 FDAT模型的损失函数曲线
本文提出的FDAT 模型在TILDA 数据集上训练时训练集和测试集的比例为8∶2,即每个类别包含10 张测试集图像,本文使用准确率以及时间两个评价指标来评价本文提出的FDAT 模型与DenseNet,ResNet,XceptionNet,小波变换,人工神经网络等方法的性能对比,如图5 所示,DenseNet准确率为96.00%,ResNet 准确率为98.00%,XceptionNet 准确率为96.00%,人工神经网络准确率为88.00%,小波变换准确率为94.00%,ResNet 准确率与本文提出的FDAT方法的准确率皆为98.00%,但是在时间维度上,相较于其他算法,本文提出方法在同等数据集下用时9min,本文提出的FDAT 算法在时间,准确率上与同等模型相比具有一定的优越性。模型测试的混淆矩阵结果如图6 所示,由于破洞与纱疵图像存在一定的相似性,在破洞的分类预测结果中,只有90%的正确率,有一张图像被预测为纱疵。但飞来物、纱疵、油污竹节的分类准确率均为100%,说明本文提出的FDAT 模型在准确率方面有一定的优越性。
图5 不同算法在TILDA数据集上的时间与准确率对比
图6 混淆矩阵结果
本文提出基于AlexNet迁移学习的纺织产品疵点分类方法,将在Image Net 上进行预训练好的AlexNet模型参数迁移到到数据量较小的目标数据集,保留原有卷积层结构并搭建新全连接层和归一化层对数据进行分类。训练集和测试集均使用TILDA 数据集,不同图像类别间疵点的差异较小,经过迁移学习后的FDAT 方法准确率高达98%且耗时较小,具有较强的普适性,并在时间维度相对于其他算法耗时较小。