motivation - informatik.hu-berlin.de · • multihypothesentracking – viele kalmanfilter, jeder...

30
1 1 Modellierung Bewegter Objekte in Dynamischen Umgebungen Daniel Göhring 08.02.2006 2 Motivation Wissen über Position von Objekten notwendig für Handlunsplanung und Kooperation

Upload: lymien

Post on 17-Sep-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

1

1

Modellierung Bewegter Objektein Dynamischen Umgebungen

Daniel Göhring08.02.2006

2

Motivation

• Wissen über Position von Objektennotwendig für Handlunsplanung und Kooperation

Page 2: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

2

3

Die Sony-Liga

4

Die Roboter

Page 3: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

3

5

Das Spielfeld

6

Beschränkungen

• Begrenzte Rechenleistung

• Nur kleiner Ausschnitt der Umwelt wahrnehmbar

• Verrauschte Sensordaten

Page 4: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

4

7

Schwierigkeiten in der Bildverarbeitung (Auszug)

8

Fehler durch geringe Kamerauflösung

Page 5: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

5

9

Grundlagen der Objektmodellierung

• Bayesfilter

• Satz von Bayes:

• Objektzustand anhand der Sensordaten vorhersagen– aber nicht aller Sensordaten

aus der Vergangenheit

10

Hidden Markov Modell

Page 6: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

6

11

Satz von Bayes

12

Satz von Bayes (2)

Resultat: Man erhält eine Berechnungsvorschrift in zwei Schritten:

Vorhersage (Prediction) und Aktualisierung (Update)

Page 7: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

7

13

Repräsentation des Objektzustandes

• Gaußverteilung:

14

Veranschaulichung eines Gauß-Rotationskoerpers

Page 8: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

8

15

Gaußfunktionen

• Fläche unter Funktion ist immer 1,• Abgeschlossenheit bezüglich Addition und

Multiplikation• Eignung bei weißem Rauschen• effizientee Berechnung und

Repräsentation der • Parameter ist die Kovarianzmatrix und der

Mittelwert

16

Kovarianzmatrix Berechnung

• 4 Hypothesen

• zwei Dimensionen: Position: x,y

Page 9: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

9

17

Beispielverteilung

-1-1

1

1

H1 = (2, 2)T

H2 = (-2, -2)T

H3 = (-1, 1)T

H4 = (1, -1)T

18

Mittelwert

HM = (0, 0)T

HM = 1/n * Σ Hi

-1-1

1

1

H1 = (2, 2)T

H2 = (-2, -2)T

H3 = (-1, 1)T

H4 = (1, -1)T

Page 10: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

10

19

Kovarianzmatrix

S = 1/n * Σ (HM - Hi) * (HM - Hi)T

• Auf der Hauptdiagonale befinden sich die Varianzen

von x und y, auf Nebendiagonale die Kovarianzen.

2.5 1.5

S = ( )

1.5 2.5Werte der Kovarianzmatrix können nicht direkt in Werte der Ellipse (Rotation, Halbachsenausdehnung) umgerechnet werden.

Kovarianzmatrix ist immer symmetrisch.

20

Zur Vollständigkeit:Korrelationsmatrix R

• jedes Element ri,j aus R berechnet sichbei gegebenen Elementen ci,j aus S als:

ri,j = ci,j *ci,j / (ci,i * cj,j)

1 0.36

= ( )

0.36 1

Page 11: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

11

21

Kalmanfilter

• dient der Filterung von Unimodalverteilungen

• Normalverteilungen vorausgesetzt• Ideal für Zeitdiskrete, lineare Prozesse• Minimieren den quadratischen Fehler zw.

Originaldaten und Abschätzung• Verwendung der ersten und zweiten

Momente

22

Berechnung

• Aus aktuellem, oder Initialzustand wird neuer Zustand vorausberechnet (prediction)

• Dieser a-priori-Zustand wird danach durch Vergleich mit den Sensordaten abgeglichen, der modellierte Objektzustand angepasst

Page 12: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

12

23

Arbeitsweise Kalman1.Schritt:

Vorausberechnung der neuen Ballposition aus der alten Position (Modellierung)

2.Korrektur des berechneten Wertes durch die Messung

24

Das Kalmanmodell1. Vorausberechnung (Prediction):

xk = Axk-1 + Buk-1 + wk-1mit A gelangt man vom Zustand in k-1 zum Zustand in kB repräsentiert die Kontrollinputmatrix

2. Messung (Measurement):zk = Hxk + vk

H beschreibt den Zusammenhang zwischen realem und gemessenem Zustand

wk , vk repräsentieren das Prozess- bzw. Messungsrauschen (weiß, normalverteilt)

Page 13: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

13

25

Kalmanmatrizen• Q repräsentiert die Prozessfehlerkovarianzen, je kleiner

