pipeline in linea single thread
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
; 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
|
||||
video = testhd2_edit.mp4
|
||||
|
||||
; OBBLIGATORIO: si.
|
||||
; Ruolo: modello Ultralytics/YOLO moderno usato per rilevare gaylord ed etichette.
|
||||
@@ -11,9 +11,9 @@ video = testhd.mp4
|
||||
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".
|
||||
; Ruolo: device usato da Ultralytics. Usa "cpu" per forzare CPU; con GPU compatibile usare "0".
|
||||
; Default se non indicato: cpu
|
||||
ultralytics_device = cpu
|
||||
ultralytics_device = 0
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: dimensione input YOLO. 640 e' il valore usato nel training rapido.
|
||||
@@ -30,6 +30,12 @@ min_confidence = 0.25
|
||||
; Default se non indicato: gaylord
|
||||
target_class = gaylord
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: classe etichetta associata al gaylord centrato.
|
||||
; Il bbox etichetta viene accettato solo se e' contenuto nel bbox del gaylord.
|
||||
; Default se non indicato: etichetta
|
||||
label_class = etichetta
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: numero massimo di frame in cui una track puo' non essere vista prima di essere rimossa.
|
||||
; Default se non indicato: 8
|
||||
@@ -89,6 +95,11 @@ edge_margin_ratio = 0.0
|
||||
; Default se non indicato: 0.03
|
||||
ocr_payload_pad_ratio = 0.03
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: padding aggiunto al bbox etichetta prima di salvare il crop inviato all'OCR remoto.
|
||||
; Default se non indicato: 0.20
|
||||
label_payload_pad_ratio = 0.20
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: trend minimo dell'area bbox negli ultimi frame. Valori negativi tollerano leggera uscita.
|
||||
; Default se non indicato: -0.35
|
||||
@@ -106,15 +117,168 @@ snapshot_window_frames = 1
|
||||
snapshot_output_dir = navigate_snapshots
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: tempo simulato con cui il drone attende OCR remoto + verifica WMS.
|
||||
; Ruolo: tempo massimo con cui il drone attende OCR remoto + verifica WMS.
|
||||
; Con PaddleOCR il primo avvio del worker puo' richiedere alcuni secondi.
|
||||
; Default se non indicato: 2.0
|
||||
remote_ack_timeout_sec = 2.0
|
||||
remote_ack_timeout_sec = 10.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: se true, invia realmente il payload etichetta al server WMS demo via HTTP.
|
||||
; Se false, mantiene la risposta remota simulata locale.
|
||||
; Default se non indicato: false
|
||||
wms_enabled = false
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: endpoint HTTP del server WMS demo, anche su altro PC.
|
||||
; Esempio rete: http://192.168.1.50:8088/api/v1/navigation-snapshot
|
||||
; Default se non indicato: http://127.0.0.1:8088/api/v1/navigation-snapshot
|
||||
wms_server_url = http://127.0.0.1:8088/api/v1/navigation-snapshot
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: identificativo del client/drone demo mandato nei metadati.
|
||||
; Default se non indicato: flywms-demo-01
|
||||
wms_client_id = flywms-demo-01
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: timeout HTTP del worker WMS, in secondi.
|
||||
; Deve essere maggiore del tempo OCR server; con PaddleOCR fast caldo circa 3s, primo avvio circa 8-10s.
|
||||
; Default se non indicato: 2.0
|
||||
wms_timeout_sec = 12.0
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: numero massimo di snapshot in coda verso il WMS.
|
||||
; Default se non indicato: 8
|
||||
wms_queue_max_size = 8
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: se true, oltre al crop etichetta invia anche il frame/debug gaylord.
|
||||
; Default se non indicato: true
|
||||
wms_send_gaylord_debug = true
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: host su cui il server WMS demo FastAPI resta in ascolto.
|
||||
; 0.0.0.0 consente connessioni da altri PC della rete.
|
||||
; Default se non indicato: 0.0.0.0
|
||||
wms_server_host = 0.0.0.0
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: porta del server WMS demo FastAPI.
|
||||
; Default se non indicato: 8088
|
||||
wms_server_port = 8088
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: directory in cui il server salva immagini e metadati ricevuti.
|
||||
; Default se non indicato: wms_received
|
||||
wms_received_dir = wms_received
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: risposta simulata server. Valori: always-ack, always-nack, alternate, random.
|
||||
; Default se non indicato: always-ack
|
||||
wms_fake_ack_mode = always-ack
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: ritardo finto del server per simulare OCR/WMS.
|
||||
; Default se non indicato: 0.5
|
||||
wms_fake_processing_sec = 0.5
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: se true, il server WMS demo apre le finestre OpenCV immagine/payload.
|
||||
; Default se non indicato: true
|
||||
wms_ui_enabled = true
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: se true, il server prova OCR reale sul crop etichetta.
|
||||
; Default se non indicato: true
|
||||
wms_ocr_enabled = true
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: motore OCR server. Valori: paddleocr, easyocr, tesseract, fake.
|
||||
; Default se non indicato: paddleocr
|
||||
wms_ocr_mode = paddleocr
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: Python del virtualenv isolato usato dal worker PaddleOCR.
|
||||
; Default se non indicato: C:\devel\yolo-ocr\.venv-paddle-cpu\Scripts\python.exe
|
||||
wms_paddle_python = C:\devel\yolo-ocr\.venv-paddle-cpu\Scripts\python.exe
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: script worker PaddleOCR persistente.
|
||||
; Default se non indicato: flywms_paddleocr_worker.py nella cartella flywms.
|
||||
wms_paddle_worker_script = C:\devel\flywms\flywms_paddleocr_worker.py
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: altezze a cui ridimensionare il crop etichetta prima dell'OCR.
|
||||
; Per demo 96 e' la configurazione leggera. Per debug: 64,96,128.
|
||||
; Default se non indicato: 96
|
||||
wms_paddle_target_heights = 96
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: quante varianti preprocessing usare nel worker PaddleOCR.
|
||||
; Valori: fast, balanced, full.
|
||||
; fast usa originale, CLAHE, CLAHE+sharpen ed e' il default per il server demo.
|
||||
; Default se non indicato: fast
|
||||
wms_paddle_variant_set = fast
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: numero di cifre atteso nel codice UDC.
|
||||
; Default se non indicato: 6
|
||||
wms_paddle_expected_digits = 6
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: numero minimo di varianti OCR che devono concordare sul codice.
|
||||
; Default se non indicato: 2
|
||||
wms_paddle_min_votes = 2
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: confidenza minima del candidato PaddleOCR scelto.
|
||||
; Default se non indicato: 0.70
|
||||
wms_paddle_min_confidence = 0.70
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: prefisso del codice fallback se OCR reale non legge nulla.
|
||||
; Default se non indicato: UDC
|
||||
wms_fake_ocr_prefix = UDC
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: testo restituito quando OCR non determina il codice reale.
|
||||
; Default se non indicato: udc non determinato
|
||||
wms_undetermined_code_text = udc non determinato
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: ritardo finto OCR/fallback in secondi.
|
||||
; Default se non indicato: 0.2
|
||||
wms_fake_ocr_delay_sec = 0.2
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: operatore/drone simulato registrato nel payload WMS.
|
||||
; Default se non indicato: udrone
|
||||
wms_operator = udrone
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: sito/magazzino simulato registrato nel payload WMS.
|
||||
; Default se non indicato: demo-magazzino
|
||||
wms_site = demo-magazzino
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: durata simulata del movimento drone dal centro gaylord al centro etichetta.
|
||||
; Default se non indicato: 3.0
|
||||
label_move_sec = 3.0
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: attesa simulata per stabilizzare la foto ravvicinata dell'etichetta.
|
||||
; Default se non indicato: 2.0
|
||||
label_stabilization_sec = 2.0
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: durata simulata del ritorno dal centro etichetta al centro gaylord.
|
||||
; Default se non indicato: 3.0
|
||||
label_return_sec = 3.0
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: direzione simulata di ripartenza dopo ACK. Valori: destra, sinistra.
|
||||
; Default se non indicato: destra
|
||||
@@ -125,6 +289,17 @@ scan_direction = destra
|
||||
; Default se non indicato: 1280
|
||||
preview_width = 1280
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: profilo benchmark senza finestre OpenCV.
|
||||
; Se true forza no_display e usa benchmark_preview_fps come target di cattura/preview.
|
||||
; Default se non indicato: false
|
||||
benchmark_mode = false
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: FPS target di cattura/preview per il profilo benchmark.
|
||||
; Default se non indicato: 30.0
|
||||
benchmark_preview_fps = 30.0
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: se true, il video di test viene riprodotto rispettando il framerate originale.
|
||||
; Default se non indicato: true
|
||||
@@ -137,6 +312,12 @@ realtime_playback = true
|
||||
; Default se non indicato: 24.0
|
||||
preview_fps = 24.0
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: se true, usa FP16/half precision per YOLO quando gira su GPU.
|
||||
; Su CPU viene ignorato automaticamente.
|
||||
; Default se non indicato: true
|
||||
yolo_half = true
|
||||
|
||||
; 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.
|
||||
@@ -153,6 +334,21 @@ max_frames = 0
|
||||
; Default se non indicato: 2.0
|
||||
stats_interval = 2.0
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: file di log delle tempistiche dettagliate per frame.
|
||||
; Default se non indicato: tempistiche.txt
|
||||
perf_log_path = tempistiche.txt
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: intervallo massimo tra due flush del file di tempistiche.
|
||||
; Default se non indicato: 2.0
|
||||
perf_log_flush_interval_sec = 2.0
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: numero di righe bufferizzate prima del flush del file di tempistiche.
|
||||
; Default se non indicato: 120
|
||||
perf_log_flush_lines = 120
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: ogni quanti frame aggiornare il moto apparente stimato dalle track.
|
||||
; Default se non indicato: 5
|
||||
@@ -177,3 +373,25 @@ flash_alpha = 0.70
|
||||
; Ruolo: se true, disabilita tutte le finestre video. Usarlo solo per test headless.
|
||||
; Default se non indicato: false
|
||||
no_display = false
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: se true, posiziona e ridimensiona le finestre OpenCV usando i valori sotto.
|
||||
; Formato finestre: x,y,width,height
|
||||
; Default se non indicato: true
|
||||
window_layout_enabled = true
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: posizione finestra principale con tracking gaylord/etichetta.
|
||||
navigate_window = 20,40,1100,620
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: posizione finestra comandi e indicatori movimento.
|
||||
commands_window = 1140,40,760,520
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: posizione finestra snapshot gaylord.
|
||||
snapshot_window = 1140,590,520,360
|
||||
|
||||
; OBBLIGATORIO: no.
|
||||
; Ruolo: posizione finestra crop etichetta.
|
||||
label_window = 1140,980,520,260
|
||||
|
||||
Reference in New Issue
Block a user