2025-10-12 14:35:21 +00:00
|
|
|
|
# Sistema OCR multimotor con IA para PDFs escaneados en español
|
2025-10-08 09:45:22 +02:00
|
|
|
|
|
2025-10-12 14:35:21 +00: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-12 14:35:21 +00:00
|
|
|
|
> Extracción de texto desde **PDFs escaneados** en **español** mediante **motores OCR basados en IA** (EasyOCR · PaddleOCR · DocTR).
|
|
|
|
|
|
> Se excluyen soluciones clásicas como **Tesseract** o propietarias como **ABBYY**, centrando el proyecto en modelos neuronales modernos.
|
2025-10-08 09:45:22 +02:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2025-10-12 14:35:21 +00:00
|
|
|
|
## 🧭 Objetivo
|
2025-10-08 09:45:22 +02:00
|
|
|
|
|
2025-10-12 14:35:21 +00:00
|
|
|
|
Desarrollar y evaluar un **sistema OCR multimotor** capaz de:
|
|
|
|
|
|
- Procesar PDFs escaneados extremo a extremo (**PDF → Imagen → Preprocesado → OCR → Evaluación**).
|
|
|
|
|
|
- **Reducir el CER al menos un 15 %** respecto a una línea base neuronal (EasyOCR).
|
|
|
|
|
|
- Mantener **tiempos por página** adecuados y un pipeline **modular y 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-12 14:35:21 +00:00
|
|
|
|
## 🧩 Alcance y diseño
|
2025-10-08 09:45:22 +02:00
|
|
|
|
|
2025-10-12 14:35:21 +00:00
|
|
|
|
- **Idioma:** español (texto impreso, no manuscrito).
|
|
|
|
|
|
- **Entrada:** PDFs escaneados con calidad variable, ruido o inclinación.
|
|
|
|
|
|
- **Motores evaluados:**
|
|
|
|
|
|
- **EasyOCR** – baseline neuronal ligera.
|
|
|
|
|
|
- **PaddleOCR (PP-OCR)** – referencia industrial multilingüe.
|
|
|
|
|
|
- **DocTR (Mindee)** – arquitectura PyTorch modular con salida estructurada.
|
|
|
|
|
|
- **Evaluación:** CER, WER y latencia promedio por página.
|
2025-10-08 09:45:22 +02:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2025-10-12 14:35:21 +00:00
|
|
|
|
## 🏗️ Arquitectura del sistema
|
|
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
|
PDF (escaneado)
|
|
|
|
|
|
└─► Conversión a imagen (PyMuPDF / pdf2image)
|
|
|
|
|
|
└─► Preprocesado (OpenCV)
|
|
|
|
|
|
└─► OCR (EasyOCR | PaddleOCR | DocTR)
|
|
|
|
|
|
└─► Evaluación (CER · WER · latencia)
|
|
|
|
|
|
```
|
2025-10-08 09:45:22 +02:00
|
|
|
|
|
2025-10-12 14:35:21 +00:00
|
|
|
|
## 🔜 Próximos pasos
|
2025-09-23 10:14:19 +00:00
|
|
|
|
|
2025-10-12 14:35:21 +00:00
|
|
|
|
1. Ajustar parámetros y arquitecturas en DocTR (detector y reconocedor).
|
|
|
|
|
|
2. Añadir métricas de latencia.
|
|
|
|
|
|
3. Incorporar postprocesamiento lingüístico (corrección ortográfica).
|
|
|
|
|
|
4. Explorar TrOCR o MMOCR como comparación avanzada en la segunda fase.
|