Isosurface extraction and interpretation on very large datasets

  • Slides: 38
Download presentation
Isosurface extraction and interpretation on very large datasets in geophysics Guilhem Dupuy LIUPPA Bruno

Isosurface extraction and interpretation on very large datasets in geophysics Guilhem Dupuy LIUPPA Bruno Jobard LIUPPA, INRIA-Magique 3 D Sébastien Guillon Noomane Keskes Total Guilhem Dupuy 6/19/2021 Dimitri Komatitsch MIGP, INRIA-Magique 3 D

Outline • Work context • Tandem algorithm • Our approach : a component-based parallel

Outline • Work context • Tandem algorithm • Our approach : a component-based parallel isosurface extraction • Application on realistic case • Conclusion Guilhem Dupuy 6/19/2021 2

Input dataset : seismic attribute • Example of seismic attribute : § Highlight chaotic

Input dataset : seismic attribute • Example of seismic attribute : § Highlight chaotic and high amplitude area • Dataset size often > 50 Go • Isosurfaces on noisy attributes § millions of triangles § many disconnected components Guilhem Dupuy 6/19/2021 3

Outline • Work context • Tandem algorithm • Our approach : a component-based parallel

Outline • Work context • Tandem algorithm • Our approach : a component-based parallel isosurface extraction • Application on realistic case • Conclusion Guilhem Dupuy 6/19/2021 4

Tandem algorithm [Attali & al, 2005] • Extension of the marching cubes • Extraction

Tandem algorithm [Attali & al, 2005] • Extension of the marching cubes • Extraction and simplification in tandem : § Alternate an extraction of a layer with a simplification § New metric formulation to simplify and optimize triangles’ quality § Notion of time lag to prevent simplification artifacts Guilhem Dupuy 6/19/2021 5

How to prevent artifacts time lag • Without Edge contractions are scheduled in order

How to prevent artifacts time lag • Without Edge contractions are scheduled in order to prevent artifacts due to bias in shape during reconstruction • Notion of time lag : With time lag X front • Initially height(u)=uz and rad(u)=1 • The contraction ab → c is prevent as long as reach(c)>front Guilhem Dupuy 6/19/2021 6

A new approach suited for complex geological environments [Pivot & al, 2007] Input relevant

A new approach suited for complex geological environments [Pivot & al, 2007] Input relevant attribute (volume) + Geological interpretation (surfaces) constrained surface extraction Tandem algorithm Interpretationconsistencywithfaultsand sedimentaryarchitecture, … Size of the advancing front Simplification could be insufficient to fit in memory Too time consuming Filtering Guilhem Dupuy 6/19/2021 7

Outline • Work context • Tandem algorithm • Our approach : a component-based parallel

Outline • Work context • Tandem algorithm • Our approach : a component-based parallel isosurface extraction • Application on realistic case • Conclusion Guilhem Dupuy 6/19/2021 8

Our approach : a component-based parallel isosurface extraction • Processing : § Recursive binary

Our approach : a component-based parallel isosurface extraction • Processing : § Recursive binary splitting of the dataset § Process each separately § Preserve refinements for cuts § Stitch parts back together • Constraints : § Minimize memory consumption = merge surface with maximum interface § Various number of processors during computation Guilhem Dupuy 6/19/2021 9

Our approach : a component-based parallel isosurface extraction binary splitting triangulated surface sub bloc

Our approach : a component-based parallel isosurface extraction binary splitting triangulated surface sub bloc … triangulated surface … 6/19/2021 sub bloc … Guilhem Dupuy … Dataset merge sub bloc triangulated surface 10

Criterion for merging parts of the dataset • We define type of cut results:

Criterion for merging parts of the dataset • We define type of cut results: § left opposite to right § up opposite to down § front opposite to bottom • A part could be merge with its brother and children excepted them tagged with an opposite type 6/19/2021 right O left • If a part is forbidden for a merge then its children are also forbidden Guilhem Dupuy brother left right left OO 11 X right X X

Extension of the time lag during bloc merging Without time lag With time lag

