assit commands for claude
All checks were successful
build_docker / essential (pull_request) Successful in 1s
build_docker / build_cpu (pull_request) Successful in 5m0s
build_docker / build_gpu (pull_request) Successful in 22m37s
build_docker / build_easyocr (pull_request) Successful in 18m5s
build_docker / build_easyocr_gpu (pull_request) Successful in 15m43s
build_docker / build_doctr (pull_request) Successful in 17m17s
build_docker / build_raytune (pull_request) Successful in 3m24s
build_docker / build_doctr_gpu (pull_request) Successful in 16m54s

This commit is contained in:
2026-01-20 11:35:56 +01:00
parent c7ed7b2b9c
commit 6b98aeacac
26 changed files with 1135 additions and 609 deletions

View File

@@ -6,18 +6,20 @@ Este capítulo resume las principales conclusiones del trabajo, evalúa el grado
### Conclusiones Generales
Este Trabajo Fin de Máster ha demostrado que es posible mejorar significativamente el rendimiento de sistemas OCR preentrenados mediante optimización sistemática de hiperparámetros, sin requerir fine-tuning ni recursos GPU dedicados.
Este Trabajo Fin de Máster ha demostrado que es posible mejorar significativamente el rendimiento de sistemas OCR preentrenados mediante optimización sistemática de hiperparámetros, utilizando una infraestructura dockerizada con aceleración GPU para facilitar la experimentación.
El objetivo principal del trabajo era alcanzar un CER inferior al 2% en documentos académicos en español. Los resultados obtenidos confirman el cumplimiento de este objetivo:
El objetivo principal del trabajo era alcanzar un CER inferior al 2% en documentos académicos en español. Los resultados obtenidos se resumen a continuación:
**Tabla 39.** *Cumplimiento del objetivo de CER.*
**Tabla 44.** *Cumplimiento del objetivo de CER.*
| Métrica | Objetivo | Resultado |
|---------|----------|-----------|
| CER | < 2% | **1.49%** |
| Métrica | Objetivo | Mejor Trial | Dataset Completo | Cumplimiento |
|---------|----------|-------------|------------------|--------------|
| CER | < 2% | **0.79%** | **7.72%** | ✓ Parcial |
*Fuente: Elaboración propia.*
> **Nota:** El objetivo de CER < 2% se cumple en el mejor trial individual (0.79%, 5 páginas). La validación sobre el conjunto de datos completo (45 páginas) muestra un CER de 7.72%, evidenciando sobreajuste al subconjunto de optimización. Esta diferencia se analiza en detalle en el Capítulo 4.
### Conclusiones Específicas
**Respecto a OE1 (Comparativa de soluciones OCR)**:
@@ -25,25 +27,27 @@ El objetivo principal del trabajo era alcanzar un CER inferior al 2% en document
- PaddleOCR demostró el mejor rendimiento base para documentos en español
- La configurabilidad del pipeline de PaddleOCR lo hace idóneo para optimización
**Respecto a OE2 (Preparación del dataset)**:
- Se construyó un dataset estructurado con 24 páginas de documentos académicos
**Respecto a OE2 (Preparación del conjunto de datos)**:
- Se construyó un conjunto de datos estructurado con 45 páginas de documentos académicos
- La clase `ImageTextDataset` facilita la carga de pares imagen-texto
- El ground truth se extrajo automáticamente del PDF mediante PyMuPDF
- El texto de referencia se extrajo automáticamente del PDF mediante PyMuPDF
**Respecto a OE3 (Identificación de hiperparámetros críticos)**:
- El parámetro `textline_orientation` es el más influyente: reduce el CER en un 69.7% cuando está habilitado
- El umbral `text_det_thresh` presenta la correlación más fuerte (-0.52) con el CER
- Los parámetros de corrección de documento (`use_doc_orientation_classify`, `use_doc_unwarping`) no aportan mejora en documentos digitales
- El parámetro `textline_orientation` es el más influyente, siendo crítico para obtener buenos resultados
- El parámetro `use_doc_orientation_classify` demostró impacto positivo en la configuración GPU
- El umbral `text_det_thresh` presenta correlación negativa moderada (-0.52) con el CER
- El parámetro `use_doc_unwarping` no aporta mejora en documentos digitales
**Respecto a OE4 (Optimización con Ray Tune)**:
- Se ejecutaron 64 trials con el algoritmo OptunaSearch
- El tiempo total del experimento fue aproximadamente 6 horas (en CPU)
- Se ejecutaron 64 trials con el algoritmo OptunaSearch y aceleración GPU
- El tiempo total del experimento fue aproximadamente 1.5 horas (con GPU RTX 3060)
- La arquitectura basada en contenedores Docker permitió superar incompatibilidades entre Ray y los motores OCR, facilitando además la portabilidad y reproducibilidad
**Respecto a OE5 (Validación de la configuración)**:
- Se validó la configuración óptima sobre el dataset completo de 24 páginas
- La mejora obtenida fue del 80.9% en reducción del CER (7.78% → 1.49%)
- La precisión de caracteres alcanzó el 98.51%
- Se validó la configuración óptima sobre el conjunto de datos completo de 45 páginas
- El mejor trial individual alcanzó un CER de 0.79% (precisión del 99.21%)
- En el conjunto de datos completo se obtuvo una mejora del 12.8% en CER (8.85% → 7.72%)
- La diferencia entre resultados de trial y validación completa revela sobreajuste al subconjunto de optimización
### Hallazgos Clave
@@ -53,7 +57,7 @@ El objetivo principal del trabajo era alcanzar un CER inferior al 2% en document
3. **Simplicidad para documentos digitales**: Para documentos PDF digitales (no escaneados), los módulos de corrección de orientación y deformación son innecesarios.
4. **Optimización sin fine-tuning**: Se puede mejorar significativamente el rendimiento de modelos preentrenados mediante ajuste de hiperparámetros de inferencia.
4. **Optimización sin fine-tuning**: Se puede mejorar el rendimiento de modelos preentrenados mediante ajuste de hiperparámetros de inferencia, aunque la generalización a conjuntos de datos más amplios requiere validación cuidadosa.
### Contribuciones del Trabajo
@@ -69,23 +73,27 @@ El objetivo principal del trabajo era alcanzar un CER inferior al 2% en document
1. **Tipo de documento único**: Los experimentos se realizaron únicamente sobre documentos académicos de UNIR. La generalización a otros tipos de documentos requiere validación adicional.
2. **Tamaño del dataset**: 24 páginas es un corpus limitado para conclusiones estadísticamente robustas.
2. **Tamaño del conjunto de datos**: 45 páginas es un corpus limitado para conclusiones estadísticamente robustas.
3. **Ground truth automático**: La extracción automática del texto de referencia puede introducir errores en layouts complejos.
3. **Texto de referencia automático**: La extracción automática del texto de referencia puede introducir errores en diseños complejos.
4. **Validación en entorno limitado**: Aunque se validó con GPU (126x más rápido que CPU, 0.55s/página), los experimentos se realizaron en hardware de consumo (RTX 3060). Hardware empresarial podría ofrecer mejor rendimiento.
4. **Sobreajuste al subconjunto de optimización**: El ajuste sobre 5 páginas no generalizó completamente al conjunto de datos de 45 páginas, resultando en un CER de 7.72% frente al 0.79% del mejor trial.
5. **Parámetro no explorado**: `text_det_unclip_ratio` permaneció fijo en 0.0 durante todo el experimento.
6. **Hardware de consumo**: Aunque la GPU RTX 3060 proporcionó una aceleración de 82× respecto a CPU, hardware empresarial podría ofrecer mejor rendimiento.
## Líneas de trabajo futuro
### Extensiones Inmediatas
1. **Validación cruzada**: Evaluar la configuración óptima en otros tipos de documentos en español (facturas, formularios, textos manuscritos).
2. **Exploración de `text_det_unclip_ratio`**: Incluir este parámetro en el espacio de búsqueda.
2. **Subconjunto de optimización más amplio**: Utilizar un subconjunto mayor (15-20 páginas) para el ajuste de hiperparámetros y reducir el sobreajuste.
3. **Dataset ampliado**: Construir un corpus más amplio y diverso de documentos en español.
3. **Exploración de `text_det_unclip_ratio`**: Incluir este parámetro en el espacio de búsqueda.
4. **Conjunto de datos ampliado**: Construir un corpus más amplio y diverso de documentos en español.
### Líneas de Investigación
@@ -107,9 +115,11 @@ El objetivo principal del trabajo era alcanzar un CER inferior al 2% en document
### Reflexión Final
Este trabajo demuestra que, en un contexto de recursos limitados donde el fine-tuning de modelos de deep learning no es viable, la optimización de hiperparámetros representa una alternativa práctica y efectiva para mejorar sistemas OCR.
Este trabajo demuestra que la optimización de hiperparámetros representa una alternativa viable al fine-tuning para mejorar sistemas OCR, especialmente cuando se dispone de modelos preentrenados para el idioma objetivo.
La metodología propuesta es reproducible, los resultados son cuantificables, y las conclusiones son aplicables a escenarios reales de procesamiento documental. La reducción del CER del 7.78% al 1.49% representa una mejora sustancial que puede tener impacto directo en aplicaciones downstream como extracción de información, análisis semántico y búsqueda de documentos.
La metodología propuesta es reproducible, los resultados son cuantificables, y las conclusiones son aplicables a escenarios reales de procesamiento documental. Aunque el objetivo de CER < 2% se alcanzó en el mejor trial individual (0.79%), la validación sobre el conjunto de datos completo (7.72%) revela la importancia de utilizar subconjuntos de optimización representativos y de validar rigurosamente la generalización.
El código fuente y los datos experimentales están disponibles públicamente para facilitar la reproducción y extensión de este trabajo.
La infraestructura dockerizada desarrollada facilita la reproducibilidad de los experimentos y la evaluación sistemática de configuraciones OCR. La aceleración de 82× proporcionada por GPU hace viable la exploración exhaustiva de espacios de hiperparámetros en tiempos razonables.
El código fuente, las imágenes Docker y los datos experimentales están disponibles públicamente en el [repositorio del proyecto](https://github.com/seryus/MastersThesis) para facilitar la reproducción y extensión de este trabajo.