CN112308825A - 一种基于SqueezeNet的农作物叶片病害识别方法 - Google Patents

一种基于SqueezeNet的农作物叶片病害识别方法 Download PDF

Info

Publication number
CN112308825A
CN112308825A CN202011137314.8A CN202011137314A CN112308825A CN 112308825 A CN112308825 A CN 112308825A CN 202011137314 A CN202011137314 A CN 202011137314A CN 112308825 A CN112308825 A CN 112308825A
Authority
CN
China
Prior art keywords
model
squeezenet
improved
obtaining
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011137314.8A
Other languages
English (en)
Other versions
CN112308825B (zh
Inventor
高国琴
刘阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu University
Original Assignee
Jiangsu University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangsu University filed Critical Jiangsu University
Priority to CN202011137314.8A priority Critical patent/CN112308825B/zh
Publication of CN112308825A publication Critical patent/CN112308825A/zh
Application granted granted Critical
Publication of CN112308825B publication Critical patent/CN112308825B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0012Biomedical image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30181Earth observation
    • G06T2207/30188Vegetation; Agriculture

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Radiology & Medical Imaging (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于SqueezeNet的农作物叶片病害识别方法。其方案是:对原始数据集进行增强和扩充,划分训练集和测试集;从网络规模小型化和计算过程轻量化的角度出发,对经典SqueezeNet结构进行精简与参数修改,获取4种改进后SqueezeNet模型;训练参数设置,多次迭代后得到训练后的模型;将测试集输入训练后的模型,对多种农作物的不同叶片病害进行分类。本发明提出的改进SqueezeNet模型在显著减少参数内存要求和计算量的同时使模型性能保持在一个较高的水平,较好地平衡了这三项指标,有利于将模型部署在移动终端等嵌入式资源受限设备上,有助于实现对农作物病害的实时准确识别。

Description

一种基于SqueezeNet的农作物叶片病害识别方法
技术领域
本发明涉及农业植保领域,尤其涉及一种基于SqueezeNet的农作物叶片病害识别方法。
背景技术
准确识别农作物病害类别是农作物病害防治的前提,而农作物叶片病斑及其相关特征是判断农作物病害种类及其病害程度的重要依据。传统的农作物病害检测主要依靠人工现场观察判断,存在主观性强、工作强度大等不足。
利用现代信息技术对农作物病害种类进行诊断和识别是一种先进有效的手段。传统机器学习病害识别方法一般包含图像分割,特征提取和模式识别三个环节,如果不能准确的提取病斑底层特征并选择对分类贡献率较高的特征来进行分类,则分类性能会明显下降。与传统机器学习方法相比,深度学习是一种端到端的方法,它以原始数据为输入,以最终的任务为输出,经过层层抽取将原始数据逐层抽象为任务自身所需要的特征,避免了人为特征选取对分类性能的影响,也同时明显增强系统的识别性能。
目前卷积神经网络在农业工程相关领域已获得广泛应用。为了获得更好的性能,近年来网络层数不断增加,从7层的AlexNet到16层的VGGNet,再到22层的GoogleNet、152层的ResNet,更有上千层的ResNet和DenseNet等。但这些传统卷积神经网络识别系统存在模型参数大、模型运算量要求高的不足,简言之就是效率问题。
效率问题主要是模型的存储问题和模型计算量问题。首先,深层次网络需要保存大量权值参数,这对设备内存的要求较高;其次,在实际应用中往往是快速响应需求,为达到实用标准,要么提高处理器性能,要么减少计算量。只有解决CNN效率问题,才能让CNN走出实验室,更广泛的应用于日常生活当中。对此,通常的方法是进行模型压缩,即在已经训练好的模型上进行压缩,使得网络携带更少的网络参数,从而解决内存问题,同时可以解决计算速度问题。
相比于在已经训练好的模型上进行处理,轻量化模型设计则是另辟蹊径。轻量化模型设计的主要思想在于设计更高效的“网络计算方式”从而使网络参数及计算量减少的同时不过多损失网络的识别性能。
发明内容
发明的目的:本发明克服了传统卷积神经网络识别系统存在的模型参数量大、模型运算量要求高的不足,在经典SqueezeNet模型的基础上进行改进,提出一种基于SqueezeNet的农作物叶片病害识别方法。
技术方案:
本发明公开了一种基于SqueezeNet的农作物叶片病害识别方法,包括如下连续步骤:
1)收集各类不同农作物的不同种类叶片病害图像,对原始数据集进行增强和扩充,划分训练集和测试集;
2)从网络规模小型化和计算过程轻量化的角度出发,对经典SqueezeNet结构进行精简与参数修改,获取4种改进SqueezeNet模型;
3)训练参数设置,多次迭代后得到训练后的模型;
4)将测试图像输入训练后的模型中进行测试。
2、根据权利要求1所述的一种基于SqueezeNet的农作物叶片病害识别方法,其特征在于,所述1)中的4种改进SqueezeNet模型的获取包括如下步骤:
1)将经典SqueezeNet模型的卷积层10输出通道数从1000修改为需要进行分类识别的种类数量,获取改进后的基础模型;
2)获取第一种改进模型:删除1)中SqueezeNet模型8个fire模块中的最后面3个fire模块,修改此后最后一个fire模块的参数,即把该fire模块中squeeze层的输出通道数量作相应减少,同时把expand层的输出通道数量作相应增加,获取第一种改进后的模型;
3)在第一种改进模型的基础上,获取第二种改进模型:因为1×1的卷积运算量和参数量都是3×3卷积时的1/9,因此2)的基础上,将此时模型中所有fire模块的expand层中1×1和3×3的卷积核数目按3:1的比例重新分配,既减少参数数量,又同时大幅减少计算量,获取第二种改进后的模型;
4)在第二种改进模型的基础上,获取第三种改进模型:由于特征图的大小与深度学习架构的运算量有紧密关系,把fire模块2从最大池化层A、B之间移动到最大池化层B、C之间,相应计算量会显著减少,获取第三种改进后的模型;
5)在第三种改进模型的基础上,获取第四种改进模型:由于特征图的大小与深度学习架构的运算量有紧密关系,把fire模块3、4从最大池化层B、C之间移动到最大池化层C后面,相应计算量又会显著减少,获取第四种改进后的模型。
本发明设计的一种基于SqueezeNet的农作物叶片病害识别方法与现有技术相比,其优点在于:
1)针对传统卷积神经网络识别系统存在模型参数大、模型运算量要求高的不足,本发明提出以经典轻量级卷积神经网络SqueezeNet作为模型的基础架构进行作物病害识别,其本身已经是一种轻量且高效的卷积神经网络模型;
2)从进一步实现网络规模小型化和计算过程轻量化的角度出发,本发明对经典SqueezeNet结构进行精简与参数修改,获取4种改进后的SqueezeNet模型;
3)本发明所提出的4种改进模型在显著减少模型参数内存需求和模型计算量的同时使模型性能保持在一个较高的水平,较好地平衡了这三项指标,更加有利于将改进后的模型部署在移动终端等嵌入式资源受限设备上,有助于实现对农作物病害的实时准确识别。
附图说明
图1是经典SqueezeNet结构图;
图2是经典SqueezeNet中fire模块内部结构图;
图3是本发明的改进后的基础模型结构图;
图4是本发明的改进的SqueezeNet模型1、2、3、4结构图;
具体实施方式
下面结合附图并以PlantVillage工程提供的叶片图像数据为例,对本发明的技术内容进行详细阐述。
以PlantVillage工程开源数据库(www.plantvillage.org)所收集的26类病害叶片及12类健康叶片共38类叶片合计54306张叶片图像作为实验数据,考虑到各类样本数量不均衡问题,在经过欠采样和数据增强(水平镜像翻转、改变亮度、加噪声等)后,使得各类叶片的样本数量大致均衡,总数增加到73327张,随机选取其中的80%作为训练集,20%作为测试集。
如图1所示,经典SqueezeNet结构包含两个普通的卷积层和8个fire模块。
输入图片大小为224×224像素,第一个卷积层使用3×3的卷积核,步长为2,输出通道为64。通过第一个卷积层后,特征图大小为112×112像素。经典SqueezeNet结构中共有三个最大池化层分别表标识为池化层A、B和C,每通过一个池化层,图像的大小就变为原来的一半以减少计算量。最大池化层A、B之间及B、C之间各有2个fire模块。最大池化层C后连接4个fire模块。卷积层10采用1×1的卷积核,输入通道为512,输出通道为1000,输出特征图大小为14×14像素。卷积层10的输出采用全局平均池化,并通过softmax分类器计算得到1000种分类的概率。其中全局平均池化是指将每个输出通道特征图的所有值融合为一个平均值,使得该层输出特征维数等于该层的输出通道数。
如图2所示,SqueezeNet的核心在于fire模块,它由两部分构成,分别是squeeze层和expand层。通常定义一个fire模块为fire(M,N,E1,E2),其中M代表fire模块的输入通道数,N代表squeeze层的输出通道数,E1和E2分别代表expand层中1×1卷积核和3×3卷积核的输出通道数目。squeeze层是一个卷积核为1×1的卷积层,它把输入通道从M变到N,通常N小于M,squeeze层主要用来对输入通道进行压缩,以减少网络的计算量;expand层是包含1×1和3×3两种卷积核的卷积层,1×1卷积核、3×3卷积核分别将输入通道从N扩张成E1与E2,最后把1×1和3×3得到的特征图进行拼接,得到输出通道为(E1+E2)的特征图。
如图3所示,PlantVillage工程需要识别26类病害及12类健康叶片,两者合计38类,因此将图1中卷积层10的输出通道数从1000修改为38,将此仅修改了卷积层10参数的模型标识为改进后的基础模型。
如图4所示,注意到经典SqueezeNet模型是为对ImageNet数据库进行分类的,该数据库包含了1000类物体,而PlantVillage工程提供的叶片图像只有38类,对于这样相对简单些的任务并不需要很深的网络结构,因此,本发明对基础改进模型做如下修改:移除fire模块6、7和8,并把fire模块5的参数修改为fire(256,32,256,256),即把该模块中squeeze层的输出通道由48减少为32,同时把expand层的输出通道由192增加为256,修改后的网络结构如图4a所示,并将其标识为改进模型1。
如图4所示,注意到3×3的卷积核共有9个参数,进行一次卷积需要进行9次浮点乘法和1次浮点加法运算。而1×1的卷积核只有1个参数,进行一次卷积运算只需要进行1次浮点乘法运算,所以1×1的卷积运算量和参数量比3×3卷积时大幅度减少。改进模型1中所有fire模块的expand层中1×1和3×3的卷积核数目比例是1:1,改进模型2就是把所有fire模块的expand层中1×1和3×3的卷积核数目按3:1的比例重新分配,图4b显示了改进模型2的架构。
如图4所示,注意到改进模型2中共有5个fire模块。其中最大池化层A、B中间有2个fire模块,最大池化层B、C中间有2个fire模块,最后一个fire模块位于最大池化层C和卷积层10之间。原始图片大小为224×224像素,通过第一个卷积层后,特征图大小为112×112像素;通过最大池化层A后,特征图大小变为56×56像素;通过最大池化层B后,特征图大小变为28×28像素;通过最大池化层C后,特征图大小变为14×14像素。
如图4所示,很显然,特征图的大小与深度学习架构的运算量有着紧密的关系。对fire模块2即fire(128,16,96,32),如果把它从最大池化层A、B之间移动到最大池化层B、C之间,相应计算量会显著减少。基于此思想,在改进模型2的基础上,把fire模块2从最大池化层A、B之间移动到最大池化层B、C之间,提出改进模型3;在改进模型3的基础上,把把fire模块3、4从最大池化层B、C之间移动到最大池化层C之后,提出改进模型4。其结构如图4c、4d所示。
实验软件环境为Ubuntu 16.04LTS 64位系统,采用目前流行的PyTorch(https://pytorch.org/)深度学习开源框架。PyTorch是一个基于Torch的Python开源机器学习库,它主要由Facebook的人工智能小组开发,不仅能够实现强大的GPU加速,同时还支持动态神经网络。计算机内存为16GB,搭载Intel Core i5-8300 CPU,GPU采用英伟达的GTX1050Ti对深度学习模型进行加速。
采用批处理方法将训练数据与测试数据分为多个批次,训练数据和测试数据的批次大小都设置为32,即每个批次训练32张图片,遍历一次训练集中的所有图片称作一次迭代。训练时采用了迁移学习的技术,模型收敛速度很快,因而每个模型都只迭代了30次,训练模型时采用了随机梯度下降优化算法。为了防止过拟合采用了随机失活技术,其参数p设置为0.5;初始学习率设置为0.01,学习率更新策略为每7次迭代学习率减小为原来的0.1倍。训练具体采用anaconda环境,框架是pytorch10,训练30个epoch,每个epoch有3666次迭代。
最终测试集上的测试结果如表1所示:
表1改进模型的参数及性能
Figure BDA0002737157500000061
由表1可以看出,本发明提出的改进模型1~4均表现较为优异,在显著减少模型参数内存需求和模型计算量的同时使模型性能保持在一个较高的水平,较好地平衡了这三项指标,适合未来将模型部署在移动终端等嵌入式资源受限设备上,有助于实现对农作物病害的实时准确识别。
表1中后三项技术指标解释如下:
常用混淆矩阵定义的中变量定义:
TP(true positive):真实值为正且预测也为正的数量;
TN(true negative):真实值为负且预测也为负的数量;
FP(false positive):真实值为负但预测为正的数量;
FN(false negative):真实值为正但预测为负的数量。
查准率(Precision)定义如下:
Figure BDA0002737157500000062
查准率是分类器预测的正样本中预测正确的比例,取值范围为[0,1],取值越大表示模型预测能力越好。
查全率(recall)定义如下;
Figure BDA0002737157500000063
查全率是分类器预测正确的正样本占所有正样本的比例,取值范围为[0,1],取值越大模型预测能力越好。
准确率(accuracy)定义如下:
Figure BDA0002737157500000071
准确率是最常见的评价指标,是分类正确样本除以所有样本的总数。在正、负样本不平衡的情况下,准确率这个评价指标有很大的缺陷,因此需要综合的运用查准率、查全率和准确率这三个指标对算法模型进行科学和全面的评价。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。

Claims (2)

1.本发明公开了一种基于SqueezeNet的农作物叶片病害识别方法,其特征在于,包括如下连续步骤:
1)收集各类不同农作物的不同种类叶片病害图像,对原始数据集进行增强和扩充,划分训练集和测试集;
2)从网络规模小型化和计算过程轻量化的角度出发,对经典SqueezeNet结构进行精简与参数修改,获取4种改进SqueezeNet模型;
3)训练参数设置,多次迭代后得到训练后的模型;
4)将测试图像输入训练后的模型中进行测试。
2.根据权利要求1所述的一种基于SqueezeNet的农作物叶片病害识别方法,其特征在于,所述2)中的4种改进SqueezeNet模型的获取包括如下步骤:
2.1)将经典SqueezeNet模型的卷积层10输出通道数从1000修改为需要进行分类识别的种类数量,获取改进后的基础模型;
2.2)获取第一种改进模型:删除2.1)中SqueezeNet模型8个fire模块中的最后面3个fire模块,修改此后最后一个fire模块的参数,即把该fire模块中squeeze层的输出通道数量作相应减少,同时把expand层的输出通道数量作相应增加,获取第一种改进后的模型;
2.3)在第一种改进模型的基础上,获取第二种改进模型:因为1×1的卷积运算量和参数量都是3×3卷积的1/9,因此2.2)的基础上,将此时模型中所有fire模块的expand层中1×1和3×3的卷积核数目按3:1的比例重新分配,既减少参数数量同时又减少计算量,获取第二种改进后的模型;
2.4)在第二种改进模型的基础上,获取第三种改进模型:由于特征图的大小与深度学习架构的运算量有紧密关系,把fire模块2从最大池化层A、B之间移动到最大池化层B、C之间,相应计算量会显著减少,获取第三种改进后的模型;
2.5)在第三种改进模型的基础上,获取第四种改进模型:由于特征图的大小与深度学习架构的运算量有紧密关系,把fire模块3、4从最大池化层B、C之间移动到最大池化层C后面,相应计算量又会显著减少,获取第四种改进后的模型。
CN202011137314.8A 2020-10-22 2020-10-22 一种基于SqueezeNet的农作物叶片病害识别方法 Active CN112308825B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011137314.8A CN112308825B (zh) 2020-10-22 2020-10-22 一种基于SqueezeNet的农作物叶片病害识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011137314.8A CN112308825B (zh) 2020-10-22 2020-10-22 一种基于SqueezeNet的农作物叶片病害识别方法

