Chapter 1-3

This commit is contained in:
2025-10-12 16:34:11 +02:00
parent 2b5728aa5e
commit 775c263f05
2 changed files with 31 additions and 27 deletions

View File

@@ -4,46 +4,50 @@
**Líneas:** Percepción computacional · Aprendizaje automático **Líneas:** Percepción computacional · Aprendizaje automático
**Autor:** Sergio Jiménez Jiménez · **UNIR** · **Año:** 2025 **Autor:** Sergio Jiménez Jiménez · **UNIR** · **Año:** 2025
> Extracción **robusta** de texto desde **PDFs escaneados** en **español** usando **modelos neuronales** (EasyOCR · PaddleOCR/PPOCR · TrOCR · *opcionales*: DocTR/MMOCR). > Extracción de texto desde **PDFs escaneados** en **español** mediante **motores OCR basados en IA** (EasyOCR · PaddleOCR · DocTR).
> Enfoque **solo IA**: **no** se incluyen motores clásicos (p. ej., Tesseract) ni propietarios (p. ej., ABBYY). > Se excluyen soluciones clásicas como **Tesseract** o propietarias como **ABBYY**, centrando el proyecto en modelos neuronales modernos.
--- ---
## 🧭 Objetivo ## 🧭 Objetivo
Desarrollar y evaluar un **sistema OCR multimotor** basado **exclusivamente** en IA que: Desarrollar y evaluar un **sistema OCR multimotor** capaz de:
- Procese PDFs escaneados extremo a extremo (**PDF → Imagen → Preproc → OCR → Fusión → Post-proc**). - Procesar PDFs escaneados extremo a extremo (**PDF → Imagen → Preprocesado → OCR → Evaluación**).
- **Mejore ≥15% el CER** frente a una **línea base neuronal** (p. ej., EasyOCR por defecto) en un conjunto de prueba en español. - **Reducir el CER al menos un 15 %** respecto a una línea base neuronal (EasyOCR).
- Mantenga **tiempos por página** prácticos y un **pipeline reproducible**. - Mantener **tiempos por página** adecuados y un pipeline **modular y reproducible**.
**Métricas principales:** **Métricas principales:**
- **CER** (Character Error Rate) - **CER** (*Character Error Rate*)
- **WER** (Word Error Rate) - **WER** (*Word Error Rate*)
- **Latencia** por página - **Latencia por página*
--- ---
## 🧩 Alcance y decisiones de diseño ## 🧩 Alcance y diseño
- **Idioma:** español (texto impreso; no manuscrito). - **Idioma:** español (texto impreso, no manuscrito).
- **Documentos:** **PDFs escaneados** (calidad variable, skew, ruido, maquetación estándar). - **Entrada:** PDFs escaneados con calidad variable, ruido o inclinación.
- **Motores IA incluidos:** - **Motores evaluados:**
- **EasyOCR** (baseline neuronal) - **EasyOCR** baseline neuronal ligera.
- **PaddleOCR (PPOCR)** - **PaddleOCR (PP-OCR)** referencia industrial multilingüe.
- **TrOCR** (VisionEncoderDecoder / Transformers) - **DocTR (Mindee)** arquitectura PyTorch modular con salida estructurada.
- *Opcionales:* **DocTR** (pythondoctr), **MMOCR** (OpenMMLab) - **Evaluación:** CER, WER y latencia promedio por página.
- **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).
--- ---
## 🏗️ Arquitectura (visión general) ## 🏗️ Arquitectura del sistema
```text ```text
PDF (escaneado) PDF (escaneado)
└─► Conversión a imagen (PyMuPDF / pdf2image) └─► Conversión a imagen (PyMuPDF / pdf2image)
└─► Preprocesado (OpenCV): binarización · normalización · deskew · denoise └─► Preprocesado (OpenCV)
└─► OCR (IA): EasyOCR | PaddleOCR | TrOCR [ (+ DocTR/MMOCR opc.) ] └─► OCR (EasyOCR | PaddleOCR | DocTR)
└─► Fusión: votación / selección por confianza └─► Evaluación (CER · WER · latencia)
└─► Postprocesado: normalización · corrección ortográfica (opcional) ```
└─► 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.

Binary file not shown.