Tracking
Uberblick¨
Tracking von Objekten
Institut f ¨ur Informatik Mustererkennung und Bioinformatik
Angewandte Bildverarbeitung, SS 2007
Tracking
Uberblick¨
Uberblick ¨
1 Grundideen
2 Objektlokalisation
3 Kalmanfilter
4 Extended Kalmanfilter
Tracking
Grundideen
Lokalisation Kalmanfilter EKF
Tracking von Objekten
Zielsetzung:
Verfolgung der Bewegung eines Objektes in Bildfolgen (ggf. mit Hilfe einer aktiven Kamera)
Anwendungen:
Beobachtung des Straßenverkehrs Sicherheitsanlagen
autonome Fahrzeuge mobile Roboter
· · ·
Tracking
Grundideen
Lokalisation Kalmanfilter EKF
Allgemeiner Systemaufbau
gefunden
Objekt Objekt nicht
gefunden
Initialisierung
optional:
Prädiktion
Objektlokalisierung
Kamerajustierung
suche Zielobjekt gem ¨aß Modell sch ¨atze Objektposition im n ¨achsten Bild:
Pr ¨adiktionsfilter
Condensation-Algorithmus
· · ·
lokalisiere Objekt im Bild:
Templates Active Contours
· · ·
positioniere Kamera neu
Tracking
Grundideen
Lokalisation Kalmanfilter EKF
Bemerkungen
Probabilistische / nicht-probabilistische Modelle:
eine absolute Position pro Zeitschritt vs. mehrere potenzielle Positionen
Single- und Multi-Objektverfolgung:
Tracking eines Objektes vs. paralleles Tracking mehrerer Objekte
Objektlokalisation anhand geeigneter Merkmale:
Farbe, Form, Struktur,· · ·
Pr ¨adiktion durch zeitliche Modellierung der Bewegung Nachf ¨uhrung der Kamera bei großen Bewegungsradien der Objekte: ”Halte Objekt m ¨oglichst im Bildzentrum.”
Tracking
Grundideen Lokalisation
Kalmanfilter EKF
Objektlokalisation: Template-Matching
einfachster Ansatz zur Lokalisation:
”Gegeben ein Beispielmuster (Template S) des gesuchten Signals, suche in unbekanntem Musterf einen Ausschnitt, der zum Template passt!”
Signalfin der Regel direkt durch Bild- oder Audiosignal bzw. geeigneten Merkmalsvektor gegeben
TemplateSentspricht einem Signalausschnitt gleicher Dimension
Tracking
Grundideen Lokalisation
Kalmanfilter EKF
Template-Matching auf Bildern
Mx ×My-dim. Bildsignalf Msx ×Msy-dim. TemplateS im Allgemeinen gilt:
Mx >>Msx und My >>Msy
Matching:
suche Position(j,k)im Bildf mit gr ¨oßter ¨Ubereinstimmung (Faltungsoperation!)
1 k Mx
1
j
My
1 1
... ...
m
n
...... ......
Msx
Msy
... ...
Gesucht: geeignetesAbstandsmaß, das zu minimieren ist!
Tracking
Grundideen Lokalisation
Kalmanfilter EKF
Abstandsmaße
City-Block:
1j,k =
Msx
X
m=1 Msy
X
n=1
|f(j+m,k+n)−Sm,n| (minimieren)
Quadratischer Abstand:
2j,k =
Msx
X
m=1 Msy
X
n=1
(f(j+m,k+n)−Sm,n)2 (minimieren)
Kreuzkorrelation:
Rj,k =
Msx
X
m=1 Msy
X
n=1
f(j+m,k+n)·Sm,n (maximieren)
normalisierte Kreuzkorrelation:
R0j,k = Rj,k
q PMsx
m=1
PMsy
n=1f(j+m,k+n)2 q
PMsx m=1
PMsy n=1S2m,n
(maximieren)
Tracking
Grundideen Lokalisation
Kalmanfilter EKF
Normalisierung & Verdeckungen
Template-Matching erfordert m ¨oglichst punktgenaue Ubereinstimmung!!!¨
⇒definierte Lichtverh ¨altnisse und Objektkonstanz Daher: Normalisierung
. . . von Energie von Bild und Template:
MSx
X
x=j MSy
X
y=k
f(x2,y) =1 bzw.
MSx
X
x=1 MSy
X
y=1
S2(x,y)=1
. . . Lage und Ausrichtung bei partiellen Verdeckungen:
Zerlegung des Templates in Sub-Templates
⇒Match bei ¨Ubereinstimmung ink ≥θk Sub-Templates
Tracking
Grundideen Lokalisation
Kalmanfilter EKF
Aufwandsreduktion
Template-Matching entspricht einerFaltung
⇒Transformation in den Frequenzraum (FFT):
Faltung wird zu Multiplikation Aufl ¨osungspyramiden:
Subsampling von Bild und Template Suche nach Matches auf unterster Ebene
Beschr ¨ankung des Matchings auf der n ¨achsten Ebene auf dienbesten Positionen aus vorherigem Schritt Pr ¨adiktionsfilter:
Beschr ¨ankung des Suchbereichs durch Sch ¨atzung/
Vorhersage der neuen Objektposition
Tracking
Grundideen Lokalisation Kalmanfilter EKF
Pr ¨adiktionsfilter - Kalman
Allgemeine Grundidee:
Modellierung eines mit einem Zufallsprozeß
¨uberlagerten linearen Systems, um aus dem Verhalten bis zum aktuellen Zeitpunkt Aussagen ¨uber das
zuk ¨unftige Verhalten machen zu k ¨onnen
”Features”:
Interpretation von verrauschten Meßdaten in Realzeit Implizite Modellierung von Zufallskomponenten f ¨ur sichere Vorhersagen
Absch ¨atzung von Vorhersagefehlern
Tracking
Grundideen Lokalisation Kalmanfilter EKF
Modellierung
~xk+1 = Φk ·~xk +~ωk
~zk = Hk ·~xk +~νk
~xk := Systemzustand zum Zeitpunktk (n×1-dimensional) Φk := Zustands ¨ubergangsmatrix~xk →~xk+1(n×n-dim.)
~
ωk := stat. Systemanteil, weißes, unkorreliertes Rauschen bekannter Kovarianz
E{~ωi~ωk}=δik·Qk
~zk := Meßdaten des Zeitpunktesk (m×1-dimensional)
Hk := spezifiziert Zusammenhang zwischen~xk und~zk (m×n-dim.)
~
νk := Meßfehler (n×1-dimensionaler Zufallsvektor) E{~νi~νk} = δik·Rk
E{ω~kν~i} = 0 ,∀k,i
Tracking
Grundideen Lokalisation Kalmanfilter EKF
Modellierungsbeispiel - I
Beispiel: 1D-Bewegung eines PKW Systemgleichungen:
lineare Bewegungsgleichungen der Physik Messung: Abstand per Radar
Zufallsprozeß: Luftwiderstand
Messfehler: St ¨orsignale, Zeitmessung Also: ~xk = [yk,
y·k,··yk]T
yk+1 = yk+ ∆t·y·k+∆t2 2 ·y··k y·k+1 = y·k + ∆t·y··k
⇒Φk = 0
@
1 ∆t ∆t22
0 1 ∆t
0 0 1
1 A
Tracking
Grundideen Lokalisation Kalmanfilter EKF
Modellierungsbeispiel - II
Zufallsprozess: Wind Q=
1 0 0 0 1 0 0 0 1
messbarer Zustand~zk:
Positionyk des PKW ¨uber Radar, alsoHk = (1 0 0) Messfehler:
N(0,1)· yk 10
Frage jetzt: Wie arbeitet der Kalman-Filter?
Tracking
Grundideen Lokalisation Kalmanfilter EKF
Arbeitsweise Kalmanfilter
Grundprinzip:
-
Vorhersage f ¨ur~xk Korrektur der Sch ¨atzungxˆk−
Meßwert~zk
6
-verbesserte Sch ¨atzungxˆk
?
Vorhersagexˆk+1−
Notation:
~xk := tats ¨achlicher Systemzustand (nicht bekannt!) xˆk−:= gesch ¨atzter Zustand vor Analyse (a-priori) xˆk := gesch ¨atzter Zustand nach Korrektur (a-posteriori)
Tracking
Grundideen Lokalisation Kalmanfilter EKF
Herleitung der Filtergleichungen - I
gegeben a-priori Sch ¨atzfehler zum Zeitpunktk e−k = (~xk −xˆk−)
mit Kovarianzmatrix
Pk−=E{ek−ek−T}=E{(~xk −xˆk−)(~xk−xˆk−)T} Ziel: korrigiere Zustandssch ¨atzung und Kovarianz anhand des Messfehlers zur Vorhersage
ˆxk = ˆxk−+Kk·(~zk −H·xˆk−) (1) der KorrekturfaktorKk heisst auchKalmanfaktor
Tracking
Grundideen Lokalisation Kalmanfilter EKF
Herleitung der Filtergleichungen - II
Ziel: finde optimalesKk f ¨ur eine neue Zustandssch ¨atzungxˆk
⇒Minimierung des mittleren quadratischen Sch ¨atzfehlers Pk =E{ekekT}
Ansatz:
argmin
Kk
Pk =argmin
Kk
E{(~xk−xˆk)(~xk−xˆk)T} Es gilt: ~zk =Hk·~xk+~νk
Aus Einsetzung in Gleichung (1) folgt dann xˆk = ˆxk−+Kk ·(Hk~xk +~νk −Hkxˆk−) Damit gilt schließlich:
Pk =E{(~xk−ˆxk−−Kk·(Hk~xk+~νk−Hkˆxk−))·(~xk−ˆxk−−Kk·(Hk~xk+~νk−Hkˆxk−))T}
Tracking
Grundideen Lokalisation Kalmanfilter EKF
Herleitung der Filtergleichungen - III
Umformung liefert nach diversen ”Rumrechnereien”... :-)
Pk = (I−KkHk)·Pk−·(I−KkHk)T +KkRKkT (2) Minimierung vonPk durch Ableiten und Nullsetzen ergibt
Kk = Pk−·HkT HkPk−HkT +Rk
Einsetzen des Kalmanfaktors in Gleichung (2) liefert Pk = (I−KkHk)·Pk−
als korrigierte Fehlerkovarianz
analog: aus (1) folgt eine korrigierte Zustandssch ¨atzungˆxk
Tracking
Grundideen Lokalisation Kalmanfilter EKF
Arbeitsweise Kalmanfilter
Vorhersage des Systemzustandes f ¨ur den Zeitpunktt+1:
xˆk−+1 = Φk ·xˆk +~ωk
Pk−+1 = E{(~xk+1−xˆk+1− )(~xk+1−xˆk+1− )T}
= E{(Φk~xk +~ωk−Φkxˆk −~ωk)2}
= E{Φkek +~ωk2}
= Φk ·E{e2k} ·ΦTk +E{~ωk2}
= Φk ·Pk·ΦTk +Qk
~
ωk ist mittelwertfrei und unkorreliert und entf ¨allt daher
Tracking
Grundideen Lokalisation Kalmanfilter EKF
Arbeitsweise Kalmanfilter: ¨ Uberblick
Berechnung der Vorhersage-Sch ¨atzungxˆk+1− aus den Modellgleichungen
Berechnung eines verbesserten Sch ¨atzwertesˆxk”uber Minimierung des mittleren quadratischen Sch ¨atzfehlers
gesch ¨atzte Vorhersage
ˆ xk− -
verbesserter Sch ¨atzwert
ˆ xk
- Initialisierung~x0
Messwert~zk -
- Fehlersch ¨atzung Pk−+1= ΦkPkΦTk +Qk
Tracking
Grundideen Lokalisation Kalmanfilter EKF
Arbeitsweise Kalmanfilter: ¨ Uberblick
je mehr Zust ¨ande beobachtet werden, desto sicherer ist die Vorhersage
Filter erfordert passendes Modell (fehlerhaftes Modell wird nicht ausgeglichen!)
numerische Probleme bei langer Laufzeit m ¨oglich beschr ¨ankt auflineareSysteme→Extended Kalman
Tracking
Grundideen Lokalisation Kalmanfilter EKF
Extended Kalmanfilter
Grundidee:
lokale lineare Approximation des nicht-linearen Modells (vgl. Taylor-Reihe)
Modellierung (analog zum Standard-Kalman):
~xk = f(~xk−1, ~ωk−1)∈Rn
~zk = h(~xk, ~νk)∈Rm
f,h nicht-lineare Funktionen der tats ¨achliche Zustand kann wiederum nur approximiert / gesch ¨atzt werden:
xˆk− = f(ˆxk−1,0) ˆzk = h(ˆxk−,0)
Tracking
Grundideen Lokalisation Kalmanfilter EKF
Modellgleichungen - I
Lineare Approximation der Modellgleichungen:
~xk ≈ f(ˆxk−1) +A·(~xk−1−xˆk−1) +W~ωk−1
≈ ˆxk−+A·(~xk−1−ˆxk−1) +W~ωk−1
~zk ≈ h(ˆxk−) +H·(~xk −xˆk−) +V~νk
≈ ˆzk−+H·(~xk−xˆk−) +V~νk mit den Jacobi-Matrizen
Aij = ∂fi
∂xj(ˆxk−1,0) , Wij = ∂fi
∂ωj(ˆxk−1,0) Hij = ∂hi
∂xj(ˆxk−,0) , Vij = ∂hi
∂νj(ˆxk−,0) (die Matrizen sind abh ¨angig vom jeweiligen Zeitschritt)
Tracking
Grundideen Lokalisation Kalmanfilter EKF
Modellgleichungen - II
Ziel des Korrekturschrittes war Berechnung einer a-posteriori-Sch ¨atzung, die mittleren quadratischen Sch ¨atzfehler minimiert!
(a-priori) Sch ¨atzfehler:
eˆ−x
k =~xk −xˆk− (a-priori) Messfehler:
eˆz−k =~zk −zˆk−
Sch ¨atz- und Messfehler k ¨onnen nur approximiert werden, Einsetzung der Modellgleichungen liefert:
ˆ e−
xk ≈ ˆx−
k +A·(~xk−1−ˆxk−1) +Wω~k−1−ˆx−
k ≈A·(~xk−1−xˆk−1) +k ˆe−
zk ≈ ˆzk−+H·(~xk−ˆx−k) +V~νk−ˆz−k ≈H·(ˆe− xk) +ηk (kist mittelwertfreie Zufallsvariable mit KovarianzmatrixWQWT,
ηkist mittelwertfreie Zufallsvariable mit KovarianzmatrixVRVT)
Tracking
Grundideen Lokalisation Kalmanfilter EKF
Modellgleichungen - III
Approximation ergibt zweiten Kalmanprozess, der Entwicklung des Sch ¨atzfehlers ¨uber die Zeit modelliert
minimiere diesen Sch ¨atzfehler
leite verbesserte Zustandssch ¨atzung ab:ˆxk = ˆxk−+ ˆexk Annahmen zur Minimierung:
Verteilungen voneˆ−xk,k undηk
eˆxk =Kk ·eˆz−k (analog zum Standard-Kalman) R ¨uckeinsetzung ergibt:
ˆxk = ˆxk−+ ˆexk = ˆxk−+Kk·ˆe−zk (Kk ergibt sich analog zum Standard-Kalman, mit angepasster Kovarianz)
Tracking
Grundideen Lokalisation Kalmanfilter EKF
Algorithmus
Uberblick:¨ a) Pr ¨adiktion:
xˆk− = f(ˆxk−1,0)
Pk− = AkPk−1ATk +WkQk−1WkT b) Korrektur:
Kk = Pk−HkT
(HkPk−HkT +VkRkVkT) xˆk = ˆxk−+Kk·(~zk −h(ˆxk−,0)) Pk = (I−KkHk)Pk−
Tracking
Grundideen Lokalisation Kalmanfilter EKF
Zusammenfassung: EKF
Behandlung nicht-linearer Modelle durch lineare Approximation
Ansatz in impliziter Modellierung des Sch ¨atzfehlers:
sch ¨atze a-posteriori Fehler aus a-priori Sch ¨atzfehler, kombiniert mit aktuellen Messergebnissen
Kalmanfaktor- und Fehlermatrix-Berechnungen weitgehend analog zum Standard-Kalman (EKF ist ”lediglich” nicht-lineare Erweiterung) aktuelles Hauptanwendungsgebiet:
Visual Self-Localisation and Mapping