fingerpose-gestures is a library built on top of Fingerpose classifier for hand landmarks detected by TensorFlow.js' handpose model. It can detect hand gestures inside a webcam source picture.
Gesture detection works in 3 steps:
- Detect the hand landmarks inside the video picture
- Estimating the direction and curl of each individual finger
- Comparing the result to a set of gesture description
Step (1) is performed by TensorFlow's "handpose", Step (2) and (3) are handled by fingerpose library.
name | emoji |
---|---|
thumbs_up | "π Legal!" |
rock | "βοΈ Punho" |
paper | "π Oi" |
scissors | "βοΈ VitΓ³ria!" |
middle | "π Toma!" |
fazol | "π Faz o L" |
ok | "π OK!" |
pinching | "π€ Vish" |
thumbs_down | "π PΓ©ssimo!" |
painLeft | "π Bolsonaro?" |
top | "βοΈ Acima" |
yes | "π€ Rock" |
horn | "π€ Corno?" |
rightHand | "π«± Deitado" |
show | "π€ Show" |
Obs: Requirements: Node installed
Below are the instructions for you to run the project on your machine.
Start by cloning the repository and installing its dependencies:
git clone https://github.com/davigomesflorencio/fingerpose_gestures
cd fingerpose_gestures
npm install
start application
npm start
In the index.js file we can adjust some webcam settings such as Height, Width, Fps and Webcam Id available
Change the webcam by modifying it with any available id shown in the application's interface as soon as it starts
var config = {
video: {
width: 1600,
height: 1200,
fps: 30,
id: "",
},
};