Publications (2)

Publication Number Publication Date
CN112308825A true CN112308825A (zh) 2021-02-02
CN112308825B CN112308825B (zh) 2024-05-14

Family

ID=74328461

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011137314.8A Active CN112308825B (zh) 2020-10-22 2020-10-22 一种基于SqueezeNet的农作物叶片病害识别方法

Country Status (1)

Country Link
CN (1) CN112308825B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190852A (zh) * 2021-05-31 2021-07-30 贵州师范学院 一种基于轻量级深度网络模型的计算机病毒检测方法
CN113486877A (zh) * 2021-06-08 2021-10-08 广西大学 基于轻量化人工智能模型的电力设备红外图像实时检测与诊断方法
CN113610163A (zh) * 2021-08-09 2021-11-05 安徽工业大学 一种基于知识蒸馏的轻量级苹果叶片病害识别方法
CN113627281A (zh) * 2021-07-23 2021-11-09 中南民族大学 一种基于SK-EfficientNet的轻量级农作物病害识别方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109086799A (zh) * 2018-07-04 2018-12-25 江苏大学 一种基于改进卷积神经网络模型AlexNet的作物叶片病害识别方法
CN110378435A (zh) * 2019-07-25 2019-10-25 安徽工业大学 一种基于卷积神经网络的苹果叶片病害识别的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109086799A (zh) * 2018-07-04 2018-12-25 江苏大学 一种基于改进卷积神经网络模型AlexNet的作物叶片病害识别方法
CN110378435A (zh) * 2019-07-25 2019-10-25 安徽工业大学 一种基于卷积神经网络的苹果叶片病害识别的方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190852A (zh) * 2021-05-31 2021-07-30 贵州师范学院 一种基于轻量级深度网络模型的计算机病毒检测方法
CN113486877A (zh) * 2021-06-08 2021-10-08 广西大学 基于轻量化人工智能模型的电力设备红外图像实时检测与诊断方法
CN113486877B (zh) * 2021-06-08 2023-10-17 广西大学 基于轻量化人工智能模型的电力设备红外图像实时检测与诊断方法
CN113627281A (zh) * 2021-07-23 2021-11-09 中南民族大学 一种基于SK-EfficientNet的轻量级农作物病害识别方法
CN113610163A (zh) * 2021-08-09 2021-11-05 安徽工业大学 一种基于知识蒸馏的轻量级苹果叶片病害识别方法

