A real-time deep learning-based American Sign Language (ASL) recognition system.
Detects and classifies 29 ASL alphabet signs (A-Z, SPACE, DEL, NOTHING) from images or webcam input.
ASL Detection System is a robust, easy-to-use tool for recognizing all 26 ASL alphabets plus SPACE, DEL, and NOTHING gestures. Featuring real-time detection, high accuracy, and a user-friendly interface.
- Features
- Demo
- Installation
- Requirements
- Quick Start
- Usage
- Project Structure
- Training the Model
- Evaluation
- Dataset
- Contributing
- Acknowledgements
- Live Demo
- License
- Troubleshooting
- Credits
- Contact / Support
- π€ Recognizes all ASL alphabets (A-Z) plus SPACE, DEL, and NOTHING
- π₯ Real-time webcam and image input support
- π― State-of-the-art test accuracy
- πΌοΈ Confusion matrix visualization
- π οΈ Easy-to-use scripts for training, detection, and evaluation
π¬ Live Demo β Try it in your browser!
Prerequisites:
- Python 3.8+
- NVIDIA GPU (recommended for training)
Install dependencies:
pip install -r requirements.txt- Python 3.8+
- TensorFlow 2.x
- OpenCV
- NumPy
- Matplotlib
- scikit-learn
# 1. Clone the repository
git clone https://github.com/PrabalJay/asl-detection-29-classes.git
cd asl-detection-29-classes
# 2. Install dependencies
pip install -r requirements.txt
# 3. Train the model
python train.py
# 4. Evaluate the model
python evaluate.py
# 5. Run real-time detection
python detect.py-
Train the Model:
python train.py
Trains the ASL recognition model using the dataset indata/train/ -
Evaluate the Model:
python evaluate.py
Evaluates the trained model and generates a confusion matrix -
Real-Time Detection:
python detect.py
Launches webcam-based or image-based ASL detection -
Check Dataset Images:
python check_images.py
Verifies and cleans dataset images -
Configuration:
python config.py
Adjusts configuration settings for training and detection
Detect ASL in an Image
python detect.py
# Example output:
# Predicted: Sign Y (1.00)Real-time Webcam Detection
python detect.py --webcam
# (Press 'Q' to quit)asl-detection-29-classes/
βββ data/
β βββ train/ # Training images
β βββ test/ # Test images
βββ docs/ # GitHub Pages folder
β βββ index.html # Your HTML file
β βββ asl_demo.mp4 # Video (compressed)
β βββ sample_1.png # Demo images
β βββ sample_2.png
β βββ sample_3.png
βββ models/
β βββ model.keras # Trained model
βββ check_images.py # Dataset verification utility
βββ config.py # Configuration script
βββ detect.py # Real-time/image detection script
βββ evaluate.py # Model evaluation script
βββ train.py # Model training script
βββ requirements.txt # Python dependencies
βββ confusion_matrix.png # Model performance visualization
βββ README.md
Organize your dataset as follows:
data/train/
βββ A/ # Images for 'A'
βββ B/
βββ ... (all 29 classes)
Train:
python train.py- Saves best model to
models/model.keras - Generates
confusion_matrix.png
Evaluate the model:
python evaluate.pySample output:
Test Accuracy: 96.3%
Class-wise Precision:
A: 0.98 | B: 0.95 | ...
- Source: ASL Alphabet Dataset on Kaggle
- Requirements:
- 3,000+ images
- ~100 images per class
- PNG/JPG format
Contributions, issues, and feature requests are welcome!
Feel free to fork the repo and submit a pull request.
- TensorFlow β Deep learning framework
- OpenCV β Computer vision library
- ASL Alphabet Dataset β Dataset used for training and testing
- scikit-learn β Evaluation and metrics
- Matplotlib β Visualization
Special thanks to the open-source community and contributors for their resources and support.
Features Demonstrated:
- β Webcam hand tracking
- β 29-class prediction (A-Z + SPACE/DELETE/NOTHING)
- β Confidence score display
MIT License β See LICENSE for details.
| Issue | Solution |
|---|---|
| CUDA errors | Install correct TensorFlow-GPU |
| Missing dependencies | Run pip install -r requirements.txt |
| Low accuracy | Increase epochs or add more training data |
Built with TensorFlow/Keras
For questions, open an issue.



