基于YOLO11的咖啡叶病害检测系统(Python源码+数据集+Pyside6界面)

   💡💡💡本文摘要:基于YOLO11的咖啡叶病害检测,阐述了整个数据制作和训练可视化过程

    

                                                                   博主简介

AI小怪兽,YOLO骨灰级玩家,1)YOLOv5、v7、v8、v9、v10、11优化创新,轻松涨点和模型轻量化;2)目标检测、语义分割、OCR、分类等技术孵化,赋能智能制造,工业项目落地经验丰富;

 1.YOLO11介绍

Ultralytics YOLO11是一款尖端的、最先进的模型,它在之前YOLO版本成功的基础上进行了构建,并引入了新功能和改进,以进一步提升性能和灵活性。YOLO11设计快速、准确且易于使用,使其成为各种物体检测和跟踪、实例分割、图像分类以及姿态估计任务的绝佳选择。

结构图如下:

1.1 C3k2

C3k2,结构图如下

C3k2,继承自类C2f,其中通过c3k设置False或者Ture来决定选择使用C3k还是Bottleneck

实现代码ultralytics/nn/modules/block.py

1.2 C2PSA介绍

借鉴V10 PSA结构,实现了C2PSA和C2fPSA,最终选择了基于C2的C2PSA(可能涨点更好?)

实现代码ultralytics/nn/modules/block.py

1.3 11 Detect介绍

分类检测头引入了DWConv(更加轻量级,为后续二次创新提供了改进点),结构图如下(和V8的区别):

实现代码ultralytics/nn/modules/head.py 

2.咖啡叶病害检测系统

       原来的 BRACOL 数据集包含 1899 个疾病标记,分布在潜叶蝇(540 个)、锈病(621 个)、壳针孢(464 个)和褐斑病(274 个)这几个类别中,未考虑健康叶片的标记。然而,在一位专家审查并修改了标注后,标记的总数显著增加,达到了 8226 个。其中,潜叶蝇、锈病、壳针孢和褐斑病分别有 341、6013、1671 和 201 个标记。标记数量的增加反映了在提高受疾病影响区域的代表性方面所做的努力,并确保了更准确的真实情况,从而使得该数据库在训练和评估模型方面更加稳健。

 2.1咖啡叶病害检测数据集介绍

数据集大小:

1213 images for training
351 Images for validation
180  Images for testing

类别1类:

nc: 4
names: ['Cercospora', 'Miner', 'Phoma', 'Rust']

细节图:

标签可视化分析 

 2.2 配置BRACOL.yaml

ps:建议填写绝对路径

path: D:/YOLOv11/data/BRACOL
train: ./train/images
val: ./valid/images
test: ./test/images

nc: 4
names: ['Cercospora', 'Miner', 'Phoma', 'Rust']

2.3  如何训练

import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO

if __name__ == '__main__':
    model = YOLO('ultralytics/cfg/models/11/yolo11.yaml')
    model.train(data='data/BRACOL.yaml',
                cache=False,
                imgsz=640,
                epochs=200,
                batch=8,
                close_mosaic=10,
                device='0',
                optimizer='SGD', # using SGD
                project='runs/train',
                name='exp',
                )

2.4 训练结果可视化结果

YOLO11 summary (fused): 283 layers, 2,618,036 parameters, 0 gradients, 7.1 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 11/11 [00:18<00:00,  1.65s/it]
                   all        351       1580      0.501      0.585      0.546      0.293
            Cercospora         25         39       0.29      0.308      0.292      0.181
                 Miner         69        111      0.624      0.749      0.745       0.51
                 Phoma        134        254      0.553      0.687      0.626      0.317
                  Rust        144       1176      0.536      0.595      0.522      0.165

预测结果:

3. 咖啡叶病害检测系统设计

3.1 PySide6介绍

        受益于人工智能的崛起,Python语言几乎以压倒性优势在众多编程语言中异军突起,成为AI时代的首选语言。在很多情况下,我们想要以图形化方式将我们的人工智能算法打包提供给用户使用,这时候选择以python为主的GUI框架就非常合适了。

        PySide是Qt公司的产品,PyQt是第三方公司的产品,二者用法基本相同,不过在使用协议上却有很大差别。PySide可以在LGPL协议下使用,PyQt则在GPL协议下使用。

        PySide目前常见的有两个版本:PySide2和PySide6。PySide2由C++版的Qt5开发而来.,而PySide6对应的则是C++版的Qt6。从PySide6开始,PySide的命名也会与Qt的大版本号保持一致,不会再出现类似PySide2对应Qt5这种容易混淆的情况。

3.2 安装PySide6

pip install --upgrade pip
pip install pyside6 -i https://mirror.baidu.com/pypi/simple

基于PySide6开发GUI程序包含下面三个基本步骤:

  • 设计GUI,图形化拖拽或手撸;
  • 响应UI的操作(如点击按钮、输入数据、服务器更新),使用信号与Slot连接界面和业务;
  • 打包发布;

3.3 咖啡叶病害检测系统设计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI小怪兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值