当前位置: 首页 > news >正文

基于YOLO系列草莓识别 深度学习的智慧农业草莓成熟度目标检测系统

使用 YOLOv8 进行草莓成熟度计数与检测

注意:此模块是在以下资源的帮助下完成的:


Detection_image.png


1. 代码库中每个 Notebook 的说明

  1. Dataset split NB:
    此 Notebook 用于将原始的 3000 张图片按 0.8、0.1 和 0.1 的比例分为训练集、验证集和测试集。Notebook 内提供了执行相同操作的详细说明。

  2. Training_the_YOLO_model (Google Colab):
    该 Notebook 用于在 Google Colab 中利用 GPU 对我们的图片数据集进行训练。在该文件末尾提供了使用 YOLOv8 对自定义数据集进行训练的详细步骤。

  3. Tfevent to plots.ipynb:
    该 Notebook 使用 TensorBoard 的 tfevents 文件生成美观的图表。

  4. Inference Notebook on original test set.ipynb:
    该 Notebook 用于在测试图片上进行推理,并使用 mAP 模块生成最终的 mAP(平均精度均值)分数。

  5. Inference Notebook for Group 8 test images.ipynb:
    该 Notebook 用于对任意未见过的独立测试图片或图片集进行推理。


2. 代码库中文件夹的说明

  • cfg: 包含 YOLOv8 模型训练所需的配置文件。
  • data: 存放分割后的数据集。
  • mAP: 包含计算 mAP 的代码。具体使用方法请参考文件夹内的 README.md。
  • models: 包含 YOLOv8 的架构文件。
  • plots: 存放 YOLO 训练期间生成的图表,以及使用3. Tfevent to plots.ipynb创建的图表。
  • results: 存放所有输出结果,包括带检测边界框的图片,以及包含相同信息的 CSV 文件。
  • utils: YOLO 模型在训练和推理过程中使用的工具文件。

3. 重要文件说明

  • best.pt:

  • detect.py:
    用于利用 GPU 进行检测的 Python 脚本。

  • events.out.tfevents.1671505893.1883a359b2f3.20572.0:
    来自 TensorBoard 的事件文件。

  • requirements.txt:
    用于安装必要库的依赖文件。

  • requirements_gpu.txt:
    用于安装必要 GPU 库的依赖文件。

  • train.py:
    用于执行模型训练的脚本。

  • yolov8.pt:
    在 COCO 数据集上预训练的 YOLOv8 权重文件。


使用自定义 YOLOv7 模型进行训练

1. 克隆 YOLOv7 仓库

运行以下命令从 GitHub 克隆 yolov7 仓库:

gitclone https://github.com/WongKinYiu/yolov7.git
2. 安装依赖

在克隆的 yolov7 文件夹中,找到requirements.txt文件。
打开该文件,删除第 11 和第 12 行(即 torch 和 torchvision)。

创建一个名为requirements_gpu.txt的新文件,并将以下内容粘贴到该文件中:

-i https://download.pytorch.org/whl/cu113 torch==1.11.0+cu113 torchvision==0.12.0+cu113
3. 准备数据

按照Dataset split NB中的步骤准备数据。

4. 编辑配置文件
  1. 打开data文件夹中的coco.yaml文件,删除前 4 行(直到 download 部分)。

  2. 设置以下内容:

    train:data/trainval:data/valnc:3# 类别数names:['unripe','partially_ripe','fully_ripe']
  3. 打开yolov7/cfg/training文件夹中的yolov7.yaml文件,将第 2 行修改为:

    nc:3
5. 下载预训练的 YOLOv7 权重
  1. 访问 YOLOv7 GitHub 链接,点击YOLOv7
  2. 将下载的yolov7.pt文件移动到 yolov7 文件夹中。
