APP下载

基于卷积神经网络的农作物种类自动识别算法研究

2021-01-20李艳玲司海平孙昌霞

河南科学 2020年12期
关键词:图像识别识别率农作物

程 帅, 李艳玲, 司海平, 孙昌霞

(河南农业大学信息与管理科学学院,郑州 450002)

农业生产是人类社会的重要生产活动之一,与当今社会发展及稳定有着密切的联系. 随着互联网技术的不断发展,农业生产已由传统模式逐渐发展为精准农业作业[1-2]. 随着“互联网+”农业项目的跟进,农业数据信息采集工作也越来越便利[3]. 由于所拍摄的作物图像会受到拍摄方法和拍摄角度的影响,且数据采集过程中产生的作物图像数量极其庞大,以至于无法人工目视进行有效识别,导致自动化农业作业较困难. 现如今,计算机技术不断发展,如何快速、准确识别图像,已逐渐成为该研究领域的一个热点问题. 参阅相关农业领域文献发现,有相关学者运用人工特征提取等方法研究作物种类识别问题,虽然提取信息较为全面,但需要大量的劳动力和工作时间,且识别效率有待提高. 现阶段,机器学习、图像处理等技术发展迅速,尤其在农业领域,运用图像处理技术对作物图像进行识别已逐步得到了应用. 其中,卷积神经网络是由人工神经网络在图像识别领域发展而来的深度学习方法,对输入的图像可以自主学习相关特征,是解决本研究实现作物种类图像自动识别一种有效方法. 运用卷积神经网络进行作物图像识别不仅可以提高图像的识别率、降低算法的复杂度,且实用性较好[4].

随着基于图像表层视觉特征的检索技术发展,卷积神经网络算法在作物识别研究中也逐渐得到了应用,并发展成为一种有效识别方法[5]. 姜涛等[6]基于MODISQ1数据,选择了识别特征,设计了一种抗时间序列数据噪声的冬小麦识别方法. 结果表明,冬小麦总体识别率为93%. 闵文芳等[7]通过像素分割和人工视觉观察获得了作物样本并提取了颜色和纹理特征. 试验结果表明,四种作物的平均识别率为86%. 袁培森等[8]采集了大量菊花图像样本,在此数据集上进行试验,并与现有的典型系统对比,系统平均识别率可以达到0.95 左右,部分达到0.98,系统识别率得到明显提升. 高震宇等[9]设计了一套鲜茶叶智能分选系统,搭建7层结构的卷积神经网络识别模型,识别正确率达到0.90. 魏鹏飞等[10]基于多时相GF-1/WFV 卫星遥感影像数据,构建决策树分层分类模型,识别玉米、水稻等四种主要作物种植分布. 结果表明,总体识别率为90.9%. Girshick 等[11]基于VGGNet,优化网络结构及输入图像维度并结合数据增广技术设计分类网络,番茄图像的特征提取采用卷积方法[12]. Sa 等[13]基于卷积神经网络建立了深层网络水果识别模型,以识别不同的水果图像. Dyrmann 等[14]提出基于深度卷积神经网络的植物种类算法,识别不同光照、分辨率和土壤类型杂草及作物图像,识别率为86.2%. Li 等[15]基于灰度共生矩阵和Gabor(滤波器)提取纹理信息,建立光谱纹理联合特征集. 网络训练中加入集成学习策略,对经典支持向量机和卷积反向传播网络分类器进行改进. Sa 等[16]使用微型飞机收集杂草多光谱图像,并使用编码器-解码器级联卷积神经网络识别杂草,识别效果更好.

研究发现,上述模型方法在作物种类图像的自动识别准确率上已经取得了不错的效果,但仍然存在着一定的提升空间,本文以Vgg16模型[17-18]、ResNet50模型[19-21]和DenseNet121[22-23]等三种模型,分别对所采集的农作物图像进行训练和测试,以此来实现五类作物的自动识别. 其中本文对DenseNet121模型选取了不同的学习率和迭代步数分别进行试验,对其进行参数优化,发现当学习率为0.01和迭代步数为100时,模型达到最优效果,此时的时间复杂度最低,而识别准确率最高. 最后本文以三种模型为基础,设计并实现了基于端到端卷积神经网络的作物图像识别和分类系统,并在网上下载图片进行实验. 该系统实现了对五类农作物的自动识别,并给出该作物对应的作物种类的识别率.

