06.11.2014 Aufrufe

Folien, pdf - Institut für Informatik - Martin-Luther-Universität Halle ...

Folien, pdf - Institut für Informatik - Martin-Luther-Universität Halle ...

Folien, pdf - Institut für Informatik - Martin-Luther-Universität Halle ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Tracking<br />

• Einführung<br />

• Allgemeiner Systemaufbau<br />

• Objektlokalisation: Template-Matching<br />

• Prädiktionsfilter: Kalman<br />

Birgit Möller & Denis Williams<br />

AG Bioinformatik & Mustererkennung<br />

<strong>Institut</strong> für <strong>Informatik</strong><br />

<strong>Martin</strong>-<strong>Luther</strong>-Universität <strong>Halle</strong>-Wittenberg<br />

❂ ⇐ ⇐ ▲ ▼ ⇒ ⇒


Einführung<br />

Tracking von Objekten<br />

Zielsetzung:<br />

Verfolgung der Bewegung eines Objektes mit Hilfe einer Kamera<br />

durch Auswertung von Bildfolgen<br />

Anwendungen:<br />

• Beobachtung des Straßenverkehrs<br />

(stationäre, statische Kamera und bewegte Objekte)<br />

• Sicherheitsanlagen (stationäre, nicht-statische Kamera und bewegte Objekte)<br />

• autonome Fahrzeuge (nicht-stationäre Kamera und bewegte Objekte)<br />

• mobile Roboter (nicht-stationäre Kameras in beliebigen Umgebungen)<br />

• · · ·<br />

Angewandte Bildverarbeitung, WS 2003-2004 ❂ ⇐ ⇐ ▲ ▼ ⇒ ⇒ 1


Systemaufbau<br />

Allgemeiner Systemaufbau:<br />

• suche Zielobjekt gemäß Modell<br />

• schätze Objektposition im<br />

nächsten Bild:<br />

– Prädiktionsfilter<br />

– Condensation-Algorithmus<br />

– · · ·<br />

• lokalisiere Objekt im aktuellen Bild:<br />

– Templates<br />

– Active Contours<br />

– · · ·<br />

• positioniere Kamera neu<br />

Angewandte Bildverarbeitung, WS 2003-2004 ❂ ⇐ ⇐ ▲ ▼ ⇒ ⇒ 2


Bemerkungen<br />

• Probabilistische / nicht-probabilistische Modelle:<br />

eine absolute Position pro Zeitschritt vs. mehrere potenzielle Positionen<br />

• Single- und Multi-Objektverfolgung:<br />

Tracking eines Objektes vs. paralleles Tracking mehrerer Objekte<br />

• Objektlokalisation anhand geeigneter Merkmale:<br />

Farbe, Form, Struktur, · · ·<br />

• Prädiktion durch zeitliche Modellierung der Bewegung<br />

• Nachführung der Kamera bei großen Bewegungsradien der Objekte:<br />

”Halte Objekt möglichst im Zentrum des Bildausschnitts.”<br />

Angewandte Bildverarbeitung, WS 2003-2004 ❂ ⇐ ⇐ ▲ ▼ ⇒ ⇒ 3


Objektlokalisation: Template-Matching<br />

• einfachster Ansatz zur Lokalisation<br />

• Grundidee:<br />

”Gegeben ein Beispielmuster (Template S) des gesuchten Signals, suche<br />

in unbekanntem Muster f einen Ausschnitt, der zum Template passt!”<br />

• Signal f in der Regel direkt durch Bild- oder Audiosignal<br />

bzw. geeigneten Merkmalsvektor gegeben<br />

• Template S entspricht einem Signalausschnitt gleicher Dimension<br />

Problem:<br />

Template-Matching erfordert möglichst punktgenaue Übereinstimmung!!!<br />

(geeignet bei definierten Lichtverhältnissen und Objektkonstanz)<br />

Angewandte Bildverarbeitung, WS 2003-2004 ❂ ⇐ ⇐ ▲ ▼ ⇒ ⇒ 4


Template-Matching auf Bildern<br />

Gegeben:<br />

• M x × M y -dimensionales Bildsignal f<br />

• M sx × M sy -dimensionales Template S<br />

• im Allgemeinen gilt:<br />

M x > M sx<br />

und M y > M sy<br />

• Matching: suche Position (j, k) im Bild f<br />