Extension of the time lag during bloc merging Without time lag With time lag Guilhem Dupuy 6/19/2021 12

Dumping completed components • Observation : § In geophysics isosurfaces generate many disconnected components

Dumping completed components • Observation : § In geophysics isosurfaces generate many disconnected components § A component which was extracted and simplified use memory • Solution : § Dump completed components in a streamed file format to release memory Guilhem Dupuy 6/19/2021 13

Dumping completed components • Streaming format [Isenburg & Lindstrom, 2005] is used to append

Dumping completed components • Streaming format [Isenburg & Lindstrom, 2005] is used to append component to current output • Accompanying metadata index Standard Format Guilhem Dupuy 6/19/2021 14 Streaming Format

Parallel evaluation : efficiency and speedup • seq. Time : runtime with 1 processor

Parallel evaluation : efficiency and speedup • seq. Time : runtime with 1 processor • p : number of processor • para. Time(p) : runtime with p processors • Efficiency is given by : • Speedup is given by : Guilhem Dupuy 6/19/2021 15

Outline • Work context • Tandem algorithm • Our approach : a component-based parallel

Outline • Work context • Tandem algorithm • Our approach : a component-based parallel isosurface extraction • Application on realistic case • Conclusion Guilhem Dupuy 6/19/2021 16

Now we have a new problem What can we do with that ? Guilhem

Now we have a new problem What can we do with that ? Guilhem Dupuy 6/19/2021 17

Exploration of resulting isosurfaces • Study of connected components § Computation of metadata :

Exploration of resulting isosurfaces • Study of connected components § Computation of metadata : volume, main direction, … • New storage of triangular meshes § Two files : description and raw data § Components sorting based only on description file Component 1 Streamed component 1 volume, oriented bounding box, … Component n Streamed component n volume, oriented bounding box, … Guilhem Dupuy 6/19/2021 18

The use of metadata : selection of a subset of components • Many filters

The use of metadata : selection of a subset of components • Many filters possibility : § Statistical-based filters § Geometric-based filters • Example : § Volume-based filter § 18 111 to 328 disconnected components Guilhem Dupuy 6/19/2021 19

Outline • Work context • Tandem algorithm • Our approach : a component-based parallel

Outline • Work context • Tandem algorithm • Our approach : a component-based parallel isosurface extraction • Application on realistic case • Conclusion Guilhem Dupuy 6/19/2021 20

Conclusion • A binary splitting strategy designed to improve parallel isosurface extraction scalability §

Conclusion • A binary splitting strategy designed to improve parallel isosurface extraction scalability § Extension of the time lag improve mesh quality § Merging strategy to reduce synchronisation delay § Adapted to all parallel strategy • A component based dumping method § Another way to improve scalability § Intrinsic result file organisation allow an efficient exploration Guilhem Dupuy 6/19/2021 21

Any Questions ? Guilhem Dupuy 6/19/2021 22

Any Questions ? Guilhem Dupuy 6/19/2021 22

Back up Guilhem Dupuy 6/19/2021 23

Back up Guilhem Dupuy 6/19/2021 23

Geological constraints • Introduction of geological knowledge : § New limits in the dataset

Geological constraints • Introduction of geological knowledge : § New limits in the dataset § Control connectivity of objects Guilhem Dupuy 6/19/2021 24

How to prevent artifacts • We need to schedule edge contractions to prevent artifacts

How to prevent artifacts • We need to schedule edge contractions to prevent artifacts due to bias in shape during reconstruction • Notion of time lag : • Initially height(u)=uz and rad(u)=1 • The contraction ab → c is prevent as long as reach(c)>front Guilhem Dupuy 6/19/2021 25

Effect of the time lag during extraction Without time lag With time lag Computations

Effect of the time lag during extraction Without time lag With time lag Computations are done with same error criteria and isotropy parameter Guilhem Dupuy 6/19/2021 26

Used quadric error matrix for edge collapse Q= q 00 q 10 q 20

