Skip to content

This project focuses on classifying traffic signs using the GTSRB dataset, a key challenge for autonomous driving systems. The repository includes data exploration, model training, and evaluation.

Notifications You must be signed in to change notification settings

Medkallel/Road-Signs-Deep-Learning-Classification

Repository files navigation

🚏 Road Signs Deep Learning classification

banner.jpg


Table of Contents


Technologies Used

Python Keras Pandas NumPy Scikit-Learn Plotly Matplotlib Jupyter Notebook


Description

This project aims to classify road signs using a Convolutional Neural Network (CNN), important for autonomous driving systems. The GTSRB dataset is used, with data augmentation and model optimization techniques applied to improve performance.

Objectives

The primary goal is to accurately classify road signs while exploring various techniques to improve the model's performance.

  1. Preprocess and augment the GTSRB dataset.
  2. Design, train, and evaluate the CNN model.
  3. Optimize performance with techniques like regularization and transfer learning.
  4. Interpret the model predictions and evaluation results.

Dataset

The GTSRB dataset contains 50,000+ images of road signs. It will be split into training, validation, and test sets with data augmentation to increase robustness & generalization. Dataset-Link.


Presentation

A presentation is available as a PDF file in the repo Project_Presentation.pdf & also as a Canva/Powerpoint presentation through the following link: Presentation Link.

A Project Report is available as well as a PDF files in the repo Project_Report.pdf.


Notebooks Overview

  1. Exploratory_Data_Analysis.ipynb:

    • Provides a comprehensive analysis of the dataset, including visualizations and insights into user ratings, movie genres, and other key aspects.
  2. Models_Training.ipynb:

    • Contains the implementation of various machine learning models for the classification task, including Convolutional Neural Networks (CNN). The notebook includes data preprocessing steps, model architecture, training routines, and hyperparameter tuning, such as adjusting learning rate and batch size, to improve model performance.

Important

The project was developed and tested on Python 3.11.6

To run this project locally, follow these steps:

  1. Clone the repository:
git clone https://github.com/Medkallel/Road-Signs-Deep-Learning-Classification
cd Road-Signs-Deep-Learning-Classification
  1. Install requirements:
pip install -r requirements.txt

Important

Download the dataset from the following link: Dataset-Link And place it in the Data folder.


Usage

  1. Run the Models_Training.ipynb notebook to preprocess the data, train and evaluate the model.

TIP: The notebook may take a while to run and train the model. Uncomment the model loading in the evaluation part to skip the training.


Project structure

📦 Road-Signs-Deep-Learning-Classification/
├── 📁Data/ # Contains the dataset
├── 📁Model/
│   └── 🗃️Road_Sign_Classification_Model.keras
├── 📓Exploratory_Data_Analysis.ipynb
├── 📓Model_Training.ipyn
├── 📄requirements.txt
├── 📄README.md
├── 📄Project_Report.pdf
├── 📄Project_Presentation.pdf
│── 📄.gitignore
└── 🖼️banner.png

Colaborators

This project was developed by a collaborative team. Each member played a crucial role in the research, development, and analysis:

  • Mohamed Kallel
  • Jean Christophe Rigoni
  • Simon Pierre Rodner

📫 Contact me

LinkedIn


License

This project is under the CC BY-NC 4.0 License. For more information, refer to the license file.
License: CC BY-NC 4.0

About

This project focuses on classifying traffic signs using the GTSRB dataset, a key challenge for autonomous driving systems. The repository includes data exploration, model training, and evaluation.

Topics

Resources

Stars

Watchers

Forks