All projects

AI & data

Hand gesture recognition

A complete vision pipeline, from data to webcam: a CNN recognizes three hand gestures in real time.

  • Trained on synthetic data
  • Individual project
gestures: fist, open palm, V sign
3
generated images
1,200
metrics, plus a confusion matrix
5
frames of temporal smoothing
5

01Starting point

Context & mission

The problem

Controlling a machine with a gesture takes two very different things: a model that classifies well, and a real-time app that stays stable frame after frame.

The mission

Build both: the model development workflow, then live inference from the webcam.

My role

Designed and built on my own.

02Execution

What I did

  1. Synthetic data

    1,200 programmatically generated 28×28 grayscale images (circle, rectangle, V shape), with variations in position, size and noise.

  2. Preprocessing

    Grayscale, CLAHE, Gaussian blur and normalisation with OpenCV.

  3. Training and evaluation

    A CNN with augmentation and callbacks, evaluated on accuracy, precision, recall, F1, AUC and a confusion matrix.

  4. Real-time inference

    HSV skin segmentation to find the hand, region extraction, prediction, then smoothing over the last five frames to avoid class flicker.

03Design

Architecture

Two connected workflows: numbered notebooks to develop the model, and a modular Python app (detection, preprocessing, prediction, display) launched from app.py.

Real-time inference
  1. Webcam
  2. HSV detectionSkin · region
  3. PreprocessingCLAHE · blur
  4. CNN3 classes
  5. SmoothingLast 5 frames

04Impact

Results

  • A complete chain, from data generation to live prediction.
  • Predictions stabilized frame after frame.

05Wrap-up

Takeaways

What this project proves

That I can assemble a full vision pipeline, and say clearly where its evidence stops.

Learnings and next steps

Stated limit: the model is trained on synthetic shapes. Validation on real hands is the next step, then dynamic gesture recognition.

06Technology

Full stack

  • Python
  • TensorFlow
  • Keras
  • OpenCV
  • CNN
  • NumPy
  • Jupyter