https://github.com/netcodez/image-classification-convolutional-neural-network
Deep learning: Image Classification using a Convolutional Neural Network
https://github.com/netcodez/image-classification-convolutional-neural-network
computer-vision convolutional-neural-networks deep-learning image-classification image-processing image-recognition
Last synced: 12 months ago
JSON representation
Deep learning: Image Classification using a Convolutional Neural Network
- Host: GitHub
- URL: https://github.com/netcodez/image-classification-convolutional-neural-network
- Owner: Netcodez
- Created: 2023-11-13T00:04:31.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-13T00:16:11.000Z (over 2 years ago)
- Last Synced: 2025-01-15T19:27:50.464Z (about 1 year ago)
- Topics: computer-vision, convolutional-neural-networks, deep-learning, image-classification, image-processing, image-recognition
- Language: Jupyter Notebook
- Homepage: https://netcodez.github.io/Image-classification-Convolutional-Neural-Network/
- Size: 381 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Project Title: American Sign Language (ASL) Image Classification
Deep learning: Image Classification using a Convolutional Neural Network
## Overview
American Sign Language (ASL) serves as a primary means of communication for many deaf individuals. This project delves into the development of a convolutional neural network (CNN) designed to classify images of ASL letters. The primary goal is to construct a model capable of recognizing individual letters, laying the groundwork for the creation of a sign language translation system.
## Project Structure
### 1. Introduction to ASL
- Brief overview of American Sign Language and its significance.
- Discussion on the relevance of computer vision systems in translating sign language to spoken language.
### 2. Data Loading and Preprocessing
- Utilization of a pre-shuffled dataset containing images of ASL letters.
- Loading, examining, and preprocessing the data for model training.
### 3. Visualizing the Training Data
- Displaying a selection of training images along with their corresponding labels (letters).
### 4. Dataset Examination
- Analyzing the distribution of letters in the training and test datasets to ensure balance.
### 5. One-Hot Encoding
- Transforming categorical labels into one-hot encoded vectors for model training.
### 6. Model Definition
- Building a CNN to classify ASL images with convolutional and pooling layers.
- Model summary to provide an overview of the network architecture.
### 7. Model Compilation
- Compiling the model with an appropriate loss function, optimizer, and evaluation metric.
### 8. Model Training
- Fitting the model to the training data and evaluating its performance on the validation set.
### 9. Model Testing
- Evaluating the trained model on the test dataset to assess its accuracy.
### 10. Visualizing Misclassifications
- Identifying and displaying images that were misclassified by the model for further analysis.
## How to Use
1. Ensure you have the necessary dependencies installed (e.g., TensorFlow, NumPy, Matplotlib).
2. Execute the provided code cells in a Jupyter notebook or an equivalent environment.
3. Follow the step-by-step instructions for data loading, preprocessing, model training, and evaluation.
4. Examine the model's performance on the test set and visualize misclassifications.
## Conclusion
The CNN model for ASL image classification gives an accuracy of 93% on the test set. Further enhancements and refinements can be explored to improve the model's accuracy and robustness using Dropuouts or Batch Normalization including considering more epochs during the training process.