当前位置: 首页 > news >正文

YOLO11实战 第009期-基于yolo11的咖啡叶病害目标检测实战文档(yolo格式数据免费获取)

目录

基于yolo11的咖啡叶病害目标检测

1.数据阶段

1.1数据集准备

1.2数据集结构组织

1.3数据集下载

1.4环境安装

2.训练阶段

2.1配置文件修改

2.2执行训练命令

2.3结果图展示分析

3.推理阶段

3.1开始推理

3.2输出展示

结束语


基于yolo11的咖啡叶病害目标检测

1.数据阶段

1.1数据集准备

咖啡叶病害数据集是一个用于目标检测任务的数据集。该数据集的可能应用领域为农业。如下图显示

数据集介绍专为咖啡叶病害检测设计,支持YOLO等目标检测模型训练,聚焦农业病害智能化识别领域。针对咖啡种植业痛点,可直接用于病害监测无人机或田间智能检测系统开发。适用场景:农业病害识别算法开发、小目标检测研究(如潜叶蛾幼虫路径)、多尺度特征学习(锈病病斑大小差异显著)。

该数据集通过专家级标注修正,成为咖啡病害检测领域的标杆资源,尤其适合需要高精度农业场景建模的研究。

数据集标注含有4个类别:潜叶蛾(Miner)、锈病(Rust)、茎枯病(Phoma)、褐斑病(Cercospora)。修正后的标注为模型提供更可靠的训练基础,尤其在复杂背景或病害重叠场景中。

1.2数据集结构组织

YOLO格式数据集结构如下:

coffe_leafs_disease_data

- train

-- images

-- labels

- test

-- images

-- labels

- valid

-- images

-- labels

训练集图像有1213张图像,验证集图像有351张图象,测试集图像有180张图象

1.3数据集下载

【注意:准备好的coffe_leafs_disease_data文件夹,应该与下面的工程项目yolov11_det位于同级目录,不要将coffe_leafs_disease_data文件夹放置在工程项目里面】

直接获取转换完成的yolo格式数据集(如下图),获取方式见文末

1.4环境安装

执行下面指令:

pip install ultralytics==8.3.59 -i https://pypi.tuna.tsinghua.edu.cn/simple

2.训练阶段

2.1配置文件修改

【前提条件:cuda、torchultralytics版本匹配且可用使用yolo11 m型号预训练模型

需要进入工程项目yolov11_det里面

修改数据配置文件./custom.yaml,训练集/验证集路径设定,类别数和类别名称需一致

2.2执行训练命令

按需修改train.py文件里的训练参数,例如:windows系统,workers应该设置为0;linux系统,可设置为8;其他参数按照硬件配置需求做修改

执行训练指令:

python train.py

训练200 epoch后(含有早停机制,149epochs),模型保存在runs/detect/train/weights文件夹

2.3结果图展示分析

1)F1_curve.png(F1分数)

由图可知,当confidence为0.208时,all classes的F1分数为0.54;表示该模型在0.208的置信度预测类时整体表现良好,具有一定的准确性和召回率。

什么是F1分数?F1分数是精确率(Precision)和召回率(Recall)的调和平均值,它同时考虑了模型预测的准确性和覆盖面

2)P_curve.png(精确率曲线)

图中的深蓝色折线代表整体的精度随着置信度的增加,精确度也增加,在置信度为0.940时,精确度达到了1.00。其余4条线分别表示4个类别在不同的置信度下的精度

精确率曲线,帮助分析模型在检测任务中的表现,特别是在不同置信度设置下的精确性表现。通过这条曲线,可以选择合适的置信度阈值,以优化模型的检测结果,平衡精确率和召回率。

3)PR_curve.png(精确率-召回率曲线)

图中的曲线为Precision-Recall Curve(精确度-召回率曲线),展示了不同阈值下分类器的精确度和召回率。具体来说横轴表示Recall(召回率),范围从0.0到1.0;纵轴表示Precision(精确度),范围从0.0到1.0。图中主要有5条曲线:

(1)彩色线代表4个类别的精确度-召回率曲线,每个类别的精确度各有差异

(2)深蓝色线代表所有类别的平均精确度-召回率曲线,其精确度也在0.536左右保持稳定。

4条曲线都显示了随着召回率的增加,精确度略有下降的趋势,但整体上精确度保持在很高的水平。

通过这条曲线,可以评估模型在目标检测任务中的整体性能,并找到合适的置信度阈值,以在精确率和召回率之间做出最佳平衡。PR 曲线越接近右上角,模型性能越好,曲线下方的面积越大,说明模型在不同置信度下的表现越稳定

4)R_curve.png(召回率曲线)

图中的R曲线为Recall-Confidence Curve(召回率-置信度曲线),它展示了不同置信度下的召回率。具体来说,横轴表示置信度,从0.0到1.0;纵轴表示召回率,从0.0到1.0。图中主要有5条曲线:

(1)4条彩色线:代表4个类别的召回率随置信度的变化情况。这条曲线显示了随着置信度的增加,每个类别的召回率先变化较小,然后在某个点之后迅速下降。

(2)深蓝色线:代表所有类别的平均召回率随置信度的变化情况。

展示模型在不同的置信度阈值(confidence thresholds)下的召回率表现。召回率曲线帮助评估模型在目标检测任务中,检测到真正目标的能力。通过这条曲线,用户可以评估模型的检测能力,分析模型在不同阈值下对真实目标的检测是否全面。如果召回率曲线在较低的置信度下表现较好,说明模型可以有效检测大多数目标;如果曲线下降较快,可能需要调整模型或数据集,避免漏检问题。

5)results.png(结果指标曲线)

这个图像文件,显示了训练过程中关键指标(如损失、mAP)的变化趋势。

box_loss:定位损失曲线

含义:边界框损失,衡量预测的边界框与真实边界框之间的误差。包括边界框的中心位置、宽度、高度等。

图表:通常显示为训练轮次或步数上的损失值曲线,较低的损失值表明模型对边界框的预测更加准确

dfl_loss:目标检测损失曲线

含义:分布式定位损失(Distribution Focal Loss),处理定位任务中的类别不平衡问题。帮助模型更加关注难以预测的目标。

图表:显示为训练轮次或步数上的损失值曲线,较低的损失值表示分布式定位任务的效果较好

cls_loss:分类损失曲线

含义:类别损失,衡量预测的类别标签与真实类别标签之间的差距。反映了分类器的准确性。

图表:显示为训练轮次或步数上的损失值曲线,较低的损失值表示分类器性能较好

Precision (B):精度曲线

含义:精确度(B类),表示模型预测的正样本中有多少比例是真正的正样本。B类通常是指背景类。

图表:显示为训练轮次或步数上的精确度曲线,较高的精确度表示模型在背景类检测中的准确性较高

Recall (B):召回率曲线

含义:召回率(B类),表示模型检测到的实际正样本中的比例。B类通常是指背景类。

图表:显示为训练轮次或步数上的召回率曲线,较高的召回率表示模型对背景类的检测能力较强

mAP50 (B):IoU阈值为0.5时的平均精度

含义:在IoU(Intersection over Union)阈值为0.5时的平均精度(B类),反映了模型在此IoU阈值下的精度。

图表:显示为训练轮次或步数上的mAP50值曲线,较高的mAP50值表示模型在背景类的检测精度较高

mAP50-95 (B):IoU阈值在0.5到0.95之间的平均精度

含义:在IoU阈值从0.5到0.95范围内的平均精度(B类),评估模型在不同IoU阈值下的检测性能。

图表:显示为训练轮次或步数上的mAP50-95值曲线,较高的mAP50-95值表示模型在背景类的整体性能较强

3.推理阶段

3.1开始推理

