Table of Contents
Our project aims to bridge communication gaps between the deaf and the hearing community by developing a system that translates sign language gestures into audible speech using deep learning techniques, particularly Long Short-Term Memory (LSTM) neural networks for action recognition.
The system utilizes a camera or a sensor to capture real-time sign language gestures performed by the user. These gestures are then processed and analyzed by the LSTM-based action recognition model, which is trained to recognize various sign language gestures and movements. LSTM networks are chosen for their ability to effectively model temporal dependencies in sequential data, making them well-suited for recognizing the dynamic nature of sign language.
Once the gestures are recognized, the corresponding linguistic information is extracted and synthesized into spoken language using text-to-speech (TTS) technology. This synthesized speech is then outputted through speakers or headphones, enabling individuals who are deaf or hard of hearing to effectively communicate with those who do not understand sign language.
- Real-time sign language recognition: The system operates in real-time, allowing for seamless communication without delays.
- Multi-gesture recognition: The LSTM model is trained to recognize a wide range of sign language gestures, including both static and dynamic movements.
- Accuracy and robustness: The model is trained on diverse datasets to ensure accurate recognition of gestures across different environments and lighting conditions.
- Accessibility: The system is designed to be user-friendly and accessible to individuals with varying levels of proficiency in sign language.
Our project aims to empower individuals who are deaf or hard of hearing by providing them with a reliable and efficient means of communication in various social and professional settings. By leveraging the capabilities of deep learning and LSTM networks, we strive to break down communication barriers and promote inclusivity and accessibility for all.
Dependency lists for the project
Dependency | Version | Notes |
---|---|---|
TensorFlow | 2.15.0 | currently in main |
opencv-python | 4.9.0.80 | currently in main |
mediatype | 0.10.9 | currently in main |
sklearn | 1.4.0 | currently in main |
matplotlib | 3.8.2 | currently in main |
playsound | latest | currently in main |
gtts | latest | currently in main |
tempFile | TBD | only in voice-feature branch |
The following steps should be applied in the local computer for the development process.
Install the virtual environment system
- pip3
pip3 install venv
- Clone the repo
git clone [https://github.com/your_username_/Project-Name.git](https://github.com/HoyeonS/SLDVT.git)
- Activate virtual environment
source ~/path/to/env/bin/activate
- Install dependencies
cd /SLDVT && pip3 install -r requirements.txt
- Run the python file
python3 mcapture.py
~ .\path\to\env\Scripts\activate.bat
OR
~ .\path\to\env\Scripts\activate.ps
Double check python version
python3 --v
--> Install by dependency
-
Consistency and Portability: Docker ensures that your application runs the same way in every environment, mitigating the "it works on my machine" problem. Containers provide a consistent environment for your application from development through to production, regardless of where it runs.
-
Rapid Deployment and Scalability: Containers start up quickly and consume fewer resources than traditional virtual machines, facilitating faster deployment times and ease of scalability.
-
Isolated Environments: Each Docker container runs independently, allowing you to run multiple applications in isolation from each other on the same host. This isolation helps manage dependencies and conflicts efficiently.
-
Version Control and Easy Rollbacks: Docker images are version-controlled, making it easy to roll back to earlier versions of your application if needed. This enhances stability and ease of management.
Using GitHub Actions, we can automate our CI/CD pipeline, ensuring that code changes are automatically built, tested, and deployed.
-
Trigger on Push or Pull Request: The CI/CD pipeline is triggered by code pushes to the main branch or the creation of pull requests, ensuring that every change is automatically tested.
-
Automated Testing: Upon trigger, unit and integration tests run automatically, verifying that new changes do not break existing functionalities.
-
Docker Image Build and Registry Push: Successful tests lead to the building of a new Docker image incorporating the changes, which is then pushed to a Docker Hub
-
Deployment: Following the push to the registry, the new Docker image is deployed to the production environment.
- Hoyeon Sohn
- Juyeong Yoon
- Seongjin Park
Project Link: https://github.com/your_username/repo_name