Coder Social home page Coder Social logo

3335083534 / traffic-sign-recognition-pyqt5-yolov5-gui Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ai-trainee/traffic-sign-recognition-pyqt5-yolov5-gui

0.0 0.0 0.0 100.61 MB

这是一个基于YOLOv5🚀的道路标志识别系统😊,使用了MySQL数据库💽,PyQt5进行界面设计🎨,PyTorch深度学习框架和TensorRT进行加速⚡,同时包含了CSS样式🌈。系统由五个主要模块组成:系统登录模块🔑负责用户登陆;初始化参数模块📋提供YOLOv5模型的初始化参数设置;标志识别模块🔍是系统的核心,负责对道路标志进行识别并将结果导入数据库;数据库模块💾包含基本数据库操作和数据分析两个子模块;图像处理模块🖼️负责单个图像的处理和数据增强。整个系统支持多种数据输入和模型切换,提供了包括mossic和mixup在内的图像增强方法📈。

Home Page: https://ai-trainee.github.io/Traffic-Sign-Recognition-PyQt5-YOLOv5-GUI/

License: GNU General Public License v3.0

Shell 0.01% Python 99.99% HTML 0.01% Dockerfile 0.01%

traffic-sign-recognition-pyqt5-yolov5-gui's Introduction

Road Sign Recognition Project Based on YOLOv5 (YOLOv5 GUI)

English | 简体中文

训练策略

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). 00013.jpg

Screenshots

  • Sign Recognition Module

    img.png
  • Image Processing and Data Augmentation Module

    img_1.png
  • Parameter Initialization Module

    img_2.png
  • Database Module

    img_3.png
  • Data Analysis Module

    img_4.png
  • Login Interface

    img_5.png

Video Demo

Road Sign Recognition System Based on YOLOV5

Getting Started

Run main.py.

Account and Password

Here are the default login credentials:

Username Password
admin 123456
1 2

Modify the main function in main.py to enter the system directly without authentication.

Project Structure

  • 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.
  • 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.
  • Dataset: Download from TT100k : Traffic-Sign Detection and Classification in the Wild.
  • Database files: Located in the data folder, see -regn_mysql.sql for setup.

Install Dependencies

To install the required dependencies, run:

pip install -r requirements.txt

Attention

This project uses YOLOv5 v6.1.

For database connections, you need to set up your MySQL database as per the configurations below:

def get_db_connection():
    return pymysql.connect(
        host='localhost',
        user='root',
        password='123456',
        database='traffic_sign_recognition'
    )

There are two identical database links in the code that need to be modified, please check the database sql file under the data folder to establish the test database

Acknowledgements

  • For converting the TT100K dataset to VOC format and selecting more than 100 images and XMLs for each category, see this CSDN blog post.
  • The PyQt5-YOLOv5 integration was inspired by this GitHub repository.

Star History

Track the GitHub star history of this project:

Star History Chart

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.