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,75 @@
# Aggiornamento 2026-05-17 20:36
## Test accuratezza codice intero YOLO OCR
E' stato creato il test:
```text
C:\devel\yolo-ocr\tools\evaluate_code_accuracy.py
```
Scopo:
- usare il modello fine-tuned;
- rilevare le cifre su ogni crop;
- ordinare i bbox da sinistra a destra;
- ricostruire il codice UDC;
- confrontarlo con la ground truth derivata dalle label YOLO;
- produrre CSV e immagini annotate.
Primo test:
```powershell
python tools\evaluate_code_accuracy.py --split test --device 0 --conf 0.25 --iou 0.50 --output outputs\code_eval_test
python tools\evaluate_code_accuracy.py --split all --device 0 --conf 0.25 --iou 0.50 --output outputs\code_eval_all
```
Risultati:
```text
split=test
images=2
code_ok=0
code_accuracy=0.0000
char_accuracy=0.5385
```
```text
split=all
images=26
code_ok=0
code_accuracy=0.0000
char_accuracy=0.5389
```
Esempi:
```text
expected=187184 predicted=1871182
expected=182368 predicted=18288
```
Sono state provate anche soglie diverse:
```text
conf=0.40 iou=0.40 -> code_accuracy=0.0000 char_accuracy=0.5316
conf=0.50 iou=0.40 -> code_accuracy=0.0385 char_accuracy=0.4872
conf=0.60 iou=0.40 -> code_accuracy=0.0000 char_accuracy=0.4487
```
Conclusione:
- il fine-tuning ha migliorato molto la capacita' di rilevare bbox cifra rispetto al modello generico;
- pero' la lettura del codice intero non e' ancora affidabile;
- gli errori principali sono duplicazioni, cifre mancanti e confusione nelle ultime cifre;
- il prefisso `182` / `187` viene spesso agganciato, ma non basta per il WMS;
- non conviene integrare ancora il modello in FlyWMS come OCR operativo.
Prossimi passi consigliati:
1. aumentare dataset annotato;
2. introdurre post-processing specifico per codice a 6 cifre;
3. valutare crop piu' stretto della sola riga numerica;
4. usare metriche di codice intero come criterio principale;
5. integrare in FlyWMS solo come modalita' sperimentale quando il codice intero migliora.