This project implements a real-time recognition system for sign language alphabets and numbers using a Convolutional Neural Network (CNN) and MediaPipe for hand landmark detection. The system captures live video input, processes hand gestures, and classifies them into corresponding sign language alphabets or numbers.
This project is a complete hand sign recognition pipeline using MediaPipe and TensorFlow. It supports:
- Automatic landmark extraction from hand gesture images
- Training a Multi-Layer Perceptron (MLP) classifier
- Real-time hand sign detection from webcam
- GUI interface using
tkinterfor ease of use
- Python 3.7+
- OpenCV
- MediaPipe
- TensorFlow
- scikit-learn
- Pillow
- tqdm
- matplotlib
- seaborn
βββ create_landmark_dataset.py # Extracts and normalizes images hand landmarks into CSV βββ train_evaluate_model.py # Trains an MLP model on the landmark dataset βββ main.py # Real-time hand detection using webcam βββ App.py # GUI application for live prediction βββ hand_landmarks_normalized.csv # (Generated) CSV dataset of landmarks βββ landmark_model_best.keras # (Generated) Best trained model
-
Dataset Preparation Prepare a dataset of hand gesture images grouped by class in subfolders, e.g. Gesture Image Data/ βββ A/ βββ B/ βββ C/ βββ ...
-
Extract Landmarks Run: python create_landmark_dataset.py This will create hand_landmarks_normalized.csv.
-
Train the Model Train an MLP classifier using: python train_evaluate_model.py This will output landmark_model_best.keras and show training plots and metrics.
-
Real-Time Detection (CLI Mode) To test the model using your webcam: python main.py
-
GUI Mode Launch the graphical interface using: python App.py This provides a simple App to start/stop detection and view predictions in real-time.