使用PyQt5为YoloV5添加界面

近期因为疫情,无法正常入职上班。所以在家参考相关博文,视频和代码等,学习了PyQt5的基础知识,并尝试为YOLOV5添加界面。
反正啥也不咋会,在家瞎捣鼓捣鼓,总比闲着强呗~
项目为简单Demo,仅供自己记录过程,以及交流学习~

一、项目简介

使用PyQt5为YoloV5添加一个可视化检测界面,并实现简单的界面跳转,具体情况如下:
特点:

  1. UI界面与逻辑代码分离
  2. 支持自选定模型
  3. 同时输出检测结果与相应相关信息
  4. 支持图片,视频,摄像头检测
  5. 支持视频暂停与继续检测

目的:

  1. 熟悉QtDesign的使用
  2. 了解PyQt5基础控件与布局方法
  3. 了解界面跳转
  4. 了解信号与槽
  5. 熟悉视频在PyQt中的处理方法

项目图片:

二. 项目整体框架与代码

项目地址:https://github.com/BonesCat/YoloV5_PyQt5/tree/main
B站视频:https://www.bilibili.com/video/BV1ZU4y1E7at/

更新:代码更新至百度云,自取!!!
链接:https://pan.baidu.com/s/1qF6JMIl8qoTVtCTnBfIaZw
提取码:3gdn
可以保存视频和图片啊,上传了截图给大家了。还是不行自己在动手改改吧,不是很难。

架构介绍:

  1. 整体为YoloV5的代码
  2. ui文件夹中存放ui的py文件和原件,便于使用与更改
  3. ui_img存放ui使用的图像文件
  4. utils中添加了一个用户账户工具id_utils.py
  5. detect_logical.py是检测界面的逻辑代码
  6. main_logical.py是主界面的逻辑代码
  7. userinfo.csv存放用户账号id信息

主要是在原始YoloV5-pyqt的基础上进行修改,具体如下:

  • 1.分离了界面和逻辑
  • 2.增加了登录,注册功能
  • 3.重构了部分功能代码

三、快速开始

环境与相关文件配置:

  • 按照 ult-yolov5 中requirement的要求配置环境,自行安装PyQt5,注意都需要在一个evn环境中进行安装与配置
  • 下载或训练一个模型,将“.pt”文件放到weights文件夹,(权重文件可以自己选,程序默认打开weights文件夹)
  • 当前设置的为cpu运行模式,无奈当前木有小钱钱,可以自己设置为gpu,在opt里面设置就可了,检测速度会提升

两种程序使用方式: