Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mesh Segmentation and Partition

Similar presentations


Presentation on theme: "Mesh Segmentation and Partition"— Presentation transcript:

1 Mesh Segmentation and Partition
Marco Cipolla Dipartimento di Matematica ed Applicazioni, Palermo Coautors: Vito Di Gesù, Cesare Valenti Bertrand Zavidovique Università Parigi-Sud, Orsay, Parigi Grid Open Days Università di Palermo Palermo,

2 Mesh Segmentation and Partition Outline
Interest in three-dimensional models analysis. Three-dimensional mesh representation. Mesh segmentation and partitioning problems. Methodologies. Features selection. The proposed segmentation method. Parallel framework for local mesh analysis. Palermo, Grid Open Days all’Università di Palermo,

3 Mesh Segmentation and Partition Introduction
The analysis and segmentation of three-dimensional objects is of particular interest in the fields of: Medical Imaging Computer Vision Computer Gaming Database The main acquisition devices employed for generating three-dimensional models are: Laser scanner  models are represented by range data. Magnetic Resonance  models are represented by volumetric data. etc. Palermo, Grid Open Days all’Università di Palermo,

4 Mesh Segmentation and Partition Introduction
Mesh representation We employed models obtained by range data acquisition devices. A mesh is represented by the triple (V, F, E), where V is the set of vertices, F is the set of polygons and E is the set of edges. We used the Half-Edge data structure for triangular meshes. This allows us to treat meshes as orientable-manifolds. Palermo, Grid Open Days all’Università di Palermo,

5 Mesh Segmentation and Partition Introduction
v3 v5 V v1 v2 v4 v6 v7 v8 v1 - v2 - v3 - v4 - v5 - v6 - v7 - v8 f1 f2 f3 f4 f5 f6 f7 f8 F f1 -f2 - f3 - f4 - f5 - f6 - f7 - f8 The Half-Edge data structure split an edge e into two half edges and maintains the following information: target vertex opposite half edge e next half edge target facet Palermo, Grid Open Days all’Università di Palermo,

6 Mesh Segmentation and Partition Introduction
The main difficulties related to mesh segmentation and partitioning can be summarized as follows: The partitioning problem of a graph is NP. Noise Non-uniform distribution of data. Regular and non regular mesh structure. Level of detail (LOD) Palermo, Grid Open Days all’Università di Palermo,

7 Mesh segmentation and partitioning Problem formulation
Segmentation is intended as an optimization problem for finding disjoint sets of mesh elements such that some criterion function is minimized under a set of constraints. Segmentation implies the choice of suitable mesh surface features. Partitioning is intended as the problem of (optimal) subdivision of the input domain into equally sized subsets of elements. Partitioning usually implies the spatial distribution of the domain elements without employing any further surface feature. Palermo, Grid Open Days all’Università di Palermo,

8 Mesh segmentation and partitioning Methodologies
The main methodologies developed for three-dimensional mesh analysis are: Hierarchical and partition clustering. Region growing. Density estimation on features (PDE estimation). Tensor analysis (tensor voting). Etc. Palermo, Grid Open Days all’Università di Palermo,

9 Mesh segmentation and partitioning Feature selection
There are several features that can be taken into account for mesh analysis: Differentiable properties of surfaces obtained by parametric fitting approximation. Geometrical properties as polygons normal, angles, etc. The choice of features is highly application dependent and should be driven from the nature and complexity of input data. Palermo, Grid Open Days all’Università di Palermo,

10 The proposed segmentation method.
The proposed method detects regions of high curvature on the surface of the mesh by performing a local analysis in the neighborhood of each mesh edge. A weighting function first assigns to each edge a value proportional to the surface bending near the edge itself. The output is a set of edge patches representing features as boundaries, ridges, etc. Palermo, Grid Open Days all’Università di Palermo,

11 The proposed segmentation method.
Neighborhood of a mesh edge Palermo, Grid Open Days all’Università di Palermo,

12 The proposed segmentation method.
Weighting Function Computation Choice of weight function Classification Patch creation - Post-processing (optional) Palermo, Grid Open Days all’Università di Palermo,

13 The proposed segmentation method.
Let denote: w(e) as the weight of edge e, computed as dv(ei,ek) as the minimum number of edges in the path from vertex v of ei and some vertex of ek as the set of edges at the same distance from e, that is (found with Breadth First Search algorithm). the set of weights computed on edges in the variance of sets and their mean value. Palermo, Grid Open Days all’Università di Palermo,

14 The proposed segmentation method.
Neighborhood subdivision Weight computation L1(e) L2(e) Lr(e) e e L1 n1 n2 Palermo, Grid Open Days all’Università di Palermo,

15 The proposed segmentation method.
Local estimation of the surface bending 1 2 r μ1 μ 2 μ r slope(e) r > 1 r = 1 Classification rule Palermo, Grid Open Days all’Università di Palermo,

16 The proposed segmentation method.
Computational complexity Let denote: |E| the number of mesh edges. k the average number of edges incident to a vertex. r the neighborhood size. |E’| the average number of edges falling in the considered neighborhood. Complexity Palermo, Grid Open Days all’Università di Palermo,

17 A parallel framework for local mesh analysis
Partitioning methods Geometric Methods: Geometric bisection. Cost Optimized geometric bisection. Geometric bisection on axes of inertia. Recursive version on Inertia method. etc. Graph Based Methods: Graph bisection method. Greedy algorithm of Farhat Spectral bisection. Which one to use? Good partition size balancing? Fast computation? Static or dynamic partitioning? Palermo, Grid Open Days all’Università di Palermo,

