External observer with OpenCV UI baseline
This commit is contained in:
55
step3_adaptive_inference_design.md
Normal file
55
step3_adaptive_inference_design.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# 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:
|
||||
|
||||
1. **scansione tranquilla**
|
||||
- nessuna track attiva
|
||||
- nessun target interessante vicino alla zona utile
|
||||
- YOLO puo' girare piu' lentamente
|
||||
|
||||
2. **tracciamento normale**
|
||||
- una o piu' track attive
|
||||
- target presenti ma non ancora in fase critica
|
||||
- YOLO gira a frequenza intermedia
|
||||
|
||||
3. **fase critica / near snapshot**
|
||||
- track in stato `candidate` o `centered`
|
||||
- target vicino alla linea di snapshot
|
||||
- YOLO gira a frequenza alta
|
||||
|
||||
## 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_enabled`
|
||||
- `idle_yolo_fps`
|
||||
- `tracking_yolo_fps`
|
||||
- `critical_yolo_fps`
|
||||
|
||||
## Criterio di successo
|
||||
|
||||
1. ridurre la durata netta della demo;
|
||||
2. non peggiorare visibilmente il comportamento di tracking/snapshot;
|
||||
3. mantenere il codice semplice e facilmente spegnibile.
|
||||
Reference in New Issue
Block a user