Also Published As

Publication number Publication date
CN112308825B (zh) 2024-05-14

Similar Documents

Publication Publication Date Title
CN112308825B (zh) 一种基于SqueezeNet的农作物叶片病害识别方法
CN111008640B (zh) 图像识别模型训练及图像识别方法、装置、终端及介质
CN114897779B (zh) 基于融合注意力的宫颈细胞学图像异常区域定位方法及装置
CN109509187B (zh) 一种针对大分辨率布匹图像中的小瑕疵的高效检验算法
Mathur et al. Crosspooled FishNet: transfer learning based fish species classification model
CN110660052A (zh) 一种基于深度学习的热轧带钢表面缺陷检测方法
CN112541532B (zh) 基于密集连接结构的目标检测方法
CN112668630B (zh) 一种基于模型剪枝的轻量化图像分类方法、系统及设备
CN112699941B (zh) 植物病害严重程度图像分类方法、装置、设备和存储介质
CN111833322B (zh) 一种基于改进YOLOv3的垃圾多目标检测方法
CN112818893A (zh) 一种面向移动终端的轻量化开集地标识别方法
CN115035418A (zh) 一种基于改进DeepLabV3+网络的遥感图像语义分割方法及系统
CN113159115B (zh) 基于神经架构搜索的车辆细粒度识别方法、系统和装置
CN111598844B (zh) 一种图像分割方法、装置、电子设备和可读存储介质
CN114492634B (zh) 一种细粒度装备图片分类识别方法及系统
CN116543433A (zh) 一种基于改进YOLOv7模型的口罩佩戴检测方法和装置
CN112364974A (zh) 一种基于激活函数改进的YOLOv3算法
CN117611599B (zh) 融合中心线图和增强对比度网络的血管分割方法及其系统
CN111352926A (zh) 数据处理的方法、装置、设备及可读存储介质
CN111860601B (zh) 预测大型真菌种类的方法及装置
CN113327227A (zh) 一种基于MobilenetV3的小麦头快速检测方法
Sankar et al. Intelligent health assessment system for paddy crop using CNN
CN112132137A (zh) 一种基于FCN-SPP-Focal Net的抽象画图像正确方向的识别方法
CN116612386A (zh) 基于分级检测双任务模型的辣椒病虫害识别方法及系统
CN116129158A (zh) 一种输电线路铁塔小部件图像识别方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant