Trajectory Simplification Marc van Kreveld Dept. of Information and Computing Sciences Utrecht University Joint work with Kevin Buchin and Maike Buchin
What is a trajectory? A trajectory is a model for a motion path of a moving object (animal, car, human, hurricane, …) A common representation is a polygonal line in the plane where the vertices have a time stamp (xn,yn,tn) (x2,y2,t2) (xi,yi,ti) (x1,y1,t1)
Assumptions Due to lack of further information: constant speed on each segment
Assumptions Due to lack of further information: constant speed on each segment For this presentation: equal time intervals t=14 t=16 t=12 t=18 t=20
Assumptions Speed is a vector constant speed on each segment implies that speed is discontinuous both in magnitude and in direction at vertices
Why trajectory simplification? Algorithms on trajectories are expensive A trajectory consists of 100 – 1,000,000 vertices We may analyze 1, 2, or many 1,000s of trajectories Trajectory similarity Sub-trajectory similarity Trajectory self-similarity Trajectory flocking
Algorithms on trajectories Trajectory (shape) similarity based on the Hausdorff distance: O(n log n) time [Alt et al. 1991] Trajectory (shape) similarity based on the Frechét distance: O(n log n) time [Alt et al. 1995]
Algorithms on trajectories Sub-trajectory similarity based on average distance: O(n) time [Buchin et al. 2009] Same start Duration = T Duration ≥ T Different start O(n) O(n3 / 2) O(n4 / 2)
trajectory simplification = line simplification? Line simplification is only about shape preservation 1 2 3 4 5 6 1 6 1 6 5
Previous research on trajectory simplification Put trajectories in time-space (3D) and apply 3D line simplification [Cao et al. 2006] [Gudmundsson et al. 2007] Where-at (t) gives the location at time t ; the locations in the original and simplified trajectories should be close
Where-at (t) t
Where-at (t) t
When-at (x,y) When-at (x,y) gives the time when the object is at (x,y) We cannot easily require closeness in time for When-at (x,y) of the original and simplified trajectory t (x,y)
Close in time and space ... Use a Douglas-Peucker type of approach in 3-space, where a vertex is close enough if a ball with radius centered at the vertex intersects the approximating line segment If the approximation is not close enough, add the furthest vertex in 3-space t
Alternatives Use an Imai-Iri type of approach: needs a test to establish whether a shortcut is allowed Euclidean distance vertices – line segment
Alternatives Use an Imai-Iri type of approach: needs a test to establish whether a shortcut is allowed Euclidean distance vertices – line segment
Alternatives Use an Imai-Iri type of approach: needs a test to establish whether a shortcut is allowed Euclidean distance vertices – line segment
Alternatives Use an Imai-Iri type of approach: needs a test to establish whether a shortcut is allowed Euclidean distance vertices – line segment
Efficiency The graph can have ~n2 edges; testing one shortcut takes time linear in the number of vertices in between The Imai-Iri algorithm avoids spending ~n3 time by testing all shortcuts from a single vertex in linear time
Efficiency The graph can have ~n2 edges; testing one shortcut takes time linear in the number of vertices in between The Imai-Iri algorithm avoids spending ~n3 time by testing all shortcuts from a single vertex in linear time
Imai-Iri for trajectory simplification Replace Euclidean distance by time-corresponding distance to test whether a shortcut is allowed
Imai-Iri for trajectory simplification Replace Euclidean distance by time-corresponding distance to test whether a shortcut is allowed All good shortcuts can be computed in O(n2 log2 n) time, or approximately in O(n2) time as in the Euclidean case
Not (yet) speed-preserving Both the Douglas-Peucker approach [Cao et al.] and the Imai-Iri approach do not necessarily preserve speed well Worse: a short stop can be simplified away, whereas it may be significant
Speed-preserving adaptation For any shortcut, test if the implied speed is sufficiently similar to the speeds on the edges it replaces Still O(n2 log2 n) time, or approximately in O(n2) time
Preserve features Preserving speed as a vector will maintain winding of the simplified trajectory automatically
Conclusions Line simplifications are not directly suitable for trajectory simplification Variations can be made that are suitable Various properties can be preserved Efficient implementations for optimal simplification exist