diff --git a/thesis_output/figures/figura_1.png b/thesis_output/figures/figura_1.png new file mode 100644 index 0000000..346c735 Binary files /dev/null and b/thesis_output/figures/figura_1.png differ diff --git a/thesis_output/figures/figura_2.png b/thesis_output/figures/figura_2.png new file mode 100644 index 0000000..9ca94ae Binary files /dev/null and b/thesis_output/figures/figura_2.png differ diff --git a/thesis_output/figures/figura_3.png b/thesis_output/figures/figura_3.png new file mode 100644 index 0000000..880a709 Binary files /dev/null and b/thesis_output/figures/figura_3.png differ diff --git a/thesis_output/figures/figura_4.png b/thesis_output/figures/figura_4.png new file mode 100644 index 0000000..445950f Binary files /dev/null and b/thesis_output/figures/figura_4.png differ diff --git a/thesis_output/figures/figura_5.png b/thesis_output/figures/figura_5.png new file mode 100644 index 0000000..65b6947 Binary files /dev/null and b/thesis_output/figures/figura_5.png differ diff --git a/thesis_output/figures/figura_6.png b/thesis_output/figures/figura_6.png new file mode 100644 index 0000000..53ed237 Binary files /dev/null and b/thesis_output/figures/figura_6.png differ diff --git a/thesis_output/figures/figura_7.png b/thesis_output/figures/figura_7.png new file mode 100644 index 0000000..1ad16f5 Binary files /dev/null and b/thesis_output/figures/figura_7.png differ diff --git a/thesis_output/figures/figures_manifest.json b/thesis_output/figures/figures_manifest.json new file mode 100644 index 0000000..8aeabe2 --- /dev/null +++ b/thesis_output/figures/figures_manifest.json @@ -0,0 +1,37 @@ +[ + { + "file": "figura_1.png", + "title": "Pipeline de un sistema OCR moderno", + "index": 1 + }, + { + "file": "figura_2.png", + "title": "Ciclo de optimización con Ray Tune y Optuna", + "index": 2 + }, + { + "file": "figura_3.png", + "title": "Fases de la metodología experimental", + "index": 3 + }, + { + "file": "figura_4.png", + "title": "Estructura del dataset de evaluación", + "index": 4 + }, + { + "file": "figura_5.png", + "title": "Arquitectura de ejecución con Docker Compose", + "index": 5 + }, + { + "file": "figura_6.png", + "title": "Impacto de textline_orientation en CER", + "index": 6 + }, + { + "file": "figura_7.png", + "title": "Reducción de errores: Baseline vs Optimizado", + "index": 7 + } +] \ No newline at end of file diff --git a/thesis_output/plantilla_individual.htm b/thesis_output/plantilla_individual.htm index 0bffb4f..74c379d 100644 --- a/thesis_output/plantilla_individual.htm +++ b/thesis_output/plantilla_individual.htm @@ -4637,7 +4637,7 @@ _Toc14106979">Pipeline Moderno de OCR

Los sistemas OCR modernos siguen típicamente un pipeline de dos etapas principales, precedidas opcionalmente por una fase de preprocesamiento:

Figura 1. Pipeline de un sistema OCR moderno

-

[Insertar diagrama Mermaid aquí]

+

Pipeline de un sistema OCR moderno

Fuente: Elaboración propia.

 

Etapa de Preprocesamiento

@@ -4880,7 +4880,7 @@ Configuraciones con alta probabilidad bajo 3.   Beneficiarse de la infraestructura de Ray para distribución

4.   Acceder a las visualizaciones de Optuna

Figura 2. Ciclo de optimización con Ray Tune y Optuna

-

[Insertar diagrama Mermaid aquí]

+

Ciclo de optimización con Ray Tune y Optuna

Fuente: Elaboración propia.

 

HPO en Sistemas OCR

@@ -4958,7 +4958,7 @@ concretos y metodología de trabajo
Metodología del trabajo

Visión General

Figura 3. Fases de la metodología experimental

-

[Insertar diagrama Mermaid aquí]

+

Fases de la metodología experimental

Fuente: Elaboración propia.

 

Descripción de las fases:

@@ -4978,7 +4978,7 @@ concretos y metodología de trabajo
- Método: page.get_text("dict") de PyMuPDF - Preservación de estructura de líneas - Tratamiento de texto vertical/marginal - Normalización de espacios y saltos de línea

Estructura del Dataset

Figura 4. Estructura del dataset de evaluación

-

[Insertar diagrama Mermaid aquí]

+

Estructura del dataset de evaluación

Fuente: Elaboración propia.

 

Clase ImageTextDataset

@@ -5231,7 +5231,7 @@ color:#0098CD;mso-font-kerning:16.0pt;mso-bidi-font-weight:bold'>·     Aislamiento de Ray Tune: Ray Tune tiene sus propias dependencias que pueden entrar en conflicto con las librerías de inferencia OCR

Esta arquitectura containerizada permite ejecutar cada componente en su entorno aislado óptimo, comunicándose via API REST:

Figura 5. Arquitectura de ejecución con Docker Compose

-

[Insertar diagrama Mermaid aquí]

+

Arquitectura de ejecución con Docker Compose

Fuente: Elaboración propia.

 

La arquitectura containerizada (src/docker-compose.tuning.*.yml) ofrece:

@@ -5346,7 +5346,7 @@ Configuración óptima:

1.   Menor varianza: La desviación estándar también se reduce significativamente (7.12% vs 14.93%), indicando resultados más consistentes.

1.   Reducción del CER: 69.7% cuando se habilita la clasificación de orientación de línea.

Figura 6. Impacto de textline_orientation en CER

-

[Insertar diagrama Mermaid aquí]

+

Impacto de textline_orientation en CER

Fuente: Elaboración propia.

 

Explicación técnica:

@@ -5375,7 +5375,7 @@ Configuración óptima:

Fuente: Elaboración propia.

 

Figura 7. Reducción de errores: Baseline vs Optimizado

-

[Insertar diagrama Mermaid aquí]

+

Reducción de errores: Baseline vs Optimizado

Fuente: Elaboración propia.

 

Leyenda: CER = Character Error Rate, WER = Word Error Rate. Baseline = configuración por defecto de PaddleOCR. Optimizado = configuración encontrada por Ray Tune.