1 模型原理与方法

1.1 卷积网络基本原理

卷积网络(convolutional neural network,CNN)是一种局部连接、权值共享的前馈式多层神经网络,是为识别二维形状而特殊设计的一种多层感知器,具有对平移、比例缩放、倾斜或其他形式的变形不变性的特点.典型的CNN网络采用BP算法通过最小化训练结果和真实值之间的代价函数,如公式(1)所示.

式中,| x |表示训练集大小,xi和yi分别表示第i个训练样本和其对应的类标号.

卷积神经网络的基本架构可分为4层:第1层为Input输入层,第2层是Conv卷积层,第3层是Full全连接层,第4层是Output输出层. CNN通过用已知模式训练卷积网络,是一种从输入到输出的非线性关系映射,它有效地在输入与输出之间的建立非线性映射关系. CNN 因具有位移、畸变鲁棒性和并行性等而受到广泛关注.

1)输入层(input layer):卷积神经网络的输入层可以直接输入原始数据,当输入为图像时,输入数据为图像的像素值.

2)卷积层(convolutional layer):卷积神经网络的卷积层也叫作特征提取层,包括2 个部分,第一部分是真正的卷积层,用于提取输入数据的特征,每个不同的卷积核提取的特征都不同,卷积层的卷积核数量越多,提取的特征就越多;第二部分为pooling下采样层,该层在保证有效信息的基础上减少数据处理量,提升训练速度. 卷积层数越多,模型提取特征的能力更强.

3)全连接层(fully connected layer):可以包含多个全连接层,实际上就是普通神经网络层的隐藏层部分,全连接层的每个神经节点都和前一层的每个神经节点连接,同一层的神经节点没有连接,每一层的神经节点通过连接线上的权值进行前向传播加权和计算得到下一层神经节点的输入.

4)输出层(output layer):输出层的节点数目是根据具体任务类设定的. 例如文中使用5类农作物图像数据集进行图像识别分类,则输出层就是一个分类器,其节点数目等于农作物种类数目.

1.2 模型介绍

DenseNet121 模型它的基本思路与ResNet 一致,但是它建立的是前面所有层与后面层的密集连接(dense connection),它的名称也是由此而来. DenseNet121 的另一大特色是通过特征在channel 上的连接来实现特征重用(feature reuse). 这些特点让DenseNet121在参数和计算成本更少的情形下实现比ResNet50更优的性能.

1.3 数据采集

作物图像采集自河南省民权县林场以及民权县老颜集乡扶贫基地,研究对象为林场和扶贫基地种植的蚕豆、甜瓜、番薯苗、葱苗和小麦5类作物图像,图像通过高像素手机拍摄采集. 共采集15 000张,每类3000张,用于网络的训练和测试. 为了降低训练样本的多样性不足导致的过拟合的概率,图像采集过程中采取了一些措施,对农作物进行上午采集和下午采集,顺光采集和背光采集,晴天采集和阴天采集,以多个角度进行成像,以此增加样本的多样性. 采集数据如图1所示.

图1 采集图像示例Fig.1 Example of captured image

1.4 数据预处理

在图像预处理方面,本文采用了一系列随机变换的方法来增加数据集的大小. 预处理方法包括:随机剪裁、随机反转、随机亮度变换、随机对比度变换、图像的白化、均值与方差的均衡,前4种是为了增加训练数据集数量,图像的白化是为了降低图像明暗、光照差异引起的影响. 图像预处理的结果示例如图2所示,预处理后图像大小为224×224像素.

由于电脑内存容量较小,在ResNet50模型中输入224×224图像,无法完成训练,只能将图像处理至32×32的图像作为输入图像,预处理后如图3所示.

图2 农作物图像预处理示例(Vgg16和DenseNet121)Fig.2 Example of crop image preprocessing

图3 32×32像素预处理示例Fig.3 32×32 pixel preprocessing example

1.5 网络训练方法

采用随机梯度下降发对网络进行训练,每一批样本的数量为64,权重的初始化影响网络的收敛速度,本文采用均值为0,标准差为0.01的高斯分布为网络层的权重随机进行初始化,所有卷积层和全连接层的偏置均初始化为0. 填充方法采用0填充,对网络中的所有层采用相同的学习速率,初始学习率设置为0.01,训练过程中,当验证集的分类精度停止增加的时候,则降低学习率,降低的方式是将学习速率变为当前速率的1/10,直至通过调整学习速率不再提高识别率为止.

本实验以Tesorflow2.0为深度学习框架,在一台配有4个AMD Athlon855 CPU和机带RAM8GB内存的计算机上开展相关试验.

2 实验结果与分析

2.1 模型训练与校验

用采集的5类农作物15 000张图像数据作为样本,其中训练集10 000幅,验证集2500幅,测试集2500幅,开展相关试验,根据网络模型的识别率和函数损失来评价各个网络的性能,结果如图4~图6所示.

从图4可以看出,DenseNet121模型的训练精度具有一定波动,但整体呈上升趋势. 在第3步迭代时出现了一定程度的下降,此时模型识别率也达到了最低点0.96. 与之相对应的是模型的训练函数损失在第3步迭代时也出现了相对较大的波动,函数损失接近0.2. 总的来说,DenseNet121模型的训练和校验精度存在一定的波动,模型的训练和校验函数损失也与之相匹配,模型的训练精度有着一定的波动,整体都在0.96以上.从图5可以看出,ResNet50模型的训练和校验识别率呈上升趋势,在第5步迭代时略有回落,最低训练和校验识别率分别在0.86和0.82以上,模型的训练和校验函数损失在第10步迭代时出现急速下降,之后趋于平稳.从图6 可以看出,Vgg16 模型的训练和校验识别率趋于平稳,在第10步迭代时出现一定回落,训练和校验函数损失也与之相匹配,在第10步迭代后趋于稳定.

图4 DenseNet121模型训练和校验的精度、损失图Fig.4 The accuracy and loss graph of DenseNet121 model training and verification

图5 ResNet50模型训练和校验的精度、损失图Fig.5 The accuracy and loss graph of ResNet50 model training and verification

图6 Vgg16模型训练和校验的精度、损失图Fig.6 The accuracy and loss diagram of Vgg16 model training and verification

不同模型对不同农作物种类的识别率如表1 所示. 从表1可以看出,DenseNet121 模型识别率最高,达到了惊人的0.993,ResNet50模型的识别率最低,为0.924,Vgg16模型的识别率也达到了0.982,与DenseNet121模型的识别率相接近.

表1 不同模型识别率Tab.1 Different model recognition accuracy

2.2 DenseNet121模型优化试验

学习率调参是卷积模型调参中的重要部分,如果设置过大,可能会导致网络跳过最优值,如果设置过小,可能会导致学习的收敛速率比较慢. 参照相关资料发现,学习率一般可采取10-4~100,将学习率分别设置0.000 1、0.001、0.01、0.1和1,模型迭代100步,试验结果总结如表2所示.

表2 DenseNet121模型参数优化结果图Tab.2 DenseNet121 model parameter optimization results

通过试验可知,当其他参数条件一致,学习率为0.000 1和1时,模型识别率最低为75%,在同一批试验中,随着迭代次数的增加,模型训练时间缩短,随着学习率由0.000 1逐渐升高到0.01,模型识别率也逐渐提高. 当学习率为0.01时,模型识别率较高,可达到99.3%. 结合网络运行时间和模型识别率,模型识别率选择设置为0.01.

2.3 模型实践

为了增强模型的可用性,实现作物种类图像识别的自动化,本研究基于三种模型(DenseNet121模型为参数优化过的模型)进行作物图像识别系统设计,然后在网上下载类似图片进行识别,识别结果如图7所示.

