trOCR: Revolucionant el reconeixement de text amb Transformers
Assoleix precisió a nivell humà en l'extracció de text de contingut imprès, manuscrit i multilingüe.
Què és l'API trOCR?
trOCR (Optical Character Recognition basat en Transformers) és un model OCR innovador de Microsoft que aprofita l'arquitectura Transformer per oferir una precisió sense precedents en el reconeixement de text. A diferència dels sistemes OCR tradicionals que es basen únicament en xarxes convolucionals, trOCR combina vision transformers (ViTs) amb modelatge seqüència-a-seqüència, permetent entendre el context i les relacions espacials en el text, fins i tot per a entrades complexes com notes manuscrites, escaneigs de baixa resolució o escriptures complexes.
Avantatges clau de trOCR:
- Reconeixement com humà: Excel·lent en lectura d'escriptura manual i text distorsionat
- Suport multilingüe: Models pre-entrenats per a anglès, francès, alemany i més
- Procés integral: Combina detecció i reconeixement de text
- Fàcil integració: Basat en la biblioteca Hugging Face Transformers
Per què triar trOCR?
- 15-20% més precís que models basats en CNN
- Més del 90% de precisió en text manuscrit
- Mínim preprocessament necessari
- Processament eficient en GPU
Instal·lació
trOCR requereix PyTorch o TensorFlow i la biblioteca Hugging Face Transformers:
Instal·la amb PyTorch (recomanat GPU)
pip install transformers torch torchvision
pip install datasets # Opcional
Nota: Els models ocupen ~1.5GB d'espai
Exemples de codi
Reconeixement de text manuscrit
Llegir escriptura manual
from transformers import TrOCRProcessor, VisionEncoderDecoderModel
from PIL import Image
processor = TrOCRProcessor.from_pretrained("microsoft/trocr-base-handwritten")
model = VisionEncoderDecoderModel.from_pretrained("microsoft/trocr-base-handwritten")
image = Image.open("handwritten.jpg").convert("RGB")
pixel_values = processor(image, return_tensors="pt").pixel_values
generated_ids = model.generate(pixel_values)
text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(f"Text: {text}")
Processament de documents impresos
Processar documents
from transformers import pipeline
from PIL import Image
ocr = pipeline("image-to-text", model="microsoft/trocr-base-printed")
image = Image.open("document.png").convert("RGB")
results = ocr(image)
for item in results:
print(item['generated_text'])
Ús avançat
- Millora la qualitat d'imatge amb OpenCV
- Entrena el model amb les teves pròpies dades
Aplicacions
- Digitalització d'arxius històrics
- Processament de factures i documents legals
- Accessibilitat per a persones amb discapacitat visual
Productes Similars
- API de spaCy - Processament del Llenguatge Natural a Nivell Industrial
- API docTR – Reconeixement Òptic de Caràcters a Python
- EasyOCR API - Reconeixement Òptic de Caràcters (OCR) complet en Python
- pdfminer.six Biblioteca Python | Extreu text dels PDF
- PyMuPDF Python API | Anàlisi i extracció avançada de PDF