Skip to content
KavinKrish
← All workCase study 01 / 06Independent project

ISL Recognition

Real-time Indian Sign Language recognition in the browser.

Year
2026
Role
Model, API and interface
Team
Solo
Stack
TensorFlowMediaPipeFastAPIWebSocketsReactCeleryRedisDocker
THANK YOU · 0.94
92.2%Validation accuracy
89.9%Test accuracy
296ISL words recognised
~10 fpsLive recognition

01 — The problem

A full-stack system that reads 296 Indian Sign Language words from a webcam as they're signed, builds them into sentences and learns new signs from four examples.

Very few hearing people can read Indian Sign Language, and interpreters are scarce outside big institutions. Everyday conversations, at a counter or in a classroom, still depend on someone in the room knowing the language.

The goal was a recogniser that needs nothing more than a webcam and a browser, runs live, and can be taught a new sign on the spot.

02 — What it does

01

Live recognition

Webcam frames stream to the model over a binary WebSocket and come back as words at around ten frames a second.

02

Landmark overlay

Both hands and the upper body are tracked and drawn on the video, so you can see exactly what the model sees.

03

Teach mode

Record four samples of any new sign and it's recognised immediately, matched by cosine similarity with no retraining.

04

Sentence builder

Recognised words accumulate into sentences, with every sign labelled in English and Hindi.

03 — How it works

  1. 1

    MediaPipe Holistic turns each frame into 75 landmarks (both hands and the pose), a 258-value feature vector. Missing hands are zero-padded so timing stays aligned.

  2. 2

    A sliding window of 45 frames feeds a two-layer bidirectional LSTM (256 units each) with an attention layer over time and a dense classification head.

  3. 3

    Temperature scaling (T = 3.0) calibrates the confidence, so the interface only commits to a word when the model is genuinely sure.

  4. 4

    FastAPI serves REST and WebSocket endpoints; long video uploads go through a Celery and Redis job queue, and the whole stack starts with one docker compose command.

04 — Results

  • 92.2% validation and 89.9% test accuracy on the INCLUDE dataset (IIT Madras), across 296 word classes.
  • Trained in about 25 minutes on a laptop RTX 4060, with label smoothing and a cosine learning-rate schedule.
Training history: accuracy and loss over epochs
Training history: accuracy and loss over epochs
Next project

GlucoSense

Diabetes risk screening from 21 questions, before any blood test.

26%CALIBRATED RISK