+ All Categories
Home > Documents > Computer Vision: Kalman Filter - TU Dresdends24/lehre/cvsmbv_ws_2012/cv_kalman.pdf ·...

Computer Vision: Kalman Filter - TU Dresdends24/lehre/cvsmbv_ws_2012/cv_kalman.pdf ·...

Date post: 17-Sep-2018
Category:
Upload: tranthu
View: 225 times
Download: 0 times
Share this document with a friend
8
Computer Vision: Kalman Filter D. Schlesinger – TUD/INF/KI/IS D. Schlesinger Computer Vision: Kalman Filter 1/8
Transcript
Page 1: Computer Vision: Kalman Filter - TU Dresdends24/lehre/cvsmbv_ws_2012/cv_kalman.pdf · ComputerVision:KalmanFilter D.Schlesinger–TUD/INF/KI/IS D. Schlesinger Computer Vision: Kalman

Computer Vision: Kalman Filter

D. Schlesinger – TUD/INF/KI/IS

D. Schlesinger () Computer Vision: Kalman Filter 1 / 8

Page 2: Computer Vision: Kalman Filter - TU Dresdends24/lehre/cvsmbv_ws_2012/cv_kalman.pdf · ComputerVision:KalmanFilter D.Schlesinger–TUD/INF/KI/IS D. Schlesinger Computer Vision: Kalman

Bayesscher Filter

Ein Objekt kann sich in einem Zustand x ∈ X befinden.

Zum Zeitpunkt i sei die Wahrscheinlichkeitsverteilung pi(xi) bekannt(Achtung!!! Nicht der Zustand xi , sondern Wahrscheinlichkeitsverteilung).

Gegeben sei ein statistisches Bewegungsmodell p(xi+1|xi)

Daraus ergibt sich die (a-priori) Wahrscheinlichkeitsverteilung der Zustände xi+i alspi+1(xi+1) =

∑xi

pi(xi) · p(xi+1|xi) – Prediction

Gegeben sei ein Beobachtungsmodell p(oi+1|xi+1), o ∈ O

Die Wahrscheinlichkeitsverteilung im i+1 Zeitpunkt ergibt sich alspi+1(xi+1) ≡ pi+1(xi+1|oi+1) ∼ pi+1(xi+1) · p(oi+1|xi+1) – Correction

→ dient als a-priori Wahrscheinlichkeitsverteilung für den nächsten Schritt.D. Schlesinger () Computer Vision: Kalman Filter 2 / 8

Page 3: Computer Vision: Kalman Filter - TU Dresdends24/lehre/cvsmbv_ws_2012/cv_kalman.pdf · ComputerVision:KalmanFilter D.Schlesinger–TUD/INF/KI/IS D. Schlesinger Computer Vision: Kalman

Markovsche Ketten

Die Zustandsmenge X ist diskret.

+ ziemlich allgemein, da „beliebige“ diskrete Modelle repräsentiert werden können

− für große Zustandsräume meist nicht geeignet (wegen Zeitkomplexität)

„Markovsche Ketten mit kontinuierlicher Zustandsmenge“ ...

D. Schlesinger () Computer Vision: Kalman Filter 3 / 8

Page 4: Computer Vision: Kalman Filter - TU Dresdends24/lehre/cvsmbv_ws_2012/cv_kalman.pdf · ComputerVision:KalmanFilter D.Schlesinger–TUD/INF/KI/IS D. Schlesinger Computer Vision: Kalman

Kalman Filter [Kalman, 1960]Zustände und Beobachtungen sind Vektoren x ∈ Rn bzw. o ∈ Rm

Bewegungsmodell und Beobachtungsmodell sind linear

xi+1 = A · xi + ε, oi = B · xi + δ

A und B sind n×n bzw. n×m Matrizen

ε ∈ Rn und δ ∈ Rm sind Gaussch verteilte Störungen, d.h.

p(ε) = N (0,Σε) ∼ exp(−εT Σ−1ε ε), p(δ) = N (0,Σδ) ∼ exp(−δT Σ−1

δδ)

mit Mittelwerten = 0 und Kovarianzmatrizen Σε und Σδ

Beispiel: Zustand x = [x, y, vx , vy ] beschreibt die Lage (x, y) unddie Geschwindigkeit (vx , vy) eines Objektes im R2.

Es gilt für „fast“ gleichförmige Bewegung (Mt ist der Zeitschritt):

xi+1 = xi + Mt · vx,i + O(Mt2)yi+1 = yi + Mt · vy,i + O(Mt2)vx,i+1 = vx,i + O(Mt)vy,i+1 = vy,i + O(Mt)

Der Zustand im i + 1 Zeitpunkt ist eine lineare Kombination mit „Störungen“ O(·)D. Schlesinger () Computer Vision: Kalman Filter 4 / 8

