diff --git a/.claude/commands/documentation-review.md b/.claude/commands/documentation-review.md index 8c66992..9561b27 100644 --- a/.claude/commands/documentation-review.md +++ b/.claude/commands/documentation-review.md @@ -17,6 +17,23 @@ Review and validate the documentation for this Master's Thesis project. **IMPORTANT:** When styling elements (tables, figures, notes, quotes), ALWAYS check `plantilla_individual.htm` for existing Word/CSS classes (e.g., `MsoQuote`, `MsoCaption`, `Piedefoto-tabla`). Use these classes instead of custom inline styles. +### UNIR Color Palette (from plantilla_individual.htm) + +| Color | Hex | Usage | +|-------|-----|-------| +| Primary Blue | `#0098CD` | Headings, titles, diagram borders | +| Light Blue BG | `#E6F4F9` | Backgrounds, callout boxes, nodes | +| Dark Gray | `#404040` | Primary text | +| Accent Blue | `#5B9BD5` | Table headers, accent elements | +| Light Accent | `#9CC2E5` | Table borders | +| Very Light Blue | `#DEEAF6` | Secondary backgrounds, subgraphs | +| White | `#FFFFFF` | Header text, contrast | + +### Table Styles (from template) +- `MsoTableGrid` - Basic grid table +- `MsoTable15Grid4Accent1` - Styled table with UNIR colors (header: `#5B9BD5`, borders: `#9CC2E5`) +- `Piedefoto-tabla` - Table caption/source style + 3. **Validate each documentation file** checking: ### Data Accuracy diff --git a/apply_content.py b/apply_content.py index 576caee..56a1ebf 100644 --- a/apply_content.py +++ b/apply_content.py @@ -145,7 +145,7 @@ def parse_md_to_html_blocks(md_content): if os.path.exists(fig_path): # Use Word-compatible width in cm (A4 text area is ~16cm wide, use ~12cm max) - html_blocks.append(f'''

{fig_title}

''') + html_blocks.append(f'''

{fig_title}

''') else: # Fallback to placeholder html_blocks.append(f'''

[Insertar diagrama Mermaid aquí]

''') diff --git a/thesis_output/plantilla_individual.htm b/thesis_output/plantilla_individual.htm index 14b65a4..eecfe56 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

-

Pipeline de un sistema OCR moderno

+

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

-

Ciclo de optimización con Ray Tune y Optuna

+

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

-

Fases de la metodología experimental

+

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

-

Estructura del dataset de evaluación

+

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

-

Arquitectura de ejecución con Docker Compose

+

Arquitectura de ejecución con Docker Compose

Fuente: Elaboración propia.

 

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

@@ -5263,13 +5263,13 @@ docker compose -f docker-compose.tuning.doctr.yml down

 

Arquitectura de Microservicios

Figura 6. Arquitectura de microservicios para optimización OCR

-

Arquitectura de microservicios para optimización OCR

+

Arquitectura de microservicios para optimización OCR

Fuente: Elaboración propia.

 

Estrategia de Build Multi-Stage

Los Dockerfiles utilizan una estrategia de build multi-stage para optimizar tiempos de construcción y tamaño de imágenes:

Figura 7. Estrategia de build multi-stage

-

Estrategia de build multi-stage

+

Estrategia de build multi-stage

Fuente: Elaboración propia.

 

Ventajas de esta estrategia:

@@ -5303,7 +5303,7 @@ docker compose -f docker-compose.tuning.doctr.yml down

·     DocTR: 180 segundos (modelos ResNet más pesados)

Flujo de Ejecución Completo

Figura 8. Flujo de ejecución de optimización con Ray Tune

-

Flujo de ejecución de optimización con Ray Tune

+

Flujo de ejecución de optimización con Ray Tune

Fuente: Elaboración propia.

 

Reproducibilidad

@@ -5422,7 +5422,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 9. Impacto de textline_orientation en CER

-

Impacto de textline_orientation en CER

+

Impacto de textline_orientation en CER

Fuente: Elaboración propia.

 

Explicación técnica:

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

Fuente: Elaboración propia.

 

Figura 10. Reducción de errores: Baseline vs Optimizado (45 páginas)

-

Reducción de errores: Baseline vs Optimizado (45 páginas)

+

Reducción de errores: Baseline vs Optimizado (45 páginas)

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. Los valores corresponden al dataset completo de 45 páginas.

@@ -5755,7 +5755,7 @@ major-latin;mso-bidi-font-family:"Calibri Light";mso-bidi-theme-font:major-latin

·     Resultados: Archivos CSV con los resultados de los 64 trials por servicio

A.2 Estructura del Repositorio

Figura 11. Estructura del repositorio MastersThesis

-

Estructura del repositorio MastersThesis

+

Estructura del repositorio MastersThesis

Fuente: Elaboración propia.

 

Tabla 56. Descripción de directorios principales.