基于改进深度神经网络的纱管分类 下载: 822次
1 引言
纱管是纺纱厂大量使用的一种绕纱工具[1]。作业过程中,工人依据纱管本体颜色或形状的不同区分不同批号的纱线。实际生产中,作业环境光线暗、纱管颜色相近和人眼难以区分等因素会导致纱管分拣的出错率升高,从而造成纺织生产过程中生产残次布匹。为了避免这种情况,当前国内外纺织厂普遍做法都是依据纱管本体颜色或形状作为区分纱线种类的主要依据[2]。张帆等[3]对纱管图像进行色偏修正、滤波等预处理获取颜色信息,再利用模板匹配方法识别纱管。杨立志等[4]同样采用传统机器学习方法先对每幅图像进行HSV(Hue,Saturation,Value)颜色转换、滤波去噪等预处理,最后将色调及饱和度作为特征,利用支持向量机(SVM)作为分类器进行纱管最终分类。传统方法需对图像进行预处理,再对图像进行人工特征提取。这种做法的弊端是在整个过程中需要大量人为参与设计,并且特征提取需要设计人员具有丰富的经验。
近年来卷积神经网络(CNN)在图像识别分类领域取得了优秀表现,基于端到端的CNN具有逐层迭代和逐层抽象、全自动深度挖掘图像特征及表达能力强等特点。2012年AlexNet模型[5]在ILSVRC(ImageNet Large Scale Visual Recognition Challenge)比赛中获得冠军,重要的是其证明了CNN在复杂模型下的有效性。2014年VGG-16(Visual Geometry Group 16)模型[6]加深网络层数且在比赛中获得第二名,但其结构简单,易于理解,因此避免人工提取特征的复杂性和局限性,提升识别率。本文在AlexNet模型上参考VGG-16网络特性,对原有网络结构进行改进,并加入L2正则化和滑动平均等方法提升网络泛化能力,最后利用训练好的网络对纱管样本进行分类识别测试。
2 网络模型
2.1 卷积神经网络
1998年LeNet模型[7]对于手写数字识别的准确率达到99%,并且LeNet的实现也确立了CNN的结构。CNN主要有卷积层、池化层和全连接层3层主要结构。卷积层利用多个卷积核对图像进行卷积操作,提取抽象高级特征,具有权值共享特点,减少参数,再利用激活函数对卷积后的特征图进行非线性映射,输出图谱作为下一层输入。池化层又称为下采样层,主要操作包含最大池化和平均池化,该层主要作用是对卷积输出的图谱进行下采样操作,降低特征维度,选取部分像素点以达到减少参数,避免出现过拟合现象。在卷积层和池化层后连接全连接层,全连接层的作用是将二维图谱信息拉伸为一维特征向量,并使用Softmax或SVM等分类器进行分类。随着深度学习的迅速发展,越来越多的神经网络模型被提出,2014年Google公司提出的GoogleNet模型[8]为第一个版本,在这个模型中加入了inception模块,使得神经网络向更宽结构发展;2016年He等[9]提出ResNet(Residual Neural Network)因加入残差(residual)模块,使得网络达到152层,让神经网络向更深层次发展。在ResNet基础上,卓东等[10]和褚晶辉等[11]将迁移学习思想应用在短切毡缺陷分类和乳腺肿瘤诊断上,在一定程度上克服了小数据样本的过拟合现象,提高了识别率。
2.2 AlexNet模型
在AlexNet模型基础上,马永杰等[12]对其卷积层数量进行改进,应用于交通标志识别。陈清江等[13]对步长和卷积核大小进行改进,应用于图像融合领域。周天顺等[14]对网络层数进行削减,并用SVM代替原有的Softmax层,应用于遥感图像分类。马永杰等[15]又针对AlexNet模型使用多层特征融合并利用主成分分析法对所得高维特征进行降维,将其构成一个具有多属性的车辆特征向量,应用于车辆识别。因此实验选择结构相对简单且识别效果高效的AlexNet模型进行改进,该模型结构如
该网络模型输入大小为224 pixel×224 pixel的彩色图像,利用5个卷积层(Conv)来提取图像深层次特征,第1个卷积层有96个大小为11×11的卷积核,第2个卷积层有256个大小为5×5的卷积核,最后3个卷积层直接串联后再池化。3个池化层(pooling)均进行最大池化下采样操作,池化核大小均为3×3,步长为2。最后一个池化层后连接3个全连接层(FC),输出为1000分类。
3 网络模型的改进及优化
3.1 神经网络模型结构的选取
输入3D彩色图像,其对应的二维平面图尺寸为127 pixel×127 pixel,分析VGG-16结构和性能后,再针对AlexNet进行卷积和池化层调整,设计出4种识别网络模型,如
表 1. 基于AlexNet的4种网络结构
Table 1. Four kinds of network structures based on AlexNet
|
3.2 神经网络的优化
在AlexNet中使用了LRN(Local Response Normalization)层,但通过实际数据测试发现该层并没有起到很好作用,反而增加了训练时间,因此删除LRN层。
学习率表示每次参数更新的幅度大小。学习率过大会导致待优化参数在最小值附近波动,无法收敛,所以无法获得最优值。学习率过小会导致待优化参数收敛缓慢,造成训练过程时间过长。因此使用动态学习率l来完成参数更新,表达式为
式中:R为学习率初始值;D为学习率衰减率;S为当前记录的训练轮数;B为每次输入的数据量。
深度神经网络中每个卷积层输出后都需要使用激活函数,激活函数的作用是给神经元引入非线性因素,使得神经网络可任意逼近非线性函数,提高模型表达能力。现主流的激活函数主要有Sigmoid、Tanh和ReLU。前两种函数会随着神经网络深度的增加,梯度消失,造成无法训练的结果,因此,现阶段几乎所有深度学习使用的激活函数都是ReLU函数,函数图像如
式中:a为一个很小的正数,可设置为0.05。当x<0时,ReLU函数值为0,但L_ReLU为一个很小的梯度值。
深度神经网络的参数太多,学习的特征太过于细致,产生过拟合现象,使得识别结果在训练数据集上表现很好,但在测试集上表现很差。接下来针对过拟合情况对神经网络再优化。正则化是一种防止过拟合提高泛化能力的优化方法,主要包括L1和L2正则化。在神经网络中使用L2正则化,表达式为
式中:w为权重,‖w
式中:E(w)为训练样本的原始损失函数。加入正则化后的损失函数在训练过程中, w值不会太大(比如噪声),使网络更倾向于学习偏小的权重,提高泛化性。
除了加入L2正则化还使用滑动平均策略,防止过拟合。使用梯度下降算法训练模型时,每次更新权重时,为每个权重维护一个影子变量,该变量随着训练的进行,会稳定在一个接近真实权重值的附近。进行预测时,使用影子变量值代替真实变量值,该操作可提高模型在测试数据上的健壮性。滑动平均值s'为
式中:s'的初值设为0;v为影子变量初值;
4 实验结果与分析
4.1 数据集
由于目前没有纱管样本数据库,根据实际工业生产情况,选取了最常见的8种纱管进行模拟,采用工业相机对无残纱及有不同量残纱的纱管分别进行不同角度拍摄,每种型号拍摄30张图像,再对每张原图进行垂直和水平镜像翻转、添加高斯噪声和椒盐噪声、不同角度旋转及高斯模糊等处理,以此来扩充数据集。最终每张图像扩充到15张,所以每一种纱管共450张图像,一共3600张纱管数据集图像。部分样本如
4.2 实验平台及流程
为对提出的神经网络模型进行纱管分类性能评估,进行了大量对比实验。实验中选取的纱管样本,包括黑色、蓝色、紫色、绿色、墨绿色、橙色、黄色和棕色共8种类型纱管,共3600张图像。实验在Window 10系统、16 G内存、Intel i7-7700K、英伟达GTX1080显卡配置下,使用Python3.5,在TensorFlow1.12深度学习平台上进行实验。神经网络训练流程如
图 3. 数据集样本。(a)(b)黑色;(c)(d)黄色;(e)(f)绿色;(g)(h)棕色;(i)(j)墨绿;(k)(l)橙色;(m)(n)蓝色;(o)(p)紫色
Fig. 3. Dataset samples. (a)(b) Black; (c)(d) yellow; (e)(f) green; (g)(h) brown; (i)(j) blackish green; (k)(l) orange; (m)(n) blue; (o)(p) purple
4.3 实验结果及分析
利用纱管样本的训练集经
表 2. 4种网络性能表现
Table 2. Four kinds of network performance
|
对比网络I和网络II,在卷积操作上将全部卷积层替换成3×3小卷积核的分类性能相比于5×5的大卷积核有所提升,因为在相同感受野下,小卷积核得到更少的参数和更强的非线性变换,所以提取特征能力更强。网络I和网络III对比验证了当池化核尺寸大于步长时,产生的重叠池化可提升泛化能力;网络I和网络IV相比,增加层数也就增加模型的复杂度,样本量不够大时,过深网络反而会使分类性能降低。经性能测试分析后,最终选取网络I模型结构的卷积池化层。原网络有3个全连接层,其中2个全连接层的神经元都是4096个,结构一模一样,因此设计模型结构时去除一层全连接层,只用2个全连接层,最终设计网络框架结构和参数分别如
表 3. 改进的AlexNet模型参数
Table 3. Improved AlexNet model parameters
|
为了验证在改进网络模型结构后加入L2正则化和滑动平均,及新的激活函数L_ReLU是否有效防止过拟合,先将原AlexNet模型与未加入防过拟合算法改进后的网络模型和加入L2正则化等技巧改进后的网络模型进行对比实验。实验在测试集中随机选取150张样本,使用训练集训练好的网络直接输入进行测试。将实验结果与人工判断的正确结果进行比较,得到测试错误量及错误率,如
从
表 4. 优化技巧对模型的影响
Table 4. Impact of optimization techniques on model
|
为了进一步验证数据集的数量在设计的神经网络上对分类精度的具体影响,依旧采用上述实验过程,不同的是输入的数据集分别采用2500张、3000张和3600张三种规模的数据量去训练网络。用同一测试样本进行评估,每50次记录一个点,最终测试分类精度如
从
因为神经网络架构参照AlexNet模型,并在其基础上针对所作的纱管数据集进行改进。所以与AlexNet模型作对比,使用数据集进行测试对比实验。先针对同一样本分别作出AlexNet模型和改进后模型的第1,3,5个卷积层的部分卷积特征图,如
图 7. 卷积特征图。AlexNet模型的(a)第1层特征图,(b)第3层特征图,(c)第5层特征图;改进模型的(d)第1层特征图,(e)第3层特征图,(f)第5层特征图
Fig. 7. Convolution feature map. AlexNet model (a) layer 1 feature map, (b) layer 3 feature map, (c) layer 5 feature map; improved model (d) layer 1 feature map, (e) layer 3 feature map, (f) layer 5 feature map
由
训练和测试过程中,可通过绘制精度和损失曲线直观地看到网络性能,如
在两个神经网络模型上利用纱管数据集迭代2000周期后,损失值和识别率都趋于稳定状态。由
图 8. AlexNet模型的准确率和损失曲线。(a)训练和测试准确率;(b)损失值曲线
Fig. 8. Accuracy and loss curves of AlexNet model. (a) Training and test accuracy; (b) loss curve
图 9. 改进模型的准确率和损失曲线。(a)训练和测试准确率;(b)损失值
Fig. 9. Accuracy and loss curves of improved model. (a) Training and test accuracy; (b) loss curve
为了客观验证改进神经网络模型的性能,分别将其与文献[
4]的SVM,文献[
7]改进的AlexNet模型及AlexNet,VGG-16网络模型进行对比,结果如
表 5. 不同方法识别性能对比
Table 5. Comparison of recognition performance of different methods
|
5 结论
设计改进的AlexNet模型实现了对纱管图像的分类,神经网络自动提取深层次抽象特征弥补人工提取特征的不足。对比实验可以看到改进后的网络模型不仅学习时间短,而且在训练集和测试集都取得良好的识别率。虽AlexNet和VGG-16网络在训练集上准确率很高,但在测试准确率上所提方法却提升超过20个百分点,这是由于过深、过复杂的神经网络在实际生产中,在纱管数据集上提取特征时学习过于精细,甚至将一些噪声当作纱管特征,从而产生过拟合现象。对模型结构进行简化,使用更少的层数和更小的卷积核,并针对过拟合进行滑动平均,正则化优化,实验结果验证所提方法的优越性。虽改进的神经网络模型在测试集上的识别率高于其他方法,但仍有提升空间,下一步工作是继续扩充数据集,增加迭代次数,从而提升识别率。
[1] 姬建正, 刘建立, 高卫东, 等. 基于数字图像处理的纱线线密度测量[J]. 纺织学报, 2011, 32(10): 42-46.
Ji J Z, Liu J L, Gao W D, et al. Measurement of yarn linear density based on digital image processing[J]. Journal of Textile Research, 2011, 32(10): 42-46.
[2] Ozkaya Y A. Digital image processing and illumination techniques for yarn characterization[J]. Journal of Electronic Imaging, 2005, 14(2): 023001.
[3] 张帆, 张团善, 冀永乐, 等. 基于机器视觉的纺纱管颜色分拣算法研究[J]. 西安工程大学学报, 2018, 32(5): 560-566.
Zhang F, Zhang T S, Ji Y L, et al. Research on color sorting algorithm of spinning tube based on machine vision[J]. Journal of Xi'an Polytechnic University, 2018, 32(5): 560-566.
[4] 杨立志, 周方颖. 基于机器视觉的毛纱管聚类方法[J]. 毛纺科技, 2017, 45(8): 85-88.
Yang L Z, Zhou F Y. Clustering method for bobbin based on machine vision[J]. Wool Textile Journal, 2017, 45(8): 85-88.
[5] KrizhevskyA, SutskeverI, Hinton GE. Imagenet classification with deep convolutional neural networks[C]∥Advances in neural information processing systems, December 3-6, 2012, Lake Tahoe, Nevada, United States. New York: Curran Associates, 2012: 1097- 1105.
[6] SimonyanK, Zisserman A. Very deep convolutional networks for large-scale image recognition[EB/OL]. ( 2015-04-10)[2019-08-09]. https:∥arxiv.xilesou.top/abs/1409. 1556.
[7] LeCun Y, Bottou L, Bengio Y, et al. Gradient-based learning applied todocument recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324.
[8] SzegedyC, LiuW, JiaY, et al. Going deeper with convolutions[C]∥Proceedings of the IEEE conference on computer vision and pattern recognition, June 20-25, 2015, Miami, FL, USA. New York: IEEE, 2015: 1- 9.
[9] HeK, ZhangX, RenS, et al. Deep residual learning for image recognition[C]∥Proceedings of the IEEE conference on computer vision and pattern recognition, December 10-14, 2015, San Diego, USA. New York: IEEE, 2016: 770- 778.
[10] 卓东, 景军锋, 张缓缓, 等. 基于卷积神经网络的短切毡缺陷分类[J]. 激光与光电子学进展, 2019, 56(10): 101009.
[11] 褚晶辉, 吴泽蕤, 吕卫, 等. 基于迁移学习和深度卷积神经网络的乳腺肿瘤诊断系统[J]. 激光与光电子学进展, 2018, 55(8): 081001.
[12] 马永杰, 李雪燕, 宋晓凤. 基于改进深度卷积神经网络的交通标志识别[J]. 激光与光电子学进展, 2018, 55(12): 121009.
[13] 陈清江, 李毅, 柴昱洲. 一种基于深度学习的多聚焦图像融合算法[J]. 激光与光电子学进展, 2018, 55(7): 071015.
[14] 周天顺, 党鹏飞, 谢辉. 基于改进的AlexNet网络模型的遥感图像分类方法研究[J]. 北京测绘, 2018, 32(11): 1263-1266.
Zhou T S, Dang P F, Xie H. Research on remote sensing image classification based on improved AlexNet network model[J]. Beijing Surveying and Mapping, 2018, 32(11): 1263-1266.
[15] 马永杰, 马芸婷, 陈佳辉. 结合卷积神经网络多层特征和支持向量机的车辆识别[J]. 激光与光电子学进展, 2019, 56(14): 141001.
[16] He KM, Zhang XY, Ren SQ, et al. Delving deep into rectifiers: surpassing human-level performance on ImageNet classification[C]∥2015 IEEE International Conference on Computer Vision (ICCV), December 7-13, 2015, Santiago, Chile. New York: IEEE, 2015: 1026- 1034.
Article Outline
徐健, 吴曙培, 刘秀平. 基于改进深度神经网络的纱管分类[J]. 激光与光电子学进展, 2020, 57(10): 101014. Jian Xu, Shupei Wu, Xiuping Liu. Classification of Bobbins Based on Improved Deep Neural Network[J]. Laser & Optoelectronics Progress, 2020, 57(10): 101014.