基于YOLO的酸枣病虫害检测识别实践
在我前面的博文中对于农作物病虫害的检测识别已经做过了,不过那个主要是针对水稻的,文章如下:
《基于yolov5的轻量级水稻虫害目标检测项目实践》
感兴趣的话可以自行移步阅读。
这里主要是针对酸枣常见的几种病虫害检测检测识别,首先看下效果:

接下来看下数据集概况:

YOLO格式标注数据文件如下:

实例标注内容如下:
1 0.25 0.34507 0.036364 0.030986
1 0.211364 0.460563 0.027273 0.033803
1 0.132955 0.239437 0.029545 0.04507
1 0.15 0.149296 0.036364 0.033803
1 0.177841 0.103521 0.053409 0.057746
1 0.179545 0.026761 0.025 0.033803
1 0.239205 0.05 0.014773 0.038028
1 0.331818 0.039437 0.013636 0.033803
1 0.411932 0.011972 0.0375 0.015493
1 0.677273 0.052817 0.034091 0.043662
1 0.786364 0.057746 0.086364 0.112676
1 0.877273 0.069718 0.045455 0.026761
1 0.095455 0.505634 0.079545 0.129577
1 0.150568 0.63169 0.0625 0.05493
1 0.201136 0.708451 0.056818 0.061972
1 0.180114 0.546479 0.017045 0.033803
1 0.224432 0.543662 0.014773 0.033803
1 0.140341 0.39507 0.021591 0.023944
1 0.204545 0.391549 0.015909 0.030986
1 0.238636 0.391549 0.015909 0.025352
1 0.247159 0.449296 0.019318 0.033803
1 0.265909 0.551408 0.011364 0.023944
1 0.280114 0.725352 0.017045 0.039437
1 0.339773 0.452817 0.015909 0.023944
1 0.389773 0.530282 0.034091 0.043662
1 0.340909 0.685915 0.022727 0.033803
1 0.451136 0.580282 0.015909 0.028169
1 0.430682 0.51831 0.018182 0.03662
1 0.449432 0.207042 0.019318 0.019718
1 0.516477 0.217606 0.019318 0.021127
1 0.531818 0.159155 0.011364 0.022535
1 0.589773 0.125352 0.020455 0.028169
1 0.622159 0.11338 0.023864 0.026761
1 0.684091 0.116197 0.018182 0.015493
1 0.555114 0.225352 0.014773 0.042254
1 0.597159 0.380282 0.017045 0.039437
1 0.549432 0.628873 0.0375 0.111268
1 0.480682 0.756338 0.052273 0.090141
1 0.440341 0.926761 0.071591 0.073239
1 0.589773 0.825352 0.095455 0.222535
1 0.74375 0.70493 0.132955 0.153521
1 0.665909 0.55 0.022727 0.057746
1 0.626705 0.571831 0.023864 0.033803
1 0.728409 0.411268 0.061364 0.169014
1 0.781818 0.296479 0.036364 0.074648
1 0.736932 0.182394 0.044318 0.043662
1 0.807386 0.15493 0.019318 0.030986
1 0.836932 0.174648 0.019318 0.028169
1 0.901705 0.247183 0.017045 0.038028
1 0.849432 0.294366 0.014773 0.076056
1 0.829545 0.421127 0.059091 0.059155
1 0.803409 0.482394 0.022727 0.035211
1 0.788636 0.556338 0.034091 0.08169
1 0.186364 0.222535 0.027273 0.109859
1 0.238636 0.249296 0.043182 0.033803
VOC格式标注数据文件如下所示:

