+ All Categories
Home > Documents > [GRAPP 07]1 Extracting Terrain Morphology A New Algorithm and a Comparative Evaluation Paola...

[GRAPP 07]1 Extracting Terrain Morphology A New Algorithm and a Comparative Evaluation Paola...

Date post: 01-Jan-2016
Category:
Upload: jonah-jennings
View: 217 times
Download: 1 times
Share this document with a friend
Popular Tags:
63
[GRAPP 07] 1 Extracting Terrain Morphology Extracting Terrain Morphology A New Algorithm and a Comparative A New Algorithm and a Comparative Evaluation Evaluation Paola Magillo, Emanuele Danovaro, Paola Magillo, Emanuele Danovaro, Leila De Floriani, Laura Papaleo, Leila De Floriani, Laura Papaleo, Maria Vitali Maria Vitali Department of Computer Science Department of Computer Science University of Genova, Genova (Italy) University of Genova, Genova (Italy)
Transcript

[GRAPP 07] 1

Extracting Terrain MorphologyExtracting Terrain MorphologyA New Algorithm and a Comparative EvaluationA New Algorithm and a Comparative Evaluation

Paola Magillo, Emanuele Danovaro, Leila De Floriani, Paola Magillo, Emanuele Danovaro, Leila De Floriani, Laura Papaleo, Maria VitaliLaura Papaleo, Maria Vitali

Department of Computer ScienceDepartment of Computer Science

University of Genova, Genova (Italy)University of Genova, Genova (Italy)

[GRAPP 07] 2

Terrain Morphology Terrain Morphology

TerrainTerrain

• Height function Height function z = f(x,y)z = f(x,y)

• Function known at a finite set of pointsFunction known at a finite set of points

• Approximated through a digital modelApproximated through a digital model

– Regular Square Grid (RSG) need regularly spaced dataRegular Square Grid (RSG) need regularly spaced data

– Triangulated Irregular Network (TIN)Triangulated Irregular Network (TIN) allow for allow for irregularly spaced data and terrain featuresirregularly spaced data and terrain features

[GRAPP 07] 3

Terrain Morphology Terrain Morphology

Geometric description of terrain shapeGeometric description of terrain shape

• very detailedvery detailed

• huge and unstructuredhuge and unstructured

Morphological description of terrain shapeMorphological description of terrain shape

• higher-level of abstraction higher-level of abstraction

• compactcompact

• support for knowledge-based analysissupport for knowledge-based analysis

Applications in Geographic Information Systems, Virtual Reality,Applications in Geographic Information Systems, Virtual Reality,

Enterteinment…Enterteinment…

[GRAPP 07] 4

Terrain Morphology Terrain Morphology

• Decomposition of the terrain into Decomposition of the terrain into basinsbasins bounded by ridges, peaks, passesbounded by ridges, peaks, passes

• Decomposition of the terrain into Decomposition of the terrain into mountainsmountains bounded by valleys, pits, passesbounded by valleys, pits, passes

• OverlayOverlay of the two decompositions of the two decompositions

Theoretical definition exists only in the continuum Theoretical definition exists only in the continuum

--- --- Morse theoryMorse theory

[GRAPP 07] 5

Morse TheoryMorse Theory

FunctionFunction z = f(x,y) z = f(x,y) is continuous and differentiable is continuous and differentiable

Critical point Critical point

first derivative is zerofirst derivative is zero

(tangent plane is horizontal)(tangent plane is horizontal)

• Maximum = peakMaximum = peak

• Minimum = pitMinimum = pit

• Saddle = passSaddle = pass

[GRAPP 07] 6

Morse TheoryMorse Theory

FunctionFunction z = f(x,y) z = f(x,y) is a Morse function is a Morse function

(determinant of the Hessian matrix of the second derivatives at a (determinant of the Hessian matrix of the second derivatives at a

critical point is non-zero)critical point is non-zero)

--- The critical points--- The critical points

are isolated are isolated OK OK

NONO

[GRAPP 07] 7

Morse TheoryMorse Theory

Integral lineIntegral line

follow the direction of max decreasing slope (steepest descent)follow the direction of max decreasing slope (steepest descent)

• go from maximum to mimimum (through saddle)go from maximum to mimimum (through saddle)

[GRAPP 07] 8

Morse TheoryMorse Theory• All integral lines converging All integral lines converging

to a minimum m = to a minimum m =

Stable cell of m (basin)Stable cell of m (basin)

--------- --------- Stable Morse complexStable Morse complex

