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.

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend