Logo Lanfrica

Mchealay/sign-language

Domain:

natural language processing

Record type:

software
Creator:
Mch
Host:
TASL is the real-time AI recognition system for first Tigrinya Sign Language, recognizing 30 letters (ሀ-ፐ) via webcam with instant text + audio feedback. Trained on 20,000+ custom images to empower communication & inclusive education for Tigray's Deaf community. Languages: Python, HTML, CSS, JavaScript Tools: TensorFlow, OpenCV, MediaPipe # Tigrigna ASL (Fingerspelling) — Data Collection, Training, and Real‑Time Detection This repo contains a full pipeline for collecting hand-sign images for 30 Tigrigna letters, training a CNN, and running real-time detection via MediaPipe + TensorFlow + Flask. ## What’s included - `tigrigna_letters.py` — Shared mapping (30 letters → transliteration folder names). Default target per letter: 665 samples (`SAMPLES_PER_LETTER`). - `asl_data_collector.py` — Camera-based data collection (auto/interactive). Saves JPEGs to `tigrigna_dataset/ /` and keeps `dataset_progress.csv` in sync. - `asl_model_trainer.py` — Loads the dataset, applies the same preprocessing as inference, trains a CNN, saves `tigrigna_model.h5` + `tigrigna_model.h5.labels.txt`. - `image_preprocessing.py` — Normalization and augmentation helpers shared by training and inference. - `real_time_tigrigna_detector.py` — Desktop real-time detector (MediaPipe Hands + model, ROI view). - `app.py` — Flask web UI that streams camera frames and exposes debug endpoints. - `evaluate_model.py` — Batch evaluation with confusion matrix and misclassified samples CSV. - `scripts/verify_progress.py` — Checks `dataset_progress.csv` against files on disk (optional `--fix`). ## Current defaults (keep in sync) - Image size: 120 (width) x 160 (height), portrait 4:3. `config.py` sets `IMAGE_SIZE` and `MODEL_INPUT_SHAPE`. - Preprocessing: Gaussian blur + min-max normalization (`normalize_roi`) during training and inference. - Confidence thresholds: see `config.py` (`CONFIDENCE_THRESHOLD_*`, `CONFIDENCE_MARGIN`). - Target samples per letter: 665 (`tigrigna_letters.py`). Adjust there if you want a smaller/larger target. ## Quick setup (Windows PowerShell) # Create and activate virtual environment (recommended) python -m venv mp-env # On Windows: mp-env\Scripts\Activate.ps1 # On Mac/Linux: source mp-env/bin/activate # Install all packages pip install -r requirement.txt ## Data collection Run the collector: ```powershell python …