Skip to content

Repository files navigation

🚦 Traffic Sign Recognition using CNN & Genetic Algorithm

An intelligent system that detects and classifies traffic signs using Convolutional Neural Networks (CNN) combined with Genetic Algorithm (GA) for optimization.


📌 Project Overview

Traffic Sign Recognition is a crucial application in:

  • Autonomous Driving 🚗
  • Driver Assistance Systems (ADAS)
  • Road Safety Monitoring

This project uses Deep Learning + Evolutionary Optimization to improve classification performance.


🎯 Aim

To develop a model that:

  • Accurately detects and classifies traffic signs
  • Optimizes model parameters using Genetic Algorithm
  • Improves performance and generalization

🧾 Description

The system processes traffic sign images and predicts their class using:

  • CNN for feature extraction and classification
  • Genetic Algorithm for hyperparameter tuning and optimization

✨ Features

✔ Traffic sign classification ✔ CNN-based feature extraction ✔ Genetic Algorithm optimization ✔ High accuracy model ✔ Scalable and efficient system


🛠 Technologies Used

  • Language: Python

  • Libraries:

    • TensorFlow / Keras
    • OpenCV
    • NumPy
    • Matplotlib
  • Concepts:

    • Deep Learning (CNN)
    • Evolutionary Algorithms (GA)
    • Computer Vision

🧠 Model Architecture

🔷 CNN

  • Convolution Layers
  • Pooling Layers
  • Fully Connected Layers
  • Output Layer (Traffic Sign Classes)

🔷 Genetic Algorithm

  • Population initialization
  • Fitness evaluation
  • Selection
  • Crossover
  • Mutation

📂 Dataset

  • German Traffic Sign Recognition Benchmark (GTSRB)
  • Contains multiple traffic sign classes

⚙️ Workflow

  1. Data Collection
  2. Data Preprocessing
  3. CNN Model Training
  4. Apply Genetic Algorithm
  5. Optimize hyperparameters
  6. Final prediction

🔄 Methodology

🔹 Data Preprocessing

  • Resize images
  • Normalize pixel values
  • Data augmentation

🔹 CNN Training

  • Train model on traffic sign dataset
  • Extract features automatically

🔹 Genetic Algorithm Optimization

  • Tune hyperparameters such as:

    • Learning rate
    • Number of layers
    • Batch size
  • Improve model accuracy


📊 Evaluation Metrics

  • Accuracy
  • Precision
  • Recall
  • F1 Score

▶️ How to Run

1. Install Dependencies

pip install tensorflow opencv-python numpy matplotlib

2. Run the Project

python train.py
python optimize_ga.py

📁 Project Structure

Traffic-Sign-Recognition/
│── dataset/
│── model/
│── train.py
│── optimize_ga.py
│── utils.py
│── README.md

📸 Output

  • Traffic sign image
  • Predicted class label
  • Model performance results
  • German Traffic Sign Recognition Benchmark (GTSRB) Training: 80% of the dataset. Testing: 20% of the dataset.

Input:

image

Output:

image


✅ Conclusion

This project demonstrates:

  • Application of CNN in image classification
  • Use of Genetic Algorithm for optimization
  • Improved accuracy through hybrid approach

🚀 Future Enhancements

  • Real-time traffic sign detection
  • Integration with self-driving systems
  • Use advanced models (YOLO, Faster R-CNN)
  • Deploy as mobile/web app

👨‍💻 Author

  • Ganesh Sesha Sai Akhil
  • Venkatesh
  • Arun Kumar

⭐ Support

If you like this project, give it a ⭐ on GitHub!

About

Designed and trained a Convolutional Neural Network (CNN) for automatic traffic sign recognition using image classification techniques. The model accurately classifies multiple traffic sign categories and can support autonomous driving and intelligent transportation applications

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages