CoolFace
Apppublic

joaoP-santos/Libras_ISLR_with_Skeleton-DML_and_ResNet-18

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes
App README

Gestus Libras demo

A webcam-only demonstration of the Skeleton-DML + ResNet-18 classifier trained by this project's Kaggle notebook.

The Space includes the exported model and 20 instructional GIFs. Additional reference GIFs belong in assets/sign_videos/; use lowercase ASCII filenames without spaces, accents, or punctuation.

The interface labels the signer's own right and left sides as D and E. Webcam mirroring is detected from the rendered preview, with a Trocar D/E correction button. Reference GIFs default to unmirrored; configure global or per-GIF exceptions in assets/sign_videos/reference_sides.json.

Portuguese is the default interface language. The selector at the top switches all guidance, labels, status messages, and prediction explanations to English. Libras gloss names remain in Portuguese because they are the model's class labels.

Run locally

Python 3.11 is recommended:

bash
python -m venv .venv
pip install -r requirements-local.txt
python app.py

Open the local URL printed by Gradio and grant camera permission. The local requirements include a bundled FFmpeg executable so webcam WebM recordings can be converted to the MP4 input expected by Gradio without a system-wide FFmpeg install.

Publish on Hugging Face Spaces

Create a free CPU Basic Gradio Space, then upload the contents of this `demo/` directory to the Space repository. The ResNet-18 and MediaPipe pipeline run on CPU, so the demo does not need paid GPU hardware.

The app does not retain webcam recordings. Gradio creates a temporary server-side file for inference; the Space runtime manages its temporary-file lifecycle.