Spiegazione intuitiva del tracciamento con i filtri Kalman


17

Gradirei molto una spiegazione intuitiva per il tracciamento (visivo) con i filtri Kalman. quello che so:

Passo di previsione:

  • Stato del sistema dinamico : posizione di destinazione al momento tXtt
  • Misura : l'immagine all'indice temporale (??) tztt

Basato su immagini / misure Voglio prevedere lo stato ? (usando l'equazione dinamica) È corretto?x t1(t-1)Xt

Come posso interpretare il passaggio di correzione in quei termini (immagine, posizione target)?


Risposte:


13

Per prima cosa devi assumere un modello di movimento. Diciamo che desideri seguire una palla che vola in aria. La palla ha un'accelerazione verso il basso a causa della gravità di 9,8 m / s ^ 2. Quindi in questo caso il modello di movimento di accelerazione costante è appropriato.

Sotto questo modello, il tuo stato è posizione, velocità e accelerazione. Dato lo stato precedente, è possibile prevedere facilmente lo stato successivo.

Hai anche una nozione di rilevamento. Hai un video della palla in movimento e in qualche modo devi rilevare la palla in ogni fotogramma video (ad es. Usando la sottrazione di sfondo).

I tuoi rilevamenti sono rumorosi. Inoltre, il movimento della palla non si adatta esattamente al modello di accelerazione costante a causa della resistenza dell'aria, del vento, dei raggi cosmici, ecc. Il filtro Kalman ha bisogno di due matrici che descrivono questo: uno è la covarianza del rumore di misurazione (la tua imprecisione di rilevamento), e uno per la covarianza del rumore di processo (in che modo il movimento della palla si discosta dal modello specificato).

Se stai monitorando un singolo oggetto, il filtro Kalman ti consente di attenuare parte del rumore e prevedere anche dove si trova l'oggetto quando manca un rilevamento (ad esempio se l'oggetto è occluso). Ecco un esempio di tracciamento di un singolo oggetto con un filtro Kalman utilizzando Computer Vision System Toolbox per MATLAB.

Se stai monitorando più oggetti, le previsioni del filtro Kalman ti consentono di decidere quale rilevamento va associato a quale oggetto. Un buon modo per farlo è utilizzare la probabilità logaritmica del rilevamento data la covarianza dell'errore della previsione. Ecco un esempio di tracciamento di più oggetti con un filtro Kalman .


1
Bella risposta. Una nota però. Gli stati sono solo la posizione e la velocità
aiao

@aiao, per il modello di movimento di accelerazione costante, l'accelerazione fa parte dello stato. Per il modello a velocità costante non lo è.
Dima,

7

Questo corso online è molto semplice e diretto da capire e per me ha spiegato molto bene i filtri Kalman.

Si chiama "Programmazione di un'auto robotica" e parla di tre metodi di localizzazione: localizzazione Monte Carlo, filtri Kalman e filtri antiparticolato. Si concentra sulle informazioni del sonar come esempio, ma la spiegazione è abbastanza semplice da poter semplicemente sostituire "sonar" con "informazioni visive" e avrebbe comunque senso.

Il corso è completamente gratuito (ora è terminato, quindi non puoi partecipare attivamente ma puoi ancora guardare le lezioni che presumo), tenute da un professore di Stanford.


1
È ancora attivo. Ottieni ancora certificati per il completamento dei corsi. Puoi comunque partecipare attivamente e ottenere risposte alle tue domande sui forum.
Naresh,

5

Quando si esegue il tracciamento visivo, è necessario un modello , che è una rappresentazione matematica di un processo del mondo reale. Questo modello darà senso a tutti i dati ottenuti dalle misurazioni, collegherà i numeri in cui inseriamo e usciremo dal sistema.

Ma un modello è una semplificazione della realtà perché utilizzerai un numero ridotto di parametri. Quello che non sai del sistema si chiama rumore o incertezza. È importante quanto quello che sai. Dato che non possiamo descrivere perfettamente un sistema, abbiamo bisogno di misurazioni dal mondo reale per dirci cosa sta succedendo al sistema che stiamo modellando.

Kalman è uno strumento per combinare ciò che stimiamo, con il nostro modello e ciò che misuriamo dal mondo, combinando entrambi in senso ponderato.

Calcolerai uno stato ad ogni passo. Questo è quello che sai attualmente sul sistema. Lo stato è influenzato dall'equazione del processo e dall'equazione della misurazione . Entrambe le equazioni hanno covarianze di rumore diverse. Kalman deciderà quale di entrambi ha più influenza ogni passo regolando il guadagno di Kalman.

Questo è il modo in cui penso a questo quando non voglio approfondire le formule.


4

Il filtro Kalman fornisce ricorsivamente la stima lineare ottimale di un segnale perturbato da AWGN. Nel tuo caso, lo stato (quello che vuoi stimare) sarà dato dalla posizione di destinazione. Le misurazioni saranno determinate dal tuo algoritmo.

Se hai letto l'articolo di Wikipedia, potresti voler visualizzare questa presentazione sul tracciamento visivo. Hai dei libri?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.