Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Filtro di Kalman (KF)

Learn how the Kalman Filter (KF) enhances [object tracking](https://docs.ultralytics.com/models/yolo26/) by estimating system states and reducing noise. Discover how to use [YOLO26](https://docs.ultralytics.com/models/yolo26/) with trackers like BoT-SORT on the [Ultralytics Platform](https://platform.ultralytics.com) for precise, real-time AI.

Un filtro di Kalman (KF) è un algoritmo matematico ricorsivo utilizzato per stimare lo stato di un sistema dinamico nel tempo. Introdotta originariamente da Rudolf E. Kálmán, questa tecnica è essenziale per l'elaborazione di dati incerti, imprecisi o che contengono variazioni casuali, spesso denominate "rumore". Combinando una serie di misurazioni osservate nel tempo che contengono imprecisioni statistiche, il filtro di Kalman produce stime di variabili sconosciute più precise di quelle basate su una singola misurazione. Nei campi dell' apprendimento automatico (ML) e dell' intelligenza artificiale (AI), funge da strumento fondamentale per la modellazione predittiva, livellando i punti dati irregolari per rivelare la vera tendenza sottostante.

Come funziona il filtro di Kalman

L'algoritmo opera su un ciclo in due fasi: previsione e aggiornamento (noto anche come correzione). Presuppone che il sistema sottostante sia lineare e che il rumore segua una distribuzione gaussiana (curva a campana).

  1. Predizione: il filtro utilizza un modello fisico per proiettare lo stato attuale in avanti nel tempo. Ad esempio, se un oggetto si muove a velocità costante, il filtro predice la sua posizione successiva sulla base delle equazioni cinematiche standard. Questo passo stima anche l' incertezza associata a tale predizione.
  2. Aggiornamento: quando arriva una nuova misurazione da un sensore, il filtro confronta lo stato previsto con i dati osservati. Calcola una media ponderata, determinata dal guadagno di Kalman, che attribuisce maggiore affidabilità al valore (previsione o misurazione) che presenta minore incertezza. Il risultato è una stima dello stato perfezionata che funge da base di riferimento per il ciclo successivo .

Applicazioni nella visione artificiale e nell'intelligenza artificiale

Sebbene originariamente radicato nella teoria del controllo e nella navigazione aerospaziale, il filtro di Kalman è ora onnipresente nelle moderne pipeline di visione artificiale (CV).

  • Tracciamento degli oggetti: questo è il caso d'uso più comune. Quando un modello di rilevamento come YOLO26 identifica un oggetto in un fotogramma video, fornisce un'istantanea statica. Per comprendere il movimento, i tracker come BoT-SORT utilizzano i filtri di Kalman per collegare rilevamenti tra i fotogrammi. Se un oggetto è temporaneamente occluso (bloccato dalla vista), il filtro utilizza la velocità precedente dell'oggetto per prevederne la posizione, impedendo al sistema di perdere la "track" o di cambiare ID.
  • Fusione dei sensori nella robotica: nella robotica, le macchine devono navigare utilizzando più sensori rumorosi. Un robot di consegna potrebbe utilizzare il GPS (che può andare alla deriva), gli encoder delle ruote (che possono slittare) e le IMU (che sono rumorose). Il filtro di Kalman fonde questi input disparati per fornire una coordinata unica e affidabile per la navigazione, essenziale per il funzionamento sicuro dei veicoli autonomi.

Distinguere i concetti correlati

È utile distinguere il filtro di Kalman standard dalle sue varianti e alternative presenti nell' intelligenza artificiale statistica:

  • Filtro di Kalman vs. Filtro di Kalman esteso (EKF): Il KF standard presuppone che il sistema segua equazioni lineari (linee rette). Tuttavia, il movimento nel mondo reale, come un drone che effettua una virata, è spesso non lineare. L'EKF risolve questo problema linearizzando le dinamiche del sistema ad ogni passo utilizzando derivati, rendendolo adatto a traiettorie complesse.
  • Filtro di Kalman vs. Filtro particellare: mentre i KF si basano su ipotesi gaussiane, i filtri particellari utilizzano una serie di campioni casuali (particelle) per rappresentare le distribuzioni di probabilità. I filtri particellari sono più flessibili per il rumore non gaussiano, ma richiedono una potenza di calcolo significativamente maggiore, che può influire sulla velocità di inferenza in tempo reale.

Esempio di implementazione

Ultralytics , i filtri di Kalman sono integrati direttamente negli algoritmi di tracciamento. Non è necessario scrivere le equazioni manualmente; è possibile sfruttarle abilitando le modalità di tracciamento. Ultralytics consente di gestire set di dati e modelli di addestramento che possono essere facilmente implementati con queste funzionalità di tracciamento.

Ecco un esempio conciso che utilizza Python eseguire il tracciamento con YOLO26, dove il tracker sottostante applica automaticamente il filtro di Kalman per smussare i movimenti del riquadro di delimitazione:

from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

# Run tracking on a video source
# The 'botsort' tracker uses Kalman Filters internally for state estimation
results = model.track(source="traffic_video.mp4", tracker="botsort.yaml")

# Process results
for result in results:
    # Access the tracked IDs (assigned and maintained via KF logic)
    if result.boxes.id is not None:
        print(f"Tracked IDs in frame: {result.boxes.id.cpu().numpy()}")

Importanza per la qualità dei dati

Nell'implementazione nel mondo reale, i dati sono raramente perfetti. Le telecamere soffrono di sfocatura dovuta al movimento e i sensori subiscono rumore di segnale . Il filtro di Kalman agisce come un sofisticato meccanismo di pulizia dei dati all'interno del ciclo decisionale. Raffinando continuamente le stime, garantisce che gli agenti di IA operino sulla base della realtà più probabile anziché reagire a ogni momentaneo glitch nel flusso di input. Questa affidabilità è fondamentale per le applicazioni critiche per la sicurezza, dal monitoraggio delle operazioni aeroportuali alla precisa automazione industriale.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora