I started beautiful-sign-language-tr as a proof of concept — the idea that a camera and some deep learning models could recognize Turkish sign language gestures without any special hardware. Just a webcam, a video feed, and a neural network doing its thing.
The goal was never to build a finished product. It was to build a starting point — something others could contribute to, improve, and eventually turn into a real system that helps hearing-impaired people communicate more easily.
How It Works
The system supports two modes of operation:
Word-Level Recognition
Each sign language gesture is treated as an independent input. You perform a word, press 'q' to stop recording, and the model predicts what you signed. It's accurate, simple, and fast — perfect for real-time use.
- Input space is discrete — each video is one word
- Returns top-n predictions sorted by confidence
- Works with any camera (webcam, phone, etc.)
Sentence-Level Recognition
The system can also accept continuous input — sentences rather than individual words. It's slower and less accurate than word-level, but it handles real-world input where you don't pause between words.
- Input space is continuous
- Accepts any video format (mp4, flv, webm, etc.)
- More flexible, but trades off speed and accuracy
Results
Word-level system:
Sentence-level system:
Features
- REST API — serve the system as an HTTP endpoint, making it easy to integrate into any application without mixing Python dependencies
- WampServer / Xampp — local web interface for testing, with a simple UI demonstrating use cases
- Multiprocessing — the full pipeline is multi-processed for performance (though some OS-level quirks on Windows can cause bottlenecks)
- CPU & GPU — runs on both; GPU support requires CUDA and cuDNN
- OS — tested on Ubuntu 18 and Windows 10
Quick Start
Clone the repo and install requirements:
git clone https://github.com/AtaaEddin/beautiful-sign-language-tr
cd beautiful-sign-language-tr
pip install -r requirements.txt
Run a quick webcam test:
python main.py -run webcam -pred_type word -download True
While it's running, perform one of the 10 supported Turkish sign language words, then press 'q' to end recording and get a prediction.
How to Contribute
This project was designed to grow with the community. If you want to help:
- Find or create a sign language video dataset (even recording with your phone works)
- Label the videos and train using the existing models
- Open an issue describing your dataset and training results
- We'll merge datasets and do overall training together
All submitted datasets will be made publicly available for anyone who wants to train using this project's models or their own.
What's Next
The system currently recognizes 10 Turkish sign language words, but the dream is to scale that up significantly — hundreds of words, full sentences, and real-time performance that makes it usable in daily life.
The code is open source on GitHub. If this interests you, contribute, open issues, or just star the repo to show support.