lasse deleuran 1/37 homotopic polygonal line simplification lasse deleuran phd student

37
Lasse Deleuran 1/37 Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Upload: theodore-fields

Post on 18-Dec-2015

219 views

Category:

Documents


2 download

TRANSCRIPT

Lasse Deleuran

1/37

Homotopic Polygonal Line Simplification

Lasse DeleuranPhD student

Lasse Deleuran

2/37

Content

MotivationOur ResultsRestricted simplificationUnrestricted simplificationSimplifying massive data

Lasse Deleuran

3/37

Motivation – Contour Lines

Lasse Deleuran

4/37

Motivation – Contour Lines

Lasse Deleuran

5/37

Motivation – Contour Lines

Lasse Deleuran

6/37

Motivation – Contour Lines

Lasse Deleuran

7/37

Our Results

“Improving Homotopic Shortest Paths Using Homotopic X-Shortest Paths”, M. Abam and L. Deleuran, TBS

“Computing Homotopic Line Simplification in a Plane”, M. Abam, S. Daneshpajouh, L. Deleuran, S. Ehsani and M. Ghodsi, EuroCG 2011, Submitted to CGTA 2012

“Simplifying Massive Contour Maps”, L. Arge, L. Deleuran, T. Mølhave, M. Revsbæk, and J. Truelsen, ESA, 2012

Lasse Deleuran

8/37

Definitions

Polygonal line: P=p1,p2, … ,pn |P| = n-1

Homotopic poly. lines:

Lasse Deleuran

9/37

Homotopic X-Shortest Paths n polygonal paths of combined size m

Endpoints are the obstacles

Compute x-shortest path while maintaining homotopy

Lasse Deleuran

10/37

Shortest Paths – Previous Work Efrat et al. ’06: expected time O(nlogε+1n+mlogn) Bespamyathnikh ’03: O(nlogε+1n+mlogn)

2-part approach: 1) Compute homotopic x-shortest paths2) Compute homotopic shortest paths

Use their 2. part to achieve O(nlogε+1n+m)

Lasse Deleuran

11/37

Restricted - Problem DefinitionGiven a path of size n, compute the paths with fewest points while

Only using original points Maintaining some error constraint Maintaining homotopy to m obstacle points

Strong vs weak homotopy:

Lasse Deleuran

12/37

Restricted - Previous Results

Previous ResultsImai & Iri ‘88: Framework for the problemHausdorff: Chan & Chin ’92 O(n2)Frechét Distance: Alt & Goday ’95 O(n3)L1 and Uniform metric: Agarwal & Varadarajan ’00 O(n4/3+ ε )

Our Results Compute strongly homotopic ”links”

X-monotone path in O(mlog(nm) + nlogn log(nm) + k) Any path in O(n(m + n)log(nm))

Compute homotopic shortest path in O(n6m2)

Lasse Deleuran

13/37

Previous ResultsProblemsOur AlgorithmExperimental Results

Simplifying a Massive Ammount of Polygons

Lasse Deleuran

14/37

Previous Results: Terrain vs Polygons

Simplifying terrain Agarwal, et. al. ’98 (I/O efficient contour generation) Agarwal, et. al. ’08 (I/O efficient map generation) Carr, et. al. ’10 (DEM Simplification) Garland & Heckbert ’97 (Surface Simplification) Agarwal, et. al. ’06 (I/O efficient conditioning)

Simplifying polygons See surveys by Mitchell ‘97, ‘98

Lasse Deleuran

15/37

Challenges when Simplifying

Too many detailsMassive dataMaintain precisionMaintain topologyPrevent intersections

Lasse Deleuran

16/37

Challenges – Too Many Details

Lasse Deleuran

17/37

Challenges - Massive Data

Denmark: 26B LIDAR points12.4B grid cells

Lasse Deleuran

18/37

Challenges - Massive Data: I/O Model

RAM/internal memory size MUnbounded disk/external memoryTransfer in blocks of size BCPU only works on internal memory

MB

CPU Disk

RAM

Lasse Deleuran

19/37

Massive Data - Practical Assumptions

Any polygon fits in memory (smaller than M)Segments intersecting any vertical line is < M

Lasse Deleuran

20/37

Challenges - Maintain Precision

Simplification algorithms typically only consider movement in the plane (x and y)

Lasse Deleuran

21/37

Challenges - Maintain Topology

Topology: Parent / child relationships Maintain topology through homotopy

Lasse Deleuran

22/37

Problems – Prevent Intersections

Intersections with other polygons / self intersections

Lasse Deleuran

23/37

Algorithm Overview 1: Collect polygons (I/O-efficient) 2: I/O efficient polygon visiting (I/O-efficient) 3: Simplify polygons (internal)

Lasse Deleuran

24/37

1/3 - Collect Polygons

Lasse Deleuran

25/37

Polygons are neighbors if no other poly. divides them A polygon must be considered together w. neighbors

2/3 - I/O Efficient Polygon Visiting

Lasse Deleuran

26/37

3/3 Simplify Polygons

Basic Algorithm: Douglas Peucker

Lasse Deleuran

27/37

Problems with Douglass Peucker

Running time O(n2), but O(nlogn) in practice No z-constraint / not constrained by other polygons Introduces self intersections, no homotopy

Lasse Deleuran

28/37

Simplifying – Adding Boundaries

Construct Trapezoidal decomposition O(nlogn) Continue DP until inside of decomposition O(n2logn) Add contraint for z

Lasse Deleuran

29/37

Simplifying – Removing Intersections

Sweep to find intersections O(nlogn) Continue DP on intersecting segments Repeat => O(n2logn)

Lasse Deleuran

30/37

Simplifying – Maintain Homotopy

Trapezoidal sequence: ABCDCFCDEDE Contract XYX -> X Canonical Sequence: ABCDE

Lasse Deleuran

31/37

Simplifying – Maintain Homotopy

Check segment for homotopy: O(n) => O(n2logn)

Lasse Deleuran

32/37

Practical Optimizations

Lasse Deleuran

33/37

Optimization 1 - Conditioning the Terrain

Fill up all holes with depth of less than 0.5m Do so for small hills too.

Lasse Deleuran

34/37

Optimization 2 - Exploit Bounding Boxes

Lasse Deleuran

35/37

Optimization 3 - Minimal Decompositions

Too much time will be spent constructing decompositions

Only use edges that intersect bounding box

Lasse Deleuran

36/37

Setup

Code in C++ using TPIE and TerraSTREAM Machine:

8-core Intel Xenon CPU @ 3.2GHz 12GB of RAM disk speed: 400MB/s

Lasse Deleuran

37/37

Results

Results for Denmark dataset (12B points): 49 hours to simplify 4B segments on 7M contours

Z-diff: 0.5m (Border contours: 0.2m) DP-error: 5m 600.000 self intersections

8.2% of the points remained after simplifying

Thank You