赞
踩
在农业领域,草莓的成熟度检测是保证果实品质的重要环节。传统的方法依赖于人工经验,不仅耗时费力,还容易出错。本文介绍如何使用YOLO(You Only Look Once)系列模型(YOLOv8/v7/v6/v5)构建一个草莓成熟度检测系统,并通过简单的UI界面进行交互,实现快速准确的草莓成熟度检测。
本项目将实现以下功能:
目录
在开始项目之前,我们需要配置环境:
安装必要的依赖库:
- pip install torch torchvision torchaudio
- pip install opencv-python flask
我们需要一个标注好的草莓成熟度数据集,可以通过LabelImg等工具对草莓图片进行标注,并将数据集划分为训练集和验证集。
数据集结构如下:
- dataset/
- ├── train/
- │ ├── images/
- │ └── labels/
- ├── val/
- │ ├── images/
- │ └── labels/
使用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
使用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[0])
- 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>
确保所有代码无误后,可以运行Flask应用并测试上传图片进行检测:
python app.py
在浏览器中打开http://127.0.0.1:5000/
,上传草莓图片即可看到检测结果。
本博客只是简单的项目实现思路,如有想要(UI界面+YOLOv8/v7/v6/v5代码+训练数据集)的可以联系作者,感谢你的阅读。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。