A computer vision application for learning American Sign Language (ASL) using MediaPipe hand tracking. This application provides an interactive learning experience where users can practice ASL signs and fingerspelling with real-time feedback.
- Real-time Hand Tracking: Uses MediaPipe for accurate hand landmark detection
- Fingerspelling Recognition: Recognizes individual ASL letters A-Z
- ASL Sign Recognition: Machine learning-based recognition of common ASL signs
- Interactive Learning Interface: Guided lessons with prompts and feedback
- Progress Tracking: Save and load learning progress
- Multiple Learning Modes: Fingerspelling, ASL signs, and numbers
- Custom Training: Train the model with your own ASL signs
- Python 3.7+
- OpenCV
- MediaPipe
- NumPy
- Scikit-learn
- A webcam or camera
- Clone this repository:
git clone <repository-url>
cd ASL_Learning_HTHAM- Install the required dependencies:
pip install -r requirements.txt- Run the main application:
python asl_learning_app.py-
The application will open your camera and display the learning interface.
-
Follow the on-screen prompts to practice ASL signs.
- 'n' - Next lesson
- 'r' - Restart current lesson
- 'm' - Toggle detection mode (fingerspelling/ASL/auto)
- 't' - Train ASL model with current hand position
- 's' - Save progress
- 'l' - Load progress
- 'q' or ESC - Quit
- Run the training script:
python train_asl_model.py-
Follow the interactive prompts to train the model with your own ASL signs.
-
The trained model will be saved and can be used in the main application.
- Practice individual ASL letters A-Z
- Real-time recognition of hand shapes
- Perfect for learning the ASL alphabet
- Learn common ASL words and phrases
- Requires training with custom data
- More complex sign recognition
- Automatically switches between fingerspelling and ASL signs
- Best for mixed practice sessions
ASL_Learning_HTHAM/
├── asl_learning_app.py # Main application
├── hand_tracker.py # MediaPipe hand tracking
├── asl_detector.py # ASL recognition system
├── learning_interface.py # User interface
├── train_asl_model.py # Model training script
├── requirements.txt # Python dependencies
└── README.md # This file
- Hand Detection: MediaPipe detects hand landmarks in real-time
- Feature Extraction: Hand landmarks are converted to feature vectors
- Sign Recognition: Machine learning models classify hand configurations
- Learning Interface: Provides prompts and feedback to guide learning
- Progress Tracking: Saves learning progress and statistics
- Make sure your camera is connected and not being used by another application
- Try changing the camera index in the code if you have multiple cameras
- Ensure good lighting conditions
- Keep your hand clearly visible in the camera frame
- Try adjusting the confidence threshold in the code
- Close other applications using the camera
- Reduce the camera resolution in the code if needed
- Make sure you have sufficient RAM available
Feel free to contribute to this project by:
- Adding new ASL signs to the recognition system
- Improving the learning interface
- Adding new learning modes
- Fixing bugs or improving performance
- MediaPipe team for the excellent hand tracking solution
- The ASL community for inspiration and feedback
- OpenCV for computer vision capabilities