GithubHelp home page GithubHelp logo

project-gameface's Introduction

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

project-gameface's People

Contributors

bit-dome avatar acidcoke avatar thebitstudio avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.