deliberable_04_01_2026
All checks were successful
build_docker / essential (push) Successful in 1s
build_docker / build_paddle_ocr (push) Successful in 5m12s
build_docker / build_paddle_ocr_gpu (push) Successful in 20m54s
build_docker / build_easyocr (push) Successful in 18m19s
build_docker / build_doctr (push) Successful in 19m49s
build_docker / build_easyocr_gpu (push) Successful in 24m6s
build_docker / build_raytune (push) Successful in 4m10s
build_docker / build_doctr_gpu (push) Successful in 16m26s

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-04 18:43:22 +01:00
parent 9ee2490097
commit d746a3c73f
55 changed files with 2273 additions and 1720 deletions

View File

@@ -1,6 +1,6 @@
# Contexto y estado del arte
Para comprender el alcance y las decisiones tomadas en este trabajo, es necesario situarlo en su contexto tecnológico. El Reconocimiento Óptico de Caracteres ha recorrido un largo camino desde los primeros sistemas de plantillas de los años 50 hasta las sofisticadas arquitecturas de aprendizaje profundo actuales. A lo largo de este capítulo se revisan los fundamentos técnicos del OCR moderno, se analizan las principales soluciones de código abierto y se identifican los vacíos en la literatura que motivan la contribución de este trabajo.
Para comprender el alcance y las decisiones tomadas en este trabajo, es necesario situarlo en su contexto tecnológico. El Reconocimiento Óptico de Caracteres ha recorrido un largo camino desde los primeros sistemas de plantillas de los años 50 hasta las sofisticadas arquitecturas de aprendizaje profundo actuales. A lo largo de este capítulo se revisan los fundamentos técnicos del OCR moderno. Se analizan las principales soluciones de código abierto y se identifican los vacíos en la literatura que motivan la contribución de este trabajo.
## Contexto del problema
@@ -129,7 +129,7 @@ Las arquitecturas más utilizadas para detección de texto incluyen:
| CRAFT | Bottom-up | Polígonos de palabra | Robusto a espaciado | Mayor coste computacional |
| DB | Segmentación | Polígonos arbitrarios | Rápido, preciso | Sensible a parámetros |
*Fuente: Elaboración propia a partir de Zhou et al. (2017), Baek et al. (2019), Liao et al. (2020).*
**Fuente:** Elaboración propia a partir de Zhou et al. (2017), Baek et al. (2019), Liao et al. (2020).
#### Etapa 2: Reconocimiento de Texto (Text Recognition)
@@ -157,7 +157,7 @@ La arquitectura CRNN consta de tres componentes:
| Attention-based | CNN | LSTM+Attn | Cross-entropy | Flexible longitud |
| TrOCR | ViT | Transformer | Cross-entropy | Estado del arte |
*Fuente: Elaboración propia a partir de Shi et al. (2016), Du et al. (2022), Li et al. (2023).*
**Fuente:** Elaboración propia a partir de Shi et al. (2016), Du et al. (2022), Li et al. (2023).
### Métricas de Evaluación
@@ -183,11 +183,7 @@ Donde:
- I = número de inserciones de caracteres
- N = número total de caracteres en el texto de referencia
Un CER del 1% indica que, en promedio, 1 de cada 100 caracteres contiene un error. Para aplicaciones críticas como:
- **Documentos financieros**: Se requiere CER < 0.1%
- **Documentos médicos**: Se requiere CER < 0.5%
- **Documentos académicos**: CER < 2% es aceptable
- **Búsqueda y archivo**: CER < 5% puede ser suficiente
Un CER bajo indica que el sistema comete pocos errores a nivel de carácter. Para aplicaciones críticas se requiere un nivel de error muy reducido, mientras que en tareas de búsqueda o archivo pueden aceptarse errores mayores.
#### Word Error Rate (WER)
@@ -195,11 +191,11 @@ El WER mide el error a nivel de palabra, utilizando la misma fórmula pero consi
$$WER = \frac{S_w + D_w + I_w}{N_w}$$
El WER es generalmente mayor que el CER, ya que un solo error de carácter puede invalidar una palabra completa. La relación típica es WER ≈ 2-3 × CER para texto en español.
El WER es generalmente mayor que el CER, ya que un solo error de carácter puede invalidar una palabra completa. Esta diferencia es relevante cuando se comparan sistemas que preservan caracteres pero pierden palabras completas.
#### Otras Métricas Complementarias
**Precision y Recall a nivel de palabra**: Útiles cuando se evalúa la capacidad del sistema para detectar palabras específicas.
**Precisión y Recall a nivel de palabra**: Útiles cuando se evalúa la capacidad del sistema para detectar palabras específicas.
**Bag-of-Words Accuracy**: Mide la proporción de palabras correctamente reconocidas independientemente de su orden.
@@ -302,7 +298,7 @@ PaddleOCR expone numerosos hiperparámetros que permiten ajustar el comportamien
| `text_det_unclip_ratio` | Factor de expansión de cajas detectadas | [0.0, 3.0] | 1.5 |
| `text_det_limit_side_len` | Tamaño máximo del lado de imagen | [320, 2560] | 960 |
*Fuente: Documentación oficial de PaddleOCR (PaddlePaddle, 2024).*
**Fuente:** Documentación oficial de PaddleOCR (PaddlePaddle, 2024).
**Tabla 7.** *Hiperparámetros de reconocimiento de PaddleOCR.*
@@ -312,7 +308,7 @@ PaddleOCR expone numerosos hiperparámetros que permiten ajustar el comportamien
| `use_textline_orientation` | Activar clasificación de orientación de línea | {True, False} | False |
| `rec_batch_size` | Tamaño de batch para reconocimiento | [1, 64] | 6 |
*Fuente: Documentación oficial de PaddleOCR (PaddlePaddle, 2024).*
**Fuente:** Documentación oficial de PaddleOCR (PaddlePaddle, 2024).
**Tabla 8.** *Hiperparámetros de preprocesamiento de PaddleOCR.*
@@ -322,7 +318,7 @@ PaddleOCR expone numerosos hiperparámetros que permiten ajustar el comportamien
| `use_doc_unwarping` | Corrección de deformación/curvatura | Alto para fotos de documentos |
| `use_angle_cls` | Clasificador de ángulo 0°/180° | Medio para documentos rotados |
*Fuente: Documentación oficial de PaddleOCR (PaddlePaddle, 2024).*
**Fuente:** Documentación oficial de PaddleOCR (PaddlePaddle, 2024).
**Fortalezas de PaddleOCR**:
- Alta precisión en múltiples benchmarks
@@ -366,24 +362,24 @@ DocTR (Document Text Recognition) es una biblioteca desarrollada por Mindee (202
| **Framework** | PyTorch | PaddlePaddle | TF/PyTorch |
| **Detector** | CRAFT | DB | DB/LinkNet |
| **Reconocedor** | CRNN | SVTR/CRNN | CRNN/SAR/ViTSTR |
| **Idiomas** | 80+ | 80+ | 9 |
| **Idiomas** | Multilingüe | Multilingüe | Limitado |
| **Configurabilidad** | Baja | Alta | Media |
| **Documentación** | Media | Alta (CN) | Alta (EN) |
| **Actividad** | Media | Alta | Media |
| **Licencia** | Apache 2.0 | Apache 2.0 | Apache 2.0 |
*Fuente: Elaboración propia a partir de documentación oficial (2024).*
**Fuente:** Elaboración propia a partir de documentación oficial (2024).
**Tabla 10.** *Comparativa de facilidad de uso.*
| Aspecto | EasyOCR | PaddleOCR | DocTR |
|---------|---------|-----------|-------|
| Instalación | `pip install` | `pip install` | `pip install` |
| Líneas para OCR básico | 3 | 5 | 6 |
| Complejidad de uso | Baja | Media | Media |
| GPU requerida | Opcional | Opcional | Opcional |
| Memoria mínima | 2 GB | 4 GB | 4 GB |
| Requisitos de memoria | Bajos | Medios | Medios |
*Fuente: Elaboración propia.*
**Fuente:** Elaboración propia a partir de documentación oficial.
### Optimización de Hiperparámetros
@@ -544,7 +540,7 @@ Los principales recursos para evaluación de OCR en español incluyen:
**FUNSD-ES**: Versión en español del Form Understanding in Noisy Scanned Documents dataset. Contiene formularios escaneados con anotaciones de texto y estructura.
**MLT (ICDAR Multi-Language Text)**: Dataset multilingüe de las competiciones ICDAR que incluye muestras en español. Las ediciones 2017 y 2019 contienen texto en escenas naturales.
**MLT (ICDAR Multi-Language Text)**: Dataset multilingüe de las competiciones ICDAR que incluye muestras en español. Las ediciones recientes contienen texto en escenas naturales.
**XFUND**: Dataset de comprensión de formularios en múltiples idiomas, incluyendo español, con anotaciones de entidades y relaciones.
@@ -552,11 +548,11 @@ Los principales recursos para evaluación de OCR en español incluyen:
| Dataset | Tipo | Idiomas | Tamaño | Uso principal |
|---------|------|---------|--------|---------------|
| FUNSD-ES | Formularios | ES | ~200 docs | Document understanding |
| MLT 2019 | Escenas | Multi (incl. ES) | 10K imgs | Text detection |
| XFUND | Formularios | 7 (incl. ES) | 1.4K docs | Information extraction |
| FUNSD-ES | Formularios | ES | Pequeño | Document understanding |
| MLT | Escenas | Multi (incl. ES) | Medio | Text detection |
| XFUND | Formularios | Multi (incl. ES) | Medio | Information extraction |
*Fuente: Elaboración propia a partir de repositorios oficiales.*
**Fuente:** Elaboración propia a partir de repositorios oficiales.
#### Limitaciones de Recursos para Español
@@ -568,6 +564,8 @@ Comparado con inglés y chino, el español cuenta con:
Esta escasez de recursos específicos para español motivó la creación de un dataset propio basado en documentos académicos de UNIR para este trabajo.
Además, se priorizó un dataset propio aunque fuera de tamaño reducido porque el objetivo era evaluar texto académico en un formato sencillo y reproducible (texto plano con índice), sin tablas ni estructuras complejas. Ese perfil no está bien cubierto por datasets públicos centrados en formularios o escenas naturales, por lo que se optó por un corpus controlado y alineado con el dominio del TFM.
#### Trabajos Previos en OCR para Español
Los trabajos previos en OCR para español se han centrado principalmente en:
@@ -586,14 +584,12 @@ Los trabajos previos en OCR para español se han centrado principalmente en:
| Bulatov et al. (2020) | Documentos ID | Pipeline especializado |
| Fischer et al. (2012) | Multilingual | Transferencia entre idiomas |
*Fuente: Elaboración propia.*
**Fuente:** Elaboración propia.
La optimización de hiperparámetros para documentos académicos en español representa una contribución original de este trabajo, abordando un nicho no explorado en la literatura.
## Conclusiones del capítulo
En síntesis, la revisión del estado del arte revela un panorama en el que las herramientas técnicas están maduras, pero su aplicación óptima para dominios específicos permanece poco explorada. Los sistemas OCR modernos, como PaddleOCR, EasyOCR y DocTR, ofrecen arquitecturas sofisticadas basadas en aprendizaje profundo que alcanzan resultados impresionantes en benchmarks estándar. Sin embargo, estos resultados no siempre se trasladan a documentos del mundo real, especialmente en idiomas con menos recursos como el español.
La revisión del estado del arte revela un panorama en el que las herramientas técnicas están maduras, pero su aplicación óptima para dominios específicos permanece poco explorada. Los sistemas OCR modernos —PaddleOCR, EasyOCR, DocTR— ofrecen arquitecturas sofisticadas basadas en aprendizaje profundo que alcanzan resultados impresionantes en benchmarks estándar. Sin embargo, estos resultados no siempre se trasladan a documentos del mundo real, especialmente en idiomas con menos recursos como el español.
La evolución desde los sistemas de plantillas de los años 50 hasta los Transformers actuales ha sido espectacular, pero ha generado sistemas con decenas de hiperparámetros configurables cuyos valores por defecto representan compromisos generales, no configuraciones óptimas para dominios específicos. La literatura abunda en trabajos sobre entrenamiento y fine-tuning de modelos OCR, pero dedica poca atención a la optimización sistemática de los parámetros de inferencia —umbrales de detección, opciones de preprocesamiento, filtros de confianza— que pueden marcar la diferencia entre un sistema usable y uno que requiere corrección manual extensiva.
La evolución desde los sistemas de plantillas de los años 50 hasta los Transformers actuales ha sido espectacular, pero ha generado sistemas con decenas de hiperparámetros configurables cuyos valores por defecto representan compromisos generales, no configuraciones óptimas para dominios específicos. La literatura abunda en trabajos sobre entrenamiento y fine-tuning de modelos OCR, pero dedica poca atención a la optimización sistemática de los parámetros de inferencia, como umbrales de detección, opciones de preprocesamiento y filtros de confianza, que pueden marcar la diferencia entre un sistema usable y uno que requiere corrección manual extensiva.
Este vacío, combinado con las particularidades del español (acentos, eñes, signos invertidos) y la escasez de recursos específicos para este idioma, define el espacio de contribución del presente trabajo. Frameworks como Ray Tune y Optuna proporcionan las herramientas para abordar esta optimización de manera sistemática; PaddleOCR, con su pipeline altamente configurable, ofrece el sustrato técnico adecuado. El siguiente capítulo traduce esta oportunidad en objetivos concretos y una metodología experimental rigurosa.