【《基于深度学习的田间杂草识别方法设计》15000字】_第1页
【《基于深度学习的田间杂草识别方法设计》15000字】_第2页
【《基于深度学习的田间杂草识别方法设计》15000字】_第3页
【《基于深度学习的田间杂草识别方法设计》15000字】_第4页
【《基于深度学习的田间杂草识别方法设计》15000字】_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

III基于深度学习的田间杂草识别方法设计目录目录 XV第三章基于卷积网络的杂草识别网络3.1数据获取及预处理在处理杂草识别这种实际问题中,要处理数十数百甚至数千个图像,因此我们需要使用数据储存,数据储存是一种Matlab的变量,它可以引用数据源,如图像中的文件夹,在创建数据储存时,Matlab会遍历相关文件并存储一些基本元信息,如文件的名称和格式,在需要的时候,使用数据存储来导入数据,AlexNet可以基于整个数据集进行预测。3.1.1数据获取在kaggle官网收集了12种常见杂草幼苗(Black-Grass,Charlock,Cleavers等)共5464张图像为数据集。将每一类杂草幼苗分别放到12个文件夹中,如图13所示图12数据集储存3.1.2数据预处理在训练网络时,需要为训练图像提供已知标签。Imds=imageDatastore(’location’,’Includefolder’,ture,…’Labelsource’,’foldnames’)ture可包含每个文件夹中的所有文件和子文件夹,Labelsource提供标签数据的源,foldnames将根据文件夹名称分配标签并存储在Label属性中。在训练期间,会调整网络权重,以便网络学习将给定输入与给定输出相关联,但是即使网络能够对所有训练数据正确分类,还是需要使用新的图像对它来进行检验,本文的做法是将采集的数据集划分为训练集和测试集,测试集不会用于训练网络,只用于评估网络的性能,使用splitEachlabel函数将数据集中的每个文件夹的图像随机分为两个单独的数据存储,一个用于训练,一个用于测试。[imdsTrain,imdsvalidation]=splitEachlabel(imds,0.75,’randomized’);AlexNet网络要求输入图像尺寸大小为227×227,由于从数据集获得的图像尺寸不满足输入要求,因此需要对采集的数据集进行预处理,在matlab中使用augmentedImageDatastore函数对采集数据集图像尺寸调整为227×227。卷积神经网络的训练依赖于训练集的规模,如果训练集的规模低于网络结构的复杂程度,则容易导致过拟合,影响网络模型的准确率。故使用以下方法来扩充数据集。随机噪声。选择高斯噪声在原图基础上叠加。颜色抖动。将原图的亮度提高10%,对比度提高30%,饱和度提高10%。旋转。对图像进行随机任意角度(0~360度)旋转。裁剪。对图像进行随机裁剪。移动。将图像以Y轴为对称轴翻盖,得到对称的图像,再将图像沿x轴前进30个有效单位,沿y轴前进30个有效单位。3.2分类网络的改进根据前面所得到的知识,要想真正训练一个具有良好性能的,且网络结构繁多的网络模型,我们需要先将图像进行预处理,将哪个图像属于哪个类别做好正确的标记,对于单个或者多个图像来说,这或许在很短的时间就可以完成,但是当遇到实际问题,有成百,成千,甚至上万个图像需要进行处理的时候,这期间耗费的人力是非常大的。对于图像的特征像素来说,个体与个体之间的相似性非常高。因此科学家们提出一种将已经搭建好的模型,通过对该模型的结构,参数等进行非常小的改变,然后使用新的数据集对新模型进行训练,这一过程中不仅省去了重新搭建模型的时间,对于类似杂草与农作物这种类似的分类任务,迁移学习可以从原先的模型中提取许多关键的信息,提高新模型的学习效率。在大量的实验结果表明,使用迁移学习的方法相比较于重新搭建一个模型,重新设置参数,对模型从零开始训练的方法,前者的训练效果更为优良。采用测试集与训练集的表现能力不会有太多的区别。本文以AlexNet卷积网络为基本神经网络框架,对AlexNet网络进行优化改进,进行迁移学习,通过对比研究出较优良的杂草识别网络模型,具体优化方案如下所示(1)引入深度可分离卷积减少运算量,提高训练速度。(2)归一化层的改进。(3)激活函数的改进。3.2.1深度可分离卷积对于卷积神经网络来说,网络运行的主要负荷就是对于卷积层参数的卷积计算,因此要想降低网络的运算负荷,提高运行效率,我们就得从卷积层下手,想方设法的缩减卷积运算的计算量,经过科学家的研究发现,在系统中引入深度可分离卷积,不仅维持了输入与输出的尺寸大小,同时还减少了卷积计算的运算量,提高网络的运行效率,加快特征提取。首先我们看传统卷积的计算方式,假设输入为三通道的彩色图像,卷积层由4个滤波器,每个滤波器有3个卷积核,每个卷积核的大小为3×3,输出得到的特征图的数量为4,计算量为:4×3×3×3。接下来是逐通道卷积。顾名思义就是一个卷积核卷积一个通道,三通道则为三个滤波器,一个滤波器只含有一个卷积核,卷积核的大小为3×3,输出得到的特征图的数量为4,计算量为:3×3×3最后是逐点卷积。逐点卷积与传统卷积的计算方法差不多,每个卷积层含有4个滤波器,每个滤波器含有M个卷积核,M为逐通道卷积得到的特征图数量(这里为3),卷积核的大小为1×1,得到的特征图数量为4,与传统卷积相同,计算量为1×1×3×4。假设Da为特征图尺寸,Dk为卷积核尺寸,C为输入通道数,N为输出通道数。则传统卷积计算量公式为:Da×Da×DK×DK×C×N深度可分离卷积计算量公式为:DK×DK×C×Da×Da+1×1×C×N×Da×Da深度可分卷积与传统卷积计算的比值可以通过深度可分卷积计算公式除以传统卷积计算得到:因此使用深度可分离卷积可以大大缩减计算量,提高网络的运作效率。3.2.2归一化层的改进批量归一化就是将前一层得到的输出数据进行处理,让这些数据与后一层的输入属于同一个量级,适合进一步的学习分析。经过归一化处理后的数据,对于网络来说参数的数量得到了减少,直接缩短了网络模型的运算时间,批量归一化通过小批量的数据中的平均值还有方差进行分析与处理,将每层中的特征数据进行了统一量级化,在Alex在开发AlexNet网络模型的时候,并没有加入批量归一化层,但是经过研究发现,批量归一化层在图像识别网络中有着显著的效果,因此本文对归一化层进行改进,在各层的激活函数前加入批量归一化层,命名为A-AlexNet,在各层的激活函数后加入批量归一化层,命名为B-AlexNet,比较二种卷积结构对杂草识别模型精度的影响。3.2.3激活函数的改进AlexNet原生网络中用于进行非线性变化计算的激活函数为ReLU函数,该函数既有优点,也有缺点,优点是ReLU函数在负半轴的取值为零,当得到输入信号的时候,若输入信号小于零则输出为零,只需要计算输入信号大于零的部分,可以大大缩短神经网络训练的时间,这是它的优点,同样也是它的缺点,处于负半轴的神经元在训练中不会被使用,造成对训练的参数没有办法得到完全更新。LeakyReLU在负半轴对输入信号有一段很小的取值范围,不仅对网络提取速度影响不大,同时也让处于负半轴那些未被使用到的神经元得到了缓解。因此本文采用LeakyReLU代替ReLu激活函数,提高网络模型的精确度。图13ReLU激活函数和LeakyReLU激活函数3.3实验与结果分析3.3.1实验环境硬件环境:使用单个cpu进行训练软件环境:windows10matlab2021a3.3.2实验过程(1)从kaggle官网获取数据集后,保存在文件夹中,然后对数据集进行预处理,随机噪声,颜色抖动等对数据进行扩充,用数据增强函数augmentedImagedatastore函数调整图像大小为227×227,再使用spiltEachlabel函数将数据集划分为训练集及测试集。这样每个文件夹中则包含了12个种类杂草的子文件夹,每个文件夹中分别含有带有各自种类杂草正确标签的杂草图像若干张。图14创建数据库(2)查看原生AlexNet的网络结构。并对网络结构进行优化,加入深度可分离卷积;在激活函数前后加入批量归一化层;将ReLU激活函数改进为LeakyReLU激活函数。net=alexnet;A=net.Layers图15AlexNet网络结构可以看到AlexNet网络结构大多数为卷积层,池化层和ReLU激活函数,首先第一层对图像进行输入,然后通过卷积层等提取图像特征,提取到的特征输入到23层全连接层中,使用Softmax回归函数将特征值以归一化数值呈现,该数值就是网络对该类的预测分数,最后一层接受该数值,并将可能类别输出。接下来引入深度可分离卷积,将原来的卷积层一,卷积层二,卷积层三,卷积层四,卷积层无,五个卷积层拆分为逐深度卷积和逐点卷积两个卷积层,不改变输入和输出的尺寸,缩减网络运行计算量。下图是对conv1引入深度可分离卷积。图16引入深度可分离卷积在激活函数前加入批量归一化层训练出一个网络模型,再比较在激活函数后加入批量归一化层的网络模型。将原生AlexNet网络中五个卷积层的ReLU函数替换为LeakyReLU函数。(3)在还没有进行参数调整与训练时,新搭建的网络模型和原生网络模型对图像的特征提取采取了相同的方法,当使用新的图像集对网络进行训练后,该网络就会形成新的图像特征映射,想对比之前的特征提取,效果更为良好。因此要替换AlexNet网络的最后三层,原生网络的最后三层被配置为1000个类。要搭建新的神经网络识别模型就必须重新构建最后三层的权重分类问题。我们将完全连接层设置的类别与新数据中的类数大小相同。然后在网络中修改全连接层的权重为20,偏差学习率因素的值为20。(4)设置网络超参数要进行迁移学习需要具备三大要素:首先,需要一个预训练网络进行训练,迁移学习的要点是先有一个预训练网络然后对其进行修改。这里我们基于AlexNet网络并对网络架构进行优化和改进。其次,需要有用来进行训练的数据,意味着需要已带正确标签的示例图像(监督学习),网络将从具有已知正确答案的示例中学习。这里我们已经将训练数据和测试数据已经划分并保存完毕,等待训练网络和测试网络的使用。最后,对训练的算法及参数进行设置,就可以传递给trainnetwork函数进行训练了。图17设置网络参数算法优化器:SGDM——随机梯度下降动量优化器MinibatchSize——用于每个训练迭代的的小批量MaxEpochs——最大训练周期InitialLearnRate——学习率设置为0.0001ValidationFrequency——网络验证频率,以迭代次数表示网络验证频率(5)将Layer,Data,options这个三个部分传递给trainnetwork函数,等待它返回经过训练的网络模型。Train=trainNetwork(augmidsTrain,layers,options)如图是训练过程。图18(a)训练过程图18(b)训练过程(6)验证训练好的模型[YPred,scores]=classify(Train,augimdsValidation);YValidation=imdsValidation.Labels;accuracy=mean(YPred==YValidation);disp(['accuracy:',num2str(accuracy)]);图19验证训练的模型(7)保存好训练的模型。save('D:\pathToImages\weed\weedweed\model3.mat','Train');3.3.3实验结果分析下图是原生Alexnet网络测试绘制的混淆矩阵,横排为精确率,竖排为召回率。图20混淆矩阵验证模型(1)引入深度可分离卷积,对比传统卷积训练模型所使用的时间,传统卷积训练模型耗时569分钟左右,引入深度可分离卷积耗时407分左右,大大的缩减了卷积神经网路深度学习的时间。(2)卷积提取结构的选择。为了得到效果更好的网络训练模型,我们需选择优良的卷积提取结构。在本文中,分别对比分析了前文所提到的三种不同的卷积网络提取结构的模型,模型的准确度如图22所示。根据图表直观的可以看到,A-AlexNet这种在激活函数前加入批量归一化层的结构相比于原生AlexNet结构,不仅收敛更快,而且精度也提高了一个档次,再看B-AlexNet这种在激活函数后加入批量归一化层的结构收敛时间较长,但是精度一直在缓慢提升。分析原因我们可以得到,原生网络在使用激活函数之后导致部分参数输出小于零,B-AlexNet在激活函数之后加入批量归一化层说明实验的部分参数小于零,这种结构对未使用神经元的影响与原生网络结构不同,B-AlexNet网络效果反而低于AlexNet,故本文采用A-AlexNet网络结构进行后续的研究。图21三种结构的训练曲线图验证激活函数改进结果通过实验验证,得到了下图的分析结果,带有圆形标签的曲线为A-AlexNet网络结构训练变化曲线,带有三角标签的曲线为使用LeakyReLU激活函数的C-AlexNet网络训练所得的变化曲线,实验表明,当迭代的次数达到1000次时,网络的精度基本不会发生改变,改进后的模型相比原来的模型精度提高1.36%图22改进激活函数前后的训练曲线图3.4本章小结本章重点介绍了基于卷积网络的杂草识别网络,对AlexNet网络结构模型的改进与搭建,并通过比较分析改进前后的精确度,得到了一个较为优良的杂草识别网络模型即C-AlexNet。第四章结论与展望4.1结论本文针对田间常见杂草分类识别问题进行研究,以提高杂草分类识别准确率为目标,结合卷积神经网络提取杂草特征,研究了一种基于CNN的分类网络模型,本文采用AlexNet网络架构,搭建模型,通过对AlexNet网络模型的改进,引用深度可分离卷积,缩减了网路的运算量,通过改进AlexNet迁移学习网络结构,对比激活函数ReLU前后添加批量归一化层,得到在激活函数ReLU前加入批量归一化层可以更好的提高网络深度学习的精确度,以及通过改变激活函数ReLU为LeakyReLU激活函数,证明LeakyReLU激活函数更适用于杂草识别网络。最终本文得到C-AlexNet结构的卷积神经网络作为杂草识别的深度学习模型。本文的创新之处在于:对原有的AlexNet的网络结构进行优化,不仅缩减了网络模型训练的时间,还提高了杂草识别的精确度,为后续的杂草分割提供了良好的基础。4.2展望(1)改进杂草识别方法。目前,杂草图像特征的提取主要是利用卷积网络模型AlexNet、VGG、ResNet等,这些网络都有一个共同的特征,这些网络模型都不够复杂,无法深层次的提取图像特征,网络模型过于复杂又会导致模型的过度重合的现象发生。下一步计划开发比Alexnet网络更深层次的模型,提取杂草更深度的特征信息,提高杂草的识别准确率。(2)学习方式的改进。监督学习在训练之前需要对图像进行标记,带有正确的图像标签的数据集才可以投入到监督学习中,这一过程耗费了大量的时间,有时甚至超过搭建一个网络模型的时间,因此今后的研究方法应发展为半监督或无监督学习,可以在不需要标记,或将带有部分正确标记的图像投入模型中,让网络在学习的同时也进行训练,如此可以极大地提高网络工作效率。参考文献[1]刘文,徐丽明,邢洁洁,史丽娜,高振铭,袁全春.作物株间机械除草技术的研究现状[J].农机化研究,2017,39(01):243-250.[2]肖超云.基于机器视觉的杂草识别研究[D].江苏大学,2007.[3]包盛.光调制解调技术在田间杂草光谱识别系统中的应用研究[D].江苏大学,2017.[4]SlaughterDC,GilesDK,DowneyD.Autonomousroboticweedcontrolsystems:Areview[J].ComputersandElectronicsinAgriculture,2008,61(1):63-78.AndreaCC,DanielBBM,MisaelJBJ.Preciseweedandmaizeclassificationthroughconvolutionalneuronalnetworks[C]//IEEESecondEcuadorTechnicalChaptersMeeting.IEEE,2017.AndresMilioto,PhilippLottes,andCyrillStachniss.Realtimesemanticsegmentationofcropandweedforprecisionagriculturerobotsleveragingbackgroundknowledgeincnns.In2018IEEEInternationalConferenceonRoboticsandAutomation(ICRA),pages2229–2235.IEEE,2018.MiliotoA,LottesP,StachnissC.Real-timeSemanticSegmentationofCropandWeedforPrecisionAgricultureRobotsLeveragingBackgroundKnowledgeinCNNs[J].2017.PotenaC,NardiD,PrettoA.FastandAccurateCropandWeedIdentificationwithSummarizedTrainSetsforPrecisionAgriculture[C]//InternationalConferenceonIntelligent

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论