Files
flywms/step3_adaptive_inference_design.md
2026-06-03 15:28:27 +02:00

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:

  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.