650 likes | 790 Views
Extracting Terrain Morphology A New Algorithm and a Comparative Evaluation. Paola Magillo, Emanuele Danovaro, Leila De Floriani, Laura Papaleo, Maria Vitali Department of Computer Science University of Genova, Genova (Italy). Terrain Morphology. Terrain Height function z = f(x,y)
E N D
Extracting Terrain MorphologyA New Algorithm and a Comparative Evaluation Paola Magillo, Emanuele Danovaro, Leila De Floriani, Laura Papaleo, Maria Vitali Department of Computer Science University of Genova, Genova (Italy) [GRAPP 07]
Terrain Morphology • Terrain • Height function z = f(x,y) • Function known at a finite set of points • Approximated through a digital model • Regular Square Grid (RSG) need regularly spaced data • Triangulated Irregular Network (TIN) allow for irregularly spaced data and terrain features [GRAPP 07]
Terrain Morphology • Geometric description of terrain shape • very detailed • huge and unstructured • Morphological description of terrain shape • higher-level of abstraction • compact • support for knowledge-based analysis • Applications in Geographic Information Systems, Virtual Reality, • Enterteinment… [GRAPP 07]
Terrain Morphology • Decomposition of the terrain into basins bounded by ridges, peaks, passes • Decomposition of the terrain into mountains bounded by valleys, pits, passes • Overlay of the two decompositions • Theoretical definition exists only in the continuum • --- Morse theory [GRAPP 07]
Morse Theory • Function z = f(x,y) is continuous and differentiable • Critical point • first derivative is zero • (tangent plane is horizontal) • Maximum = peak • Minimum = pit • Saddle = pass [GRAPP 07]
Morse Theory Function z = f(x,y) is a Morse function (determinant of the Hessian matrix of the second derivatives at a critical point is non-zero) --- The critical points are isolated OK NO [GRAPP 07]
Morse Theory • Integral line • follow the direction of max decreasing slope (steepest descent) • go from maximum to mimimum (through saddle) [GRAPP 07]
Morse Theory • All integral lines converging to a minimum m = • Stable cell of m (basin) • --------- Stable Morse complex • All integral lines emanating from a maximum M = • Unstable cell of M (mountain) • --------- Unstable Morse complex [GRAPP 07]
Morse Theory Function z = f(x,y) is a Morse-Smale function (the boundary of a stable cell and an unstable cell, if not disjoint, cross at saddles) • Morse-Smale complex overlay ofthe stable and unstable Morse complexes • Critical Net skeleton of the Morse-Smale complex [GRAPP 07]
From contimuum to discretum Algorithms approximate Morse (or Morse-Smale) complex on a digital terrain model • simulate the Morse (Morse-Smale) complex for a piecewise linear function --- If no two adjacent vertices have same height, then critical points are isolated [GRAPP 07]
From contimuum to discretum Existing algorithms can be classified based on • Input - Regular Square Grid (RSG) - Triangulated Irregular Network (TIN) • Output - Stable Morse complex - Unstable Morse complex - Morse-Smale complex • Technique - boundary-based = compute critical net - region-based = compute the regions - watershed (region-based) [GRAPP 07]
A Boundary-Based Algorithm Implementation of [Edelsbrunner et al. ACM-CG 2001, Takahashi et al. Computer Graphics Forum 1995] on TINs. Compute the critical net ---- the Morse-Smale complex (stable or unstable Morse complex as sub-products). Need a TIN without flat edges or triangles. 1) Extract critical points 2) Draw the critical lines starting from each saddle [GRAPP 07]
A Boundary-Based Algorithm Drawing critical lines (step 2) From each saddle • two critical lines that follow the steepest descent until they reach a minimum • two critical lines that follow the steepest ascent until they reach a maximum [GRAPP 07]
A Boundary-Based Algorithm Drawing critical lines (step 2) [GRAPP 07]
A Boundary-Based Algorithm Drawing critical lines (step 2) [GRAPP 07]
A Boundary-Based Algorithm Drawing critical lines (step 2) [GRAPP 07]
A Boundary-Based Algorithm Drawing critical lines (step 2) [GRAPP 07]
A Boundary-Based Algorithm Drawing critical lines (step 2) [GRAPP 07]
A Boundary-Based Algorithm Drawing critical lines (step 2) [GRAPP 07]
A Region-Based Algorithm Presented in [Danovaro et al. ACM-GIS 2003]. Compute the stable Morse complex (and the unstable one). Need a TIN without flat edges or triangles. 1) Extract minima and maxima 2) Grow the basins starting from each minimum [GRAPP 07]
A Region-Based Algorithm Basin growing procedure (step 2) Consider the gradient of each triangle and the angles between the gradient and the normal vector at each edge • edge with largest angle = entrance • edge with smallest angle = exit [GRAPP 07]
A Region-Based Algorithm Basin growing procedure (step 2) From each minimum • initial basin = its incident triangles • iteratively consider a triangle sharing an edge with an already included triangle • if such edge is exit for the new triangle and entrance for the old one, then include [GRAPP 07]
A Watershed Algorithm Based on simulated immersion, implementation of [Vincent and Soille IEEE Trans. Pattern Analysis and Machine Intelligence 1991]. Compute the stable Morse complex (and the unstable one). Accept a TIN with flat edges and triangles. 1) Sort vertices according to increasing height value 2) Assign every vertex to a basin through flooding (vertices on the boundary of two basins remain unclassified -- watershed vertices) 3) Assign every triangle to a basin based on its vertices [GRAPP 07]
A Watershed Algorithm Flooding procedure (step 2) At each iteration, consider a height value h (initially, h = minimum height) Consider vertices p with height = h that are neighbors of a vertex labeled during previous iteration • if all neighbors of p are in the same basin, or are watershed points, then assign p to that basin • otherwise, p is a watershed point Vertices with height = h not assigned to any basin are minima (a new basin will start from them) [GRAPP 07]
A Watershed Algorithm Flooding procedure (step 2) [GRAPP 07]
A Watershed Algorithm Flooding procedure (step 2) [GRAPP 07]
A Watershed Algorithm Flooding procedure (step 2) [GRAPP 07]
A Watershed Algorithm Flooding procedure (step 2) [GRAPP 07]
A Watershed Algorithm Flooding procedure (step 2) [GRAPP 07]
A Watershed Algorithm Flooding procedure (step 2) [GRAPP 07]
A Watershed Algorithm Triangle classification (step 3) • If all vertices of a triangle t, that are not watershed points, belong to the same basin, then t belongs to that basin • If they belong to different basins, then assign t to the lowest basin [GRAPP 07]
The new Algorithm Region-based. We call it the STD algorithm. Accept a TIN with flat edges and triangles. 1) Classify the three vertices of each triangle 2) Find minima 3) Grow the basins starting from each minimum [GRAPP 07]
The new Algorithm Vertex classification (step 1) • highest vertex = S (source) • middle vertex = T (through) • lowest vertex = D (drain) Water flows from S to D through T. [GRAPP 07]
The new Algorithm Find minima (step 2) A vertex is a minimum iff it is classified D in all its indicent triangles. [GRAPP 07]
The new Algorithm Grow basins starting from the minima (step 3) Let m be a minimum. • Initial basin of m = its incident triangles • Iteratively examine a triangle t externally adjacent to the current basin, sharing an edge e Can t be included in the current basin? --- three cases. [GRAPP 07]
The new Algorithm Can t be included? -- Case 1 • If the opposite vertex of t to e is classified D, then do not includet (water flows away from e towards D) [GRAPP 07]
The new Algorithm Can t be included? -- Case 2 • If the opposite vertex of t to e is classified S, then includet (water flows away from S towards e) [GRAPP 07]
The new Algorithm Can t be included? -- Case 2 [GRAPP 07]
The new Algorithm Can t be included? -- Case 2 [GRAPP 07]
The new Algorithm Can t be included? -- Case 2 [GRAPP 07]
The new Algorithm Can t be included? -- Case 2 [GRAPP 07]
The new Algorithm Can t be included? -- Case 2 [GRAPP 07]
The new Algorithm Can t be included? -- Case 2 [GRAPP 07]
The new Algorithm Can t be included? -- Case 2 [GRAPP 07]
The new Algorithm Can t be included? -- Case 3 • If the opposite vertex of t to e is classified T, then examine the fan of triangles having their D vertex in the D vertex of t [GRAPP 07]
The new Algorithm Can t be included? -- Case 3 • Split the fan in two parts at its radial edge of maximum slope • Include the part of fan adjacent to e (if not empty) [GRAPP 07]
The new Algorithm Can t be included? -- Case 3 [GRAPP 07]
The new Algorithm Can t be included? -- Case 3 [GRAPP 07]
The new Algorithm Can t be included? -- Case 3 [GRAPP 07]
The new Algorithm Can t be included? -- Case 2 [GRAPP 07]