presentation
Some checks failed
build_docker / essential (push) Successful in 1s
build_docker / build_paddle_ocr (push) Failing after 5m31s
build_docker / build_easyocr (push) Failing after 7m40s
build_docker / build_doctr (push) Has been cancelled
build_docker / build_doctr_gpu (push) Has been cancelled
build_docker / build_raytune (push) Has been cancelled
build_docker / build_paddle_ocr_gpu (push) Has been cancelled
build_docker / build_easyocr_gpu (push) Has been cancelled
Some checks failed
build_docker / essential (push) Successful in 1s
build_docker / build_paddle_ocr (push) Failing after 5m31s
build_docker / build_easyocr (push) Failing after 7m40s
build_docker / build_doctr (push) Has been cancelled
build_docker / build_doctr_gpu (push) Has been cancelled
build_docker / build_raytune (push) Has been cancelled
build_docker / build_paddle_ocr_gpu (push) Has been cancelled
build_docker / build_easyocr_gpu (push) Has been cancelled
This commit is contained in:
12
thesis_output/presentation/slides/01_title.html
Normal file
12
thesis_output/presentation/slides/01_title.html
Normal file
@@ -0,0 +1,12 @@
|
||||
<section class="title-slide" data-transition="fade">
|
||||
<img src="figures/unir_logo.png" class="logo-large" alt="UNIR">
|
||||
<div class="subtitle">Trabajo Fin de Máster</div>
|
||||
<h1>Optimización de Hiperparámetros OCR con Ray Tune para Documentos Académicos en Español</h1>
|
||||
<div class="divider"></div>
|
||||
<div class="meta">
|
||||
<strong>Sergio Jiménez Jiménez</strong><br>
|
||||
Director: Javier Rodrigo Villazón Terrazas<br>
|
||||
Máster Universitario en Inteligencia Artificial<br>
|
||||
2025
|
||||
</div>
|
||||
</section>
|
||||
8
thesis_output/presentation/slides/02_agenda.html
Normal file
8
thesis_output/presentation/slides/02_agenda.html
Normal file
@@ -0,0 +1,8 @@
|
||||
<section>
|
||||
<h2>Agenda</h2>
|
||||
<div class="agenda-item fragment fade-up"><div class="agenda-number">1</div><div>Motivación y planteamiento del problema</div></div>
|
||||
<div class="agenda-item fragment fade-up"><div class="agenda-number">2</div><div>Objetivos y estado del arte</div></div>
|
||||
<div class="agenda-item fragment fade-up"><div class="agenda-number">3</div><div>Metodología y arquitectura</div></div>
|
||||
<div class="agenda-item fragment fade-up"><div class="agenda-number">4</div><div>Resultados experimentales</div></div>
|
||||
<div class="agenda-item fragment fade-up"><div class="agenda-number">5</div><div>Conclusiones y trabajo futuro</div></div>
|
||||
</section>
|
||||
26
thesis_output/presentation/slides/03_motivation.html
Normal file
26
thesis_output/presentation/slides/03_motivation.html
Normal file
@@ -0,0 +1,26 @@
|
||||
<section>
|
||||
<h2>Motivación</h2>
|
||||
<div class="two-columns">
|
||||
<div>
|
||||
<ul>
|
||||
<li>La digitalización documental es una <strong>necesidad estratégica</strong> para organizaciones</li>
|
||||
<li>OCR como puente entre el mundo físico y digital</li>
|
||||
<li>Documentos en español: caracteres especiales ausentes en conjuntos de entrenamiento internacionales</li>
|
||||
<li>Modelos preentrenados: <strong>rendimiento subóptimo</strong> fuera de benchmarks estándar</li>
|
||||
<li>Fine-tuning requiere infraestructura costosa y datos etiquetados</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<h3 style="font-size:0.8em; text-align:center; margin-bottom: 10px;">Errores típicos en español</h3>
|
||||
<table class="data-table" style="font-size:0.85em;">
|
||||
<thead><tr><th>Original</th><th>OCR</th><th>Error</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>más</td><td>mas</td><td>Pérdida de acento</td></tr>
|
||||
<tr><td>año</td><td>ano</td><td>Pérdida de eñe</td></tr>
|
||||
<tr><td>¿Cómo</td><td>Como</td><td>Signos especiales</td></tr>
|
||||
<tr><td>titulación</td><td>titulacióon</td><td>Duplicación</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
26
thesis_output/presentation/slides/04_problem.html
Normal file
26
thesis_output/presentation/slides/04_problem.html
Normal file
@@ -0,0 +1,26 @@
|
||||
<section>
|
||||
<h2>Planteamiento del Problema</h2>
|
||||
<div class="highlight-box center-box" style="font-size:0.78em; margin-bottom: 20px;">
|
||||
<em>¿Es posible mejorar significativamente el rendimiento de modelos OCR preentrenados para documentos en español mediante la optimización sistemática de hiperparámetros, sin requerir fine-tuning?</em>
|
||||
</div>
|
||||
<div style="margin-top:10px;">
|
||||
<div class="compare-row header">
|
||||
<div></div><div>Fine-tuning completo</div><div>Optimización de hiperparámetros</div>
|
||||
</div>
|
||||
<div class="compare-row">
|
||||
<div class="label-col">Datos</div><div>Miles de imágenes etiquetadas</div><div class="highlight-col">Subconjunto de validación</div>
|
||||
</div>
|
||||
<div class="compare-row">
|
||||
<div class="label-col">Hardware</div><div>GPU alta memoria (>16 GB)</div><div class="highlight-col">CPU / GPU consumo</div>
|
||||
</div>
|
||||
<div class="compare-row">
|
||||
<div class="label-col">Tiempo</div><div>Días / semanas</div><div class="highlight-col">Minutos / horas</div>
|
||||
</div>
|
||||
<div class="compare-row">
|
||||
<div class="label-col">Expertise</div><div>Alto (ML avanzado)</div><div class="highlight-col">Bajo-medio</div>
|
||||
</div>
|
||||
<div class="compare-row">
|
||||
<div class="label-col">Riesgo</div><div>Sobreajuste, catastrófico</div><div class="highlight-col">Limitado, reversible</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
13
thesis_output/presentation/slides/05_objectives.html
Normal file
13
thesis_output/presentation/slides/05_objectives.html
Normal file
@@ -0,0 +1,13 @@
|
||||
<section>
|
||||
<h2>Objetivos</h2>
|
||||
<div class="highlight-box" style="margin-bottom: 15px;">
|
||||
<strong>Objetivo general:</strong> Optimizar PaddleOCR para documentos académicos en español alcanzando un <strong>CER < 2%</strong> sin fine-tuning del modelo base.
|
||||
</div>
|
||||
<ul class="obj-list">
|
||||
<li class="done fragment fade-up"><strong>OE1:</strong> Comparar tres motores OCR open-source (EasyOCR, PaddleOCR, DocTR)</li>
|
||||
<li class="done fragment fade-up"><strong>OE2:</strong> Preparar dataset de evaluación de 45 páginas con ground truth</li>
|
||||
<li class="done fragment fade-up"><strong>OE3:</strong> Identificar hiperparámetros críticos mediante análisis de correlación</li>
|
||||
<li class="done fragment fade-up"><strong>OE4:</strong> Ejecutar 64 trials de optimización con Ray Tune + Optuna</li>
|
||||
<li class="done fragment fade-up"><strong>OE5:</strong> Validar la configuración optimizada frente al baseline</li>
|
||||
</ul>
|
||||
</section>
|
||||
37
thesis_output/presentation/slides/06_state_of_art.html
Normal file
37
thesis_output/presentation/slides/06_state_of_art.html
Normal file
@@ -0,0 +1,37 @@
|
||||
<section>
|
||||
<h2>Estado del Arte: Motores OCR</h2>
|
||||
<div class="three-columns" style="margin-bottom: 15px;">
|
||||
<div class="engine-card">
|
||||
<h3>EasyOCR</h3>
|
||||
<div class="developer">JaidedAI</div>
|
||||
<div class="arch">CRAFT + CRNN</div>
|
||||
<ul>
|
||||
<li>80+ idiomas</li>
|
||||
<li>Fácil de usar</li>
|
||||
<li>Baja configurabilidad</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="engine-card selected">
|
||||
<h3>PaddleOCR</h3>
|
||||
<div class="developer">Baidu / PaddlePaddle</div>
|
||||
<div class="arch">DB + SVTR (PP-OCRv5)</div>
|
||||
<ul>
|
||||
<li>Alta configurabilidad</li>
|
||||
<li>Pipeline modular</li>
|
||||
<li>Soporte español dedicado</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="engine-card">
|
||||
<h3>DocTR</h3>
|
||||
<div class="developer">Mindee</div>
|
||||
<div class="arch">DB/LinkNet + CRNN/SAR</div>
|
||||
<ul>
|
||||
<li>TF y PyTorch</li>
|
||||
<li>Soporte español limitado</li>
|
||||
<li>Rápido en inferencia</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<img src="figures/figura_1.png" alt="Pipeline OCR" style="width: 85%; display: block; margin: 0 auto;">
|
||||
<div class="fig-caption">Pipeline de un sistema OCR moderno</div>
|
||||
</section>
|
||||
12
thesis_output/presentation/slides/07_methodology.html
Normal file
12
thesis_output/presentation/slides/07_methodology.html
Normal file
@@ -0,0 +1,12 @@
|
||||
<section>
|
||||
<h2>Metodología: 5 Fases</h2>
|
||||
<img src="figures/figura_3.png" alt="Metodología" style="width: 90%; display: block; margin: 0 auto 15px;">
|
||||
<div class="fig-caption" style="margin-bottom: 15px;">Fases de la metodología experimental</div>
|
||||
<div style="display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; font-size: 0.55em; text-align: center;">
|
||||
<div class="fragment fade-up"><div class="agenda-number" style="width:28px;height:28px;font-size:0.75em;margin:0 auto 5px;">1</div>Preparación del dataset<br><span style="color:#999">PDF → 300 DPI + GT</span></div>
|
||||
<div class="fragment fade-up"><div class="agenda-number" style="width:28px;height:28px;font-size:0.75em;margin:0 auto 5px;">2</div>Benchmark comparativo<br><span style="color:#999">3 motores, CER/WER</span></div>
|
||||
<div class="fragment fade-up"><div class="agenda-number" style="width:28px;height:28px;font-size:0.75em;margin:0 auto 5px;">3</div>Espacio de búsqueda<br><span style="color:#999">7 hiperparámetros</span></div>
|
||||
<div class="fragment fade-up"><div class="agenda-number" style="width:28px;height:28px;font-size:0.75em;margin:0 auto 5px;">4</div>Optimización<br><span style="color:#999">64 trials, TPE</span></div>
|
||||
<div class="fragment fade-up"><div class="agenda-number" style="width:28px;height:28px;font-size:0.75em;margin:0 auto 5px;">5</div>Validación<br><span style="color:#999">45 páginas completas</span></div>
|
||||
</div>
|
||||
</section>
|
||||
24
thesis_output/presentation/slides/08_architecture.html
Normal file
24
thesis_output/presentation/slides/08_architecture.html
Normal file
@@ -0,0 +1,24 @@
|
||||
<section>
|
||||
<h2>Arquitectura: Microservicios Docker</h2>
|
||||
<div class="two-columns-60-40">
|
||||
<div>
|
||||
<img src="figures/figura_6.png" alt="Arquitectura" style="width: 100%; border-radius: 8px;">
|
||||
<div class="fig-caption">Arquitectura de microservicios para optimización OCR</div>
|
||||
</div>
|
||||
<div>
|
||||
<ul class="compact-list">
|
||||
<li><strong>Contenedor Ray Tune:</strong> Orquestador de trials (Optuna TPE)</li>
|
||||
<li><strong>Contenedor OCR:</strong> PaddleOCR con acceso GPU</li>
|
||||
<li><strong>Comunicación:</strong> REST API (HTTP POST /evaluate)</li>
|
||||
<li><strong>Respuesta:</strong> JSON {CER, WER, TIME}</li>
|
||||
<li><strong>Docker Compose:</strong> Despliegue reproducible</li>
|
||||
</ul>
|
||||
<div class="highlight-box" style="font-size:0.65em; margin-top:15px;">
|
||||
<strong>Hardware:</strong><br>
|
||||
RTX 3060 Laptop (5.66 GB VRAM)<br>
|
||||
AMD Ryzen 7 5800H<br>
|
||||
16 GB DDR4 | Ubuntu 24.04
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
43
thesis_output/presentation/slides/09_search_space.html
Normal file
43
thesis_output/presentation/slides/09_search_space.html
Normal file
@@ -0,0 +1,43 @@
|
||||
<section>
|
||||
<h2>Espacio de Búsqueda: 7 Hiperparámetros</h2>
|
||||
<div class="two-columns-60-40">
|
||||
<div>
|
||||
<table class="data-table" style="font-size:0.6em; margin: 2px 0;">
|
||||
<thead><tr><th>Parámetro</th><th>Tipo</th><th>Rango</th><th>Descripción</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><code>textline_orientation</code></td><td><span class="tag bool">Booleano</span></td><td>True / False</td><td>Orientación de líneas de texto</td></tr>
|
||||
<tr><td><code>use_doc_orientation_classify</code></td><td><span class="tag bool">Booleano</span></td><td>True / False</td><td>Clasificación de orientación</td></tr>
|
||||
<tr><td><code>use_doc_unwarping</code></td><td><span class="tag bool">Booleano</span></td><td>True / False</td><td>Corrección de deformaciones</td></tr>
|
||||
<tr><td><code>text_det_thresh</code></td><td><span class="tag cont">Continuo</span></td><td>[0.01, 0.50]</td><td>Umbral binarización probabilidad</td></tr>
|
||||
<tr><td><code>text_det_box_thresh</code></td><td><span class="tag cont">Continuo</span></td><td>[0.01, 0.90]</td><td>Confianza caja de texto</td></tr>
|
||||
<tr><td><code>text_rec_score_thresh</code></td><td><span class="tag cont">Continuo</span></td><td>[0.01, 0.99]</td><td>Confianza del reconocedor</td></tr>
|
||||
<tr style="opacity:0.5"><td><code>text_det_unclip_ratio</code></td><td><span class="tag fixed">Fijo</span></td><td>0.0</td><td>Expansión de cajas (no explorado)</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div style="display: flex; gap: 8px; margin-top: 8px; font-size: 0.5em;">
|
||||
<div style="flex:1; background: #FFF3E0; border-radius: 6px; padding: 6px 10px; line-height: 1.35;">
|
||||
<strong style="color:#E65100;">Discretos / Booleanos (3)</strong> — <span style="color:#E65100; font-weight: 700;">True | False</span><br>
|
||||
Solo <strong>2 valores</strong> por parámetro (8 combinaciones). Interruptores on/off de módulos del pipeline. Decisiones <em>arquitecturales</em>: cambian <strong>qué</strong> se ejecuta.
|
||||
</div>
|
||||
<div style="flex:1; background: #E8F5E9; border-radius: 6px; padding: 6px 10px; line-height: 1.35;">
|
||||
<strong style="color:#2E7D32;">Continuos / Float (3)</strong> — <span style="color:#2E7D32; font-weight: 700;">0.01 ← → 0.99</span><br>
|
||||
Valores reales muestreados uniformemente. <strong>Infinitos valores</strong>, grid search inviable. Ajustan <em>sensibilidad</em> de detección y reconocimiento.
|
||||
</div>
|
||||
<div style="flex:0.5; background: var(--unir-gray); border-radius: 6px; padding: 6px 10px; line-height: 1.35;">
|
||||
<strong style="color:#888;">Fijo (1)</strong> — <span style="color:#888; font-weight: 700;">0.0</span><br>
|
||||
Constante en todos los trials. Trabajo futuro.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<img src="figures/figura_2.png" alt="Ray Tune Cycle" style="width: 100%; border-radius: 8px;">
|
||||
<div class="fig-caption">Ciclo de optimización con Ray Tune y Optuna</div>
|
||||
<div class="highlight-box" style="font-size:0.58em; margin-top:8px; padding: 10px 14px;">
|
||||
<strong>Algoritmo:</strong> TPE (Tree-structured Parzen Estimator)<br>
|
||||
<strong>Trials:</strong> 64 | <strong>Concurrencia:</strong> 2 workers<br>
|
||||
<strong>Métrica:</strong> Minimizar CER<br>
|
||||
<strong>Combinaciones:</strong> 2³ × ∞³ = espacio mixto discreto-continuo
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
21
thesis_output/presentation/slides/10_benchmark.html
Normal file
21
thesis_output/presentation/slides/10_benchmark.html
Normal file
@@ -0,0 +1,21 @@
|
||||
<section data-chart="benchmark">
|
||||
<h2>Resultados: Benchmark Comparativo</h2>
|
||||
<div class="two-columns">
|
||||
<div class="chart-container">
|
||||
<canvas id="chartBenchmark"></canvas>
|
||||
</div>
|
||||
<div>
|
||||
<table class="data-table" style="font-size:0.68em;">
|
||||
<thead><tr><th>Motor</th><th>CER</th><th>WER</th><th>s/pág</th><th>VRAM</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>EasyOCR</td><td>11.23%</td><td>36.36%</td><td>1.88</td><td>~2 GB</td></tr>
|
||||
<tr class="highlight"><td><strong>PaddleOCR</strong></td><td><strong>7.76%</strong></td><td><strong>11.62%</strong></td><td>0.58</td><td>0.06 GB</td></tr>
|
||||
<tr><td>DocTR</td><td>12.06%</td><td>42.01%</td><td>0.50</td><td>~1 GB</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="highlight-box" style="font-size:0.65em; margin-top:15px;">
|
||||
<strong>PaddleOCR seleccionado:</strong> Mejor CER (7.76%) con el menor consumo de VRAM (0.06 GB) y alta configurabilidad.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
32
thesis_output/presentation/slides/11_trials.html
Normal file
32
thesis_output/presentation/slides/11_trials.html
Normal file
@@ -0,0 +1,32 @@
|
||||
<section data-chart="trials">
|
||||
<h2>Resultados: 64 Trials de Optimización</h2>
|
||||
<div class="two-columns">
|
||||
<div class="chart-container">
|
||||
<canvas id="chartTrials"></canvas>
|
||||
</div>
|
||||
<div>
|
||||
<div class="metric-cards" style="flex-direction: column;">
|
||||
<div class="metric-card" style="width:100%;">
|
||||
<div class="number success">0.79%</div>
|
||||
<div class="label">Mejor CER (Trial #1)</div>
|
||||
</div>
|
||||
<div class="metric-card" style="width:100%;">
|
||||
<div class="number">0.87%</div>
|
||||
<div class="label">Mediana CER</div>
|
||||
</div>
|
||||
<div class="metric-card" style="width:100%;">
|
||||
<div class="number warning">7.30%</div>
|
||||
<div class="label">Peor CER</div>
|
||||
</div>
|
||||
<div class="metric-card" style="width:100%;">
|
||||
<div class="number">67.2%</div>
|
||||
<div class="label">Trials con CER < 2%</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="highlight-box" style="font-size:0.62em; margin-top:12px;">
|
||||
<strong>0 fallos</strong> en 64 trials<br>
|
||||
Tiempo total: <strong>~5 minutos</strong> (GPU)
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
20
thesis_output/presentation/slides/12_key_finding.html
Normal file
20
thesis_output/presentation/slides/12_key_finding.html
Normal file
@@ -0,0 +1,20 @@
|
||||
<section data-chart="textline">
|
||||
<h2>Hallazgo Clave: <code>textline_orientation</code></h2>
|
||||
<div class="two-columns">
|
||||
<div class="chart-container">
|
||||
<canvas id="chartTextline"></canvas>
|
||||
</div>
|
||||
<div>
|
||||
<div class="metric-card" style="width:100%; margin-bottom: 15px;">
|
||||
<div class="number success" style="font-size: 2em;">-63.2%</div>
|
||||
<div class="label" style="font-size:0.75em;">Reducción en CER</div>
|
||||
</div>
|
||||
<ul class="compact-list">
|
||||
<li>Un <strong>único parámetro booleano</strong> tiene mayor impacto que todos los umbrales numéricos combinados</li>
|
||||
<li><strong>Decisiones arquitecturales</strong> > ajustes numéricos finos</li>
|
||||
<li>Crítico para documentos con <strong>layouts complejos</strong> (índices, listas, encabezados)</li>
|
||||
<li>52 de 64 trials (81%) lo activaron automáticamente (Optuna aprendió rápido)</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
20
thesis_output/presentation/slides/13_correlations.html
Normal file
20
thesis_output/presentation/slides/13_correlations.html
Normal file
@@ -0,0 +1,20 @@
|
||||
<section data-chart="correlations">
|
||||
<h2>Análisis de Hiperparámetros</h2>
|
||||
<div class="two-columns">
|
||||
<div>
|
||||
<h3 style="font-size:0.75em; text-align:center;">Correlación Pearson con CER</h3>
|
||||
<div class="chart-container">
|
||||
<canvas id="chartCorrelation"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h3 style="font-size:0.75em; text-align:center;">Importancia de Hiperparámetros</h3>
|
||||
<div class="chart-container">
|
||||
<canvas id="chartImportance"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="highlight-box" style="font-size:0.62em; margin-top:10px;">
|
||||
<strong>Insight:</strong> <code>use_doc_unwarping</code> (+0.88) es perjudicial en PDFs digitales (añade procesamiento innecesario). Los parámetros booleanos (arquitecturales) dominan sobre los umbrales numéricos.
|
||||
</div>
|
||||
</section>
|
||||
21
thesis_output/presentation/slides/14_validation.html
Normal file
21
thesis_output/presentation/slides/14_validation.html
Normal file
@@ -0,0 +1,21 @@
|
||||
<section data-chart="validation">
|
||||
<h2>Validación: Baseline vs Optimizado</h2>
|
||||
<div class="two-columns">
|
||||
<div class="chart-container">
|
||||
<canvas id="chartValidation"></canvas>
|
||||
</div>
|
||||
<div>
|
||||
<table class="data-table" style="font-size:0.7em;">
|
||||
<thead><tr><th>Métrica</th><th>Baseline</th><th>Optimizado</th><th>Mejora</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>CER (45 pág)</td><td>8.85%</td><td>7.72%</td><td class="improvement">-12.8%</td></tr>
|
||||
<tr><td>WER (45 pág)</td><td>13.05%</td><td>11.40%</td><td class="improvement">-12.6%</td></tr>
|
||||
<tr class="highlight"><td>CER (mejor trial, 5 pág)</td><td>7.76%</td><td>0.79%</td><td class="improvement">-89.8%</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="highlight-box" style="font-size:0.62em; margin-top:15px;">
|
||||
<strong>Nota:</strong> La diferencia entre el mejor trial (0.79%) y la validación completa (7.72%) evidencia <strong>sobreajuste</strong> al subconjunto de 5 páginas usado en la optimización. Un subconjunto más amplio (15-20 páginas) mejoraría la generalización.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
29
thesis_output/presentation/slides/15_gpu.html
Normal file
29
thesis_output/presentation/slides/15_gpu.html
Normal file
@@ -0,0 +1,29 @@
|
||||
<section data-chart="gpu">
|
||||
<h2>Aceleración GPU</h2>
|
||||
<div class="two-columns">
|
||||
<div class="chart-container">
|
||||
<canvas id="chartGPU"></canvas>
|
||||
</div>
|
||||
<div>
|
||||
<div class="metric-cards" style="flex-direction: column; gap: 12px;">
|
||||
<div class="metric-card" style="width:100%;">
|
||||
<div class="number" style="font-size: 2.2em; color: var(--unir-blue);">82x</div>
|
||||
<div class="label" style="font-size:0.8em;">Factor de aceleración</div>
|
||||
</div>
|
||||
<div class="metric-card" style="width:100%;">
|
||||
<div class="number">0.84 s</div>
|
||||
<div class="label">GPU: segundos por página</div>
|
||||
</div>
|
||||
<div class="metric-card" style="width:100%;">
|
||||
<div class="number warning">69.4 s</div>
|
||||
<div class="label">CPU: segundos por página</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="highlight-box" style="font-size:0.62em; margin-top:12px;">
|
||||
64 trials × 5 páginas:<br>
|
||||
<strong>CPU:</strong> ~6.2 horas<br>
|
||||
<strong>GPU:</strong> ~5 minutos
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
30
thesis_output/presentation/slides/16_optimal_config.html
Normal file
30
thesis_output/presentation/slides/16_optimal_config.html
Normal file
@@ -0,0 +1,30 @@
|
||||
<section>
|
||||
<h2>Configuración Óptima</h2>
|
||||
<div class="two-columns">
|
||||
<div>
|
||||
<div style="background: #1e1e1e; color: #d4d4d4; border-radius: 10px; padding: 20px; font-family: Consolas, monospace; font-size: 0.6em; line-height: 1.7;">
|
||||
<span style="color:#569cd6">config_optimizada</span> = {<br>
|
||||
<span style="color:#9cdcfe">"textline_orientation"</span>: <span style="color:#4ec9b0">True</span>, <span style="color:#6a9955"> # CRÍTICO</span><br>
|
||||
<span style="color:#9cdcfe">"use_doc_orientation_classify"</span>: <span style="color:#4ec9b0">True</span>,<br>
|
||||
<span style="color:#9cdcfe">"use_doc_unwarping"</span>: <span style="color:#4ec9b0">False</span>, <span style="color:#6a9955"> # Innecesario</span><br>
|
||||
<span style="color:#9cdcfe">"text_det_thresh"</span>: <span style="color:#b5cea8">0.0462</span>,<br>
|
||||
<span style="color:#9cdcfe">"text_det_box_thresh"</span>: <span style="color:#b5cea8">0.4862</span>,<br>
|
||||
<span style="color:#9cdcfe">"text_det_unclip_ratio"</span>: <span style="color:#b5cea8">0.0</span>,<br>
|
||||
<span style="color:#9cdcfe">"text_rec_score_thresh"</span>: <span style="color:#b5cea8">0.5658</span>,<br>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h3 style="font-size:0.8em;">Insights clave</h3>
|
||||
<ul class="compact-list">
|
||||
<li class="fragment fade-up"><strong><code>textline_orientation = True</code></strong>: Parámetro más impactante (-63.2% CER)</li>
|
||||
<li class="fragment fade-up"><strong><code>use_doc_unwarping = False</code></strong>: Procesamiento innecesario para PDFs digitales</li>
|
||||
<li class="fragment fade-up"><strong><code>text_det_thresh</code> bajo</strong>: Captura más regiones de texto, reduce omisiones</li>
|
||||
<li class="fragment fade-up"><strong>Parámetros booleanos</strong> dominan sobre umbrales numéricos</li>
|
||||
</ul>
|
||||
<div class="highlight-box" style="font-size: 0.62em; margin-top:12px;">
|
||||
Esta configuración es directamente aplicable a otros documentos académicos en español con layouts similares.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
43
thesis_output/presentation/slides/17_conclusions.html
Normal file
43
thesis_output/presentation/slides/17_conclusions.html
Normal file
@@ -0,0 +1,43 @@
|
||||
<section>
|
||||
<h2>Conclusiones</h2>
|
||||
<div class="two-columns">
|
||||
<div>
|
||||
<h3 style="font-size:0.78em; margin-bottom:10px;">Contribuciones</h3>
|
||||
<div class="contribution-item fragment fade-up">
|
||||
<div class="contribution-icon">1</div>
|
||||
<div><strong>Metodología reproducible</strong> para optimización de hiperparámetros OCR con código abierto</div>
|
||||
</div>
|
||||
<div class="contribution-item fragment fade-up">
|
||||
<div class="contribution-icon">2</div>
|
||||
<div><strong>Análisis sistemático</strong> de hiperparámetros PaddleOCR con correlaciones Pearson</div>
|
||||
</div>
|
||||
<div class="contribution-item fragment fade-up">
|
||||
<div class="contribution-icon">3</div>
|
||||
<div><strong>Configuración validada</strong> para documentos académicos en español (CER 0.79%)</div>
|
||||
</div>
|
||||
<div class="contribution-item fragment fade-up">
|
||||
<div class="contribution-icon">4</div>
|
||||
<div><strong>Infraestructura dockerizada</strong> reproducible con imágenes públicas</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h3 style="font-size:0.78em; margin-bottom:10px;">Limitaciones</h3>
|
||||
<div class="contribution-item fragment fade-up">
|
||||
<div class="limitation-icon">!</div>
|
||||
<div>Un único tipo de documento (académico UNIR)</div>
|
||||
</div>
|
||||
<div class="contribution-item fragment fade-up">
|
||||
<div class="limitation-icon">!</div>
|
||||
<div>Corpus modesto (45 páginas)</div>
|
||||
</div>
|
||||
<div class="contribution-item fragment fade-up">
|
||||
<div class="limitation-icon">!</div>
|
||||
<div>Sobreajuste al subconjunto de optimización (5 páginas)</div>
|
||||
</div>
|
||||
<div class="contribution-item fragment fade-up">
|
||||
<div class="limitation-icon">!</div>
|
||||
<div><code>text_det_unclip_ratio</code> no explorado</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
29
thesis_output/presentation/slides/18_future_work.html
Normal file
29
thesis_output/presentation/slides/18_future_work.html
Normal file
@@ -0,0 +1,29 @@
|
||||
<section>
|
||||
<h2>Líneas de Trabajo Futuro</h2>
|
||||
<div class="three-columns" style="font-size:0.72em;">
|
||||
<div>
|
||||
<h3 style="font-size:0.95em;">Extensiones inmediatas</h3>
|
||||
<ul class="compact-list">
|
||||
<li>Validación cruzada en otros tipos de documentos (facturas, formularios, manuscritos)</li>
|
||||
<li>Subconjunto de optimización más amplio (15-20 páginas)</li>
|
||||
<li>Exploración de <code>text_det_unclip_ratio</code></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<h3 style="font-size:0.95em;">Líneas de investigación</h3>
|
||||
<ul class="compact-list">
|
||||
<li>Transfer learning de hiperparámetros entre dominios</li>
|
||||
<li>Optimización multi-objetivo (CER + WER + velocidad)</li>
|
||||
<li>Comparación rigurosa HPO vs fine-tuning</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<h3 style="font-size:0.95em;">Aplicaciones prácticas</h3>
|
||||
<ul class="compact-list">
|
||||
<li>Herramienta de configuración automática por tipo de documento</li>
|
||||
<li>Integración en pipelines de producción</li>
|
||||
<li>Benchmark público de OCR en español</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
11
thesis_output/presentation/slides/19_thanks.html
Normal file
11
thesis_output/presentation/slides/19_thanks.html
Normal file
@@ -0,0 +1,11 @@
|
||||
<section class="title-slide thanks-slide" data-transition="fade">
|
||||
<img src="figures/unir_logo.png" class="logo-large" style="width:180px; margin-bottom:20px;" alt="UNIR">
|
||||
<h1 style="margin-bottom: 0.1em;">Gracias</h1>
|
||||
<div class="questions">Preguntas?</div>
|
||||
<div class="divider"></div>
|
||||
<div class="meta" style="font-size:0.6em;">
|
||||
<strong>Sergio Jiménez Jiménez</strong><br>
|
||||
Máster Universitario en Inteligencia Artificial<br>
|
||||
Universidad Internacional de La Rioja (UNIR) | 2025
|
||||
</div>
|
||||
</section>
|
||||
Reference in New Issue
Block a user