bosskmk / project-gameface

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project Gameface

Project Gameface helps gamers control their mouse cursor using their head movement and facial gestures.

Download

  1. Download the program from Release section
  2. Run run_app.exe

Model used

MediaPipe Face Landmark Detection API Task Guide
MediaPipe BlazeFace Model Card
MediaPipe FaceMesh Model Card
Mediapipe Blendshape V2 Model Card

Application

  • Control mouse cursor in games.
  • Intended users are people who choose to use face-control and head movement for gaming purposes.

Out-of-Scope Applications

  • This project is not intended for human life-critical decisions
  • Predicted face landmarks do not provide facial recognition or identification and do not store any unique face representation.

Python application

Installation

Environment

  • Windows
  • Python 3.9
pip install -r requirements.txt

Quick start

  1. Run main application
    python run_app.py
    

Configs

Basic config

cursor.json

camera_id Default camera index on your machine.
tracking_vert_idxs Tracking points for controlling cursor (see)
camera_id Default camera index on your machine.
spd_up Cursor speed in the upward direction
spd_down Cursor speed in downward direction
spd_left Cursor speed in left direction
spd_right Cursor speed in right direction
pointer_smooth Amount of cursor smoothness
shape_smooth Reduces the flickering of the action
hold_trigger_ms Hold action trigger delay in milliseconds
auto_play Automatically begin playing when you launch the program
mouse_acceleration Make the cursor move faster when the head moves quickly
use_transformation_matrix Control cursor using head direction (tracking_vert_idxs will be ignored)

Keybinds configs

mouse_bindings.json
keyboard_bindings.json

The config parameters for keybinding configuration are in this structure.

gesture_name: [device_name, action_name, threshold, trigger_type]
gesture_name Face expression name, see the list
device_name "mouse" or "keyboard"
action_name "left", "right" and "middle" for mouse. "" for keyboard, for instance, "w" for the W key.
threshold The action trigger threshold has values ranging from 0.0 to 1.0.
trigger_type Action trigger type, use "single" for a single trigger, "hold" for ongoing action.

Build

    pyinstaller build.spec

About

License:Apache License 2.0


Languages

Language:Python 100.0%