• All integral lines emanating All integral lines emanating from a maximum M =from a maximum M =

Unstable cell of M (mountain)Unstable cell of M (mountain)

--------- --------- Unstable Morse complexUnstable Morse complex

[GRAPP 07] 9

Morse TheoryMorse Theory

Function Function z = f(x,y)z = f(x,y) is a Morse-Smale function is a Morse-Smale function

(the boundary of a stable cell and an unstable cell, (the boundary of a stable cell and an unstable cell,

if not disjoint, cross at saddles)if not disjoint, cross at saddles)

• Morse-Smale complexMorse-Smale complex

overlay ofoverlay of the stable and unstable Morse complexesthe stable and unstable Morse complexes

• Critical NetCritical Net

skeleton of the Morse-Smale complex skeleton of the Morse-Smale complex

[GRAPP 07] 10

From contimuum to discretumFrom contimuum to discretum

Algorithms approximate Morse (or Morse-Smale) complexAlgorithms approximate Morse (or Morse-Smale) complex

on a digital terrain modelon a digital terrain model

• simulatesimulate the Morse (Morse-Smale) complex for a the Morse (Morse-Smale) complex for a piecewise linear functionpiecewise linear function

--- If no two adjacent vertices have same height, --- If no two adjacent vertices have same height,

then critical points are isolatedthen critical points are isolated

[GRAPP 07] 11

From contimuum to discretumFrom contimuum to discretum

Existing algorithms can be classified based onExisting algorithms can be classified based on

• Input Input - Regular Square Grid (RSG)- Regular Square Grid (RSG)- - Triangulated Irregular NetworkTriangulated Irregular Network (TIN) (TIN)

• Output - Output - Stable Morse complexStable Morse complex- Unstable Morse complex- Unstable Morse complex

- Morse-Smale complex- Morse-Smale complex

• TechniqueTechnique - - boundary-basedboundary-based = compute critical net = compute critical net- - region-basedregion-based = compute the = compute the

regions regions - - watershedwatershed (region-based) (region-based)

[GRAPP 07] 12

A Boundary-Based AlgorithmA Boundary-Based Algorithm

Implementation of [Edelsbrunner et al. ACM-CG 2001, Implementation of [Edelsbrunner et al. ACM-CG 2001,

Takahashi et al. Computer Graphics Forum 1995] on TINs.Takahashi et al. Computer Graphics Forum 1995] on TINs.

Compute the Compute the critical netcritical net ---- the Morse-Smale complex ---- the Morse-Smale complex

(stable or unstable Morse complex as sub-products).(stable or unstable Morse complex as sub-products).

Need a TIN without flat edges or triangles.Need a TIN without flat edges or triangles.

1)1) Extract Extract critical pointscritical points

2)2) Draw the Draw the critical linescritical lines starting from each saddle starting from each saddle

[GRAPP 07] 13

A Boundary-Based AlgorithmA Boundary-Based Algorithm

Drawing critical lines (step 2)Drawing critical lines (step 2)

From each saddleFrom each saddle

• two critical lines that follow the steepest descent until they two critical lines that follow the steepest descent until they reach a minimumreach a minimum

• two critical lines that follow the steepest ascent until they two critical lines that follow the steepest ascent until they reach a maximumreach a maximum

[GRAPP 07] 14

A Boundary-Based AlgorithmA Boundary-Based Algorithm

Drawing critical lines (step 2)Drawing critical lines (step 2)

[GRAPP 07] 15

A Boundary-Based AlgorithmA Boundary-Based Algorithm

Drawing critical lines (step 2)Drawing critical lines (step 2)

[GRAPP 07] 16

A Boundary-Based AlgorithmA Boundary-Based Algorithm

Drawing critical lines (step 2)Drawing critical lines (step 2)

[GRAPP 07] 17

A Boundary-Based AlgorithmA Boundary-Based Algorithm

Drawing critical lines (step 2)Drawing critical lines (step 2)

[GRAPP 07] 18

A Boundary-Based AlgorithmA Boundary-Based Algorithm

Drawing critical lines (step 2)Drawing critical lines (step 2)

[GRAPP 07] 19

A Boundary-Based AlgorithmA Boundary-Based Algorithm

Drawing critical lines (step 2)Drawing critical lines (step 2)

[GRAPP 07] 20

A Region-Based AlgorithmA Region-Based Algorithm

Presented in [Danovaro et al. ACM-GIS 2003].Presented in [Danovaro et al. ACM-GIS 2003].

Compute the Compute the stable Morse complexstable Morse complex (and the unstable one). (and the unstable one).

Need a TIN without flat edges or triangles.Need a TIN without flat edges or triangles.

1)1) Extract Extract minimaminima and and maximamaxima

2)2) Grow the Grow the basinsbasins starting from each minimum starting from each minimum

[GRAPP 07] 21

A Region-Based AlgorithmA Region-Based Algorithm

Basin growing procedure (step 2)Basin growing procedure (step 2)

Consider the gradient of each triangle and the angles Consider the gradient of each triangle and the angles

between the gradient and the normal vector at each edgebetween the gradient and the normal vector at each edge

• edge with largest angle = edge with largest angle = entranceentrance

• edge with smallest angle = edge with smallest angle = exitexit

[GRAPP 07] 22

A Region-Based AlgorithmA Region-Based Algorithm

Basin growing procedure (step 2)Basin growing procedure (step 2)

From each minimumFrom each minimum

• initial basin = its incident trianglesinitial basin = its incident triangles

• iteratively consider a triangle sharing an iteratively consider a triangle sharing an edge with an already included triangleedge with an already included triangle

• if such edge is exit for the new triangle and if such edge is exit for the new triangle and entrance for the old one, then includeentrance for the old one, then include

[GRAPP 07] 23

A Watershed AlgorithmA Watershed Algorithm

Based on simulated immersion, Based on simulated immersion,

implementation of [Vincent and Soille IEEE Trans. Pattern implementation of [Vincent and Soille IEEE Trans. Pattern

Analysis and Machine Intelligence 1991].Analysis and Machine Intelligence 1991].

Compute the Compute the stable Morse complexstable Morse complex (and the unstable one). (and the unstable one).

Accept a TIN with flat edges and triangles.Accept a TIN with flat edges and triangles.

1)1) SortSort vertices according to increasing height value vertices according to increasing height value

2)2) Assign every Assign every vertexvertex to a basin through flooding to a basin through flooding

(vertices on the boundary of two basins remain unclassified -- (vertices on the boundary of two basins remain unclassified -- watershedwatershed vertices) vertices)

3) Assign every 3) Assign every triangletriangle to a basin based on its vertices to a basin based on its vertices

[GRAPP 07] 24

A Watershed AlgorithmA Watershed AlgorithmFlooding procedure (step 2)Flooding procedure (step 2)

At each iteration, consider a height value At each iteration, consider a height value hh

(initially, (initially, hh = minimum height) = minimum height)

Consider vertices Consider vertices pp with height = with height = hh that are neighbors that are neighbors

of a vertex labeled during previous iterationof a vertex labeled during previous iteration

• if all neighbors of if all neighbors of pp are in the same basin, or are watershed points, then assign are in the same basin, or are watershed points, then assign pp to that basin to that basin

• otherwise, otherwise, pp is a watershed point is a watershed point

Vertices with height = Vertices with height = hh not assigned to any basin are not assigned to any basin are

minima (a new basin will start from them)minima (a new basin will start from them)

[GRAPP 07] 25

A Watershed AlgorithmA Watershed Algorithm

Flooding procedure (step 2)Flooding procedure (step 2)

[GRAPP 07] 26

A Watershed AlgorithmA Watershed Algorithm

Flooding procedure (step 2)Flooding procedure (step 2)

[GRAPP 07] 27

A Watershed AlgorithmA Watershed Algorithm

Flooding procedure (step 2)Flooding procedure (step 2)

[GRAPP 07] 28

A Watershed AlgorithmA Watershed Algorithm

Flooding procedure (step 2)Flooding procedure (step 2)

[GRAPP 07] 29

A Watershed AlgorithmA Watershed Algorithm

Flooding procedure (step 2)Flooding procedure (step 2)

[GRAPP 07] 30

A Watershed AlgorithmA Watershed Algorithm

Flooding procedure (step 2)Flooding procedure (step 2)

[GRAPP 07] 31

A Watershed AlgorithmA Watershed Algorithm

Triangle classification (step 3)Triangle classification (step 3)

• If all vertices of a triangleIf all vertices of a triangle t t, that are not watershed points, , that are not watershed points, belong to the same basin, then belong to the same basin, then tt belongs to that basin belongs to that basin

• If they belong to different basins, then assign If they belong to different basins, then assign tt to the to the lowest basinlowest basin

[GRAPP 07] 32

The new AlgorithmThe new Algorithm

Region-based.Region-based.

