This repository contains a Convolutional Neural Network (CNN) model designed to recognize hand gestures representing digits in sign language. The model has been trained on a carefully curated dataset, achieving high accuracy and reliability, making it suitable for various applications, including educational tools, accessibility solutions, and communication aids.
The Sign Language Digit Recognition Model was developed to assist in recognizing digits from sign language hand gestures. The dataset used for training consists of approximately 200 images per digit, organized into 9-10 different folders. The data was split into 80% for training and 20% for testing.
- Developed by: Jainam Sanghavi
- Model Type: Convolutional Neural Network (CNN)
- License: Open Database License (ODbL)
- Repository: GitHub Repository
This model can be directly integrated into systems requiring digit recognition from hand gestures. It's particularly suitable for real-time applications where speed and accuracy are critical.
The model is not intended for recognizing gestures beyond the digits it was specifically trained on. For general gesture recognition tasks, additional training would be required.
The model was trained on a specific dataset that may not represent all variations of hand gestures across different populations or environments. Users should consider these limitations when deploying the model and validate its performance in the target application.
Before deploying the model in production, it's recommended to validate its performance in the specific environment where it will be used. This will ensure that the model meets the application’s requirements and performs as expected.
- Python 3.x
- TensorFlow-Keras
Clone this repository:
git clone "https://github.com/JAINAM576/Sign-Language-digit-Classification.git"
cd sign-language-digit-recognition
Install the required dependencies:
pip install -r requirements.txt
Load and use the model as shown below:
from tensorflow.keras.models import load_model
# Load the trained model
model = load_model('path_to_your_model.h5')
# Example usage:
# img = load_your_image_function('path_to_image')
# prediction = model.predict(img)
Add further instructions on how to use the model in your application.
The dataset consists of images of hand gestures representing digits, organized into folders by digit. The data was split into 80% for training and 20% for testing.
The model was trained using a CNN architecture with the following callbacks:
- EarlyStopping: To prevent overfitting by stopping training when the validation loss stops improving.
- TensorBoard: For visualizing training metrics such as accuracy and loss.
- ModelCheckpoint: To save the best model during training.
- Batch Size: 32
- Epochs: 100
The following plots illustrate the model's training and validation accuracy, as well as training and validation loss over epochs.
These plots indicate that the model's accuracy improves steadily with minimal overfitting, as demonstrated by the close alignment between the training and validation curves.
The model was evaluated on a held-out test set, comprising 20% of the original dataset. The following metrics were used for evaluation:
- Accuracy: 0.9282
- Precision: 0.9333
- Recall: 0.9282
- F1 Score: 0.9283
The model achieved high accuracy and reliability in recognizing sign language digits, making it suitable for practical applications.
The model uses a CNN architecture specifically designed for image classification tasks, focusing on recognizing hand gestures representing digits in sign language.
The model was trained on cloud GPU (kaggle).
- GPU: GPU T4 x2(kaggle)
- Framework: TensorFlow-Keras
- Python Version: 3.10.14
- Operating System: Windows11
Contributions are welcome! Please submit a pull request or open an issue to discuss the changes you'd like to make.
Special thanks to Github Repo.