everythingishacked/Semaphore

Pythonyoutube.com/EverythingIsHacked

A full-body keyboard using gestures to type through computer vision

mediapipeopencvpython
Star 增长趋势
Star
1.9k
Forks
26
周增长
+0
Issues
3
1.8k1.9k1.9k
2023年4月2024年5月2025年7月2026年9月
制品库PyPI
README

Semaphore

A full-body keyboard

demo

View a fuller demo and more background on the project at https://youtu.be/h376W93gQq4

The next iteration of this project, designed as a full-body game controller, is also available at https://github.com/everythingishacked/Gamebody

Semaphore uses OpenCV and MediaPipe's Pose detection to perform real-time detection of body landmarks from video input. From there, relative differences are calculated to determine specific positions and translate those into keys and commands sent via keyboard.

The primary input is to "type" letters, digits, and symbols via flag semaphore by extending both arms at various angles. Rather than waiting a set time after every signal, you can jump to repeat the last sent symbol.

See the SEMAPHORES dictionary in the code for a full set of angles, which mostly conform to standard US semaphore with some custom additions. Most of the rest of the keyboard is included as other modifier gestures, such as:

  • shift: open both hands, instead of fists
  • backspace: both hands over mouth
  • digits and other extra symbols: squat while signaling
  • command: lift left leg to ~horizontal thigh
  • control: lift right leg to ~horizontal thigh
  • arrow left/right/up/down: cross arms and raise each straight leg LEG_ARROW_ANGLE degrees
  • repeat previous letter/command: jump

Running on latest MacOS from Terminal, toggle the following for keyboard access: System Settings -> Privacy & Security -> Accessibility -> Terminal -> slide to allow

For Mac, this uses a custom keyboard library. This is built for a Mac keyboard, but you can also swap e.g. Windows key for Command simply enough.

相关仓库
google-ai-edge/mediapipe

Cross-platform, customizable ML solutions for live and streaming media.

C++libraryApache License 2.0mediapipec-plus-plus
ai.google.dev/edge/mediapipe
36.9k6.2k
PINTO0309/PINTO_model_zoo

A repository for storing models that have been inter-converted between various frameworks. Supported frameworks are TensorFlow, PyTorch, ONNX, OpenVINO, TFJS, TFTRT, TensorFlowLite (Float32/16/INT8), EdgeTPU, CoreML.

PythonPyPIMIT Licensetensorflowtensorflow-lite
qiita.com/PINTO
4.6k669
hiukim/mind-ar-js

Web Augmented Reality. Image Tracking, Face Tracking. Tensorflow.js

JavaScriptnpmlibraryMIT Licensewebarthreejs
2.7k512
torinmb/mediapipe-touchdesigner

GPU Accelerated MediaPipe Plugin for TouchDesigner

JavaScriptnpmMIT Licensemediapipetouchdesigner
2.7k135
homuler/MediaPipeUnityPlugin

Unity plugin to run MediaPipe

C#libraryMIT Licensemediapipeunity
2.5k615
ErickWendel/semana-javascript-expert07

JS Expert Week 7.0 - 🙅🤏🏻 Controlling Streaming Platforms using Eye and Hand Detection 👁🖐

JavaScriptnpmtutorialeye-detectionhand-detection
semana.javascriptexpert.com.br
2.4k506
ButzYung/SystemAnimatorOnline

XR Animator, AI-based Full Body Motion Capture and Extended Reality (XR) solution, powered by System Animator Online

JavaScriptnpmappwebglelectron-app
sao.animetheme.com/XR_Animator.html
1.9k169
fangfufu/Linux-Fake-Background-Webcam

Faking your webcam background under GNU/Linux, now supports background blurring, animated background, colour map effect, hologram effect and on-demand processing.

PythonPyPIGNU General Public License v3.0mediapipetensorflow-lite
1.7k173
margaretmz/awesome-tensorflow-lite

An awesome list of TensorFlow Lite models, samples, tutorials, tools and learning resources.

awesomeApache License 2.0awesome-listtflite
1.4k190
cvzone/cvzone

This is a Computer vision package that makes its easy to run Image processing and AI functions. At the core it uses OpenCV and Mediapipe libraries.

PythonPyPIMIT Licensecomputervisionopencv-python
1.3k282
cgtinker/BlendArMocap

realtime motion tracking in blender using mediapipe and rigify

PythonPyPIGNU General Public License v3.0blenderblender-addon
1.1k143