Python基于改进YOLOv5的烟叶病害检测系统(附带源码)
Python基于改进YOLOv5的烟叶病害检测系统(附带源码)
- 1.背景
- 2.前言
- 3.烟叶数据集的采集
- 4.烟叶数据集的标注
- 5.烟叶检测训练&识别效果
- 6.病害数据集的采集
- 7.病害数据集的标注
- 8.YOLOv5网络的改进
- 9.如何通过代码修改模型
- 10.病害检测训练&识别效果
- 11.系统整合
- PPT资源
- 相关完整源码代码
1.背景
烟草作为我国重要的经济作物之一,在国民经济中占据着重要地位。同时,烟草病害严重威胁烟叶质量,制约卷烟质量,给农业生产造成严重损失。因此,烟草病害防治是一个亟需解决的问题。
传统的烟草病害诊断方法不能及时,准确地解决实际栽培中遇到的病害种类识别问题,这就可能错失了防治病害的最佳时期。
2.前言
Python、Anacanda、Pycharm、CUDA和cuDNN等基础的环境安装部署可以参考博主的B站视频教程
[2022手把手教学版]Python&Anacanda&Pycharm安装,虚拟环境配置
[CUDA&cuDNN]炼丹师手把手带你安装CUDA&cuDNN(win10)
3.烟叶数据集的采集
4.烟叶数据集的标注
labelimg是一款开源的图像标注工具,标签可用于分类和目标检测,它是用python写的,并使用Qt作为其图形界面,简单好用(虽然是英文版的)。其注释以 PASCAL VOC格式保存为XML文件,这是ImageNet使用的格式。此外,它还支持 COCO数据集格式。
labelimg的使用可以参考:
LabelImg(目标检测标注工具)的安装与使用教程
5.烟叶检测训练&识别效果
训练的教程可以参考博主的博文:
Python基于深度学习yolov5的扑克牌识别
6.病害数据集的采集
7.病害数据集的标注
8.YOLOv5网络的改进
由于病害目标非常的小,原始的YOLOv5的最小的检测头的感受野依旧大于目标的尺寸,所以有必要对原始网络进行改进
通常目标检测的结构包含下图的模块
我们可以从上面的每个模块入手提出改进的点,例如我们从优化算法下手,Yolov5的作者提供了两个优化函数Adam和SGD(默认),并且都预设了匹配的训练超级参数。
我建议,如果您需要训练较小的自定义数据集,则Adam是更合适的选择。如果训练了较大的数据集,SGD对于Yolov5比Adam更好。
事实上,学术界还没有关于SGD和Adam之间哪个更好的统一结论,这取决于实际项目情况。
同时我们可以改进激活函数,Yolov5的作者使用leaky-relu 和 sigmoid激活函数。在Yolov5中,中间/隐藏层使用泄漏relu激活函数,最后一个检测层使用S形激活函数。Yolov4使用mish激活功能。
我们可以改进损失函数,Yolo级数的损失计算基于目标得分、类概率得分和边界框区域得分
Yolo V5使用GIOU损失作为边界框的损失。
Yolo V4使用CIOU损失作为边界框的损失。与上述其他方法相比,CIOU损失带来更快的收敛速度和更好的性能。
9.如何通过代码修改模型
(1)首先,您需要在models/common.py中实现mobilenetv2的瓶颈和PW_ Conv。
(2)然后,您需要更改代码(models/yolo.py的parse_model函数),以读取yolo V5中的模型配置文件,从而调用上述模块。
(3)并且PW_ Conv瓶颈MOB需要在导入参考处添加,
(4)然后,我们构建模型配置文件,我在yolov5s.yaml的基础上对其进行了修改
10.病害检测训练&识别效果
11.系统整合
最终我们将烟叶检测和病害检测的系统整合到一起,实现操作者只需看一眼,就可以对所有烟叶的健康状况有所知悉,同时,每一片烟叶的病害种类、位置和数量都很清晰的标注在叶片上。鲁棒性好、识别率高、准确性强。
PPT资源
[PPT]Python基于改进YOLOv5的烟叶病害检测系统PPT
相关完整源码代码
[YOLOv5烟叶病害识别]完整源码(带安装教程&数据集&演示视频)
Python基于改进YOLOv5的烟叶病害检测系统(附带源码)相关推荐
- Python基于CRNN&CTPN的文本检测系统(源码&教程)
1.背景 文本是人类最伟大和最具影响力的发明之一,是人类智慧的结晶,是人类文化.思想传承的一种基本的表达方式和不可或缺的载体.在21世纪,文本与日常生活密切相关.描述.理解万事万物,表达情感,与他人交 ...
- Python基于Opencv的鱼群密度速度检测系统(源码&教程)
1.研究背景 智慧渔业是大数据.物联网与人工智能等现代信息技术驱动下的渔业发展新模式,是水产养殖业供给侧结构性改革的重要方式,涉及养殖环境监测.生物环境监测与生物状态监测这几大方面的应用与需求.本文从 ...
- 基于改进AlexNet的植物中草药分类系统(源码&教程)
1.研究背景 传统的中草药图像识别往往需要人工采集大量的原始样本,再进行人工分析和研究,需要研究者具有相当丰富的中医药知识储备和经验,整个过程耗时耗力且识别率难以得到保证.随着信息技术的飞速发展,人工 ...
- 基于改进U-Net的铁道轨道分割系统(源码&教程)
1.研究背景 在铁路无人驾驶领域中,城市轨道交通中的地铁列车运行环境相对的封闭[1,2].使得较容易开展无人驾驶,从上世纪80年代开始无人驾驶系统应用于法国.日本.马来西亚.加拿大,新加坡等国家﹐国内 ...
- 基于改进First_order的表情驱动图片系统(源码&教程)
1.研究背景 早期的Facerig软件可以即时抓取摄像头视频中的人脸关键点,将表情.头部姿态等信息转化到三维虚拟化身上,比如一只猫.一个虚拟卡通人物上.然后在使用即时视频通讯软件时,选择facerig ...
- [附源码]计算机毕业设计Python基于微信小程序的网络办公系统(程序+源码+LW文档)
该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+N ...
- Python基于RCNN&CTC的文本识别系统(源码&部署教程)
1.项目展示 2.CTPN+CRNN+CTC文字识别网络构建 首先CNN提取图像卷积特征 然后LSTM进一步提取图像卷积特征中的序列特征 最后引入CTC解决训练时字符无法对齐的问题 一般情况下对一张图 ...
- [智慧农业]Python基于改进YOLOv5的猕猴桃叶病害检测系统(完整源码&数据集&视频教程)
1.背景 现如今由于农作物病虫害的多样性和复杂性,在特定的条件下其很容易在大范围内发生,导致农产品产量急剧下降.因此,预防和监测农作物病虫害已成为农业生产活动中的重要环节.当前,耕地面积逐渐减少,世界 ...
- 基于改进YOLOv5的挖机铲斗缺陷检测系统(源码&教程)
1.研究背景 针对现有电铲斗齿检测方法存在实时性较差.误报率较高等问题,提出了一种基于机器视觉的电铲斗齿缺失检测方法.该方法利用红外热像仪采集铲斗图像,基于模板匹配原理对复杂背景下斗齿的目标区域进行准 ...
最新文章
- HTML中href src区别,html中 href 和 src 的定义与区别
- 多网卡下如何配置指定IP走某个路由器(适用于外网不通,但是钉钉服务器通的情况)...
- rocketmq消息持久化到mysql_RocketMQ之事务消息
- 浅谈“be practical and realistic”
- 委托和事件[delegate and event]_C#
- 【转】java.util.ResourceBundle使用详解
- webpack笔记_(1)_webpack 安装
- C语言范例学习03-上
- php检查某个网站,用php开发一个检测某网站是否在正常运行的小模块
- pycharm英语怎么读_pycharm快捷键翻译
- UG标准件库的使用方法
- 关于坑爹的QQ互联成为开发者的坑
- 腾讯云cdn设置 php,腾讯云CDN缓存过期配置问题详解
- 潘赟九宫格写作总结(精简背诵版)
- java if 终止_java中跳出或终止if语句的方法
- alios thing 信号量_信号量_AliOS Things内核_API参考文档_AliOS Things 文档_IoT物联网操作系统 - 阿里云...
- App 抓包利器:Charles 以及 App 爬虫心得
- Python学习第001课--课后复习
- 仓鼠找sugar II
- linux嵌入式系统开发心得,嵌入式学习牛人心得