Glossario

Filtro Kalman (KF)

Scopri come i filtri di Kalman ottimizzano la stima dello stato nell'IA, nel tracking, nella fusione di sensori, nella robotica e molto altro ancora, anche con dati rumorosi.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

Il Filtro di Kalman (KF) è un algoritmo potente e ampiamente utilizzato nell'apprendimento automatico (ML) e in vari campi dell'ingegneria per stimare lo stato di un sistema dinamico da una serie di misurazioni rumorose e incomplete nel tempo. Immagina di cercare di individuare l'esatta posizione e velocità di un drone utilizzando letture GPS leggermente imprecise; il Filtro di Kalman fornisce un modo statisticamente ottimale per combinare il movimento previsto con le misurazioni rumorose per ottenere la migliore stima possibile. È particolarmente apprezzato per la sua efficienza ed efficacia nelle applicazioni di inferenza in tempo reale, il che lo rende una tecnica fondamentale in settori come la robotica, la computer vision (CV) e i sistemi di navigazione.

Come funzionano i filtri di Kalman

Nella sua essenza, il filtro di Kalman opera in modo ricorsivo su flussi di dati di ingresso rumorosi per produrre una stima statisticamente ottimale dello stato del sistema sottostante. Funziona in un ciclo a due fasi:

  1. Predire: sulla base della stima dello stato precedente e di un modello di come il sistema cambia nel tempo (il modello del processo), il filtro prevede lo stato successivo del sistema. Questa previsione include intrinsecamente una certa incertezza.
  2. Aggiornamento: il filtro incorpora una nuova misurazione (che presenta anche rumore e incertezza) relativa allo stato attuale. Confronta la misurazione con lo stato previsto e aggiorna la stima, dando più peso alla previsione o alla misurazione in base alle rispettive incertezze. Il risultato è una stima raffinata dello stato che è statisticamente migliore (più vicina allo stato reale) rispetto alla sola previsione o alla sola misurazione.

Questo ciclo di previsione-aggiornamento si ripete per ogni nuova misurazione, affinando continuamente la stima dello stato. Il filtro è considerato "ottimale" per i sistemi lineari con rumore gaussiano perché minimizza l'errore quadratico medio della stima dello stato. Questo lo rende uno strumento fondamentale nella stima dello stato e nell'elaborazione dei segnali. Per una spiegazione più visiva, vedi Come funziona un filtro di Kalman, in immagini. Il quadro matematico sottostante si basa sull'inferenza bayesiana.

Caratteristiche principali

  • Ricorsivo: Elabora le misure una alla volta man mano che arrivano, senza dover memorizzare l'intera cronologia.
  • Ottimale per i sistemi lineari: Fornisce la migliore stima possibile (in termini di minimo errore quadratico medio) se la dinamica del sistema e i processi di misurazione sono lineari e il rumore segue una distribuzione gaussiana.
  • Stima dello stato: Stima lo stato interno di un sistema (ad esempio, posizione, velocità) che non può essere misurato direttamente.
  • Gestisce il rumore: Modella esplicitamente l'incertezza sia nella dinamica del sistema che nelle misurazioni.
  • Efficiente dal punto di vista computazionale: Relativamente leggera, la rende adatta ad applicazioni in tempo reale su sistemi embedded come quelli presenti nell'IA di frontiera.

Applicazioni del mondo reale

I filtri di Kalman sono indispensabili in numerose applicazioni di AI e ML:

  • Tracciamento degli oggetti: Nella computer vision, le KF sono comunemente utilizzate per prevedere la posizione degli oggetti rilevati (come pedoni o veicoli) nei fotogrammi video successivi, aiutando a mantenere identità coerenti anche in caso di brevi occlusioni o errori di rilevamento. Tracker come il Simple Online and Realtime Tracking (SORT) si basano molto sulle KF per la previsione del movimento. Ultralytics YOLO di Ultralytics sfruttano questi algoritmi di tracciamento; per saperne di più, consulta la documentazione sulla modalità di tracciamento. Ad esempio, un sistema di sicurezza potrebbe utilizzare un KF per seguire senza problemi una persona che cammina nel campo visivo della telecamera, prevedendo il suo percorso tra i rilevamenti forniti da un modello di rilevamento degli oggetti come YOLO11.
  • Robotica e navigazione: Le KF sono fondamentali per combinare i dati provenienti da più sensori(sensor fusion) per stimare la posizione e l'orientamento di un robot (posa). Ad esempio, un veicolo autonomo può fondere le letture GPS rumorose con i dati delle unità di misura inerziali (IMU) e l'odometria delle ruote utilizzando una KF per ottenere una stima affidabile della sua posizione e della sua velocità, essenziale per una navigazione sicura(AI nelle soluzioni automobilistiche).
  • Aerospaziale e di guida: Il KF è stato utilizzato nel programma Apollo per la navigazione dei veicoli spaziali e continua a essere fondamentale per i moderni sistemi di guida aerospaziale e di posizionamento satellitare.
  • Analisi delle serie temporali: Utilizzata in econometria e finanza per modellare e prevedere i dati delle serie temporali filtrando il rumore e stimando le tendenze sottostanti. Puoi esplorare i modelli delle serie temporali finanziarie per saperne di più.
  • Elaborazione del segnale: Si applica a diverse attività di elaborazione del segnale come il miglioramento dell'audio e l'analisi del segnale biomedico.

Filtro Kalman vs. Filtro Kalman esteso

Il filtro di Kalman standard presuppone che le dinamiche del sistema e i modelli di misurazione siano lineari. Tuttavia, molti sistemi del mondo reale presentano un comportamento non lineare (ad esempio, i movimenti dei bracci dei robot, le dinamiche complesse dei veicoli). In questi casi, vengono utilizzate varianti come il Filtro di Kalman Esteso (EKF).

La differenza fondamentale è che l'EKF gestisce i sistemi non lineari approssimandoli. Linearizza le funzioni non lineari intorno alla stima dello stato corrente a ogni passo temporale utilizzando tecniche come le espansioni in serie di Taylor. Sebbene sia potente, questa linearizzazione introduce errori di approssimazione, per cui l'EKF potrebbe non essere ottimale o stabile come il KF standard per i problemi puramente lineari. Se un sistema è noto per essere lineare, il KF è generalmente preferito per la sua ottimalità e semplicità di calcolo. Altre varianti, come il filtro di Kalman non accentuato (UKF), offrono approcci diversi alla gestione delle non linearità, fornendo spesso un'accuratezza migliore dell'EKF per i sistemi altamente non lineari, ma richiedendo in genere più calcoli. Puoi addestrare e sperimentare modelli che incorporano questi filtri utilizzando piattaforme come Ultralytics HUB.

Leggi tutto