back to projects
case study

Sign Language Translator AI

A real-time sign language recognition system that reads hand gestures through a webcam and speaks the detected word out loud. Show a gesture, get the prediction in under a second, with full confidence scoring and live visualization.

2026Machine LearningPythonTensorFlowMediaPipeComputer VisionOpenCV
95.4%
Validation accuracy
15
Gesture classes
4,500+
Training samples
10-frame
Smoothing buffer
live demo

See it in action

Overview

Sign Language Translator AI is a real time sign language recognition system that uses a webcam to detect hand gestures and convert them into spoken words. By tracking 21 landmarks on each hand every frame, the system captures detailed hand movements and feeds them into a trained neural network that can recognize signs with less than a second of delay.

To make the process transparent, a custom dashboard provides a live view of the model's inputs and predictions. Users can see the tracked hand skeleton, normalized landmark data, class probabilities, confidence scores, and prediction history in real time, making it easy to understand how the system reaches each decision.

Problem it solves

Sign language is an important way for many people to communicate, but conversations can become difficult when the other person doesn't understand it. Sign Language Translator AI helps bridge that gap by translating recognized hand signs into spoken words in real time, letting people who don't know sign language understand basic signed communication without any prior training.

How it works

01
Capture

Webcam feed is captured and flipped live. MediaPipe detects up to 2 hands and full body pose every single frame.

02
Normalize

21 hand landmarks per hand are extracted and normalized to wrist position and hand size, distance and placement stop mattering.

03
Inference

A dense neural network scores the normalized 63-value input against all gesture classes and returns a probability for each.

04
Smooth & Speak

A 10-frame majority vote eliminates flicker. Above 85% confidence, the word is spoken aloud via the system speaker.

Features

  • 15 gesture classes including yes, no, hello, help, emergency and more.
  • Real-time body-relative position tracking using shoulder and nose landmarks.
  • 10-frame prediction smoothing buffer to eliminate false positives.
  • Text-to-speech output via pyttsx3.
  • Live dashboard with hand skeleton, normalized landmarks, class probabilities, and pipeline view.
  • Works with one or two hands simultaneously.
dashboard

Inside the live dashboard

Three panels that show exactly what the model sees and how it decides.

panel 01

Hand Skeleton & Norm Landmarks

The left side shows a clean, isolated hand skeleton built from the first detected hand's 21 landmarks. Those points are scaled to fit the panel and then reconnected to redraw the hand, completely separate from the live camera feed.

On the right, the display shows the first 14 normalized values from hand1_norm as colored bars , cyan for positive values and red/blue for negative ones, along with six body position values calculated relative to the nose and both shoulders.

hand skeleton + norm landmarks
panel 02

Pipeline Hand View

The pipeline view is a stripped-down visualization on a black background with subtle scanlines every few pixels, showing exactly what MediaPipe is tracking. The body pose is drawn in cyan using data from pose_result, while the hand connections appear in orange. Fingertips are emphasized with layered purple and white circles at landmarks 4, 8, 12, 16, and 20.

A dotted line is manually drawn by stepping through points between each wrist and the nose landmark, giving a clear sense of spatial alignment. In the corner, a small stats panel confirms that num_hands = 2 and that body tracking is active.

pipeline hand view
panel 03

Class Probabilities & Prediction

At the top, a bar chart displays the probability for each gesture class, updated every frame from predictions_raw. Each class the model recognizes gets its own bar, and the strongest prediction is highlighted in green.

Below that, the prediction panel shows the current predicted class along with a confidence bar. Underneath, there's a voting history from prediction_buffer, which stores the last 10 frame-by-frame predictions as small bars, so you can see the decision forming over time. A word only gets confirmed once the confidence stays above 85% across that buffer.

class probabilities + prediction
tracking demo

Body & hand tracking in motion

A walkthrough of the pipeline tracking hands and body in real time, moving around, changing distance, and staying locked on.

Behind the build, challenges & learnings

Consistent landmark normalization

Hand size and distance from the camera kept skewing predictions. I normalized every landmark relative to the wrist and overall hand size, so the same gesture looks the same to the model whether the hand is close or far.

Eliminating prediction flicker

Frame-by-frame predictions jittered between similar classes. A 10-frame majority vote buffer cleaned it up without adding noticeable lag, words only get spoken once confidence stays above 85% across the buffer.

Two-hand input with stable slots

MediaPipe doesn't guarantee which hand is hand 1 vs hand 2 between frames. I added consistent slot assignment so each hand keeps its identity across the whole sequence.

Body-relative positioning

The same handshape can mean different things at chest vs head height. Pose landmarks (nose + shoulders) feed the model spatial context so it can tell those signs apart.

Tech stack

Model

Python / TensorFlow / Dense Neural Network / MediaPipe

Input pipeline

OpenCV / MediaPipe Hands / MediaPipe Pose

Output

pyttsx3 / Real-time OpenCV dashboard

Trained locally on self-collected gesture data. MediaPipe handles landmark extraction, a custom dense network handles classification, and pyttsx3 handles speech output, all running in a single real-time loop at webcam framerate.

Summary

Sign Language Translator AI shows how landmark-based ML, careful normalization, and small UX decisions (a smoothing buffer, a confidence threshold, a clear dashboard) combine into a fast, accessible communication tool.