indra-ocr / README.md
vikp's picture
Indra OCR 1.1: indra-ocr 1.1.1, raw example pages (handwriting, Korean, Thai, tilted memo added), 1.1 text
61541f6 verified
|
Raw History Blame Contribute Delete
2.65 kB

A newer version of the Gradio SDK is available: 6.31.0

Upgrade
metadata
title: Indra OCR
emoji: 📄
colorFrom: gray
colorTo: green
sdk: gradio
sdk_version: 6.30.0
app_file: app.py
short_description: 1M-param ONNX OCR that turns PDFs and images into markdown
python_version: '3.12'

Indra OCR

A demo of datalab-to/indra-ocr, a 1M-parameter ONNX OCR model that turns PDFs and images into markdown, plain text, or JSON — with a bounding box for every text line and every layout block (headings, lists, tables, captions, footnotes...), in reading order. It runs entirely on CPU (about 76 MB of ONNX models and language models, no PyTorch), at about 44 pages per second on 32 cores.

  • Digital PDFs go through their own text layer where it passes Indra's checks (any script); scans and images go through the OCR models: 80+ languages, including Chinese, Japanese, Korean, Arabic, Hebrew, the Indic scripts and Thai, and handwriting.
  • Pages turned upside down or sideways are turned upright first, and tilts up to 45 degrees are straightened.
  • The preview shows the detected layout: faint blue boxes are text lines, colored labeled boxes are layout blocks.

Examples

The example pages are OmniParseBench pages that the model card and the README showcase. The pages come from OmniParseBench:

  • multi_column.png and rotated_letter.png derive from olmOCR-bench (Allen Institute for AI), used under the Open Data Commons Attribution License v1.0 (ODC-BY 1.0). Credit: Poznanski J. et al. (2025). olmOCR: Unlocking Trillions of Tokens in PDFs with Vision Language Models. arXiv:2502.18443.
  • table_pmc.png is a PubMed Central page (OmniParseBench tables_derived, pmc-LICENSE.txt).
  • chinese_essay.png comes from FinePDFs (OmniParseBench multiling_finepdfs), used under ODC-BY 1.0.
  • handwriting_letter.png, korean_letter.png, thai_calendar.png and tilted_memo.png are OmniParseBench pages (synth_copies, multiling_finepdfs and docparsing_images; the memo is turned 30 degrees). Their sources and licenses are in OmniParseBench's licenses/ folder.

License

The indra-ocr code is Apache-2.0. The model weights use a modified OpenRAIL-M license — free for research, personal use, and startups under $20M funding/revenue; see the model card for the terms and Datalab's pricing page for broader commercial licensing.