冬雨财经 发表于 2026-4-24 09:34:07

基于深度学习的草莓成熟度实时检测体系(UI界面+YOLOv8/v7/v6/v5模子+完备代码与数据集)

1. 弁言

在农业范畴,草莓的成熟度检测是包管果实品格的紧张环节。传统的方法依赖于人工履历,不但耗时费力,还容易堕落。本文先容怎样利用YOLO(You Only Look Once)系列模子(YOLOv8/v7/v6/v5)构建一个草莓成熟度检测体系,并通过简单的UI界面举行交互,实现快速正确的草莓成熟度检测。
2. 项目概述

本项目将实现以下功能:


[*]利用YOLO模子举行草莓成熟度检测。
[*]构建一个简单的用户界面,答应用户上传草莓图片,并表现检测结果。
[*]提供完备的代码示例和训练数据集。
目次
1. 弁言
2. 项目概述
3. 情况设置
4. 数据集准备
5. 模子训练
6. 构建UI界面
7. 摆设与测试
8. 结论与声明

3. 情况设置

在开始项目之前,我们必要设置情况:


[*]Python 3.8+
[*]OpenCV
[*]PyTorch
[*]Flask
[*]YOLOv5/6/7/8预训练模子
安装须要的依赖库:
pip install torch torchvision torchaudio
pip install opencv-python flask

4. 数据集准备

我们必要一个标注好的草莓成熟度数据集,可以通过LabelImg等工具对草莓图片举行标注,并将数据集分别为训练集和验证集。
数据集布局如下:
dataset/
├── train/
│   ├── images/
│   └── labels/
├── val/
│   ├── images/
│   └── labels/

5. 模子训练

利用YOLO预训练模子举行草莓成熟度检测的训练,以下以YOLOv5为例:
起首,克隆YOLOv5堆栈:
git clone https://github.com/ultralytics/yolov5
cd yolov5
pip install -r requirements.txt

然后,设置训练参数并开始训练:
python train.py --img 640 --batch 16 --epochs 50 --data path/to/data.yaml --weights yolov5s.pt
6. 构建UI界面

利用Flask框架构建一个简单的UI界面,答应用户上传图片并表现检测结果。
app.py:
from flask import Flask, request, render_template
import torch
import cv2
import numpy as np

app = Flask(__name__)

model = torch.hub.load('ultralytics/yolov5', 'custom', path='path/to/best.pt')

@app.route('/', methods=['GET', 'POST'])
def upload_file():
    if request.method == 'POST':
      file = request.files['file']
      if file:
            img = cv2.imdecode(np.fromstring(file.read(), np.uint8), cv2.IMREAD_COLOR)
            results = model(img)
            results.render()
            return render_template('result.html', img=results.imgs)
    return render_template('index.html')

if __name__ == '__main__':
    app.run(debug=True)

templates/index.html:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>草莓成熟度检测</title>
</head>
<body>
    <h1>草莓成熟度检测</h1>
    <form method="post" enctype="multipart/form-data">
      <input type="file" name="file">
      <input type="submit" value="上传">
    </form>
</body>
</html>

templates/result.html:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>检测结果</title>
</head>
<body>
    <h1>检测结果</h1>
    <img src="{{ img }}" alt="检测结果">
    <a href="/">返回</a>
</body>
</html>

7. 摆设与测试

确保全部代码无误后,可以运行Flask应用并测试上传图片举行检测:
python app.py

在欣赏器中打开http://127.0.0.1:5000/,上传草莓图片即可看到检测结果。
8. 结论与声明

本博客只是简单的项目实现思绪,如有想要(UI界面+YOLOv8/v7/v6/v5代码+训练数据集)的可以接洽作者,感谢你的阅读。

页: [1]
查看完整版本: 基于深度学习的草莓成熟度实时检测体系(UI界面+YOLOv8/v7/v6/v5模子+完备代码与数据集)