Progressive Simplification of Polygonal Curves Kevin Buchin - - PowerPoint PPT Presentation

progressive simplification of polygonal curves
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Kevin Buchin Maximilian Konzack

Progressive Simplification

  • f Polygonal Curves

Wim Reddingius

slide-2
SLIDE 2

Curve Simplification

slide-3
SLIDE 3

Curve Simplification

min-# Simplification problem:

  • Given a polygonal curve C and an

ε > 0 as an error threshold

  • Objective: minimize the number
  • f vertices in a simplification S
slide-4
SLIDE 4

Curve Simplification

min-# Simplification problem:

  • Given a polygonal curve C and an

ε > 0 as an error threshold

  • Objective: minimize the number
  • f vertices in a simplification S
slide-5
SLIDE 5

Curve Simplification

ε min-# Simplification problem:

  • Given a polygonal curve C and an

ε > 0 as an error threshold

slide-6
SLIDE 6

Curve Simplification

Upper bound [Chan and Chin, 1996] Higher dimensions [Barequet et al., 2002] A min-# simplification can be computed in O(n2) time in R2 For the L1 or L∞ metric, a min-# simplification can be computed in O(n2) time

slide-7
SLIDE 7

Progressive Simplification

S1

slide-8
SLIDE 8

Progressive Simplification

Zoom out S1

slide-9
SLIDE 9

Progressive Simplification

Zoom out S2 S1

slide-10
SLIDE 10

Progressive Simplification

Zoom out S3 S2 S1

slide-11
SLIDE 11

Progressive Simplification

Zoom out S4 S3 S2 S1

slide-12
SLIDE 12

Progressive Simplification

Zoom out Zoom in S4 S3 S2 S1

slide-13
SLIDE 13

Progressive Simplification

Zoom out Zoom in S4 S3 S2 S1 Impose Consistency Across Many Scales

  • Zoom in and out without flickering
  • Require monotonicity: Sm ⊑ Sm−1 ⊑ · · · ⊑ C
  • Minimize m

k=1 |Sk| (optimality)

  • A sequence of m scales: 0 < ε1 < · · · < εm
slide-14
SLIDE 14

Results

  • An O(n3m) time algorithm for the progressive

simplification problem

S2 ⊑ S1 ⊑ C

  • works with various distance measures such as Hausdorff,

Fr´ echet and area-based distances

  • enables simplification for continuous scaling in O(n5) time
slide-15
SLIDE 15

Shortcut Graph

ε Shortcut:

  • Given a polygonal curve C, a

shortcut (pi, pj) is an ordered pair

  • f vertices
  • Given C and an ε > 0, (pi, pj) is

valid if ε(pi, pj) ≤ ε Validity: p1 p4

slide-16
SLIDE 16

Shortcut Graph

C

slide-17
SLIDE 17

Shortcut Graph

  • Given a curve C and an ε > 0, the shortcut graph G(C, ε)

captures all valid shortcuts C G(C, ε)

slide-18
SLIDE 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
slide-19
SLIDE 19

Minimal Progressive Simplification

Dynamic Programming

  • Assign a cost value ck

i,j ∈ N for each shortcut

(pi, pj) ∈ G(C, εk) at scale εk

  • ck

i,j relates to the cost of including (pi, pj) in Sk

slide-20
SLIDE 20

Minimal Progressive Simplification

Dynamic Programming

  • Assign a cost value ck

i,j ∈ N for each shortcut

(pi, pj) ∈ G(C, εk) at scale εk

  • ck

i,j relates to the cost of including (pi, pj) in Sk

1 1 1 1 1 1 1

G(C, ε1)

  • Example: ε1 < ε2 < ε3

p1 pn

slide-21
SLIDE 21

Minimal Progressive Simplification

Dynamic Programming

  • Assign a cost value ck

i,j ∈ N for each shortcut

(pi, pj) ∈ G(C, εk) at scale εk

  • ck

i,j relates to the cost of including (pi, pj) in Sk

1 1 1 1 1 1 1 1

G(C, ε1) S1

1 1

  • Example: ε1 < ε2 < ε3

p1 pn

slide-22
SLIDE 22

Minimal Progressive Simplification

Dynamic Programming

  • Assign a cost value ck

i,j ∈ N for each shortcut

(pi, pj) ∈ G(C, εk) at scale εk

  • ck

i,j relates to the cost of including (pi, pj) in Sk

1 1 3 4 1 1 1 1 1 1

G(C, ε1) G(C, ε2) S1

1 1

  • Example: ε1 < ε2 < ε3

p1 pn

slide-23
SLIDE 23

Minimal Progressive Simplification

Dynamic Programming

  • Assign a cost value ck

i,j ∈ N for each shortcut

(pi, pj) ∈ G(C, εk) at scale εk

  • ck

i,j relates to the cost of including (pi, pj) in Sk

1 2 1 3 2 4 1 2 2 2 2 2 1 1 1 1 1

G(C, ε1) G(C, ε2) S1

1 1

  • Example: ε1 < ε2 < ε3

p1 pn

slide-24
SLIDE 24

Minimal Progressive Simplification

Dynamic Programming

  • Assign a cost value ck

i,j ∈ N for each shortcut

(pi, pj) ∈ G(C, εk) at scale εk

  • ck

