This is a road sign recognition project based on YOLOv5, developed with a PyQt5 interface, YOLOv5 trained model, and MySQL database. The project consists of five modules: parameter initialization, sign recognition, database, data analysis, and image processing(Please refer to the Chinese document for details),This project uses YOLOv5 v6.1.







Road Sign Recognition System Based on YOLOV5
To install the required dependencies, run:
pip install -r requirements.txt
To run the application, you need to set up your MySQL database. Follow these steps to prepare your database:
setup_database.bat script to create the database. This requires MySQL to be installed and configured on your system.data/regn_mysql.sql file in your MySQL environment to set up the necessary database and tables.After setting up the database, update the connection Settings in the code; These 4 variables in the beginning of the code, please change your local database authentication information; There are two calls in the recasting of this authentication information (approximately lines 111 and 1783)
# Database connection settings as global variables
DB_HOST = 'localhost' # Database host
DB_USER = 'root' # Database user
DB_PASSWORD = '1234' # Database password
DB_NAME = 'traffic_sign_recognition' # Database name
If you encounter a RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods, This is necessary for certain MySQL authentication methods.
main.py.Here are the default login credentials:
| Username | Password |
|---|---|
| admin | 123456 |
| 1 | 2 |
Or modify the main function in main.py: remove the logon logic to enter the system directly without authentication.
pt folder: Contains the YOLOv5 model file best.pt for road sign recognition.main_with folder: Contains login.py for the login UI and win.py for the main UI.dialog folder: Contains the RTSP pop-up interface.apprcc_rc.py: The resource file for the project.login_ji.py: Implements the login logic for the UI.data/run/run-exp52: The YOLOv5 road sign recognition model trained for 300 epochs.utils/tt100k_to_voc-main folder: Tool for converting JSON annotations to YOLO format.result: Folder to save inference results.run: Folder to save training logs and outputs.data folder, see -regn_mysql.sql for setup.Track the GitHub star history of this project:
$ claude mcp add Traffic-Sign-Recognition-PyQt5-YOLOv5-GUI \
-- python -m otcore.mcp_server <graph>