
💡💡💡本文摘要:基于YOLO11的柑橘树上树下检测,阐述了整个数据制作和训练可视化过程

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

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

结构图如下:

C3k2,结构图如下

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

实现代码ultralytics/nn/modules/block.py
借鉴V10 PSA结构,实现了C2PSA和C2fPSA,最终选择了基于C2的C2PSA(可能涨点更好?)

实现代码ultralytics/nn/modules/block.py
分类检测头引入了DWConv(更加轻量级,为后续二次创新提供了改进点),结构图如下(和V8的区别):

实现代码ultralytics/nn/modules/head.py
CiDet 数据集是一个高分辨率的基准数据集,专为果园环境中柑橘果实的检测和产量估算而设计,特别关注受黄龙病(Huanglongbing, HLB)影响的树木。该数据集包含标注了边界框的图像,用于标记树上和地面上的果实,从而实现准确的产量分析和疾病影响评估。
数据集大小:训练集391张,验证集69张,测试集119张
类别2类:
nc: 2 # Number of classes
names: # Class names
0: fruit_on_tree
1: fruit_on_ground细节图:


标签可视化分析

ps:建议填写绝对路径
# CiDet Dataset Configuration
path: D:/YOLOv11/data/CidDet-YOLO
train: ./train/images # Path to training images
val: ./val/images # Path to validation images
test: ./test/images # Path to test images
nc: 2 # Number of classes
names: # Class names
0: fruit_on_tree
1: fruit_on_ground
import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO
if __name__ == '__main__':
model = YOLO('ultralytics/cfg/models/11/yolo11.yaml')
model.train(data='data/CidDet-YOLO.yaml',
cache=False,
imgsz=640,
epochs=200,
batch=8,
close_mosaic=10,
device='0',
optimizer='SGD', # using SGD
project='runs/train',
name='exp',
)
YOLO11 summary (fused): 238 layers, 2,582,542 parameters, 0 gradients, 6.3 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 3/3 [00:16<00:00, 5.64s/it]
all 69 4781 0.794 0.709 0.792 0.447
fruit_on_tree 69 2753 0.837 0.696 0.809 0.468
fruit_on_ground 69 2028 0.751 0.722 0.774 0.427
预测结果:

受益于人工智能的崛起,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这种容易混淆的情况。
pip install --upgrade pip
pip install pyside6 -i https://mirror.baidu.com/pypi/simple
基于PySide6开发GUI程序包含下面三个基本步骤:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。