news 2026/10/13 7:00:12

番茄采摘检测数据集 番茄检测数据集的训练及应用 深度学习基于YOLOV8西红柿检测系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
番茄采摘检测数据集 番茄检测数据集的训练及应用 深度学习基于YOLOV8西红柿检测系统

使用深度学习框架目标检测算法YOLOv8训练番茄采摘检测数据集 番茄检测数据集的训练及应用 深度学习基于YOLOV8西红柿检测系统

文章目录

  • 使用深度学习框架目标检测算法YOLOv8训练番茄采摘检测数据集 番茄检测数据集的训练及应用 深度学习基于YOLOV8西红柿检测系统
      • 一、环境准备
        • 安装CUDA驱动
        • 安装Anaconda并创建虚拟环境
        • 安装依赖项
      • 二、数据集组织
      • 三、使用YOLOv8训练模型
        • 加载预训练模型
        • 训练模型
      • 四、推理代码
      • 五、评估代码

数据集描述:

番茄采摘数据集 番茄检测1分类。 未增强。 共895张。数据集按8:2分配。其中 训练集716张图片,验证集179张图片,YOLO下的txt标注

使用YOLOv8训练你的番茄采摘数据集,我们将按照以下步骤操作。该数据集包含895张图片,并按8:2的比例分配为训练集和验证集,所有图像样张均采用YOLO格式的txt标注文件。

一、环境准备

安装CUDA驱动

确保系统已经安装了适合你GPU的NVIDIA CUDA驱动程序。可通过运行nvidia-smi命令来检查是否已正确安装。

安装Anaconda并创建虚拟环境

首先,下载并安装Anaconda。然后创建一个新的Python虚拟环境:

conda create-ntomato_detectionpython=3.8conda activate tomato_detection

安装依赖项

在激活的虚拟环境中安装必要的库:

pipinstalltorch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117 pipinstallultralytics opencv-python matplotlib tqdm

CUDA版本调整PyTorch的安装链接。

二、数据集组织

确保数据集按如下结构组织(YOLOv8支持YAML格式的数据配置):

tomato_dataset/ ├── images/ │ ├── train/ │ └── val/ ├── labels/ │ ├── train/ │ └── val/ └── data.yaml

其中data.yaml文件应包含如下信息:

train:./tomato_dataset/images/trainval:./tomato_dataset/images/valnc:1# 类别数量names:['tomato']

三、使用YOLOv8训练模型

加载预训练模型
fromultralyticsimportYOLO# 加载预训练模型model=YOLO('yolov8n.pt')# 可以选择其他尺寸的预训练模型
训练模型

编写Python脚本来启动训练过程:

fromultralyticsimportYOLOimportosdeftrain_yolo():model=YOLO('yolov8n.yaml')# 使用YOLOv8n配置文件results=model.train(data='./tomato_dataset/data.yaml',epochs=100,imgsz=640,batch=16)if__name__=='__main__':train_yolo()

确保将'./tomato_dataset/data.yaml'替换为实际路径。你可以根据需要调整epochs和batch大小。

四、推理代码

用于对新的图像进行检测:

fromultralyticsimportYOLOimportcv2importosdefdetect_image(image_path,output_dir):ifnotos.path.exists(output_dir):os.makedirs(output_dir)model=YOLO('runs/detect/exp/weights/best.pt')# 替换为你的最佳权重路径results=model.predict(source=image_path,save=True,project=output_dir,name="")# 如果你想手动保存结果forrinresults:im_array=r.plot()# plot a BGR numpy array of predictionsim=cv2.cvtColor(im_array,cv2.COLOR_BGR2RGB)output_path=os.path.join(output_dir,os.path.basename(image_path))cv2.imwrite(output_path,im)if__name__=='__main__':detect_image('path/to/test/image.jpg','output/directory')

五、评估代码

使用YOLOv8内置的评估函数直接对验证集进行评估:

fromultralyticsimportYOLOdefevaluate_yolo():model=YOLO('runs/detect/exp/weights/best.pt')# 替换为你的最佳权重路径metrics=model.val()# 自动对验证集进行评估print(f"mAP50:{metrics.box.map50:.3f}| mAP50-95:{metrics.box.map:.3f}")if__name__=='__main__':evaluate_yolo()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/13 7:00:08

log[16]:C语言基础——枚举位运算

枚举作用: 提高代码可读性,(用名字代表常量)枚举是一种数据类型,初衷是将变量的值限定在列举出来的值的范围内本质是一种基本类型(整型)形式:enum 枚举类型名 {要枚举的常量值的名字…

作者头像 李华
网站建设 2026/10/13 6:59:20

数据语义标准化:解决字段含义漂移的技术实践

1. 数据语义标准化的行业痛点在数据库运维的第七个年头,我处理过最棘手的故障不是性能瓶颈,而是某次数据迁移后出现的"字段含义漂移"——财务系统的"成本价"字段在报表系统中被解析为"销售价",仅仅因为两个团队…

作者头像 李华
网站建设 2026/10/13 6:58:56

上位机开发日记 · 第 11 篇 · 打包与发布:PyInstaller 与 Nuitka

上位机开发日记 第 11 篇 打包与发布:PyInstaller 与 Nuitka阅读时长:约 5 分钟  难度:进阶  前置知识:第 10 篇(日志与配置) 代码写完了,本篇让它能装到别人电脑上跑。1. 交付前一天的经…

作者头像 李华
网站建设 2026/10/13 6:58:52

代码工具悄悄上传 .git 目录?从版本库泄露到安全排查的完整指南

这两年做代码安全相关的事,最怕看到的就是这句:“ZCode 疑似被抓到上传工作区/.git 记录到云端”。当时看到这个消息,我第一反应是后背发凉。做过几年开发的人都清楚,工作区里最不能见光的目录就是.git,它不仅仅是版本…

作者头像 李华
网站建设 2026/10/13 6:58:04

小白程序员必备:收藏!用Jev大模型轻松实现海量判断自动化

Jev是由TypeSafe AI推出的AI模型,专用于处理大量需要结构化判断的任务。它接收材料和预定义问题,返回程序可直接使用的选项、评分和概率。Jev适用于分流打标、简历筛选、AI质检、Agent内部路由和海量数据清洗等场景。使用Jev时,需要将问题拆解…

作者头像 李华
网站建设 2026/10/13 6:58:02

GitHub九月20个开源项目盘点:效率、开发、AI与自托管全收录

盘点这类事,我一向不标题党。GitHub 上每天新增仓库数以万计,真正能活下来、能派上用场、能在九月这个时间节点让人眼前一亮甚至“早点知道就好了”的项目,并没有榜单上看起来那么多。这篇文章我按功能需求分了四条线,每条线挑五个…

作者头像 李华