pipeline in linea single thread
This commit is contained in:
115
aggiornamento-2026-05-18-14-39.md
Normal file
115
aggiornamento-2026-05-18-14-39.md
Normal file
@@ -0,0 +1,115 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user