Kameradan alınan anlık görüntülerde elleri tespit eden, eklem (landmark) noktalarını çıkaran ve bu verileri kullanarak gerçek zamanlı Türkçe İşaret Dili (TİD) harf sınıflandırması yapan açık kaynaklı bilgisayarlı görü projesi.
Nasıl Çalışır · Hızlı Başlangıç · Özellikler · Proje Yapısı
İşitme ve konuşma engelli bireylerle iletişimi kolaylaştırmak ve işaret dilini bilmeyen kişilerin de bu dili anlık olarak anlayabilmesini sağlamak amacıyla geliştirilmiştir. Modern Derin Öğrenme (Deep Learning) tekniklerini kullanarak, standart bir web kamerası aracılığıyla işaret dili harflerini saniyeler içinde yazıya dökebilecek bir altyapı sunar.
| 🎯 Gerçek Zamanlı Tespit | OpenCV üzerinden saniyede 30+ kare hızıyla anlık harf okuma |
| 🖐️ Hassas Landmark Çıkarımı | MediaPipe Tasks API ile elin 21 farklı (x, y) 3D eklem noktasını pürüzsüz tespit etme |
| 🧠 Derin Öğrenme Modeli | Kendi eğittiğimiz, hafif fakat yüksek doğruluklu İleri Beslemeli Sinir Ağı (Feedforward NN) |
| 🗃️ Bağımsız Çalışma | Sadece CPU üzerinde çalışabilme yeteneği, pahalı GPU'lara ihtiyaç duymaz |
| 🔄 Kolay Eğitilebilir | Sadece görselleri klasöre koyarak dataset_keypoint_generation.py ile sıfırdan veri seti oluşturulabilir |
- Koordinat Çıkarımı (Keypoint Generation) —
dataset_keypoint_generation.pybetiği, veri setindeki (harf klasörlerindeki) görselleri tek tek okur. MediaPipe aracılığıyla her görseldeki elin 21 eklem noktasını bulur. Bu x,y koordinat değerlerini ve ait oldukları harf etiketini (A, B, C...)keypoint.csvdosyasına kaydeder. - Modelin Eğitimi (Classifier Training) —
train_classifier.pybetiği, hazırlanan bu CSV dosyasındaki koordinatları TensorFlow modeline besler. Model, hangi koordinat diziliminin hangi harfe karşılık geldiğini öğrenir ve ağırlıklarımodel.h5olarak kaydeder. - Gerçek Zamanlı Yorumlama (Realtime Detection) —
realtime_detection.pykameranızı açar, MediaPipe ile elinizin o anki güncel noktalarını anında tespit eder ve eğitilen modele (model.h5) sorar. Gelen yanıt (harf), ekranda gösterilir.
Turkish-Sign-Language-Detection-
│
├── README.md # Bu dosya
├── dataset_keypoint_generation.py # Klasörden koordinat çıkaran script
├── train_classifier.py # Yapay zekayı eğiten script
├── realtime_detection.py # Kameradan anlık tespit yapan script
│
├── hand_landmarker.task # MediaPipe el tespit model dosyası
├── keypoint.csv # (Siz oluşturacaksınız) Veri setinin koordinat tablosu
├── model.h5 # (Siz oluşturacaksınız) Eğitilmiş Keras modeli
└── labels.json # (Siz oluşturacaksınız) Harf indeks etiketleri
Depoyu klonlayın ve klasöre girin:
git clone https://github.com/meryemgcl/Turkish-Sign-Language-Detection-.git
cd Turkish-Sign-Language-Detection-Gerekli Python kütüphanelerini yükleyin:
pip install opencv-python mediapipe tensorflow pandas scikit-learn numpyMediaPipe'ın görev (task) dosyasını proje klasörünüze indirin: Download hand_landmarker.task
(Halihazırda eğitilmiş modeliniz yoksa sırasıyla şu adımları izleyin)
- İşaret dili harflerinin bulunduğu resim klasörünü (
TSL-DATASET) ana dizine ekleyin. - Verileri CSV'ye çevirin:
python dataset_keypoint_generation.py
- Modeli eğitin:
python train_classifier.py
python realtime_detection.pyKamerayı kapatmak için klavyeden q tuşuna basabilirsiniz.
Projeyi sıfırdan kendi bilgisayarınızda eğitmek isterseniz, TİD alfabesine ait on binlerce fotoğrafı barındıran açık kaynaklı veri setini doğrudan Kaggle veya Dropbox üzerinden indirebilirsiniz:
Bu veri seti aşağıdaki makaleye dayanmaktadır: Temel, T., & Vural, R. A. (2023). Turkish Sign Language Recognition Using CNN with New Alphabet Dataset.
Made with ❤️ for Accessibility
