|
Download README.md from WARAJA/Tzefa: direct link, hf CLI and curl.
- Browser
- Download file 2.57 kB
-
https://huggingface.co/spaces/WARAJA/Tzefa/resolve/main/README.md
- Command line
-
hf download hf://spaces/WARAJA/Tzefa/README.md
-
curl -L -o README.md https://huggingface.co/spaces/WARAJA/Tzefa/resolve/main/README.md
2.57 kB
A newer version of the Gradio SDK is available: 6.31.0
metadata
title: Tzefa
emoji: 🚀
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: 5.9.0
python_version: '3.11'
app_file: app.py
pinned: false
license: cc-by-nc-3.0
pipeline_tag: image-to-text
tags:
- vision
- ocr
- document-processing
- binarization
- yolo
- trocr
- handwriting-recognition
- programming-language
- compiler
thumbnail: >-
https://cdn-uploads.huggingface.co/production/uploads/6645e2ce9c6ed6c615e56bf0/eTdBX9sR1-qzBuEPVWwZA.jpeg
Tzefa - Handwritten Code to Execution
Tzefa is an end-to-end system that photographs handwritten code on a whiteboard, recognizes it via a custom OCR pipeline, compiles it through a custom programming language, and executes it -- all from a single image upload.
Pipeline
Image Upload
|-- Stage 1: Binarization -- HighResMAnet (mit_b5), tiled 640x640
|-- Stage 2: Line Segmentation -- YOLO11x-OBB, oriented bounding boxes
|-- Stage 3: Word Segmentation -- Morphological dilation (exactly 3 words/line)
|-- Stage 4: Word OCR -- Fine-tuned TrOCR
|-- Stage 5: Error Correction -- Edit-distance matching against Tzefa vocabulary
|-- Stage 6: Compilation -- Tzefa instructions -> Python code
'-- Stage 7: Execution -- Subprocess with 15s timeout
Modular Design
All models load from their own HuggingFace repos. Push new weights to any repo and this Space picks them up on next run.
| Component | Model Repo |
|---|---|
| Binarization (b3) | WARAJA/Model |
| Binarization (b5) | WARAJA/b5_model |
| Line Segmentation | WARAJA/Tzefa-Line-Segmentation-YOLO |
| Word OCR | WARAJA/Tzefa-Word-OCR-TrOCR |
Tzefa Language
Every instruction is exactly 3 tokens: COMMAND ARG1 ARG2
MAKEINTEGER NUMY FIVE -- create integer NUMY = 5
MULTIPLY RESULT BIGLY -- RESULT = RESULT * BIGLY
PRINTINTEGER TEMPORARY BREAK -- print TEMPORARY with newline
Numbers are written as words (ZERO through ONEHUNDRED) to maximize OCR error correction.