[病虫害识别|博士论文]面向农作物叶片病害鲁棒性识别的深度卷积神经网络研究

2023-11-14

创新点:

  1. 针对实际环境识别精度不高的问题,提出使用一种高阶残差卷积神经网络方法(High-Order Residual and Parameter-Sharing Feedback Convolutional Neutral Network, HORPSF),实现高精度和强鲁棒性的识别。
  2. 针对农作物病害图像复杂、病斑区域小、病斑与北京对比度小从而容易产生两者混淆等特点儿严重影响识别效果,导致鲁棒性不高的问题,提出一种基于自注意力的卷积神经网络(Self-Attention Convolution Neural Network, SACNN)
  3. 针对鲁棒性弱的问题,提出一种告诫残差和参数共享反馈的卷积神经网络模型(High-Order Residual and Parameter-Sharing Feedback Convolutional Neutral Network, HORPSF)

目前的农作物病害图像识别方法类别:

  1. 基于手工设计特征的
  2. 基于深度特征学习的:
  • 深度学习模型来提取特种:使用的公开数据集:PlantVillage数据集/基于简单背景的农作物病害识别。没有其他因素影响,图像清晰,病斑明显。
    PlantVillage数据集

文章中的方法

内容及关联联系

加参数共享的是为了->提高识别鲁棒性实现监督精度和鲁棒性两方面的识别性能

自注意力->在前两种方法上,将自注意力机制引入农作物病害识别研究中来:实际环境中强,但是加入高斯和椒盐两种噪声干扰时,不如上一个强

定义高阶残差网络 HOResNet学习丰富细致的特征,从而识别率更高。自然环境采集的AEX-CD9214数据集。

国内外现状

农作物病害识别方法主要有:
田间症状观察:原始、存在主观误判
基于化学和分子生物学的病害检测:需要昂贵的仪器和实验平台
基于光谱技术的检测:需要光谱仪、对环境的参数变化名改,缺乏病害种类的特异性
基于可见光图像的识别:主要针对于这个

对病害做出有效诊断和防治

手工设计特征

能够描述图像类编的相关特征(入颜色、形状纹理等)一般分为图像预处理、特征表示、分类识别等步骤基于手工设计特征的农作物病害图像识别方法流程图
基于手工设计特征的农作物病害图像识别方法流程图

  • 优点
    进行了大量研究,取得了较好的识别效果,基于选择的分类器不同而分为不同的方法
  • 缺点
    1.费力 2.存在主观因素
  • 例证
  1. 支持向量机(Support Vector Machine,SVM)模型广泛使用
  2. 利用神经网络模型进行分类识别
    =Sanyal等人选用神经网络对水稻两种病害叶片和健康叶片实现分类识别,实验结果表明其识别率可以达到89.26%
  3. 使用贝叶斯分类器识别
    赵玉霞等人利用朴素贝叶斯分类器的统计学习方法对五种玉米病斑图进行分类识别
    唐朝霞等人通过遗传算法进行特征优选之后,采用贝叶斯分类器识别玉米病害图像,使得识别准确率得到了提高
    Phadikar等人利用贝叶斯和SVM分类器对水稻叶褐斑病和叶瘟病两种病害进行分类。
    结果显示,相比SVM分类器,贝叶斯分类器的识别精度高,识别速度快。
  4. 使用随机森林方法识别
  5. 其他分类模型研究,
    许良凤等人针对单分类器识别的局限性,面向具有复杂性的玉米叶部病害,提出了一种基于自适应加权的多分类器融合玉米叶部病害识别方法

基于深度特征学习的农作物病害识别研究

深度卷积神经功能网络基于深度特征学习的图像识别方法,与传统相比:可以获取图像的全局/上下文特征
只需要迭代学习就可以找到合适的分类特征

  • 多层感知机
  • 卷积神经网络

大多针对的是PlantVillage/简单的图像识别,需要对复杂条件下进行进一步研究

基于高阶残差的卷积神经网络的农作物病害识别

我国是世界上农作物病害发生较为严重的国家之一,病害分布广、突发性强、防空难度大

  1. 柯圣财等人针对传统图像特征表达能力差和适应性不强等问题,引入一个包含5个卷积层、3个采样层和1个全连接层的卷积神经网络提取图像深层特征,以增强图像特征区分性和表达能力。
  2. 残差网络:2015年由何凯明提出,其中最主要的就是残差学习

原始的卷积神经网络,当网络层加深的时候,会出现精度不变,但是误差增大的情况。因此,为了让网络层数加深,而误差不变大,假如加入恒等映射则会保持参数量、精度和误差都不会收到影响。从而让卷积层只学习细微的特征。相当于只在恒等式的右边加入一个趋近于0的函数,使得加入卷积层对于恒等映射的影响不大
即使得:H(x) = f(x) + x。其中F(x)为残差函数,是卷积层需要学习的残差,也是需要关注的细微特征。
何凯明的残差函数思想使得网络层数可以很深,但是不会出现梯度消失的现象,深度网络的性能更优

  • Cheng等人使用ResNet实现复杂农田背景下的害虫的准确识别. ResNet101精度最该
  • Artzai等人通过在ResNet50的基础上,用两个连续的33的卷积层代替ResNet50中的第一个77的卷积层,后面都接的是3*3的最大池化层,从而提取更好的细粒视觉特则恶化功能。 0.78 -》0.87
    以上都是基于ResNet进行预训练模型的迁移学习,或者只该卷积核的尺度。

结构图:

高阶残差卷积神经网络HOResNet整体架构图

高阶残差模块结构图

定义了:高阶残差模块,如上图。圆圈⭕️表达是和操作层,将多个输入做和运算,将这种级联操作定义为高阶残差模块(HOR)

残差模块结构图
3个卷积层:CONV1\2\3 输出分别为X1\2\3
X1和X3的通道数相同,可以将X1和X3级联起来,结果为整个残差子网络的总输出

借助了残差学习的思想,卷积层学习的是残差函数
假如 H(x) = F(x) + X1 = X1 + X3,则残差函数F(x) = H(x) - X1 = X3。
整个网络中实现了将经过CONV!卷积的底层特征和经过CONV1\2\3三个卷积层卷积到的高级细节特征一起提取出来,传递到下面的网络结构中继续进行提取
== 总结:该模块可以利用网络中底层特征的斜街描述和高层特征的全局表达,为农作物病害表现提供丰富细致的特征表达==
(在PlantVillage/AES-CD9214(自建)上模拟验证)

  1. 残差模块必要性验证
    测试中间带/不带卷积层的区别(传统是不带的)-> 带了卷积层更好

  2. 卷积层层数的选择
    列出在残差模块3/4中间插入3-6层卷积成 -> 5层效果最好 卷积层数增加导致模型参数增大,因此对于训练数据量较少的时候,参数过多容易过拟合

  3. 参数详情
    选择11/33两种卷积核
    避免训练样本不足导致的过拟合问题:选择更深的网络设计策略来设计通道的每一层,在每一层上均使用小通道
    HOResNet

  4. 方法实现细节
    使用Softmax作为目标函数
    计算公式
    优化算法:Adam最优化算法,学习率2*10^-3, epoch = 120
    PlantVillage:有关农业的问答论坛,数据集基于该论坛建成
    AES-CD9214:做着在依然环境下,6种原始病害图像共2240张

对比方法

采用CNN、FB(带反馈的军机神经网络)、HOResNet作为对照


基于高阶残差和参数共享反馈的卷积神经网络农作物病害识别方法

在数据集上带着卷积层和不带卷积层的识别精确率对比结果曲线图

(a)图像中出现了人手,给识别带来干扰;(b)图像中水沟,杂草等背景影响主体病害图像;(c)图像中固定桩的出现给图像带来了识别干扰:(d)光照不足影响图像质量和识别准确率:(e)光照过强,使得图像主体曝光白化;(f)杂草遮挡病害部位;(g)塑料薄膜出现导致背景复杂:(h)水珠、污溃使得图像病斑变形

引入了高阶残差模块提高了准确率