Page 5: Computer Vision: Kalman Filter - TU Dresdends24/lehre/cvsmbv_ws_2012/cv_kalman.pdf · ComputerVision:KalmanFilter D.Schlesinger–TUD/INF/KI/IS D. Schlesinger Computer Vision: Kalman

Kalman Filter

In der Matrixform: xi+1yi+1vx,i+1vy,i+1

=

1 0 Mt 00 1 0 Mt0 0 1 00 0 0 1

· xi

yivx,ivy,i

+ ε

Für die Beobachtung analog:

[ox,i+1oy,i+1

]=[

1 0 0 00 1 0 0

xiyivx,ivy,i

+ δ

(nur die Lage wird beobachtet).

2D → 3D (R6) → 6D (mit Winkeln) (R12) → ...

D. Schlesinger () Computer Vision: Kalman Filter 5 / 8

Page 6: Computer Vision: Kalman Filter - TU Dresdends24/lehre/cvsmbv_ws_2012/cv_kalman.pdf · ComputerVision:KalmanFilter D.Schlesinger–TUD/INF/KI/IS D. Schlesinger Computer Vision: Kalman

Kalman FilterAnnahme: im ersten Zeitpunkt p(x0) = N (x̄0,Σ0)

1) Prediction ist die Faltung zweier Gaussiane

pi+1(xi+1) =∫

pi(xi) · p(xi+1|xi) dxi ∼

∼∫

exp[−(xi − x̄i)T Σ−1

i (xi − x̄i)]·

· exp[−(xi+1 −Axi)T Σ−1

ε (xi+1 −Axi)]dxi

⇒ Ergebnis – wieder ein Gaussian N (x̄′i+1,Σ′i+1).2) Correction ist komponentenweise Multiplikation zweier Gaussiane

pi+1(xi+1|oi+1) = pi+1(xi+1) · p(oi+1|xi+1) ∼

∼ exp[−(xi+1 − x̄′i+1)T Σ′−1

i+1(xi+1 − x̄′i+1)]·

· exp[−(oi+1 − Bxi+1)T Σ−1

δ(oi+1 − Bxi+1)

]⇒ Ergebnis – wieder ein Gaussian N (x̄i+1,Σi+1).

Die Wahrscheinlichkeitsverteilungen werden nicht explizit neu berechnet, sonderndie Parameter (Mittelwerte und Kovarianzmatrizen) werden propagiert.

D. Schlesinger () Computer Vision: Kalman Filter 6 / 8

Page 7: Computer Vision: Kalman Filter - TU Dresdends24/lehre/cvsmbv_ws_2012/cv_kalman.pdf · ComputerVision:KalmanFilter D.Schlesinger–TUD/INF/KI/IS D. Schlesinger Computer Vision: Kalman

Kalman Filter – Anwendungsbeispiel

[Yedidya, Hartley, 2008]

„Verfolgung“ von Blutgefäßen:

Gesucht wird eine Trajektorie

Ein Objekt bewegt sich entlang einer Bahn (Blutgefäß) und

wird dabei verfolgt

„Zustand“ beschreibt Position, Geschwindigkeit, Dicke,unterwegs gesehene Grauwerte usw.

D. Schlesinger () Computer Vision: Kalman Filter 7 / 8

Page 8: Computer Vision: Kalman Filter - TU Dresdends24/lehre/cvsmbv_ws_2012/cv_kalman.pdf · ComputerVision:KalmanFilter D.Schlesinger–TUD/INF/KI/IS D. Schlesinger Computer Vision: Kalman

Partikel FilterNachteil des Kalman Filters: nur Gaussiane – für komplizierte Zustandsräume ungeeignet.

(i) Besser – Mischungen von Gaussianen, z.B. p(ε) =∑

k wkN (µk ,Σεk).Das Problem – die Anzahl der Komponenten wächst (selbst bei linearen Modellen).∑

i ·∑

j =∑

ij 6=∑

i – kann nicht parametrisch propagiert werden.

Ausweg: man approximiere ständig durch Mischungmit konstanter Anzahl der Komponenten (nach χ2, Likelihood etc.).

(ii) Allgemeinere Fälle – nicht lineare Bewegungsmodelle, d.h.Ax wird zu a(x) und Bx wird zu b(x) – z.B. lokal linearisieren ...

Zu (i) und (ii) – man approximiere die Berechnungen durch Sampling:– würfele x′ entsprechend pi(xi)– propagiere x′′ = a(x′)– berechne p(oi+1|x′′) (vergleiche oi+1 mit b(x′′))– entscheide, ob x′′ in die Lernstichprobe aufgenommen wird (accept/reject)

→ so generierte Lernstichprobe von x′′ gehorcht pi+1(xi+1)

Manchmal ist es gar nicht nötig, die Wahrscheinlichkeitsverteilung zu spezifizieren– gearbeitet wird immer mit den Samples.

CONDENSATION (Conditional Density Propagation) – eine bestimmte Art davon.D. Schlesinger () Computer Vision: Kalman Filter 8 / 8


Recommended