Project Gameface helps gamers control their mouse cursor using their head movement and facial gestures.
- Download the program from Release section
- Run
run_app.exe
MediaPipe Face Landmark Detection API Task Guide
MediaPipe BlazeFace Model Card
MediaPipe FaceMesh Model Card
Mediapipe Blendshape V2 Model Card
- Control mouse cursor in games.
- Intended users are people who choose to use face-control and head movement for gaming purposes.
- 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.
Environment
- Windows
- Python 3.9
pip install -r requirements.txt
- Run main application
python run_app.py
| 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) |
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. |
pyinstaller build.spec