英文论文(sci)解读复现【NO.9】基于注意机制的葡萄叶片病害检测

news2024/11/25 19:19:05
此前出了目标检测算法改进专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读发表高水平学术期刊中的 SCI论文,并对相应的SCI期刊进行介绍,帮助大家解答疑惑,助力科研论文投稿。解读的系列文章,本人会进行 创新点代码复现,有需要的朋友可关注私信我获取。

一、摘要

葡萄病害的防治是保证葡萄产量的关键措施。为了提高葡萄叶部病害检测的精度,本研究采用挤压-激励网络(SE),高效渠道关注(ECA)和卷积块注意力模块将CBAM注意机制引入到快速区域卷积神经网络中(R-CNN)、YOLOx和单次激发多盒检测器(SSD),增强重要特征,弱化无关特征,保证模型的实时性,提高模型的检测精度。研究表明,基于不同注意机制的Faster R-CNN、YOLOx和SSD模型通过略微增强参数,有效提高了模型的检测精度和运算速度。在三种模型中选择最优模型进行比较,结果表明,Faster R-CNN+SE的检测精度较低,YOLOx+ECA需要的参数最少,检测精度最高,SSD+SE显示出最佳的实时性能,检测精度相对较高。该研究解决了葡萄叶部病害检测难的问题,为自动化农业生产中葡萄病害及症状的分析提供了参考。

二、网络模型及核心创新点

 1.挤压-激励网络(SE)

2.高效渠道关注(ECA)

3.卷积块注意力模块

三、数据集

本研究的数据集来自于采集的葡萄叶片病害图像,数据集中的样本为在真实田间环境复杂背景下拍摄的葡萄叶片病害图像。自建数据集包含 2300 张葡萄叶片病害图像,涵盖白粉病、炭疽病、褐斑病、灰霉病、黑痘病、霜霉病等 6种葡萄病害,如图 1所示。

四、实验效果(部分展示)

1)基于不同注意机制的Faster R-CNN模型实验结果分析整合 SE 注意机制的 Faster R-CNN 模型简称 Faster R-CNN+SE,整合ECA注意机制的Faster R-CNN模型简称 FasterR-CNN+ECA,整合CBAM 注意机制的 Faster R-CNN 模型简称Faster R-CNN+CBAM。在相同的实验环境下,采用Faster R-CNN+SE、Faster R-CNN+ECA、Faster R-CNN+CBAM、Faster R-CNN 对葡萄病害
数据集进行病害检测,实验结果如表3所示。

 N+CBAM的参数略有提高,但在引入注意机制后,这三个模型的性能都优于原 Faster R-CNN。这是因为注意机制的引入可以帮助获取疾病图像中对疾病对象贡献率高的特征信息,提高检测精度,加快检测速度。

2) YOLOx模型基于不同注意机制的实验结果分析

引入 SE注意机制的 YOLOx模型简称YOLOx+SE;引入ECA注意机制的 YOLOx 模型简称YOLOx+ECA;引入CBAM注意机制的 YOLOx 模型简称 YOLOx+CBAM。在相同的实验环境下
YOLOx+SE、YOLOx+ECA、YOLOx+CBAM、YOLOx采用该方法对葡萄病害数据集进行病害检测,实验结果如表4所示。

虽然 YOLOx+SE 模型和 YOLOx+ECA 模型的参数略有提高,但引入注意机制的 3种YOLOx 模型的检测指标均高于原YOLOx 模型。这是因为注意机制的引入使得模型
提取的特征更加全面和丰富,模型更加关注疾病对象,从而提高了检测精度。

五、实验结论

