Files
MastersThesis/README.md
2025-10-12 16:34:11 +02:00

54 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Sistema OCR multimotor con IA para PDFs escaneados en español
**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
> 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.
---
## 🧭 Objetivo
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*
---
## 🧩 Alcance y diseño
- **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.
---
## 🏗️ Arquitectura del sistema
```text
PDF (escaneado)
└─► Conversión a imagen (PyMuPDF / pdf2image)
└─► Preprocesado (OpenCV)
└─► OCR (EasyOCR | PaddleOCR | DocTR)
└─► Evaluación (CER · WER · latencia)
```
## 🔜 Próximos pasos
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.