mit der größten Übereinstimmung<br />

(Faltungsoperation!)<br />

Gesucht: geeignetes Abstandsmaß, das zu minimieren ist!<br />

Angewandte Bildverarbeitung, WS 2003-2004 ❂ ⇐ ⇐ ▲ ▼ ⇒ ⇒ 5


Abstandsmaße<br />

• City-Block:<br />

• Quadratischer Abstand:<br />

Msx<br />

ɛ 1 j,k = ∑<br />

m=1<br />

Msx<br />

ɛ 2 j,k = ∑<br />

m=1<br />

Msy<br />

∑<br />

n=1<br />

Msy<br />

|f (j+m,k+n) − S m,n | (minimieren)<br />

∑<br />

(f (j+m,k+n) − S m,n ) 2 (minimieren)<br />

n=1<br />

• Kreuzkorrelation:<br />

R j,k =<br />

Msx ∑<br />

Msy<br />

∑<br />

f (j+m,k+n) · S m,n<br />

(maximieren)<br />

m=1<br />

n=1<br />

• normalisierte Kreuzkorrelation:<br />

R ′ j,k =<br />

R j,k<br />

√ √ ∑M<br />

sx<br />

∑Msy<br />

m=1 n=1 f ∑M 2 sx<br />

∑Msy<br />

(j+m,k+n) m=1 n=1 S2 m,n<br />

(maximieren)<br />

Angewandte Bildverarbeitung, WS 2003-2004 ❂ ⇐ ⇐ ▲ ▼ ⇒ ⇒ 6


Normalisierung<br />

Alternative Normalisierung:<br />

• Energie von Bild und Template:<br />

M S x ∑<br />

x=j<br />

M S y<br />

∑<br />

y=k<br />

M S x<br />

f(x,y) 2 = 1 bzw. ∑<br />

x=1<br />

M S y<br />

∑<br />

y=1<br />

S 2 (x,y) = 1<br />

Weitere Probleme:<br />

• Templates sind i.A. weder rotations- noch skalierungsinvariant<br />

(vorherige Transformationen, Normalisierungen, etc. notwendig)<br />

• bei partiellen Verdeckungen Zerlegung des Templates in Sub-Templates<br />

⇒ Match bei Übereinstimmung in k ≥ θ k Sub-Templates<br />

Angewandte Bildverarbeitung, WS 2003-2004 ❂ ⇐ ⇐ ▲ ▼ ⇒ ⇒ 7


Aufwandsreduktion<br />

Ansätze zur Aufwandsreduktion:<br />

• Template-Matching entspricht einer Faltung<br />

⇒ Transformation in den Frequenzraum (FFT): Faltung → Multiplikation<br />

• Auflösungspyramiden:<br />

– Subsampling von Bild und Template<br />

– Suche nach Matches auf unterster Ebene<br />

– Beschränkung des Matchings auf der nächsten Ebene auf die n besten<br />

Positionen aus vorherigem Schritt<br />

• Prädiktionsfilter:<br />

Beschränkung des Suchbereichs durch Schätzung der neuen Objektposition<br />

Angewandte Bildverarbeitung, WS 2003-2004 ❂ ⇐ ⇐ ▲ ▼ ⇒ ⇒ 8


Prädiktionsfilter - Kalman<br />

Allgemeine Grundidee:<br />

rekursive Modellierung eines mit einem Zufallsprozeß überlagerten<br />

linearen Systems, um aus dem Verhalten bis zum aktuellen Zeitpunkt<br />

Aussagen über das zukünftige Verhalten machen zu können<br />

”Features”:<br />

• Interpretation von verrauschten Meßdaten in Realzeit<br />

• Implizite Modellierung von Zufallskomponenten für sichere Vorhersagen<br />

• ermöglicht Aussagen über Vorhersagefehler<br />

Ansatz:<br />

”Gegeben ein Modell für die Bewegung und die Meßdaten über den Zustand des<br />

Systems bis zum Zeitpunkt k, sowie ferner Annahmen über zufällige Störeinflüsse,<br />

mache eine Vorhersage für den Systemzustand zum Zeitpunkt k + 1!”<br />

Angewandte Bildverarbeitung, WS 2003-2004 ❂ ⇐ ⇐ ▲ ▼ ⇒ ⇒ 9


Modellierung<br />

