Indra OCR Vietnamese (v1)

Fine-tuned version of datalab-to/indra-ocr optimized for high-accuracy Vietnamese document text recognition.

This checkpoint is a drop-in replacement for the official indra-ocr pipeline. It retains full architecture compatibility with Datalab's ONNX runtime while significantly boosting accuracy on Vietnamese administrative decrees, academic research publications, and structured forms.


Benchmark & Evaluation

Evaluated on held-out Vietnamese test data across administrative (Chinhphu), academic (VJOL), and real-world forms (Datalab snapshot):

Metric Base Model (datalab-to/indra-ocr) Fine-Tuned (ANZ-Innovation/indra-v1) Improvement
Character Error Rate (CER NFD) 19.66% 12.81% -34.81% relative
Exact Line Accuracy 31.68% 67.77% +36.08% absolute

Training Stats & Efficiency

  • Hardware: 1x NVIDIA RTX A4000 16GB
  • Throughput: ~971.3 samples/second
  • Total Training Duration: 853.2s (14.2 minutes, 12 epochs, best at epoch 10)
  • Dataset Partitioning:
    • Train: 21,030 lines
    • Validation: 2,001 lines
    • Test (Held-out): 2,001 lines
    • Total: 25,032 lines
    • Sources:
      • Government decrees & administrative documents (Chinhphu): 3,520 lines
      • Academic journals & scientific publications (VJOL): 5,180 lines
      • Structured documents, forms, resumes & tables: 16,332 lines

Quickstart & Usage

You can use this fine-tuned model directly with the official indra-ocr package or ONNX Runtime:

pip install indra-ocr huggingface_hub

1. In Python with indra_ocr:

from huggingface_hub import snapshot_download
import indra_ocr
import cv2

# Download model weights from Hugging Face
model_dir = snapshot_download(repo_id="ANZ-Innovation/indra-v1")

# Load OCR pipeline
converter = indra_ocr.load(path=model_dir)

# Read image (grayscale)
img = cv2.imread("document_vn.png", cv2.IMREAD_GRAYSCALE)

# Run full OCR (detection + recognition)
result = converter.ocr(img)

for line in result.lines:
    print(f"  {line.text}")

Technical Details

  • Recognizer Architecture: Multi-scale 1D depthwise separable convolutional backbone with 128-channel CTC classifier head (~1.24M parameters).
  • Format: High-performance ONNX model (rec.onnx) with frozen batch normalization and dynamic sequence length masking.
  • License: Modified OpenRAIL-M (commercial use permitted subject to Indra OCR terms).

Developed by ANZ Innovation.

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