Hand Gesture Robot Control Model (v2 - rotation-invariant features)
A RandomForestClassifier trained on MediaPipe hand-landmark vectors to recognize 9 hand gestures for live robot control (movement + claw).
This version uses rotation-invariant landmark normalization (translation + scale + in-plane rotation), which fixed confusion between visually similar gestures (e.g. forward vs left). Test accuracy: 97%.
Classes
forward, stop, backward, left, right, open_claw, close_claw, default, none
Usage
import joblib
from huggingface_hub import hf_hub_download
model_path = hf_hub_download(repo_id="Chanisorn/hand-gesture-robot-control-v2", filename="gesture_model.joblib")
scaler_path = hf_hub_download(repo_id="Chanisorn/hand-gesture-robot-control-v2", filename="gesture_scaler.joblib")
utils_path = hf_hub_download(repo_id="Chanisorn/hand-gesture-robot-control-v2", filename="gesture_utils.py")
clf = joblib.load(model_path)
scaler = joblib.load(scaler_path)
Input: a 63-length vector (21 MediaPipe hand landmarks x,y,z), normalized by
translation + scale + in-plane rotation. See gesture_utils.py for the
exact normalization code - it MUST match exactly or predictions will be
wrong. See gesture_config.py for the label list and robot command
mapping.