i,j relates to the cost of including (pi, pj) in Sk

1 2 1 3 2 4 1 2 3 2 2 2 2 1 1 1 1 1

G(C, ε1) G(C, ε2) S2 S1

1 1 2

⊆ ⊒

  • Example: ε1 < ε2 < ε3

p1 pn

slide-25
SLIDE 25

Minimal Progressive Simplification

Dynamic Programming

  • Assign a cost value ck

i,j ∈ N for each shortcut

(pi, pj) ∈ G(C, εk) at scale εk

  • ck

i,j relates to the cost of including (pi, pj) in Sk

1 2 1 3 4 3 6 2 4 5 1 2 3 3 3 2 2 2 2 3 3 3 3 1 1 1 1 1

G(C, ε1) G(C, ε2) G(C, ε3) S2 S1

1 1 2

⊆ ⊆ ⊒

  • Example: ε1 < ε2 < ε3

p1 pn

slide-26
SLIDE 26

Minimal Progressive Simplification

Dynamic Programming

  • Assign a cost value ck

i,j ∈ N for each shortcut

(pi, pj) ∈ G(C, εk) at scale εk

  • ck

i,j relates to the cost of including (pi, pj) in Sk

1 2 1 3 4 3 6 2 4 5 1 2 3 3 3 2 2 2 2 3 3 3 3 1 1 1 1 1

G(C, ε1) G(C, ε2) G(C, ε3) S2 S1 S3

1 1 6 2

⊆ ⊆ ⊒ ⊒

  • Example: ε1 < ε2 < ε3

p1 pn

slide-27
SLIDE 27

Minimal Progressive Simplification

Dynamic Program ck

i,j =

     1 if k = 1 1 + min

π∈k−1

i,j

  • (px,py)∈π

ck−1

x,y

if 1 < k ≤ m k

i,j denotes the set of all paths in G(C, εk) from pi to pj

slide-28
SLIDE 28

Minimal Progressive Simplification

Dynamic Program ck

i,j =

     1 if k = 1 1 + min

π∈k−1

i,j

  • (px,py)∈π

ck−1

x,y

if 1 < k ≤ m k

i,j denotes the set of all paths in G(C, εk) from pi to pj

Algorithm Construct simplifications from Sm down to S1

  • 1. Compute costs ck

i,j at scale εk

  • 2. Compute shortest path P from pi to

pj in G(C, εk) for all (pi, pj) ∈ Sk+1

  • 3. Link P to obtain Sk
slide-29
SLIDE 29

Minimal Progressive Simplification

Algorithm Construct simplifications from Sm down to S1

  • 1. Compute costs ck

i,j at scale εk

  • 2. Compute shortest path P from pi to

pj in G(C, εk) for all (pi, pj) ∈ Sk+1

  • 3. Link P to obtain Sk

Running time m times

slide-30
SLIDE 30

Minimal Progressive Simplification

Algorithm Construct simplifications from Sm down to S1

  • 1. Compute costs ck

i,j at scale εk

  • 2. Compute shortest path P from pi to

pj in G(C, εk) for all (pi, pj) ∈ Sk+1

  • 3. Link P to obtain Sk

Running time m times O(n2)

  • Employ the algorithm by [Chan and Chin, 1996]
  • Runs in O(n2) time in the plane
slide-31
SLIDE 31

Minimal Progressive Simplification

Algorithm Construct simplifications from Sm down to S1

  • 1. Compute costs ck

i,j at scale εk

  • 2. Compute shortest path P from pi to

pj in G(C, εk) for all (pi, pj) ∈ Sk+1

  • 3. Link P to obtain Sk

Running time m times

  • Run Dijkstra’s algorithm on O(n) nodes of G(C, εk)
  • Dijkstra’s algorithm runs in O(n2) time on G with

integer weights O(n2) O(n3)

slide-32
SLIDE 32

Minimal Progressive Simplification

Algorithm Construct simplifications from Sm down to S1

  • 1. Compute costs ck

i,j at scale εk

  • 2. Compute shortest path P from pi to

pj in G(C, εk) for all (pi, pj) ∈ Sk+1

  • 3. Link P to obtain Sk

Running time m times O(n2) O(n3) O(n)

  • Employ the algorithm by [Chan and Chin, 1996]

O(n3)

slide-33
SLIDE 33

Minimal Progressive Simplification

Algorithm Construct simplifications from Sm down to S1

  • 1. Compute costs ck

i,j at scale εk

  • 2. Compute shortest path P from pi to

pj in G(C, εk) for all (pi, pj) ∈ Sk+1

  • 3. Link P to obtain Sk

Running time m times O(n2) O(n3) O(n) O(n3) O(n) Total Running Time

  • Optimal progressive simplification computable in O(n3m)

time

  • Takes O(n5) time for continuous scaling
slide-34
SLIDE 34

Conclusion

  • An O(n3m) time algorithm for the progressive

simplification problem

S2 ⊑ S1 ⊑ C

  • works with various distance measures such as Hausdorff,

Fr´ echet and area-based distances

  • enables simplification for continuous scaling in O(n5) time
slide-35
SLIDE 35

Conclusion

Thank you for your attention.

Further Results

  • Technique to compute all shortcuts for a fixed ε in

O(n2 log n) time instead of O(n3) 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