This is a PaddleOCR-VL Finetune specialized in the 68 indigenous languages of Mexico and their diverse character and glyph repertoire making a world first in tech access and linguistic rights
1from paddleocr import PaddleOCRVL
2
3# Load the fine-tuned model
4pipeline = PaddleOCRVL(
5 vl_rec_model_name="tachiwin/Tachiwin-OCR-1.5",
6 vl_rec_model_dir=path_to_tachiwin_downloaded_model,
7)
8
9# Predict on an image
10output = pipeline.predict("test.png")
11
12for res in output:
13 res.print()
14 res.save_to_json(save_path="output")
15 res.save_to_markdown(save_path="output")
1from PIL import Image
2import torch
3from transformers import AutoModelForCausalLM, AutoProcessor
4
5MODEL = "tachiwin/Tachiwin-OCR-1.5"
6image_path = "my_image.png"
7
8DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
9
10image = Image.open(image_path).convert("RGB")
11
12model = AutoModelForCausalLM.from_pretrained(
13 MODEL,
14 trust_remote_code=True,
15 torch_dtype=torch.bfloat16
16).to(DEVICE).eval()
17processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True)
18
19messages = [
20 {"role": "user", "content": [
21 {"type": "image", "image": image},
22 {"type": "text", "text": "OCR:"},
23 ]}
24]
25
26inputs = processor.apply_chat_template(
27 messages,
28 tokenize=True,
29 add_generation_prompt=True,
30 return_dict=True,
31 return_tensors="pt"
32).to(DEVICE)
33
34outputs = model.generate(**inputs, max_new_tokens=1024, min_new_tokens=1)
35generated_text = processor.batch_decode(outputs, skip_special_tokens=True)[0]
36
37print(generated_text)
Tachiwin-OCR 1.5 was evaluated against the base PaddleOCR-VL 1.5 model using a diverse subset of Indigenous language samples. The fine-tuning results demonstrate dramatic improvements in both character and word recognition accuracy — far surpassing the gains seen in version 1.0.
Results across 21 language samples. Languages with tonal or complex diacritic systems show the most dramatic improvements:
-
Unprecedented Accuracy Gains: 14 out of 21 languages achieved a fine-tuned CER of 0.00%, meaning perfect character-level recognition on those samples — a result not seen in v1.0.
-
Hardest Cases Tackled: Languages like Amuzgo (amu) and Zapotec (zao, sample 11) started with CERs above 85–93% and were reduced to zero after fine-tuning, representing improvements of over 85 and 93 percentage points respectively.
-
Remaining Challenges: mto (Totontepec Mixe) remains the most difficult language in the set, with a fine-tuned CER of 32.47% — still a 65% relative improvement over its raw baseline, but indicating further work is needed for highly complex orthographies.
-
Word-Level Leap: WER dropped from 38.59% to just 3.60% — a 34.98 percentage point absolute improvement, compared to only 7.81pp in v1.0, demonstrating a qualitative leap in the model's ability to reconstruct full word forms in these language families.
-
Robustness: The model continues to show high resilience against synthetic distortions applied during the data generation phase.
Tachiwin (from Totonac - "Language") is dedicated to bridging
the digital divide for indigenous languages of Mexico through AI technology.
-
Developed by: Tachiwin
-
License: apache-2.0
-
Finetuned from model : PaddlePaddle/PaddleOCR-VL-1.5
This paddleocr_vl model was trained 2x faster with
Unsloth