1)针对Faster R-CNN模型检测精度较低的问题,本研究在原模型的基础上引入了 SE、ECA和CBAM三种注意机制。实验结果表明,Faster R- cnn +SE、Faster R- cnn +ECA、Faster R- cnn
+CBAM的P、R、F1 值均高于 Faster R- cnn。随着注意模块的增加,参数略有增加。在以上模型中,Faster R-CNN+SE 对葡萄病害数据集的检测效果最佳。
2)为克服 YOLOx 模型在不同环境下精度较低的缺陷,将SE、ECA和CBAM三种注意机制引入YOLOx模型。实验结果表 明 , 引 入 注 意 机 制 后 YOLOx+SE 、 YOLOx+ECA 和YOLOx+CBAM的 P、R、F1、mAP和 FPS 值均高于 YOLOx,且略有升高。四种模型中YOLOx+ECA 的速度最快,性能最优。
3)避免疾病信息丢失或错误,将 SE、ECA和CBAM的注意机制引入到 SSD模型中。实验结果表明,SSD+SE、SSD+ECA和SSD+CBAM的P、R、F1、mAP和FPS值均高于SSD,且参数略有扩大。四种模型中,SSD+SE的检测速度显著快于其他三种模型,且其检测性能最好。
4)对 Faster R-CNN+SE、YOLOx+ECA 和 SSD+SE 3 种最优模型进行对比分析,结果表明 Faster R-CNN+SE 检测精度较低,且参数较多;YOLOx+ECA的参数最小,但检测精度最
高;SSD+SE的实时性最佳,检测精度较高。

注:论文原文出自 Grape leaf disease detection based on attention mechanisms本文仅用于学术分享,如有侵权,请联系后台作删文处理。

解读的系列文章,本人已进行创新点代码复现,有需要的朋友欢迎关注私信我获取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/525740.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(免费分享)基于微信小程序的旅游系统(带文档)

随着互联网的趋势的到来,各行各业都在考虑利用互联网将自己的信息推广出去,最好方式就是建立自己的平台信息,并对其进行管理,随着现在智能手机的普及,人们对于智能手机里面的应用旅游服务软件也在不断的使用&#xff0…

vue-8:Vuex状态管理模式库 + map辅助函数简写

为什么存:存仓库的多组件可以数据共享 核心api this.$store 每个组件都可以获取$store this.$store.commit("同步方法名", 参数) 调用同步方法,修改store中的数据 this.$store.dispatch("异步方法名", 参数) 调用异步方法&#x…

分布式数据库集成解决方案

分布式数据库集成解决方案 分析访问部署扩展.1 以界面方式创建数据库(采用DBCA) # 背景 由于公司业务的发展,要求在其它三个城市设立货仓,处理发货业务。公司本部运行着一套用Sybase数据库的MIS系统可以实现发货,该系统…

【多线程】线程池

目录 线程池是什么 标准库中的线程池 描述线程池工作原理 为什么不推荐使用系统自带的线程池 实现线程池 线程池是什么 线程池就是在池子里放的线程本身,当程序启动时就创建出若干个线程,如果有任务就处理,没有任务就阻塞等待。 想象这…

hive集成hbase Bytes.toByte处理字段 隐射为null乱码 加#b为0问题

