Glossario

Filtro Kalman (KF)

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

Il filtro di Kalman (KF) è un potente algoritmo utilizzato per stimare lo stato di un sistema dinamico da una serie di misurazioni incomplete e rumorose. Sviluppato da Rudolf E. Kálmán, il suo scopo originario era la navigazione nel settore aerospaziale, ma da allora è diventato fondamentale in molti campi, tra cui la robotica, l'economia e soprattutto la computer vision (CV). Il filtro funziona in un ciclo a due fasi: prima prevede lo stato futuro del sistema e l'incertezza di tale previsione, poi aggiorna la stima incorporando una nuova misurazione. Questo processo gli consente di produrre una stima fluida e accurata dello stato di un oggetto, come la sua posizione e velocità, anche quando i dati del sensore sono imprecisi.

Come funzionano i filtri di Kalman nell'intelligenza artificiale e nella computer vision

Nel contesto dell'intelligenza artificiale, i filtri di Kalman sono utilizzati soprattutto per il tracciamento degli oggetti. Dopo che un modello di rilevamento degli oggetti, come Ultralytics YOLO, identifica gli oggetti in un fotogramma, viene utilizzato un filtro di Kalman per prevedere la loro posizione nel fotogramma successivo. Questa previsione si basa su un modello di movimento, che in genere presuppone una velocità costante o un'accelerazione costante.

Quando arriva il fotogramma successivo, il modello di rilevamento fornisce nuove misurazioni (cioè, nuove coordinate del rettangolo di selezione ). Il filtro di Kalman esegue quindi la fase di "aggiornamento", correggendo la sua previsione iniziale sulla base di questi nuovi dati. Questo processo è molto efficace per diversi motivi:

  • Riduzione del rumore: Attenua i rilevamenti irregolari, rendendo più stabili i percorsi di tracciamento.
  • Gestione dell'occlusione: Se un rilevatore non vede un oggetto per alcuni fotogrammi (ad esempio, un'auto si nasconde dietro un albero), il filtro può continuare a prevedere la sua posizione, consentendo al tracker di identificare nuovamente l'oggetto quando riappare.
  • Stima dello stato: Fornisce una comprensione più completa dello stato di un oggetto, al di là della sua posizione corrente, compresa la sua velocità. Per saperne di più sui concetti fondamentali, consultate questa dettagliata introduzione visiva ai filtri di Kalman.

La capacità del filtro di elaborare ricorsivamente le misure lo rende computazionalmente efficiente e ideale per l'inferenza in tempo reale. Molti algoritmi di tracciamento popolari, come SORT (Simple Online and Realtime Tracking) e ByteTrack, utilizzano un filtro di Kalman come componente principale di previsione del movimento. I modelli Ultralytics come YOLO11 sfruttano questi tracker nella loro modalità di tracciamento.

Applicazioni del mondo reale

I filtri di Kalman sono parte integrante di innumerevoli sistemi moderni. Ecco alcuni esempi:

  1. Veicoli autonomi: Nei veicoli autonomi, i filtri di Kalman sono essenziali per la fusione dei sensori. I dati provenienti da vari sensori, come telecamere, GPS, LiDAR e IMU, sono tutti rumorosi e hanno frequenze di aggiornamento diverse. Il filtro combina questi dati per produrre un'unica stima, altamente accurata e affidabile, della posizione e della velocità del veicolo e della traiettoria di altri oggetti sulla strada. Questo è fondamentale per una navigazione sicura e per il processo decisionale nelle nostre soluzioni di AI nel settore automobilistico.
  2. Tracciamento dei pedoni per una sorveglianza intelligente: I sistemi di sicurezza utilizzano spesso il tracciamento degli oggetti per monitorare gli spazi pubblici. Dopo che un modello YOLO rileva i pedoni, un tracker basato sul filtro di Kalman assegna a ogni persona un ID univoco e la segue attraverso la visuale della telecamera. Ciò consente di realizzare applicazioni come il conteggio automatico degli oggetti, il rilevamento delle anomalie e la gestione delle code. La capacità predittiva del filtro garantisce che la traccia di una persona non venga persa anche se viene temporaneamente occlusa da altre persone o oggetti, una caratteristica fondamentale per migliorare la sorveglianza intelligente.

Concetti e distinzioni correlate

È importante distinguere il filtro di Kalman dai termini correlati:

  • Filtro Kalman esteso (EKF): Il filtro di Kalman standard presuppone che la dinamica del sistema sia lineare. Tuttavia, molti sistemi del mondo reale (come un'auto che gira) sono non lineari. L'EKF estende il filtro di Kalman per gestire sistemi non lineari, linearizzando il modello a ogni passo temporale.
  • Filtro di Kalman non attenuato (UKF): Per i sistemi altamente non lineari in cui la linearizzazione dell'EKF è insufficiente, l'UKF fornisce un'alternativa più accurata senza la necessità di calcolare le jacobiane, come spiegato in questa introduzione al filtro di Kalman senza attenuazione.
  • Filtri a particelle: Sono un'altra alternativa per i sistemi non lineari e non gaussiani e sono spesso utilizzati in robotica per la localizzazione e la mappatura. A differenza dei filtri di Kalman, rappresentano le distribuzioni di probabilità utilizzando un insieme di campioni casuali (particelle).

All'interno del framework Ultralytics, è possibile trovare il filtro di Kalman implementato come utility per i nostri algoritmi di tracciamento. Anche librerie come OpenCV forniscono una propria implementazione del filtro di Kalman, ampiamente utilizzata nei progetti di computer vision.

Unitevi alla comunità di Ultralytics

Entrate a far parte del futuro dell'IA. Connettetevi, collaborate e crescete con gli innovatori globali.

Iscriviti ora
Link copiato negli appunti