Traffic Signal Recognition

How can we automate and classify Traffic signs to reduce road accidents ?

INTRODUCTION

In recent years, extensive research is being made by major car manufacturing companies on real-time and automatic recognition of traffic signs, so that it can be a part of the so called “Driver Support Systems”. Traffic sign recognition (TSR) can be considered part of the bigger problem of autonomous vehicles. An autonomous vehicle system relies on vision-based recognition of surrounding area in order to make driving decisions. This vision-based recognition system may function as the feedback provider for control of steering wheel, accelerator, brake, etc.

DATASET

The German Traffic Sign Benchmark is a multi-class, single-image classification challenge held at the International Joint Conference on Neural Networks (IJCNN) 2011. The data-set can be downloaded from this Kaggle link.

The Dataset can also be downloaded benchmark data sets and results for computer vision and machine learning problems. The benchmark data sets are compiled by the Real-Time Computer Vision group at our institute. Currently, there are two data sets available, the German Traffic Sign Recognition Benchmark (GTSRB), a large multi-category classification benchmark, and the German Traffic Sign Detection Benchmark (GTSDB). The first was used in a competition at IJCNN 2011.

Project Workflow

To build sequential model using Keras neural network library with TensorFlow backend.

Import Libraries

Distinct dataset 3!

Dimensions accepted by keras

Convert labels to categorical values

Model with no augmentation

Model with transfer learning

Model Developments

Baseline Model

Transfer Learning

Accuracy and Loss curves

Classification Report

Performance Metrics: Precision and F1-score

Software Environment:


JetBrains PyCharm 2019.3.5.

Anaconda libraries.

TensorFlow 2.4.0.

Python 3.7.4.

Computation Environment:

AMAZON AWS.

Description: VGA compatible controller

Product: GM204GL [Tesla M60]

Vendor: NVIDIA Corporation

TRANSFER LEARNING

State-of-the-art neural network algorithms performance of traffic sign recognition.

ALEXNET

Input Dimension: 256 × 256 × 3

Parameters: 60 Million

Neurons: 650K.

Read More

VGG-19

Input Size: 224x224.

Layers: Fully Connected.

Parameters: 144 Million

Read More

RESNET50

Batch Normalization

Identity Connection

Bottleneck residual block design.

Read More

Models

Comparision of different trained models to see which is the best for our study.

CNN - NO AUGMENTATION

Computation of accuracy with just Pre-processing and fit the training data to the model.

Read More

CNN AUGMENTATION

Computation of accuracy with Pre-processing, augmentation and fit the training data to the model.

Read More

ALEXNET

Computation of accuracy with Pre-processing, augmentation and fit the training data to the transfer learning(alexnet).

Read More

VGG-19

Computation of accuracy with Pre-processing, augmentation and fit the training data to the transfer learning(VGG-19).

Read More

RESNET50

Computation of accuracy with Pre-processing, augmentation and fit the training data to the transfer learning(RESNET50).

Read More

Accuracy, loss curves and classification report

RESULTS

  • All
  • Classification Report
  • Accuracy & Loss Curves

NO AUGMENTATION

Validation and accuracy loss

ALEXNET

Validationa and accuracy loss

NO AUGMENTATION

CLASSIFICATION REPORT

RESNET50

Validation and Accuracy

VGG-19

CLASSIFICATION REPORT

RESNET50

CLASSIFICATION REPORT

ALEXNET

CLASSIFICATION REPORT

VGG19

Validation and Accuracy

KEY INSIGHTS

No Augmentation

Precision:0.58

F1-Score:0.55

Accuracy:0.63

TRANSFER LEARNING: VGG-19

Precision:0.98

F1-Score:0.98

Accuracy:0.98

TRANSFER LEARNING: ALEXNET

Precision:0.97

F1-Score:0.96

Accuracy:0.98

TRANSFER LEARNING: RESNET50

Precision:0.95

F1-Score:0.95

Accuracy:0.95

FINAL THOUGHTS!

There is still room for improvement!
Model Patching!
YOLO!