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
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user