This system is a road sign recognition application leveraging YOLOv5. It employs a MySQL database, PyQt5 for the interface design, and the PyTorch deep learning framework. Additionally, it incorporates CSS styles. The system comprises five key modules:
- System Login Module: Responsible for user authentication.
- Initialization Parameter Module: Provides settings for initializing YOLOv5 model parameters.
- Sign Recognition Module: The core functionality responsible for recognizing road signs and updating the database with the results.
- Database Module: Consists of two sub-modules – basic database operations and data analysis.
- Image Processing Module: Handles the processing of individual images and associated data.
The entire system is designed to support various data input methods and model switching. Additionally, it offers image enhancement techniques such as mosaic and mixup.
Screenshots
Sign Recognition Module
The three checkboxes in the lower left corner are results save, start database entry, and model visual analysis.

Image Processing and Data Augmentation Module
The right column is a batch image data enhancement with custom parameters.

Parameter Initialization Module
Model basic parameters select configuration.

Database Module

Data Analysis Module

Login Interface

Video Demos
YOUTUBE DEMO: Road Sign Recognition System Based on YOLOV5
BiliBili Demo: Road Sign Recognition System Based on YOLOV5
Install Dependencies
To install the required dependencies, run:
pip install -r requirements.txt
Quick Start
1. Setting Up the Database
To run the application, you need to set up your MySQL database. Follow these steps to prepare your database:
- Automatic Database Creation (Optional): If you prefer an automated setup, run the setup_database.bat script to create the database.
- Manual Database Creation: Alternatively, manually create the database in MySQL. Import and execute the dataregn_mysql.sql file in your MySQL environment.
2. Configuring Database Connection in Code
After setting up the database, update the connection settings in the code. Here’s how:
# Database connection settings
DB_HOST = localhost # Database host
DB_USER = root # Database user
DB_PASSWORD = 1234 # Database password
DB_NAME = traffic_sign_recognition # Database name
Note on Cryptography Package
If you encounter a RuntimeError: cryptography package is required for sha256_password or caching_sha2_password auth methods, ensure that your MySQL service is started locally, and your database is correctly set up with the right credentials.
3. Run main.py
Enter your account and password to log in. Here are the default login credentials:
- Username: admin
- Password: 123456
Alternatively, modify the main function in main.py to bypass authentication if needed.
Project Structure
The project structure consists of folders for model files, login UI, resource files, and more. Since the core logic is centralized in main.py, there’s potential for a clearer modularization.
Troubleshooting
If you encounter issues during setup or execution, consider checking the following:
- Ensure all dependencies are installed properly.
- Check that MySQL service is running and listening for connections.
- Verify database configuration settings in your code.
- If you are facing cryptography package errors, install/update it using pip install cryptography.
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Conclusion
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.