We call it the STD algorithm.We call it the STD algorithm.

Accept a TIN with flat edges and triangles.Accept a TIN with flat edges and triangles.

1)1) ClassifyClassify the three vertices of each triangle the three vertices of each triangle

2)2) Find Find minimaminima

3)3) Grow the Grow the basinsbasins starting from each minimum starting from each minimum

[GRAPP 07] 33

The new AlgorithmThe new Algorithm

Vertex classification (step 1)Vertex classification (step 1)

• highest vertex = S (source)highest vertex = S (source)

• middle vertex = T (through)middle vertex = T (through)

• lowest vertex = D (drain)lowest vertex = D (drain)

Water flows from S to D through T.Water flows from S to D through T.

[GRAPP 07] 34

The new AlgorithmThe new Algorithm

Find minima (step 2)Find minima (step 2)

A vertex is a minimum iff it is classified D A vertex is a minimum iff it is classified D

in all its indicent triangles.in all its indicent triangles.

[GRAPP 07] 35

The new AlgorithmThe new AlgorithmGrow basins starting from the minima (step 3)Grow basins starting from the minima (step 3)

Let Let mm be a minimum. be a minimum.• Initial basin of Initial basin of mm = its incident triangles = its incident triangles • Iteratively examine a triangle Iteratively examine a triangle tt externally adjacent to the current basin, sharing an edge externally adjacent to the current basin, sharing an edge ee

Can Can tt be included in the current basin? be included in the current basin?

--- three cases.--- three cases.

[GRAPP 07] 36

The new AlgorithmThe new Algorithm

Can Can tt be included? -- Case 1 be included? -- Case 1

• If the opposite vertex of If the opposite vertex of tt to to ee is classified D, is classified D,then then do not includedo not include tt (water flows away from (water flows away from ee towards D) towards D)

[GRAPP 07] 37

The new AlgorithmThe new Algorithm

Can Can tt be included? -- Case 2 be included? -- Case 2

• If the opposite vertex of If the opposite vertex of tt to to ee is classified S, is classified S, then then includeinclude tt (water (water flows away from S towards flows away from S towards ee))

[GRAPP 07] 38

The new AlgorithmThe new Algorithm

Can Can tt be included? -- Case 2 be included? -- Case 2

[GRAPP 07] 39

The new AlgorithmThe new Algorithm

Can Can tt be included? -- Case 2 be included? -- Case 2

[GRAPP 07] 40

The new AlgorithmThe new Algorithm

Can Can tt be included? -- Case 2 be included? -- Case 2

[GRAPP 07] 41

The new AlgorithmThe new Algorithm

Can Can tt be included? -- Case 2 be included? -- Case 2

[GRAPP 07] 42

The new AlgorithmThe new Algorithm

Can Can tt be included? -- Case 2 be included? -- Case 2

[GRAPP 07] 43

The new AlgorithmThe new Algorithm

Can Can tt be included? -- Case 2 be included? -- Case 2

[GRAPP 07] 44

The new AlgorithmThe new Algorithm

Can Can tt be included? -- Case 2 be included? -- Case 2

[GRAPP 07] 45

The new AlgorithmThe new Algorithm

Can Can tt be included? -- Case 3 be included? -- Case 3

• If the opposite vertex of If the opposite vertex of tt to to ee is classified T, is classified T, then then examine the examine the fanfan of triangles having their D vertex in the D of triangles having their D vertex in the D vertex of vertex of t t

[GRAPP 07] 46

The new AlgorithmThe new Algorithm

Can Can tt be included? -- Case 3 be included? -- Case 3

• Split the fan in two parts at its radial edge of maximum Split the fan in two parts at its radial edge of maximum slopeslope

• Include the part of fan adjacent toInclude the part of fan adjacent to e e (if not empty)(if not empty)

[GRAPP 07] 47

The new AlgorithmThe new Algorithm

Can Can tt be included? -- Case 3 be included? -- Case 3

[GRAPP 07] 48

The new AlgorithmThe new Algorithm

Can Can tt be included? -- Case 3 be included? -- Case 3

[GRAPP 07] 49

The new AlgorithmThe new Algorithm

Can Can tt be included? -- Case 3 be included? -- Case 3

[GRAPP 07] 50

The new AlgorithmThe new Algorithm

Can Can tt be included? -- Case 2 be included? -- Case 2

[GRAPP 07] 51

The new AlgorithmThe new Algorithm

Can Can tt be included? -- Case 2 be included? -- Case 2

