首页 > 分享 > 基于yolov10的水果成熟度检测,支持图像、视频和摄像实时检测【pytorch框架、python】

基于yolov10的水果成熟度检测,支持图像、视频和摄像实时检测【pytorch框架、python】

 更多目标检测和图像分类识别项目可看我主页其他文章

功能演示:

基于yolov10的水果成熟度检测系统,支持图像、视频和摄像实时检测【pytorch框架、python】_哔哩哔哩_bilibili

(一)简介

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

该项目是在pycharm和anaconda搭建的虚拟环境执行,pycharm和anaconda安装和配置可观看教程:

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

(二)项目介绍 1. 模型训练、验证

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

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

第二步:模型训练,即运行train.py文件 

第三步:模型验证,当模型训练完后,运行val.py文件

第四步:使用模型,即运行gui.py文件即可通过GUI界面来展示模型效果

2. 数据集 

​​​

部分数据展示: 

​​

3.GUI界面(技术栈:pyqt5+python)  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(' ')

' (四)总结

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

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

相关知识

YOLOv11 vs YOLOv8:谁才是真正的AI检测之王?
基于YOLOv8深度学习的水稻害虫检测与识别系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战
基于python编程的五种鲜花识别
基于YOLOv8深度学习的智能玉米害虫检测识别系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战
基于YOLOv8深度学习的智能小麦害虫检测识别系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战
基于yolov5的海棠花花朵识别检测系统完整项目
构建智能化玉米病虫害检测系统:深度学习与实时UI集成详解
基于深度学习的花卉检测与识别系统(YOLOv5清新界面版,Python代码)
基于深度学习的农作物害虫检测系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)
基于STM32的农业病虫害检测检测系统:OpenCV、MQTT、Flask框架、MySQL(代码示例)

网址: 基于yolov10的水果成熟度检测,支持图像、视频和摄像实时检测【pytorch框架、python】 https://m.huajiangbk.com/newsview1347482.html

所属分类:花卉
上一篇: 基于深度学习的番茄成熟度检测系统
下一篇: 水果成熟度检测技术的现状与发展