die Werte von Q, je stabiler arbeitet der Filter• R repräsentiert die Messfehlerkovarianzen, je kleiner die

Werte von R, je reaktiver arbeitet der Filter• Pk repräsentiert die Diskrepanz zwischen Messung und

Berechnung in k, jeweils a priori und a posteriori, wird für jeden Schritt neu berechnet

Q, R müssen dem Modell mitgeteilt werden, beiben const., xk wird Anfangs auf zk initialisiert

26

Beispiel für Messfehlerkovarianzmatrizen R

- Entfernungsmessung für den Roboter schwieriger als Abschätzung des Winkels

- Korrelation der einzelnen Messgrößen beachten

Page 14: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

14

27

R klein

Q groß

R groß

Q klein

Auswirkung von Q bzw. R auf die Filterwirkung

28

BerechnungsschleifePrediction:

x-k = Axk-1 + Buk-1

P-k = APk-1AT + Q //a-priori Fehlerkovarianzmatr.

Update:

Kk = P-kHT(HP-

kHT+R)-1

xk = x-k + Kk(zk – Hx-

k)Pk = (I – KkH)P-

k //a-post. Fehlerkovarianzmatr.

K wird gemeinhin als das Kalmangain bez.

Page 15: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

15

29

Vor-/Nachteile

• Messfehlerkov.-mat. R ist leicht aus Eingangsdaten zu ermitteln

• für verschiedene Ballentfernungen • Prozessfehlerkov.-matrix hingegen

schwierig • Deckenkamera notwendig als Kontrolle

von außen• keine Repräsentation von

Negativinformation möglich

30

Probleme (2)

• Messfehler nicht konstant– Entfernungsfehler steigt quadratisch mit

wachsender Ballentfernung– Winkelfehler steigt bei Kopfbewegung

• also Messfehlerkovarianzmatrix R variabel gestalten

Wdh.: Update: Kk= P-kHT(HP-

kHT+R)-1

Page 16: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

16

31

Implementationsbeispiel

• Eindimensionaler Kalmanfilter für x:

Bsp.: Für x:Sx

- = Sx + VxPx

- = Px + QxKx = Px

- * (Px- + Rx)-1

Sx = Sx- + Kx * (Zx – Sx

-)Px = (I - Kx) * Px

-

32

Vor-/Nachteile• sehr effiziente Berechnung auch bei höherdimensionalen

Räumen• Aber nur lineare Prozesse, Erweiterungen: Extended KF

(Linearisierung durch Taylorpolynome),Uncented Kalmanfilter, weitere statistische Betrachtungen zur Linearisierung nichtlin. Prozesse

• ein Kalmanfilter kann nur ein einzelnes Objekt modellieren (unimodalverteilungen)

• Multihypothesenmodelle, beliebige Verteilungen nur schwer oder gar nicht darstellbar

Page 17: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

17

33

Arbeitsweise Schematisch

34

Anwendungsbeispiel Multiagentenmodellierung

Quelle: Dietl, Gutmann (2002)

3 Agenten fusionieren ihr Wissen über die Ballposition

Page 18: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

18

35

Kalmanfilter für die Fusion von Belief-Funktionen

36

Weitere Möglichkeiten zur Objektmodellierung

• Rasterbasierte Verfahren – keine Einschränkung für die Verteilungsfunktion, diskret, begrenzte Auflösung

• Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese

• Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen werden durch Partikelverteilungen repräsentiert

• Kombinationen aus verschiedenen Verfahren für verschiedene Parameter des Zustandsraumes – Rao-Blackwellized Partikelfilter

Page 19: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

19

37

Monte Carlo Partikelfilter

• Jeder Partikel (entspricht Hypothese) hat Position und Wahrscheinlichkeit

• Anzahl der Partikel in einem bestimmten Gebiet gibt Auskunft über den Wert der Wahrscheinlichkeitsdichtefunktion an dieser Stelle

38

Beispiel für Konvergenz der Partikel

Page 20: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

20

39

Ablauf

• Geg.: Partikelverteilung• Propagierung der Partikel – Prediction

– z.B. Propagierung der Geschwindigkeit und des Ortes nach Zeit t, dabei leichtes verrauschen

• Für jeden Evidence und für jeden Partikel• Berechnung der Likelihoods für jeden Partikel

– vergleiche für jede Hypothese, was gesehen wurde mit dem was hätte gesehen werden müssen

40

Ablauf (2)

• Resampling– Je nach Bewertung (Likelihood) werden die

Partikel in den nächsten Zustand propagiert

Page 21: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

21

41

Clusterung der Partikel zu Areas of Interest

42

Stand der Forschung

• Unterteilung des Zustandsraumes in Unterräume, die ggf. analytisch bzw. durch Repräsentanten lösbar sind

