Files
flywms/flywms_navigation.ini
2026-05-16 09:10:48 +02:00

180 lines
5.9 KiB
INI

[navigation]
; OBBLIGATORIO: no.
; Ruolo: sorgente video usata per simulare la camera del drone.
; Se vuoto o "none", usa webcam 0.
; Default se non indicato: testhd.mp4
video = testhd.mp4
; OBBLIGATORIO: si.
; Ruolo: modello Ultralytics/YOLO moderno usato per rilevare gaylord ed etichette.
; Default se non indicato: C:\devel\flywms\runs\flywms_yolo11n_quick20\weights\best.pt
weights = C:\devel\flywms\runs\flywms_yolo11n_quick20\weights\best.pt
; OBBLIGATORIO: no.
; Ruolo: device usato da Ultralytics. Usa "cpu" ora; con GPU compatibile usare "0".
; Default se non indicato: cpu
ultralytics_device = cpu
; OBBLIGATORIO: no.
; Ruolo: dimensione input YOLO. 640 e' il valore usato nel training rapido.
; Default se non indicato: 640
input_size = 640
; OBBLIGATORIO: no.
; Ruolo: confidenza minima delle detection accettate dal detector.
; Default se non indicato: 0.25
min_confidence = 0.25
; OBBLIGATORIO: no.
; Ruolo: classe tracciata dalla navigazione. Le altre detection non entrano nel tracker.
; Default se non indicato: gaylord
target_class = gaylord
; OBBLIGATORIO: no.
; Ruolo: numero massimo di frame in cui una track puo' non essere vista prima di essere rimossa.
; Default se non indicato: 8
max_track_missed = 8
; OBBLIGATORIO: no.
; Ruolo: soglia minima dello score che associa una detection a una track esistente.
; Default se non indicato: 0.25
min_match_score = 0.25
; OBBLIGATORIO: no.
; Ruolo: distanza massima ammessa tra centri bbox, espressa come frazione della larghezza frame.
; Default se non indicato: 0.18
max_center_distance_ratio = 0.18
; OBBLIGATORIO: no.
; Ruolo: mezza ampiezza della fascia azzurra di avvicinamento al centro.
; Non fa scattare la foto: indica solo che la track e' candidata.
; Default se non indicato: 0.18
center_tolerance_ratio = 0.18
; OBBLIGATORIO: no.
; Ruolo: tolleranza stretta dalla linea verticale centrale per scattare la foto.
; La foto parte quando il centro bbox e' entro questa soglia.
; Default se non indicato: 0.035
snapshot_line_tolerance_ratio = 0.035
; OBBLIGATORIO: no.
; Ruolo: limite verticale superiore della fascia utile della scaffalatura.
; Default se non indicato: 0.15
usable_y_min_ratio = 0.15
; OBBLIGATORIO: no.
; Ruolo: limite verticale inferiore della fascia utile della scaffalatura.
; Default se non indicato: 0.85
usable_y_max_ratio = 0.85
; OBBLIGATORIO: no.
; Ruolo: numero minimo di detection confermate prima di considerare affidabile una track.
; Default se non indicato: 3
min_track_hits = 3
; OBBLIGATORIO: no.
; Ruolo: area minima del bbox gaylord rispetto all'intero frame.
; Serve a ignorare oggetti troppo lontani/piccoli.
; Default se non indicato: 0.02
min_gaylord_area_ratio = 0.02
; OBBLIGATORIO: no.
; Ruolo: margine da bordo immagine per considerare un bbox tagliato.
; 0 disabilita questo filtro, utile con il video manuale di test.
; Default se non indicato: 0.0
edge_margin_ratio = 0.0
; OBBLIGATORIO: no.
; Ruolo: padding aggiunto al bbox centrale prima di salvare il crop inviato all'OCR remoto.
; Default se non indicato: 0.03
ocr_payload_pad_ratio = 0.03
; OBBLIGATORIO: no.
; Ruolo: trend minimo dell'area bbox negli ultimi frame. Valori negativi tollerano leggera uscita.
; Default se non indicato: -0.35
min_area_trend = -0.35
; OBBLIGATORIO: no.
; Ruolo: numero di candidati da valutare prima dello snapshot.
; 1 significa: scatta subito quando il centro tocca la linea.
; Default se non indicato: 1
snapshot_window_frames = 1
; OBBLIGATORIO: no.
; Ruolo: directory dove salvare frame debug, crop OCR e snapshots.jsonl.
; Default se non indicato: navigate_snapshots
snapshot_output_dir = navigate_snapshots
; OBBLIGATORIO: no.
; Ruolo: tempo simulato con cui il drone attende OCR remoto + verifica WMS.
; Default se non indicato: 2.0
remote_ack_timeout_sec = 2.0
; OBBLIGATORIO: no.
; Ruolo: risposta remota simulata. Valori: always-ack, always-nack, alternate.
; Default se non indicato: always-ack
remote_ack_mode = always-ack
; OBBLIGATORIO: no.
; Ruolo: direzione simulata di ripartenza dopo ACK. Valori: destra, sinistra.
; Default se non indicato: destra
scan_direction = destra
; OBBLIGATORIO: no.
; Ruolo: larghezza massima delle finestre video di debug.
; Default se non indicato: 1280
preview_width = 1280
; OBBLIGATORIO: no.
; Ruolo: se true, il video di test viene riprodotto rispettando il framerate originale.
; Default se non indicato: true
realtime_playback = true
; OBBLIGATORIO: no.
; Ruolo: FPS massimo per lettura/preview realtime. 0 usa il framerate della sorgente.
; Con video registrati puo' essere usato per simulare una preview piu' lenta, es. 24 fps.
; Con webcam/camere viene anche richiesto al driver, ma non tutti i driver rispettano il valore.
; Default se non indicato: 24.0
preview_fps = 24.0
; OBBLIGATORIO: no.
; Ruolo: FPS massimo per inferenza YOLO. 0 esegue YOLO su ogni frame di preview.
; Nei frame intermedi la preview continua usando l'ultimo stato di tracking disponibile.
; Default se non indicato: 15.0
yolo_fps = 15.0
; OBBLIGATORIO: no.
; Ruolo: massimo numero di frame da processare. 0 significa tutto il video.
; Default se non indicato: 0
max_frames = 0
; OBBLIGATORIO: no.
; Ruolo: ogni quanti secondi stampare statistiche nel terminale.
; Default se non indicato: 2.0
stats_interval = 2.0
; OBBLIGATORIO: no.
; Ruolo: ogni quanti frame aggiornare il moto apparente stimato dalle track.
; Default se non indicato: 5
motion_report_interval = 5
; OBBLIGATORIO: no.
; Ruolo: movimento medio minimo in pixel per dichiarare destra/sinistra/su/giu.
; Default se non indicato: 1.5
motion_min_pixels = 1.5
; OBBLIGATORIO: no.
; Ruolo: se true, logga nel terminale lo stato delle track e i motivi di non scatto.
; Default se non indicato: true
debug_tracks = true
; OBBLIGATORIO: no.
; Ruolo: intensita' del flash visuale simulato al momento dello scatto, da 0 a 1.
; Default se non indicato: 0.70
flash_alpha = 0.70
; OBBLIGATORIO: no.
; Ruolo: se true, disabilita tutte le finestre video. Usarlo solo per test headless.
; Default se non indicato: false
no_display = false