progressive simplification of polygonal curves
play

Progressive Simplification of Polygonal Curves Kevin Buchin - PowerPoint PPT Presentation

Progressive Simplification of Polygonal Curves Kevin Buchin Maximilian Konzack Wim Reddingius Curve Simplification Curve Simplification min-# Simplification problem: Given a polygonal curve C and an > 0 as an error threshold


  1. Progressive Simplification of Polygonal Curves Kevin Buchin Maximilian Konzack Wim Reddingius

  2. Curve Simplification

  3. Curve Simplification min-# Simplification problem: • Given a polygonal curve C and an ε > 0 as an error threshold • Objective: minimize the number of vertices in a simplification S

  4. Curve Simplification min-# Simplification problem: • Given a polygonal curve C and an ε > 0 as an error threshold • Objective: minimize the number of vertices in a simplification S

  5. Curve Simplification min-# Simplification problem: • Given a polygonal curve C and an ε > 0 as an error threshold ε

  6. Curve Simplification Upper bound [Chan and Chin, 1996] A min-# simplification can be computed in O ( n 2 ) time in R 2 Higher dimensions [Barequet et al., 2002] For the L 1 or L ∞ metric, a min-# simplification can be computed in O ( n 2 ) time

  7. Progressive Simplification S 1

  8. Progressive Simplification S 1 Zoom out

  9. Progressive Simplification S 2 S 1 Zoom out

  10. Progressive Simplification S 3 S 2 S 1 Zoom out

  11. Progressive Simplification S 4 S 3 S 2 S 1 Zoom out

  12. Progressive Simplification Zoom in S 4 S 3 S 2 S 1 Zoom out

  13. Progressive Simplification Zoom in S 4 S 3 S 2 S 1 Zoom out Impose Consistency Across Many Scales • Zoom in and out without flickering • A sequence of m scales: 0 < ε 1 < · · · < ε m • Require monotonicity : S m ⊑ S m − 1 ⊑ · · · ⊑ C • Minimize � m k =1 |S k | ( optimality )

  14. Results • An O ( n 3 m ) time algorithm for the progressive simplification problem • works with various distance measures such as Hausdorff, Fr´ echet and area-based distances • enables simplification for continuous scaling in O ( n 5 ) time S 2 ⊑ S 1 ⊑ C

  15. Shortcut Graph Shortcut: • Given a polygonal curve C , a shortcut ( p i , p j ) is an ordered pair of vertices p 4 ε Validity: • Given C and an ε > 0, ( p i , p j ) is valid if ε ( p i , p j ) ≤ ε p 1

  16. Shortcut Graph C

  17. Shortcut Graph • Given a curve C and an ε > 0, the shortcut graph G ( C , ε ) captures all valid shortcuts C G ( C , ε )

  18. Shortcut Graph • Given a curve C and an ε > 0, the shortcut graph G ( C , ε ) captures all valid shortcuts C G ( C , ε ) S • Minimum-link path in G ( C , ε ) is an optimal simplification S

  19. Minimal Progressive Simplification Dynamic Programming • Assign a cost value c k i , j ∈ N for each shortcut ( p i , p j ) ∈ G ( C , ε k ) at scale ε k • c k i , j relates to the cost of including ( p i , p j ) in S k

  20. Minimal Progressive Simplification Dynamic Programming • Assign a cost value c k i , j ∈ N for each shortcut ( p i , p j ) ∈ G ( C , ε k ) at scale ε k • c k i , j relates to the cost of including ( p i , p j ) in S k • Example: ε 1 < ε 2 < ε 3 G ( C , ε 1 ) 1 1 1 1 1 p n p 1 1 1

  21. Minimal Progressive Simplification Dynamic Programming • Assign a cost value c k i , j ∈ N for each shortcut ( p i , p j ) ∈ G ( C , ε k ) at scale ε k • c k i , j relates to the cost of including ( p i , p j ) in S k • Example: ε 1 < ε 2 < ε 3 G ( C , ε 1 ) 1 1 1 1 1 p n p 1 1 1 S 1 1 1 1

  22. Minimal Progressive Simplification Dynamic Programming • Assign a cost value c k i , j ∈ N for each shortcut ( p i , p j ) ∈ G ( C , ε k ) at scale ε k • c k i , j relates to the cost of including ( p i , p j ) in S k • Example: ε 1 < ε 2 < ε 3 ⊆ G ( C , ε 1 ) G ( C , ε 2 ) 3 4 1 1 1 1 1 p n p 1 1 1 S 1 1 1 1

  23. Minimal Progressive Simplification Dynamic Programming • Assign a cost value c k i , j ∈ N for each shortcut ( p i , p j ) ∈ G ( C , ε k ) at scale ε k • c k i , j relates to the cost of including ( p i , p j ) in S k • Example: ε 1 < ε 2 < ε 3 ⊆ G ( C , ε 1 ) G ( C , ε 2 ) 3 4 1 1 1 1 1 2 2 2 2 2 p n p 1 1 1 2 2 S 1 1 1 1

  24. Minimal Progressive Simplification Dynamic Programming • Assign a cost value c k i , j ∈ N for each shortcut ( p i , p j ) ∈ G ( C , ε k ) at scale ε k • c k i , j relates to the cost of including ( p i , p j ) in S k • Example: ε 1 < ε 2 < ε 3 ⊆ G ( C , ε 1 ) G ( C , ε 2 ) 3 4 1 1 1 1 1 2 2 2 2 2 p n p 1 1 1 2 2 ⊒ S 1 S 2 3 1 1 1 2

  25. Minimal Progressive Simplification Dynamic Programming • Assign a cost value c k i , j ∈ N for each shortcut ( p i , p j ) ∈ G ( C , ε k ) at scale ε k • c k i , j relates to the cost of including ( p i , p j ) in S k • Example: ε 1 < ε 2 < ε 3 ⊆ ⊆ G ( C , ε 3 ) G ( C , ε 1 ) G ( C , ε 2 ) 4 3 4 5 1 1 1 1 1 2 2 2 2 3 3 3 3 3 2 p n p 1 1 1 3 2 2 3 6 ⊒ S 1 S 2 3 1 1 1 2

  26. Minimal Progressive Simplification Dynamic Programming • Assign a cost value c k i , j ∈ N for each shortcut ( p i , p j ) ∈ G ( C , ε k ) at scale ε k • c k i , j relates to the cost of including ( p i , p j ) in S k • Example: ε 1 < ε 2 < ε 3 ⊆ ⊆ G ( C , ε 3 ) G ( C , ε 1 ) G ( C , ε 2 ) 4 3 4 5 1 1 1 1 1 2 2 2 2 3 3 3 3 3 2 p n p 1 1 1 3 2 2 3 6 ⊒ S 1 ⊒ S 2 S 3 3 1 1 1 2 6

  27. Minimal Progressive Simplification Dynamic Program  1 if k = 1   c k i , j = � c k − 1 1 + min if 1 < k ≤ m x , y π ∈ � k − 1  i , j  ( p x , p y ) ∈ π � k i , j denotes the set of all paths in G ( C , ε k ) from p i to p j

  28. Minimal Progressive Simplification Dynamic Program  1 if k = 1   c k i , j = � c k − 1 1 + min if 1 < k ≤ m x , y π ∈ � k − 1  i , j  ( p x , p y ) ∈ π � k i , j denotes the set of all paths in G ( C , ε k ) from p i to p j Algorithm Construct simplifications from S m down to S 1 1. Compute costs c k i , j at scale ε k 2. Compute shortest path P from p i to p j in G ( C , ε k ) for all ( p i , p j ) ∈ S k +1 3. Link P to obtain S k

  29. Minimal Progressive Simplification Algorithm Running time Construct simplifications from S m down to S 1 m times 1. Compute costs c k i , j at scale ε k 2. Compute shortest path P from p i to p j in G ( C , ε k ) for all ( p i , p j ) ∈ S k +1 3. Link P to obtain S k

  30. Minimal Progressive Simplification • Employ the algorithm by [Chan and Chin, 1996] • Runs in O ( n 2 ) time in the plane Algorithm Running time Construct simplifications from S m down to S 1 m times O ( n 2 ) 1. Compute costs c k i , j at scale ε k 2. Compute shortest path P from p i to p j in G ( C , ε k ) for all ( p i , p j ) ∈ S k +1 3. Link P to obtain S k

  31. Minimal Progressive Simplification • Run Dijkstra’s algorithm on O ( n ) nodes of G ( C , ε k ) • Dijkstra’s algorithm runs in O ( n 2 ) time on G with integer weights Algorithm Running time Construct simplifications from S m down to S 1 m times O ( n 2 ) 1. Compute costs c k i , j at scale ε k 2. Compute shortest path P from p i to O ( n 3 ) p j in G ( C , ε k ) for all ( p i , p j ) ∈ S k +1 3. Link P to obtain S k

  32. Minimal Progressive Simplification • Employ the algorithm by [Chan and Chin, 1996] Algorithm Running time Construct simplifications from S m down to S 1 m times O ( n 2 ) 1. Compute costs c k i , j at scale ε k 2. Compute shortest path P from p i to O ( n 3 ) O ( n 3 ) p j in G ( C , ε k ) for all ( p i , p j ) ∈ S k +1 3. Link P to obtain S k O ( n )

  33. Minimal Progressive Simplification Total Running Time • Optimal progressive simplification computable in O ( n 3 m ) time • Takes O ( n 5 ) time for continuous scaling Algorithm Running time Construct simplifications from S m down to S 1 m times O ( n 2 ) 1. Compute costs c k i , j at scale ε k 2. Compute shortest path P from p i to O ( n 3 ) O ( n 3 ) p j in G ( C , ε k ) for all ( p i , p j ) ∈ S k +1 3. Link P to obtain S k O ( n ) O ( n )

  34. Conclusion • An O ( n 3 m ) time algorithm for the progressive simplification problem • works with various distance measures such as Hausdorff, Fr´ echet and area-based distances • enables simplification for continuous scaling in O ( n 5 ) time S 2 ⊑ S 1 ⊑ C

  35. Conclusion Further Results • Technique to compute all shortcuts for a fixed ε in O ( n 2 log n ) time instead of O ( n 3 ) time • Storage-efficient representation of the shortcut graph allowing to find shortest paths in O ( n log n ) time • Experimental evaluation on a trajectory of a migrating vulture Thank you for your attention.

Recommend


More recommend