Modellierung des linearen Systems:<br />

⃗x k+1 = Φ k · ⃗x k + ⃗ω k<br />

⃗z k = H k · ⃗x k + ⃗ν k<br />

⃗x k := Systemzustand zum Zeitpunkt k (n × 1-dimensional)<br />

Φ k := Zustandsübergangsmatrix ⃗x k → ⃗x k+1 (n × n-dimensional)<br />

⃗ω k := statistischer Systemanteil, weißes, unkorreliertes Rauschen bekannter Kovarianz<br />

E{⃗ω i ⃗ω k } = δ ik · Q k<br />

⃗z k := Meßdaten des Zeitpunktes k (m × 1-dimensional)<br />

H k := spezifiziert Zusammenhang zwischen ⃗x k und ⃗z k (m × n-dimensional)<br />

⃗ν k := Meßfehler (n × 1-dimensionaler Zufallsvektor)<br />

E{⃗ν i ⃗ν k } = δ ik · R k<br />

E{ ⃗ω k ⃗ν i } = 0 , ∀k, i<br />

Angewandte Bildverarbeitung, WS 2003-2004 ❂ ⇐ ⇐ ▲ ▼ ⇒ ⇒ 10


Beispiel: 1D-Bewegung eines PKW<br />

Modellierung - Beispiel<br />

• Systemgleichungen: lineare Bewegungsgleichungen der Physik<br />

• Messung: Abstand per Radar<br />

• Zufallsprozeß: Luftwiderstand<br />

• Messfehler: Störsignale, Zeitmessung<br />

Also:<br />

⃗x k = [y k , ·y k , ··<br />

y k ] T<br />

y k+1 = y k + ∆t · ·y k + ∆t2<br />

2 · ··<br />

·<br />

y k+1 = ·y k + ∆t · y ··<br />

k<br />

⇒ Φ k =<br />

⎛<br />

⎝ 1 ∆t ∆t 2<br />

2<br />

0 1 ∆t<br />

0 0 1<br />

⎞<br />

⎠<br />

y k<br />

Angewandte Bildverarbeitung, WS 2003-2004 ❂ ⇐ ⇐ ▲ ▼ ⇒ ⇒ 11


Modellierung - Beispiel<br />

• Zufallsprozess: Wind<br />

Q =<br />

⎛<br />

⎝ 1 0 0<br />

0 1 0<br />

0 0 1<br />

⎞<br />

⎠<br />

• messbarer Zustand ⃗z k :<br />

Position y k des PKW über Radar, also H k = (1 0 0)<br />

• Messfehler:<br />

N(0, 1) · yk<br />

10<br />

Frage jetzt: Wie arbeitet der Kalman-Filter?<br />

Angewandte Bildverarbeitung, WS 2003-2004 ❂ ⇐ ⇐ ▲ ▼ ⇒ ⇒ 12


Arbeitsweise Kalmanfilter<br />

Grundprinzip:<br />

Vorhersage für ⃗x k<br />

✲<br />

Korrektur der<br />

Schätzung ˆx − k<br />

✲<br />

verbesserte<br />

Schätzung ˆx k<br />

✲<br />

Vorhersage ˆx − k+1<br />

✻<br />

Meßwert ⃗z k<br />

Notation:<br />

⃗x k := tatsächlicher Systemzustand (nicht bekannt!)<br />

ˆx − k<br />

:= geschätzter Zustand vor Analyse (a-priori Schätzung)<br />

ˆx k := geschätzter Zustand nach der Korrektur (a-posteriori Schätzung)<br />

Angewandte Bildverarbeitung, WS 2003-2004 ❂ ⇐ ⇐ ▲ ▼ ⇒ ⇒ 13


Arbeitsweise Kalmanfilter<br />

Herleitung der Filtergleichungen<br />

• gegeben a-priori Schätzfehler zum Zeitpunkt k<br />

e − k = (⃗x k − ˆx − k )<br />

mit Kovarianzmatrix<br />

P − k = E{e− k e− T<br />

k } = E{(⃗xk − ˆx − k )(⃗x k − ˆx − k )T }<br />

• Ziel: korrigiere Zustandsschätzung und Kovarianz anhand des Messfehlers<br />

ˆx k = ˆx − k + K k · (⃗z k − H · ˆx − k ) (1)<br />

