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 ...
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