Used quadric error matrix for edge collapse Q= q 00 q 10 q 20 q 30 q 01 q 11 q 21 q 31 q 02 q 12 q 22 q 32 q 03 q 13 q 23 q 33 figure courtesy of Michael Garland [Garland & Heckbert 1997] Hc represents displacement introduce by contractions Gc represents mesh anisotropy introduce by contractions is named isotropy parameter Guilhem Dupuy 6/19/2021 27

The used quadric error Consider edge contraction ab → c as a function that

The used quadric error Consider edge contraction ab → c as a function that maps vertices a and b to c Simplification is a composition of edge contractions Represent displacement introduce by the contractions Uc is the set of the triangles incident to vertices in the initial triangulation that map to c Py is the plane spanned by triangle d(x, Py) is the Euclidean distance between x and its closest point on P y Guilhem Dupuy 6/19/2021 28

The used quadric error Consider the edge contraction ab → c, Sab are the

The used quadric error Consider the edge contraction ab → c, Sab are the triangles containing a, b or both Represent mesh anisotropy introduce by the contraction Guilhem Dupuy 6/19/2021 29

The used quadric error The candidate for contraction c minimize : where W is

The used quadric error The candidate for contraction c minimize : where W is a term for normalization : E 0 is the error threshold and [0. . 1] represents a compromise between shape measure and anisotropy measure Guilhem Dupuy 6/19/2021 30

Inertia matrix • Considering the triangle t defined by points a, b and c

Inertia matrix • Considering the triangle t defined by points a, b and c and • Its centroid is notated : • Inertia matrix is defined by: Guilhem Dupuy 6/19/2021 31

Mesh quality • Considering and the greatest eigenvalues of the inertia matrix of a

Mesh quality • Considering and the greatest eigenvalues of the inertia matrix of a triangle • Isotropy of a triangle is defined by • Anisotropy of a mesh K is defined by Guilhem Dupuy 6/19/2021 32

Dataset splitting Guilhem Dupuy 6/19/2021 33

Dataset splitting Guilhem Dupuy 6/19/2021 33

Mesh Cutting • • Cut dataset into small pieces Process each separately Preserve refinements

Mesh Cutting • • Cut dataset into small pieces Process each separately Preserve refinements for cuts Stitch dataset parts back together figure courtesy of Hugues Hoppe Guilhem Dupuy 6/19/2021 34

Dumping unused components Guilhem Dupuy 6/19/2021 35

Dumping unused components Guilhem Dupuy 6/19/2021 35

Parallel evaluation : runtime Guilhem Dupuy 6/19/2021 36

Parallel evaluation : runtime Guilhem Dupuy 6/19/2021 36

Streaming format for triangular meshes Classical format V V V F F 0. 3

Streaming format for triangular meshes Classical format V V V F F 0. 3 0. 4 0. 9 1. 0 1. 4 1 1 3 3 1. 1 0. 4 0. 5 0. 1 0. 8 2 3 2 5 0. 2 0. 5 0. 7 1. 1 1. 2 3 4 5 4 Pre order format V V V F V F F 0. 3 0. 4 0. 9 1 1. 0 -1 1. 4 -3 -3 1. 1 0. 4 0. 5 2 0. 1 3 0. 8 -2 -5 1 0. 2 0. 5 0. 7 3 1. 1 4 1. 2 5 -4 1 2 3 3 4 2 4 5 • In classical format we need to read all the vertices to instantiate facets • Pre order format could be see as a stream where vertices are described just before a facet need them. • A negative value coincides with the finalization of a vertex. Guilhem Dupuy 6/19/2021 37

Proposed pipeline [Isenburg & Lindstrom, 2005] regular volume grid V V V F ⋮

Proposed pipeline [Isenburg & Lindstrom, 2005] regular volume grid V V V F ⋮ 256 1. 32 0. 12 0. 23 1. 43 0. 23 0. 92 0. 91 0. 15 0. 62 1 -2 3 0. 72 0. 34 0. 35 4 -1 3 ⋮ ⋮ ⋮ 256 smextract | smclean | smsimp | smcompress P 1 P 2 P 3 grid. raw Guilhem Dupuy 6/19/2021 P 4 mesh. smc 38