all projects

Computer vision · Streamlit

Signs in, words out, in real time.

A full pipeline for recognising Indian Sign Language static signs: collect images from a webcam, extract hand landmarks with MediaPipe, train a classifier, and recognise signs live in a Streamlit app. It handles both one-hand and two-hand gestures.

loading 3D scene…

WebGL · move your cursor

0%

Inference accuracy

0

Images per sign (default)

0

Landmarks per hand

1 + 2 hands

Gesture types

// highlights

Whatmakesittick

01

Landmarks, not pixels

MediaPipe hand landmarks are extracted and engineered into features, so the model learns hand shape instead of background noise.

02

Classical ML that works

SVM and Random Forest models trained on the landmark features reach 99% inference accuracy.

03

Live and offline

The Streamlit app recognises from an uploaded image or a live webcam, with smoothing and frame-skipping options.

04

Your own dataset

A webcam collector captures 1000 images per sign by default, and new signs can be added without touching the rest of the code.

05

One or two hands

Landmark vectors are padded or truncated to a fixed length so both one-hand and two-hand signs share one model.

06

Measured, not guessed

Training outputs a confusion matrix, a classification report and cross-validation scores.

// architecture

Howit'sbuilt

  1. 01Streamlit appWebcam · image upload · smoothing
  2. 02ClassifierRandom Forest / SVM on landmarks
  3. 03MediaPipeHand landmark extraction
  1. step 01

    Collect

    Capture sign images from the webcam into one folder per sign.

  2. step 02

    Extract

    Run MediaPipe over each image and save landmark vectors, logging any image where no hand is found.

  3. step 03

    Train

    Fit the classifier and save the model together with its scaler.

  4. step 04

    Recognise

    Predict live from the webcam or from an uploaded image.

Things to know

  • ◆The pipeline targets static signs only, not motion-based ones.
  • ◆Lighting and background contrast affect detection quality.
  • ◆Performance depends heavily on dataset size and quality.

// stack

Builtwith

  • Python
  • OpenCV
  • MediaPipe
  • scikit-learn
  • Streamlit
  • NumPy
  • Matplotlib