基于卷积神经网络的棉花轧工质量分级系统研究

2021-07-01 23:10李晓慧曹仲庆陈智勇孙居娟黄鹏羽高万昌王宇昊张志峰
中国纤检 2021年6期
关键词:特征提取分类器棉花

文/李晓慧 曹仲庆 陈智勇 孙居娟 黄鹏羽 高万昌 王宇昊 张志峰

新的棉花质量检测标准GB 1103.1—2012中定义了轧工质量:籽棉经过加工后,皮棉外观形态粗糙及所含疵点种类的程度。轧工质量指标分成好、中、差3个级别,分别用P1、P2、P3表示。在影响棉花质量的诸多指标参数中,棉花轧工质量这一指标是目前仪器化公证检验工作中唯一依靠人工感官的指标。根据新国标的分档条件制作的实物标准是人工判定的主要依据。但技术人员人工进行轧工质量的等级判定,容易受人为因素影响,检测效率较低,人工成本较高[1]。

国内外学者提出了多种方法进行轧工质量等级的检测,张志峰等人提出基于光电检测技术的皮棉疵点快速检测方法的研究,检测准确率在87%到96%之间[2]。陈光亭使用了基于数字图像处理的棉花轧工质量分级识别算法,其识别准确率达92%[3]。肖春燕提出一种基于BP神经网络的皮棉轧工质量分级模型,总体分级准确率为97.5%[4]。几年来,由于卷积神经网络在分类识别领域的卓越表现和工业领域的大范围应用,逐渐成为主流的识别模型[5-6]。Laila Azizah等人使用卷积神经网络对山竹果表面质量进行了分类,平均准确率达到了97%,个别类比分类准确率达到了100%。Jing J F等人则是使用了卷积神经网络对纺织部的缺陷和疵点进行了检测,其检测准确率为97.31%。

本文首先配置了适用于深度学习的计算机硬件,制作用于训练的数据集,研究通过深度学习技术对棉花轧工质量进行快速准确的识别检测,搭建有效区分棉花质量等级的机器视觉系统,从而取代现有的人工检测的方法,提高检测效率,降低检测成本。本文中的棉花图像主要经过预处理,剪裁和VGG预训练网络算法的处理得到分级结果,其中图像裁剪和图像增强能够提高识别准确率和网络的泛化能力,同时分别使用特征提取(Feature extration)和微调(Fine-tuning)方法训练了棉花图片可以提高模型分类的准确率,并分析了不同方法的训练准确率和损失函数的变化曲线,以期选择更适用于棉花图像识别的方法,

1 系统设计原理

1.1 环境配置设计

本文基于卷积神经网络的棉花轧工质量分级系统是在以keras作为高级开发API,以Tensor flow深度学习框架为后端的环境下实现的。本文的系统开发所使用的计算机配置如表1所示。

表1 计算机硬件配置

1.2 算法设计

本文通过预训练模型完成对轧工质量的分级,使用特征提取法和微调法训练网络。预训练模型中选取VGGNet16作为卷积基,其中的权重参数为ImageNet中的参数。具体实施过程分为两种不同预训练网络使用方法实现等级分类。

VGGNet是通过反复堆叠3×3的小型卷积核和2×2的最大池化层,VGGNet构造了16至19层深的卷积神经网络。VGGNet相比之前的网络拥有最佳的网络结构,错误率大幅下降,并取得了ILSVRC 2014比赛分类项目的第2名和定位项目的第1名。同时VGGNet的拓展性很强,迁移到其他图片数据上的泛化性非常好。VGGNet的结构非常简洁,整个网络都使用了同样大小的卷积核尺寸(3×3)和最大池化尺寸(2×2)。其结构如图1。

图1 卷积神经网络结构

1.2.1 特征提取法(Feature extration)

特征提取的方法是使用之前训练好的网络提取感兴趣的特征,然后重新使用一个分类器训练这些特征。从前的介绍中可知,卷积网络分类有两个部分著称:

先是经过一系列的卷积和池化操作,最终使用一个密集连接的分类器。而特征提取便是由在训练好的网络上运行新的数据,只有在输出层构建训练一个新的分类器。第一步,从keras 库中导入不包含顶层的VGG16 网络。同时设置输入数据的维度大小。

