这是一个关于yolov5的道路标志识别项目,使用Pyqt5开发界面,Yolov5训练模型,数据库Mysql,包含五个模块:初始化参数、标志识别、数据库、数据分析和图像处理。
项目地址https://github.com/Ai-trainee/Traffic-Sign-Recognition-PyQt5-YOLOv5-GUI
左下角三个勾选框分别是结果保存、启动数据库录入、以及模型可视化分析
pip install -r requirements.txt
为了运行应用程序,您需要设置您的 MySQL 数据库。按照以下步骤准备您的数据库:
setup_database.bat
脚本来创建数据库。这需要在您的系统上安装并配置 MySQL。data/regn_mysql.sql
文件,以设置必要的数据库和表。设置数据库之后,更新代码中的连接设置;这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
错误,这是因为数据库身份验证出错了,需要正确地创建数据库并输入密码。
main.py
。以下是默认的登录凭据:
用户名 | 密码 |
---|---|
admin | 123456 |
1 | 2 |
或者修改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
保存训练文件data
文件夹下-regn_mysql.sql
由于这个项目是在我学习YOLOv5时完成的(已经过了很长一段时间),因此主要的逻辑代码都集中在main.py文件中。换句话说,我没有将不同功能模块化,没有进行模块结构的清晰划分。主要是由于我太懒了,嘻嘻 😄。如果您有兴趣,可以将其模块化,这样它就会更加清晰。