一种基于中层特征扩展卷积网络的农作物病害分析方法技术

技术编号:23239605 阅读:19 留言:0更新日期:2020-02-04 18:47
基于中层特征扩展卷积网络的农作物病害分析方法,首先对数据进行清洗,将数据集分为训练集和测试集,比例按照9:1的比例来分配。并对dataloader进行相应编写;然后构建Bottleneck模块和构建中层特征扩展模块,基于这两种模块构建构建特征提取深度卷积神经网络;对训练图片进行数据增强、标准化,先用大的学习率预训练模型,再用小的学习率和权重衰减微调模型。最后通过读取农作物图片作为模型输入,并保存模型输出信息的方式,实现用中层特征扩展深度卷积神经网络对农作物病害进行有效、迅速的识别。

An analysis method of crop diseases based on extended convolution network of middle level features

【技术实现步骤摘要】
一种基于中层特征扩展卷积网络的农作物病害分析方法
本专利技术涉及一种农作物病害分析方法。
技术介绍
由于人工智能领域里的各类应用有很大的应用,利用深度卷积网络对农作物病害进行预测可以有效提高农业生产效率,提升农业经济效益,减少病害的损失。传统农业中由于农田地广,工作人员无法及时的获取农作物病害的信息,这意味着在无法在病害的初级阶段进行保护,隔离等措施,等至病害大规模发生时,农业从业人员的无法有效控制病害蔓延,造成巨大经济损失。对于传统神经网络中,通常使用分类方法进行学习,但是对于多分类系统,即分类数量过多,可能会出现模型性能下降的情况,因为多个分类可能十分相似,造成模型无法有效进行分类,在学习过程中会造成模型准确度的损失,进而造成识别效率的低下。
技术实现思路
本专利技术要克服现有技术的上述缺点,提供一种基于中层特征扩展卷积网络的农作物病害分析方法。为了实现顾客的分析方法,本专利技术设计一种基于中层特征扩展卷积网络的深度卷积神经网络的农业病害分析方法,使用传统卷积神经网络架构,在多个网络特征层中引入中层网络的特征图结合拼接的方法,提升有效信息的利用。在一定程度上缓解多分类带来的精度降低的影响。对大规模农业生产病害预测提供了新的解决思路,能在一些小规模农业产业中进行应用,并不断迭代算法达到较好的效果。本专利技术解决其技术问题采用的技术方案是:一种基于中层特征扩展卷积网络的农作物病害分析方法,含有以下步骤:(1)清洗数据:步骤11:构建数据集;<br>农作物病害检测数据集的图片含有对应的标注JSON文件,与图片一一对应;将农作物病害检测数据集的图片分成两份,一份是训练集,一份是测试集;步骤12:修改dataloader类,设计成与农业数据集相对应设置;本次数据集包含的标注含有包含两个属性,图片id以及图片分类;需要对dataloader进行如下修改:对process_dir方法进行路径的字符串拼接,获取图片在项目中的绝对路径,设置path存储图片路径,设置label存储图片标签;(2)构建中层特征扩展卷积神经网络;步骤21:构建Bottleneck结构;Bottleneck是一种基于残差模型Residual_block构建出来的模块,用于处理梯度消失和梯度爆炸的问题;Residual_block通过shortcutconnection将输入输出进行一个element-wise的叠加,通过这个操作,大大增加模型的训练速度,提高训练效果;Bottleneck采用三层卷积结构,每一层的卷积核的数量随着输入的不同进行变化;首层采用1*1的卷积核进行卷积,在经过BN层进行归一化,这一层没有Relu,输出维度为56*56*64;第二层采用3*3的卷积核进行卷积,设置步长为1,并设置padding为1,经过BN层进行归一化和Relu层,输出维度为56*56*64;第三层结构为1*1的卷积核,输出维度为56*56*256;Bottleneck结构另外还有一个直连层,使用卷积核为1*1的卷积核,输出维度为56*56*256,需要经过BN层进行归一化;之后将直连层和三层主结构的输出进行相加,并输入Relu层后输出;步骤22:构建中层特征扩展模块;中层特征扩展模块是将深层卷积网络当中的中层输出提出取出来进行单独池化及拼接的操作,操作步骤如下;首先将相邻的两层特征图单独取出,并分别输入最大池化层中,之后将输出的特征图进行拼接操作,最后使用全连接层进行降维操作;当多个相邻特征图进行凭借及全连接层后,最后再进行拼接成3072维的向量;步骤23:构建特征提取模块;首先将多个Bottleneck堆叠形成深度卷积模型;整个网络堆积如下:首先Conv_2层由3个Bottleneck堆叠而成,每个Bottleneck里的卷积层中卷积核数量分别为第一层1*1的卷积核64个,第二层3*3的卷积核64个,第三层1*1的卷积核256个;Conv_3层由4个Bottleneck堆叠而成,每个Bottleneck里的卷积层中卷积核数量分别为第一层1*1的卷积核128个,第二层3*3的卷积核128个,第三层1*1的卷积核512个;Conv_4层由6个Bottleneck堆叠而成,每个Bottleneck里的卷积层中卷积核数量分别为第一层1*1的卷积核256个,第二层3*3的卷积核256个,第三层1*1的卷积核1024个;Conv_5层由3个Bottleneck堆叠而成,每个Bottleneck里的卷积层中卷积核数量分别为第一层1*1的卷积核512个,第二层3*3的卷积核512个,第三层1*1的卷积核2048个;图片输入Bottleneck模块之前需要经过1个7*7的卷积层,输入维度为244*244*3,输出为112*112*64;之后经过BN层以及Relu层;最后还需要经过池化层,最后到Bottleneck模块的输出为56*56*64;选择对Conv_5层的3层Bottleneck以及Conv_4层的最后两层Bottleneck进行中层特征扩展,将Conv_4e和Conv_4f,Conv_5a,Conv_5b以及Conv_5c分别进行最大池化操作;之后将Conv_4e和Conv_4f,Conv_5a和Conv_5b分成一组进行拼接,最后再将拼接后的特征图和Conv_5c再进行一次拼接,最后通过全连接层得到多分类结果;(3)训练中层特征推展卷积神经网络;步骤31:数据预处理;首先将需要将数据进行处理,由于数据的不平衡性,需要对数据进行数据增强;首先将图片通过resize函数转换成224*224的大小;接着使用多次预处理方法,包括随机水平翻转,随机30度移动,随机垂直翻转,随机4倒置等多个预处理步骤;最后转化为Tensor之后进行一个标准化处理;步骤32:训练模型;加载步骤(2)构建的卷积神经网络,采用Adam优化算法,将每次训练模型得到的结果根据交叉熵损失函数得到的参数进行反向传播,优化神经网络里面的参数;预训练中每个批次大小为64,学习率为0.01,总共训练40个epoch;交叉熵算法如下:步骤33:模型微调;从步骤32中加载在测试集中精度最高的模型,调整学习率为0.0005,继续利用sgd算法继续训练40个epoch;(4)识别并记录农作物病害属性;步骤41:读取农作物图片;农作物病害分析模型分析的是具有病害特征的农作物图片,所以图片选择有完整信息的农作物图片,例如包含完整的叶子信息,通过叶子的外形信息就可以判断植物的属性;将包含特征信息的农作物图片保存至电脑中,提供给训练好的模型分析病害程度;步骤42:使用模型分析农作物图片;加载步骤33中训练好的中层特征扩展卷积神经网络模型的结构和权重,将步骤41中读取的农作物图片作为卷积圣经网络的输入,经过卷积池化得到农作物的3072维本文档来自技高网...