本文选择了侧拍的成簇小麦图,这样可以增加图像的多样性和复杂性,增加了系统识别的难度,使得农作物识别系统的识别结果更加有效. 从图7可以看出,Vgg16模型识别结果为小麦的精度达到了99.996%,识别结果为蚕豆的精度为0.002%;ResNet50模型识别结果为小麦的精度为44.944%,识别结果为甜瓜精度为7.476%,识别结果为番薯的精度为5.496%,识别结果为葱苗的概率为6.164%,识别结果为蚕豆的结果为35.920%;而本文所进行优化过的DenseNet121模型识别结果为小麦的精度达到了100%,这说明本文所进行优化的DenseNet121模型在农作物识别系统中所表现出的结果与另外两种模型相比仍然具有一定的优越性.

图7 农作物自动识别系统图结果图Fig.7 The results of the automatic crop recognition system map

3 结论与讨论

本文以蚕豆、甜瓜、番薯苗、葱苗和小麦图像数据作为研究对象,以五类作物的图像识别为研究目标,建立了试验样本数据集,并对数据进行了预处理,运用卷积神经网络算法,使用三种实验方法,研究结论如下:

1)根据蚕豆、甜瓜、番薯苗、葱苗和小麦作物的形态特征,对五类作物目视进行数据集的分类建立. 以多种采样方式,对图像数据及进行划分,并根据图像命名规则进行标签分类. 并对图像进行了预处理,主要是对图像感兴趣的部分进行随机裁剪和全景缩放,归一化,以及阈值处理. 共采集数据图像15 000张,每类作物各3000张,其中训练集10 000 幅,验证集2500幅,测试集2500幅.

2)本文使用了3种识别方法和试验结果总结如下:在识别率方面,DenseNet121网络模型识别率达到0.993左右,与Vgg16模型和ResNet50模型的识别率相比,分别提升了1.1%和6.9%,模型识别率得到了一定提升.

3)为了扩大适用范围,增强其可用性,实现作物种类图像识别的自动化,本研究设计了名为“作物识别”的作物种类自动识别系统,主要用于蚕豆、甜瓜、番薯苗、葱苗和小麦作物的种类图像识别,不同模型对于同种作物的识别率不同,通过在网上下载的小麦图像进行实验,本文所进行优化过的DenseNet121模型识别结果为小麦的精度达到了100%,另外两种模型的识别率相对较低,这说明本文所进行优化的DenseNet121模型在农作物识别系统中所表现出的结果与另外两种模型相比具有一定的优越性.

随着计算机硬件的不断发展,卷积神经网络方法在识别方面也得到广泛的应用. 然而,目前的卷积神经网络本身在结构上相对复杂,并且需要进行较长的训练时间. 本文通过实验在农作物种类图像识别方面取得相应的识别效果,但仍需要进行以下探索:

1)在数据集采集分类方面. 本文采用的为手工采集,由于手工采集分类极不便利,并且效率极低,因此后期可以引入半监督方法来解决词问题,并且可以加入通用的农作物种类库的数据来验证和提升计算效果.

2)模型训练速度的优化. 在模型训练速度方面,是否可以考虑将模型应用于更高效的并行处理方式,优化其模型训练速度,缩短训练时间,未来的研究可以从更有效的角度探讨卷积神经网络对农作物种类图像的可行性.

3)模型结构参数的设定. 在卷积模型实际应用的识别研究中,研究的重点是如何调整相关结构和参数,从而提高其识别率. 当前,针对卷积神经网络模型的参数设定,主要是凭借相关研究人员的经验值,虽有对比实验,但这方面的规律可以进一步研究及总结. 同时,本文设计的系统应用程序侧重于作物图像的识别功能,系统功能相对较单一,日后可以进一步研究系统的其他功能及特性.

猜你喜欢

图像识别识别率农作物
高温干旱持续 农作物亟须“防护伞”
俄发现保护农作物新方法
夏季农作物如何防热害
厉害了!农作物“喝”上环保酵素
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
听力正常青年人的低通滤波言语测试研究*
图像识别在物联网上的应用
图像识别在水质检测中的应用