18 A parallel framework for local mesh analysis
Our choice  Recursive Dynamic Inertial Bisection. - We consider the degree of each vertex of the mesh as the number of incident edges. - We compute the center of mass of the mesh using the degree of each vertex as its mass. We divide the domain into two balanced sub-mesh considering the bounding box of the mesh and its center of mass. The partition task is distributed on all the processor using a hierarchical approach. Pro Fast implementation: the computation of the bounding box, center of mass and vertices degree requires one scan of the mesh vertices and two scans of the mesh facets. The computational complexity is O(V + F). Using the center of mass ensures balanced partitions. Cons A mesh chunk could contain two disjoint sets of mesh elements, this increases the number of boundary elements. No control on the size of the partition cut, that is, the number of edges lying on the boundary of the partition. Palermo, Grid Open Days all’Università di Palermo,

19 A parallel framework for local mesh analysis
Computation of vertices degree, bounding box and center of mass. Division step Palermo, Grid Open Days all’Università di Palermo,

20 A parallel framework for local mesh analysis
Remarks The data structures employed for mesh analysis are usually quite bigger than the simple polygon set representation. We need to maintain the adjacency information of mesh elements during partitioning. Very large models could not reside in the main memory of a workstation (e.g. the Digital Michelangelo Project produced several million polygons meshes). Usually we don’t know how many subdivision steps to take into account to allow a sub-mesh to fit in the main memory. Palermo, Grid Open Days all’Università di Palermo,

21 A parallel framework for local mesh analysis
Approach The mesh file is broadcasted to all processors. The adjacency information of each element of the mesh are stored in the file. We used a Geometric Hashing like approach to store mesh partitions. An element of the mesh is represented with an index and it is bounded into a sub-space of the mesh. Indices are exchanged between processors. If the partition is small enough, a processor stores the mesh elements associated with such partition in the main memory. On the contrary a fixed sized window on the mass storage is used to buffer the required mesh elements. Once a partition is received from a processor it is maintained for all the computations required. Only obtained results are merged together and stored by the starting processor. Palermo, Grid Open Days all’Università di Palermo,

22 A parallel framework for local mesh analysis
Recursive Domain Subdivision Palermo, Grid Open Days all’Università di Palermo,

23 A parallel framework for local mesh analysis
The communication pattern can be computed by optimization techniques based on network statistics. Dynamic topology. Greedy approach used 8 5 5 2 6 2 2 N/2 N/4 N/8 N 1 7 3 3 1 4 1 1 Palermo, Grid Open Days all’Università di Palermo,

24 A parallel framework for local mesh analysis
Palermo, Grid Open Days all’Università di Palermo,

25 Testing Used 16 CPUs Xeon 2.8 Ghz, 2 Gb Ram, LAN Connection.
Mesh from to polygons acquired with different scanners. Software written in c and MPI. LAM Environment. Interface for rendering and visualization written in c, c++, OpenGl and FOX library for widgets. Palermo, Grid Open Days all’Università di Palermo,

26 Results Palermo, Grid Open Days all’Università di Palermo,

27 Results Palermo, Grid Open Days all’Università di Palermo,

28 Results Palermo, Grid Open Days all’Università di Palermo,

29 Results Palermo, Grid Open Days all’Università di Palermo,

30 Results Palermo, Grid Open Days all’Università di Palermo,

31 Results Palermo, Grid Open Days all’Università di Palermo,

32 Results Palermo, Grid Open Days all’Università di Palermo,

33 Results Palermo, Grid Open Days all’Università di Palermo,

34 Results Palermo, Grid Open Days all’Università di Palermo,

35 Results Palermo, Grid Open Days all’Università di Palermo,

36 Results Palermo, Grid Open Days all’Università di Palermo,

37 Results Palermo, Grid Open Days all’Università di Palermo,

38 Results Radius Speedup Processors
Palermo, Grid Open Days all’Università di Palermo,

39 Results Processors Efficiency Radius
Palermo, Grid Open Days all’Università di Palermo,

40 Final Conclusion and Further Work
A semi-parametric algorithm for mesh segmentation has been presented together with a flexible parallel framework for local surface analysis. The method is able to detect local discontinuities on the surface of meshes. Created patches can be further processed to produce finer results according to a perceptive point of view. Imperfections arise when detecting very smooth discontinuities and some details are lost. The choice of a suitable neighborhood size and weighting function is a difficult problem due to the high heterogeneity and complexity of data. The parallel implementation produced significant speedup, moreover it is flexible and the communication patterns of processors can be modeled using optimization techniques. Palermo, Grid Open Days all’Università di Palermo,

41 Final Conclusion and Further Work
The presented algorithm can be improved by considering an adaptive neighborhood size; too small values are very sensible to surface noise and imperfections, too large values, on the contrary, miss many details due to the averaging process. The efficiency of the parallel implementation can be improved by finding an (approximately) optimal communication pattern by collecting network statistics. Using a changeable topology mechanism, loss in performance can be detected and resolved by re-computing communication patterns. GRID testing. Palermo, Grid Open Days all’Università di Palermo,

42 Any Questions ? Thank you very much for your kind attention
Palermo, Grid Open Days all’Università di Palermo,


Download ppt "Mesh Segmentation and Partition"

Similar presentations


Ads by Google