Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

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

description

Homotopic Polygonal Line Simplification Lasse Deleuran PhD student. Content. Motivation Our Results Restricted simplification Unrestricted simplification Simplifying massive data. Motivation – Contour Lines. Motivation – Contour Lines. Motivation – Contour Lines. - PowerPoint PPT Presentation

Transcript of Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Page 1: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran1/37

Homotopic Polygonal Line Simplification

Lasse DeleuranPhD student

Page 2: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran2/37

ContentMotivationOur ResultsRestricted simplificationUnrestricted simplificationSimplifying massive data

Page 3: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran3/37

Motivation – Contour Lines

Page 4: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran4/37

Motivation – Contour Lines

Page 5: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran5/37

Motivation – Contour Lines

Page 6: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran6/37

Motivation – Contour Lines

Page 7: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran7/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

Page 8: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran8/37

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

Homotopic poly. lines:

Page 9: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran9/37

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

Endpoints are the obstacles

Compute x-shortest path while maintaining homotopy

Page 10: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran10/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)

Page 11: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran11/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:

Page 12: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran12/37

Restricted - Previous ResultsPrevious 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)

Page 13: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran13/37

Previous ResultsProblemsOur AlgorithmExperimental Results

Simplifying a Massive Ammount of Polygons

Page 14: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran14/37

Previous Results: Terrain vs PolygonsSimplifying 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

Page 15: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran15/37

Challenges when SimplifyingToo many detailsMassive dataMaintain precisionMaintain topologyPrevent intersections

Page 16: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran16/37

Challenges – Too Many Details

Page 17: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran17/37

Challenges - Massive Data Denmark: 26B LIDAR points

12.4B grid cells

Page 18: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran18/37

Challenges - Massive Data: I/O ModelRAM/internal memory size MUnbounded disk/external memoryTransfer in blocks of size BCPU only works on internal memory

M BCPU Disk

RAM

Page 19: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran19/37

Massive Data - Practical AssumptionsAny polygon fits in memory (smaller than M)Segments intersecting any vertical line is < M

Page 20: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran20/37

Challenges - Maintain Precision Simplification algorithms typically only consider

movement in the plane (x and y)

Page 21: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran21/37

Challenges - Maintain Topology Topology: Parent / child relationships

Maintain topology through homotopy

Page 22: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran22/37

Problems – Prevent Intersections Intersections with other polygons / self intersections

Page 23: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran23/37

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

Page 24: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran24/37

1/3 - Collect Polygons

Page 25: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran25/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

Page 26: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran26/37

3/3 Simplify Polygons Basic Algorithm: Douglas Peucker

Page 27: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran27/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

Page 28: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran28/37

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

Page 29: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran29/37

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

Page 30: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran30/37

Simplifying – Maintain Homotopy Trapezoidal sequence: ABCDCFCDEDE Contract XYX -> X Canonical Sequence: ABCDE

Page 31: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran31/37

Simplifying – Maintain Homotopy Check segment for homotopy: O(n)

=> O(n2logn)

Page 32: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran32/37

Practical Optimizations

Page 33: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran33/37

Optimization 1 - Conditioning the Terrain

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

Page 34: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran34/37

Optimization 2 - Exploit Bounding Boxes

Page 35: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran35/37

Optimization 3 - Minimal Decompositions Too much time will be spent constructing

decompositions Only use edges that intersect bounding box

Page 36: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran36/37

Setup Code in C++ using TPIE and TerraSTREAM Machine:

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

Page 37: Homotopic Polygonal Line Simplification Lasse Deleuran PhD student

Lasse Deleuran37/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