使用训练好的模型进行预测(输入测试图片文件夹input_test_images)

执行下面指令:

python predict.py

检测完成后,结果保存在output_results文件夹

3.2输出展示

样例输出如下:


结束语

感谢您的耐心阅读!若文中存在错误,恳请指出,我会努力改进。若您有更优方法,也请不吝分享,让我们共同进步!

【⭐⭐⭐免费获取yolo格式的咖啡叶病害检测数据集,请阅读:基于yolo11的咖啡叶病害目标检测】


文章转载自:

http://rKg5WHaW.xpqyf.cn
http://K2FnE1px.xpqyf.cn
http://dUms6Jf9.xpqyf.cn
http://p7IRZoGz.xpqyf.cn
http://LMmka2CA.xpqyf.cn
http://fH1BTljz.xpqyf.cn
http://ccoBCpOx.xpqyf.cn
http://JGGNBVJk.xpqyf.cn
http://bGxdKiBz.xpqyf.cn
http://3gD1xbxG.xpqyf.cn
http://Fb0lDZfl.xpqyf.cn
http://q9uIwLpA.xpqyf.cn
http://4CFOaeSd.xpqyf.cn
http://KDjT0AR4.xpqyf.cn
http://tAEM1p5M.xpqyf.cn
http://zy5FNNc4.xpqyf.cn
http://8dyHupdf.xpqyf.cn
http://8whbdXFf.xpqyf.cn
http://DfX5TuvK.xpqyf.cn
http://pzlZYvHk.xpqyf.cn
http://X1gYjkTN.xpqyf.cn
http://JnAWukWR.xpqyf.cn
http://HKduWlPF.xpqyf.cn
http://Y4akw5Cw.xpqyf.cn
http://ak6QwJTh.xpqyf.cn
http://lYmPuWuL.xpqyf.cn
http://ThlDI3WO.xpqyf.cn
http://ksLoqxFE.xpqyf.cn
http://2oDoskKs.xpqyf.cn
http://FDg2QXgg.xpqyf.cn
http://www.dtcms.com/a/372667.html

相关文章:

  • MATLAB可以实现的各种智能算法
  • PPP协议及其消息传播机制
  • 从全栈工程师视角解析Java与前端技术在电商场景中的应用
  • SQL注入7----(盲注与回显)
  • C++全局变量初始化流程详解
  • Promise 实现原理:手写一个符合 Promises/A+ 规范的 Promise
  • vue3的选项式与组合式
  • 新增用户管理权,20+项功能优化更新,zyplayer-doc 2.5.2 发布啦!
  • 二叉树算法题——拆分自然数
  • Jakarta EE课程扩展阅读(一)
  • 【基于YOLO和Web的交通工具识别系统】
  • Python跳过可迭代对象前部元素完全指南:从基础到高并发系统实战
  • vue2(7)-单页应用程序路由
  • 布隆过滤器:快速判断某个元素是否存在
  • 信号衰减中的分贝到底是怎么回事
  • [光学原理与应用-461]:波动光学 - p光,s光; o光,e光;分别是什么意思,有什么关联?
  • python---静态方法和类方法
  • Nature子刊-香港大学研发新型陡峭山坡巡检无人机,破解密林细小障碍物规避难题
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘setuptools’问题
  • 基于 Django+Vue3 的 AI 海报生成平台开发(海报模块专项)
  • 机器学习-K-means聚类
  • 维度跃迁:当万物皆成电路,智能将从“拥有”变为“存在”
  • 前端:最新最全的JavaScript知识汇总,持续更新......
  • PO BAPI bapi_po_create1
  • 当前车载测试的难点分析
  • Pyhton基础之多继承、多态
  • AOSP Framework开发的一些超方便的快捷命令
  • 移动高清盒子CM311-5-内存大小区分参考指南
  • 在 VirtualBox 虚拟机中安装 Fedora CoreOS 操作系统
  • 【SLAM论文笔记】SplaTAM论文小结