【技术保护点】
1.一种基于中层特征扩展卷积网络的农作物病害分析方法,含有以下步骤:/n(1)清洗数据:/n步骤11:构建数据集;/n农作物病害检测数据集的图片含有对应的标注JSON文件,与图片一一对应;将农作物病害检测数据集的图片分成两份,一份是训练集,一份是测试集;/n步骤12:修改dataloader类,设计成与农业数据集相对应设置;/n本次数据集包含的标注含有包含两个属性,图片id以及图片分类;需要对dataloader进行如下修改:对process_dir方法进行路径的字符串拼接,获取图片在项目中的绝对路径,设置path存储图片路径,设置label存储图片标签;/n(2)构建中层特征扩展卷积神经网络;/n步骤21:构建Bottleneck结构;/nBottleneck是一种基于残差模型Residual_block构建出来的模块,用于处理梯度消失和梯度爆炸的问题;Residual_block通过shortcut connection将输入输出进行一个element-wise的叠加,通过这个操作,大大增加模型的训练速度,提高训练效果;/nBottleneck采用三层卷积结构,每一层的卷积核的数量随着输入的不同进行变化;首层采用1*1的卷积核进行卷积,在经过BN层进行归一化,这一层没有Relu,输出维度为56*56*64;第二层采用3*3的卷积核进行卷积,设置步长为1,并设置padding为1,经过BN层进行归一化和Relu层,输出维度为56*56*64;第三层结构为1*1的卷积核,输出维度为56*56*256;/nBottleneck结构另外还有一个直连层,使用卷积核为1*1的卷积核,输出维度为56*56*256,需要经过BN层进行归一化;之后将直连层和三层主结构的输出进行相加,并输入Relu层后输出;/n步骤22:构建中层特征扩展模块;/n中层特征扩展模块是将深层卷积网络当中的中层输出提出取出来进行单独池化及拼接的操作,操作步骤如下;/n首先将相邻的两层特征图单独取出,并分别输入最大池化层中,之后将输出的特征图进行拼接操作,最后使用全连接层进行降维操作;当多个相邻特征图进行凭借及全连接层后,最后再进行拼接成3072维的向量;/n步骤23:构建特征提取模块;/n首先将多个Bottleneck堆叠形成深度卷积模型;整个网络堆积如下:/n首先Conv_2层由3个Bottleneck堆叠而成,每个Bottleneck里的卷积层中卷积核数量分别为第一层1*1的卷积核64个,第二层3*3的卷积核64个,第三层1*1的卷积核256个;/nConv_3层由4个Bottleneck堆叠而成,每个Bottleneck里的卷积层中卷积核数量分别为第一层1*1的卷积核128个,第二层3*3的卷积核128个,第三层1*1的卷积核512个;/nConv_4层由6个Bottleneck堆叠而成,每个Bottleneck里的卷积层中卷积核数量分别为第一层1*1的卷积核256个,第二层3*3的卷积核256个,第三层1*1的卷积核1024个;/nConv_5层由3个Bottleneck堆叠而成,每个Bottleneck里的卷积层中卷积核数量分别为第一层1*1的卷积核512个,第二层3*3的卷积核512个,第三层1*1的卷积核2048个;/n图片输入Bottleneck模块之前需要经过1个7*7的卷积层,输入维度为244*244*3,输出为112*112*64;之后经过BN层以及Relu层;最后还需要经过池化层,最后到Bottleneck模块的输出为56*56*64;/n选择对Conv_5层的3层Bottleneck以及Conv_4层的最后两层Bottleneck进行中层特征扩展,将Conv_4e和Conv_4f,Conv_5a,Conv_5b以及Conv_5c分别进行最大池化操作;之后将Conv_4e和Conv_4f,Conv_5a和Conv_5b分成一组进行拼接,最后再将拼接后的特征图和Conv_5c再进行一次拼接,最后通过全连接层得到多分类结果;/n(3)训练中层特征推展卷积神经网络;/n步骤31:数据预处理;/n首先将需要将数据进行处理,由于数据的不平衡性,需要对数据进行数据增强;首先将图片通过resize函数转换成224*224的大小;/n接着使用多次预处理方法,包括随机水平翻转,随机30度移动,随机垂直翻转,随机4倒置等多个预处理步骤;/n最后转化为Tensor之后进行一个标准化处理;/n步骤32:训练模型;/n加载步骤(2)构建的卷积神经网络,采用Adam优化算法,将每次训练模型得到的结果根据交叉熵损失函数得到的参数进行反向传播,优化神经网络里面的参数;预训练中每个批次大小为64,学习率为0.01,总共训练40个epoch;/n交叉熵算法如下:/n...

【技术特征摘要】
1.一种基于中层特征扩展卷积网络的农作物病害分析方法,含有以下步骤:
(1)清洗数据:
步骤11:构建数据集;
农作物病害检测数据集的图片含有对应的标注JSON文件,与图片一一对应;将农作物病害检测数据集的图片分成两份,一份是训练集,一份是测试集;
步骤12:修改dataloader类,设计成与农业数据集相对应设置;
本次数据集包含的标注含有包含两个属性,图片id以及图片分类;需要对dataloader进行如下修改:对process_dir方法进行路径的字符串拼接,获取图片在项目中的绝对路径,设置path存储图片路径,设置label存储图片标签;
(2)构建中层特征扩展卷积神经网络;
步骤21:构建Bottleneck结构;
Bottleneck是一种基于残差模型Residual_block构建出来的模块,用于处理梯度消失和梯度爆炸的问题;Residual_block通过shortcutconnection将输入输出进行一个element-wise的叠加,通过这个操作,大大增加模型的训练速度,提高训练效果;
Bottleneck采用三层卷积结构,每一层的卷积核的数量随着输入的不同进行变化;首层采用1*1的卷积核进行卷积,在经过BN层进行归一化,这一层没有Relu,输出维度为56*56*64;第二层采用3*3的卷积核进行卷积,设置步长为1,并设置padding为1,经过BN层进行归一化和Relu层,输出维度为56*56*64;第三层结构为1*1的卷积核,输出维度为56*56*256;
Bottleneck结构另外还有一个直连层,使用卷积核为1*1的卷积核,输出维度为56*56*256,需要经过BN层进行归一化;之后将直连层和三层主结构的输出进行相加,并输入Relu层后输出;
步骤22:构建中层特征扩展模块;
中层特征扩展模块是将深层卷积网络当中的中层输出提出取出来进行单独池化及拼接的操作,操作步骤如下;
首先将相邻的两层特征图单独取出,并分别输入最大池化层中,之后将输出的特征图进行拼接操作,最后使用全连接层进行降维操作;当多个相邻特征图进行凭借及全连接层后,最后再进行拼接成3072维的向量;
步骤23:构建特征提取模块;
首先将多个Bottleneck堆叠形成深度卷积模型;整个网络堆积如下:
首先Conv_2层由3个Bottleneck堆叠而成,每个Bottleneck里的卷积层中卷积核数量分别为第一层1*1的卷积核64个,第二层3*3的卷积核64个,第三层1*1的卷积核256个;
Conv_3层由4个Bottleneck堆叠而成,每个Bottleneck里的卷积层中卷积核数量分别为第一层1*1的卷积核128个,第二层3*3的卷积核128个,第三层1*1的卷积核512个;
Conv_4层由6个Bottleneck堆叠而成,每个Bottleneck里的卷...

【专利技术属性】
技术研发人员:赵云波李灏林建武
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1