ocr_paddle

This commit is contained in:
2025-10-11 17:25:29 +02:00
parent a330cd72ef
commit a8100f6384
2 changed files with 222 additions and 114 deletions

View File

@@ -1,31 +1,49 @@
# 🧠 Intelligent OCR System for Scanned PDF Documents
# Sistema OCR multimotor con IA para PDFs escaneados en español
**Masters Thesis Software Development Project**
**Línea de trabajo:** Percepción computacional & Aprendizaje automático
**Author:** Sergio Jiménez
**Institution:** [UNIR - Universidad Internacional de La Rioja](https://www.unir.net/ingenieria/master-inteligencia-artificial/)
**Trabajo Fin de Máster (TFM) Tipo 2: Desarrollo de Software**
**Líneas:** Percepción computacional · Aprendizaje automático
**Autor:** Sergio Jiménez Jiménez · **UNIR** · **Año:** 2025
**Date:** 2025
> Extracción **robusta** de texto desde **PDFs escaneados** en **español** usando **modelos neuronales** (EasyOCR · PaddleOCR/PPOCR · TrOCR · *opcionales*: DocTR/MMOCR).
> Enfoque **solo IA**: **no** se incluyen motores clásicos (p. ej., Tesseract) ni propietarios (p. ej., ABBYY).
---
## 📘 Overview
## 🧭 Objetivo
This project develops an **intelligent system for text extraction from scanned PDF documents**, combining **computer vision techniques** and **modern OCR models based on deep learning**.
The goal is to overcome the limitations of traditional OCR tools (e.g., Tesseract) when dealing with **low-quality, skewed, or noisy scanned documents**, particularly in **Spanish**.
Desarrollar y evaluar un **sistema OCR multimotor** basado **exclusivamente** en IA que:
- Procese PDFs escaneados extremo a extremo (**PDF → Imagen → Preproc → OCR → Fusión → Post-proc**).
- **Mejore ≥15% el CER** frente a una **línea base neuronal** (p. ej., EasyOCR por defecto) en un conjunto de prueba en español.
- Mantenga **tiempos por página** prácticos y un **pipeline reproducible**.
**Métricas principales:**
- **CER** (Character Error Rate)
- **WER** (Word Error Rate)
- **Latencia** por página
---
## 🎯 Objectives
## 🧩 Alcance y decisiones de diseño
- Develop a **modular OCR pipeline** that processes scanned PDFs end-to-end.
- Compare classical OCR tools with **state-of-the-art deep learning approaches** (EasyOCR, TrOCR, CRNN).
- Evaluate performance using **Character Error Rate (CER)** and **Word Error Rate (WER)**.
- Provide a **CLI-based demonstration tool** and analysis module for automated evaluation.
- **Idioma:** español (texto impreso; no manuscrito).
- **Documentos:** **PDFs escaneados** (calidad variable, skew, ruido, maquetación estándar).
- **Motores IA incluidos:**
- **EasyOCR** (baseline neuronal)
- **PaddleOCR (PPOCR)**
- **TrOCR** (VisionEncoderDecoder / Transformers)
- *Opcionales:* **DocTR** (pythondoctr), **MMOCR** (OpenMMLab)
- **Exclusiones:** Tesseract/ABBYY u otros motores clásicos/propietarios.
- **Evaluación:** CER/WER + tiempos. **Fusión** por votación/ confianza y **postprocesado** lingüístico (opcional).
---
## 🧩 System Architecture
TODO
## 🏗️ Arquitectura (visión general)
```text
PDF (escaneado)
└─► Conversión a imagen (PyMuPDF / pdf2image)
└─► Preprocesado (OpenCV): binarización · normalización · deskew · denoise
└─► OCR (IA): EasyOCR | PaddleOCR | TrOCR [ (+ DocTR/MMOCR opc.) ]
└─► Fusión: votación / selección por confianza
└─► Postprocesado: normalización · corrección ortográfica (opcional)
└─► Evaluación: CER · WER · latencia