【运行截图请往下看】编程语言:Android、iOS、C#、Asp/Asp.net、Java、Vb、Php、Jsp、C++等
【专业优势】18年功力源码技术大神,坐阵亲临指导,远程协助包100%成功运行!
开发软件技术:Pycharm2023.3.2 + Python3.8 + OpenCV + YOLOv5 + PyQt5
农作物叶片病害检测系统用于智能检测常见农作物叶片病害情况,自动化标注、记录和保存病害位置和类型,辅助作物病害防治以增加产值。本文详细介绍基于YOLOv5深度学习模型的农作物叶片病害检测系统,在介绍算法原理的同时,给出Python的实现代码、PyQt的UI界面以及训练数据集。在界面中可以选择各种图片、视频进行检测识别;可对图像中存在的多个目标进行识别分类,可识别多种农作物叶片病害类型。
农作物病害主要发生在植物叶片,可以通过叶片病害特征判断出植物感染病害类型。尽早地检测出植物病害,能够极大程度上减少产量损失、经济损失。然而,人工检测需要耗费大量时间和人力成本,检测结果受人为主观意识影响,且依赖专业知识。其次,专门从事病害识别的人才紧缺,且难以满足市场需求,因此,需要用一种高效、快速的人工智能检测方法解决这一难题。
这里使用基于YOLOv5的植物病害检测算法,利用收集到的农作物叶片病害数据集进行训练,验证模型有效性后用于UI系统的预测输出。农作物叶片病害检测系统主要用于常见农作物叶片病害的智能检测,利用相机采集的作物图像,基于深度学习技术识别包括苹果黑星病、绣叶、玉米灰叶斑病等30种常见的病害类型,输出病害处的标记框和对应类别,以辅助自动化农作物病害防治;软件提供登录注册功能,可进行用户管理;软件能有效识别相机采集的图片、视频等文件形式,检测叶片表面病害情况,并记录识别结果在界面表格中方便查看;可开启摄像头实时监测和统计实际农作物叶片,以检测其病害情况,系统支持结果记录、展示和保存。
日常生活中常见果蔬的种类繁多,其叶片病害的类别就更多了,如何准确地自动化识别病害以提升作物产量,减少经济损失是当前一个重要问题。对于现有的植物病害检测方法还不能准确且快速地检测植物叶片中病害区域问题,这里采用技术已经成熟的基于YOLOv5的深度学习方法,用于检测马铃薯、番茄叶片等常见病害。通过数据增强和图像标注技术构建马铃薯、玉米、番茄叶片病害数据集,利用YOLOv5主干网络对病害特征的提取能力,实现叶片病害检测和识别。通过调阅资料和训练测试代码,YOLOv5不失为一种为苹果、番茄叶片病害检测的高性能解决方案,能够以较高的准确率对植物叶片病害进行分类与定位。
网络结构:
Yolov5网络结构是由Input、Backbone、Neck、Prediction组成。Yolov5的Input部分是网络的输入端,采用Mosaic数据增强方式,对输入数据随机裁剪,然后进行拼接。Backbone是Yolov5提取特征的网络部分,特征提取能力直接影响整个网络性能。Yolov5的Backbone相比于之前Yolov4提出了新的Focus结构。Focus结构是将图片进行切片操作,将W(宽)、H(高)信息转移到了通道空间中,使得在没有丢失任何信息的情况下,进行了2倍下采样操作。
数据集及训练:
这里我们使用的农作物叶片数据集,每张图片除包括类别标签外,还有一个标注的物体边框(Bounding Box),农作物叶片病害数据集中,训练集含有2330张图片,测试集包含239张图片。 每张图像均使用LabelImg工具进行标注,提供了图像中农作物叶片的bounding box,农作物叶片的关键part信息,以及农作物叶片病害的属性信息。本项目文件的根目录下train.py用于训练自己的数据集。我们训练和测试自己的数据集基本就是利用到这些代码。在数据集和配置文件等准备完成的基础上,我们运行train.py脚本进行训练。在深度学习中,我们通常通过损失函数下降的曲线来观察模型训练的情况。而YOLOv5训练时主要包含三个方面的损失:矩形框损失(box_loss)、置信度损失(obj_loss)和分类损失(cls_loss),在训练结束后,我们也可以在logs目录下找到生成对若干训练过程统计图。 一般我们会接触到两个指标,分别是召回率recall和精度precision,两个指标p和r都是简单地从一个角度来判断模型的好坏,均是介于0到1之间的数值,其中接近于1表示模型的性能越好,接近于0表示模型的性能越差,为了综合评价目标检测的性能,一般采用均值平均密度map来进一步评估模型的好坏。我们通过设定不同的置信度的阈值,可以得到在模型在不同的阈值下所计算出的p值和r值,一般情况下,p值和r值是负相关的,绘制出来可以得到如下图所示的曲线,其中曲线的面积我们称AP,目标检测模型中每种目标可计算出一个AP值,对所有的AP值求平均则可以得到模型的mAP值。


照片名称:1农作物叶片病害检测系统登录

照片名称:2识别农作物的效果

照片名称:3选择图片识别植物病虫害

照片名称:4选择视频文件识别农作物病虫害

照片名称:5调用摄像头设备农作物和病虫害

照片名称:6选择图片文件识别源码

照片名称:7选择视频文件识别源码

照片名称:8调用摄像头识别的代码

照片名称:9模型训练代码

照片名称:10测试图片识别的代码

照片名称:11测试视频识别的代码




- 1350基于Flask+Echarts京东商品销售数据分析可视化设计带文档2022-09-07 17:20:53
- M033基于python招聘岗位数据爬虫及可视化分析设计2022-09-02 23:34:44
- 1345基于Python+Django+Mysql校园二手交易跳蚤市场网站设计2022-08-30 21:24:31
- 1333Python+Spark+Hadoop大数据基于用户画像电影推荐系统设计2022-02-03 22:08:16
- 984Python基于Django购物网站HTML5响应式设计2019-02-01 14:21:16
- 982Python基于Scrapy-Redis分布式爬虫设计2019-01-30 19:25:03
- 1315基于Python股票网站数据爬虫情感可视化分析设计2021-10-05 00:48:22
- 1313基于Springboot+Vue+Python深度神经网络学习算法水质管理预测2021-10-03 00:26:19

