# Resultados de Ajuste de Hiperparámetros PaddleOCR > **Nota:** Los resultados de este documento corresponden a la fase de validación GPU con 45 páginas. El resultado oficial del TFM es **CER 1.49%** obtenido en la validación final de 24 páginas con la configuración optimizada (ver `docs/04_desarrollo_especifico.md`). **Fecha de Ajuste:** 2026-01-19 **Plataforma:** NVIDIA RTX 3060 Laptop GPU **Muestras:** 64 **Páginas de Prueba:** 5-10 (primer documento) ### ¿Por Qué Solo 5 Páginas? Usamos solo 5 páginas (páginas 5-10) para el ajuste de hiperparámetros porque: 1. **Velocidad**: 64 pruebas × 5 páginas = 320 evaluaciones de página. Con 45 páginas, serían 2,880 evaluaciones (~9x más tiempo) 2. **Eficiencia de recursos**: Cada prueba toma ~3-10 segundos en GPU; el dataset completo tomaría ~1 hora por prueba en CPU **Riesgo de Sobreajuste**: El ajuste de hiperparámetros en un subconjunto pequeño PUEDE causar sobreajuste. Nuestros resultados confirman esto: - Subconjunto de ajuste: **90% mejora** (0.79% CER) - Dataset completo: **12.8% mejora** (7.72% CER) La diferencia dramática muestra que los hiperparámetros se sobreajustaron parcialmente a las páginas 5-10. Un subconjunto de ajuste más grande (ej. 15-20 páginas) podría producir parámetros que generalicen mejor, pero aumentaría el tiempo de ajuste proporcionalmente. ## Evaluación del Dataset Completo (45 páginas) | Métrica | Base | Ajustado | Mejora | |---------|------|----------|--------| | **CER** | 8.85% | **7.72%** | **12.8%** | | **WER** | 13.05% | **11.40%** | **12.6%** | | Tiempo/Página | 0.51s | 0.55s | - | ## Resultados del Subconjunto de Ajuste (páginas 5-10) | Métrica | Base | Ajustado | Mejora | |---------|------|----------|--------| | **CER** | 7.76% | **0.79%** | **90%** | | **WER** | 11.62% | **7.78%** | **33%** | > Nota: El subconjunto de ajuste mostró mayores mejoras, sugiriendo que algunos hiperparámetros son específicos de la página. ## Mejor Configuración Encontrada ```json { "use_doc_orientation_classify": true, "use_doc_unwarping": false, "textline_orientation": true, "text_det_thresh": 0.0462, "text_det_box_thresh": 0.4862, "text_det_unclip_ratio": 0.0, "text_rec_score_thresh": 0.5658 } ``` ## Hallazgos Clave 1. **textline_orientation: true** - Crítico para la precisión 2. **use_doc_orientation_classify: true** - Ayuda con la detección de orientación de página 3. **use_doc_unwarping: false** - El enderezamiento de documentos perjudica la precisión en este dataset 4. **Bajo text_det_thresh (0.0462)** - Detección de texto más sensible ayuda 5. **Mayor text_rec_score_thresh (0.5658)** - Filtra reconocimientos de baja confianza ## Impacto de Parámetros Parámetros que mejoraron la precisión: - `textline_orientation=True` consistentemente en los mejores resultados - `use_doc_orientation_classify=True` en las mejores pruebas - Valores más bajos de `text_det_thresh` (0.04-0.10) Parámetros que perjudicaron la precisión: - `use_doc_unwarping=True` aumentó el CER significativamente - `text_det_box_thresh` muy bajo (<0.01) causó problemas ## Evaluación del Dataset Completo **Estado:** Completado ```bash curl -X POST http://localhost:8002/evaluate_full \ -H "Content-Type: application/json" \ -d '{ "pdf_folder": "/app/dataset", "use_doc_orientation_classify": true, "use_doc_unwarping": false, "textline_orientation": true, "text_det_thresh": 0.0462, "text_det_box_thresh": 0.4862, "text_det_unclip_ratio": 0.0, "text_rec_score_thresh": 0.5658, "save_output": true }' ``` **Resultado:** CER 7.72%, WER 11.40%, 0.55s/página ## Configuración del Modelo ### Modelo Actual (Correcto para Español) | Componente | Modelo | Estado | |------------|--------|--------| | Detección | `PP-OCRv5_mobile_det` | Correcto | | Reconocimiento | `PP-OCRv5_mobile_rec` | Correcto | Los modelos PP-OCRv5 mobile soportan múltiples idiomas incluyendo español con buen manejo de diacríticos. ### Nota sobre Modelos Server PaddleOCR ofrece modelos "server" más precisos: - `PP-OCRv5_server_det` + `PP-OCRv5_server_rec` - Requieren ~5.3 GB VRAM **Limitación:** En la RTX 3060 (5.66 GB VRAM) los modelos server causan **OOM (Out of Memory)** en la página 2. Los modelos mobile usados (7.72% CER) son la mejor opción práctica para este hardware. Para hardware con más VRAM (8+ GB), los modelos server podrían mejorar la precisión. ## Análisis de Errores del Debugset ### Errores Observados | Ground Truth | PaddleOCR | Tipo de Error | |--------------|-----------|---------------| | `bibliografía` | `bibliografia` | Acento omitido | | `amplían` | `amplian` | Acento omitido | | `, debes` | `, debes` | Coma Unicode china | | Líneas separadas | Footer fusionado | Estructura menor | ### Fortalezas - **Preserva estructura de líneas**: Mantiene saltos de línea correctamente - **Buen manejo de español**: La mayoría de acentos se reconocen bien - **Bajo ruido**: No inserta caracteres espurios ### ¿Fine-tuning Recomendado? **No.** Con 7.72% CER, PaddleOCR ya tiene excelente precisión para documentos españoles. Los errores observados son menores: - Acentos omitidos: ~5% de casos - Puntuación Unicode: Muy ocasional - Impacto en legibilidad: Mínimo El esfuerzo de fine-tuning no se justifica para ganancias marginales. Para casos de uso críticos donde se requiera <5% CER, considerar post-procesamiento con corrector ortográfico