CN112215293A - 植物病虫害识别方法、装置及计算机设备 - Google Patents

植物病虫害识别方法、装置及计算机设备 Download PDF

Info

Publication number
CN112215293A
CN112215293A CN202011122414.3A CN202011122414A CN112215293A CN 112215293 A CN112215293 A CN 112215293A CN 202011122414 A CN202011122414 A CN 202011122414A CN 112215293 A CN112215293 A CN 112215293A
Authority
CN
China
Prior art keywords
deep learning
learning network
plant
pest
disease
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.)
Pending
Application number
CN202011122414.3A
Other languages
English (en)
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.)
Ping An International Smart City Technology Co Ltd
Original Assignee
Ping An International Smart City Technology Co Ltd
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 Ping An International Smart City Technology Co Ltd filed Critical Ping An International Smart City Technology Co Ltd
Priority to CN202011122414.3A priority Critical patent/CN112215293A/zh
Publication of CN112215293A publication Critical patent/CN112215293A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

本发明实施例涉及人工智能技术领域,提供了一种植物病虫害识别方法,包括:获取多个样本图像并将多个样本图像划分为训练集、验证集及测试集;利用训练集对预设深度学习网络进行训练;利用验证集对训练后的预设深度学习网络进行验证,以判断训练后的预设深度学习网络是否收敛;若不收敛,则对预设深度学习网络进行参数调整,并对调整后的预设深度学习网络进行训练与验证;若收敛,则利用测试集对训练完成的预设深度学习网络进行测试得到病虫害识别准确率,以判断病虫害识别准确率是否小于预设阈值;若不小于预设阈值,则将训练完成的预设深度学习网络作为植物病虫害识别模型进行植物病虫害识别。本发明实施例可以识别植物病虫害,降低种植成本。

Description

