Spaces:
Running on Zero
Running on Zero
|
Download README.md from LocalDoc/azerbaijani-ocr: direct link, hf CLI and curl.
- Browser
- Download file 2.36 kB
-
https://huggingface.co/spaces/LocalDoc/azerbaijani-ocr/resolve/main/README.md
- Command line
-
hf download hf://spaces/LocalDoc/azerbaijani-ocr/README.md
-
curl -L -o README.md https://huggingface.co/spaces/LocalDoc/azerbaijani-ocr/resolve/main/README.md
2.36 kB
| title: Azerbaijani OCR — CRNN + CTC | |
| emoji: 📜 | |
| colorFrom: purple | |
| colorTo: indigo | |
| sdk: gradio | |
| sdk_version: 6.28.0 | |
| app_file: app.py | |
| short_description: Read Azerbaijani text lines and whole page scans | |
| python_version: "3.12" | |
| startup_duration_timeout: 1h | |
| # Azerbaijani OCR — CRNN + CTC | |
| A Gradio demo for [`LocalDoc/azerbaijani-ocr-crnn`](https://huggingface.co/LocalDoc/azerbaijani-ocr-crnn), | |
| an 8.5M-parameter CRNN + CTC recogniser for Azerbaijani print in **Latin and | |
| Cyrillic** script (CER 0.0242 / WER 0.0565 on the authors' benchmark). | |
| Two modes: | |
| - **Line** — the recogniser alone on a cropped line of text. This is the model's | |
| native input. | |
| - **Page** — [PP-OCRv5](https://huggingface.co/PaddlePaddle/PP-OCRv5_server_det) | |
| detection finds the line boxes, the recogniser reads each crop. Reading order | |
| assumes a single column; for two-column pages, read the left half and then the | |
| right half using the *Column layout* option. | |
| `modeling.py` and the detection / reading-order logic are vendored verbatim or | |
| adapted from the model repo (CC-BY-4.0); the weights (`model.pt`) are downloaded | |
| from the Hub at startup. | |
| ## Limitations | |
| From the model card, and worth knowing before you judge an output: | |
| - **`a` ↔ `ə`.** Training labels came from OCR text layers rather than human | |
| transcription, so the model inherited that engine's systematic errors. The most | |
| common residual mistake is printing `a` where the page shows `ə`. | |
| - **Resolution floor.** Source lines run about 20 px high; at that scale the | |
| Cyrillic vertical-stroke family (`и/н/п/м`) is genuinely ambiguous. | |
| - **Greedy CTC decoding** — no language model. | |
| - The Cyrillic benchmark figure rests on a small number of books and is | |
| optimistic. | |
| - Very large pages (roughly 30+ detected lines) can exhaust the shared | |
| ZeroGPU memory pool while batching. The recogniser halves its batch and | |
| retries automatically, so those pages still finish, but a very dense page | |
| may take noticeably longer or fail on a busy worker — split it if that | |
| happens. | |
| ## Example assets | |
| Line and page examples are real crops from | |
| [`LocalDoc/azerbaijani-ocr-benchmark`](https://huggingface.co/datasets/LocalDoc/azerbaijani-ocr-benchmark) | |
| (CC-BY-4.0, © LocalDoc), the authors' own evaluation set. The page examples stack | |
| consecutive benchmark lines into a full-page layout. | |