news 2026/5/1 3:44:24

基于yolov10的草莓成熟度检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于yolov10的草莓成熟度检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】

更多目标检测、图像分类识别、目标追踪、图像分割、图像检索等项目可看我主页其他文章

功能演示(看shi pin 下面的简介)

https://www.bilibili.com/video/BV15kqmBSEWp/?spm_id_from=333.1387.upload.video_card.click&vd_source=23ce57e8cf06ed0fb5cf39f62df5d51b

(一)简介

本文介绍了一个基于YOLOv10的草莓成熟度检测系统,包含完整的项目实现。系统采用PyTorch框架,提供训练好的模型权重、数据集和GUI界面。GUI由PySide6开发,支持图像检测、视频实时检测等功能。项目结构清晰,包含模型训练、验证和部署全流程,并提供精确率、召回率等指标评估。核心代码展示了图像上传、目标检测和结果显示的实现。系统可快速部署,适用于PC端环境,配套详细的环境搭建教程和完整项目资料,开箱即用。

基于yolov10的草莓成熟度检测系统在pytorch框架下实现的,这是一个完整的项目,包括代码,数据集,训练好的模型权重,模型训练记录,GUI界面和各种模型指标(精确率、召回率等)等。

GUI界面由pyside6设计实现,界面简洁、突出功能,不是那些花里胡哨烂大街的界面

可用笔记本摄像头或者外接USB摄像头

该项目可在pycharm和anaconda搭建的虚拟环境 或者 vscode和anaconda搭建的虚拟环境 执行的

pycharm和anaconda安装和配置可观看教程:

超详细的pycharm+anaconda搭建python虚拟环境_pycharm anaconda环境搭建-CSDN博客

vscode和anaconda安装和配置可观看教程:

保姆级的vscode+anaconda搭建python虚拟环境-CSDN博客

(二)项目介绍

1. 模型训练、验证

​该项目可以使用已经训练好的模型权重,也可以自己重新训练,自己训练也比较简单:

第一步:修改data/data.yaml中的数据集路径

​​

第二步:模型训练,即运行train.py文件 ,结果保存在runs文件夹

第三步:模型验证,修改val.py中训练好的模型权重路径,运行val.py文件,结果保存在runs文件夹

第四步:使用模型,修改gui.py最下面的训练好的模型权重路径,然后运行gui.py文件即可通过GUI界面来展示模型效果

2. 数据集

​​​​​

部分数据展示:

​​​​

3.GUI界面(技术栈:pyside6+python+opencv)
a.GUI初始界面

b.图像检测界面

​​

c.视频或摄像实时检测界面

​​

4.模型训练和验证的一些指标及效果

​​​

​​​ ​​

(三)项目结构

(四)代码

由于篇幅有限,只展示核心代码

def upload_img(self): """上传图片""" # 选择录像文件进行读取 self.comboBox.setDisabled(False) self.pushButton_4.setEnabled(False) # 上传图像 fileName, fileType = QFileDialog.getOpenFileName(self, 'Choose file', '', '*.jpg *.png *.tif *.jpeg') if fileName: self.file_path = fileName """检测图片""" org_path = self.file_path # 目标检测 t1 = time.time() # 图像检测 results = self.model.predict(source=org_path, imgsz=self.output_size, conf=self.conf_threshold)[0] names = results.names t2 = time.time() self.label_6.setText('{:.3f} s'.format(t2 - t1)) now_img = results.plot() # 调整图像大小 self.resize_scale = self.output_size / now_img.shape[0] im0 = cv2.resize(now_img, (0, 0), fx=self.resize_scale, fy=self.resize_scale) cv2.imwrite("images/tmp/single_result.jpg", im0) # 自适应图像大小 self.label_3.setScaledContents(True) # 显示图像 self.label_3.setPixmap(QPixmap("images/tmp/single_result.jpg")) # 获取位置信息 location_list = results.boxes.xyxy.tolist() location_list = [list(map(int, e)) for e in location_list] # 获取类别信息 cls_list = results.boxes.cls.tolist() cls_list = [int(i) for i in cls_list] # 获取置信度信息 conf_list = results.boxes.conf.tolist() conf_list = ['%.2f %%' % (each * 100) for each in conf_list] # 目标总数 total_nums = len(location_list) self.label_11.setText(str(total_nums)) choose_list = ['全部'] target_names = [names[id] + '_' + str(index) for index, id in enumerate(cls_list)] choose_list = choose_list + target_names # 复合框信息 self.comboBox.clear() self.comboBox.addItems(choose_list) self.results = results self.names = names self.cls_list = cls_list self.conf_list = conf_list self.location_list = location_list # 显示目标框 if total_nums >= 1: # 渲染类别和置信度信息 self.label_16.setText(names[cls_list[0]]) self.label_15.setText(str(conf_list[0])) # 默认显示第一个目标框坐标 # 设置坐标位置值 self.label_13.setText(str(location_list[0][0])) self.label_19.setText(str(location_list[0][1])) self.label_21.setText(str(location_list[0][2])) self.label_23.setText(str(location_list[0][3])) else: # 清空显示框 self.label_16.setText(' ') self.label_15.setText(' ') self.label_13.setText(' ') self.label_19.setText(' ') self.label_21.setText(' ') self.label_23.setText(' ')

(五)总结

以上即为整个项目的介绍,完整的项目包括代码,数据集,训练好的模型权重,模型训练记录,GUI界面和各种模型指标等

整个项目包含全部资料,一步到位,拿来就用,省心省力!

若项目使用过程中出现问题,请及时沟通!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 3:32:01

SWIREASONING框架:动态切换显隐式推理的LLM推理新范式

1. SWIREASONING框架解析:动态切换显隐式推理的LLM推理新范式大型语言模型(LLM)的推理能力正成为其核心竞争力的关键指标。传统思维链(Chain-of-Thought, CoT)方法虽然通过显式生成中间推理步骤提升了模型的可解释性,但其离散化的token生成过程本质上丢失…

作者头像 李华
网站建设 2026/5/1 3:31:58

告别箱线图局限:用MATLAB小提琴图揭示数据背后的真实故事

告别箱线图局限:用MATLAB小提琴图揭示数据背后的真实故事 【免费下载链接】Violinplot-Matlab Violin Plots for Matlab 项目地址: https://gitcode.com/gh_mirrors/vi/Violinplot-Matlab 还在用箱线图分析数据分布吗?你是否曾因为无法直观看到数…

作者头像 李华
网站建设 2026/5/1 3:24:36

儿童教育语音分析:端到端联合建模技术解析

1. 项目背景与核心价值在儿童教育领域,语音交互分析正成为评估教学质量和儿童发展的重要工具。传统方法通常将语音识别(ASR)和说话人角色标注作为独立任务处理,导致误差累积和信息丢失。这个项目提出的端到端联合建模方案&#xf…

作者头像 李华