Indra OCR Poneglyph - bubble OCR

Fine-tune of Datalab's Indra OCR (tag v1.1.0) for French One Piece speech bubbles, as used by Poneglyph in the browser. Two networks, unchanged in structure from Indra:

  • onnx/indra_det_bubble.onnx (390 kB): line detector, input a bubble crop at 0.75 x its size.
  • onnx/indra_rec_bubble.onnx (5.0 MB): CTC recognizer, input the bubble's line windows side by side (one pass per bubble).
  • onnx/browser_manifest.json: vocabulary, preprocessing constants and the text rules learned from training labels.

Test results (1,221 bubbles, page-level holdout)

Pipeline CER Exact match
A: YOLO lines + PP-OCRv6 (production) 0.902 % 85.01 %
C: Indra det (fine-tuned) + Indra rec (fine-tuned) - this release 0.690 % 88.53 %
B: YOLO lines + Indra rec (fine-tuned) 0.912 % 87.80 %
C: Indra det (original) + Indra rec (fine-tuned) 1.084 % 85.83 %

This release vs production: 277 vs 362 character errors, CER difference -0.212 points (95% paired page bootstrap -0.414 to -0.005). Median CPU latency per bubble (4 threads): 4.4 ms vs 157.7 ms for YOLO + PP-OCRv6. The browser implementation (Poneglyph frontend/src/lib/indraOcr.js, ONNX Runtime) scores 0.693 % CER on the same test (1219/1221 raw texts identical to the Python reference).

Selection was done on validation only. The test pages were inspected in earlier audits, so this is not a blind benchmark; detector labels are YOLO pseudo-labels. Short texts (sound effects, lone punctuation) remain weaker than PP-OCRv6. Full protocol, training settings and latency: metrics/evaluation_20261105.json.

Pipeline

  1. Grayscale bubble crop; det input = ink map (1 - gray/255) resized to long side round(0.75 x crop long side), padded to multiples of 32.
  2. Line boxes from the core/distance maps (indra_ocr det_post.decode), sorted by half-line bands then x.
  3. Each line is cropped with Indra's crop_line (tall window x3, height 96) and the windows are concatenated; no line found: the whole crop is one line.
  4. rec greedy CTC, then the manifest's postprocess rules (lexicon, French punctuation spacing, sentence case).

Reference implementation: Python docker_scripts/eval_indra_ocr and browser frontend/src/lib/indraOcr.js in the Poneglyph repository.

License

These weights are derived from Indra OCR and keep its modified OpenRAIL-M license (see LICENSE), including its use restrictions. Indra OCR is by Datalab.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Remidesbois/indra-ocr-poneglyph-bubble

Quantized
(7)
this model