Docs aligment on latest metrics.
Some checks failed
build_docker / essential (pull_request) Successful in 1s
build_docker / build_gpu (pull_request) Has been cancelled
build_docker / build_easyocr (pull_request) Has been cancelled
build_docker / build_cpu (pull_request) Successful in 5m25s
build_docker / build_easyocr_gpu (pull_request) Has been cancelled
build_docker / build_doctr (pull_request) Has been cancelled
build_docker / build_doctr_gpu (pull_request) Has been cancelled

This commit is contained in:
2026-01-19 13:41:07 +01:00
parent 8bc3b38d46
commit 316ace4d51
11 changed files with 329 additions and 58 deletions

View File

@@ -102,3 +102,79 @@ curl -X POST http://localhost:8003/evaluate_full \
**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.
## Configuración del Modelo
### Modelo Actual
| Componente | Modelo | Estado |
|------------|--------|--------|
| Detección | `db_resnet50` | Correcto |
| Reconocimiento | `crnn_vgg16_bn` | Mejor opción disponible |
El modelo `crnn_vgg16_bn` fue entrenado principalmente con datasets en inglés y francés, lo que explica la pérdida sistemática de diacríticos españoles (á, é, í, ó, ú, ñ).
### Prueba con Modelo Alternativo (parseq)
Se probó el modelo `parseq` (transformer) como alternativa:
| Métrica | crnn_vgg16_bn | parseq | Resultado |
|---------|---------------|--------|-----------|
| **CER** | 12.07% | 12.32% | **+2% peor** |
| **WER** | 42.26% | 44.0% | **+4% peor** |
| Tiempo/Página | 0.34s | 0.70s | 2x más lento |
| Diacríticos | No | No | Sin mejora |
**Conclusión:** El modelo `parseq` no mejora los diacríticos españoles y es más lento. Todos los modelos pre-entrenados de DocTR fueron entrenados principalmente en inglés/francés. Para español se requeriría **fine-tuning con corpus español**.
### No Se Recomienda Cambio de Modelo
Mantener `crnn_vgg16_bn` (más rápido, ligeramente mejor precisión). Los problemas de diacríticos son de **datos de entrenamiento**, no de arquitectura del modelo
## Análisis de Errores del Debugset
### Errores Observados
| Ground Truth | DocTR | Tipo de Error |
|--------------|-------|---------------|
| `bibliográficas` | `bibliograficas` | Diacrítico omitido |
| `sección` | `seccion` | Diacrítico omitido |
| `Máster` | `Master` | Diacrítico omitido |
| `información` | `informacion` | Diacrítico omitido |
| `o amplían` | `O amplian` | Mayúscula incorrecta |
| Líneas separadas | Todo en una línea | **Estructura perdida** |
### Problemas Críticos
1. **Pérdida total de estructura**: Todo el texto de la página se colapsa en una sola línea
2. **Omisión sistemática de diacríticos**: TODOS los acentos españoles se pierden
3. **Errores de capitalización**: `o``O` en medio de oraciones
### ¿Fine-tuning Recomendado?
**Sí, para diacríticos.** El modelo CRNN de DocTR fue entrenado principalmente con textos en inglés y francés, lo que explica la omisión sistemática de acentos españoles.
| Problema | ¿Fine-tuning ayuda? | Explicación |
|----------|---------------------|-------------|
| Diacríticos | **Sí** | Entrenar con corpus español enseñaría al modelo los acentos |
| Estructura de líneas | **No** | Problema arquitectural del modelo, no de entrenamiento |
| Capitalización | **Parcial** | Podría mejorar con datos de entrenamiento adecuados |
### Cómo Fine-Tunear DocTR
```python
from doctr.models import recognition_predictor
from doctr.datasets import RecognitionDataset
# Cargar dataset español
train_set = RecognitionDataset(
img_folder="path/to/spanish/images",
labels_path="path/to/spanish/labels.json"
)
# Fine-tune el modelo de reconocimiento
model = recognition_predictor(pretrained=True)
# ... configurar entrenamiento
```
Documentación: https://mindee.github.io/doctr/using_doctr/custom_models_training.html