validation / README.md
tommulder's picture
Updates to the README
f8d9498
metadata
title: Gesture Detection & Identity Validation API
emoji: πŸ‘‹
colorFrom: blue
colorTo: purple
sdk: docker
pinned: false
license: mit
app_port: 7860

πŸ‘‹ Gesture Detection & Identity Validation API

A unified API for gesture detection in videos and identity validation using facial recognition and gesture verification.

πŸš€ Features

  • Gesture Detection: Detect and track hand gestures in video files
  • Identity Validation: Validate user identity using facial recognition and required gestures
  • Real-time Processing: Efficient video processing with configurable frame skip
  • RESTful API: Clean, documented API endpoints

πŸ“‹ API Endpoints

GET /

Get API information and available endpoints

GET /health

Health check endpoint showing service status

POST /gestures

Detect gestures in an uploaded video file

Parameters:

  • video (file): Video file to process
  • frame_skip (int, optional): Number of frames to skip (default: 1)

Response:

{
  "gestures": [
    {
      "gesture": "thumbs_up",
      "duration": 45,
      "confidence": 0.92
    }
  ]
}

POST /validate

Validate user identity using facial recognition and gesture verification

Parameters:

  • photo (file): ID document photo
  • video (file): User video containing face and gestures
  • gestures (JSON array): Required gestures (e.g., ["thumbs_up","peace"])
  • error_margin (float, optional): Error margin for validation (default: 0.33)
  • require_all_gestures (bool, optional): Whether all gestures must be present
  • similarity_threshold (float, optional): Facial similarity threshold
  • include_details (bool, optional): Include detailed validation results

Response:

{
  "face": true,
  "gestures": true,
  "overall": true,
  "status": "success",
  "processing_time_ms": 6925,
  "timestamp": "2025-09-30T08:30:22Z"
}

🎯 Supported Gestures

  • thumbs_up (πŸ‘)
  • peace (✌️)
  • ok_sign (πŸ‘Œ)
  • open_palm (πŸ‘‹)
  • call_me (πŸ€™)
  • grabbing (✊)

πŸ“– Documentation

Interactive API documentation is available at:

  • Swagger UI: /docs
  • ReDoc: /redoc

πŸ”§ Usage Example

# Detect gestures in a video
curl -X POST http://localhost:7860/gestures \
  -F "video=@my_video.mp4" \
  -F "frame_skip=3"

# Validate identity
curl -X POST http://localhost:7860/validate \
  -F "photo=@id_photo.jpg" \
  -F "video=@user_video.mp4" \
  -F 'gestures=["thumbs_up","peace"]' \
  -F "include_details=true"

πŸ—οΈ Technology Stack

  • Framework: FastAPI
  • ML Models: ONNX Runtime
  • Computer Vision: OpenCV
  • Tracking: OCSort with Kalman filters
  • Facial Recognition: Custom embeddings module

πŸ“ Note

Facial validation is currently in placeholder mode and always returns success. Gesture validation is fully functional.

πŸ“„ License

MIT License - See LICENSE file for details

πŸ”— Links