Markdown chapters.
This commit is contained in:
183
docs/06_resultados_discusion.md
Normal file
183
docs/06_resultados_discusion.md
Normal file
@@ -0,0 +1,183 @@
|
||||
# Capítulo 6: Resultados y Discusión
|
||||
|
||||
## 6.1 Introducción
|
||||
|
||||
Este capítulo 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.
|
||||
|
||||
## 6.2 Resumen de Resultados
|
||||
|
||||
### 6.2.1 Resultados del Benchmark Comparativo
|
||||
|
||||
Del archivo `results/ai_ocr_benchmark_finetune_results_20251206_113206.csv`, PaddleOCR con configuración inicial (`use_textline_orientation=True`) obtuvo los siguientes resultados en las páginas 5-9:
|
||||
|
||||
| Página | WER | CER |
|
||||
|--------|-----|-----|
|
||||
| 5 | 12.16% | 6.33% |
|
||||
| 6 | 12.81% | 6.40% |
|
||||
| 7 | 11.06% | 6.24% |
|
||||
| 8 | 8.13% | 1.54% |
|
||||
| 9 | 10.61% | 5.58% |
|
||||
| **Promedio** | **10.95%** | **5.22%** |
|
||||
|
||||
### 6.2.2 Resultados de la Optimización con Ray Tune
|
||||
|
||||
Del archivo `src/raytune_paddle_subproc_results_20251207_192320.csv` (64 trials):
|
||||
|
||||
| Métrica | Valor |
|
||||
|---------|-------|
|
||||
| CER mínimo | 1.15% |
|
||||
| CER medio | 5.25% |
|
||||
| CER máximo | 51.61% |
|
||||
| WER mínimo | 9.89% |
|
||||
| WER medio | 14.28% |
|
||||
| WER máximo | 59.45% |
|
||||
|
||||
### 6.2.3 Comparación Final (Dataset Completo - 24 páginas)
|
||||
|
||||
Resultados del notebook `src/paddle_ocr_fine_tune_unir_raytune.ipynb`:
|
||||
|
||||
| Modelo | CER | Precisión Caracteres | WER | Precisión Palabras |
|
||||
|--------|-----|---------------------|-----|-------------------|
|
||||
| PaddleOCR (Baseline) | 7.78% | 92.22% | 14.94% | 85.06% |
|
||||
| PaddleOCR-HyperAdjust | 1.49% | 98.51% | 7.62% | 92.38% |
|
||||
|
||||
## 6.3 Análisis de Resultados
|
||||
|
||||
### 6.3.1 Mejora Obtenida
|
||||
|
||||
| Forma de Medición | Valor |
|
||||
|-------------------|-------|
|
||||
| Mejora en precisión de caracteres (absoluta) | +6.29 puntos porcentuales |
|
||||
| Reducción del CER (relativa) | 80.9% |
|
||||
| Mejora en precisión de palabras (absoluta) | +7.32 puntos porcentuales |
|
||||
| Reducción del WER (relativa) | 49.0% |
|
||||
| Precisión final de caracteres | 98.51% |
|
||||
|
||||
### 6.3.2 Impacto de Hiperparámetros Individuales
|
||||
|
||||
#### Parámetro `textline_orientation`
|
||||
|
||||
Este parámetro booleano demostró ser el más influyente:
|
||||
|
||||
| Valor | CER Medio | Impacto |
|
||||
|-------|-----------|---------|
|
||||
| True | ~3.76% | Rendimiento óptimo |
|
||||
| False | ~12.40% | 3.3x peor |
|
||||
|
||||
**Reducción del CER**: 69.7% cuando se habilita la clasificación de orientación de línea.
|
||||
|
||||
#### Parámetro `text_det_thresh`
|
||||
|
||||
Correlación con CER: **-0.523** (la más fuerte de los parámetros continuos)
|
||||
|
||||
| Rango | Comportamiento |
|
||||
|-------|----------------|
|
||||
| < 0.1 | Fallos catastróficos (CER 40-50%) |
|
||||
| 0.3 - 0.6 | Rendimiento óptimo |
|
||||
| Valor óptimo | 0.4690 |
|
||||
|
||||
#### Parámetros con menor impacto
|
||||
|
||||
| Parámetro | Correlación con CER | Valor óptimo |
|
||||
|-----------|---------------------|--------------|
|
||||
| text_det_box_thresh | +0.226 | 0.5412 |
|
||||
| text_rec_score_thresh | -0.161 | 0.6350 |
|
||||
| use_doc_orientation_classify | - | False |
|
||||
| use_doc_unwarping | - | False |
|
||||
|
||||
### 6.3.3 Configuración Óptima Final
|
||||
|
||||
```python
|
||||
config_optimizada = {
|
||||
"textline_orientation": True, # CRÍTICO
|
||||
"use_doc_orientation_classify": False,
|
||||
"use_doc_unwarping": False,
|
||||
"text_det_thresh": 0.4690, # Correlación -0.52
|
||||
"text_det_box_thresh": 0.5412,
|
||||
"text_det_unclip_ratio": 0.0,
|
||||
"text_rec_score_thresh": 0.6350,
|
||||
}
|
||||
```
|
||||
|
||||
## 6.4 Discusión
|
||||
|
||||
### 6.4.1 Hallazgos Principales
|
||||
|
||||
1. **Importancia de la clasificación de orientación de línea**: El parámetro `textline_orientation=True` es el factor más determinante. Esto tiene sentido para documentos con layouts mixtos (tablas, encabezados, direcciones) donde el orden correcto de las líneas de texto es crucial.
|
||||
|
||||
2. **Umbral de detección crítico**: El parámetro `text_det_thresh` presenta un umbral mínimo efectivo (~0.1). Valores inferiores generan demasiados falsos positivos en la detección, corrompiendo el reconocimiento posterior.
|
||||
|
||||
3. **Componentes opcionales innecesarios**: Para documentos académicos digitales (no escaneados), los módulos de corrección de orientación de documento (`use_doc_orientation_classify`) y corrección de deformación (`use_doc_unwarping`) no aportan mejora e incluso pueden introducir overhead.
|
||||
|
||||
### 6.4.2 Interpretación de la Correlación Negativa
|
||||
|
||||
La correlación negativa de `text_det_thresh` (-0.52) con el CER indica que:
|
||||
- Umbrales más altos filtran detecciones de baja confianza
|
||||
- Esto reduce falsos positivos que generan texto erróneo
|
||||
- El reconocimiento es más preciso con menos regiones pero más confiables
|
||||
|
||||
### 6.4.3 Limitaciones de los Resultados
|
||||
|
||||
1. **Generalización**: Los resultados se obtuvieron sobre documentos de un único tipo (instrucciones académicas UNIR). La configuración óptima puede variar para otros tipos de documentos.
|
||||
|
||||
2. **Ground truth automático**: El texto de referencia se extrajo programáticamente del PDF. En layouts complejos, esto puede introducir errores en la evaluación.
|
||||
|
||||
3. **Ejecución en CPU**: Los tiempos reportados (~69s/página) corresponden a ejecución en CPU. Con GPU, los tiempos serían significativamente menores.
|
||||
|
||||
4. **Parámetro fijo**: `text_det_unclip_ratio` permaneció fijo en 0.0 durante todo el experimento por decisión de diseño.
|
||||
|
||||
### 6.4.4 Comparación con Objetivos
|
||||
|
||||
| Objetivo | Meta | Resultado | Cumplimiento |
|
||||
|----------|------|-----------|--------------|
|
||||
| OE1: Comparar soluciones OCR | Evaluar EasyOCR, PaddleOCR, DocTR | PaddleOCR seleccionado | ✓ |
|
||||
| OE2: Preparar dataset | Construir dataset estructurado | Dataset de 24 páginas | ✓ |
|
||||
| OE3: Identificar hiperparámetros críticos | Analizar correlaciones | `textline_orientation` y `text_det_thresh` identificados | ✓ |
|
||||
| OE4: Optimizar con Ray Tune | Mínimo 50 configuraciones | 64 trials ejecutados | ✓ |
|
||||
| OE5: Validar configuración | Documentar mejora | CER 7.78% → 1.49% | ✓ |
|
||||
| **Objetivo General** | CER < 2% | CER = 1.49% | ✓ |
|
||||
|
||||
## 6.5 Implicaciones Prácticas
|
||||
|
||||
### 6.5.1 Recomendaciones de Configuración
|
||||
|
||||
Para documentos académicos en español similares a los evaluados:
|
||||
|
||||
1. **Obligatorio**: `use_textline_orientation=True`
|
||||
2. **Recomendado**: `text_det_thresh` entre 0.4 y 0.5
|
||||
3. **Opcional**: `text_det_box_thresh` ~0.5, `text_rec_score_thresh` >0.6
|
||||
4. **No recomendado**: Habilitar `use_doc_orientation_classify` o `use_doc_unwarping` para documentos digitales
|
||||
|
||||
### 6.5.2 Impacto Cuantitativo
|
||||
|
||||
En un documento típico de 10,000 caracteres:
|
||||
|
||||
| Configuración | Errores estimados |
|
||||
|---------------|-------------------|
|
||||
| Baseline | ~778 caracteres |
|
||||
| Optimizada | ~149 caracteres |
|
||||
| **Reducción** | **629 caracteres menos con errores** |
|
||||
|
||||
### 6.5.3 Aplicabilidad
|
||||
|
||||
Esta metodología de optimización es aplicable cuando:
|
||||
- No se dispone de recursos GPU para fine-tuning
|
||||
- El modelo preentrenado ya tiene soporte para el idioma objetivo
|
||||
- Se busca mejorar rendimiento sin reentrenar
|
||||
|
||||
## 6.6 Resumen del Capítulo
|
||||
|
||||
Este capítulo ha presentado:
|
||||
|
||||
1. Los resultados consolidados del benchmark y la optimización
|
||||
2. El análisis del impacto de cada hiperparámetro
|
||||
3. La configuración óptima identificada
|
||||
4. La discusión de limitaciones y aplicabilidad
|
||||
5. El cumplimiento de los objetivos planteados
|
||||
|
||||
**Resultado principal**: Se logró reducir el CER del 7.78% al 1.49% (mejora del 80.9%) mediante optimización de hiperparámetros, cumpliendo el objetivo de alcanzar CER < 2%.
|
||||
|
||||
**Fuentes de datos:**
|
||||
- `results/ai_ocr_benchmark_finetune_results_20251206_113206.csv`
|
||||
- `src/raytune_paddle_subproc_results_20251207_192320.csv`
|
||||
- `src/paddle_ocr_fine_tune_unir_raytune.ipynb`
|
||||
Reference in New Issue
Block a user