1.7 KiB
1.7 KiB
Step 3 - Inferenza adattiva
Obiettivo
Ridurre il tempo totale della demo senza cambiare modello o logica di missione, variando la frequenza di YOLO in base al contesto invece di usare un solo valore fisso.
Principio
L'inferenza non deve avere sempre lo stesso ritmo.
Ci sono tre situazioni principali:
-
scansione tranquilla
- nessuna track attiva
- nessun target interessante vicino alla zona utile
- YOLO puo' girare piu' lentamente
-
tracciamento normale
- una o piu' track attive
- target presenti ma non ancora in fase critica
- YOLO gira a frequenza intermedia
-
fase critica / near snapshot
- track in stato
candidateocentered - target vicino alla linea di snapshot
- YOLO gira a frequenza alta
- track in stato
Regole iniziali
Versione conservativa:
- nessuna track attiva ->
idle_yolo_fps - track attive ma nessuna
candidate/centered->tracking_yolo_fps - almeno una
candidate/centered->critical_yolo_fps
Queste regole usano lo stato gia' prodotto dal tracker e dal NavigationController, quindi non introducono nuova logica semantica invasiva.
Vincoli
- la frequenza adattiva non deve scendere troppo, altrimenti si rischia di ritardare il riaggancio del target;
- la frequenza critica non deve superare in modo aggressivo la capacita' reale della macchina;
- il comportamento deve restare deterministico e leggibile nei log.
Configurazione proposta
adaptive_yolo_enabledidle_yolo_fpstracking_yolo_fpscritical_yolo_fps
Criterio di successo
- ridurre la durata netta della demo;
- non peggiorare visibilmente il comportamento di tracking/snapshot;
- mantenere il codice semplice e facilmente spegnibile.