# Aggiornamento 2026-05-30 19:08 ## Step 3 - Inferenza adattiva Documentazione: - [step3_adaptive_inference_design.md](/C:/devel/flywms/step3_adaptive_inference_design.md) Implementato: - scheduler YOLO adattivo con tre stati: - `idle` - `tracking` - `critical` - parametri configurabili: - `adaptive_yolo_enabled` - `idle_yolo_fps` - `tracking_yolo_fps` - `critical_yolo_fps` - telemetria observer aggiornata con `yolo_mode` ## Esito benchmark Run completo con: - `adaptive_yolo_enabled = true` - `idle = 8` - `tracking = 12` - `critical = 15` Risultato finale: - durata demo totale: `874.73 s` - durata demo netta senza WMS: `796.71 s` - durata video: `658.14 s` - scostamento netto: `+138.57 s` = `+21.1%` Confronto con run precedente senza adattivo: - netto precedente: `756.18 s` - netto con adattivo: `796.71 s` - peggioramento: circa `+40.5 s` ## Interpretazione La riduzione della frequenza YOLO nei tratti idle non ha compensato l'effetto collaterale introdotto sul comportamento del tracking e della logica snapshot. In pratica: - il costo medio YOLO e' sceso; - ma il comportamento globale della missione e' peggiorato; - quindi questa prima forma di inferenza adattiva non e' vantaggiosa. ## Decisione La feature resta disponibile nel codice come opzione sperimentale, ma viene disattivata di default: - [flywms_navigation.py](/C:/devel/flywms/flywms_navigation.py) - [flywms_navigation.ini](/C:/devel/flywms/flywms_navigation.ini) Default attuale: - `adaptive_yolo_enabled = false` ## Conclusione Lo Step 3, nella forma provata oggi, non va adottato come ottimizzazione di default. Se si vorra' tornare su questa strada, servira' una strategia piu' mirata, ad esempio: - adattamento solo in assenza totale di target per un certo tempo; - nessuna riduzione di frequenza quando esistono track vive; - oppure un criterio basato su zone del video predefinite, non solo sullo stato istantaneo delle track.