All Projects → Tachionstrahl → SignLanguageRecognition

Tachionstrahl / SignLanguageRecognition

Licence: Apache-2.0 license
Real-time Recognition of german sign language (DGS) with MediaPipe

Programming Languages

Jupyter Notebook
11667 projects
C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
Starlark
911 projects
shell
77523 projects

Projects that are alternatives of or similar to SignLanguageRecognition

sign-language
Android application which uses feature extraction algorithms and machine learning (SVM) to recognise and translate static sign language gestures.
Stars: ✭ 35 (-54.55%)
Mutual labels:  sign-language, sign-language-recognition-system
depthai hand tracker
Running Google Mediapipe Hand Tracking models on Luxonis DepthAI hardware (OAK-D-lite, OAK-D, OAK-1,...)
Stars: ✭ 284 (+268.83%)
Mutual labels:  mediapipe
Mediapipe
Cross-platform, customizable ML solutions for live and streaming media.
Stars: ✭ 15,338 (+19819.48%)
Mutual labels:  mediapipe
Vim Signify
➕ Show a diff using Vim its sign column.
Stars: ✭ 2,390 (+3003.9%)
Mutual labels:  signs
st-gcn-sl
Spatial Temporal Graph Convolutional Networks for Sign Language (ST-GCN-SL) Recognition
Stars: ✭ 18 (-76.62%)
Mutual labels:  sign-language-recognition
Sign-Language-and-Static-gesture-recognition-using-sklearn
A Machine Learning pipeline that performs hand localization and static-gesture recognition built using the scikit learn and scikit image libraries
Stars: ✭ 64 (-16.88%)
Mutual labels:  sign-language-recognition
UnityHandTrackingWithMediapipe
Realtime hand tracking and finger tracking in Unity using Mediapipe
Stars: ✭ 129 (+67.53%)
Mutual labels:  mediapipe
sign2text
Real-time AI-powered translation of American sign language to text
Stars: ✭ 132 (+71.43%)
Mutual labels:  sign-language
yeelight-hand-controller
With Yeelight Hand Controller you can turn on and off your Yeelight just with a finger snap and change the brightness intensity raising or lowering your hand.
Stars: ✭ 41 (-46.75%)
Mutual labels:  mediapipe
plotly-resampler
Visualize large time-series data in plotly
Stars: ✭ 200 (+159.74%)
Mutual labels:  sequential-data
Fred
A fast, scalable and light-weight C++ Fréchet distance library, exposed to python and focused on (k,l)-clustering of polygonal curves.
Stars: ✭ 13 (-83.12%)
Mutual labels:  sequential-data
Kinect-Vision
A computer vision based gesture detection system that automatically detects the number of fingers as a hand gesture and enables you to control simple button pressing games using you hand gestures.
Stars: ✭ 47 (-38.96%)
Mutual labels:  sign-language-recognition-system
datasets
TFDS data loaders for sign language datasets.
Stars: ✭ 17 (-77.92%)
Mutual labels:  sign-language
kinect-sign-language
Kinect Sign Language
Stars: ✭ 18 (-76.62%)
Mutual labels:  sign-language
pathpy
pathpy is an OpenSource python package for the modeling and analysis of pathways and temporal networks using higher-order and multi-order graphical models
Stars: ✭ 124 (+61.04%)
Mutual labels:  sequential-data
gestop
A tool to navigate the desktop with hand gestures. Builds on mediapipe.
Stars: ✭ 20 (-74.03%)
Mutual labels:  mediapipe
auslan-party
✌Real-time translation of the Auslan Alphabet
Stars: ✭ 38 (-50.65%)
Mutual labels:  sign-language
Sign-Language-Recogination
Final Year Project serving the sign language translator with custom made capability
Stars: ✭ 21 (-72.73%)
Mutual labels:  sign-language-recognition
SignDetect
This application is developed to help speechless people interact with others with ease. It detects voice and converts the input speech into a sign language based video.
Stars: ✭ 21 (-72.73%)
Mutual labels:  sign-language
BlazePoseBarracuda
BlazePoseBarracuda is a human 2D/3D pose estimation neural network that runs the Mediapipe Pose (BlazePose) pipeline on the Unity Barracuda with GPU.
Stars: ✭ 131 (+70.13%)
Mutual labels:  mediapipe

SignLanguageRecognition

No further work will be done on this project.

This repository contains a variety of tools to build up a experimental ecosystem for recognizing signs of the german sign language (DGS). Our claim is an experimental attempt at live subtitling of gestures. For this we train a deep learning model (RNN) for predicting the actual signs made by a person filmed. Therefore we use MediaPipe, a framework for building ML pipelines, to extract face and hand positions, including multiple coordinates for each finger.

Table of contents

  1. Demo Video
  2. Supported Words
  3. Requirements
  4. Installation
  5. Build & Run Demo
  6. Workflow

Demo Video

demo

Supported Words

The following table lists all supported words with a link to SignDict and the english translation.

German English
Bier Beer
Computer Computer
Deutschland Germany
du you
essen (to) eat
Foto Photo
Fußball Soccer
gestern yesterday
haben (to) have
Hallo Hello
Haus House
heute today
Hose Pants
Hunger Hunger
ich Me
Land Country
lernen (to) learn
lieben (to) love
Mainz Mainz (city in germany)
morgen tomorrow
rennen (to) run
Software Software
Sonne Sun
Tag Day
trinken (to) drink
Universität University
unser our(s)
Welt World
Wetter Weather
zeigen (to) show

Requirements

  1. Ubuntu 18.04 (other version may not work)
  2. GPU with OpenGL ES 3.1+ support
  3. Camera with a minimum resolution of 640x480 @ 30fps

Installation

For Demo

  1. Follow the instructions to install MediaPipe. Note that bazel version 3.5.0 is not supported, we recommend using 3.4.1. Make sure, you can build and run MediaPipe GPU examples, see https://google.github.io/mediapipe/getting_started/building_examples.html#option-2-running-on-gpu
  2. Clone the repository

Optional: To work with the code

  1. To work with the jupyter notebooks, we recommend to install Anaconda.
  2. Install TensorFlow 2.2.0 with conda, see https://anaconda.org/anaconda/tensorflow-gpu

Demo: Build and Run

  1. Open a terminal within the repository and navigate to the src folder: cd src/
  2. Build the demo with ./build_prediction.sh
  3. Run the demo with ./run_prediction.sh
  4. Exit the application with Strg + C

Workflow

1. Gathering video examples

For training we need many videos for each sign, we want to predict. Those examples are generated by users of our platform Gebärdenfutter.

2. Extracting face and hand positions

For extracting multi hand and face detections for each frame of the videos and saving them, we built a pipeline with MediaPipe, e.g. have a look at the DetectionsToCSVCalculator, we implemented. It simply writes out the detections made by MediaPipe to CSV files.

3. Training deep learning model

The CSV files are used to train a deep learning model with Keras, a high level API for TensorFlow. To find best hyperparameter sets we use Weights&Biases' Sweeps. Check out the lab folder.

4. Live prediction (Subtitling) Work in progress

SignLang Prediction Graph

Visualization of MediaPipe Graph

The trained model is used for predicting live video stream. See the SignLangRecognitionCalculator for further details on how we try to use the model for live predictions. Currently it's not working well, like we expected before, but it provides us an infrastructure for experiments and testing. You've got ideas for improvements? Let us know!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].