pipeline in linea single thread
This commit is contained in:
75
aggiornamento-2026-05-17-20-36.md
Normal file
75
aggiornamento-2026-05-17-20-36.md
Normal 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.
|
||||
|
||||
Reference in New Issue
Block a user