Logo Lanfrica

ethio-artifical/Skeleton-Based-Continuous-Ethiopia-Sign-Language-Recognition

Domain:

natural language processing

Record type:

software
Creator:
eth
Host:
# Skeleton Based Continuous Ethiopia Sign Language Recognition This project adapts the ICCV 2025 SignEval-winning skeleton-based continuous sign language recognition framework for **Ethiopia Sign Language**. The original implementation is based on A Closer Look at Skeleton-based Continuous Sign Language Recognition, which won 1st place in both the Signer-Independent and Unseen Sentences tasks of the ICCV 2025 SignEval 2025 challenge. This implementation is largely built upon VAC and CoSign frameworks. ## Prerequisites - This project is implemented in Pytorch (better ==2.0.0 to be compatible with ctcdecode or these may exist errors). Thus, please install Pytorch first. - ctcdecode==0.4 [[parlance/ctcdecode]](github.com), for beam search decode. - sclite [[kaldi-asr/kaldi]](github.com), install the kaldi tool to get sclite for evaluation. After installation, create a soft link to the sclite: ``` mkdir ./software ln -s PATH_TO_KALDI/tools/sctk-2.4.10/bin/sclite ./software/sclite ``` ## Setup Instructions ### CESLR (Ethiopia Sign Language) 1. **Place the dataset** in `./datasets/CESLR-multisigner` (annotations + RGB frames). 2. **Extract Pose86 keypoints** (MediaPipe Holistic, 86 joints per frame): ``` python3 -m venv .venv source .venv/bin/activate pip install -r preprocess/ceslr/requirements-pose.txt python preprocess/ceslr/extract_pose86.py \ --dataset-root ./datasets/CESLR-multisigner \ --output ./datasets/pose_data_ceslr_hands_lips_body.pkl ``` 3. **Preprocess annotations** (gloss dict, split info, evaluation STM files): ``` cd ./preprocess/ceslr python ceslr_process.py ``` 4. **Train** on CESLR: ``` python main.py --config ./configs/Double_Cosign_ceslr.yaml ``` ### MSLR / Isharah (original competition baseline) 1. **Download the dataset** [[download link]](kaggle.com) and p …