基于YOLOv5的道路标志识别项目(yolov5界面GUI)

在这里插入图片描述

基于YOLOv5的道路标志识别项目(yolov5界面GUI)

English | 简体中文

这是一个关于yolov5的道路标志识别项目,使用Pyqt5开发界面,Yolov5训练模型,数据库Mysql,包含五个模块:初始化参数、标志识别、数据库、数据分析和图像处理。

项目地址https://github.com/Ai-trainee/Traffic-Sign-Recognition-PyQt5-YOLOv5-GUI

软件截图

  • 标志识别模块

    在这里插入图片描述

左下角三个勾选框分别是结果保存、启动数据库录入、以及模型可视化分析

  • 图像处理与数据增强模块

    在这里插入图片描述

    右侧栏是自定义参数的批量图像数据增强(按一定概率对一个文件夹所有图片使用勾选的数据增加方法)

  • 初始化参数模块

    在这里插入图片描述

    模型基本参数勾选配置

  • 数据库模块

    在这里插入图片描述

  • 数据分析模块

    在这里插入图片描述

  • 登录界面

    在这里插入图片描述

演示视频

基于YOLOV5的道路标志识别系统

安装依赖

pip install -r requirements.txt


快速开始

1. 设置数据库

为了运行应用程序,您需要设置您的 MySQL 数据库。按照以下步骤准备您的数据库:

  • 自动数据库创建(可选)
    • 如果您喜欢自动设置,我们提供了一个批处理脚本。运行 setup_database.bat 脚本来创建数据库。这需要在您的系统上安装并配置 MySQL。
  • 手动数据库创建
    • 或者,您可以在 MySQL 中手动创建数据库。在您的 MySQL 环境中导入并执行 data/regn_mysql.sql 文件,以设置必要的数据库和表。

2. 在代码中配置数据库连接

设置数据库之后,更新代码中的连接设置;这4个变量在代码的开头,请更改成你本地数据库的身份验证信息;这些身份验证信息再代码中有两处调用(大约第111行和第1783行)

# 数据库连接设置作为全局变量
DB_HOST = 'localhost'    # 数据库主机
DB_USER = 'root'         # 数据库用户
DB_PASSWORD = '1234'     # 数据库密码
DB_NAME = 'traffic_sign_recognition'  # 数据库名

关于数据库链接的注意事项

如果遇到 RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods 错误,这是因为数据库身份验证出错了,需要正确地创建数据库并输入密码。

3. 运行 main.py

4. 输入您的账号和密码以登录。

以下是默认的登录凭据:

用户名密码
admin123456
12

或者修改main.py中的主函数:删除登陆逻辑,以直接进入系统而无需进行身份验证。


项目模块

  • pt文件夹:存放模型(best.pt是道路标志识别模型)
  • main_with文件夹:login.py(登陆ui)、win.py(主ui)
  • dialog文件夹:rtsp弹出界面
  • apprcc_rc.py:资源文件
  • login_ji.py:界面登陆逻辑文件
  • data/run/run-exp52:300轮训练后的道路标志识别模型
  • utils/tt100k_to_voc-main文件夹:json转yolo格式
  • result保存一些推理文件,run保存训练文件
  • 数据集:TT100k : Traffic-Sign Detection and Classification in the Wild
  • 数据库文件:data文件夹下-regn_mysql.sql

由于这个项目是在我学习YOLOv5时完成的(已经过了很长一段时间),因此主要的逻辑代码都集中在main.py文件中。换句话说,我没有将不同功能模块化,没有进行模块结构的清晰划分。主要是由于我太懒了,嘻嘻 😄。如果您有兴趣,可以将其模块化,这样它就会更加清晰。

致谢

Star History

在这里插入图片描述

  • 37
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: PyQt5是一个流行的Python编程语言库,用于创建GUI应用程序。YOLOv5是一种目标检测算法,用于快速和准确地识别图像中的对象。 通过结合PyQt5YOLOv5,可以实现一个车牌识别系统。首先,需要将YOLOv5模型与PyQt5界面进行集成。可以在PyQt5的主窗口中添加一个按钮,用于选择要识别的图像文件。当用户点击按钮时,系统会弹出一个文件选择对话框,用户可以选择要识别的图像。 选择图像后,将图像传递给YOLOv5模型进行车牌检测。YOLOv5模型将返回每个检测到的车牌的位置和边界框坐标。在PyQt5界面上,可以使用标记框和文字标签等元素将检测到的车牌可视化。 此外,可以添加一个识别按钮,让用户在检测到车牌后点击此按钮以执行车牌识别。车牌识别可以使用OCR(光学字符识别)技术,将车牌图像换为实际的车牌号码。识别到的车牌号码可以显示在PyQt5界面的文本标签中,使用户可以轻松查看识别结果。 最后,为了提高系统的用户友好性,可以添加一个清除按钮,用于清除之前的结果并重置系统状态,以便用户可以继续选择和识别新的图像。 总之,通过使用PyQt5YOLOv5,可以创建一个具有用户界面的车牌识别系统,使用户能够选择图像并实时查看和识别车牌。这样的系统可以在许多场景中应用,如安防监控、智能交通系统等。 ### 回答2: PyQt5是一个基于Python的图形用户界面开发工具包,通过使用PyQt5可以方便地创建各种桌面应用程序。而YOLOv5则是一种基于深度学习的目标检测算法,可以实现对图像中多个目标的准确检测和分类。 要实现车牌识别系统,可以结合使用PyQt5YOLOv5。 首先,需要使用YOLOv5进行车牌检测。YOLOv5通过训练深度神经网络模型,可以准确地检测图像中的车牌位置。可以使用已经训练好的YOLOv5模型,也可以自己训练模型来适应特定的场景。 然后,利用PyQt5创建一个图形用户界面,用于显示图像和识别结果。可以使用PyQt5的各种组件来实现用户界面的布局和交互。可以添加一个图像显示区域,用于展示待识别的图像,同时在图像上绘制出检测到的车牌位置。可以添加一个文本框,用于显示识别出的车牌号码。 接着,在PyQt5界面中添加一个按钮,用于触发车牌识别的功能。当用户点击该按钮时,程序会将待识别的图像传入YOLOv5模型进行检测,并将检测结果显示在界面上的图像和文本框中。 最后,可以使用PyQt5的信号与槽机制,将用户界面YOLOv5识别功能连接起来。在用户点击识别按钮后,程序会调用YOLOv5模型进行识别操作,然后将结果显示在用户界面上。 综上所述,使用PyQt5YOLOv5可以实现一个车牌识别系统。PyQt5用于创建图形用户界面,显示图像和识别结果,而YOLOv5用于对图像进行车牌检测和识别。通过将两者结合,可以实现一个功能完善的车牌识别系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aitrainee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值