A human action controller running on different platforms
Project description
Human Action Controller (HAC)
Goal
A human action controller running on different platforms.
| Fun | Easy-to-use |
|---|---|
| Accurate | Anywhere |
Fun Examples
Mouse Control
Keyboard Control
Playing Game
Enhancing interaction
Solutions provided by HAC
| Platform | Module | Progress | Comment |
|---|---|---|---|
| PC / Win10 | Mouse Control | V | |
| PC / Win10 | Keyboard Control | V | |
| PC / Ubuntu | Mouse Control | ||
| PC / Ubuntu | Keyboard Control |
Getting started
Installation
$ pip install pyhac
Run the demo of mouse control
$ git clone https://github.com/dabit-lucas/hac.git
$ cd hac
$ python demo.py
Recording custom actions
$ python recording.py -d {action name} -k True
Press key "r" to start recording, the data will be saved into ./data
Training a custom module
Here is an example of a config file of action set,
{
"actions": [
"r_five",
"r_zero",
"l_five",
"l_zero",
"two_index_fingers_up",
"two_index_fingers_down",
"33",
"55",
"sit"
],
"type": "gesture_only"
}
These actions form a model by running a training process:
$ python train.py --conf {path_of_action} --model_name {name_of_model}
The generated model will become a module. Take mouse control module as an exmaple, it can create mappings among actions and controls by the following code:
mouse_module = hac.add_module("mouse_control")
hac.set_init_module(mouse_module)
# create mapping between controls and actions
mouse_module.add_mouse_mapping("mouse_left_down", ["r_five", "r_zero"])
mouse_module.add_mouse_mapping("mouse_left_up", "r_five")
mouse_module.add_mouse_mapping("mouse_right_down", ["l_five", "l_zero"])
mouse_module.add_mouse_mapping("mouse_right_up", "l_five")
mouse_module.add_mouse_mapping("right_move_diff", ["r_five", "r_five"])
mouse_module.add_mouse_mapping("right_move_diff", ["r_zero", "r_zero"])
mouse_module.add_mouse_mapping("left_move_diff", ["l_five", "l_five"])
mouse_module.add_mouse_mapping("left_move_diff", ["l_zero", "l_zero"])
mouse_module.add_mouse_mapping("roll_up", "two_index_fingers_up")
mouse_module.add_mouse_mapping("roll_down", "two_index_fingers_down")
If the five gesture with a right hand shows in consecutive two frames ["r_five", "r_five"], then do control right_move_diff, which means moving the mouse cursor. The above description can be represented by the following code:
mouse_module.add_mouse_mapping("right_move_diff", ["r_five", "r_five"])
Development guideline
Community
Welcome to ask any question in issues.
Contributing
Any contribution is welcomed. Please fork this repo and summit a pull request.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyhac-0.0.6.tar.gz.
File metadata
- Download URL: pyhac-0.0.6.tar.gz
- Upload date:
- Size: 600.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.0 pkginfo/1.7.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1d8b28aac4537be3c6cced4df1c019cfb68c2e244c13b70fb388c1d2377288a
|
|
| MD5 |
36fcd55c6a3b4bb7aff6eda57be34b3e
|
|
| BLAKE2b-256 |
c79c3f9e32eb3c86ad028841a6f4ecc86fb0cb4a3046375470a63d8e7673d4b4
|
File details
Details for the file pyhac-0.0.6-py2.py3-none-any.whl.
File metadata
- Download URL: pyhac-0.0.6-py2.py3-none-any.whl
- Upload date:
- Size: 613.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.0 pkginfo/1.7.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ff1c3972a7ded3ad91129358b98b80aee70e72e914caa64ab1141442203fd53
|
|
| MD5 |
5cfb7be1e987364cfaec4afb38ed27e7
|
|
| BLAKE2b-256 |
e1ca08efa7ef0894b5ecc055454e5548617997d5cb4958741db53b4f77a500c4
|