基于卷积神经网络的玉米种子质量检测

2024-03-25 01:58刘琳茜杨亚宁
大连民族大学学报 2024年1期
关键词:玉米种子残差灰度

刘琳茜,杨亚宁

(大连民族大学 信息与通信工程学院,辽宁 大连 116605)

玉米多种植于中国东北部地区,是中国重要的粮食作物和饲料作物。近年来,中国玉米播种面积及其产量呈现稳步上升态势, 2020年中国玉米产量占比达到23.02%,位居世界第二。由于玉米种子颗粒小,除了存在发霉、破损等问题还极易与微小杂质混合,所以玉米行业发展更离不开玉米种子品质的筛选。

国内许多学者对玉米种子品质筛选展开了相关研究。闫彬等[1]提出采用的基于小波变换模极大值的边缘检测算法凸显玉米种子的裂纹区域平均准确率达到90.6%,该方法局限于检测种子是否存在裂纹,无法判断是否存在发霉和其他病变;范晓飞等[2]提出基于改进YOLOv4的目标检测模型,同时结合四通道多光谱图像,综合评价指标达到93.09%,但该方法仅实现了同时对多粒玉米种子品质好、坏的分类;王林柏等[3]提出一种基于分水岭算法结合卷积神经网络对玉米种子进行品质检测的方法,综合评价指标达到94.39%,该方法采用分水岭算法将多粒种子进行分割,耗时较长,仅实现对玉米种子质量好、坏的分类。并未对质量存在问题的玉米种子进行是否存在杂质的分类。

为提高玉米种子质量检测的精准率,以单颗玉米种子为研究对象,利用数据增强[3]的方法对原始数据集扩充,结合Resnet50模型对玉米实现分类,与传统卷积神经网络(CNN)[4]模型不同的是加入了残差模块,可以有效减少计算量,提高准确率,实现对玉米种子品质的检测。通过实验数据对比,选择综合评价指标最优的模型,为玉米播种技术发展提供新的思路。

1 数据集分析及评价指标

1.1 数据集分析

研究的数据来源于公开数据库,原始数据集共842张,包括“Good_seed”180张、“Bad_seed”202张、“Side_by_side”460张。使用数据增强的方式,扩大数据集如图1。其中包括对图像进行随机角度的旋转;对图像亮度进行调整;对图像进行随机裁剪,缺失部分选用黑色像素块填补;对图像加入椒盐噪声、高斯噪声;对图像随机删除一个矩形区域,通过黑色像素块填补(Cutout)等方法进行数据增强。

图1 数据增强后的数据集

数据集如图2。通过数据增强方法最终得到“Good_seed”1 399张、“Bad_seed”981张、“Side_by_side”2 956张,总计5 336张。其中“Bad_seed”包括不同程度发霉的玉米种子、颗粒不完整的玉米种子和变异的玉米种子;“Side_by_side”包括玉米须、玉米叶、其他小颗粒杂质等。

图2 数据集

1.2 评价指标

对建立的玉米种子质量检测的模型进行评估见表1。评估标准包括召回率(Recall)、精确率(Precision)以及综合评价指标(F1)三个指标。

表1 实验评价指标公式对照表

(1)TP(真正例):样本是正例,预测结果为正例;

(2)FP(假正例):样本是反例,预测结果为正例;

(3)TN(真反例):样本是反例,预测结果为反例;

(4)FN(假反例):样本是正例,预测结果为反例;

2 研究方法分析

研究过程如图3。灰度处理阶段,将原始图像先分解成由红色(Red)、绿色(Green)和蓝色(Blue)构成的色彩空间,后转换成由色调(Hue)、饱和度(Saturation)和明度(Value)构成的三通道图像。使用腐蚀、膨胀对图像进行预处理,为增强原图像中发霉部分和没有发霉部分的对比度,采用图像增强技术。使用均值滤波器mean_image对图像进行滤波,通过计算窗口区域像素的平均值来代替原值,对灰度图像的灰度值进行平滑处理。使用算子进行滤波,得到滤波后的图像灰度值,对比原图像,计算得到新的灰度值。新的灰度值等于原灰度值减去滤波后的灰度值乘上对比系数加原图像灰度值。最后采用Blob分析的方法完成区域的筛选以及背景的分割。缺陷分类检测采用深度学习的方法进行模型训练。

图3 研究过程概况

卷积神经网络(CNN)是一种带有卷积结构的深度网络模型,通过卷积结构的堆叠达到降低网络占用量。标准的CNN包括输入层(Input)、卷积层(Conv)、池化层(Pool)、全连接层(Fc)和分类层如图4。

图4 CNN过程示意图

卷积层可以提取出图像的特征如公式(1)所示,输入224×224×3的图像,经过64个7×7的卷积核进行卷积计算,其中参数:补零圈(padding)为3,步长(stride)为2,则输出为112×112×64的特征图。卷积核越大,感受野越大,不同的感受野可以重叠,因此得到的图像信息越多,得到的特征越明显,卷积示意图如图5。

图5 卷积示意图

卷积参考公式:

(1)

式中,函数g作为功率器,f为图像信号。

最大池化(max-pooling,MP)方法如公式(2)所示,保留主要的特征,经过池化后的图像尺寸变为56×56×64,如图6。最大池化参考公式:

图6 最大池化原理示意图

(2)

全连接层中各节点与上一层神经元节点连接,起到分类作用。分类层选用Softmax分类器其原理如公式(3)所示,对概率分布进行归一化处理,从而达到分类的目的。

Softmax定义:

(3)

2.1 对SqueezeNet模型描述

