Loading…
Loading…
datalab-to/indra-ocrFine-tune of datalab-to/indra-ocr on masterofaudio2077/egyptian-receipts-ocr (synthetic Egyptian receipts, Arabic/English).
indra-ocr ships ONNX weights but no public training code, so the line recognizers (rec.onnx Latin, rec_rtl.onnx Arabic/Hebrew) and the script router (script.onnx) were rebuilt in PyTorch, verified against the shipped ONNX graphs (recognizers: layer-by-layer, max deviation ~5e-05), fine-tuned (recognizers: CTC, Lion at a small lr, frozen BN, augmentation, divergence guard, warmup -> constant -> linear decay; router: cross-entropy on text-derived targets) and written back into the original ONNX graphs - the fused CTC decode tail is untouched, so this repo is a drop-in model dir for the unmodified indra-ocr pipeline.
Both formats ship in this repo: the drop-in ONNX model dir at the root (the fine-tuned weights overlaid onto the original graphs), and the fine-tuned PyTorch weights (safetensors) + replica module under pytorch/.
pip install indra-ocr huggingface_hub torch onnx onnxruntime safetensors
huggingface-cli download masterofaudio2077/indra-ocr-egyptian-receipts-v3 --local-dir indra-models
The fine-tuned recognizers are already under their original file names, so the unmodified indra-ocr pipeline picks them up:
import indra_ocr
conv = indra_ocr.load(path="indra-models")
page = conv.ocr("receipt.jpg") # path or numpy grayscale array
print(page.text) # full page text
for ln in page.lines:
print(ln.box, ln.conf, ln.text)
pytorch/ in this repo)pytorch/ holds the fine-tuned CTC weights as safetensors plus indra_recnet.py (the PyTorch replica verified layer-by-layer against the ONNX graph). The architecture is rebuilt from the graph, then the fine-tuned weights are loaded on top:
import json, sys, torch
sys.path.insert(0, "indra-models/pytorch")
from indra_recnet import build_from_onnx
model, wmap, meta = build_from_onnx("indra-models/rec_rtl.onnx")
from safetensors.torch import load_file
sd = load_file("indra-models/pytorch/rec_rtl_ft.safetensors")
model.load_state_dict(sd); model.eval()
x = torch.rand(1, 1, meta["input_h"], 256) # one line crop [B, 1, H, W]
widths = torch.tensor([256]) # true width per crop
ids = model(x, widths).argmax(1)[0].tolist() # [B, C, T] CTC logits
# greedy CTC decode (blank = 0) with the recognizer's charset from meta.json
chars = json.loads(json.loads(open("indra-models/meta.json").read())["vocab_rtl"])["chars"]
out, prev = [], -1
for c in ids:
if c != prev and c != 0:
out.append(c)
prev = c
print("".join(chars[i - 1] for i in out))
CER, lower is better. Line CER on validation-split line crops; page CER on full receipts through the whole pipeline (detector + routing + recognizers + order).
| recognizer | baseline line CER | fine-tuned line CER |
|---|---|---|
rec_rtl.onnx |
0.3291 | 0.0716 |
| page CER (validation) | value |
|---|---|
| base model | 0.4249 |
| fine-tuned | 0.3568 |
| page CER (test) | value |
|---|---|
| base model | 0.3855 (median 0.3651) |
| fine-tuned | 0.3282 (median 0.2950) |
| improvement | 0.0573 |
Over 150 test receipts: improved 134 / regressed 12 / unchanged 4; exact-match rate 0.00% -> 0.00%.
| recognizer-side page CER (GT boxes, validation) | page CER | line CER |
|---|---|---|
| stock (overlaid: none) | 0.4570 | 0.4764 |
| router_only (overlaid: script) | 0.4229 | 0.4208 |
| finetuned (overlaid: script, rec_rtl) | 0.2704 | 0.2161 |
Script router: Arabic-letter lines sent to rtl 73.4% (stock) -> 98.6% (fine-tuned), validation lines.
Real test receipts. Red boxes/text = base model, green = this model.
reference
لقطة
Laqta Shoes
شارع بنها الحر، بجوار كوبري كفر الجزار، الكيلو 2، بنها، القليوبية
ت: 02-6436070
الرقم الضريبي: 260-887-637
إيصال بيع نقدي
رقم الفاتورة: 8130352
تاريخ: 17.10.2024
الساعة: 9:31 م
المستخدم: أحمد
الوصف الكمية سعر الوحدة المبلغ
شبشب رجالي SH-40 مقاس 42 زوج 1 95 95
Men's Slippers SH-40 Size 42
كوتشي حريمي SN-28 مقاس 38 1 210 210
Women's Sneakers SN-28 Size 38
جزمة أطفال K-15 مقاس 29 2 165 330
Kids Shoes K-15 Size 29
الإجمالي قبل الضريبة 635
ضريبة القيمة المضافة 14% 88.90
الاجمالي 723.
base model
لقطة
Laqta Shoes
يئرع رنيا المر، بجوار كوبري كفر الجزار، المكيلو 2، بخها، المقلخ2
6436070-02 :6
الرقم الضريبي: 637-887-20
إيصال بيع نقدي
رقم الفا تورة: 8130352
17.10.2024 : 000
p 9:31 : he hall
المستخدم : احمد
الومف
المكمية
سعر الوحدة
المبلغ
ششب رجا لي SH-40 مقاس 42 زرے
1
95
Men's slippers SH-40 Size 42
95
38
1
210
210
جزمة أطفال K-15 مقا ى و2
2
Rida Shoes K-15 Size 29
165
330
الأهما لي قبل الخريية
مجلسة القيمة المناية 14ة
635
الاجما لي
88.90
723.900
نقد ۱
الممتبقي
800
76.10
this model
لقطة
Laqta Shoes
شارع بنها الحر، بجوار كوبري كفر الجزار، الكيلو 2، بنها، القليوبية
ت: 02-6436070
الرقم الضريبي: 700-887-777
إيصال بيع نقدي
رقم الفاتورة: 8130352
تاريخ: 17.10.2024
الساعة: 9:31 م
المستخدم: أحمد
الوصف
الكمية
سعر الوحدة
المبلغ
شيشب رجالي SH-40 مقاس 42 زوج
1
95
95
Men's slippers SH-40 Size 42
38جراه ويي GN 0 مقاس 38
1
210
210
جزمة أطفال K-15 مقاس 29
2
Rida Shoes K-15 Size 29
165
330
الإجمالي قبل الضريبة
ضريبة القيمة المضافة1%
635
الاجمالي
88.90
جم723.90
نقدا
المتبقي
800
76.10
لمط الخ
reference
محل شريف
محل رقم 18، الدور الأول
سوق العبور التجاري، حي شرق شبرا الخيمة، القليوبية
للاتصال: 01281803735
إيصال بيع
فاتورة رقم: 426/41259 التاريخ: 2025-01-17
الوقت: 4:26 م
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
طقم داخلي حريمي كود ST-900 مقاس XL 1 680 680
بوكسر رجالي كود BX-12 مقاس L 2 65 130
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
الاجمالي 810 L.E
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
طريقة الدفع محفظة إلكترونية
البطاقة **** 4900
~
base model
محل شريف
محل رقم 18. الدور الأول
سوق العجور التجاري، حي شرق شبرا الخيمة، القليوبية
01281803735 13-01
إيمال يهع
فاشور ، رقم : 426/41259
17-01-2025 184,443
الوقت: 4:26 م
طقم د اخلي حريمي كود 900 مقاسی
680
680
يوكسر رجالي كود BX-12 مقگس 1
65
130
الاجما لي
810 L.E
طريقة الدفع
الكترونية
البطاقة.
... 4900
بارك اش لكم ف
this model
محل شريف
محل رقم 18، الدور الأول
سوق العبور التجاري، حي شرق شبرا الخيمة، القليوبية
للاتصال: 01281803735
إيصال بيع
فاتورة رقم: 426/41259
التاريخ: 7
2025-01-1
الوقت: 4:26 م
طقم داخلي حريمي كود SR-900 مقاساس
680
680
65
130
بوكسر رجالي كود BX-12 مقكس L
الاجمالي
810 L.E
طريقة الدفع
محفظة
إلكترونية
... 4900
البطاقة
بارك الله لكم ف
رة
reference
مكتبة عادل
Adel Stationery
فرع سوق زنقة الستات
محل 27، الدور الثاني، سوق زنقة الستات، المنشية، الإسكندرية
إيصال بيع نقدي
Receipt No: 690/61452
Date: 23/05/2025
Time: 21:17
User: عادل
Description Qty Price Amount
Black Marker M-12 1 17.00 17.00
Pocket Notebook 9x14cm 1 12.00 12.00
Mini Stapler S-10 1 32.00 32.00
Clear Tape 18mm 2 8.00 16.00
Total 77.00 EGP
Cash 80.00
Change 3.00
نتشرف بزيارتكم دائماً
VAT included in price
base model
مكتبة عادل
Adel Stationery
فرع سوق زنقة الستات
محل 27، الدور الثاني، سوق زنقة الستات، المنشية، الإسكندرية
إيصال بيع نقدي
Receipt No: 690/61452
Date: 23/05/2025
Time: 21:17
User: عادل
Description
Qty
Price
Amount
Black Marker M-12
1
17.00
17.00
Pocket Notebook 9x14cm
1
12.00
12.00
Mini Stapler S-10
1
32.00
32.00
Clear Tape 18mm
2
8.00
16.00
(77.00 GP
Total
Cash
80.00
Change
3.00
نتشرف بزيارتكم دائماً
VAT included in price
this model
مكتبة عادل
Adel Stationery
فرع سوق زنقة الستات
محل 27، الدور الثاني، سوق زنقة الستات، المنشية، الإسكندرية
إيصال بيع نقدي
Receipt No: 690/61452
Date: 23/05/2025
Time: 21:17
User: عادل
Description
Qty
Price
Amount
Black Marker M-12
1
17.00
17.00
Pocket Notebook 9x14cm
1
12.00
12.00
Mini Stapler S-10
1
32.00
32.00
Clear Tape 18mm
2
8.00
16.00
(77.00 GP
Total
Cash
80.00
Change
3.00
نتشرف بزيارتكم دائماً
VAT included in price
Receipts photographed with a phone, not part of the synthetic dataset. There is no reference text, so there is no CER: this is a visual check only. Red = base model, green = this model.
base model
سول
الیلد
للخضروات والماكهة
01279288557
20:52:5.
11-11-2026
LE/kg/
kg
موز
70.8
40.00
1.770
سفندي كلمنتين
53.2.
25.00
2.130
کا کي
132.6
40.00
3.315
كمئرة
178.8
75.00
2.385
جوافة
53.5
35.00
1.530
489.0
TOTAL
سعدا» بخدمتکم
ئلتو اصل
01204282349
برامج شركة مايف جي
this model
موق البلد
للخشروات والماهية
01279288557
20:52:5.
11-11-2026
LE/kg/
kg
سوز
70.8
40.00
1.770
سفندي كلمنتين
53.2.
25.00
2.130
كاكي
132.6
40.00
3.315
كمترة
178.8
75.00
2.385
جوافة
53.5
35.00
1.530
489.0
TOTAL
ممدا بخدملكم
لللواصل
01204282349
برامج شركة فايف جي