• der Korrekturfaktor K k heisst auch Kalmanfaktor<br />

Angewandte Bildverarbeitung, WS 2003-2004 ❂ ⇐ ⇐ ▲ ▼ ⇒ ⇒ 14


Arbeitsweise Kalmanfilter<br />

Ziel: finde optimales K k für eine neue Zustandsschätzung ˆx k<br />

⇒ Minimierung des mittleren quadratischen Schätzfehlers P k = E{e k e T k }<br />

Ansatz:<br />

Es gilt:<br />

argmin<br />

K k<br />

P k = argmin<br />

K k<br />

E{(⃗x k − ˆx k )(⃗x k − ˆx k ) T }<br />

⃗z k = H k · ⃗x k + ⃗ν k<br />

Aus Einsetzung in Gleichung (1) folgt dann<br />

ˆx k = ˆx − k + K k · (H k ⃗x k + ⃗ν k − H kˆx − k )<br />

Damit gilt schließlich:<br />

P k = E{(⃗x k − ˆx − k −K k ·(H k ⃗x k +⃗ν k −H kˆx − k ))·(⃗x k − ˆx − k −K k ·(H k ⃗x k +⃗ν k −H kˆx − k ))T }<br />

Angewandte Bildverarbeitung, WS 2003-2004 ❂ ⇐ ⇐ ▲ ▼ ⇒ ⇒ 15


Arbeitsweise Kalmanfilter<br />

• Umformung liefert nach diversen ”Rumrechnereien”... :-)<br />

P k = (I − K k H k ) · P − k · (I − K kH k ) T + K k RK T k (2)<br />

• Minimierung von P k durch Ableiten und Nullsetzen ergibt<br />

K k =<br />

P − k<br />

· HT k<br />

H k P − k HT k + R k<br />

• Einsetzen des Kalmanfaktors in Gleichung (2) liefert<br />

als korrigierte Fehlerkovarianz<br />

P k = (I − K k H k ) · P − k<br />

• analog dazu folgt aus Gleichung (1) eine korrigierte Zustandsschätzung ˆx k<br />

Angewandte Bildverarbeitung, WS 2003-2004 ❂ ⇐ ⇐ ▲ ▼ ⇒ ⇒ 16


Arbeitsweise Kalmanfilter<br />

• Vorhersage des Systemzustandes für den Zeitpunkt t + 1:<br />

ˆx − k+1<br />

= Φ k · ˆx k + ⃗ω k<br />

P − k+1<br />

= E{(⃗x k+1 − ˆx − k+1 )(⃗x k+1 − ˆx − k+1 )T }<br />

= E{(Φ k ⃗x k + ⃗ω k − Φ kˆx k − ⃗ω k ) 2 }<br />

= E{Φ k e k + ⃗ω k}<br />

2<br />

= Φ k · E{e 2 k}Φ T k + E{⃗ω k}<br />

2<br />

= Φ k · P k Φ T k + Q k<br />

• ⃗ω k ist mittelwertfrei und unkorreliert und kann daher entfallen<br />

Angewandte Bildverarbeitung, WS 2003-2004 ❂ ⇐ ⇐ ▲ ▼ ⇒ ⇒ 17


Überblick<br />

Fehlerabschätzung<br />

✲<br />

P − k+1 = Φ kP k Φ T k + Q k<br />

Initialisierung ⃗x 0<br />

✲ Berechnung der<br />

Vorhersage-Schätzung ˆx − k+1<br />

✲ aus den Modellgleichungen<br />

verbesserter<br />

geschätzte<br />

Schätzwert<br />

Vorhersage<br />

ˆx ˆx − k<br />

k<br />

Berechnung eines verbesserten<br />

✛<br />

Schätzwertes ˆx k über<br />

Messwert ⃗z Minimierung des mittleren<br />

k<br />

✲<br />

quadratischen Schätzfehlers<br />

• je mehr Zustände beobachtet werden, desto sicherer ist die Vorhersage<br />

• Filter erfordert passendes Modell (fehlerhaftes Modell wird nicht ausgeglichen!)<br />

• numerische Probleme bei langer Laufzeit möglich<br />

• beschränkt auf lineare Systeme → Extended Kalman<br />

Angewandte Bildverarbeitung, WS 2003-2004 ❂ ⇐ ⇐ ▲ ▼ ⇒ ⇒ 18

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!