Documentation review and data consistency.
Some checks failed
build_docker / essential (push) Successful in 0s
build_docker / build_paddle_ocr (push) Successful in 4m57s
build_docker / build_raytune (push) Has been cancelled
build_docker / build_easyocr_gpu (push) Has been cancelled
build_docker / build_doctr (push) Has been cancelled
build_docker / build_doctr_gpu (push) Has been cancelled
build_docker / build_paddle_ocr_gpu (push) Has been cancelled
build_docker / build_easyocr (push) Has been cancelled

This commit is contained in:
2026-01-24 15:53:34 +01:00
parent 9ee2490097
commit 0089b34cb3
48 changed files with 1030 additions and 930 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
@@ -128,8 +128,7 @@ Las arquitecturas más utilizadas para detección de texto incluyen:
| EAST | Single-shot | Cuadriláteros rotados | Rápido, simple | Dificultad con texto curvo |
| 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)
@@ -156,8 +155,7 @@ La arquitectura CRNN consta de tres componentes:
| SVTR | ViT | Linear | CTC | Sin recurrencia |
| 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 +181,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,7 +189,7 @@ 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
@@ -301,8 +295,7 @@ PaddleOCR expone numerosos hiperparámetros que permiten ajustar el comportamien
| `text_det_box_thresh` | Umbral de confianza para cajas detectadas | [0.0, 1.0] | 0.6 |
| `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.*
@@ -311,8 +304,7 @@ PaddleOCR expone numerosos hiperparámetros que permiten ajustar el comportamien
| `text_rec_score_thresh` | Umbral de confianza para resultados | [0.0, 1.0] | 0.5 |
| `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.*
@@ -321,8 +313,7 @@ PaddleOCR expone numerosos hiperparámetros que permiten ajustar el comportamien
| `use_doc_orientation_classify` | Clasificación de orientación del documento | Alto para documentos escaneados |
| `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 +357,22 @@ 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 |
*Fuente: Elaboración propia.*
| Requisitos de memoria | Bajos | Medios | Medios |
Fuente: Elaboración propia a partir de documentación oficial.
### Optimización de Hiperparámetros
@@ -544,7 +533,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 +541,10 @@ 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 |
*Fuente: Elaboración propia a partir de repositorios oficiales.*
| 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.
#### Limitaciones de Recursos para Español
@@ -568,6 +556,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:
@@ -585,15 +575,14 @@ Los trabajos previos en OCR para español se han centrado principalmente en:
| Romero et al. (2013) | HTR histórico | Modelos HMM para manuscritos |
| 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
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 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 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.