2025-10-11 17:25:29 +02:00
|
|
|
|
# Sistema OCR multimotor con IA para PDFs escaneados en español
|
2025-10-08 09:45:22 +02:00
|
|
|
|
|
2025-10-11 17:25:29 +02:00
|
|
|
|
**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
|
2025-10-08 09:46:57 +02:00
|
|
|
|
|
2025-10-11 17:25:29 +02:00
|
|
|
|
> Extracción **robusta** de texto desde **PDFs escaneados** en **español** usando **modelos neuronales** (EasyOCR · PaddleOCR/PP‑OCR · TrOCR · *opcionales*: DocTR/MMOCR).
|
|
|
|
|
|
> Enfoque **solo IA**: **no** se incluyen motores clásicos (p. ej., Tesseract) ni propietarios (p. ej., ABBYY).
|
2025-10-08 09:45:22 +02:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2025-10-11 17:25:29 +02:00
|
|
|
|
## 🧭 Objetivo
|
2025-10-08 09:45:22 +02:00
|
|
|
|
|
2025-10-11 17:25:29 +02:00
|
|
|
|
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
|
2025-10-08 09:45:22 +02:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2025-10-11 17:25:29 +02:00
|
|
|
|
## 🧩 Alcance y decisiones de diseño
|
2025-10-08 09:45:22 +02:00
|
|
|
|
|
2025-10-11 17:25:29 +02:00
|
|
|
|
- **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 (PP‑OCR)**
|
|
|
|
|
|
- **TrOCR** (Vision‑Encoder‑Decoder / Transformers)
|
|
|
|
|
|
- *Opcionales:* **DocTR** (python‑doctr), **MMOCR** (OpenMMLab)
|
|
|
|
|
|
- **Exclusiones:** Tesseract/ABBYY u otros motores clásicos/propietarios.
|
|
|
|
|
|
- **Evaluación:** CER/WER + tiempos. **Fusión** por votación/ confianza y **post‑procesado** lingüístico (opcional).
|
2025-10-08 09:45:22 +02:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2025-10-11 17:25:29 +02:00
|
|
|
|
## 🏗️ Arquitectura (visión general)
|
2025-09-23 10:14:19 +00:00
|
|
|
|
|
2025-10-11 17:25:29 +02:00
|
|
|
|
```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
|
|
|
|
|
|
└─► Post‑procesado: normalización · corrección ortográfica (opcional)
|
|
|
|
|
|
└─► Evaluación: CER · WER · latencia
|