95 lines
2.3 KiB
Markdown
95 lines
2.3 KiB
Markdown
# Aggiornamento 2026-05-16 20:12
|
|
|
|
## Primo test YOLO digits su crop etichetta
|
|
|
|
E' stato scaricato il progetto:
|
|
|
|
```text
|
|
C:\devel\yolo-ocr\external\yolov8-digits-detection
|
|
```
|
|
|
|
Sono state trovate 28 immagini di test in:
|
|
|
|
```text
|
|
C:\devel\yolo-ocr\immagini_test
|
|
```
|
|
|
|
Nota: la cartella indicata verbalmente come `C:\yolo-ocr\immagini_test` non esisteva; le immagini erano nella cartella corretta `C:\devel\yolo-ocr\immagini_test`.
|
|
|
|
## Runner creato
|
|
|
|
E' stato creato:
|
|
|
|
```text
|
|
C:\devel\yolo-ocr\tools\batch_yolo_digits.py
|
|
```
|
|
|
|
Il runner:
|
|
|
|
- carica i modelli ONNX del progetto;
|
|
- non installa PyTorch;
|
|
- evita `pytorch_lightning`, usato dal progetto solo per logging;
|
|
- esegue inferenza CPU;
|
|
- ordina le cifre rilevate da sinistra a destra;
|
|
- salva un CSV con codice, numero cifre, confidenza media e tempo;
|
|
- salva immagini annotate con bbox delle cifre;
|
|
- salva una tavola di controllo visivo.
|
|
|
|
## Risultato con soglia 0.25
|
|
|
|
Output:
|
|
|
|
```text
|
|
immagini=28
|
|
codici_numerici=24
|
|
load_sec=2.679
|
|
infer_ms_medio=52.7
|
|
conf=0.25
|
|
iou=0.7
|
|
```
|
|
|
|
Il modello e' veloce: circa 53 ms per crop su CPU.
|
|
|
|
Qualita':
|
|
|
|
- riconosce davvero alcune cifre stampate;
|
|
- quindi la pista YOLO digits e' concreta;
|
|
- tuttavia spesso riconosce solo una parte del codice;
|
|
- alcuni crop restituiscono 1-3 cifre invece del codice completo;
|
|
- il modello out-of-the-box non e' ancora sufficiente per lettura affidabile UDC.
|
|
|
|
## Risultato con soglia 0.10
|
|
|
|
Output:
|
|
|
|
```text
|
|
immagini=28
|
|
codici_numerici=27
|
|
load_sec=1.881
|
|
infer_ms_medio=61.5
|
|
conf=0.1
|
|
iou=0.7
|
|
```
|
|
|
|
La soglia piu' bassa fa trovare piu' cifre, ma introduce duplicati e classi sbagliate. Quindi il problema non si risolve solo abbassando la soglia.
|
|
|
|
## Conclusione
|
|
|
|
Il modello esistente e' utile come base sperimentale, ma non e' pronto da integrare nel WMS come OCR affidabile.
|
|
|
|
La cosa positiva e' che:
|
|
|
|
- il modello e' leggero;
|
|
- gira senza PyTorch;
|
|
- riconosce cifre stampate almeno parzialmente;
|
|
- la velocita' e' adeguata;
|
|
- puo' diventare molto interessante con fine-tuning su immagini reali delle nostre etichette.
|
|
|
|
Prossimo passo consigliato:
|
|
|
|
1. migliorare preprocessing e crop locale, cercando di isolare meglio la riga numerica;
|
|
2. creare una piccola tabella ground truth per le 28 immagini;
|
|
3. misurare accuracy reale cifra per cifra e codice intero;
|
|
4. valutare fine-tuning del modello con immagini nostre annotate.
|
|
|