Yolov5 + 界面PyQt5 +.exe文件部署运行

简介: Yolov5 + 界面PyQt5 +.exe文件部署运行

介绍

Yolov5是一种基于深度学习的目标检测算法,PyQt5是一个Python编写的GUI框架,用于创建交互式界面。在部署和运行Yolov5模型时,结合PyQt5可以方便地创建一个用户友好的界面,并将代码打包为.exe文件以供其他人使用。

下面是一个简要的介绍,如何将Yolov5与PyQt5结合,并将代码打包为.exe文件进行部署和运行:


安装必要的软件和库:


安装Python:确保安装了Python解释器。

安装PyQt5:使用pip命令安装PyQt5库,例如pip install pyqt5。

安装yolov5:使用pip命令安装yolov5库,例如pip install yolov5。

安装pyinstaller:使用pip命令安装pyinstaller库,用于将Python代码打包为可执行文件,例如pip install pyinstaller。

创建PyQt5界面:


使用PyQt5创建一个用户界面,包括按钮、文本框等,用于用户输入和交互。

将Yolov5相关的代码嵌入到PyQt5界面中,例如加载模型、进行目标检测等

实现

  • Yolov5训练个人数据集
  • pt格式模型转换为onnx格式
  • 使用openCV的dnn模块或onnxruntime实现检测
  • 在Windows平台打包为可执行程序(Linux理论上也可以打包,但没试过)
  • 打包后可移植(部署)到大多数Windows设备

展示

主界面

功能

  1. 支持视频、图片、本地摄像头、网络视频流、屏幕
  2. 实时帧数
  3. 重定向控制台输出到软件界面上
  4. 更改检测置信度、IOU阈值
  5. 显示/关闭锚框、更改锚框宽度及颜色
  6. 打印/隐藏检测结果
  7. 录制检测视频
  8. 保存实时截图、控制台记录
  9. 自定义脚本,每次检测都将触发,(详细说明请阅读need/self_demo.py)

项目需求 (详见requirements.txt)

  • python == 3.9
  • numpy == 1.23.4
  • opencv-python == 4.5.5.62
  • PyQt5 == 5.15.7
  • onnxruntime == 1.13.1
  • nuitka == 0.6.18.4

###自定义 使用方法


快速入门

  • clone项目到本地
  • 安装依赖pip install -r requirements.txt
  • 运行Yolo2onnxDetectProjectDemo.py
  • 点击▶按钮开始检测,高阶玩法参考need/self_demo.py


训练自己的数据集并转换为此项目可用的模型

  • 推荐用Yo转为onnx格式。本仓库的模型转换命令为python models/export.py --weights ./weights/yolov5s.pt --img 640 --batch 1


打包为可执行文件

  • 所用库为nuitka,打包命令已经在build.py中配置好,如需更高级玩法请自己摸索
  • 执行build.py,打包好的文件位于build_file/publish文件夹

1.此处需注意:真正打包好的文件在Yolo2onnxDetectProjectDemo.dist文件夹

2.为了方便debug和更新,在第一次打包成功后需要将此文件夹内所有的文件复制到publish文件夹

3.双击运行exe文件,

快速运行(可以直接看此处)

  1. 打开压缩包,直接点击.exe文件
  2. 设置onnx文件的索引路径

3. 设置输入的模式:图片/视频/摄像头

4. 然后点击运行按钮

5.最终效果

鸣谢 xun-xh作者

相关文章
|
机器学习/深度学习 并行计算 计算机视觉
YOLOv5入门实践(5)——从零开始,手把手教你训练自己的目标检测模型(包含pyqt5界面)
YOLOv5入门实践(5)——从零开始,手把手教你训练自己的目标检测模型(包含pyqt5界面)
11846 1
YOLOv5入门实践(5)——从零开始,手把手教你训练自己的目标检测模型(包含pyqt5界面)
|
存储 网络协议 安全
Linux 在线/离线安装 NFS 服务及使用
-m 表示指定文件所在的文件系统或者块设备(处于 mount 状态)。所有访问该文件系统的进程都被列出。如上所示,有两个进程占用了,将其kill掉,再重新取消挂载。
3946 0
Linux 在线/离线安装 NFS 服务及使用
|
数据安全/隐私保护
xshell7,xftp7个人免费版官方下载,无需破解,免激活,下载即可使用
xshell7,xftp7个人免费版官方下载,无需破解,免激活,下载即可使用
16340 0
|
机器学习/深度学习 算法 计算机视觉
深度学习目标检测系列:一文弄懂YOLO算法|附Python源码
本文是目标检测系列文章——YOLO算法,介绍其基本原理及实现细节,并用python实现,方便读者上手体验目标检测的乐趣。
54381 0
|
机器学习/深度学习 JSON 算法
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-Seg模型进行图像分割的完整流程,包括图像分割的基础知识、YOLOv5-Seg模型的特点、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。通过实例代码,指导读者从自定义数据集开始,直至模型的测试验证,适合深度学习领域的研究者和开发者参考。
5878 3
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
|
5月前
|
机器学习/深度学习 编解码 数据可视化
面向海洋保护的YOLOv8水下垃圾分类检测系统|含训练与部署代码
本项目围绕海洋环境保护问题,构建了一个基于 YOLOv8 的水下垃圾目标检测系统,具备良好的实用性与可扩展性。系统集成了自定义数据训练、图形界面封装、实时检测展示等多个关键模块,能够有效识别和分类 12 类典型水下垃圾。
面向海洋保护的YOLOv8水下垃圾分类检测系统|含训练与部署代码
|
8月前
|
机器学习/深度学习 人工智能 算法
Python+YOLO v8 实战:手把手教你打造专属 AI 视觉目标检测模型
本文介绍了如何使用 Python 和 YOLO v8 开发专属的 AI 视觉目标检测模型。首先讲解了 YOLO 的基本概念及其高效精准的特点,接着详细说明了环境搭建步骤,包括安装 Python、PyCharm 和 Ultralytics 库。随后引导读者加载预训练模型进行图片验证,并准备数据集以训练自定义模型。最后,展示了如何验证训练好的模型并提供示例代码。通过本文,你将学会从零开始打造自己的目标检测系统,满足实际场景需求。
8763 1
Python+YOLO v8 实战:手把手教你打造专属 AI 视觉目标检测模型
|
机器学习/深度学习 编解码 监控
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
23448 59
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
数据采集 人工智能 小程序
如何制作数据集并基于yolov5训练成模型并部署
这篇文章介绍了如何为YOLOv5制作数据集、训练模型、进行模型部署的整个流程,包括搜集和标注图片、创建数据集文件夹结构、编写配置文件、训练和评估模型,以及将训练好的模型部署到不同平台如ROS机器人、微信小程序和移动应用等。
如何制作数据集并基于yolov5训练成模型并部署
|
XML 机器学习/深度学习 数据格式
YOLOv8训练自己的数据集+常用传参说明
YOLOv8训练自己的数据集+常用传参说明
23388 3