单页淘宝客网站怎么做网站 知乎
介绍
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设备
 
展示
主界面
功能
- 支持视频、图片、本地摄像头、网络视频流、屏幕
 - 实时帧数
 - 重定向控制台输出到软件界面上
 - 更改检测置信度、IOU阈值
 - 显示/关闭锚框、更改锚框宽度及颜色
 - 打印/隐藏检测结果
 - 录制检测视频
 - 保存实时截图、控制台记录
 - 自定义脚本,每次检测都将触发,(详细说明请阅读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文件夹
- 此处需注意:真正打包好的文件在
 Yolo2onnxDetectProjectDemo.dist文件夹- 为了方便debug和更新,在第一次打包成功后需要将此文件夹内所有的文件复制到
 publish文件夹
3. 双击运行exe文件,
快速运行(可以直接看此处)
- 打开压缩包,直接点击.exe文件
 - 设置onnx文件的索引路径
 

 3. 设置输入的模式:图片/视频/摄像头
 4. 然后点击运行按钮
 
 5.最终效果
 
 鸣谢 xun-xh作者!

