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.