Sign Language Recognition tool.
Project description
Sign Language Recognition tool
Table of contents
General info
SignLanguageRecognition package is a opensource tool to estimate sign language from camera vision. This project is a part of my Bachelor Thesis and contains the implementation of sign language recognition tool using a LSTM Neural Network, TensorFlow Keras and other opensorce libraries like: OpenCV or MediaPipe. Here is a link leading to PyPi package repository: pypi.org/SignLanguageRecognition.
Technologies
Project is created with:
- Python: 3.8.8
- OpenCV-Python: 4.5.3.56
- TensorFlow: 2.4.1
- MediaPipe: 0.8.7.3
- NumPy: 1.19.5
How it was made
Creating a dataset and model training
The entire dataset used to model training was created by me from scratch. Gathering the data was made by using opensource libraries: OpenCV and Mediapipe. Dataset is collection of 100 thirty-frame sequences for each class and every frame is saved as Numpy array which came as the output of the mediapipe library.
Proccess of collecting data is demonstrated right below:
class: a | class: b | class: c |
---|---|---|
class: d | class: e | class: f |
---|---|---|
class: g | class: h | class: i |
---|---|---|
class: j | class: k | class: l |
---|---|---|
class: m | class: n | class: o |
---|---|---|
class: p | class: r | class: s |
---|---|---|
class: t | class: u | class: w |
---|---|---|
class: y | class: z | |
---|---|---|
To train the model, the TensorFlow library was used with LSTM layers. The whole training process is available here.
You can find the dataset used to trainig and also videos documenting all process of clooecting data, under links: Dataset, Videos.
Setup
All package details you can find here: pypi.org/SignLanguageRecognition.
The Python Package Index (PyPI) is a repository of software for the Python programming language.
Make sure that you have installed python
(>=3.6) and you can run python
from the command line. Check it by running:
python --version
Now you need to use a pip
to conduct installation process. pip
is a package management system used to install and manage software packages/libraries written in Python. These files are stored in a large “on-line repository” termed as Python Package Index (PyPI).
To check if pip
is already installed on your system, just go to the command line and execute the following command:
pip -V
After you make sure you can run pip
from the command line you should ensure that pip
version is up-to-date. To check this use command below:
pip install --upgrade pip
To run SignLanguageRecognition package, install you have to install it locally using pip
:
pip install SignLanguageRecognition
or to install specific version, for example 0.0.17:
pip install SignLanguageRecognition==0.0.17
Note. When you are installing this library, the following are also installed as required: opencv-python
,mediapipe
,numpy
and tensorflow
.
More details about installing and running python packages here: Installing Packages (python.org).
Getting started
This section shows example how to use SignLanguageRecognition library. First of all you have to open Python interpreter on your device. An example way to do this is by typing a command:
python
After that, the Python intrpreter will be opened. Then import a method from previously installed package:
>> from SignLanguageRecognition import signLanguageRecognizer
>> signLanguageRecognizer.signLanguageRecognizerMethod()
This code will cause opening a new OpenCV window with ready-to-work tool. Enjoy testing!
License
You can check out the full license here
This project is licensed under the terms of the MIT license.
Project details
Release history Release notifications | RSS feed
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
Hashes for SignLanguageRecognition-0.0.20.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96a6dbe142ca5474db74328e571677b23c7cbc88242dbbf251a6de7f7f2a4e60 |
|
MD5 | 618b393577d968f544b2035eeb325c5f |
|
BLAKE2b-256 | 91eb4302086ba58b0a8e78a26a4bc12044afb5753f92408aaec218c39d15ec37 |
Hashes for SignLanguageRecognition-0.0.20.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4a0af5ced367fb5459c140d20469a11a1bbcbfce3d22528028b8578b983df71 |
|
MD5 | 26791c53c6e238c3f6fd0ee4a84c71e8 |
|
BLAKE2b-256 | 51b94f41015babeece9641a1cb52cab93630b0731aa64c78ac2c58fbb984c54c |