*6. 在自定义数据集上训练 YOLOv8
  1. 将文件夹上传至 Google Drive。
  2. 打开 Google Colab,并运行2. Training_the_YOLO_model (Google Colab)Notebook。
  3. 设置运行时为 GPU(路径:Runtime > Change runtime type > GPU)。
  4. 运行所有单元格,并给予必要权限。
  5. 可根据需求更改训练的 epoch 数量。
  6. 如果出现内存错误,请尝试减小 batch size,最终将其设置为 4。

推理 (Inference)

  1. 下载训练后的最佳模型best.pt文件,并保存在 Colab 中相同的文件夹下。
  2. 执行以下任一方式进行推理:
    • 按照 Notebook 中提供的命令执行推理。
    • best.pt文件复制到本地文件夹,使用4. Inference Notebook on original test set.ipynb文件对测试集进行推理。
    • 使用5. Inference Notebook for Group 8 test images.ipynb文件对任意图片进行推理。

注意:要基于 GPU 执行推理,可使用代码库中的detect.py文件。

http://www.cnnetsun.cn/news/2930410.html

相关文章:

  • Anthropic最强模型Claude Fable 5上线4天被美国政府强制下线,背后风波耐人寻味
  • 深入芯片内部:SkyEye仿真FT-M6678 DSP时,如何观察ReWorks任务调度与内存状态?
  • NLP动态知识切片系统:面向研究者的可编程领域感知基础设施
  • 假新闻检测实战:模型选型与超参数优化的工程化路径
  • 别再为vCenter HA网络配置头疼了!保姆级教程:从零配置管理网卡和HA私网VLAN
  • Hitboxer:终极游戏按键冲突优化工具,彻底解决SOCD问题
  • 开源罗技鼠标宏:3步掌握PUBG精准压枪技巧
  • 别小看这颗2.2nF电容!手把手教你排查MPU6050‘有ID无数据’的经典硬件故障
  • RK3588 Qt开发避坑实录:如何正确引入MPP、FFmpeg等SDK库到Qt5.12.10项目(附完整.pri配置)
  • 3步完成微信数据库本地解密:免费恢复聊天记录的完整指南
  • Spyder里报错‘No module named gurobipy’?别慌,手把手教你搞定Python环境与Gurobi的配置
  • InfluxDB Studio:Windows平台时间序列数据库图形化管理工具完整教程
  • Vivado里信号总被优化掉?试试DONT_TOUCH属性的正确打开方式(附代码对比)
  • 营业执照丢失怎么登报声明?营业执照丢失登报挂失的流程是什么?
  • N32G45X调试接口配置避坑指南:SWD模式、JTAG模式与IO释放的三种实战场景
  • 计算机毕业设计之网页小说阅读系统
  • 老师们试试录音AI,2026年讲座网课都能轻松整理
  • 专业音频解密解决方案:QMCDecode完全使用指南
  • 深入解析RePKG:如何构建稳定的Wallpaper Engine资源处理管道
  • 【粉丝福利社】计算机视觉:YOLO目标检测原理与实践
  • 4步构建你的游戏本地化系统:XUnity.AutoTranslator实战指南
  • HFSS仿真报错别慌!手把手教你搞定‘Acis error’、‘Local Machine’等5个高频错误
  • 告别LVDS!用JESD204B接口搞定高速ADC数据采集,实测Xilinx GT收发器配置
  • 多维聚合四大操纵范式:维度折叠、轴向旋转、粒度锚定与空间插值
  • 大模型推理的‘归零’革命:透明容错层如何抹除系统不确定性
  • 从无人机到平衡车:盘点那些让你调参调到头秃的PID实战场景与避坑指南
  • 从一次应急响应看致远OA wpsAssistServlet漏洞的利用与防御
  • 当CRM管理不再依赖IT排期,零代码正在改变什么?
  • MPC8379E内存控制器实战:eLBC与eSDHC接口配置与嵌入式存储驱动开发
  • 用图论指标解码城市街道网络:连通性、介数中心性与聚类系数实战指南