解决hive集成hbase Bytes.toByte处理字段 隐射为null乱码 为0问题 错误例子(一) create external table bigdata_student(id string,name string,age int )stored by org.apache.hadoop.hive.hbase.HBaseStorageHandler with SERDEPROPERTIES ("h…

内网渗透(七十二)之域权限维持之伪造域控

伪造域控 2022年1月10日,国外安全研究员Kaido发文称发现了一种新的伪造域控方式,安全研究员只需要新建一个机器账户,然后修改机器账户的UserAccountControl属性为8192。活动目录就会认为这个机器账户就是域控,然后就可以使用这个新建的机器账户进行DCSync操作了。由于修改…

系统开发与运行

系统开发与运行 系统分析与设计 需求分析 需求工程 结构化分析与设计 测试基础知识 系统运行与维护 软件架构介绍 系统分析概述 系统分析是一种问题求解技术,它将一个系统分解成各个组成部分, 目的是研究各个部分如何工作、交互,以实现其系统目标…

Android系统启动全流程分析

当我们买了一个手机或者平板,按下电源键的那一刻,到进入Launcher,选择我们想要使用的某个App进入,这个过程中,系统到底在做了什么事,伙伴们有仔细的研究过吗?可能对于Framework这块晦涩难懂的专…

数据流畅驰骋:探秘Logstash在大数据领域的卓越表现【上进小菜猪大数据系列】

上进小菜猪,沈工大软件工程专业,爱好敲代码,持续输出干货。 摘要:Logstash是大数据领域中常用的数据处理引擎,能够高效地采集、转换和输出数据。本文将深入介绍Logstash的基本概念、工作原理和常见应用场景&#xff0…

科学计算库-Pandas随笔【及网络隐私的方法与策略闲谈】

文章目录 8.2、pandas8.2.1、为什么用 pandas ?8.2.2、pandas Series 类型8.2.3、pandas 自定义索引8.2.4、pandas 如何判断数据缺失?8.2.5、pandas DataFrame 类型8.2.6、pandas 筛选8.2.7、pandas 重新索引8.2.8、pandas 算数运算和数据对齐8.2.9、pan…

linux 内核开启调试选项

前言 嵌入式 linux 经常要编译 linux 内核,默认情况下编译出的内核镜像是不带调试信息的,这样,当内核 crash 打印 PC 指针和堆栈信息时,我们需要反汇编来确认出错位置,不直观。 如果内核开启了调试选项,我…

控制系统中的闭环带宽

控制系统中的闭环带宽是指反馈控制系统中控制器输出与被控对象输入之间的频率范围。具体来说,闭环带宽是在稳定性和响应速度之间做出的折衷,越高的闭环带宽通常意味着更快的响应速度,但也可能导致系统变得不稳定。 在实际应用中,…

HTML <base> 标签

实例 <head> <base href="http://www.w3school.com.cn/i/" /> <base target="_blank" /> </head><body> <img src="eg_smile.gif" /> <a href="http://www.w3school.com.cn">W3School<…

JAVA常用ApI - Object和Objects

文章目录 目录 文章目录 前言 一 .Object是什么&#xff1f; 二 .Object的常用方法 1.tostring 1.1 返回值 1.2 重写toString方法 3.clone(克隆) 1.克隆接口 三.Objects 总结 前言 大家好,我是最爱吃兽奶,今天给大家讲一下java中的object和object的工具类objects 那…

泰裤辣,可以利用AI测测Vue知识的掌握程度。

以下是一些常见的Vue面试题&#xff1a; 可以先试着回答&#xff0c;以下是参考答案。 1. 什么是Vue&#xff0c;它的优点是什么&#xff1f; Vue是一套用于构建用户界面的渐进式JavaScript框架&#xff0c;它以简洁的API和响应式数据绑定的特性来大大简化了前端开发过程。Vue…

Linux基本指令和操作(3)

目录 一. date指令 -- 显示时间 二. cal指令 -- 日历打印指令 三. find指令 -- 查找文件 四. grep指令 -- 行过滤指令 五. zip/unzip指令 -- 压缩和解压缩 六. tar指令 -- 解压/打包 或 查看压缩包内文件 七. bc指令 -- 计算器 八. uname指令 -- 获取电脑和操作系统相关…

webserver|4.23-4.24 TCP状态转换、半关闭、端口复用

4.23 TCP状态转换 四次挥手&#xff1a; 另一种状态图&#xff1a; 红色实线&#xff1a;客户端 绿色虚线&#xff1a;服务端状态转变 4.24 半关闭、端口复用 半关闭 基本就是一边closed&#xff0c;另一边还没有closed 一边一旦closed之后就不能再向另一方传数据&#xff08;A…

异常检测专栏(三)传统的异常检测算法——上

前言 在上一篇推文中&#xff0c;我们简要介绍了异常检测常用的几种数据集如ImageNet、CIFAR10/CIFAR100、MNIST等。接下来&#xff0c;我们将基于传统的异常检测算法分为上、下两部分&#xff0c;逐一介绍不同类别的方法。 本教程禁止转载。同时&#xff0c;本教程来自知识星球…

matlab将RGB图像在HSI空间去噪

思路与代码 RGB 转换为 HSI 的计算步骤如下&#xff1a; 首先归一化三通道值 &#xff1a; r R R G B r \frac{R}{RGB} rRGBR​ g G R G B g \frac{G}{RGB} gRGBG​ b B R G B b \frac{B}{RGB} bRGBB​ 接下来&#xff0c;计算 HSI 图像的亮度 I I I&#xf…

(转载)从0开始学matlab(第3天)—子数组

你可以选择和使用一个 MATLAB 函数的子集&#xff0c;好像他们是独立的数组一样。在数组名后面加括号&#xff0c;括号里面是所有要选择的元素的下标&#xff0c;这样就能选择这个函数的子集了。例如&#xff0c;假设定义了一个数组 arr1 如下 arr1[1.1 -2.2 3.3 -4.4 5.5] 那…