APP下载

一种基于卷积神经网络参数优化棉花等级分类算法

2021-01-05

中国纤检 2020年12期
关键词:正确率棉花卷积

棉花是我国重要农产品之一,全国棉花种植面积有5000万亩左右,每年产出600万吨左右棉花。而棉花的等级分类是棉花收购前的一个重要环节,目前我国对于棉花的分类仍主要采用人工分类的方法,但这种方式容易产生一系列问题,并且由于人工检测的误差容易导致棉农与收购商之间产生利益纠纷。随着机器视觉技术不断发展,越来越多的问题应用机器视觉技术得以解决。肖春燕[1]提出了一种皮棉轧工质量分级模型,将BP神经网络技术应用在了棉花的等级分类当中,通过SPSS Modeler软件建立神经网络模型对棉花质量等级进行分级,有效提高轧工质量分级效果,减少人工误差。但是该模型只能对二级白棉进行分类,并且BP神经网络模型的初始网络权重对模型的影响非常大,以不同的权重初始化网络往往会产生不同的训练结果,从而产生较大误差。

近年来,基于卷积神经网络的深度学习模型由于其较强的图像分类能力而被广泛地应用于农业领域的各种问题中,如植物病害识别、水果分类、农作物品级分类等。Lu 等人[2]提出了一种基于深度学习技术的水稻病害识别方法,用于识别10种常见的水稻病害,通过引入迁移学习对预先训练好的深度学习网络进行微调来提高模型的学习效率,提高了收敛速度和识别精度。王士鑫[3]等人提出了一种基于卷积神经网络的烟叶分级系统,通过使用卷积神经网络中的InceptionV3模型并结合迁移学习来实现对烟叶等级的分类。

本文提出了一种基于卷积神经网络的棉花等级分类算法。通过搭建卷积神经网络中的VGG16模型并结合迁移学习对预训练好的模型进行微调,运用图像增强来提高图像的训练效率,采用批量梯度下降法对模型进行多次训练并调节模型的超参数得到了最佳的分类精度,提高了棉花的分类效率。

1 图像处理神经网络模型

1.1 卷积神经网络

作为深度学习的代表算法,卷积神经网络[4-10]具有表征学习能力,即能够从输入信息中提取高阶特征。具体地,卷积神经网络中的卷积层和池化层能够响应输入特征的平移不变性,即能够识别位于空间不同位置的相近特征。能够提取平移不变特征是卷积神经网络在计算机视觉问题中得到应用的原因之一。卷积神经网络中的隐含层卷积核参数共享和层间连接稀疏性的特点,可以减少参数数量,使运算变得简洁、高效,因此被广泛应用于计算机视觉和语音识别等各个领域。

VGGNet[10-15]由牛津大学的视觉几何组和Google Deep-Mind公司的研究员共同提出,在ILSVRC-2014中获得定位任务第一名和分类任务第二名。VGGNet 通过反复堆叠3×3 的小型卷积核和2×2 的最大池化层,在增加网络模型深度的同时使模型的参数数量并没有增加很多,因此VGG的网络模型非常简洁,并且对其他数据集具有较好的泛化能力,图1为VGG16的原理图。

图1 VGG16原理图

1.2 图像处理流程

本文所采用的棉花样本均为由河南省纤维检验局提供的新疆棉,并由相关技术人员根据GB 1103.1—2012的棉花质量检测标准将这些棉花分为好、中、差3个等级。通过我们自主研发的棉花图像采集装置对这些棉花进行图像采集。采集得到的图像分辨率为1200×1500,输出的文件格式为JPEG。部分采集的原始棉花图像如图2。由于原始图像中间存在异物,可能会导致训练过程中产生误差降低训练效率。因此我们对原始图像进行了进一步的处理将原始图像分割为两份,切去中间的异物。对所采集的3个等级图像进行整合汇总,用P1、P2、P3来代替好、中、差3个等级,总共样本数量6200个,其中P1等级400个、P2等级5600个、P3等级200个。

图2 不同等级棉花采集样本图像

本文选用keras深度学习框架来实现对VGG16网络模型的搭建,首先从keras函数库中导入不含顶层的VGG16网络,将已经训练好的模型权重参数导入模型当中进行迁移学习。在开始训练模型之前首先对图像数据进行预处理,由于原始数据集图像数量较少,容易产生过拟合,通过平移、转置、镜像、旋转、缩放等几何变换对采集的图像进行处理,来增加原始数据集的数量,可以有效地避免过拟合现象的产生提高训练效率。

1.3 神经网络模型的训练

1)首先选用交叉熵函数[15-22]作为模型的损失函数,具体表示为公式(1):

其中L为交叉熵损失函数值,Y为实际输出,F(x)为期望输出。

2)向网络模型末尾添加softmax分类器[23-26],将VGG16提取的图片特征值输入到分类器当中可以得到棉花等级的概率值,方便每次训练结束后直观地得到分类精确度。

3)使用迁移学习进行训练模型时,由于模型已经在数据集上收敛过,采用较低的学习率可以有效地防止训练过程中目标函数损失值的震荡,提高模型的分类精度。因此本文采用了0.0005的低学习率来对模型进行训练。

4)在优化算法上本文采用小批量梯度下降法来对数据集进行迭代,每次迭代使用batch-size个样本。假设线性回归函数为公式(2):

其中i=1,2,……,m表示样本数。

对应的目标函数即为公式(3):

则其每次迭代对参数进行更新表示为公式(4):

通过小批量梯度下降法可以有效地提高内存的利用率,降低训练震荡,提高精确度。

2 结果与分析

对采集的3种等级新疆棉5600张图像进行训练,首先在epochs=20的情况下,即对数据迭代20次,得到不同批尺寸batch-size下识别正确率,如图3所示。

图3 批尺寸和识别正确率关系图

从图4中可以看出模型分类的正确率随着batch-size的增大,在batch-size=600时达到极大值。因此在后续的训练中,batch-size的值选取为600。

在确定好最佳的bitch-size后开始对最佳的轮次数参数进行分析研究,通过大量重复试验得到了关系如图4,可以看出在轮次数为760时得到了最佳的分类正确率0.85。之后再增大轮次数,模型出现了较为明显的过拟合现象,正确率的值并不再增加并且开始随着轮次数的增加而明显下降。

图4 轮次数和识别正确率关系图

确定超参数值bitch-size=600, 轮次数=760对模型进行训练,将模型训练结果进行仿真试验测试,对已经人工分类完成的棉花进行分类测试,不同等级的棉花得到的分类正确率如表1所示。

表1 不同等级棉花的分类正确率

3 结论

本文提出了一种基于VGG16卷积神经网络模型的棉花等级分类的算法,通过搭建VGG16神经网络模型,将预处理后的图像输入到模型当中,选择交叉熵categoricalcrossentropyloss作为损失函数,使用小批量梯度下降法对模型进行优化,通过不断的重复训练使模型达到最优,实际仿真测试结果可知,模型对P2等级的棉花识别准确率最高,整体识别准确率约为85.09%。本文的棉花分级方法能够快速的对棉花等级进行分类,为棉花等级的分类提供一种新的方法和思路。

猜你喜欢

正确率棉花卷积
棉花是花吗?
基于3D-Winograd的快速卷积算法设计及FPGA实现
门诊分诊服务态度与正确率对护患关系的影响
棉花
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
生意
品管圈活动在提高介入手术安全核查正确率中的应用
生意
心中的“棉花糖”