第二步,将要训练的数据集导入,进行归一化处理,设置每批次训练图片的数量。

第三步,定义特征提取函数。通过特征提取函数,每批待训练的图像会输入到VGG 卷积基中进行特征提取。注意的是,从卷积基输出的数据是多维矩阵,而输入到分类器中的数据是一维的向量,因此之间需要进行数据维度的转换。

第四步,构建全连接的分类器,通常会在两层之间加入Dropout 正则化层,最后通过sigmoid 函数进行激活。将特征提取后的数据放入定义的顶层分类器中反复训练,直至精度和损失函数达到收敛稳定。在不采用数据增强的情况下进行网络训练

第五步,训练结果可以通过matplotlib 库绘制损失函数和准确率变化曲线。具体算法结构如图2所示。

图2 特征提取方法

1.2.2 微调法(Fine-tuning)

微调的方法,则是解冻部分的卷积基,通常解冻VGGNet16 的block5。之后将block5 的参数和分类器的参数同时进行训练,这是与特征提取方法冻住整个卷积基来训练分类器的方法不同的地方。

实现这种方法具体需要以下操作:(1)将分类器放置在已经训练好的基层神经网络之上;(2)冻住基层网络;(3)训练添加的分类器部分;(4)解冻部分基层神经网络;(5)将解冻部分和添加部分的网络同时训练。

2 试验过程及结果

2.1 数据集制作

试验所采用的数据均来自河南省纤维检验局所提供的由相关技术人员完成分类的轧棉,经过采样仪器采集制作成数据集,棉花图像采集系统如图3所示。

图3 棉花图像采集系统

所有等级的未裁剪的新疆棉图片共计3100张,其中P1棉220张、P2棉2800张、P3棉100张。由于实际生产和收购等原因,P2等级的轧棉数量居多,P1和P3棉相对较少。轧棉部分图片如图4。

图4 采集到的部分棉花图片

2.2 网络训练结果

2.2.1 方法对比

图5是两种方法的训练准确率和损失函数变化曲线,其中图(a)和图(b)是特征提取训练法(Feature extraction)的变化图。图(c)和图(d)是Fine-tuning的变化图。可以看出特征提取训练法的训练集的拟合精度可达到98%左右,但其验证集的精度却是停滞且有较大的波动,而验证集的损失函数更是波动上升,说明出现过拟合。最终准确率测试集准确率为70%。使用微调方法(Fine-tuning)训练集和验证集的准确率都在上升,损失函数则在下降,最终达到一个稳定值,测试集的正确率为88.19%。从结果来看,微调方法要好于特征提取方法。

图5 特征提取训练法和微调方法训练准确率和损失函数变化

2.2.2 图像裁剪对训练结果的影响

通过图片裁剪可以增加数据集数量,根据可视化分析,挡板会对试验结构有一定的影响和边缘残缺部分会对试验结果产生一定影响。因而对采集到的图片进行裁剪,提高分类准确率。裁剪前后图片对比如图6所示。

图6 剪裁图片效果

将裁剪后的图片从新制作训练集进行特征提取和微调方法的训练。其测试集准确率相比图像裁剪前分别提高了7.8%和2.53%。同时剪裁后的准确率波动范围大大减小,如图7所示,可以看出该操作能够提高训练结果的稳定性。

图7 裁剪后准确率和损失函数曲线

3 结论

本研究首先提出了一种基于卷积神经网络棉花质量等级分类方法。介绍了两种不同训练方法——特征提取法和微调法,制作了训练用的数据集。通过图像裁剪去除了冗余干扰信息。经过重复试验得出使用预训练模型可以大大提高网络的训练效率和分级的准确率。对比特征提取和微调两种训练方法,发现微调方法更适合用于棉花轧工质量的分类,并且通过对裁剪前后图像的数据集进行训练都取得了较高的分级准确率。总体识别准确率达到了85%以上,能够满足棉花轧工质量检测的要求。

猜你喜欢
特征提取分类器棉花
棉花是花吗?
棉花
基于Daubechies(dbN)的飞行器音频特征提取
BP-GA光照分类器在车道线识别中的应用
Bagging RCSP脑电特征提取算法
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
基于MED和循环域解调的多故障特征提取
心中的“棉花糖”
基于LLE降维和BP_Adaboost分类器的GIS局部放电模式识别