news 2026/4/24 2:23:31

YOLO模型如何训练 YOLO数据集的训练及应用 番茄生长周期数据集 西红柿番茄成熟度检测数据集 YOLOv8训练代码 5类 成熟番茄 未成熟(青 花朵 半成熟 花蕾

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
YOLO模型如何训练 YOLO数据集的训练及应用 番茄生长周期数据集 西红柿番茄成熟度检测数据集 YOLOv8训练代码 5类 成熟番茄 未成熟(青 花朵 半成熟 花蕾

智慧农业 西红柿番茄生长周期成熟度YOLO数据集

【西红柿番茄生长周期成熟度检测YOLO数据集】共【2609】张,按照8比2划分为训练集和验证集,其中训练集【2087】张,验证集【522】张,模型分为【5】类,分类为:【‘ripe’, ‘green’, ‘flower’, ‘half_ripe’, ‘bud’】
每个类别的图片数量和标注框数量如下:
ripe: 图片数【1149】,标注框数【4516】
green: 图片数【1202】,标注框数【9071】
flower: 图片数【821】,标注框数【2056】
half_ripe: 图片数【857】,标注框数【2856】
bud: 图片数【642】,标注框数【1807】

专注于番茄生长周期的多分类任务。

适配YOLOv8的训练代码。由于数据集中包含花朵和花蕾,建议训练时适当调整输入尺寸以捕捉小目标。

数据集概览与统计

该数据集共包含2609张图像,划分为5个类别,涵盖了从花蕾到成熟果实的完整生长过程。

类别名称中文含义图片数量标注框数量平均每图标注数
ripe成熟番茄11494516~3.9
green未成熟(青)12029071~7.5
flower花朵8212056~2.5
half_ripe半成熟8572856~3.3
bud花蕾6421807~2.8
总计-467120306~4.3

数据特点分析:

  • 类别不平衡green(青果)的数量远多于其他类别,且包含大量密集的小目标。
  • 小目标挑战bud(花蕾)和flower(花朵)通常尺寸较小,对模型的检测头(Detection Head)提出了更高要求。

YOLOv8 训练代码

以下代码使用 Ultralytics 库,针对番茄数据集的特点进行了参数微调(如增加输入尺寸以利于检测花朵和花蕾)。

1. 数据集配置文件 (tomato.yaml)

请在你的数据集目录下创建此文件,确保路径指向正确。

# tomato.yamlpath:./datasets/tomato_growth# 数据集根目录train:images/train# 训练集图片路径 (2087张)val:images/val# 验证集图片路径 (522张)# 类别定义nc:5names:-ripe# 0: 成熟-green# 1: 青色-flower# 2: 花朵-half_ripe# 3: 半熟-bud# 4: 花蕾
2. 训练脚本 (train.py)
fromultralyticsimportYOLOimporttorchdeftrain_tomato_model():# 1. 加载预训练模型# 推荐使用 YOLOv8n (Nano) 或 YOLOv8s (Small)# 如果追求高精度,可选用 'yolov8m.pt'model=YOLO('yolov8n.pt')# 2. 设置训练参数results=model.train(data='tomato.yaml',# 数据集配置文件epochs=300,# 训练轮数 (数据量适中,300轮可保证收敛)imgsz=640,# 输入尺寸 (640是标准值,若花朵检测效果差可提升至1280)batch=16,# 批次大小 (根据显存调整)name='tomato_growth_v1',# 实验名称project='runs/train',# 保存路径device=0,# 使用 GPU 0,若无 GPU 设为 'cpu'workers=4,# 数据加载线程数patience=50,# 早停机制 (50轮无提升则停止)# --- 针对农业场景的优化 ---optimizer='SGD',# SGD 通常在目标检测中比 Adam 泛化性更好lr0=0.01,# 初始学习率lrf=0.01,# 最终学习率momentum=0.937,# 动量weight_decay=0.0005,# 权重衰减warmup_epochs=3.0,# 预热轮数box=7.5,# 边框损失权重cls=0.5,# 分类损失权重 (可适当提高以区分相似颜色)hsv_h=0.015,# 色调增强 (农业场景光照变化大,增强色调鲁棒性)hsv_s=0.7,# 饱和度增强hsv_v=0.4,# 亮度增强flipud=0.5,# 上下翻转 (植物生长方向可能不同)fliplr=0.5,# 左右翻转mosaic=1.0,# Mosaic增强 (设为1.0,有助于检测密集的青果和花蕾)mixup=0.0,# MixUp增强 (对于颜色区分明显的任务,MixUp可能会混淆颜色特征,建议关闭))# 3. 验证模型性能metrics=model.val()if__name__=='__main__':# 检查 CUDA 是否可用iftorch.cuda.is_available():print(f"检测到 GPU:{torch.cuda.get_device_name(0)}")else:print("未检测到 GPU,将使用 CPU 训练 (速度较慢)")train_tomato_model()

训练建议

  1. 输入尺寸 (imgsz)
    • 代码中默认使用640。由于数据集中包含bud(花蕾)和flower(花朵)等小目标,如果发现对小目标漏检严重,建议将imgsz修改为1280,但这会显著增加显存消耗和训练时间。
  2. 颜色增强 (hsv_h,hsv_s)
    • 番茄的成熟度主要通过颜色区分(青 -> 红)。代码中开启了较强的 HSV 增强,这有助于模型适应不同的光照条件(如阴天、阴影下),防止模型过拟合于某种特定的红色或绿色。
  3. 类别权重
    • 由于green类别的数量(9071个框)远多于bud(1807个框),YOLOv8 会自动计算类别权重来平衡损失,但如果在实际应用中bud检测效果不佳,可以在train函数中手动调整cls参数或修改数据集配置。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 2:22:52

小语言模型微调优化代码审查准确率实践

1. 项目概述:小语言模型微调优化代码审查准确率在当今企业软件开发流程中,代码审查是确保代码质量和安全性的关键环节。传统的人工审查方式虽然可靠,但面临着效率瓶颈和人力资源限制。我们团队基于Llama 3 8B Instruct模型,通过创…

作者头像 李华
网站建设 2026/4/24 2:22:17

口碑不错的莆田市geo优化软件方案

在数字化浪潮下,莆田市的各行各业,从鞋服制造到医疗健康,都面临着同一个核心问题:如何在线上精准触达本地客户?传统的“广撒网”式推广成本高、效果差,而GEO(地理定位)优化技术&…

作者头像 李华
网站建设 2026/4/24 2:20:26

Linux USB驱动开发避坑指南:从urb提交到设备热插拔的5个常见问题

Linux USB驱动开发实战:5个关键问题与深度解决方案 1. URB生命周期管理的核心挑战 在USB驱动开发中,URB(USB Request Block)的生命周期管理是保证驱动稳定性的首要问题。许多开发者常犯的错误是未能正确处理URB的提交、完成和释放…

作者头像 李华
网站建设 2026/4/24 2:18:29

提升PCB设计效率:PADS中快速导圆角的两种隐藏技巧与批量处理思路

提升PCB设计效率:PADS中快速导圆角的两种隐藏技巧与批量处理思路 在高速PCB设计领域,工程师们常常需要处理复杂的板框形状优化。传统导角操作通过菜单层层点击的方式,在面对数十个需要处理的转角时,效率瓶颈尤为明显。一位资深Lay…

作者头像 李华
网站建设 2026/4/24 2:17:21

5分钟极速上手:Revelation光影包带你体验Minecraft电影级画质

5分钟极速上手:Revelation光影包带你体验Minecraft电影级画质 【免费下载链接】Revelation An explorative shaderpack for Minecraft: Java Edition 项目地址: https://gitcode.com/gh_mirrors/re/Revelation Revelation光影包是一款基于物理渲染的高性能Mi…

作者头像 李华