Chapter numbering fix
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
# Desarrollo específico de la contribución
|
||||
# 4. Desarrollo específico de la contribución
|
||||
|
||||
Este capítulo presenta el desarrollo completo del estudio comparativo y la optimización de hiperparámetros de sistemas OCR. Se estructura según el tipo de trabajo "Comparativa de soluciones" establecido por las instrucciones de UNIR: planteamiento de la comparativa, desarrollo de la comparativa, y discusión y análisis de resultados.
|
||||
|
||||
## Planteamiento de la comparativa
|
||||
## 4.1. Planteamiento de la comparativa
|
||||
|
||||
### 4.1.1 Introducción
|
||||
### 4.1.1. Introducción
|
||||
|
||||
Esta sección presenta los resultados del estudio comparativo realizado entre tres soluciones OCR de código abierto: EasyOCR, PaddleOCR y DocTR. Los experimentos fueron documentados en el notebook `ocr_benchmark_notebook.ipynb` del repositorio. El objetivo es identificar el modelo base más prometedor para la posterior fase de optimización de hiperparámetros.
|
||||
|
||||
### 4.1.2 Configuración del Experimento
|
||||
### 4.1.2. Configuración del Experimento
|
||||
|
||||
#### Dataset de Evaluación
|
||||
|
||||
@@ -61,7 +61,7 @@ def evaluate_text(reference, prediction):
|
||||
return {'WER': wer(reference, prediction), 'CER': cer(reference, prediction)}
|
||||
```
|
||||
|
||||
### 4.1.3 Resultados del Benchmark
|
||||
### 4.1.3. Resultados del Benchmark
|
||||
|
||||
#### Resultados de PaddleOCR (Datos del CSV)
|
||||
|
||||
@@ -107,7 +107,7 @@ Del archivo CSV, un ejemplo de predicción de PaddleOCR para la página 8:
|
||||
- `titulacióon` en lugar de `titulación` (carácter duplicado)
|
||||
- `Apa` en lugar de `APA` (capitalización)
|
||||
|
||||
### 4.1.4 Justificación de la Selección de PaddleOCR
|
||||
### 4.1.4. Justificación de la Selección de PaddleOCR
|
||||
|
||||
#### Criterios de Selección
|
||||
|
||||
@@ -128,13 +128,13 @@ Basándose en los resultados obtenidos y la documentación del benchmark:
|
||||
- Alta configurabilidad de hiperparámetros de inferencia
|
||||
- Pipeline modular que permite experimentación
|
||||
|
||||
### 4.1.5 Limitaciones del Benchmark
|
||||
### 4.1.5. Limitaciones del Benchmark
|
||||
|
||||
1. **Tamaño reducido**: Solo 5 páginas evaluadas en el benchmark comparativo inicial
|
||||
2. **Único tipo de documento**: Documentos académicos de UNIR únicamente
|
||||
3. **Ground truth**: El texto de referencia se extrajo automáticamente del PDF, lo cual puede introducir errores en layouts complejos
|
||||
|
||||
### 4.1.6 Resumen de la Sección
|
||||
### 4.1.6. Resumen de la Sección
|
||||
|
||||
Esta sección ha presentado:
|
||||
|
||||
@@ -147,13 +147,13 @@ Esta sección ha presentado:
|
||||
- `results/ai_ocr_benchmark_finetune_results_20251206_113206.csv`: Resultados numéricos
|
||||
- Documentación oficial de PaddleOCR
|
||||
|
||||
## Desarrollo de la comparativa: Optimización de hiperparámetros
|
||||
## 4.2. Desarrollo de la comparativa: Optimización de hiperparámetros
|
||||
|
||||
### 4.2.1 Introducción
|
||||
### 4.2.1. Introducción
|
||||
|
||||
Esta sección describe el proceso de optimización de hiperparámetros de PaddleOCR utilizando Ray Tune con el algoritmo de búsqueda Optuna. Los experimentos fueron implementados en el notebook `src/paddle_ocr_fine_tune_unir_raytune.ipynb` y los resultados se almacenaron en `src/raytune_paddle_subproc_results_20251207_192320.csv`.
|
||||
|
||||
### 4.2.2 Configuración del Experimento
|
||||
### 4.2.2. Configuración del Experimento
|
||||
|
||||
#### Entorno de Ejecución
|
||||
|
||||
@@ -229,7 +229,7 @@ tuner = tune.Tuner(
|
||||
- **Número de trials**: 64
|
||||
- **Trials concurrentes**: 2
|
||||
|
||||
### 4.2.3 Resultados de la Optimización
|
||||
### 4.2.3. Resultados de la Optimización
|
||||
|
||||
#### Estadísticas Descriptivas
|
||||
|
||||
@@ -308,6 +308,17 @@ Según el análisis del notebook, este parámetro booleano tiene el mayor impact
|
||||
**Interpretación**:
|
||||
El CER medio es ~3.3x menor con `textline_orientation=True` (3.76% vs 12.40%). Además, la varianza es mucho menor, lo que indica resultados más consistentes. Para documentos en español con layouts mixtos (tablas, encabezados, direcciones), la clasificación de orientación ayuda a PaddleOCR a ordenar correctamente las líneas de texto.
|
||||
|
||||
```mermaid
|
||||
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#0098CD'}}}%%
|
||||
xychart-beta
|
||||
title "Impacto de textline_orientation en CER"
|
||||
x-axis ["textline_orientation=False", "textline_orientation=True"]
|
||||
y-axis "CER (%)" 0 --> 15
|
||||
bar [12.40, 3.76]
|
||||
```
|
||||
|
||||
*Figura 3. Comparación del CER medio según el valor del parámetro textline_orientation.*
|
||||
|
||||
#### Análisis de Fallos
|
||||
|
||||
Los trials con CER muy alto (>40%) se produjeron cuando:
|
||||
@@ -319,7 +330,7 @@ Ejemplo de trial con fallo catastrófico:
|
||||
- WER: 59.45%
|
||||
- Configuración: `text_det_thresh=0.017`, `textline_orientation=True`
|
||||
|
||||
### 4.2.4 Comparación Baseline vs Optimizado
|
||||
### 4.2.4. Comparación Baseline vs Optimizado
|
||||
|
||||
#### Resultados sobre Dataset Completo (24 páginas)
|
||||
|
||||
@@ -349,12 +360,24 @@ Del análisis final del notebook ejecutando sobre las 24 páginas:
|
||||
|
||||
> "La optimización de hiperparámetros mejoró la precisión de caracteres de 92.2% a 98.5%, una ganancia de 6.3 puntos porcentuales. Aunque el baseline ya ofrecía resultados aceptables, la configuración optimizada reduce los errores residuales en un 80.9%."
|
||||
|
||||
```mermaid
|
||||
%%{init: {'theme': 'base'}}%%
|
||||
xychart-beta
|
||||
title "Comparación Baseline vs Optimizado (24 páginas)"
|
||||
x-axis ["CER", "WER"]
|
||||
y-axis "Tasa de error (%)" 0 --> 16
|
||||
bar "Baseline" [7.78, 14.94]
|
||||
bar "Optimizado" [1.49, 7.62]
|
||||
```
|
||||
|
||||
*Figura 4. Comparación de métricas de error entre configuración baseline y optimizada.*
|
||||
|
||||
**Impacto práctico**: En un documento de 10,000 caracteres:
|
||||
- Baseline: ~778 caracteres con error
|
||||
- Optimizado: ~149 caracteres con error
|
||||
- Diferencia: ~629 caracteres menos con errores
|
||||
|
||||
### 4.2.5 Tiempo de Ejecución
|
||||
### 4.2.5. Tiempo de Ejecución
|
||||
|
||||
| Métrica | Valor |
|
||||
|---------|-------|
|
||||
@@ -363,7 +386,7 @@ Del análisis final del notebook ejecutando sobre las 24 páginas:
|
||||
| Tiempo medio por página | 69.42 segundos |
|
||||
| Total páginas procesadas | 64 trials × 5 páginas = 320 evaluaciones |
|
||||
|
||||
### 4.2.6 Resumen de la Sección
|
||||
### 4.2.6. Resumen de la Sección
|
||||
|
||||
Esta sección ha presentado:
|
||||
|
||||
@@ -380,13 +403,13 @@ Esta sección ha presentado:
|
||||
- `src/raytune_paddle_subproc_results_20251207_192320.csv`: Resultados de 64 trials
|
||||
- `src/paddle_ocr_tuning.py`: Script de evaluación
|
||||
|
||||
## Discusión y análisis de resultados
|
||||
## 4.3. Discusión y análisis de resultados
|
||||
|
||||
### 4.3.1 Introducción
|
||||
### 4.3.1. Introducción
|
||||
|
||||
Esta sección presenta un análisis consolidado de los resultados obtenidos en las fases de benchmark comparativo y optimización de hiperparámetros. Se discuten las implicaciones prácticas y se evalúa el cumplimiento de los objetivos planteados.
|
||||
|
||||
### 4.3.2 Resumen de Resultados
|
||||
### 4.3.2. Resumen de Resultados
|
||||
|
||||
#### Resultados del Benchmark Comparativo
|
||||
|
||||
@@ -423,7 +446,7 @@ Resultados del notebook `src/paddle_ocr_fine_tune_unir_raytune.ipynb`:
|
||||
| PaddleOCR (Baseline) | 7.78% | 92.22% | 14.94% | 85.06% |
|
||||
| PaddleOCR-HyperAdjust | 1.49% | 98.51% | 7.62% | 92.38% |
|
||||
|
||||
### 4.3.3 Análisis de Resultados
|
||||
### 4.3.3. Análisis de Resultados
|
||||
|
||||
#### Mejora Obtenida
|
||||
|
||||
@@ -481,7 +504,7 @@ config_optimizada = {
|
||||
}
|
||||
```
|
||||
|
||||
### 4.3.4 Discusión
|
||||
### 4.3.4. Discusión
|
||||
|
||||
#### Hallazgos Principales
|
||||
|
||||
@@ -519,7 +542,7 @@ La correlación negativa de `text_det_thresh` (-0.52) con el CER indica que:
|
||||
| OE5: Validar configuración | Documentar mejora | CER 7.78% → 1.49% | ✓ |
|
||||
| **Objetivo General** | CER < 2% | CER = 1.49% | ✓ |
|
||||
|
||||
### 4.3.5 Implicaciones Prácticas
|
||||
### 4.3.5. Implicaciones Prácticas
|
||||
|
||||
#### Recomendaciones de Configuración
|
||||
|
||||
@@ -547,7 +570,7 @@ Esta metodología de optimización es aplicable cuando:
|
||||
- El modelo preentrenado ya tiene soporte para el idioma objetivo
|
||||
- Se busca mejorar rendimiento sin reentrenar
|
||||
|
||||
### 4.3.6 Resumen de la Sección
|
||||
### 4.3.6. Resumen de la Sección
|
||||
|
||||
Esta sección ha presentado:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user