Loading repository data…
Loading repository data…
muzammilkhan2784 / repository
Real-time ASL hand-sign recognition using MediaPipe hand landmarks + a trained neural network classifier (Python, TensorFlow, MediaPipe, OpenCV)
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Real-time American Sign Language recognition from a webcam feed. MediaPipe tracks 21 hand landmarks per frame, and a small neural network classifies the normalized landmark positions into a letter or common phrase — no image classification, just geometry, so it runs fast on CPU.
Recognizes the full ASL alphabet (A-Z) plus 10 common phrase signs: HELLO, MY, NAME, YOUR, WHAT, HOW, YOU, FINE, THANK-YOU, PLEASE.
.keras) and quantized TensorFlow Lite (.tflite) for fast CPU inferenceAI-Sign-language/
├── main.py # Live recognition app + dataset/landmark capture modes
├── app.py # Bonus: standalone face-detection/verification demo
├── keypoint_classification.ipynb # Model training notebook (data load -> train -> evaluate -> export TFLite)
├── utils/
│ └── cvfpscalc.py # FPS counter utility
├── model/keypoint_classifier/
│ ├── keypoint.csv # ~36k labeled landmark samples (training data)
│ ├── keypoint_classifier.keras # Trained Keras model
│ ├── keypoint_classifier.tflite # Quantized TFLite export
│ ├── keypoint_classifier.py # TFLite inference wrapper
│ └── keypoint_classifier_label.csv # Class labels (A-Z + phrases)
├── assets/ # Demo/placeholder images
└── requirements.txt
pip install -r requirements.txt
python main.py
Controls while running:
n — inference mode (default): shows the predicted sign livek — capture mode: hold a letter/digit key to log landmark samples from the webcam for that classd — batch-capture mode: walks an image dataset directory and logs landmarks for every imageA-Z / 0-9 — select the active class while capturing[ / ] — cycle through all 36 class labels (needed for the phrase signs, not just A-Z)ESC — quitjupyter notebook keypoint_classification.ipynb
Loads model/keypoint_classifier/keypoint.csv, trains the dense classifier with early stopping and checkpointing, evaluates on a held-out 25% split, then exports both the Keras model and a quantized TFLite version.
app.py)A separate, simpler demo that isn't part of the sign-language pipeline: MediaPipe Face Detection crops a face from the webcam, compares its grayscale histogram against a reference photo (assets/known/), and labels the feed "known" or "unknown" based on a similarity threshold. Included as a standalone example of the same MediaPipe-based detect-then-classify pattern applied to a different problem.
python app.py --ref assets/known/your_photo.jpg
Python, MediaPipe (Hands, Face Detection), TensorFlow / Keras, TensorFlow Lite, OpenCV, NumPy