💡💡💡本文摘要:基于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.农业玉米雄蕊精准定位系统

2.1 项目背景

随着中国经济发展和人口增长,对农业生产的需求不断增加,玉米作为重要的粮食作物之一,一直处于国家粮食安全和生态保护的重要位置;

玉米制种产业是玉米生产的基础保障。随着玉米制种技术的不断发展,不育系生产由于无需去雄,节省劳动力,已经越来越普及;

在玉米种子生产过程中,母本去雄作为种子纯度保障至关重要的环节,准确识别母本去雄后残留雄穗并去除是提升种子质量的重要手段;

然而在人工去雄方面,却面临诸多难点,尤其为以下三方面:

     1. 高昂的人工成本:随着农村劳动力的减少,人工去雄的成本不断上升,尤其在去雄高峰期,成本更是显著增加;

     2. 劳动强度大:去雄工作需要在玉米生长的特定时期内完成,通常时间紧任务重,且需要在田间进行大量的体力劳动,对工人的体力和技术要求都很高;

     3. 效率和质量难以兼顾:人工去雄速度相对较慢,且由于作业人员疲劳和技能差异,去雄的质量和效率难以保证,可能存在去雄不彻底或损伤植株的问题;

2.1 农业玉米雄蕊数据集介绍

数据集大小244张,一个类别tas

标签可视化分析

 

2.2 超参数修改

位置如下default.yaml

2.3 配置cornstamen.yaml

ps:建议填写绝对路径

path: D:/ultralytics/data/cornstamen  # dataset root dir
train: images/train # train images (relative to 'path') 128 images
val: images/val  # val images (relative to 'path') 128 images

# Classes
nc: 1  # number of classes

names: ["tas"]  # class names

2.4  如何训练

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

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

2.5 训练结果可视化结果

YOLO11 summary (fused): 238 layers, 2,582,347 parameters, 0 gradients, 6.3 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 1/1 [00:02<00:00,  2.89s/it]
                   all         25         87      0.796      0.552      0.626      0.325

预测结果:

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 农业玉米雄蕊精准定位系统设计

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