实例标注内容如下所示:
<annotation><folder>Data</folder><filename>1f4707fe-6d90-4115-80fd-b0e5e3d4b18f.jpg</filename>.<source><database>The Database</database><annotation>Data</annotation><image>Data</image></source><owner><name>YSHC</name></owner> <size><width>495</width><height>372</height><depth>3</depth></size><segmented>0</segmented><object> <name>G</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>588</xmin><ymin>314</ymin><xmax>632</xmax><ymax>368</ymax></bndbox></object><object> <name>G</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>784</xmin><ymin>526</ymin><xmax>807</xmax><ymax>534</ymax></bndbox></object><object> <name>G</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>803</xmin><ymin>557</ymin><xmax>848</xmax><ymax>578</ymax></bndbox></object></annotation>
这里我使用的是yolov5s系列的模型,yaml文件如下所示:
#Parameters
nc: 3 # number of classes
depth_multiple: 0.33 # model depth multiple
width_multiple: 0.50 # layer channel multiple
anchors:- [10,13, 16,30, 33,23] # P3/8- [30,61, 62,45, 59,119] # P4/16- [116,90, 156,198, 373,326] # P5/32#Backbone
backbone:# [from, number, module, args][[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2[-1, 1, Conv, [128, 3, 2]], # 1-P2/4[-1, 3, C3, [128]],[-1, 1, Conv, [256, 3, 2]], # 3-P3/8[-1, 6, C3, [256]],[-1, 1, Conv, [512, 3, 2]], # 5-P4/16[-1, 9, C3, [512]],[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32[-1, 3, C3, [1024]],[-1, 1, SPPF, [1024, 5]], # 9]#Head
head:[[-1, 1, Conv, [512, 1, 1]],[-1, 1, nn.Upsample, [None, 2, 'nearest']],[[-1, 6], 1, Concat, [1]], # cat backbone P4[-1, 3, C3, [512, False]], # 13[-1, 1, Conv, [256, 1, 1]],[-1, 1, nn.Upsample, [None, 2, 'nearest']],[[-1, 4], 1, Concat, [1]], # cat backbone P3[-1, 3, C3, [256, False]], # 17 (P3/8-small)[-1, 1, Conv, [256, 3, 2]],[[-1, 14], 1, Concat, [1]], # cat head P4[-1, 3, C3, [512, False]], # 20 (P4/16-medium)[-1, 1, Conv, [512, 3, 2]],[[-1, 10], 1, Concat, [1]], # cat head P5[-1, 3, C3, [1024, False]], # 23 (P5/32-large)[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)]
默认100epoch的迭代计算,结果详情如下:
混淆矩阵:

F1值曲线:

PR曲线:

batch计算实例:

后面有时间考虑集成一下新的Backbone网络。
CSDN现在这个写作平台太卡了,数据一粘贴完全卡成xiang......
相关文章:

基于YOLO的酸枣病虫害检测识别实践
在我前面的博文中对于农作物病虫害的检测识别已经做过了,不过那个主要是针对水稻的,文章如下:《基于yolov5的轻量级水稻虫害目标检测项目实践》感兴趣的话可以自行移步阅读。这里主要是针对酸枣常见的几种病虫害检测检测识别,首先…...

WAF:ModSecurity on Nginx(15)
预备知识 Nginx概述 Nginx ("engine x") 是一个高性能的HTTP和 反向代理 服务器,也是一个 IMAP/POP3/SMTP服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代…...

Qt 第3课、Qt 中的字符串类
1、C 标准库 STL STL 是意义上需要与C 一同发布的标准库STL 是一套以模板技术完成的 C类库STL 中包含了常用的算法和数据结构STL 包含了字符串类 2、Qt 和 STL STL 的具体实现依赖于编译器生产厂商STL 的 “标准” 只是其接口是标准的 — 相同的全局函数 — 相同的算法类和数…...

Vulnhub靶场----6、DC-6
文章目录一、环境搭建二、渗透流程三、思路总结一、环境搭建 DC-6下载地址:https://download.vulnhub.com/dc/DC-6.zip kali:192.168.144.148 DC-6:192.168.144.154 靶机描述:选择带k01的密码后面会用到 访问192.168.144.154&…...

华为OD机试真题Python实现【去重求和】真题+解题思路+代码(20222023)
去重求和 给定一个数组,编写一个函数, 计算他的最大N个数和最小N个数的和, 需要对数组进行去重。 🔥🔥🔥🔥🔥👉👉👉👉👉👉 华为OD机试(Python)真题目录汇总 输入 第一行输入M,M表示数组大小 第二行输入M个数,表示数组内容 第三行输入N表示需要…...

lammps教程:Ovito选择特定晶粒的方法
大家好,我是小马老师。 本文介绍如何使用ovito提取特定的晶粒。 在多晶的lammps模拟中,可能会对某一个特定晶粒的变形情况进行分析,此时,需要找到这个晶粒,并进行单独分析。 ovito有专用的晶粒识别命令,…...

DevEco Studio 3.1 Beta1版本发布——新增六大关键特性,开发更高效
智能代码编辑、端云一体化开发、低代码开发个性化…… 六大新增关键特性,开发更高效,体验更觉妙! 立即点击链接下载,做DevEco Studio 3.1 Beta1版本尝鲜者! 下载链接:HUAWEI DevEco Studio和SDK下载和升级 …...

【蓝桥杯每日一题】二分算法
🍎 博客主页:🌙披星戴月的贾维斯 🍎 欢迎关注:👍点赞🍃收藏🔥留言 🍇系列专栏:🌙 蓝桥杯 🌙我与杀戮之中绽放,亦如黎明的花…...

Spring Batch 高级篇-并行步骤
目录 引言 概念 案例 转视频版 引言 接着上篇:Spring Batch 高级篇-多线程步骤,了解Spring Batch多线程步骤后,接下来一起学习一下Spring Batch 高级功能-并行步骤 概念 并行步骤,指的是某2个或者多个步骤同时执行。比如下…...

对spring的@Cacheable缓存理解
1 什么是缓存第一个问题,首先要搞明白什么是缓存,缓存的意义是什么。对于普通业务,如果要查询一个数据,一般直接select数据库进行查找。但是在高流量的情况下,直接查找数据库就会成为性能的瓶颈。因为数据库查找的流程…...

力扣-市场分析
大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:1158. 市场分析二、解题1.错误示范①提交SQL运行结果2.正确示范①提交SQL运行结果3.错误示范②提交SQL运行结果4.正确示范②提交SQL运行结果5.其他总结前…...

【2357. 使数组中所有元素都等于零】
来源:力扣(LeetCode) 描述: 给你一个非负整数数组 nums 。在一步操作中,你必须: 选出一个正整数 x ,x 需要小于或等于 nums 中 最小 的 非零 元素。nums 中的每个正整数都减去 x。 返回使 n…...

什么品牌的游戏蓝牙耳机比较好?玩游戏延迟低的蓝牙耳机推荐
游戏耳机的出现其实最主要的作用就是让玩家能够更专注的沉浸在游戏世界内,在声音层面去享受游戏的沉浸感,游戏最重要的就是操作灵敏,需要快速通过声音来判断敌人走向,所以小编特意整理了一期玩游戏延迟低的蓝牙耳机。 一、南卡小…...

day 33 状态压缩dp
二维状态压缩dp对于解决哈密顿回路问题的状态压缩dp只能计算固定起点到其他点的总方案数或最小路径等回路计数小蓝现在在第一栋教学楼,他想要访问每栋教学楼正好一次,最终回到第一栋教学楼(即走一条哈密尔顿回路)可看做࿱…...

扬帆优配|超3600股飘绿,人民币贬值近300点!外资净卖近38亿
今天早盘,A股整体震动调整,白马蓝筹股体现较弱,上证50、沪深300指数均跌超1%。 盘面上,国防军工、造纸、数字钱银、IT设备等板块逆势活跃,酿酒、酒店餐饮、钙钛矿电池、有色等板块跌幅居前。两市半日成交4577亿&#x…...

【编程基础之Python】6、Python基础知识
【编程基础之Python】6、Python基础知识Python基础知识Python的基本要素模块语句表达式注释Python的代码格式Python基础知识 Python 是一种高级的、动态的、解释型的编程语言,具有简单易学、开发效率高、可读性强等特点,广泛应用于数据科学、Web 开发、…...

selenium基本操作
爬虫与反爬虫之间的斗争爬虫:对某个网站数据或图片感兴趣,开始抓取网站信息;网站:请求次数频繁,并且访问ip固定,user_agent也是python,开始限制访问;爬虫:通过设置user_a…...

思科设备命令讲解(超基础二)
♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放࿰…...

HTML基础(3)
HTML基础单选框、复选框、下拉框文本框< script >标签属性< script >基本使用单选框、复选框、下拉框 文本框 < script >标签属性 type属性定义script元素包含或src引用的脚本语言。属性值是MIME类型,包括text/javascript,text/ecmascript, appl…...

鸿蒙3.0 APP混合开发闪退问题笔记
APP采用cordova混合开发, 鸿蒙2.0以及安卓操作系统正常使用,但是在鸿蒙3.0中出现APP闪退,对APP进行真机调试发现,鸿蒙3.0系统对crosswork插件存在兼容问题,这些问题会导致APP页面加载失败,进而导致App闪退测…...

批量操作文件功能-课后程序(JAVA基础案例教程-黑马程序员编著-第七章-课后作业)
【实验7-1】 批量操作文件功能 任务介绍 1.任务描述 在日常工作中,经常会遇到批量操作系统文件的事情,通常情况下,只能手动重复的完成批量文件的操作,这样很是费时费力。本案例要求编写一个文件管理器,…...

Hadoop3.3.1完全分布式部署
Hadoop目录Hadoop3.3.1完全分布式部署(一)1、HDFS一、安装1、基础安装1.1、配置JDK-181.2、下载并解压hadoop安装包本地运行模式测试 eg:2、完全分布式运行模式1、概要:2、编写集群分发脚本,把1~4步安装的同步到其他服务器:2.1、创建脚本vim …...

SpringMVC中的注解
SpringMVC中的注解 文章目录SpringMVC中的注解RequestMapping注解RequestMapping中的value属性RequestMapping中的method属性派生类PathVariable注解RequestParam注解RequestMapping注解 RequestMapping中的value属性 RequestMapping:既可以标识在方法上也可以标识…...

python+Vue学生作业系统 django课程在线学习网站系统
系统分为学生,教师,管理员三个角色: 学生功能: 1.学生注册登录系统 2.学生查看个人信息,修改个人信息 3.学生查看主页综合评价,查看今日值班信息 4.学生在线申请请假信息,查看请假的审核结果和请…...

CSS 美化网页元素【快速掌握知识点】
目录 一、为什么使用CSS 二、字体样式 三、文本样式 color属性 四、排版文本段落 五、文本修饰和垂直对齐 1、文本装饰 2、垂直对齐方式 六、文本阴影 七、超链接伪类 1、语法 2、示例 3、访问时,蓝色;访问后,紫色; …...

Tableau连接openGauss实践
目录 一、摘要 二、什么是Tableau? 三、安装Tableau 四、安装ODBC驱动 1、openGauss数据库 2、连接前置条件 3、Tableau连接openGauss方式一 4、Tableau连接openGauss方式二 一、摘要 Tableau可以连接到多种数据库,包括关系型数据库࿰…...

RabbitMQ 实现延迟队列
业务场景:1.生成订单30分钟未支付,则自动取消,我们该怎么实现呢?2.生成订单60秒后,给用户发短信1 安装rabbitMqwindows安装ubuntu中安装2 添加maven依赖<!-- https://mvnrepository.com/artifact/org.springframework.boot/spr…...

Spring Bean 生命周期,好像人的一生
简单说说IoC和Bean IoC,控制反转,想必大家都知道,所谓的控制反转,就是把new对象的权利交给容器,所有的对象都被容器控制,这就叫所谓的控制反转。 控制反转 Bean,也不是什么新鲜玩意儿…...

C++算法基础课 05 —— 数据结构1_单链表/双链表/栈/单调栈/队列/单调队列/KMP
文章目录 1. 单链表(用数组模拟链表)1.1 模板1.1.1 插入操作1.1.2 删除操作1.2 习题1 —— 826.单链表2. 双链表2.1 模板2.1.1 插入操作2.1.2 删除操作2.2 习题1 —— 827.双链表3. 栈(用数组模拟栈)3.1 模板3.2 习题1 —— 828.模拟栈4. 单调栈4.1 模板4.2 习题1 —— 830.单调…...

小型水库大坝安全监测的主要对象
一、监测背景 大坝监测的目的分成两个大的方面,一方面是为了验证设计、指导施工、为科研提供必要的资料;另一方面,也可以说是更重要的方面,就是为了长期监视大坝的安全运行。因此,一个成功的监测设计者不仅要能充分领会…...