1 / 52

Trajectory Segmentation

Trajectory Segmentation. Marc van Kreveld. Segmentation. Cutting a trajectory in pieces that are “similar” within the piece Similar in: heading, speed, curvature, sinuosity, …. Why segmentation?.

hiero
Download Presentation

Trajectory Segmentation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Trajectory Segmentation Marc van Kreveld

  2. Segmentation • Cutting a trajectory in pieces that are “similar” within the piece • Similar in: heading, speed, curvature, sinuosity, …

  3. Why segmentation? • Explaining behavior of a moving entity: one type of behavior may be characterized by similarity of movement • Detecting outliers: short segments in a segmentation may be caused by outlying observations

  4. Segmentation in other areas • Image segmentation: partition a digital image in parts with similar characteristics (hopefully meaningful pieces)

  5. Segmentation in other areas • Time series segmentation: partition time series data into pieces with similar characteristics

  6. Segmentation in other areas • Time series segmentation: partition time series data into pieces with similar characteristics • Assume a series of n data points is given and k segments are desired n = 20 k = 4 Minimize sum-of-distances or sum-of-squared distances for piecewise-constant or piecewise-linear approximations O(n2k) Richard Bellman: On the approximation of curves by line segments using dynamic programming. Communications of the ACM (1961)

  7. Segmentation in other areas • Time series segmentation: partition time series data into pieces with similar characteristics • Assume a series of n data points is given and k segments are desired n = 20 k = 4 Minimize sum-of-distances or sum-of-squared distances for piecewise-constant or piecewise-linear approximations O(n2k) Richard Bellman: On the approximation of curves by line segments using dynamic programming. Communications of the ACM (1961)

  8. Segmentation of trajectories • Can be treated as trajectory simplification: reduce (minimize) the number of vertices that represents a trajectory Gill Barequet, Danny Chen, OvidiuDaescu, Michael Goodrich, Jack Snoeyink: Efficiently approximating polygonal paths in three and higher dimensions. Algorithmica (2002) Hu Cao, OuriWolfson, GoceTrajcevski: Spatio-temporal data reduction with deterministic error bounds. VLDB Journal (2006) Joachim Gudmundsson, JyrkiKatajainen, Damian Merrick, CahyaOng, Thomas Wolle: Compressing spatio-temporal trajectories. ISAAC (2007) FalkoSchmid, Kai-Florian Richter, Patrick Laube: Semantic trajectory compression. SSTD (2009)

  9. Segmentation of trajectories • Can be treated as trajectory simplification: reduce (minimize) the number of vertices that represents a trajectory The segments are the subtrajectories that would be replaced by a single edge in the simplification

  10. Segmentation: two steps back • Cutting a trajectory in pieces that are “similar” within the piece (similar in: heading, speed, curvature, sinuosity, … ) • We want few pieces • How do we define “similar”? Next part based on: MaikeBuchin, Anne Driemel, Marc van Kreveld, Vera Sacristan: An algorithmic framework for segmenting trajectories based on spatio-temporal criteria. SIGSPATIAL (2010)

  11. Segmentation: heading • On every edge of the trajectory, heading is well-defined • Similarity can mean: in the same cardinal direction Northbound West East South

  12. Segmentation: heading • On every edge of the trajectory, heading is well-defined • Similarity can mean: in the same cardinal direction Northbound West East South

  13. Segmentation: heading • On every edge of the trajectory, heading is well-defined • Similarity can mean: in the same cardinal direction Northbound West East South

  14. Segmentation: heading • On every edge of the trajectory, heading is well-defined • Similarity can mean: in the same cardinal direction Northbound bad idea West East We would segment at every vertex, while we want one single segment South  over-segmentation

  15. Segmentation: heading • Use relative directions: We require that within any single segment the headings are within an angle /2 everywhere

  16. Segmentation: heading • Use relative directions: We require that within any single segment the headings are within an angle /2 everywhere

  17. Segmentation: heading • Use relative directions: We require that within any single segment the headings are within an angle /2 everywhere

  18. Segmentation: heading • Use relative directions: We require that within any single segment the headings are within an angle /2 everywhere

  19. Segmentation: heading • Use relative directions: We require that within any single segment the headings are within an angle /2 everywhere

  20. Segmentation: speed • Linear interpolation of position between the vertices makes speed piecewise constant (constant on every edge) • Segmentation can be based on absolute intervals like[0-2], [2-5], [5-10], [10-15], [15-20], [20-30], [30-..] km/h 31 29 31 29 31 29 31 29  over-segmentation

  21. Segmentation: speed • Linear interpolation of position between the vertices makes speed piecewise constant (constant on every edge) • Segmentation can be based on absolute intervals like[0-2], [2-5], [5-10], [10-15], [15-20], [20-30], [30-..] km/h • Segmentation can also be based on relative speeds: within any single segment the speed ratio is at most, say, 1.5(alternatively: the speed difference is at most 10 km/h)

  22. Segmentation: heading and speed • Suppose require that within any single segment: • the headings are within an angle /2 everywhere, and • the speed ratio is at most 2 speed speed speed heading

  23. Segmentation • In all three cases (heading, speed, heading&speed), a greedy approach works: make each next segment as long as possible • Easy from the algorithms perspective: O(n) time for a trajectory with n vertices Why does the greedy approach work?Because any sub-segment of a valid segment is also a valid segment. Therefore, it can never hurt to let a segment extend as far as it can if the goal is a minimum number of segments.

  24. Segmentation: attributes • Heading and speed are examples of attributes that are defined at (almost) every point on the trajectory • Location , curvature, sinuosity, and curviness are also attributes need a framework to handle different attributes and ways of combining them

  25. Segmentation: framework • Attribute: some value defined at every point on the trajectory • Criterion: restriction on allowed values of an attribute within the same segment • Segmentation on any combination (conjunction or disjunction) of criteria • Optimal (minimum number of segments) • Guaranteed properties within each segment

  26. Segmentation: location • The attribute “location” is defined by a pair of values (x,y)(for trajectories in 2D) • Possible criteria: • Any two points within one segment are no more than 5 km apart (diameter criterion) • For any segment, there is a point in the plane that is within3 km of every point in the segment (enclosing disk criterion)

  27. Segmentation: location • The attribute “location” is defined by a pair of values (x,y)(for trajectories in 2D) • Possible criteria: • Any two points within one segment are no more than 5 km apart (diameter criterion) • For any segment, there is a point in the plane that is within3 km of every point in the segment (enclosing disk criterion)

  28. Segmentation: location • An optimal segmentation on the diameter or disk criterion for location requires segmentation potentially anywhere on edges • We can segment optimally on these criteria in O(n log n) time • Also in combination with heading and speed criteria

  29. Segmentation: algorithm • Greedy algorithm for optimal segmentation start

  30. Segmentation: algorithm • Greedy algorithm for optimal segmentation start

  31. Segmentation: algorithm • Greedy algorithm for optimal segmentation good start

  32. Segmentation: algorithm • Greedy algorithm for optimal segmentation start

  33. Segmentation: algorithm • Greedy algorithm for optimal segmentation good start

  34. Segmentation: algorithm • Greedy algorithm for optimal segmentation start

  35. Segmentation: algorithm • Greedy algorithm for optimal segmentation start good

  36. Segmentation: algorithm • Greedy algorithm for optimal segmentation start

  37. Segmentation: algorithm • Greedy algorithm for optimal segmentation start not good

  38. Segmentation: algorithm • Greedy algorithm for optimal segmentation start not good good

  39. Segmentation: algorithm • Greedy algorithm for optimal segmentation start not good good Binary search here for the last good vertex

  40. Segmentation: algorithm • Greedy algorithm for optimal segmentation start not good good Binary search here for the last good vertex

  41. Segmentation: algorithm • Greedy algorithm for optimal segmentation start not good good Decide precisely where on the edge the end is

  42. Segmentation: algorithm • Greedy algorithm for optimal segmentation We have found a maximal segment

  43. Segmentation: algorithm • Greedy algorithm for optimal segmentation start We have found a maximal segment; iterate

  44. Segmentation: algorithm • Suppose we have an algorithm for Test(s,vi), which tests whether the subtrajectory from s to vi is good or not • Suppose we have an algorithm for Furthest(s,vj), which returns the furthest point on the edge vj-1vj

  45. Segmentation: algorithm 1. while s ≠ vn 2. { 3. a = 1; 4. while ( i+a ≤ n && Test(s,vi+a) ) 5. { a = 2a; } 6. j = binary search in [ i+a/2, min(i+a,n) ] such that Test(s,vj-1) = true && Test(s,vj) = false 7. q = Furthest(s,vj) 8. Accept the subtrajectory from s to q as the next segment 9. s = q; i = j – 1 10. }

  46. Segmentation: algorithm • Assume that Test runs in T(m) time and Furthest in F(m) time on a subtrajectory with m vertices • Then optimal segmentation takes O( T(n) log n + F(n) ) time • For almost all criteria we have, T(n) = F(n) = O(n) optimal segmentation takes O( n log n ) time

  47. Segmentation: more attributes • Curvature3-point estimators • Sinuosity • Detour • Winding • Curviness

  48. Segmentation: more attributes • Curvature3-point estimators • Sinuosity • Detour • Winding • Curviness

  49. Segmentation: more attributes • Curvature3-point estimators • Sinuosity • Detour: arc-length divided by distance • Winding: angular range of heading • Curviness: total angular change in some neighborhood Absolute or relative criteria specify bounds on the attribute values

  50. Segmentation • For any logical combination (conjunction, disjunction) for all criteria given, we can compute an optimal segmentation in O(n log n) time, for a trajectory with n vertices we just combine the outcome of the different Test and Furthest functions of each criterion

More Related