Page 22: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

22

43

Maß für die Konvergenz• Entropie H gibt Auskunft über die Konvergenz

der Partikelverteilung

• Vorgehen, Rasterung des Spielfeldes in n Unterbereiche

• H = ∑ -pi * log pi

Wobei pi die Anzahl der Partikel im Bereich i dividiert durch Gesamtpartikelzahl ist (relative Häufigkeit)

44

Darstellung als Bayesnetz

Page 23: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

23

45

Berechnung der Hauptachsen einer statistischen Verteilung

• Annahme –Normalverteilung

• Man moechte Betrag und Richtung der Hauptachsen wissen

• Ziel: Maximale Verringerung der Unsicherheit

46

1. Mittelwert

HM = (0, 0)T

HM = 1/n * Σ Hi

-1-1

1

1

H1 = (2, 2)T

H2 = (-2, -2)T

H3 = (-1, 1)T

H4 = (1, -1)T

Page 24: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

24

47

2. Berechnung der Eigenwerte für x und y

Ausgangsmatrix:2.5 1.5

• S = ( )1.5 2.5

Gesucht: alle Eigenwerte λ, wobei gilt: det (S - I λ) = 0

48

2. Berechnung der Eigenwerte2.5 - λ 1.5

• det ( ) = 0, 1.5 2.5 - λ

• Also (2.5 - λ)2 – 1.52 = 00 = λ2 - 5λ + 4

• Eigenwerte: λ1 = 2.5 + 1.5 = 4 λ2 = 2.5 - 1.5 = 1

Page 25: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

25

49

3. Berechnung der Eigenvektoren

• Einsetzen der Eigenwerte λ in die Kovarianzmatrix S, größte Eigenwerte zuerst.

(S - I λ) * V = 0

50

3. Berechnung der Eigenvektoren (2)

Berechnung des 1. V, λ =4:

-1.5 * V1x + 1.5 * V1y = 01.5 * V1x - 1.5 * V1y = 0

V1x = V1y0.707

Eigenvektor normiert (Betrag = 1): V1 = ( )0.707

Page 26: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

26

51

4. Normierung der Eigenvektoren

-0.707V2 = ( )

0.707EVs sind Zeilen der Transf.-matrixTransformationsmatrix K = (V1, V2)T

0.707 0.707K = ( )

-0.707 0.707

52

5. Transformation (optional)

S’ = K * S * KT

(K ist orthonormal, KT = K-1)

4*0.7 4*0.7 0.7 -0.7S’ = ( ) * ( )

-1*0.7 1*0.7 0.7 0.7

Page 27: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

27

53

Transformation (2)

• Nach der Transformation sind die Kovarianzen null

4 0S’ = ( )

0 1

54

Zu Beachten

• Rotationsmatrix hat die Formcos(α) -sin(α)

K = ( )sin(α) cos(α)

Vorzeichen von K können zeilenweise vertauscht werden (Spiegelung der EVs)

• Ellipsenrotation von 200° = 20°, schnellere Erreichbarkeiten (Kosten) beachten

Page 28: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

28

55

Nach der Transformation

also:α = arccos(0.707) = arcsin(0.707)= 45°

-1-1

1

1 H1’ = (2.82, 0)TH2’ = (-2.82, 0)T

H3’ = (0, 1.41)T

H4’ = (0, -1.41)T

56

Also

• 45 Grad nach rechts schauen

HM = (0, 0)T

-1-1

1

1

H1 = (2, 2)T

H2 = (-2, -2)T

H3 = (-1, 1)T

H4 = (1, -1)T

Page 29: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

29

57

Zusammenfassung

• Schwierigkeiten bei der Objektmodellierung:

• Eingangsdaten verrauscht durch begrenzte Auflösung, unzureichende Farbklassifizierung, verwackelte Kamerabilder durch Laufunruhen,

• Sichtwinkel begrenzt

58

Zusammenfassung (2)

• Objektmodellierung no– Weltmodell– Filterung verrauschter Eingangsdaten– Akkumulierung von Wissen aus

verschiedenen Bildern (z.B. Berechnung der Ballgeschwindigkeit, Selbstlokalisierung)

– Modellierung von Interdependenzen (Abhängigkeiten) verschiedener Objekte der Roboterumgebung

Page 30: Motivation - informatik.hu-berlin.de · • Multihypothesentracking – viele Kalmanfilter, jeder für eine Hypothese • Partikelfilter: beliebige Wahrscheinlichkeitsdichtefunktionen

30

59

Zusammenfassung (3)

• Satz von Bayes Grundlage für viele wichtige Filterverfahren

• (Kalman, Monte Carlo)

• Forschung in Richtung Wissensverschmelzung durch verschiedene Agenten

60

• Vielen Dank!