Documentation review. (#5)
All checks were successful
build_docker / essential (push) Successful in 0s
build_docker / build_paddle_ocr (push) Successful in 5m28s
build_docker / build_paddle_ocr_gpu (push) Successful in 21m16s
build_docker / build_easyocr (push) Successful in 15m52s
build_docker / build_easyocr_gpu (push) Successful in 18m22s
build_docker / build_doctr (push) Successful in 19m3s
build_docker / build_raytune (push) Successful in 3m34s
build_docker / build_doctr_gpu (push) Successful in 13m56s
All checks were successful
build_docker / essential (push) Successful in 0s
build_docker / build_paddle_ocr (push) Successful in 5m28s
build_docker / build_paddle_ocr_gpu (push) Successful in 21m16s
build_docker / build_easyocr (push) Successful in 15m52s
build_docker / build_easyocr_gpu (push) Successful in 18m22s
build_docker / build_doctr (push) Successful in 19m3s
build_docker / build_raytune (push) Successful in 3m34s
build_docker / build_doctr_gpu (push) Successful in 13m56s
This commit was merged in pull request #5.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Contexto y estado del arte
|
||||
|
||||
Este capítulo presenta el marco teórico y tecnológico en el que se desarrolla el presente trabajo. Se revisan los fundamentos del Reconocimiento Óptico de Caracteres (OCR), la evolución de las técnicas basadas en aprendizaje profundo, las principales soluciones de código abierto disponibles y los trabajos previos relacionados con la optimización de sistemas OCR.
|
||||
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
|
||||
|
||||
@@ -62,6 +62,13 @@ Los sistemas OCR modernos siguen típicamente un pipeline de dos etapas principa
|
||||
```mermaid
|
||||
---
|
||||
title: "Pipeline de un sistema OCR moderno"
|
||||
config:
|
||||
theme: base
|
||||
themeVariables:
|
||||
primaryColor: "#E6F4F9"
|
||||
primaryTextColor: "#404040"
|
||||
primaryBorderColor: "#0098CD"
|
||||
lineColor: "#0098CD"
|
||||
---
|
||||
flowchart LR
|
||||
subgraph Input
|
||||
@@ -114,7 +121,7 @@ Las arquitecturas más utilizadas para detección de texto incluyen:
|
||||
|
||||
**DB (Differentiable Binarization)**: Propuesto por Liao et al. (2020), DB introduce una operación de binarización diferenciable que permite entrenar end-to-end un detector de texto basado en segmentación. Esta arquitectura es la utilizada por PaddleOCR y destaca por su velocidad y precisión.
|
||||
|
||||
**Tabla 1.** *Comparativa de arquitecturas de detección de texto.*
|
||||
**Tabla 4.** *Comparativa de arquitecturas de detección de texto.*
|
||||
|
||||
| Arquitectura | Tipo | Salida | Fortalezas | Limitaciones |
|
||||
|--------------|------|--------|------------|--------------|
|
||||
@@ -141,7 +148,7 @@ La arquitectura CRNN consta de tres componentes:
|
||||
|
||||
**TrOCR (Transformer-based OCR)**: Propuesto por Li et al. (2023), TrOCR utiliza un Vision Transformer (ViT) como encoder y un Transformer de lenguaje como decoder, logrando resultados estado del arte en múltiples benchmarks.
|
||||
|
||||
**Tabla 2.** *Comparativa de arquitecturas de reconocimiento de texto.*
|
||||
**Tabla 5.** *Comparativa de arquitecturas de reconocimiento de texto.*
|
||||
|
||||
| Arquitectura | Encoder | Decoder | Pérdida | Características |
|
||||
|--------------|---------|---------|---------|-----------------|
|
||||
@@ -286,7 +293,7 @@ El pipeline de PaddleOCR consta de tres módulos principales:
|
||||
|
||||
PaddleOCR expone numerosos hiperparámetros que permiten ajustar el comportamiento del sistema. Los más relevantes para este trabajo son:
|
||||
|
||||
**Tabla 3.** *Hiperparámetros de detección de PaddleOCR.*
|
||||
**Tabla 6.** *Hiperparámetros de detección de PaddleOCR.*
|
||||
|
||||
| Parámetro | Descripción | Rango | Defecto |
|
||||
|-----------|-------------|-------|---------|
|
||||
@@ -297,7 +304,7 @@ PaddleOCR expone numerosos hiperparámetros que permiten ajustar el comportamien
|
||||
|
||||
*Fuente: Documentación oficial de PaddleOCR (PaddlePaddle, 2024).*
|
||||
|
||||
**Tabla 4.** *Hiperparámetros de reconocimiento de PaddleOCR.*
|
||||
**Tabla 7.** *Hiperparámetros de reconocimiento de PaddleOCR.*
|
||||
|
||||
| Parámetro | Descripción | Rango | Defecto |
|
||||
|-----------|-------------|-------|---------|
|
||||
@@ -307,7 +314,7 @@ PaddleOCR expone numerosos hiperparámetros que permiten ajustar el comportamien
|
||||
|
||||
*Fuente: Documentación oficial de PaddleOCR (PaddlePaddle, 2024).*
|
||||
|
||||
**Tabla 5.** *Hiperparámetros de preprocesamiento de PaddleOCR.*
|
||||
**Tabla 8.** *Hiperparámetros de preprocesamiento de PaddleOCR.*
|
||||
|
||||
| Parámetro | Descripción | Impacto |
|
||||
|-----------|-------------|---------|
|
||||
@@ -352,7 +359,7 @@ DocTR (Document Text Recognition) es una biblioteca desarrollada por Mindee (202
|
||||
|
||||
#### Comparativa Detallada de Soluciones
|
||||
|
||||
**Tabla 6.** *Comparativa técnica de soluciones OCR de código abierto.*
|
||||
**Tabla 9.** *Comparativa técnica de soluciones OCR de código abierto.*
|
||||
|
||||
| Aspecto | EasyOCR | PaddleOCR | DocTR |
|
||||
|---------|---------|-----------|-------|
|
||||
@@ -367,7 +374,7 @@ DocTR (Document Text Recognition) es una biblioteca desarrollada por Mindee (202
|
||||
|
||||
*Fuente: Elaboración propia a partir de documentación oficial (2024).*
|
||||
|
||||
**Tabla 7.** *Comparativa de facilidad de uso.*
|
||||
**Tabla 10.** *Comparativa de facilidad de uso.*
|
||||
|
||||
| Aspecto | EasyOCR | PaddleOCR | DocTR |
|
||||
|---------|---------|-----------|-------|
|
||||
@@ -392,7 +399,7 @@ A diferencia de los parámetros del modelo (como los pesos de una red neuronal),
|
||||
|
||||
El problema de HPO puede formalizarse como:
|
||||
|
||||
$$\lambda^* = \arg\min_{\lambda \in \Lambda} \mathcal{L}(M_\lambda, D_{val})$$
|
||||
$$\lambda^* = \operatorname{argmin}_{\lambda \in \Lambda} \mathcal{L}(M_\lambda, D_{val})$$
|
||||
|
||||
Donde:
|
||||
- $\lambda$ es un vector de hiperparámetros
|
||||
@@ -487,6 +494,13 @@ La combinación de Ray Tune con OptunaSearch permite:
|
||||
```mermaid
|
||||
---
|
||||
title: "Ciclo de optimización con Ray Tune y Optuna"
|
||||
config:
|
||||
theme: base
|
||||
themeVariables:
|
||||
primaryColor: "#E6F4F9"
|
||||
primaryTextColor: "#404040"
|
||||
primaryBorderColor: "#0098CD"
|
||||
lineColor: "#0098CD"
|
||||
---
|
||||
flowchart LR
|
||||
A["Espacio de<br/>búsqueda"] --> B["Ray Tune<br/>Scheduler"]
|
||||
@@ -534,7 +548,7 @@ Los principales recursos para evaluación de OCR en español incluyen:
|
||||
|
||||
**XFUND**: Dataset de comprensión de formularios en múltiples idiomas, incluyendo español, con anotaciones de entidades y relaciones.
|
||||
|
||||
**Tabla 8.** *Datasets públicos con contenido en español.*
|
||||
**Tabla 11.** *Datasets públicos con contenido en español.*
|
||||
|
||||
| Dataset | Tipo | Idiomas | Tamaño | Uso principal |
|
||||
|---------|------|---------|--------|---------------|
|
||||
@@ -564,7 +578,7 @@ Los trabajos previos en OCR para español se han centrado principalmente en:
|
||||
|
||||
**Reconocimiento de texto en escenas**: Participaciones en competiciones ICDAR para detección y reconocimiento de texto en español en imágenes naturales.
|
||||
|
||||
**Tabla 9.** *Trabajos previos relevantes en OCR para español.*
|
||||
**Tabla 12.** *Trabajos previos relevantes en OCR para español.*
|
||||
|
||||
| Trabajo | Enfoque | Contribución |
|
||||
|---------|---------|--------------|
|
||||
@@ -578,18 +592,8 @@ La optimización de hiperparámetros para documentos académicos en español rep
|
||||
|
||||
## Conclusiones del capítulo
|
||||
|
||||
Este capítulo ha presentado el marco teórico y tecnológico necesario para contextualizar la contribución del presente trabajo:
|
||||
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.
|
||||
|
||||
1. **Evolución del OCR**: Se ha trazado la evolución desde los sistemas de plantillas hasta las arquitecturas de aprendizaje profundo actuales, destacando los avances clave en cada generación.
|
||||
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.
|
||||
|
||||
2. **Pipeline moderno**: Se ha descrito el pipeline de dos etapas (detección + reconocimiento) utilizado por los sistemas OCR contemporáneos, detallando las arquitecturas más relevantes (DB, CRAFT, CRNN, SVTR, Transformer).
|
||||
|
||||
3. **Métricas de evaluación**: Se han definido formalmente las métricas CER y WER, estableciendo los umbrales de aceptabilidad para diferentes aplicaciones.
|
||||
|
||||
4. **Particularidades del español**: Se han identificado los desafíos específicos del OCR para español, incluyendo caracteres especiales, diacríticos y escasez de recursos.
|
||||
|
||||
5. **Soluciones de código abierto**: Se han analizado en profundidad EasyOCR, PaddleOCR y DocTR, justificando la selección de PaddleOCR para este trabajo por su alta configurabilidad.
|
||||
|
||||
6. **Optimización de hiperparámetros**: Se han presentado los fundamentos teóricos de HPO, con énfasis en TPE (Optuna) y Ray Tune, identificando el vacío en la literatura respecto a la optimización de hiperparámetros de inferencia en OCR.
|
||||
|
||||
El estado del arte revela que, si bien existen soluciones OCR de alta calidad, su optimización para dominios específicos mediante ajuste de hiperparámetros (sin fine-tuning) ha recibido poca atención en la literatura. Este trabajo contribuye a llenar ese vacío proponiendo una metodología reproducible para la optimización de PaddleOCR en documentos académicos en español.
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user