Files
flywms/aggiornamento-2026-05-18-14-39.md
2026-05-19 08:52:44 +02:00

116 lines
2.1 KiB
Markdown

# Aggiornamento 2026-05-18 14:39
## Obiettivo
Migliorare la pista PaddleOCR prima di pensare all'integrazione in `flywms`.
## Modifiche
Aggiornato:
```text
C:\devel\yolo-ocr\tools\paddleocr_multipass_eval.py
```
Migliorie introdotte:
- resize su piu' altezze (`64,96,128`);
- variante con bordo bianco per evitare tagli ai caratteri;
- CLAHE;
- sharpening;
- threshold adattivo;
- Otsu;
- Otsu + close morfologico;
- denoise;
- scelta finale a consenso.
La scelta finale ora non dipende solo dal massimo score PaddleOCR.
Il punteggio considera:
- codice letto da piu' varianti;
- numero di varianti distinte che producono lo stesso codice;
- bonus se il codice ha la lunghezza attesa;
- penalita' per codici troppo corti o troppo lunghi.
## Risultati configurazione estesa
Validation:
```text
images=5
ok=5
accuracy=1.0000
```
Test:
```text
images=2
ok=2
accuracy=1.0000
```
Output:
```text
C:\devel\yolo-ocr\paddleocr-recognizer\outputs\multipass_val_consensus
C:\devel\yolo-ocr\paddleocr-recognizer\outputs\multipass_test_consensus
```
La lettura corretta e' sostenuta da molti voti, quindi non sembra casuale:
```text
182430 -> 19 voti
182242 -> 12 voti
182519 -> 20 voti
182511 -> 18 voti
187184 -> 18/19 voti
182368 -> 14 voti
```
## Risultati configurazione leggera
Testata anche la configurazione con sola altezza `96`, piu' adatta al server:
```powershell
--target-heights 96
```
Validation:
```text
images=5
ok=5
accuracy=1.0000
```
Test:
```text
images=2
ok=2
accuracy=1.0000
```
Output:
```text
C:\devel\yolo-ocr\paddleocr-recognizer\outputs\multipass_val_h96
C:\devel\yolo-ocr\paddleocr-recognizer\outputs\multipass_test_h96
```
## Conclusione
Possiamo migliorare ancora raccogliendo nuove immagini reali, ma sul materiale attuale PaddleOCR standard con preprocessing multi-pass e consenso e' gia' solido per una demo.
La configurazione leggera `--target-heights 96` e' la candidata migliore per la prima integrazione sperimentale nel server WMS.
L'integrazione dovra' comunque mantenere un fallback:
```text
UDC_NON_DETERMINATO
```
quando non c'e' un candidato a 6 cifre con consenso sufficiente.