Bu proje, bilgisayar kamerası üzerinden el işaretlerini algılayan, bu verileri toplayan ve eğitilmiş bir model yardımıyla sınıflandıran hafif bir Bilgisayarlı Görü (Computer Vision) uygulamasıdır.
- El Algılama:
CVZoneveOpenCVkullanarak yüksek doğrulukla el takibi. - Veri Toplama: Kareleri otomatik olarak kırpıp, sabit boyuta getirerek veri seti oluşturma.
- Canlı Sınıflandırma: Eğitilmiş Keras modeliyle anlık işaret dili tahmini.
- Ölçeklenebilir: Kolayca yeni sınıflar (el işaretleri) eklenebilir.
Bu repoyu klonladiktan sonra eksiksiz calisma icin asagidaki klasorleri olusturmaniz gerekir:
-
Veri Klasoru: Egitim verisi icin
mkdir -p data/class_a data/class_b data/class_c
-
Model Klasoru: Egitilmis modeli icin
mkdir -p model
keras_model.h5dosyasini ekleyin (eger egitilmis modele sahipseniz)model/labels.txtdosyasini olusturun (etiket isimleri, her satira bir)
Capture Hand Language/
capture_hand_dataset.py
classify_hand_sign.py
README.md
data/ # Yerel - GitHub'a eklenmez
class_a/
class_b/
class_c/
model/ # Yerel - GitHub'a eklenmez
keras_model.h5
labels.txt
Not: data/ ve model/ klasörleri .gitignore tarafından hariç tutuluyor. Bunlar yerel gelistirme icin gereklidir.
- capture_hand_dataset.py dosyasinda
folderdegiskenini hedef sinif klasorune ayarlayin (ornegindata/class_b). - Calistirin:
python capture_hand_dataset.py
- Kamera acildiginda
stusuna bastikca, olusturulan kareler klasore kaydedilir.
Not: Kodda offset ve imgSize degerleri el kirpma ve olcekleme icin kullanilir. Ihtiyac halinde degistirebilirsiniz.
- classify_hand_sign.py dosyasinda
labelslistesi vemodel/labels.txtdosyasi uyumlu olmalidir. - Calistirin:
python classify_hand_sign.py
- Ekranda tahmin edilen etiket goruntulenir.
- Model dosyasi:
model/keras_model.h5(Yerel olarak bulunmasi gerekir) - Etiketler:
model/labels.txt(Yerel olarak bulunmasi gerekir)
Model dosyalarini birisi kolay yontemiyle TensorFlow/Keras kullanarak egitebilir. Modelin input boyutu ve sinif sayisi classify_hand_sign.py ile uyumlu olmalidir.
- Daha iyi sonuclar icin aydinlatma ve arka planin sabit olmasi faydali olur.
- Yeni siniflar ekleyecekseniz
data/altinda klasor aciplabelslistesini guncelleyin.
Bu depo icin lisans belirtilmedi.