[GRAPP 07] 52

The new AlgorithmThe new Algorithm

Can Can tt be included? -- Case 2 be included? -- Case 2

[GRAPP 07] 53

The new AlgorithmThe new Algorithm

The algorithm has rules to deal with special casesThe algorithm has rules to deal with special cases

• flat trianglesflat triangles

• flat edgesflat edges

[GRAPP 07] 54

Experimental ComparisonExperimental Comparison

• Measure the quality of the results of the new algorithm compared with the other Measure the quality of the results of the new algorithm compared with the other threethree

– STD = new STD = new

– BND = boundary-basedBND = boundary-based

– REG = region-basedREG = region-based

– WTS = watershedWTS = watershed

• Evaluate the degree of Evaluate the degree of uncertainty in morphology computationuncertainty in morphology computation --- do --- do existing algorithms provide consistent results?existing algorithms provide consistent results?

[GRAPP 07] 55

Experimental ComparisonExperimental Comparison

Data sets (TINs with different sizes)Data sets (TINs with different sizes)

• EGGSEGGS synthetic terrain built by sampling synthetic terrain built by sampling a combination of 2 planes and a combination of 2 planes and

64 Gaussian surfaces64 Gaussian surfaces

• MARCYMARCY part of a real terrain (from US Geological part of a real terrain (from US Geological Survey), perturbed to remove flat Survey), perturbed to remove flat

edgesedges

[GRAPP 07] 56

Experimental ComparisonExperimental Comparison

[GRAPP 07] 57

Experimental ComparisonExperimental ComparisonNew STD algorithm vs. BND, REG, WTSNew STD algorithm vs. BND, REG, WTS

Differently classified trianglesDifferently classified triangles

• STD tends to be closer to watershedSTD tends to be closer to watershed• Difference with others can be up to 7% -- 10%Difference with others can be up to 7% -- 10%

STD vs BND STD vs REG STD vs WTSSTD vs BND STD vs REG STD vs WTS

[GRAPP 07] 58

Experimental ComparisonExperimental ComparisonNew STD algorithm vs. BND, REG, WTSNew STD algorithm vs. BND, REG, WTS

Differently classified trianglesDifferently classified triangles

• STD tends to be closer to watershedSTD tends to be closer to watershed• Difference with others can be up to 7% -- 10%Difference with others can be up to 7% -- 10%

STD vs BND STD vs REG STD vs WTSSTD vs BND STD vs REG STD vs WTS

[GRAPP 07] 59

Experimental ComparisonExperimental Comparison

New STD algorithm vs. BND, REG, WTSNew STD algorithm vs. BND, REG, WTS

Differently Differently

classified classified

trianglestriangles

[GRAPP 07] 60

Experimental ComparisonExperimental Comparison

UncertaintyUncertainty

Quantity of terrain surface whose classification is uncertainQuantity of terrain surface whose classification is uncertain

(assigned to different basins)(assigned to different basins)

[GRAPP 07] 61

Experimental ComparisonExperimental Comparison

UncertaintyUncertainty

Quantity of terrain surface whose classification is uncertainQuantity of terrain surface whose classification is uncertain

(assigned to different basins)(assigned to different basins)

• Up to 10% of the total TIN surface receives four different classificationsUp to 10% of the total TIN surface receives four different classifications

• Difficult to judge which algorithm is correctDifficult to judge which algorithm is correct• Ground truth is only available for continuous and differentiable functionsGround truth is only available for continuous and differentiable functions

• Existing methods only approximate the Morse (or Morse-Smale) theoryExisting methods only approximate the Morse (or Morse-Smale) theory

[GRAPP 07] 62

ConclusionsConclusions

• New STD algorithmNew STD algorithm to compute the stable Morse complex on a TIN to compute the stable Morse complex on a TIN– simplesimple– no floating point computationsno floating point computations– management of flat edges and trianglesmanagement of flat edges and triangles– intuitive resultsintuitive results

• UncertaintyUncertainty in morphology computation in morphology computation

• STD method suitable for STD method suitable for 3D extension3D extension

[GRAPP 07] 63

Thanks toThanks to

• European Network of Excellence European Network of Excellence Aim@ShapeAim@Shape

• National Science FoundationNational Science Foundation

• MIUR-FIRB project MIUR-FIRB project SHALOMSHALOM

• MIUR-PRIN project on MIUR-PRIN project on Multi-resolution modeling of Multi-resolution modeling of scalar fields and digital shapesscalar fields and digital shapes


Recommended