pipeline in linea single thread

This commit is contained in:
administrator
2026-05-19 08:52:44 +02:00
parent 98b43ce903
commit f728524ee6
43 changed files with 5245 additions and 154 deletions

View File

@@ -0,0 +1,94 @@
# 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.