植物病虫害识别方法、装置及计算机设备
技术领域
本发明实施例涉及人工智能技术领域,尤其涉及一种植物病虫害识别方法、装置及计算机设备。
背景技术
目前随着我国对粮食需求越来越大,农业规模也在不断扩大,农业种植病虫害一直是农业生产领域的重大自然灾害之一,由于农业种植病虫害的治理问题一直没有得到很好的解决,每年都会造成几千万吨农作物的损失,因此,及时检测出农业种植病虫害可以减少经济损失。
传统的农业种植病虫害识别系统大致分为两类,一类是专门针对农业种植病虫害防治的自动化机器系统,该类价格昂贵,增加了种植成本,且设备的安装及操作复杂,不利于推广。另一类是架设高清摄像头设备的识别系统,该系统虽然可以获取高质量的农业种植病虫害图像,但识别准确性不高,且效率较低,且农业种植棚的数量较多,导致布设成本依然很高。
发明内容
有鉴于此,本发明实施例的目的是提供一种植物病虫害识别方法、装置、计算机设备及计算机可读存储介质,用于克服现有的方法成本高,且不能准确地识别植物病虫害的问题。
为实现上述目的,本发明实施例提供了一种植物病虫害识别方法,包括:
获取多个样本图像并对每一所述样本图像进行标注,其中所述样本图像为染上一种植物病虫害的植物图像,多个所述样本图像包含有多种植物病虫害;
将多个所述样本图像划分为训练集、验证集及测试集;
利用所述训练集对预设深度学习网络进行训练;
利用所述验证集对经过所述训练集训练后的所述预设深度学习网络进行验证,以判断所述训练后的所述预设深度学习网络是否收敛;
若判定经过所述训练集训练后的所述预设深度学习网络不收敛,则基于所述验证集中的每一样本图像的病虫害验证结果确定经过所述训练集训练后的所述预设深度学习网络的收敛程度;
选择与所述收敛程度对应的参数调整方案对所述预设深度学习网络进行参数调整,并利用所述训练集与所述验证集重新对调整后的所述预设深度学习网络进行训练与验证;
若判定经过所述训练集训练后的所述预设深度学习网络收敛,则利用所述测试集对训练完成的所述预设深度学习网络进行测试,并根据每一测试结果统计得到一病虫害识别准确率,以判断所述病虫害识别准确率是否小于预设阈值;
若所述病虫害识别准确率不小于所述预设阈值,则将训练完成的所述预设深度学习网络作为植物病虫害识别模型,以对待识别植物图像进行植物病虫害识别。
可选地,所述对每一所述样本图像进行标注的步骤,包括:
建立每一所述样本图像与所述植物病虫害名称的映射关系,以对每一所述样本图像标注对应的植物病虫害名称。
可选地,
所述选择与所述收敛程度对应的参数调整方案对所述预设深度学习网络进行参数调整的步骤,包括:
构建多个收敛程度区间与多个参数调整方案的映射关系;
确定所述收敛程度落入的收敛程度区间;
选择与所述收敛程度区间对应的参数调整方案对所述预设深度学习网络进行参数调整。
可选地,所述预设深度学习网络为Efficientnet深度学习网络,所述判断所述病虫害识别准确率是否小于预设阈值的步骤之后,还包括:
若所述病虫害识别准确率小于所述预设阈值,则调整所述Efficientnet深度学习网络的参数,并利用所述训练集重新对调整后的Efficientnet深度学习网络进行训练,直到经过所述训练集训练后的Efficientnet深度学习网络收敛且所述测试集验证得到的病虫害识别准确率不小于所述预设阈值。
可选地,所述预设深度学习网络为Efficientnet深度学习网络,每一所述参数调整方案包括以下一种或多种调整方式:
调整训练集的批次大小;
调整所述Efficientnet深度学习网络的学习率;
调整所述Efficientnet深度学习网络的b0-b7的参数;
对所述样本图像进行数据增强。
可选地,所述植物病虫害识别方法还包括:
对所述植物病虫害识别模型进行模型处理,所述模型处理至少包括量化处理与压缩处理;及
将经过所述模型处理的所述植物病虫害识别模型的调用过程使用NDK和/或SDK编译成动态链接库,以部署至计算机设备。
可选地,所述对所述植物病虫害识别模型进行量化处理与压缩处理的步骤,包括:
对所述植物病虫害识别模型进行剪枝训练处理以得到剪枝后的植物病虫害识别模型;
对剪枝后的植物病虫害识别模型中的权重进行聚类处理以得到每个聚类的中心值;
根据每个所述聚类的中心值生成码本;
根据所述码本量化剪枝后的植物病虫害识别模型中的权重以使得量化后的植物病虫害识别模型实现权重共享;及
对量化后的植物病虫害识别模型进行哈夫曼编码压缩处理,并根据压缩后的权重生成以稀疏矩阵形式保存的码本索引,以完成对所述植物病虫害识别模型的模型量化与压缩。
为实现上述目的,本发明实施例还提供了一种植物病虫害识别装置,所述植物病虫害识别装置包括:
获取模块,用于获取多个样本图像并对每一所述样本图像进行标注,其中所述样本图像为染上一种植物病虫害的植物图像,多个所述样本图像包含有多种植物病虫害;
划分模块,用于将多个所述样本图像划分为训练集、验证集及测试集;
训练模块,用于利用所述训练集对预设深度学习网络进行训练;
验证模块,用于利用所述验证集对经过所述训练集训练后的所述预设深度学习网络进行验证,以判断所述训练后的所述预设深度学习网络是否收敛;
确定模块,在判定经过所述训练集训练后的所述预设深度学习网络不收敛时,基于所述验证集中的每一样本图像的病虫害验证结果确定经过所述训练集训练后的所述预设深度学习网络的收敛程度;
调整模块,选择与所述收敛程度对应的参数调整方案对所述预设深度学习网络进行参数调整,并利用所述训练集与所述验证集重新对调整后的所述预设深度学习网络进行训练与验证;测试模块,用于在判定经过所述训练集训练后的所述预设深度学习网络收敛时,利用所述测试集对训练完成的所述预设深度学习网络进行测试,并根据每一测试结果统计得到一病虫害识别准确率,以判断所述病虫害识别准确率是否小于预设阈值;
设定模块,用于在所述病虫害识别准确率不小于所述预设阈值,将训练完成的所述预设深度学习网络作为植物病虫害识别模型,以对待识别植物图像进行植物病虫害识别。
为实现上述目的,本发明实施例还提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的植物病虫害识别方法的步骤。
为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的植物病虫害识别方法的步骤。
本发明实施例提供的植物病虫害识别方法、装置、计算机设备及计算机可读存储介质,通过获取多个样本图像并对每一所述样本图像进行标注,其中所述样本图像为染上一种植物病虫害的植物图像,多个所述样本图像包含有多种植物病虫害;将多个所述样本图像划分为训练集、验证集及测试集;利用所述训练集对预设深度学习网络进行训练;利用所述验证集对经过所述训练集训练后的所述预设深度学习网络进行验证,以判断所述训练后的所述预设深度学习网络是否收敛;若判定经过所述训练集训练后的所述预设深度学习网络不收敛,则基于所述验证集中的每一样本图像的病虫害验证结果确定经过所述训练集训练后的所述预设深度学习网络的收敛程度;选择与所述收敛程度对应的参数调整方案对所述预设深度学习网络进行参数调整,并利用所述训练集与所述验证集重新对调整后的所述预设深度学习网络进行训练与验证;若判定经过所述训练集训练后的所述预设深度学习网络收敛,则利用所述测试集对训练完成的所述预设深度学习网络进行测试,并根据每一测试结果统计得到一病虫害识别准确率,以判断所述病虫害识别准确率是否小于预设阈值;若所述病虫害识别准确率不小于所述预设阈值,则将训练完成的所述预设深度学习网络作为植物病虫害识别模型,以对待识别植物图像进行植物病虫害识别。本发明实施例通过预先获取多个样本图像并将所述样本图像划分为训练集、验证集及测试集,然后基于训练集、验证集及测试集对预设深度学习网络进行训练得到植物病虫害识别模型,这样在获取到待识别植物图像之后,可以通过所述植物病虫害识别模型准确地识别植物病虫害,且成本低廉。同时,在判定经过所述训练集训练后的所述预设深度学习网络不收敛时,可以通过确定经过所述训练集训练后的所述预设深度学习网络的收敛程度并选择与所述收敛程度对应的参数调整方案对所述预设深度学习网络进行参数调整,实现有针对性地对所述预设深度学习网络进行调整,提升模型训练速度。
附图说明
图1为本发明植物病虫害识别方法的一实施方式的步骤流程示意图。
图2为本发明植物病虫害识别方法的另一实施方式的步骤流程示意图。
图3为本发明一实施方式的植物病虫害识别装置的程序模块示意图。
图4为本发明另一实施方式的植物病虫害识别装置的程序模块示意图。
图5为本发明一实施方式的计算机设备的硬件结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
以下结合附图与具体实施例进一步阐述本发明的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本发明的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本发明及区别每一步骤,因此不能理解为对本发明的限制。
参阅图1,示出了本发明实施例一之植物病虫害识别方法的流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以植物病虫害识别装置(下文以“识别装置”简称)为执行主体进行示例性描述,所述识别装置可以应用于计算机设备中,所述计算机设备可以是移动电话、平板个人计算机(tablet personal computer)、膝上型计算机(laptop computer)、服务器等具有数据传输功能的设备。具体如下:
步骤S10,获取多个样本图像并对每一所述样本图像进行标注,其中所述样本图像为染上一种植物病虫害的植物图像,多个所述样本图像包含有多种植物病虫害。
具体地,所述植物图像可以是染上一种植物病虫害的植物的局部图像,也可以是整体图像。对于每一种植物病虫害可以获取一张或多张样本图像。举例而言,可以通过人为拍照方式来获取多个植物染上相同的植物病虫害的样本图像和/或多个植物分别染上不同的植物病虫害的样本图像,并存储至指定存储区,从而可以从该指定存储区获取多个样本图像。还可以通过接入网络来连接至一植物病虫害样本库,进而来获取所述植物病虫害样本库存储的染上所述植物病虫害的植物图像。所述植物病虫害样本库可以通过大数据方式搜集多个植物染上相同的植物病虫害的样本图像和/或多个植物分别染上不同的植物病虫害的样本图像,也可以通过接收人为录入的多个植物染上相同的植物病虫害的样本图像和/或多个植物分别染上不同的植物病虫害的样本图像。
可以理解,在对每一所述样本图像进行标注前,还可以对获取多个样本图像进行预处理,以保证所述样本图像的质量。所述预处理可以包括统一所述样本图像的尺寸和格式、删除清晰度不够的所述样本图像、对所述样本图像进行裁剪,对所述样本图像进行亮度调整等。
在一实施方式中,可以通过建立每一所述样本图像与所述植物病虫害名称的映射关系以对每一所述样本图像标注对应的植物病虫害名称。具体地,在获取多个所述样本图像后,通过建立每一所述样本图像与所述植物病虫害名称的映射关系,使得每一所述样本图像都携带有所述植物病虫害的名称信息,以用于说明样本图像所染上的植物病虫害的类型。举例而言,可以获取分别染上A、B、C类植物病虫害的植物图像,若所述植物图像感染A类植物病虫害,则可以为所述样本图像标注“A”;若所述植物图像感染B类植物病虫害,则可以为所述样本图像标注“B”;若所述植物图像感染C类植物病虫害,则可以为所述样本图像标注“C”。
在完成所述样本图像的获取及标注之后,可以将所述样本图像统一存入样本图像库中,如此在后续需要采用获取到的样本图像对模型进行训练时,即可以从所述样本图像库中获取这些样本图像。
步骤S11,将多个所述样本图像划分为训练集、验证集及测试集。
具体地,可以根据预设划分比例将多个所述样本图像划分为训练集、验证集及测试集,所述预设划分比例可以根据实际使用需求进行设定。比如,可以将多个所述样本图像按照8:1:1的方式划分为所述训练集、所述验证集及所述测试集。举例而言,可以获取1000张所述样本图像,并将1000张所述样本图像按照8:1:1的方式划分为所述训练集、所述验证集及所述测试集。也就是说,所述训练集可以包括800张所述样本图像,所述验证集可以包括100张所述样本图像,所述测试集可以包括100张所述样本图像。
在其他实施方式中,还可以按照其他预设划分比例来划分为训练集、验证集及测试集,在此不作限定。
步骤S12,利用所述训练集对预设深度学习网络进行训练。
其中,所述预设深度学习网络可以为Efficientnet深度学习网络,也可以为其他的深度学习网络,如VGG(Visual Geometry Group)网络。以下以预设深度学习网络为Efficientnet深度学习网络进行举例说明。
EfficientNet网络是工程师Quoc V.Le在论文《EfficientNet:Rethinking ModelScaling for Convolutional Neural Networks》中提出。EfficientNet网络的基础网络架构是通过使用神经网络架构搜索(neural architecture search)设计得到,与现有卷积神经网络模型的区别在于:现有网络在扩展卷积神经网络模型的时候,一般通过调整输入图像的大小、网络的深度和宽度(卷积通道数)来实现的,而EfficientNet网络提出了一种全新的模型缩放方法,该方法使用简单而高效的复合系数来权衡网络深度、宽度和输入图片分辨率,从而使得网络在效率和准确率上得到优化。
具体地,可以利用所述训练集对所述Efficientnet深度学习网络进行训练。所述训练集的样本图像可以按照预设批次大小输入至Efficientnet深度学习网络进行训练。
步骤S13,利用所述验证集对经过所述训练集训练后的所述预设深度学习网络进行验证,以判断所述训练后的所述预设深度学习网络是否收敛。
具体地,当利用训练集完成对预设深度学习网络的训练时,可以利用所述验证集对经过所述训练集训练后的所述预设深度学习网络进行验证,以判断所述训练后的所述预设深度学习网络是否收敛,从而在训练后的所述预设深度学习网络不收敛的情况下调整该预设深度学习网络的参数,并重新进行训练。
步骤S14,在判定经过所述验证集判定经过所述训练集训练后的预设深度学习网络不收敛时,则基于所述验证集中的每一样本图像的病虫害验证结果确定经过所述训练集训练后的所述预设深度学习网络的收敛程度。
在一实施方式中,若判定经过所述验证集判定经过所述训练集训练后的预设深度学习网络不收敛,则表明所述训练集训练后的预设深度学习网络的效果不理想,可以统计所述验证集中的每一样本图像的病虫害验证结果,并基于所述病虫害验证结果确定经过所述训练集训练后的所述预设深度学习网络的收敛程度。
步骤S15,选择与所述收敛程度对应的参数调整方案对所述预设深度学习网络进行参数调整,并利用所述训练集与所述验证集重新对调整后的所述预设深度学习网络进行训练与验证。
具体地,若判定经过所述验证集判定经过所述训练集训练后的预设深度学习网络不收敛,则确定经过所述训练集训练后的所述预设深度学习网络的收敛程度,以选择与所述收敛程度对应的参数调整方案对所述预设深度学习网络进行参数调整,并利用所述训练集与所述验证集重新对调整后的所述预设深度学习网络进行训练与验证,直到所述训练集与所述验证集训练与验证得到的经过调整后的预设深度学习网络收敛。
具体地,可以先构建多个收敛程度区间与多个参数调整方案的映射关系,然后确定所述收敛程度落入的收敛程度区间,最后选择与所述收敛程度区间对应的参数调整方案对所述预设深度学习网络进行参数调整。通过构建多个收敛程度区间与多个参数调整方案的映射关系,使得每一收敛程度区间都有对应的参数调整方案,以根据训练后的所述预设深度学习网络的收敛程度来对参数进行调整,提高了模型训练速度与效率。
在一实施方式中,所述收敛程度区间可以根据用户需求设定,多个所述收敛程度区间可以部分重合,也可以不重合。多个所述收敛程度区间的参数调整方案可以不同,也可以部分相同。
在一实施方式中,每一所述参数调整方案可以包括以下一种方式或多种调整方式:
a.调整训练集的批次大小;
b.调整所述Efficientnet深度学习网络的学习率;
c.调整所述Efficientnet深度学习网络的b0-b7的参数;
d.对所述样本图像进行数据增强处理(比如通过对样本图像进行翻转、旋转、镜像、高斯白噪声等实现数据增强)。
比如,参数调整方案A包括调整方式a与b,参数调整方案B包括调整方式a与c,参数调整方案C包括调整方式a、b与c,参数调整方案D包括调整方式a、b、c与d。
在一实施方式中,所述预设深度学习网络的收敛程度越低可以包括的调整方式可以越多,也就是说,所述预设深度学习网络的收敛的越不好调整的参数越多。举例而言,构建收敛程度区间I1、I2、I3,收敛程度区间I1的收敛程度高于收敛程度区间I2的收敛程度,收敛程度区间I2的收敛程度高于收敛程度区间I3的收敛程度,所述收敛程度区间I1对应的参数调整方案包括调整方式a;所述收敛程度区间I2对应的参数调整方案包括包括调整方式a、b;所述收敛程度区间I3对应的参数调整方案包括调整方式a、b、c。
在一实施方式中,在确定经过所述训练集训练后的Efficientnet深度学习网络收敛时,表明所述训练集训练后的Efficientnet深度学习网络的效果满足要求,可以进行后续的测试集测试验证步骤。。
步骤S16,若判定经过所述训练集训练后的所述预设深度学习网络收敛,则利用所述测试集对训练完成的所述预设深度学习网络进行测试,并根据每一测试结果统计得到一病虫害识别准确率,以判断所述病虫害识别准确率是否小于预设阈值。
具体地,若判定经过所述训练集训练后的所述预设深度学习网络收敛,则表明经过训练后的Efficientnet深度学习网络的效果满足要求,可以继续利用所述测试集对训练完成的所述Efficientnet深度学习网络进行测试,并根据测试集中每一样本图像的测试结果统计得到一病虫害识别准确率,以判断所述病虫害识别准确率是否小于预设阈值,实现确定完成样本图像训练的Efficientnet深度学习网络的病虫害识别效果是否理想。
在一实施方式中,所述预设阈值可以根据实际使用需求进行设定,例如所述预设阈值可以设置为96%。
在一实施方式中,若训练完成的Efficientnet深度学习网络的病虫害识别准确率小于所述预设阈值,则再次调整所述Efficientnet深度学习网络的参数,并利用所述训练集重新对调整后的Efficientnet深度学习网络进行训练,直到经过所述训练集训练后的Efficientnet深度学习网络收敛且所述测试集验证得到的病虫害识别准确率不小于所述预设阈值。
可以理解,当训练完成的Efficientnet深度学习网络的病虫害识别准确率小于所述预设阈值时,同样可以通过以下一种或多种方式的组合来实现对所述Efficientnet深度学习网络的参数的调整:调整训练集的批次大小;调整所述Efficientnet深度学习网络的学习率;调整所述Efficientnet深度学习网络的b0-b7的参数;对所述样本图像进行数据增强处理。
具体地,若训练完成的Efficientnet深度学习网络的病虫害识别准确率小于所述预设阈值,表明当前训练完成的Efficientnet深度学习网络的病虫害识别效果不理想,不能满足实际病虫害识别需求,需要进行改善,此时可以再次调整所述Efficientnet深度学习网络的参数,并利用所述训练集重新对调整后的Efficientnet深度学习网络进行训练,利用所述验证集对重新训练后的Efficientnet深度学习网络进行重新验证,在所述Efficientnet深度学习网络收敛时,利用所述测试集对重新验证后的所述Efficientnet深度学习网络进行重新测试得到一新的病虫害识别确率,再判断新的病虫害识别准确率是否小于预设阈值,如此重复直到新的病虫害识别准确率不小于所述预设阈值。
步骤S17,若所述病虫害识别准确率不小于所述预设阈值,则将训练完成的所述预设深度学习网络作为植物病虫害识别模型,以对待识别植物图像进行植物病虫害识别。
具体地,若所述病虫害识别准确率不小于所述预设阈值,表明当前训练完成的Efficientnet深度学习网络的病虫害识别效果满足实际病虫害识别需求,则可以将训练完成的所述Efficientnet深度学习网络作为植物病虫害识别模型,以在后续对所述待识别植物图像进行植物病虫害识别。
具体地,当训练得到所述植物病虫害识别模型时,可以将染上植物病虫害的待识别植物图像作为所述植物病虫害识别模型的输入,所述植物病虫害识别模型的输出即为所述待识别植物图像的病虫害识别结果。所述识别结果可以是染上的所述植物病虫害的名称。
所述待识别植物图像可以通过人为拍照方式获取。所述待识别植物图像可以是预先存储在本地图像数据库的图像,这样当需要识别的图像较多或用户当前繁忙时,可以先拍摄待识别植物图像并保存,待后期调用所述植物病虫害识别模型再对所述待识别植物图像一一进行识别,提升了用户的病虫害识别体验。
本发明实施例通过获取多个样本图像并对每一所述样本图像进行标注,其中所述样本图像为染上一种植物病虫害的植物图像,多个所述样本图像包含有多种植物病虫害;将多个所述样本图像划分为训练集、验证集及测试集;利用所述训练集对预设深度学习网络进行训练;利用所述验证集对经过所述训练集训练后的所述预设深度学习网络进行验证,以判断所述训练后的所述预设深度学习网络是否收敛;若判定经过所述训练集训练后的所述预设深度学习网络不收敛,则基于所述验证集中的每一样本图像的病虫害验证结果确定经过所述训练集训练后的所述预设深度学习网络的收敛程度;选择与所述收敛程度对应的参数调整方案对所述预设深度学习网络进行参数调整,并利用所述训练集与所述验证集重新对调整后的所述预设深度学习网络进行训练与验证;若判定经过所述训练集训练后的所述预设深度学习网络收敛,则利用所述测试集对训练完成的所述预设深度学习网络进行测试,并根据每一测试结果统计得到一病虫害识别准确率,以判断所述病虫害识别准确率是否小于预设阈值;若所述病虫害识别准确率不小于所述预设阈值,则将训练完成的所述预设深度学习网络作为植物病虫害识别模型,以对待识别植物图像进行植物病虫害识别。本发明实施例通过预先获取多个样本图像并将所述样本图像划分为训练集、验证集及测试集,然后基于训练集、验证集及测试集对预设深度学习网络进行训练得到植物病虫害识别模型,这样在获取到待识别植物图像之后,可以通过所述植物病虫害识别模型及时准确地识别植物病虫害。同时,在判定经过所述训练集训练后的所述预设深度学习网络不收敛时,可以通过确定经过所述训练集训练后的所述预设深度学习网络的收敛程度并选择与所述收敛程度对应的参数调整方案对所述预设深度学习网络进行参数调整,实现有针对性地对所述预设深度学习网络进行调整,提升模型训练速度。
在一示例性的实施方式中,参照图2,示出了本发明实施例另一植物病虫害识别方法的流程图。在本实施例中,所述植物病虫害识别方法包括:
步骤S20,获取多个样本图像并对每一所述样本图像进行标注,其中所述样本图像为染上一种植物病虫害的植物图像,多个所述样本图像包含有多种植物病虫害。
步骤S21,将多个所述样本图像划分为训练集、验证集及测试集;
步骤S22,利用所述训练集对预设深度学习网络进行训练;
步骤S23,利用所述验证集对经过所述训练集训练后的所述预设深度学习网络进行验证,以判断所述训练后的所述预设深度学习网络是否收敛;
步骤S24,在判定经过所述训练集训练后的所述预设深度学习网络不收敛时,基于所述验证集中的每一样本图像的病虫害验证结果确定经过所述训练集训练后的所述预设深度学习网络的收敛程度;
步骤S25,选择与所述收敛程度对应的参数调整方案对所述预设深度学习网络进行参数调整,并利用所述训练集与所述验证集重新对调整后的所述预设深度学习网络进行训练与验证;
步骤S26,若判定经过所述训练集训练后的所述预设深度学习网络收敛,则利用所述测试集对训练完成的所述预设深度学习网络进行测试,并根据每一测试结果统计得到一病虫害识别准确率,以判断所述病虫害识别准确率是否小于预设阈值;
步骤S27,若所述病虫害识别准确率不小于所述预设阈值,则将训练完成的所述预设深度学习网络作为植物病虫害识别模型,以对待识别植物图像进行植物病虫害识别;
具体地,上述步骤S20-S27与上述实施例中的步骤S10-S17相同,在本实施例中不再赘述。
步骤S28,对所述植物病虫害识别模型进行模型处理,所述模型处理至少包括量化处理与压缩处理。
具体地,所述量化处理可以是指将所述植物病虫害识别模型的参数浮点型转为int8类型。
在一实施方式中,所述压缩处理可以是指对所述植物病虫害识别模型进行裁剪,以减小模型参数量。所述植物病虫害识别模型的模型参数量较大,可以采用Ncnn工具对所述植物病虫害识别模型进行量化处理和压缩处理以便于后续在所述计算机设备进行运行。
具体地,还可以通过以下步骤对所述植物病虫害识别模型进行量化处理和压缩处理:对所述植物病虫害识别模型进行剪枝训练处理以得到剪枝后的植物病虫害识别模型;对剪枝后的植物病虫害识别模型中的权重进行聚类处理以得到每个聚类的中心值;根据每个所述聚类的中心值生成码本;根据所述码本量化剪枝后的植物病虫害识别模型中的权重以使得量化后的植物病虫害识别模型实现权重共享;及对量化后的植物病虫害识别模型进行哈夫曼编码压缩处理,并根据压缩后的权重生成以稀疏矩阵形式保存的码本索引,以完成对所述植物病虫害识别模型的模型量化与压缩。
在一实施方式中,可以对所述植物病虫害识别模型进行多次剪枝训练处理以实现对所述深度学习模型进行多次处理以得到剪枝后的植物病虫害识别模型。经过量化与压缩处理不仅可以减小所述植物病虫害识别模型的大小,还可以确保所述植物病虫害识别模型的准确度。
步骤S29,将经过所述模型处理的所述植物病虫害识别模型的调用过程使用NDK和/或SDK编译成动态链接库,以部署至所述计算机设备。
具体地,可以利用C++语言完成模型调用,并将所述植物病虫害识别模型的调用过程编译成所述动态链接库,以部署至所述计算机设备。所述动态链接库可以支持不同操作系统的所述计算机设备的调用。
在一实施方式中,将经过所述模型处理的所述植物病虫害识别模型的调用过程编译成动态链接库并部署至所述计算机设备,从而开发出一植物病虫害识别应用,便于所述计算机设备(如手机)调用所述植物病虫害识别应用对待识别植物图像进行植物病虫害识别。所述植物病虫害识别应用可以包括交互界面,所述交互界面可以包括按钮界面、图像显示界面及文本显示界面。所述按钮界面可以包括拍照按钮和识别按钮,所述图像显示界面可以用于展示当前拍摄到的植物图像,所述文本显示界面可以用于显示识别结果。所述拍照按钮用于获取用户的触发操作以获取待识别样本图像。所述识别按钮用于获取用户的触发操作以对待识别植物图像进行植物病虫害识别。所述识别结果可以包括染上的所述植物病虫害的名称。所述文本显示界面还可以用于显示治理方案,便于用户可以根据该方案对植物病虫害进行及时的治理,而不用再去请教专家。
在一实施方式中,在所述植物病虫害识别应用开发完成后可以先对所述植物病虫害识别应用进行测试,以确认所述植物病虫害识别应用是否可以正常运行。若所述植物病虫害识别应用不能正常运行即测试不成功,则需要对该植物病虫害识别应用进行开发调试。
在一实施方式中,当植物病虫害识别模型部署在所述计算机设备时,可以利用所述计算机设备对待识别植物图像进行植物病虫害识别。
具体地,在需要进行植物病虫害识别时,可以先触发所述计算机设备中的植物病虫害识别应用的拍照按钮以通过所述计算机设备的摄像装置拍摄所述待识别植物图像,在获取所述待识别植物图像后触发所述植物病虫害识别应用的识别按钮使得所述植物病虫害识别应用可以调用所述植物病虫害识别模型对所述待识别的植物病虫害进行植物病虫害识别,并在所述文本显示界面显示识别结果,如此用户可以通过所述识别结果及时对所述植物病虫害进行治理。
在一实施方式中,所述待识别植物图像还可以是预先存储在本地图像数据库的图像,这样当需要识别的植物图像较多或用户当前繁忙时,可以先拍摄并保存所述待识别植物图像,待后期调用所述植物病虫害识别应用对再对所述待识别植物图像一一进行植物病虫害识别,提升了用户的体验感。
本发明实施例通过预先获取多个样本图像并将所述样本图像划分为训练集、验证集及测试集,然后基于训练集、验证集及测试集对预设深度学习网络进行训练得到植物病虫害识别模型,这样在获取到待识别植物图像之后,可以通过所述植物病虫害识别模型及时准确地识别植物病虫害。同时,在判定经过所述训练集训练后的所述预设深度学习网络不收敛时,可以通过确定经过所述训练集训练后的所述预设深度学习网络的收敛程度并选择与所述收敛程度对应的参数调整方案对所述预设深度学习网络进行参数调整,实现有针对性地对所述预设深度学习网络进行调整,提升模型训练速度。进一步地,对所述植物病虫害识别模型进行量化处理与压缩处理;以及将经过所述量化与压缩处理的所述植物病虫害识别模型的调用过程使用NDK和/或SDK编译成动态链接库,以部署至计算机设备,如此,可以通过所述计算机设备调用所述植物病虫害识别模型来实现对所述待识别植物图像进行植物病虫害识别,提高了识别的灵活性和准确度,降低了病虫害识别成本。
请参阅图3,示出了本发明实施例之植物病虫害识别装置300(以下简称为“识别装置”300)的程序模块示意图。所述识别装置300可以应用于计算机设备中,所述计算机设备可以是移动电话、平板个人计算机(tablet personal computer)、膝上型计算机(laptopcomputer)、服务器等具有数据传输功能的设备。在本实施例中,所述识别装置300可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述植物病虫害识别方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述植物病虫害识别方法在存储介质中的执行过程。在本实施例中,所述植物病虫害识别装置300包括获取模块301、划分模块302、训练模块303、验证模块304、确定模块305、调整模块306、测试模块307及设定模块308。以下描述将具体介绍本实施例各程序模块的功能:
获取模块301,用于获取多个样本图像并对每一所述样本图像进行标注,其中所述样本图像为染上一种植物病虫害的植物图像,多个所述样本图像包含有多种植物病虫害。
具体地,所述植物图像可以是染上一种植物病虫害的植物的局部图像,也可以是整体图像。对于每一种植物病虫害,所述获取模块301可以获取一张或多张样本图像。举例而言,可以通过人为拍照方式来获取多个植物染上相同的植物病虫害的样本图像和/或多个植物分别染上不同的植物病虫害的样本图像,并存储至指定存储区,获取模块301可以从该指定存储区读取多个样本图像。获取模块301还可以通过访问一存储在网络上的植物病虫害样本库,进而来获取所述植物病虫害样本库存储的染上所述植物病虫害的植物图像。所述植物病虫害样本库可以通过大数据方式搜集多个植物染上相同的植物病虫害的样本图像和/或多个植物分别染上不同的植物病虫害的样本图像,也可以通过接收人为录入的多个植物染上相同的植物病虫害的样本图像和/或多个植物分别染上不同的植物病虫害的样本图像。
可以理解,所述获取模块301在对每一所述样本图像进行标注前,还可以对获取多个样本图像进行预处理,以保证所述样本图像的质量。所述预处理可以包括统一所述样本图像的尺寸和格式、删除清晰度不够的所述样本图像、对所述样本图像进行裁剪,对所述样本图像进行亮度调整等。
在一实施方式中,获取模块301可以通过建立每一所述样本图像与所述植物病虫害名称的映射关系以对每一所述样本图像标注对应的植物病虫害名称。具体地,在获取多个所述样本图像后,所述获取模块301建立每一所述样本图像与所述植物病虫害名称的映射关系,使得每一所述样本图像都携带有所述植物病虫害的名称信息,以用于说明样本图像所染上的植物病虫害的类型。举例而言,所述获取模块301可以获取分别染上A、B、C类植物病虫害的植物图像,若所述植物图像感染A类植物病虫害,则所述获取模块301可以为所述样本图像标注“A”;若所述植物图像感染B类植物病虫害,则所述获取模块301可以为所述样本图像标注“B”;若所述植物图像感染C类植物病虫害,则所述获取模块301可以为所述样本图像标注“C”。
在完成所述样本图像的获取及标注之后,所述获取模块301可以将所述样本图像统一存入样本图像库中,如此在后续需要采用获取到的样本图像对模型进行训练时,即可以从所述样本图像库中获取这些样本图像。
划分模块302,用于将多个所述样本图像划分为训练集、验证集及测试集。
具体地,所述划分模块302可以根据预设划分比例将多个所述样本图像划分为训练集、验证集及测试集,所述预设划分比例可以根据实际使用需求进行设定。比如,所述划分模块302可以将多个所述样本图像按照8:1:1的方式划分为所述训练集、所述验证集及所述测试集。举例而言,所述获取模块301可以获取1000张所述样本图像,所述划分模块302可以将1000张所述样本图像按照8:1:1的方式划分为所述训练集、所述验证集及所述测试集。也就是说,所述训练集可以包括800张所述样本图像,所述验证集可以包括100张所述样本图像,所述测试集可以包括100张所述样本图像。
在其他实施方式中,所述划分模块302可以按照其他预设划分比例来划分为训练集、验证集及测试集,在此不作限定。
训练模块303,用于利用所述训练集对预设深度学习网络进行训练。
其中,所述预设深度学习网络可以为Efficientnet深度学习网络,也可以为其他的深度学习网络,如VGG(Visual Geometry Group)网络。以下以预设深度学习网络为Efficientnet深度学习网络进行举例说明。EfficientNet网络是工程师Quoc V.Le在论文《EfficientNet:Rethinking Model Scaling for Convolutional Neural Networks》中提出。EfficientNet网络的基础网络架构是通过使用神经网络架构搜索(neuralarchitecture search)设计得到,与现有卷积神经网络模型的区别在于:现有网络在扩展卷积神经网络模型的时候,一般通过调整输入图像的大小、网络的深度和宽度(卷积通道数)来实现的,而EfficientNet网络提出了一种全新的模型缩放方法,该方法使用简单而高效的复合系数来权衡网络深度、宽度和输入图片分辨率,从而使得网络在效率和准确率上得到优化。
具体地,所述训练模块303可以利用所述训练集对所述Efficientnet深度学习网络进行训练。所述训练模块303可以按照预设批次大小将训练集的样本图像输入至Efficientnet深度学习网络进行训练。
验证模块304,用于利用所述验证集对经过所述训练集训练后的所述预设深度学习网络进行验证,以判断所述训练后的所述预设深度学习网络是否收敛。
具体地,当所述训练模块303利用训练集完成对预设深度学习网络的训练时,所述验证模块304可以利用所述验证集对经过所述训练集训练后的所述预设深度学习网络进行验证,以判断所述训练后的所述预设深度学习网络是否收敛,从而在训练后的所述预设深度学习网络不收敛的情况下利用调整模块306调整该预设深度学习网络的参数,并重新利用训练模块303对调整后的预设深度学习网络进行训练。
确定模块305,用于在判定经过所述训练集训练后的所述预设深度学习网络不收敛时,基于所述验证集中的每一样本图像的病虫害验证结果确定经过所述训练集训练后的所述预设深度学习网络的收敛程度。
在一实施方式中,若验证模块304判定经过所述验证集判定经过所述训练集训练后的预设深度学习网络不收敛,则表明所述训练集训练后的预设深度学习网络的效果不理想,确定模块305可以获取所述验证集中的每一样本图像的病虫害验证结果,并基于所述病虫害验证结果确定经过所述训练集训练后的所述预设深度学习网络的收敛程度。
调整模块306,用于选择与所述收敛程度对应的参数调整方案对所述预设深度学习网络进行参数调整,并利用所述训练集与所述验证集重新对调整后的所述预设深度学习网络进行训练与验证。
具体地,若验证模块304判定经过所述验证集判定经过所述训练集训练后的预设深度学习网络不收敛,则确定模块305确定经过所述训练集训练后的所述预设深度学习网络的收敛程度,调整模块306选择与所述收敛程度对应的参数调整方案对所述预设深度学习网络进行参数调整,并利用所述训练集与所述验证集重新对调整后的所述预设深度学习网络进行训练与验证,直到所述训练集与所述验证集训练与验证得到的经过调整后的预设深度学习网络收敛。
具体地,调整模块306可以先构建多个收敛程度区间与多个参数调整方案的映射关系,然后确定所述收敛程度落入的收敛程度区间,最后选择与所述收敛程度区间对应的参数调整方案对所述预设深度学习网络进行参数调整。通过构建多个收敛程度区间与多个参数调整方案的映射关系,使得每一收敛程度区间都有对应的参数调整方案,以根据训练后的所述预设深度学习网络的收敛程度来对参数进行调整,提高了调整效率。
在一实施方式中,所述收敛程度区间可以根据用户需求设定,多个所述收敛程度区间可以部分重合,也可以不重合。多个所述收敛程度区间的参数调整方案可以不同,也可以部分相同。
在一实施方式中,每一所述参数调整方案可以包括以下一种方式或多种调整方式:
a.调整训练集的批次大小;
b.调整所述Efficientnet深度学习网络的学习率;
c.调整所述Efficientnet深度学习网络的b0-b7的参数;
d.对所述样本图像进行数据增强处理(比如通过对样本图像进行翻转、旋转、镜像、高斯白噪声等实现数据增强)。
比如,参数调整方案A包括调整方式a与b,参数调整方案B包括调整方式a与c,参数调整方案C包括调整方式a、b与c,参数调整方案D包括调整方式a、b、c与d。
在一实施方式中,所述预设深度学习网络的收敛程度越低可以包括的调整方式可以越多,也就是说,所述预设深度学习网络的收敛的越不好调整的参数越多。举例而言,构建收敛程度区间I1、I2、I3,收敛程度区间I1的收敛程度高于收敛程度区间I2的收敛程度,收敛程度区间I2的收敛程度高于收敛程度区间I3的收敛程度,所述收敛程度区间I1对应的参数调整方案包括调整方式a;所述收敛程度区间I2对应的参数调整方案包括包括调整方式a、b;所述收敛程度区间I3对应的参数调整方案包括调整方式a、b、c。在一实施方式中,在验证模块304确定经过所述训练集训练后的Efficientnet深度学习网络收敛时,表明所述训练集训练后的Efficientnet深度学习网络的效果满足要求,可以进行后续的测试集测试验证。
测试模块307,用于在判定经过所述训练集训练后的所述预设深度学习网络收敛时,利用所述测试集对训练完成的所述预设深度学习网络进行测试,并根据每一测试结果统计得到一病虫害识别准确率,以判断所述病虫害识别准确率是否小于预设阈值。
具体地,若判定经过所述训练集训练后的所述预设深度学习网络收敛,则表明经过训练后的Efficientnet深度学习网络的效果满足要求,所述测试模块306可以利用所述测试集对训练完成的所述Efficientnet深度学习网络进行测试,并根据测试集中每一样本图像的测试结果统计得到一病虫害识别准确率,以判断所述病虫害识别准确率是否小于预设阈值,从而实现确定完成样本图像训练的Efficientnet深度学习网络的病虫害识别效果是否理想。
在一实施方式中,所述预设阈值可以根据实际使用需求进行设定,例如所述预设阈值可以设置为96%。
在一实施方式中,若训练完成的Efficientnet深度学习网络的病虫害识别准确率小于所述预设阈值,则调整模块305可以再次调整所述Efficientnet深度学习网络的参数,训练模块303利用所述训练集重新对调整后的Efficientnet深度学习网络进行训练,直到经过所述训练集训练后的Efficientnet深度学习网络收敛且所述测试集验证得到的病虫害识别准确率不小于所述预设阈值。
可以理解,当训练完成的Efficientnet深度学习网络的病虫害识别准确率小于所述预设阈值时,同样可以通过以下一种或多种方式的组合来实现对所述Efficientnet深度学习网络的参数的调整:调整训练集的批次大小;调整所述Efficientnet深度学习网络的学习率;调整所述Efficientnet深度学习网络的b0-b7的参数;对所述样本图像进行数据增强处理。
具体地,若训练完成的Efficientnet深度学习网络的病虫害识别准确率小于所述预设阈值,表明当前训练完成的Efficientnet深度学习网络的病虫害识别效果不理想,不能满足实际病虫害识别需求,需要进行改善,此时所述调整模块305可以再次调整所述Efficientnet深度学习网络的参数,所述训练模块303利用所述训练集重新对调整后的Efficientnet深度学习网络进行训练,所述验证模块304利用所述验证集对重新训练后的Efficientnet深度学习网络进行重新验证,在所述Efficientnet深度学习网络收敛时,所述测试模块306利用所述测试集对重新验证后的所述Efficientnet深度学习网络进行重新测试得到一新的病虫害识别确率,再判断新的病虫害识别准确率是否小于预设阈值,如此重复直到新的病虫害识别准确率不小于所述预设阈值。
设定模块308,用于在所述病虫害识别准确率不小于所述预设阈值,将训练完成的所述预设深度学习网络作为植物病虫害识别模型,以对待识别植物图像进行植物病虫害识别。
具体地,若所述病虫害识别准确率不小于所述预设阈值,表明当前训练完成的Efficientnet深度学习网络的病虫害识别效果满足实际病虫害识别需求,则所述设定模块307可以将当前训练完成的所述Efficientnet深度学习网络作为植物病虫害识别模型,以在后续对所述待识别植物图像进行植物病虫害识别。
具体地,当训练得到所述植物病虫害识别模型时,可以基于所述植物病虫害识别模型对待识别植物图像进行植物病虫害识别。可以将染上植物病虫害的待识别植物图像作为所述植物病虫害识别模型的输入,所述植物病虫害识别模型的输出即为所述待识别植物图像的病虫害识别结果。所述识别结果可以是染上的所述植物病虫害的名称。
所述待识别植物图像可以通过人为拍照方式获取。所述待识别植物图像可以是预先存储在本地图像数据库的图像,这样当需要识别的图像较多或用户当前繁忙时,可以先拍摄待识别植物图像并保存,待后期调用所述植物病虫害识别模型再对所述待识别植物图像一一进行识别,提升了用户的病虫害识别体验。
本发明实施例通过获取多个样本图像并对每一所述样本图像进行标注,其中所述样本图像为染上一种植物病虫害的植物图像,多个所述样本图像包含有多种植物病虫害;将多个所述样本图像划分为训练集、验证集及测试集;利用所述训练集对预设深度学习网络进行训练;利用所述验证集对经过所述训练集训练后的所述预设深度学习网络进行验证,以判断所述训练后的所述预设深度学习网络是否收敛;若判定经过所述训练集训练后的所述预设深度学习网络不收敛,则基于所述验证集中的每一样本图像的病虫害验证结果确定经过所述训练集训练后的所述预设深度学习网络的收敛程度;选择与所述收敛程度对应的参数调整方案对所述预设深度学习网络进行参数调整,并利用所述训练集与所述验证集重新对调整后的所述预设深度学习网络进行训练与验证;若判定经过所述训练集训练后的所述预设深度学习网络收敛,则利用所述测试集对训练完成的所述预设深度学习网络进行测试,并根据每一测试结果统计得到一病虫害识别准确率,以判断所述病虫害识别准确率是否小于预设阈值;若所述病虫害识别准确率不小于所述预设阈值,则将训练完成的所述预设深度学习网络作为植物病虫害识别模型,以对待识别植物图像进行植物病虫害识别。本发明实施例通过预先获取多个样本图像并将所述样本图像划分为训练集、验证集及测试集,然后基于训练集、验证集及测试集对预设深度学习网络进行训练得到植物病虫害识别模型,这样在获取到待识别植物图像之后,可以通过所述植物病虫害识别模型及时准确地识别植物病虫害,降低种植成本。同时,在判定经过所述训练集训练后的所述预设深度学习网络不收敛时,可以通过确定经过所述训练集训练后的所述预设深度学习网络的收敛程度并选择与所述收敛程度对应的参数调整方案对所述预设深度学习网络进行参数调整,实现有针对性地对所述预设深度学习网络进行调整,提升模型训练速度。
请参阅图4,示出了本发明另一实施例之识别装置300的程序模块示意图。与图3相比,识别装置300还包括模型处理模块309及编译模块310。
模型处理模块309,用于对所述植物病虫害识别模型进行模型处理,所述模型处理至少包括量化处理与压缩处理。
具体地,所述量化处理可以是指将所述植物病虫害识别模型的参数浮点型转为int8类型。
在一实施方式中,所述压缩处理可以是指对所述植物病虫害识别模型进行裁剪,以减小模型参数量。所述植物病虫害识别模型的模型参数量较大,所述模型处理模块309可以采用Ncnn工具对所述植物病虫害识别模型进行量化处理和压缩处理,以便于后续在所述计算机设备进行运行。
在一实施方式中,所述模型处理模块309可以通过以下方式对所述植物病虫害识别模型进行量化处理与压缩处理:对所述植物病虫害识别模型进行剪枝训练处理以得到剪枝后的植物病虫害识别模型;对剪枝后的植物病虫害识别模型中的权重进行聚类处理以得到每个聚类的中心值;根据每个所述聚类的中心值生成码本;根据所述码本量化剪枝后的植物病虫害识别模型中的权重以使得量化后的植物病虫害识别模型实现权重共享;及对量化后的植物病虫害识别模型进行哈夫曼编码压缩处理,并根据压缩后的权重生成以稀疏矩阵形式保存的码本索引,以完成对所述植物病虫害识别模型的量化与压缩。
在一实施方式中,所述编码处理模块310可以对所述植物病虫害识别模型进行多次剪枝训练处理以实现对所述深度学习模型进行多次处理以得到剪枝后的植物病虫害识别模型。经过压缩与编码处理不仅可以减小所述植物病虫害识别模型的大小,还可以确保所述植物病虫害识别模型的准确度。
编译模块310,用于将经过所述模型处理的所述植物病虫害识别模型的调用过程使用NDK和/或SDK编译成动态链接库,以部署至计算机设备。
具体地,编译模块310可以利用C++语言完成模型调用,并将所述植物病虫害识别模型的调用过程编译成所述动态链接库,以部署至所述计算机设备。所述动态链接库可以支持不同操作系统的所述计算机设备的调用。
在一实施方式中,编译模块310可以将经过所述模型处理的所述植物病虫害识别模型的调用过程编译成动态链接库,以部署至所述计算机设备,便于后续开发出一植物病虫害识别应用,使得所述计算机设备(如手机)可以调用所述植物病虫害识别应用对待识别植物图像进行植物病虫害识别。
所述植物病虫害识别应用可以包括交互界面,所述交互界面可以包括按钮界面、图像显示界面及文本显示界面。所述按钮界面可以包括拍照按钮和识别按钮,所述图像显示界面可以用于展示当前拍摄到的植物图像,所述文本显示界面可以用于显示识别结果。所述拍照按钮用于获取用户的触发操作以获取待识别图像。所述识别按钮用于获取用户的触发操作以对待识别植物图像进行植物病虫害识别。所述识别结果可以包括染上的所述植物病虫害的名称。所述文本显示界面还可以用于显示治理方案,便于用户可以根据该方案对植物病虫害进行及时的治理,而不用再去请教专家。
在一实施方式中,在所述植物病虫害识别应用开发完成后可以先对所述植物病虫害识别应用进行测试,以确认所述植物病虫害识别应用是否可以正常运行。若所述植物病虫害识别系统不能正常运行即测试不成功,则需要对该植物病虫害识别应用进行开发调试。在需要进行植物病虫害识别时,可以先触发所述植物病虫害识别应用的拍照按钮以通过所述计算机设备的摄像装置拍摄所述待识别植物图像,在获取所述待识别植物图像后触发所述植物病虫害识别应用的识别按钮使得所述植物病虫害识别应用可以调用所述植物病虫害识别模型对所述待识别的植物病虫害进行植物病虫害识别,并在所述文本显示界面显示识别结果,如此用户可以通过所述识别结果及时对所述植物病虫害进行治理。
在一实施方式中,所述待识别植物图像还可以是预先存储在本地图像数据库的图像,这样当需要识别的植物图像较多或用户当前繁忙时,可以先拍摄并保存所述待识别植物图像,待后期调用所述植物病虫害识别应用对再对所述待识别植物图像一一进行植物病虫害识别,提升了用户的体验感。
本发明实施例通过预先获取多个样本图像并将所述样本图像划分为训练集、验证集及测试集,然后基于训练集、验证集及测试集对预设深度学习网络进行训练得到植物病虫害识别模型,这样在获取到待识别植物图像之后,可以通过所述植物病虫害识别模型及时准确地识别植物病虫害。同时,在判定经过所述训练集训练后的所述预设深度学习网络不收敛时,可以通过确定经过所述训练集训练后的所述预设深度学习网络的收敛程度并选择与所述收敛程度对应的参数调整方案对所述预设深度学习网络进行参数调整,实现有针对性地对所述预设深度学习网络进行调整,提升模型训练速度。进一步地,对所述植物病虫害识别模型进行模型处理,所述模型处理至少包括模型量化处理与模型压缩处理;以及将经过所述模型处理的所述植物病虫害识别模型的调用过程使用NDK和/或SDK编译成动态链接库,以部署至计算机设备,如此,可以通过所述计算机设备调用所述植物病虫害识别模型来实现对所述待识别植物图像进行植物病虫害识别,提高了识别的灵活性和准确度,降低了种植成本。
参阅图5,是本发明实施例之计算机设备400的硬件架构示意图。在本实施例中,所述计算机设备400是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。如图所示,所述计算机设备400至少包括,但不限于,可通过装置总线相互通信连接存储器401、处理器402、网络接口403。其中:
本实施例中,存储器401至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器401可以是计算机设备400的内部存储单元,例如所述计算机设备400的硬盘或内存。在另一些实施例中,存储器401也可以是计算机设备400的外部存储设备,例如所述计算机设备400上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器401还可以既包括计算机设备400的内部存储单元也包括其外部存储设备。本实施例中,存储器401通常用于存储安装于计算机设备400的操作装置和各类应用软件,例如植物病虫害识别装置300的程序代码等。此外,存储器401还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器402在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。所述处理器402通常用于控制计算机设备400的总体操作。本实施例中,处理器402用于运行存储器401中存储的程序代码或者处理数据,例如运行植物病虫害识别装置300,以实现上述各个实施例中的植物病虫害识别方法。
所述网络接口403可包括无线网络接口或有线网络接口,所述网络接口403通常用于在所述计算机设备400与其他电子装置之间建立通信连接。例如,所述网络接口403用于通过网络将所述计算机设备400与外部终端相连,在所述计算机设备400与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯装置(Global System of Mobile communication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图5仅示出了具有部件401-403的计算机设备400,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器401中的所述植物病虫害识别装置300还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器401中,并由一个或多个处理器(本实施例为处理器402)所执行,以完成本发明之植物病虫害识别方法。
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储植物病虫害识别装置300,以被处理器执行时实现本发明之植物病虫害识别方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种植物病虫害识别方法,其特征在于,包括:
获取多个样本图像并对每一所述样本图像进行标注,其中所述样本图像为染上一种植物病虫害的植物图像,多个所述样本图像包含有多种植物病虫害;
将多个所述样本图像划分为训练集、验证集及测试集;
利用所述训练集对预设深度学习网络进行训练;
利用所述验证集对经过所述训练集训练后的所述预设深度学习网络进行验证,以判断所述训练后的所述预设深度学习网络是否收敛;
若判定经过所述训练集训练后的所述预设深度学习网络不收敛,则基于所述验证集中的每一样本图像的病虫害验证结果确定经过所述训练集训练后的所述预设深度学习网络的收敛程度;
选择与所述收敛程度对应的参数调整方案对所述预设深度学习网络进行参数调整,并利用所述训练集与所述验证集重新对调整后的所述预设深度学习网络进行训练与验证;
若判定经过所述训练集训练后的所述预设深度学习网络收敛,则利用所述测试集对训练完成的所述预设深度学习网络进行测试,并根据每一测试结果统计得到一病虫害识别准确率,以判断所述病虫害识别准确率是否小于预设阈值;
若所述病虫害识别准确率不小于所述预设阈值,则将训练完成的所述预设深度学习网络作为植物病虫害识别模型,以对待识别植物图像进行植物病虫害识别。
2.如权利要求1所述的植物病虫害识别方法,其特征在于,所述对每一所述样本图像进行标注的步骤,包括:
建立每一所述样本图像与所述植物病虫害名称的映射关系,以对每一所述样本图像标注对应的植物病虫害名称。
3.如权利要求1所述的植物病虫害识别方法,其特征在于,所述选择与所述收敛程度对应的参数调整方案对所述预设深度学习网络进行参数调整的步骤,包括:
构建多个收敛程度区间与多个参数调整方案的映射关系;
确定所述收敛程度落入的收敛程度区间;
选择与所述收敛程度区间对应的参数调整方案对所述预设深度学习网络进行参数调整。
4.如权利要求1所述的植物病虫害识别方法,其特征在于,所述预设深度学习网络为Efficientnet深度学习网络,所述判断所述病虫害识别准确率是否小于预设阈值的步骤之后,还包括:
若所述病虫害识别准确率小于所述预设阈值,则调整所述Efficientnet深度学习网络的参数,并利用所述训练集重新对调整后的Efficientnet深度学习网络进行训练,直到经过所述训练集训练后的Efficientnet深度学习网络收敛且所述测试集验证得到的病虫害识别准确率不小于所述预设阈值。
5.如权利要求3所述的植物病虫害识别方法,其特征在于,所述预设深度学习网络为Efficientnet深度学习网络,每一所述参数调整方案包括以下一种或多种调整方式:
调整训练集的批次大小;
调整所述Efficientnet深度学习网络的学习率;
调整所述Efficientnet深度学习网络的b0-b7的参数;
对所述样本图像进行数据增强。
6.如权利要求1所述的植物病虫害识别方法,其特征在于,所述植物病虫害识别方法还包括:
对所述植物病虫害识别模型进行模型处理,所述模型处理至少包括量化处理与压缩处理;及
将经过所述模型处理的所述植物病虫害识别模型的调用过程使用NDK和/或SDK编译成动态链接库,以部署至计算机设备。
7.如权利要求6所述的植物病虫害识别方法,其特征在于,所述对所述植物病虫害识别模型进行量化处理与压缩处理的步骤,包括:对所述植物病虫害识别模型进行剪枝训练处理以得到剪枝后的植物病虫害识别模型;
对剪枝后的植物病虫害识别模型中的权重进行聚类处理以得到每个聚类的中心值;
根据每个所述聚类的中心值生成码本;
根据所述码本量化剪枝后的植物病虫害识别模型中的权重以使得量化后的植物病虫害识别模型实现权重共享;及
对量化后的植物病虫害识别模型进行哈夫曼编码压缩处理,并根据压缩后的权重生成以稀疏矩阵形式保存的码本索引,以完成对所述植物病虫害识别模型的模型量化与压缩。
8.一种植物病虫害识别装置,其特征在于,所述植物病虫害识别装置包括:
获取模块,用于获取多个样本图像并对每一所述样本图像进行标注,其中所述样本图像为染上一种植物病虫害的植物图像,多个所述样本图像包含有多种植物病虫害;
划分模块,用于将多个所述样本图像划分为训练集、验证集及测试集;
训练模块,用于利用所述训练集对预设深度学习网络进行训练;
验证模块,用于利用所述验证集对经过所述训练集训练后的所述预设深度学习网络进行验证,以判断所述训练后的所述预设深度学习网络是否收敛;
确定模块,在判定经过所述训练集训练后的所述预设深度学习网络不收敛时,基于所述验证集中的每一样本图像的病虫害验证结果确定经过所述训练集训练后的所述预设深度学习网络的收敛程度;
调整模块,选择与所述收敛程度对应的参数调整方案对所述预设深度学习网络进行参数调整,并利用所述训练集与所述验证集重新对调整后的所述预设深度学习网络进行训练与验证;测试模块,用于在判定经过所述训练集训练后的所述预设深度学习网络收敛时,利用所述测试集对训练完成的所述预设深度学习网络进行测试,并根据每一测试结果统计得到一病虫害识别准确率,以判断所述病虫害识别准确率是否小于预设阈值;
设定模块,用于在所述病虫害识别准确率不小于所述预设阈值,将训练完成的所述预设深度学习网络作为植物病虫害识别模型,以对待识别植物图像进行植物病虫害识别。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的植物病虫害识别方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1-7中任一项所述的植物病虫害识别方法的步骤。
CN202011122414.3A 2020-10-20 2020-10-20 植物病虫害识别方法、装置及计算机设备 Pending CN112215293A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011122414.3A CN112215293A (zh) 2020-10-20 2020-10-20 植物病虫害识别方法、装置及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011122414.3A CN112215293A (zh) 2020-10-20 2020-10-20 植物病虫害识别方法、装置及计算机设备

Publications (1)

Publication Number Publication Date
CN112215293A true CN112215293A (zh) 2021-01-12

Family

ID=74056026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011122414.3A Pending CN112215293A (zh) 2020-10-20 2020-10-20 植物病虫害识别方法、装置及计算机设备

Country Status (1)

Country Link
CN (1) CN112215293A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112883822A (zh) * 2021-01-28 2021-06-01 广东技术师范大学 集预测与预防为一体的病虫害预测位置分析方法和装置
CN113240001A (zh) * 2021-05-11 2021-08-10 华中农业大学 一种棉花花药开裂状态识别方法及系统
CN116188872A (zh) * 2023-03-09 2023-05-30 北京甲板智慧科技有限公司 一种林业病虫害自动识别方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018058821A1 (zh) * 2016-09-30 2018-04-05 深圳前海弘稼科技有限公司 一种基于种植设备的病虫害预测方法及装置
CN108615046A (zh) * 2018-03-16 2018-10-02 北京邮电大学 一种储粮害虫检测识别方法及装置
CN108694386A (zh) * 2018-05-15 2018-10-23 华南理工大学 一种基于并联卷积神经网络的车道线检测方法
CN110009043A (zh) * 2019-04-09 2019-07-12 广东省智能制造研究所 一种基于深度卷积神经网络的病虫害检测方法
CN111553236A (zh) * 2020-04-23 2020-08-18 福建农林大学 基于道路前景图像的路面病害目标检测与实例分割方法
CN111695417A (zh) * 2020-04-30 2020-09-22 中国人民解放军空军工程大学 一种信号调制样式识别方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018058821A1 (zh) * 2016-09-30 2018-04-05 深圳前海弘稼科技有限公司 一种基于种植设备的病虫害预测方法及装置
CN108615046A (zh) * 2018-03-16 2018-10-02 北京邮电大学 一种储粮害虫检测识别方法及装置
CN108694386A (zh) * 2018-05-15 2018-10-23 华南理工大学 一种基于并联卷积神经网络的车道线检测方法
CN110009043A (zh) * 2019-04-09 2019-07-12 广东省智能制造研究所 一种基于深度卷积神经网络的病虫害检测方法
CN111553236A (zh) * 2020-04-23 2020-08-18 福建农林大学 基于道路前景图像的路面病害目标检测与实例分割方法
CN111695417A (zh) * 2020-04-30 2020-09-22 中国人民解放军空军工程大学 一种信号调制样式识别方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
邱锡鹏,飞桨教材编写组: "《基于深度神经网络技术的高分遥感图像处理及应用》", 30 April 2020, 北京:机械工业出版社 , pages: 162 - 163 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112883822A (zh) * 2021-01-28 2021-06-01 广东技术师范大学 集预测与预防为一体的病虫害预测位置分析方法和装置
CN113240001A (zh) * 2021-05-11 2021-08-10 华中农业大学 一种棉花花药开裂状态识别方法及系统
CN116188872A (zh) * 2023-03-09 2023-05-30 北京甲板智慧科技有限公司 一种林业病虫害自动识别方法及装置

Similar Documents

Publication Publication Date Title
CN112215293A (zh) 植物病虫害识别方法、装置及计算机设备
CN106960219B (zh) 图片识别方法及装置、计算机设备及计算机可读介质
CN110147878B (zh) 数据处理方法、装置及设备
CN111291761B (zh) 用于识别文字的方法和装置
CN112001370A (zh) 一种农作物病虫害识别方法及系统
CN111198815B (zh) 用户界面的兼容性测试方法及装置
CN112527676A (zh) 模型自动化测试方法、装置及存储介质
CN110852076B (zh) 一种自动化疾病编码转换的方法及装置
CN110390315B (zh) 一种图像处理方法及装置
CN109978058B (zh) 确定图像分类的方法、装置、终端及存储介质
CN110232130B (zh) 元数据管理谱系生成方法、装置、计算机设备和存储介质
CN114724140A (zh) 一种基于yolo v3的草莓成熟度检测方法、装置
CN110427998A (zh) 模型训练、目标检测方法及装置、电子设备、存储介质
CN112580382B (zh) 基于目标检测二维码定位方法
CN110210314B (zh) 人脸检测方法、装置、计算机设备及存储介质
CN110716778B (zh) 应用兼容性测试方法、装置及系统
CN110147850B (zh) 图像识别的方法、装置、设备及存储介质
CN115131670A (zh) 一种水稻图片智能审核方法、系统、装置及设备
CN107135402A (zh) 一种识别电视台图标的方法及装置
CN113408571B (zh) 一种基于模型蒸馏的图像分类方法、装置、存储介质及终端
CN115272956A (zh) 一种基于改进的YOLOv5的鸡只健康度监测方法
CN114973022A (zh) 基于高空间分辨率遥感影像的畜牧业牲畜监测提取方法
CN112580510A (zh) 可渗透地面面积率的估算方法、装置、设备及存储介质
CN112819030A (zh) 图像识别模型训练方法、装置、存储介质及终端
CN112329854B (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