This repository contains code and resources for building a Convolutional Neural Network (CNN) to classify American Sign Language (ASL) images. The module covers various stages including data preprocessing, CNN model creation, training, evaluation, and using the trained model for recognizing ASL letters with high accuracy. It also introduces data augmentation techniques to reduce overfitting and provides practical examples of making predictions using the trained model on new, unseen images.
- Introduction
- Data Preprocessing
- Creating the CNN Model
- Data Augmentation
- Model Predictions
- Usage
- Future Applications
- Getting Started
- License
American Sign Language (ASL) is a vital means of communication for the hearing-impaired community. This project aims to build a model that can recognize ASL letters from images, enabling communication through technology. Convolutional Neural Networks (CNNs) are particularly well-suited for image classification tasks, making them a suitable choice for this project.
Before training the model, the dataset is loaded, preprocessed, and split into training and validation sets. The images are converted to grayscale, normalized, and reshaped to match the input requirements of the CNN model.
A CNN model is created using TensorFlow's Keras API. The model consists of multiple layers including convolutional layers, max-pooling layers, dropout layers, batch normalization layers, and dense layers. The architecture is designed to detect important features in ASL images and classify them accurately.
To improve model generalization and reduce overfitting, data augmentation techniques are applied. ImageDataGenerator from Keras is used to perform augmentation such as rotation, zooming, and horizontal shifting on the training data. This increases the dataset's size and variability, making the model more robust.
The trained model is loaded and used for making predictions on new, unseen ASL images. Images are preprocessed, resized, normalized, and fed into the model. The model predicts the corresponding ASL letter with high accuracy.
To use the trained model for ASL letter recognition on new images:
- Clone this repository:
https://github.com/Amario1306619051/American-Sign-Language-Augmentation-and-CNN
- Navigate to the repository:
cd asl-recognition
- Ensure you have the required dependencies installed (TensorFlow, Keras, etc.).
- Place your ASL images in the
data/asl_images
folder. - Run the provided Python script for making predictions:
python predict_asl.py
.
The trained ASL recognition model can be integrated into various applications:
- Developing educational tools for teaching sign language.
- Creating tools for communication between hearing-impaired individuals and computers.
- Building mobile apps that allow users to translate sign language to text or speech.
To get started, follow the steps in the Usage section to clone the repository, prepare the environment, and use the trained model for predictions.
This project is licensed under the MIT License. Feel free to use and modify the code for your own applications.
Feel free to contribute to this repository by improving the model, adding new features, or suggesting enhancements. Your contributions can make this project more impactful and useful for the community.