metrics and raytune reuslts
All checks were successful
build_docker / essential (pull_request) Successful in 1s
build_docker / build_cpu (pull_request) Successful in 3m53s
build_docker / build_easyocr (pull_request) Successful in 15m2s
build_docker / build_gpu (pull_request) Successful in 19m57s
build_docker / build_easyocr_gpu (pull_request) Successful in 15m43s
build_docker / build_doctr (pull_request) Successful in 16m40s
build_docker / build_doctr_gpu (pull_request) Successful in 13m25s

This commit is contained in:
2026-01-19 13:00:08 +01:00
parent 458ff5d831
commit 8bc3b38d46
13 changed files with 1063 additions and 661 deletions

View File

@@ -0,0 +1,104 @@
# Resultados de Ajuste de Hiperparámetros DocTR
**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 ~2-20 segundos en GPU
**Riesgo de Sobreajuste**: El ajuste de hiperparámetros en un subconjunto pequeño PUEDE causar sobreajuste. Nuestros resultados confirman esto:
- Subconjunto de ajuste: **38% mejora** (7.43% CER)
- Dataset completo: **0% mejora** (12.07% CER)
La falta total de mejora en el dataset completo indica sobreajuste severo a las páginas 5-10, combinado con limitaciones a nivel de modelo (manejo de diacríticos, estructura de líneas) que los hiperparámetros no pueden corregir.
## Evaluación del Dataset Completo (45 páginas)
| Métrica | Base | Ajustado | Mejora |
|---------|------|----------|--------|
| **CER** | 12.06% | 12.07% | **0%** |
| **WER** | 42.01% | 42.26% | **0%** |
| Tiempo/Página | 0.33s | 0.34s | - |
> **Nota:** El ajuste no generalizó al dataset completo. Los problemas de DocTR parecen ser a nivel de modelo (diacríticos, estructura de líneas).
## Resultados del Subconjunto de Ajuste (páginas 5-10)
| Métrica | Base | Ajustado | Mejora |
|---------|------|----------|--------|
| **CER** | 12.06% | **7.43%** | **38%** |
| **WER** | 42.01% | **35.23%** | **16%** |
> Nota: Las mejoras en el subconjunto de ajuste no se transfirieron al dataset completo.
## Mejor Configuración Encontrada
```json
{
"assume_straight_pages": true,
"straighten_pages": false,
"preserve_aspect_ratio": false,
"symmetric_pad": false,
"disable_page_orientation": true,
"disable_crop_orientation": false,
"resolve_lines": true,
"resolve_blocks": false,
"paragraph_break": 0.0977
}
```
## Hallazgos Clave
1. **straighten_pages: false** - ¡Crítico! Configurarlo en true causa ~79% CER (catastrófico)
2. **assume_straight_pages: true** - Funciona bien con escaneos de documentos rectos
3. **resolve_lines: true** - Ayuda a mantener la estructura de líneas
4. **disable_page_orientation: true** - Evita rotación innecesaria
## Impacto de Parámetros
Parámetros que mejoraron la precisión:
- `straighten_pages=False` absolutamente crítico
- `assume_straight_pages=True` en los mejores resultados
- `resolve_lines=True` mantiene la estructura del texto
Parámetros que perjudicaron la precisión:
- `straighten_pages=True` catastróficamente malo (~79% CER)
- `resolve_blocks=True` ligeramente peor que False
## Limitaciones Conocidas
Incluso con ajuste, DocTR todavía tiene problemas:
- Omite diacríticos (tildes) - probablemente problema a nivel de modelo
- Todavía tiene mayor WER que PaddleOCR debido a problemas de estructura
## Evaluación del Dataset Completo
**Estado:** Completado
```bash
curl -X POST http://localhost:8003/evaluate_full \
-H "Content-Type: application/json" \
-d '{
"pdf_folder": "/app/dataset",
"assume_straight_pages": true,
"straighten_pages": false,
"preserve_aspect_ratio": false,
"symmetric_pad": false,
"disable_page_orientation": true,
"disable_crop_orientation": false,
"resolve_lines": true,
"resolve_blocks": false,
"paragraph_break": 0.0977,
"save_output": true
}'
```
**Resultado:** CER 12.07%, WER 42.26%, 0.34s/página (sin mejora sobre la base)
**Conclusión:** Los problemas de precisión de DocTR son a nivel de modelo, no ajustables por hiperparámetros.