他人的方法:

  1. 构建一个两路对称且权值共享的深度卷积神经网络来增强目标的可识别性,来解决目标跟踪过程中遮挡、光照变化等问题的鲁棒性
  2. 一种通过稳定性训练提高深度网络鲁棒性的方法,该方法,对输入图像具有小扰动的图像进行训练,保持模型保持恒定,具有更高的鲁棒性,在噪声数据集上进行测试时测试准确率更高
  3. 一种多级卷积神经网络提取多尺度特征,提高图像识别的鲁棒性。
  4. 提出一种深度对准网络(解决面部图像的头部姿势大的变化),使用整个面部图像在所有阶段
  5. 在卷积神经网络中引入反馈回路,证明了反馈网络有助于更好地捕捉具有复杂背景和多个物件的图像中预期目标的视觉注意力,而且反馈网络具有一定水平的选择性,可以自上而下推理过程中提供非相关抑制,允许模型聚焦于提高类置信度的最显著图像区域

作者的方法:
将反馈网络引入上文的高阶残差网络中

结构图:

HORPSF网络整体结构图

级联机制:链接了前三个残差模块的输出=》提高模型的识别率

残差子网络结构及参数细节

  • 参数共享反馈子网络:

在HORPSF方法中定义了一个新的参数共享反馈子网络
参数共享反馈子网络结构图
将卷积层重新加载,加载之后进行两次卷积,再将卷积结果返回到前面的浅层,重复加载后作为输出传递到后面的网络层模型中=》将网络中深层卷积层的特征反馈至浅层卷积层,进行再一次的精细过滤调整,进一步压制背景噪声

  • 网络参数:
    HORPSF网络参数详情

对比方法:

  1. SVM(RBF)方法:
    对叶片特征进行提取之后使用基于径向基核函数RBF的SVM分类器来对提取到的叶片特征进行分类。其中SVM使用的是libsvm来实现的,而特征提取使用的LEAR的方法实现的gist特征提取
  2. LeafSnap NN
    使用LEAR的方法提取gist特征之后,使用神经网络对提取到的叶片的gist特征进行分类识别
  3. HCF SVM(RBF)
    对某表中(文献96中的表1)列出来的手工设计的特征进行提取之后使用基于RBF的SVM分类器进行分类。
  4. HCF-ScaleRobust SVM(RBF)
    对HCF特征中去除叶轮廓长度、面积和骨架长度的其他手工特征进行提取,并使用基于RBF的SVM分类器进行分类
  5. Combine线性SVM方法中特征提取包括一个卷积神经网络ConvNet提取的特征、HCF-ScaleRobust特征。其中ConvNet是一个包括5个卷积层、3个最大池化层和2个全链接层的神经网络系统,用来提取叶片集的特征。HCF-ScaleRobust特征是手工设计的特征,包括:紧性(面积/周长2)、坚固性(凸面面积/面积)、周长、骨架长度/周长、以及椰香酥强度特征(包括墙堵住、最大值、范围、均值、中植、标准偏差、峰度、偏度)等。
  6. SIFT线性SVM方法:
    通过提取SIFT特征,使用基于稀疏编码的线性空间金字塔匹配SPM核的简单现实性SVM分类方法的分类识别

本文的方法
采用CNN\PSF\HOR\HORPSF四种方法进行对比实验

基于自注意力的卷积神经网络农作物病害图像识别研究

深度学习里的注意力机制,源于人脑的注意力机制。只使用一个很小的感受野来处理图像需要特别关注的区域,使得高维的图像处理计算难度降低。深度卷积神经网络本身就自带注意力的功能。激活的维度正好就是显著性区域。
自注意力机制是注意力机制的一种特殊情况,将自注意力机制引入到卷积神经网络中,更好的对农作物病斑区域重点关注。

带自注意力的图片

图中框标出的是病斑区域,可见大部分病斑区域小,与背景对比度小,容易混渚病斑和背景,从而会给识别带来挑战。

网络架构

Self-Attention Convolutional Neural Network, SACNN 基于自注意力的卷积神经网络

