Back to Projects
AI & Machine Learning
Completed

Hand Gesture Recognition

Real-time hand tracking and skeletal landmark detection using MediaPipe and OpenCV.

December 2024Team: Personal ProjectRole: CV Developer

About this Project

Hand Gesture Recognition is a high-performance computer vision system that utilizes MediaPipe’s Hands solution for robust, real-time hand landmark detection. By extracting 21 coordinate points from a video stream, the system performs dynamic finger counting and gesture analysis. This project serves as a foundational framework for human-computer interaction (HCI), enabling non-contact control systems for various software applications with high skeletal stability.

Tech Stack

Python
MediaPipe
OpenCV

Tools Used

VS Code
Git LFS
PowerShell

Key Features

Real-Time Hand Tracking

  • MediaPipe Hands Integration: Leveraging Google’s sophisticated machine learning pipeline for sub-millisecond hand tracking.
  • 21-Landmark Detection: Accurate extraction of 21 key coordinate points representing joints and fingertips in 3D space.
  • Static/Dynamic Mode Support: Configurable landmark detection that works for both single frames and high-speed video streams.

Gesture Recognition Logic

  • Dynamic Finger Counting: Custom algorithms to count raised fingers by comparing tip positions with joint landmarks (MCP/PIP).
  • Coordinate Analysis: Real-time calculation of Euclidean distances between landmarks for gesture classification.
  • Stability Filtering: Signal smoothing to ensure counting accuracy even with minor hand tremors or sensor noise.

Cross-Platform Architecture

  • OpenCV Integration: Robust video processing and frame visualization with real-time landmark rendering.
  • Low Hardware Overhead: Optimized for standard laptop webcams without requiring dedicated GPU acceleration.
  • Modular Code Structure: Decoupled AI tracking logic from UI rendering for easy integration into larger projects.

Interactive UI & Output

  • Live Landmark Rendering: Real-time projection of skeletal joint maps onto the video feed for user feedback.
  • Real-time Event Logging: Instant detection feedback via console logs and on-screen text overlays.
  • Customizable Gestures: Extensible architecture that allows adding new symbolic recognitions (peace signs, thumbs up).

Highlights

MediaPipe Hands Integration
Real-time 21-Landmark Tracking
Dynamic Finger Counting

Installation

Environment & Setup

git clone https://github.com/Arfazrll/Hand-Gesture-Recognition.git
python -m venv HandTracking-env

Dependency Install

HandTracking-env\Scripts\Activate
pip install opencv-python mediapipe

Run AI Application

python HandsTrackingAI.py
# Press "q" to exit camera feed

Challenges & Solutions

Challenge

Low Lighting Conditions

Solution

Adjusted MediaPipe's min_detection_confidence threshold and applied OpenCV histogram equalization to improve landmark stability in dark environments.

Challenge

Hand-to-Camera Distance Variance

Solution

Normalized landmark coordinates relative to the palm center, ensuring finger counting logic remains accurate regardless of how close the hand is to the camera.

Challenge

Frame Rate Latency

Solution

Optimized frame processing by disabling static_image_mode during streaming, allowing the system to use temporal information for faster tracking.

LinkedIn