Algorithmen für Geographische Informationssysteme 8. Vorlesung: 10. Dezember 2012 Jan-Henrik Haunert
Map Matching Problemformulierung Gegeben: Das Straßennetz als planar eingebetteter Graph G = V, E Die GPS-Trajektorie als Folge P = p 1, p 2,, p n von Punkten Gesucht: Weg in G, der minimale Distanz zu P hat. Map Matching
Hausdorff-Distanz d hdorff P 1, P 2 = max d hdorff P 1, P 2, d hdorff P 2, P 1 mit und d hdorff P 1, P 2 = max d p 1, P 2 p 1 P 1 d p 1, P 2 = min d p 1, p 2 p 2 P 2 P 1 d hdorff P 1, P 2 P 2
Fréchet-Distanz Herrchen läuft entlang P 1 ohne jemals umzukehren. Hund läuft entlang P 2 ohne jemals umzukehren. Herrchen und Hund sind über Hundeleine verbunden. Wie lang ist die Hundeleine mindestens? P 2 P 1
Fréchet-Distanz Freiraum F ε = s, t 0, m 1 0, n 1 d p 1 s, p 2 t ε d fréchet ε Es gibt einen Pfad von 0,0 nach 1,1 im inneren von F ε, der in beide Richtungen monoton ist. F ε kann in O mn Zeit berechnet werden. P 2 ε P 2 P 1 TODO: Finde zulässigen Pfad in F ε. P 1
Fréchet-Distanz Kanten einer Freiraumzelle: B F i,j, BF i,j+1, L F i,j, LF i+1,j
Fréchet-Distanz Kanten einer Freiraumzelle: B F i,j, BF i,j+1, L F i,j, LF i+1,j Teile dieser Kanten, die von (0,0) aus erreichbar sind: B R i,j, BR i,j+1, LR i,j, LR i+1,j
Fréchet-Distanz Kanten einer Freiraumzelle: B F i,j, BF i,j+1, L F i,j, LF i+1,j R L i,j Teile dieser Kanten, die von (0,0) aus erreichbar sind: B R i,j, BR i,j+1, LR i,j, LR i+1,j B R i,j, L R i,j bekannt B R i,j =
Fréchet-Distanz Kanten einer Freiraumzelle: B F i,j, BF i,j+1, L F i,j, LF i+1,j R L i,j R B i,j+1 R L i+1,j Teile dieser Kanten, die von (0,0) aus erreichbar sind: B R i,j, BR i,j+1, LR i,j, LR i+1,j B R i,j = B R i,j, L R i,j bekannt R R B i,j+1, L i+1,j
Algorithmus Fréchet-Distanz
Algorithmus Fréchet-Distanz
Algorithmus Fréchet-Distanz
Algorithmus Fréchet-Distanz
Algorithmus Fréchet-Distanz
Algorithmus Fréchet-Distanz
Algorithmus Fréchet-Distanz
Algorithmus Fréchet-Distanz
Algorithmus Fréchet-Distanz
Algorithmus Fréchet-Distanz
Algorithmus Fréchet-Distanz
Algorithmus Fréchet-Distanz
Algorithmus Fréchet-Distanz
Algorithmus Fréchet-Distanz
Algorithmus Fréchet-Distanz
Algorithmus Fréchet-Distanz
Algorithmus Fréchet-Distanz
Algorithmus Fréchet-Distanz
Fréchet-Distanz Berechnung: Löse Entscheidungsproblem: Ist d fréchet ε? P 2 P 1
Fréchet-Distanz Berechnung: Löse Entscheidungsproblem: Ist d fréchet ε? dann parametrische Suche... O mn log mn Zeit (hier ohne Details) P 2 P 1
Map Matching Problemformulierung Gegeben: Das Straßennetz als planar eingebetteter Graph G = V, E Die GPS-Trajektorie als Folge P = p 1, p 2,, p n von Punkten Gesucht: Weg in G, der minimale Distanz zu P hat. Map Matching
Map Matching Problemformulierung Gegeben: Das Straßennetz als planar eingebetteter Graph G = V, E Die GPS-Trajektorie als Folge P = p 1, p 2,, p n von Punkten Gesucht: Weg in G, der minimale Fréchet-Distanz zu P hat. Map Matching
Map Matching Entscheidungsproblem Gegeben: Das Straßennetz als planar eingebetteter Graph G = V, E Die GPS-Trajektorie als Folge P = p 1, p 2,, p n von Punkten Zulässige Distanz ε Gibt es einen Weg in G, dessen Fréchet-Distanz zu P kleiner ist als ε? Map Matching
Map Matching Entscheidungsproblem Freiraumdiagramm für zwei Polygonzüge P 2 P 1
Map Matching Entscheidungsproblem Freiraumdiagramm für zwei Polygonzüge P 2 Idee: Freiraumdiagramm für Polygonzug und Graph P 1
Map Matching Idee: Freiraumdiagramm für Polygonzug und Graph
Map Matching Idee: Freiraumdiagramm für Polygonzug und Graph
Freiraumdiagramm für Polygonzug und eine Kante Map Matching Idee: Freiraumdiagramm für Polygonzug und Graph
Map Matching Suche einen zulässigen Pfad von links nach rechts. Idee: Freiraumdiagramm für Polygonzug und Graph
Map Matching Suche einen zulässigen Pfad von links nach rechts. Alt et al. 2003: Matching Planar Maps J. Algorithm. Entscheidbar in O E P log E Zeit.
Map Matching Finde einen zulässigen Pfad mit minimaler Fréchet-Distanz Alt et al. 2003: Matching Planar Maps J. Algorithm. Lösbar in O E P log E log E P Zeit.
Lösbar in O E P log E log E P Zeit. Map Matching Problemformulierung Gegeben: Das Straßennetz als planar eingebetteter Graph G = V, E Die GPS-Trajektorie als Folge P = p 1, p 2,, p n von Punkten Gesucht: Weg in G, der minimale Fréchet-Distanz zu P hat. Map Matching
Map Matching Problem: GPS-Punkte der Trajektorie weisen einen relativ großen Abstand zueinander auf. Annahme: Fahrer wählen bevorzugt kürzeste Wege im Straßennetz.
Map Matching Problem: GPS-Punkte der Trajektorie weisen einen relativ großen Abstand zueinander auf. Direkte Verbindung zwischen Punkten ist schlechte Näherung Annahme: Fahrer wählen bevorzugt kürzeste Wege im Straßennetz.
Map Matching Problem: GPS-Punkte der Trajektorie weisen einen relativ großen Abstand zueinander auf. Ergebnis mit minimaler Fréchet-Distanz Annahme: Fahrer wählen bevorzugt kürzeste Wege im Straßennetz.
Map Matching Problem: GPS-Punkte der Trajektorie weisen einen relativ großen Abstand zueinander auf. kürzeste Route Annahme: Fahrer wählen bevorzugt kürzeste Wege im Straßennetz.
Map Matching Ansatz über kürzeste Wege Y. Lou, C. Zhang, Y. Zheng, X. Xie, W. Wang, Y. Huang (2009): Map-Matching for Low-Sampling-Rate GPS Trajectories, Proc. ACM GIS 2009, pp. 352-361. P. Newson und J.Krumm. (2009): Hidden Markov Map Matching Through Noise and Sparseness, Proc. ACM GIS 2009, pp. 336-343. J. Eisner, S. Funke, A. Herbsty, A. Spillnery und S. Storandt : Algorithms for Matching and Predicting Trajectories. Proc. ALENEX 2011, pp. 84-95.
Map Matching Ansatz über kürzeste Wege Y. Lou, C. Zhang, Y. Zheng, X. Xie, W. Wang, Y. Huang (2009): Map-Matching for Low-Sampling-Rate GPS Trajectories, Proc. ACM GIS 2009, pp. 352-361. P. Newson und J.Krumm. (2009): Hidden Markov Map Matching Through Noise and Sparseness, Proc. ACM GIS 2009, pp. 336-343. J. Eisner, S. Funke, A. Herbsty, A. Spillnery und S. Storandt : Algorithms for Matching and Predicting Trajectories. Proc. ALENEX 2011, pp. 84-95. Ein Punkt etwa alle zwei Minuten (z.b. zur Aufzeichnung & Analyse von Taxirouten)
Map Matching Ansatz über kürzeste Wege Y. Lou, C. Zhang, Y. Zheng, X. Xie, W. Wang, Y. Huang (2009): Map-Matching for Low-Sampling-Rate GPS Trajectories, Proc. ACM GIS 2009, pp. 352-361. P. Newson und J.Krumm. (2009): Hidden Markov Map Matching Through Noise and Sparseness, Proc. ACM GIS 2009, pp. 336-343. J. Eisner, S. Funke, A. Herbsty, A. Spillnery und S. Storandt : Algorithms for Matching and Predicting Trajectories. Proc. ALENEX 2011, pp. 84-95. Hidden Markov Modell: Wahrscheinlichkeitstheoretischer Ansatz
Hidden Markov Model
Hidden Markov Model Gegeben: Beobachtungen O = o 1,..., o n, je eine pro Zeitpunkt mögliche Systemzustände Z für jeden Systemzustand z Z und jede Beobachtung o die Wahrscheinlichkeit Pr(o z) oder die Wahrscheinlichkeitsdichte f (o z), dass o bei Zustand z beobachtet wird für jedes Paar von Zuständen z 1, z 2 Z die Wahrscheinlichkeit Pr(z 2 was z 1 before), also die Wahrscheinlichkeit für z 2 bei Kenntnis, dass zuvor z 1 vorherrschte (Übergangswahrscheinlichkeit) für jeden Zustand z Z die (a-priori-)wahrscheinlichkeit Pr(z)
Hidden Markov Model Gegeben: Beobachtungen O = o 1,..., o n, je eine pro Zeitpunkt mögliche Systemzustände Z für jeden Systemzustand z Z und jede Beobachtung o die Wahrscheinlichkeit Pr(o z) oder die Wahrscheinlichkeitsdichte f (o z), dass o bei Zustand z beobachtet wird für jedes Paar von Zuständen z 1, z 2 Z die Wahrscheinlichkeit Pr(z 2 was z 1 before), also die Wahrscheinlichkeit für z 2 bei Kenntnis, dass zuvor z 1 vorherrschte (Übergangswahrscheinlichkeit) für jeden Zustand z Z die (a-priori-)wahrscheinlichkeit Pr(z)
Hidden Markov Model Gegeben: Beobachtungen O = o 1,..., o n, je eine pro Zeitpunkt mögliche Systemzustände Z für jeden Systemzustand z Z und jede Beobachtung o die Wahrscheinlichkeit Pr(o z) oder die Wahrscheinlichkeitsdichte f (o z), dass o bei Zustand z beobachtet wird für jedes Paar von Zuständen z 1, z 2 Z die Wahrscheinlichkeit Pr(z 2 was z 1 before), also die Wahrscheinlichkeit für z 2 bei Kenntnis, dass zuvor z 1 vorherrschte (Übergangswahrscheinlichkeit) für jeden Zustand z Z die (a-priori-)wahrscheinlichkeit Pr(z)
Hidden Markov Model Gegeben: Beobachtungen O = o 1,..., o n, je eine pro Zeitpunkt mögliche Systemzustände Z für jeden Systemzustand z Z und jede Beobachtung o die Wahrscheinlichkeit Pr(o z) oder die Wahrscheinlichkeitsdichte f (o z), dass o bei Zustand z beobachtet wird für jedes Paar von Zuständen z 1, z 2 Z die Wahrscheinlichkeit Pr(z 2 was z 1 before), also die Wahrscheinlichkeit für z 2 bei Kenntnis, dass zuvor z 1 vorherrschte (Übergangswahrscheinlichkeit) für jeden Zustand z Z die (a-priori-)wahrscheinlichkeit Pr(z)
Hidden Markov Model Gegeben: Beobachtungen O = o 1,..., o n, je eine pro Zeitpunkt mögliche Systemzustände Z für jeden Systemzustand z Z und jede Beobachtung o die Wahrscheinlichkeit Pr(o z) oder die Wahrscheinlichkeitsdichte f (o z), dass o bei Zustand z beobachtet wird für jedes Paar von Zuständen z 1, z 2 Z die Wahrscheinlichkeit Pr(z 2 was z 1 before), also die Wahrscheinlichkeit für z 2 bei Kenntnis, dass zuvor z 1 vorherrschte (Übergangswahrscheinlichkeit) für jeden Zustand z Z die (a-priori-)wahrscheinlichkeit Pr(z)
Hidden Markov Model Gesucht: Folge S = z 1,..., z n von Zuständen, die sich am besten mit gegebenen Beobachtungen erklären lässt, also Pr(S O) maximimiert. Pr(S O) = f (O S) Pr(S)/f (O)
Hidden Markov Model Gesucht: Folge S = z 1,..., z n von Zuständen, die sich am besten mit gegebenen Beobachtungen erklären lässt, also Pr(S O) maximimiert. Pr(S O) = f (O S) Pr(S)/f (O)
Hidden Markov Model Gesucht: Folge S = z 1,..., z n von Zuständen, die sich am besten mit gegebenen Beobachtungen erklären lässt, also Pr(S O) maximimiert. Pr(S O) = f (O S) Pr(S)/f (O) f (O S) = f (o 1 z 1 )... f (o n z n )
Hidden Markov Model Gesucht: Folge S = z 1,..., z n von Zuständen, die sich am besten mit gegebenen Beobachtungen erklären lässt, also Pr(S O) maximimiert. Pr(S O) = f (O S) Pr(S)/f (O) Pr(S) = Pr(z 1 ) Pr(z 2 was z 1 before)... Pr(z n was z n 1 before)
Hidden Markov Model f (o 1 z 0 1 ) Pr(z0 2 was z0 1 before) f (o 2 z 0 2 ) Pr(z0 3 was z0 2 before) z 0 1 z 0 2 z 0 3 Pr(z 0 1 ) f (o 3 z 0 3 ) s z 1 1 z 1 2 z 1 3 t Z 1 Z 2 Z 3 z 2 1 z 2 2 z 2 3
Hidden Markov Model f (o 1 z 0 1 ) Pr(z0 2 was z0 1 before) f (o 2 z 0 2 ) Pr(z0 3 was z0 2 before) Pr(z 0 1 ) z1 0 z2 0 z3 0 s-t-path of maximum weight product f (o 3 z 0 3 ) = state sequence S that maximizes Pr (S O) s z 1 1 z 1 2 z 1 3 t Z 1 Z 2 Z 3 z 2 1 z 2 2 z 2 3