LockerGnomeTech news and nostalgia for today's technology professionals
Subscribe

Search

AIocropen-source

Indra, a one-million-parameter text-recognition model, reads scans 15 times faster than Tesseract on a CPU

Datalab released Indra OCR, a 1M-parameter model that runs on CPU with no GPU or PyTorch, and its own benchmark puts it at about 44 pages a second on 32 cores, 15 times Tesseract.

Chris feeds a crumpled page into a chunky pixel-art scanner that slides out neat glowing rows on the other side
Illustration: LockerGnome

The project’s one-line pitch sets the bar high: “1M param OCR model - runs on CPU, 15x faster than tesseract, close to 1B+ param models in accuracy.” Everything below comes from Datalab’s own repository and its own tests. Nobody else has published numbers on it yet.

The README is careful about the count. “Indra OCR is a 1M-parameter OCR model that runs on CPU,” it says, and then: “all default models together have 7.3M.” The extra models handle layout, tables and the like. It runs on “ONNX Runtime, no PyTorch, no GPU,” and installs with pip install indra-ocr.

The speed claim is specific. Datalab says it measured “about 44 pages/s on 32 CPU cores, 15x Tesseract and 10x PaddleOCR’s PP-OCR text models on the same machine type and pages.” On a smaller box it’s “about 210 ms per page on 4 cores.”

Datalab scored it on its own OmniParseBench, against PaddleOCR and Tesseract 5:

Engine Headline score Text Tables Layout ms per page
Indra (auto) 66.7 46.7 61.1 92.2 212
Indra (--math) 71.4 62.7 59.6 92.0 357
PaddleOCR PP-StructureV3 58.4 55.6 47.8 71.7 40,958
PaddleOCR PP-OCR text – 35.8 0.0 – 2,685
Tesseract 5 – 19.3 0.0 – 5,496

Two things in that table cut against the headline. PP-StructureV3 beats default Indra on plain text, 55.6 to 46.7. And Indra’s math mode, the one that wins on text, is about 70% slower than its default.

The repo lists other abilities. It reads pages “sideways, upside down, tilted up to 45 degrees, light text on dark ground.” On a PDF it “reads the text layer in any script, and OCRs only what is missing.” It claims “80+ languages,” and adds “we measured 95 languages on held-out printed pages.” Output comes as Markdown by default, or plain text or JSON.

It’s weak where most small OCR is weak. The README flags “handwritten pages and forms (25.2% on the OmniParseBench handwriting tests, see limitations).”

What Datalab didn’t say. The benchmark is Datalab’s own, and the company sells an API. The README doesn’t show how other large vision-language models scored on the same pages beyond the “close to 1B+ param models” line, and there’s no independent rerun yet.

What it means for anyone running a scan pipeline. The license matters as much as the speed. “The code is Apache 2.0,” but “The model weights use a modified OpenRAIL-M license” that’s “free for research, personal use, and startups under $20M funding/revenue, cannot be used competitively with our API.” A company over that line, or one building a competing OCR service, needs a different arrangement.

Why now. Small models trained to do one job well keep beating general models on cost. OCR is one of the oldest jobs in computing, and it’s getting the same treatment.

The test any team can run is simple: point Indra and the current tool at the same hundred pages from their own archive and compare. The benchmark that matters is the one made of your own documents, and that’s a few minutes of setup with a pip install. About 1,400 people have starred the repo so far.

Whether Indra’s numbers hold on someone else’s pages is the question the repo can’t answer for itself.

More AI

Every AI story →