SqueezeNet是Han[6]等人提出的轻量级CNN模型,该模型通过使用多个1×1卷积核代替3×3卷积核,从而达到参数计算量的优化。其模型结构如图7。其中每一层卷积采用了1×1和3×3的混合卷积核,步长(stride)均为1,3×3卷积补零圈(padding)参数为1。混合卷积核中间采用Concat函数[6]连接,计算通道数量,增加原图像的特征数,实现多尺度特征融合。卷积层与激活函数相结合,输出后进行最大池化,细化特征。

图7 SqueezeNet模型

2.2 对Resnet50模型的描述

经过对CNN的不断研究,从Le Net 的5层卷积发展到Google Net 22层卷积,研究发现一味地扩大网络层数会出现随机梯度消失的问题。为解决这一问题,深度残差网络Resnet50诞生。Resnet50模型与VGG等其他传统CNN模型相比增加了残差模块如图8。设W1、W2分别代表两层Weight layer的权重,通过引入恒等映射将底层特征x与上层网络相联系,假设网络输入为x1,H(x)表示恒等映射,f表示relu激活函数,则输出x1+1可以表示为公式(5):

图8 残差网络结构

y1=H(x1)+F(x1,W1),

(4)

x1+1=f(y1)。

(5)

残差模块分为恒等残差块(Identity Block)和卷积残差块(Conv Block)。Resnet50的详细模型框架如图9。其中输入图像尺寸为224×224×3,经过一个7×7的卷积层,补零圈(padding)为3,步长(stride)为2,输出为112×112×64;经过一个2×2的最大池化层(maxpool)步长为2,输出为56×56×64;经过四个Block(依次为:Conv2_x、Conv3_x、Conv4_x、Conv5_x),其中虚线代表经历一个1×1的卷积残差块;最后经过平均池化层以及全连接层达到提取特征分类的作用。

图9 Resnet50模型

每一层卷积、池化层后加入激活函数和BatchNorm。其中激活层采用ReLu函数,相较于sigmoid和tanh函数,ReLu函数具有收敛速度快的优点。ReLu函数的导数在负半区显示为0,可以达到单侧抑制的效果,大大提高计算效率。BatchNorm对上一节点输出数据进行归一化。

对神经网络各层结点的激活值求解后,计算样本与神经网络输出层之间的残差[7]以及隐藏层各层的残差如公式(6)和(7)所示,最后计算每层网络的权重和偏置的偏导数如公式(8)和(9)所示。使用优化算法即梯度下降法不断迭代,对权重和偏置值不断更新优化,使损失函数达到最小值,完成神经网络的训练。

δ(nl)=-(y-h(nl))·f′(w(nl-1)h(nl-1)+b(nl-1)),

(6)

δ(i)=-((wi)Tδ(i+1))·f′(w(i-1)h(i-1)+b(i-1)),

(7)

(8)

(9)

式中:δ(i)表示第i层的每个神经元节点的残差值;h(i)表示第i层神经元输出值;w表示权重;b表示误差;J(x)函数表示损失函数;(x,y)代表单一样本。

3 实验结果分析

根据采集的图像总数,设置参数见表2。受硬件设施限制,训练的数据样本个数(BatchSize)均设为24;学习率(LearningRate)决定如何对梯度进行加权;在更新损失函数参数时,动量[8](Momentum)规定了先前梯度如何对权重更新。如果超参数“weight prior”非零,则将正则化项添加到损失函数中。

表2 参数设置

按照数据集拆分比例不同,将实验分成见表3所示的三组。对三组数据分别使用SqueezeNet训练模型和 Resnet50训练模型训练。模型训练过程采用每经历4次迭代对损失函数(Loss)下降曲线和错误率(top1_error)曲线进行图像绘制。图10~15分别表示Resnet50模型和SqueezeNet模型训练的损失函数下降曲线(红色曲线)和错误率下降曲线(蓝色曲线)

表3 实验分组

图10 第一组数据与迭代次数之间的关系

图11 第二组数据与迭代次数之间的关系

图12 第三组数据与迭代次数之间的关系

图13 第四组数据与迭代次数之间的关系

图14 第五组数据与迭代次数之间的关系

图15 第六组数据与迭代次数之间的关系

根据数据集的划分,随机从验证集中抽选出10%的玉米种子图像对第一组和第二组分别进行数据评估,如表4。综合评价指标分别为:96.45%和92.15%;随机从验证集中抽选出20%的玉米种子图像对第三组和第四组分别进行数据评估,综合评价指标分别为:94.70%和92.24%;随机从验证集中抽选出30%的玉米种子图像对第五组和第六组分别进行数据评估。综合评价指标分别为:94.99%和93.49%。结合损失函数下降曲线和错误率下降曲线,最终采用Resnet50模型,将90%数据集用于训练,10%数据集用于测试,最终结果最优。

表4 评价结果 %

4 结 语

经多组实验对比发现,将Resnet50模型应用于玉米种子质量检测中可以有效提高和检测准确率。除了可实现玉米种子好、坏的分类,还可以实现排除与玉米种子极为相似的杂质,综合评价指标达到96.45%,相较于传统卷积模型SqueezeNet有所提高,该方法有望为玉米播种技术的发展提供了新的便利。

猜你喜欢
玉米种子残差灰度
不同条件下对济宁地区玉米种子萌发特性的研究
采用改进导重法的拓扑结构灰度单元过滤技术
基于双向GRU与残差拟合的车辆跟驰建模
影响玉米种子发芽率的因素及对策
基于灰度拉伸的图像水位识别方法研究
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于灰度线性建模的亚像素图像抖动量计算
玉米种子生产存在的问题及管理办法