基于自注意力的卷积神经网络SACNN的农作物病害识别方法整体架构
其中普通举行是基本网络Base-Net, 中间的位自注意力模块(Self-Attention,SA)

  • Base-Net
    3个残差模块、1个最大池化层、3个卷积层、1个全局平均池化层、一个Softmax层,如下图
    SACNN中Base-Net的详细架构及参数(核尺寸、通道数量、步长、卷积层编号

其中

  1. 第一个卷积层和第三个卷积层都是33卷积核,中间为11
  2. 第一个步长伟2,将输入尺寸减小
  3. 整个网络只用了11和33规格的卷积核,使得参数量大大减少,页避免了图像及过小而产生个过拟合
  4. 使用更深的网络设计策略,每一层使用的都是小通道,最小数为8,最大数为128
  5. 使用3个连续的残差模块,提高网路识别性能,抑制过拟合,解决对于样本数量不足的训练问题
  • 自注意力网络:

自注意力网络架构图

⨂表示的是矩阵乘法操作:⊕表示的是求和操作,其上方的μ表示SA(x)需要乘以系数μ之后再进行求和操作;卷积层虚线引向的框中列出的是三个卷积层的相应参数,其中c为输入的通道数,ratio表示通道设置比例,可取1/2,1/8,1/10,1/16等。
将基本网络卷积层输出的特征映射In(X)输入到自注意力网络时,首先并行经过卷积层Conv1、Conv2、Conv3卷积,其输出分别为L(x)、M(x)、N(x)。自注意力网络中的卷积层参数如图5.4所示,其中Convl和Conv2通道数为c*ratio,这里c为输入In(x)的通道数,ratio是一个比例系数,可以取1/2、1/4、1/6、1/8、1/10、1/16等,具体取值需要通过实验测试来确定最佳值。

后续再对合理性进行验证

对比方法:

基于SACNN的农作物病害图像识别系统 AES-CDR(Crop Disease Recognition, CDR)

AES-CDR系统可以实现6种病害类别和非病害类别之间的分类识别
新增的其他类别图像示例
AES-CDR整体架构

总结

  1. 针对实际环境识别精度不高,设计并实现了高阶残差网络——高阶残差卷积神经网络方法(High-Order Residual Convolutional Neural Network HOResNet)
  2. 针对实际环境下识别鲁棒性弱的问题,设计并实现了参数共享反馈网络——(High-Order Residual and Parameter Sharing Feedback Convolutional Neural Network, HORPSF)
  3. 针对农作物病害图像背景复杂,病斑区域小、病斑与北京对比度小从而造成两者混淆等特点,导致识别鲁棒性不高的问题,提出了一种基于自注意力的卷积神经网络(Self-Attention Convolutional Neural Network, SACNN)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[病虫害识别|博士论文]面向农作物叶片病害鲁棒性识别的深度卷积神经网络研究 的相关文章

随机推荐

  • UE4 材质 生成随机数

    参考之前的文章中关于随机数和noize的 https papalqi cn 201707 cid 558 html
  • 蓝桥之顺子日期

    小明特别喜欢顺子 顺子指的就是连续的三个数字 123 456 等 顺子日期指的就是在日期的 yyyymmdd 表示法中 存在任意连续的三位数是一个顺子的日期 例如 20220123 就是一个顺子日期 因为它出现了一个顺子 123 而 202
  • Linux系统之使用Keepalived+Nginx部署高可用Web集群

    Linux系统之使用Keepalived Nginx部署高可用Web集群 一 本次实践介绍 1 1 本次实践简介 1 2 本次实践环境规划 二 Keepalived和Nginx介绍 2 1 Keepalived简介 2 2 Keepaliv
  • 针对java.net.SocketException: Connection reset的问题排查

    针对java net SocketException Connection reset的问题排查 最近在与第三方系统对接接口时 需要用到socket这种方式 在调试过程中 一直出现java net SocketException Conne
  • 钓鱼邮件攻击分析

    北京网际思安科技有限公司麦赛邮件安全实验室 MailSec Lab 研究发布了 2022年全球邮件威胁报告 以下简称 报告 报告数据显示 在2022年 全球每1000个邮箱 平均每月遭受的邮件攻击数量为299 27次 不含垃圾邮件 同比增加
  • VUE+ElementUI+VueDraggable +El-ImageViewer 实现图片批量上传,支持拖拽控制顺序及图片预览

    话不多说 上代码 没安vuedraggable的小伙伴们自行安装一下 npm install vuedraggable 具体实现
  • Windows 启动Hive 提示:Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClien

    Windows 10 启动Hive 提示如下错误信息 2020 07 06 11 51 18 958 WARN metadata Hive Failed to register all functions java lang Runtime
  • 前端开发经验小结

    http被浏览器强制跳转https 本地调试时如果遇到http强制跳转https的情况 需要修改一下浏览器的HSTS域名安全策略 具体可参考这篇文章 如果是在微信开发者工具 参考这篇文章 window open性能问题 window ope
  • 单片机通用Bootloader框架

    通用Bootloader框架 终端控制台预览 flash分区 APP分区固件制作 设置中断向量表 设置flash起始地址 加入升级成功标识写入 生成可烧写bin文件 固件升级与上载 更新固件 上载固件 升级方式 工程下载 最近搞了Bootl
  • Mysql的安装配置教程(详细)

    首先简单概述分为几个步骤 一 下载Mysql 二 安装Mysql 三 验证Mysql安装是否成功 四 配置环境变量 五 验证配置环境变量是否成功 一 下载Mysql 要在Windows或Mac上安装MySQL 首先从MySQL官方网站下载最
  • uniapp中map使用点聚合渲染marker覆盖物

    效果如图 一 什么是点聚合 当地图上需要展示的标记点 marker 过多时 可能会导致界面上 marker 出现压盖 展示不全 并导致整体性能变差 针对此类问题 推出点聚合能力 点聚合官网教程 二 基本用法 template
  • 使用wireshark对HTTPS解密

    最近需要解析HTTPS流量 所以对wireshark的HTTPS解密进行了实测 使用wireshark解密https的方法 方法一 1 在wireshark的首选项中的protocols的tls选项里添加服务器私钥文件 p12文件需要填写密
  • jar包修改编译反编译操作

    1 首先下载一个反编译工具JD GUI 自己用的是这款 2 获取到你要改的jar包文件 3 先把jar包直接解压暂时放在一个目录里 本人准备修改这个文件 4 再把jar包拖进JD GUI进行解码然后保存到另一个文件夹中 jarTest 5
  • C++ 堆内存分配 new delete 简谈

    堆内存 堆区 heap 是内存空间 是区别于栈区 全局数据区和代码区的内存区域 是程序在运行时申请的内存空间 new和delete new和delete是C 专有的操作符 不需要声明头文件 new是用来申请分配堆内存的 delete是用来释
  • 剖析muduo网络库核心代码,重写muduo库

    项目简介 模拟muduo库实现nonnon blocking IO multiplexing loop线程模型的高并发 TCP 服务器模型 开发环境 Centos7 技术栈 C 多线程 socket网络编程 epoll多路转接 项目设计 整
  • 某机字长为32位,存储容量为64MB,若按字节编址.它的寻址范围是多少?

    问题 1 某计算机字长为32位 其存储容量为16MB 若按双字编址 它的寻址范围是多少 2 某机字长为32位 存储容量为64MB 若按字节编址 它的寻址范围是多少 解答 我的方法是全部换算成1位2进制的基本单元来算 先计算总容量 如第一题中
  • telnet端口不通怎么解决(单边不通的方法建议)

    telnet端口不通是大家在检测端口的时候可能会遇到的问题之一 遇到这种状况一般要如何解决呢 这里为各位带来分享 看一下telnet端口不通的解决方式 看一下如何处理吧 telnet端口不通怎么解决 1 开放供应商服务器端口 总是出现由于连
  • The engine “node“ is incompatible with this module. Expected version

    前言 vue项目用了yarn yarn install后报错如下 开始 执行 yarn config set ignore engines true 然后yarn install后成功 结束 在此记录问题 如有需要修改的地方 还请不吝赐教
  • Kubernetes—K8S运维管理

    Kubernetes K8S运维管理 更新中 一 Node管理 1 1 Node的隔离与恢复 1 2 Node 的扩容 二 更新资源对象的Label 三 Namespace 集群环境共享与隔离 3 1 创建Namespace 3 2 定义C
  • [病虫害识别|博士论文]面向农作物叶片病害鲁棒性识别的深度卷积神经网络研究

    文章目录 创新点 文章中的方法 国内外现状 手工设计特征 基于深度特征学习的农作物病害识别研究 基于高阶残差的卷积神经网络的农作物病害识别 结构图 对比方法 基于高阶残差和参数共享反馈的卷积神经网络农作物病害识别方法 结构图 对比方法 基于