Skip to content

A Python-based application that uses MediaPipe and a Multi-Layer Perceptron (MLP) model to recognize American Sign Language (ASL) gestures. This project includes a locally deployed Flask web app with features to save gesture predictions, build sentences, and convert them into speech using the text-to-speech library.

License

Notifications You must be signed in to change notification settings

mfajarandikha/HandsSignASLRecognition-ToSpeech

Repository files navigation

Sign Language Translator System Using Hand Gestures

This project classifies hand gestures following the American Sign Language (ASL) standard using MediaPipe (Python version).
It is an application designed to recognize Hand Gestures (Sign Language) through a simple MLP using detected keypoints.

❗️ Modified version of the original repository.
❗️ English-translated version available at translated repository.

Demo

This application is deployed locally using Flask.


Program Demo

To run the application:

python app.py

American Sign Language (ASL)

ASL example


Application Demo

Application Demo

Features:

  • Insert: Save the predicted letters to form sentences.
  • Space: Add a space between words.
  • Delete: Remove incorrect inputs.
  • Export: Export the saved sentence to speech using the text-to-speech library.

The web application allows users to save predictions as text and then export them as speech output. This feature enables better accessibility and practical use in real-time scenarios.


Script Details

keypoint_classification.ipynb

A training script for hand sign recognition.

point_history_classification.ipynb

A training script for finger gesture recognition.


Directory Structure

model/keypoint_classifier

Contains files related to hand sign recognition:

  • Training data: keypoint.csv
  • Trained model: keypoint_classifier.tflite
  • Label data: keypoint_classifier_label.csv
  • Inference module: keypoint_classifier.py

model/point_history_classifier

Contains files related to finger movement recognition:

  • Training data: point_history.csv
  • Trained model: point_history_classifier.tflite
  • Label data: point_history_classifier_label.csv
  • Inference module: point_history_classifier.py

utils/cvfpscalc.py

A utility module for calculating FPS.


Key Point Coordinates

Key point coordinates are derived through a 4-step preprocessing pipeline:

Model Architecture

The architecture for the model prepared in [keypoint_classification.ipynb](keypoint_classification.ipynb) is:


Point History Coordinates

Point history coordinates are derived through a 4-step preprocessing pipeline:

Model Architecture


Reference


Author

Translation and Improvements

License

This project is licensed under the Apache v2 license.

About

A Python-based application that uses MediaPipe and a Multi-Layer Perceptron (MLP) model to recognize American Sign Language (ASL) gestures. This project includes a locally deployed Flask web app with features to save gesture predictions, build sentences, and convert them into speech using the text-to-speech library.

Topics

Resources

License

Stars

Watchers

Forks