Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/redayzarra/cnn_trafficsigns
This is a machine learning project where I utilized the LeNet-5 architecture to create a convolutional deep network that classifies 43 different kind of traffic signs. I've made sure to include a full step-by-step implementation of the project as well as detailed notes for every step.
https://github.com/redayzarra/cnn_trafficsigns
classification classification-model computer-vision deep-learning deep-neural-networks lenet lenet-5 lenet-architecture machine-learning model-evaluation model-selection
Last synced: about 2 months ago
JSON representation
This is a machine learning project where I utilized the LeNet-5 architecture to create a convolutional deep network that classifies 43 different kind of traffic signs. I've made sure to include a full step-by-step implementation of the project as well as detailed notes for every step.
- Host: GitHub
- URL: https://github.com/redayzarra/cnn_trafficsigns
- Owner: redayzarra
- License: mit
- Created: 2023-01-01T23:32:32.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-01-17T00:27:17.000Z (about 2 years ago)
- Last Synced: 2024-11-27T20:18:30.815Z (about 2 months ago)
- Topics: classification, classification-model, computer-vision, deep-learning, deep-neural-networks, lenet, lenet-5, lenet-architecture, machine-learning, model-evaluation, model-selection
- Language: Jupyter Notebook
- Homepage: https://www.redaysblog.com/projects/traffic-signs
- Size: 2.85 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Traffic Signs Classification
## Overview
This project utilizes the **LeNet convolutional network architecture** to classify 43 different types of traffic signs. LeNet is a convolutional neural network that can be used for computer vision and classification models. LeNet (CNN) was designed to recognize handwritten digits. It was developed by Yann LeCun and his team at AT&T Bell Labs in the 1990s and is widely considered to be one of the first successful CNNs. LeNet consists of **several convolutional and pooling layers, followed by fully connected layers**. The architecture of LeNet has inspired many subsequent CNNs, and it is still widely used as a teaching tool for introducing the basics of CNNs to students and researchers. This project showcases a step-by-step implementation of the model and in-depth notes to customize the model further for higher accuracy.
The model is trained the dataset provided below, which is divided into training, validation, and test sets. The accuracy of this model can be further improved by collecting more data and also using data augmentation techniques such as flipping, rotation, zooming, and cropping. Convolutional neural networks are often prone to overfitting, which is when the model performs well with training data but poorly with unseen data due to fixating on certain features. My model has encountered this problem but you can avoid this by using more data, fewer features, regularization techniques, or early stopping (with fewer epochs).
Once the model is trained, it can be used to classify new, unseen traffic sign images. This can be useful for applications such as self-driving cars, where it is important to accurately recognize traffic signs in real time.
## Project Website
If you would like to find out more about the project, please checkout: [Traffic Signs Classification Project](https://www.redaysblog.com/projects/traffic-signs)
## Installing the libraries
This project uses several important libraries such as Pandas, NumPy, Matplotlib, and more. You can install them all by running the following commands with pip:
```bash
pip install pandas
pip install numpypython -m pip install -U matplotlib
pip install seabornpip install -U scikit-learn
pip install tensorflow```
If you are not able to install the necessary libraries, I recommend you **use Jupyter Notebook with Anaconda**. I have a .ipynb file for the project as well.
## Dataset and configurations
Find all the project dataset files here: [Dataset files](https://drive.google.com/drive/folders/1ctQBfS-A0YlBrbdhmH5g2993KtYyVvQU?usp=sharing)
Feel free to use your own dataset files and configure them with:
```python
with open("YOUR-TRAINING-DATA.p", mode = 'rb') as training_data:
train = pickle.load(training_data)with open("YOUR-VALIDATION-DATA.p", mode = 'rb') as validation_data:
valid = pickle.load(validation_data)with open("YOUR-TEST-DATA.p", mode = 'rb') as testing_data:
test = pickle.load(testing_data)
```## License
[MIT](https://choosealicense.com/licenses/mit/)