Mesh Segmentation - A Comparative Study: M. Attene Imati-Cnr S. Katz Technion M. Mortara Imati-Cnr
Mesh Segmentation - A Comparative Study: M. Attene Imati-Cnr S. Katz Technion M. Mortara Imati-Cnr
Mesh Segmentation - A Comparative Study: M. Attene Imati-Cnr S. Katz Technion M. Mortara Imati-Cnr
M. Attene IMATI-CNR attene@ge.imati.cnr.it G. Patan e IMATI-CNR patane@ge.imati.cnr.it S. Katz TECHNION sagikatz@tx.technion.ac.il M. Spagnuolo IMATI-CNR spagnuolo@ge.imati.cnr.it M. Mortara IMATI-CNR michela@ge.imati.cnr.it A. Tal TECHNION ayellet@ee.technion.ac.il
Abstract
Mesh segmentation has become an important component in many applications in computer graphics. In the last several years, many algorithms have been proposed in this growing area, offering a diversity of methods and various evaluation criteria. This paper provides a comparative study of some of the latest algorithms and results, along several axes. We evaluate only algorithms whose code is available to us, and thus it is not a comprehensive study. Yet, it sheds some light on the vital properties of the methods and on the challenges that future algorithms should face.
1 Introduction
Mesh segmentation has become an important and challenging problem in computer graphics, with applications in areas as diverse as modeling [6], metamorphosis [9, 34], compression [12], simplication [5], 3D shape retrieval [35, 28], collision detection [17], texture mapping [16] and skeleton extraction [14, 3]. Mesh, and more generally shape, segmentation can be interpreted either in a purely geometric sense or in a more semantics-oriented manner. In the rst case, the mesh is segmented into a number of patches that are uniform with respect to some property (e.g., curvature or distance to a tting plane), while in the latter case the segmentation is aimed at identifying parts that correspond to relevant features of the shape. Methods that can be grouped under the rst category have been presented for example in [8, 25, 5, 32], and may serve as a pre-processing for the recognition of meaningful features. Semantics-oriented approaches to shape segmentation have gained a great interest recently in the research community [4, 19, 27, 18, 33, 31, 14, 17, 15, 13, 24], because they can support parametrization or re-meshing schemes, metamorphosis, 3D shape re-
trieval, skeleton extraction as well as the modeling by composition paradigm that is based on natural shape decompositions. It is rather difcult, however, to evaluate the performance of the different methods with respect to their ability to segment shapes into meaningful parts. This is due to the fact that the majority of the methods used in computer graphics are not devised for detecting specic features within a specic context, as for example is the case of form-feature recognition in product modeling and manufacturing [2]. Also, the shape classes handled in the generic computer graphics context are a broadly varying category: from virtual humans to scanned artefacts, from highly complex free-form shapes to very smooth and feature-less objects. Moreover, it is not easy to formally dene the meaningful features of complex shapes in a non-engineering context and therefore the comparison of the different methods is mainly qualitative. Finally, shape segmentation methods are usually devised to solve a specic application problem, for example retrieval or parametrization, and therefore it is not easy to compare the efcacy of different methods for the shape segmentation itself. These are the main motivations of the proposed paper, which has four goals. First, we review some of the latest algorithms, making their strengths and weaknesses evident with respect to their performance on different shape classes. Second, we identify several axes along which a segmentation algorithm can be evaluated. Third, we wish to provide an initial benchmark that consists of models from diverse domains, and hope that future papers on mesh segmentation will take these models into account when running their experiments. Last but not least, based on the results, we discuss current challenges in mesh segmentation. In particular, the paper provides a comparative study of ve algorithms, as described below. We evaluate only algorithms whose codes are available to us, and thus it is not a comprehensive study.
1. Mesh decomposition using fuzzy clustering and cuts [14]. The key idea of this algorithm is to rst nd the meaningful components using a clustering algorithm, while keeping the boundaries between the components fuzzy. Then, the algorithm focuses on the small fuzzy areas and nds the exact boundaries which go along the features of the object. 2. Mesh segmentation using feature point and core extraction [13]. This approach is based on three key ideas. First, Multi-Dimensional Scaling (MDS) is used to transform the mesh vertices into a pose insensitive representation. Second, prominent feature points are extracted using the MDS representation. Third, the core component of the mesh is found. The core along with the feature points provide sufcient information for meaningful segmentation. 3. Tailor: multi-scale mesh analysis using blowing bubbles [22]. This method provides a segmentation of a shape into clusters of vertices that have a uniform behavior from the point of view of the shape morphology, analyzed at different scales. The main idea is to analyze the shape by using a set of spheres of increasing radius, placed at the vertices of the mesh; the type and length of the sphere-mesh intersection curve are good descriptors of the shape and can be used to provide a multi-scale analysis of the surface. 4. Plumber: mesh segmentation into tubular parts [23]. Based on the Tailor shape analysis, the Plumber method decomposes the shape into tubular features and body components and extracts, simultaneously, the skeletal axis of the features; tubular features capture the elongated parts of the shape, protrusions or wells, and are well suited for articulated objects. 5. Hierarchical mesh segmentation based on tting primitives (HFP) [1]. Based on a hierarchal face clustering algorithm, the mesh is segmented into patches that best t a pre-dened set of primitives; in the current prototype, these primitives are planes, spheres, and cylinders. Initially each triangle represents a single cluster; at each iteration, all the pairs of adjacent clusters are considered, and the one that can be better approximated with one of the primitives forms a new single cluster. The approximation error is evaluated using the same metric for all the primitives, so that it makes sense to choose which is the most suitable primitive to approximate the set of triangles in a cluster. The set of models examined in this work are medical models, CAD models, models of human gures in various postures, models of animals, and a miscellanea class of shapes.
The rest of the paper is structured as follows. Section 2 outlines the algorithms. Section 3 species several evaluation criteria that can be used when describing and analyzing segmentation algorithms. Section 4 presents the results and discusses them according to these criteria. Section 5 concludes and discusses future challenges.
2 Algorithms
The following discusses the methods that will be compared in Section 3
2.1
The algorithm proposed in [14] proceeds from coarse to ne. Each node in the hierarchy tree is associated with a mesh of a particular patch and the root is associated with the whole input object. At each node, the algorithm determines a suitable number of patches k, and computes a k-way decomposition of this node. A key idea of the algorithm is to rst nd the meaningful components, while keeping the boundaries between the components fuzzy. Then, the algorithm focuses on the small fuzzy areas and nds the exact boundaries which go along the features of the object. To nd fuzzy components, the condition that every face should belong to exactly one patch is relaxed, and fuzzy membership is allowed. In essence, this is equivalent to assigning each face a probability of belonging to each patch. The algorithm consists of four stages: 1. Assigning distances to all pairs of faces in the mesh, based on their geodesic distance as well as on their angular distances. 2. After computing an initial decomposition, assigning each face a probability of belonging to each patch, using the distance values computed in the previous stage, as illustrated in Figure 1(a). 3. Computing a fuzzy decomposition by rening the probability values using an iterative clustering scheme, as shown in Figure 1(b). 4. Constructing the exact boundaries between the components using a minimum cut algorithm, thus transforming the fuzzy decomposition into the nal one, as demonstrated in Figure 1(c) .
2.2
The algorithm proposed in [13] produces hierarchical segmentations, with special emphasis on producing seg-
7. Mesh renement: After the segmentation of the coarse-resolution mesh (Step 1) is computed, it is mapped to the input, ne-resolution mesh, and the cut is rened again, similarly to Step 6. (a) probabilities (b) fuzzy decomp. (c) decomp. The hierarchical segmentation continues as long as the current segment Si has feature points and the ratio between the number of vertices contained in the convex hulls of both Si and SiM DS and the total number of vertices is low (typically, 0.5). These conditions prevent situations in which objects without prominent components (i.e., almost convex objects), get further segmented.
Figure 1. Algorithm [14] outline. mentation that are insensitive to pose and proportions. The approach is based on three key ideas: the transformation of the mesh vertices into a pose invariant representation, the robust extraction of prominent feature points, and the extraction of the core component of the mesh. The algorithm proceeds from coarse to ne. For each node in the hierarchy tree, the algorithm consists of the following stages. 1. Mesh coarsening: Mesh coarsening is applied as a pre-processing step [7]. It assists not only in accelerating the algorithm when executed on large meshes, but also in decreasing the sensitivity of the algorithm to the presence of noise. 2. Pose insensitive representation: Multi-dimensional scaling is used to transform the mesh S into a canonical mesh SM DS , as shown in Figure 2(a). Euclidean distances between points on SM DS are similar to the geodesic distances between their corresponding points on S. This property makes the representation pose insensitive, because folded organs (i.e., arms) are straightened up by the transformation. 3. Feature point detection: A few points, the prominent feature points, are computed on SM DS , and mapped back to their corresponding points on S, as illustrated in Figure 2(b). Intuitively, points on the tips of components, such as the tail, the legs and the head of an animal, are prominent feature points. The algorithm is based on the observation that feature points can be characterized by local as well as global conditions, in terms of their geodesic distances. 4. Core component extraction: The core component is extracted using a new spherical mirroring operation (Figure 2(c)). 5. Mesh segmentation: The algorithm computes the other segments, each representing at least one feature point, as illustrated in Figure 2(d). 6. Cut renement: The boundaries between the segments, which were found in the previous stage, are rened. The goal is to nd the boundaries that go along the natural seams of the mesh.
2.3
The method proposed in [22] tries to merge global and local descriptors of shape features by using the paradigm of blowing bubbles. Given a 3D mesh M and a set of radii Ri , i = 1, . . . , n let Si = S(p, Ri ) be the sphere of radius Ri and center p, and i the boundary of the region of M containing p delimited by the intersection curves between the mesh and Si . The study of the evolution of i as function of Ri forms the core of the Tailor approach. The rst morphological characterization of the surface in a 3D neighborhood of a vertex p at scale Ri is given by the number of connected components of i . We consider the following cases: 1 component: the surface around p can be considered topologically equivalent to a disc (see Figure 3(a)), 2 components: the surface around p is tubular-shaped (see Figure 3(b)), n 3 components: in a neighborhood of p a branching of the surface occurs (see Figure 3(c)).
(a)
(b)
(c)
Figure 3. Different cases of sphere to surface intersection: (a) one, (b) two, and (c) three or more intersection curves. The number of intersections between the spheres and the shape boundary gives a rst qualitative characterization of
(c) Core
Figure 2. Algorithm [13] outline. the shape in a 3D neighborhood of each vertex. For example, for a thin limb, that intersection will start simply connected and will rapidly split into two components. For a point on the tip of a limb, that intersection will usually simply remain connected, but the ratio of its length to the radius of the bubble will be decreasing. For a point on a blend, that ratio will exceed 2. More precisely, if has only one connected component, then the curvature of the surface around v at scale R is approximated by the non-negative ratio Gr (v) := l /r [10], where l is the length of . Furthermore, v is classied as planar if Gr (v) , sharp if Gr (v) < , and blend if Gr (v) > , where is a given threshold. Let us now suppose that has two connected components, and in this case the vertices are labeled as limb. The vertex v at scale R is classied as cylindrical when the ratio between the maximal and minimal length of 1 and 2 does not exceed a given threshold , that is l1 l2 ; otherwise, it is labeled as conical. If has 3 or more connected components, v is a branching and we do not consider other geometric descriptors. The set of radii is automatically set by uniformly sampling the interval between the minimum edge length and the diagonal of the bounding box of M. These parameters, as well as those ones used for the classication of the vertices (i.e., := 2, := 2), can be selected by the user if an apriori information on the input shape is available or if he/she is searching for some specic congurations (e.g., vertices whose sharpest angle is less than a given value). The choice of and can obviously take into account a specic application context, as for example specied in [21]. After this labeling step, a number of other properties are evaluated in order to rene the classication into specic features types, such as sharp protrusions or wells, mounts or dips, blends or branching parts, as summarized in Table 1. The main issue in this case is to distinguish properly if the point is on a feature which is on a convex or concave area of the shape, based on the orientation of the surface.
Table 1. Morphological feature characterization. Feature Color # Geo-metric Status TIP PIT MOUNT DIP BLEND LIMB WELL JOINT FUNNEL SPLIT red blue orange cyan pink yellow violet brown gray green 1 1 1 1 1 2 2 2 2 3 sharp sharp rounded rounded blend cylindrical cylindrical conical conical convex concave convex concave full empty full empty
Small radii can be used to determine detail features, while bigger ones are used to analyze the global characteristics of the surface. From these considerations, it follows that the choice of Ri is related to the scale of the features which have to be extracted. The use of a set of increasing radii is suitable for performing a multi-scale analysis of the shape over neighborhoods of variable size, by taking into account also the morphology of the shape in that neighborhood (see Figure 4).
2.4
Plumber specializes the Tailor approach to the segmentation of a shape into generic body components and tubular features. At the rst step, seed vertices are located and clustered to form candidate seed regions which are then used to compute the rst reliable tube section, called the medial loop. This loop is ensured to be around each candidate tube and works as a generator of the tubular feature. Then, the medial loop is moved in both directions on the shape, by us-
(a)
(b)
(c)
(d) Figure 4. Tailor characterization at two different scales: colors are those described in Table 1. With the smallest scale, we identify the eyes, mouth, and blend regions; the next scale locates seed tubular regions, depicted in yellow, used by Plumber to detect the tubular features along with their tubular axes.
(e)
(f)
Figure 5. (a) Selection of a level of detail R, (b) classication of vertices and identication of a seed limb region, (c) medial loop, (d-e) extraction and (f) abstraction of the tubular feature as a skeletal line and a set of contours.
ing spheres placed not on the surface but at the barycenter of the medial loop iteratively and until the tube is completely swept, according to some stopping criteria. The tube detection works in a multi-scale setting, starting with the extraction of small tubes rst. Assuming that the shape is represented by a triangle mesh M and that we are using a set of levels of detail {Ri }i , the steps of the segmentation are the following. For each vertex v M and scale Ri , we rst apply the Tailor analysis and consider all vertices that are labeled as limb, that is, vertices where the intersection curve i has two connected components (see the previous section). The vertex classication is used for the identication, at each scale, of the seed limb-regions, which are dened as the maximal edge-connected regions of limb-vertices with respect to a depth-rst search (see Figure 5(a-c)). These regions have the shape of generalized cones or cylinders. Then, we compute the medial loop of each seed limb-region; a medial loop represents the generator of the feature and is used for its expansion until some stop criteria are satised. Once all the tubular features at a given scale are identied, the process is iterated on M by considering the next level of detail. In Figure 5(d), the medial loop is the boundary of the dark region, while the growing phase is shown in 5(e). The radius, or scale, of the sphere inuences two steps
of the tube recognition process: once for the morphological analysis, to locate the limb vertices and candidate tube regions, and once for the tube growing phase. The stop condition of the tube sweeping phase is decided by a threshold on the variation of the intersection length, by the ending of the tubular feature itself, or by the splitting of the tube at a branching site. If the tubular feature ends, the tube is called cap and it will have only one boundary, as it is shaped as a generalized cone. The extraction of tubes adopts a ne-to coarse strategy, marking triangles as visited while the tube grows so that they are not taken into account at the following steps. At the end of the whole process, tubes are labeled with respect to the scale at which they were found. The connected components of the shape which are not classied as tubular features dene the body parts of the input surface. The described segmentation method is robust to noise, to uneven vertex distributions, and to irregular connectivity.
2.5
In [1], a hierarchical segmentation algorithm for triangle meshes that is based on tting primitives belonging to an arbitrary set, is described. The algorithm has the same structure of the hierarchical face clustering proposed in [8], in which only tting planes
are searched, but it has been designed to provide more exibility, and can incorporate support for several tting primitives [30, 29] and error metrics. This method is completely automatic and generates a binary tree of clusters, each of which tted by one of the primitives employed. Initially, each triangle represents a single cluster; at every iteration, all the pairs of adjacent clusters are considered, and the one that can be better approximated by one of the primitives forms a new single cluster. The approximation error is evaluated using the same metric for all the primitives, so that it makes sense to choose which is the most suitable primitive to approximate the set of triangles in a cluster. Based on this framework, a prototype system has been implemented which uses planes, spheres and cylinders tted using a standard L2 metric. Such a system proved to be extremely efcient and robust to noise. If the model is known to be made of a well dened set of primitives, as typical, for example, for mechanical objects, the algorithm may accept a plug-in for each of them in which the computation of both the tting parameters and the error are implemented. Moreover, being a greedy method, the level of accuracy is somehow reected by the cluster hierarchy which, once computed, may be interactively navigated by the user through a slider which sets the desired number of clusters or a threshold error, as shown in Figure 6.
into meaningful components (i.e., following the minima rule [11]) and those that segment into disk-like components, or more generally, into purely geometric shapes. 2. Extracting the correct segments: Dening the correct components of a given model is impossible. For instance, which of the segmentations in Figure 8 is the correct one? The right segmentation depends both on the application and on the viewers perspective and knowledge of the world (i.e., the hat of the model of Santa in Figure 8). Judging the correctness of the segments can be only done by looking at the images themselves. 3. Boundaries: Dening the correctness of the boundaries between segments is also infeasible. For instance, in Figure 11, should the neck belong to the segment of the head or to the segment of the body? However, given a set of segments as produced by a segmentation algorithm, desirable geometric properties of the boundaries can be dened. Such properties can include the smoothness of the boundary, the length of the boundary, and its location along concave features. 4. Hierarchical / multi-scale segmentation: It is rarely the case that a single segmentation of a model would exactly t the segmentation the user has in mind. Therefore, most segmentation algorithms are either hierarchical or multi-scaled. 5. Sensitivity to pose: For some applications, such as skeleton extraction, metamorphosis and retrieval, it is important that models of similar objects in different poses, will be segmented compatibly. Figure 11 demonstrates this situation. 6. Asymptotic complexity: It is common to mention the running times of algorithms on various models. Even though the running time is an important factor, it depends on the implementation and on the exact platform the algorithm is running on, which makes it difcult to compare. We therefore discuss here the asymptotic complexity, which gives an indication of the worst-case running time. 7. Control parameters: The number and type of control parameters gives some indication as to the interaction needed to produce highquality segmentations.
Figure 6. Various clustering resolutions for the same model (the number of clusters is indicated.
3 Evaluation Criteria
There are various ways to evaluate the quality of a segmentation. We hereby dene several possible criteria along which segmentation algorithms can be evaluated. 1. Type of segmentation: It is common [26] to divide segmentation algorithms into algorithms that segment
4 Results
Figures 78 show some results. In particular, Figure 7 shows segmentations of medical data an inner part of the ear and a heart. Figure 9 shows segmentations of CAD data.
Katz et al. 05
Tailor
Plumber
HFP
Figure 7. Segmentations of medical data. Figure 10 illustrates segmentations of a variety of animals. Figure 11 demonstrates the segmentations of human gures in various poses. Finally, Figure 8 shows the result of the segmentation on a number of miscellanea models. If one of the algorithms does not produce results on a specic example, we do not insert any picture. For each of the models, the results are displayed side by side, so that the reader can evaluate directly the qualitative performance of the method with respect to a specic application. Hereafter, the results are compared along the axes proposed in Section 3. 1. Type of segmentation: As best illustrated in Figure 9, two of the algorithms ([14, 13]) are designed to accommodate the minima rule, while the other algorithms ([22, 23, 1]) are designed to accommodate with certain geometric properties. CAD applications might nd the latter category more appropriate, while applications that use natural data (i.e., articulated object applications such as skeleton extraction) might nd the former class more appropriate. 2. Extracting the correct segments: For CAD models, the segmentation of the surface into patches of simple geometry is usually considered a pre-processing for the more complex recognition of form-features; in this context it is possible, or easier, to dene precise geometric and morphological rules to detect certain congurations, even if the problem is not fully solved [2]. Methods like Plumber are also based on an a-priori knowledge about the features we want to extract, that are in this case dened as generalized sweep-like features. Plumber, indeed, performs better on features with elongation axis larger than section axis: in the tiger model, for instance, only the tail is recognized correctly as a tubular feature while the body (see Figure 10) is not identied as a tubular feature because its section is almost equivalent to its length. The inner ear (see Figure 7) is well segmented and the sections of the tube follow the sweep direction of the feature. For articulated objects that are used in applications such as skeleton extraction, metamorphosis and retrieval, it is expected that the meshes be segmented at their joints. In this case, deep concavities as well as the size of the components, indicate the locations of segment boundaries. See Figures 10- 8. 3. Boundaries: As discussed in [14], a segmentation can be partitioned into two sub-problems: the extraction of the segments (see the previous item) and the smooth renement of the cuts. There are, however, methods, such as Plumber that guarantee by denition a smooth boundary. For other methods, that do not inherently produce smooth boundaries, a post-processing stage that renes the boundaries can be added. This was done, for instance in [14] and [13], where a minimum cut algorithm was applied to the initial segmentation. It is important to mention, however, that not all applications require smooth boundaries. 4. Hierarchical / multi-scale segmentation: Among the algorithms studied in this paper, [14], [13] and [1] produce hierarchical segmentations (i.e., a rened segmentation is a sub-segmentation of a coarse one), while [22] and [23] produce multi-scale segmentations. Multi-scale segmentations can be exploited to get a global segmentation. For example, the segmentation into patches of uniform behavior provided by Tailor highlights well detail-features rather than bigger shape components, but the persistence of the labeling across different scales give less sparse clusters [22].
Katz et al. 05
Tailor
Plumber
HFP
Figure 8. Segmentations of miscellanea models. Hierarchical segmentations are important when consistency across the rened levels is required. This would be the case for graphics applications that use articulated objects. Examples of full hierarchical segmentations can be found in the papers describing the algorithms ([14, 13, 1]). 5. Sensitivity to pose: In Figure 11, three similar models a human model running, sitting and walking were segmented. It can be seen that some of the algorithms are more sensitive to pose, mainly due to the role that curvatures play in the segmentation, while others are less sensitive. In [13] it is proposed that the model be transformed into a pose-insensitive representation (using MDS), in order to avoid sensitivity to pose. This method can be applied as a pre-processing stage in other segmentation algorithms. 6. Asymptotic complexity: The overall complexity of [14] is O(V 2 log V + IV 2 ) where V is the number of vertices and I is the number of iterations in the Kmeans algorithm. In the actual implementation, I is bounded by a constant. The complexity is dominated by distances computation that uses Dijkstras algorithm. The overall complexity of [13] is O(f 2 no iterations + m2 log m), where f is the number of faces in the coarse model (typically up to 1000 faces) and m is the number of faces in the search region of the ne (original) model. In [1], the computational complexity is O(f 2 ) in the worst case, where f is the number of mesh faces. The worst case, however, would imply a completely unbalanced binary tree. In practical situations the tree is mostly balanced, thus the average case complexity becomes O(f log f ), as reected by the computing time observed during experimentation. Once the hierarchy is computed, it can be browsed at interactive speed through a user-controlled slider (see Figure 6). In particular, the selection of a specic level of the hierarchy (i.e., a segmentation with a user-dened number of clusters) can be performed once the hierarchy is computed at interactive speed for meshes made of up to 100k faces on a standard PC. In Tailor [22], characterizing a vertex requires the analysis of a spherical neighborhood. In the worst case, the number of vertices within such a neighborhood is O(V ), thus characterizing all the vertices may cost up to O(V 2 ) operations. In most practical situa-
Katz et al. 05
Tailor
Plumber
HFP
Figure 9. Segmentations of CAD data. tions, however, the size of interesting neighborhoods is much smaller than the size of the mesh, and thus the algorithm can produce results within less than a minute for V < 20000 on a standard PC. In Plumber [23], the complexity is dominated by the Tailor characterization, and the same considerations hold. 7. Control parameters: In [14], three parameters are determined by the user: the rst parameter controls the importance of the geodesic distance vs. the angular distance, the second parameter controls the size of the search region for the minimum cut algorithm, and the third parameter controls the depth of the hierarchy, if needed. In [13], there are two parameters that concern the size of the search region for the minimum cut algorithm one for the coarse model and the other for the rened model. There are two other parameters that the user can set, though we have not set them in the presented segmentations the size of the coarse model and the importance of geodesic distance vs. the angular distance. In [1], the computation of the cluster hierarchy is fully automatic. Once it is computed, the user may select a specic clustering level out of the hierarchy in three ways: by manually browsing the tree through an interactive slider, by specifying an exact number of clusters, or by specifying the maximum approximation error allowed. In Tailor [22] and Plumber [23], the user is required to specify the radii representing the scales at which the characterization is performed. Also, in Plumber an additional parameter may be specied to change the default stopping condition for the tube generation phase; specically, by default a tube terminates if the ratio between the length of two consecutive sections exceeds two. Increasing such a default value would make more conical features to be identied as tubes, while decreasing it would make Plumber identify only proper cylinders.
5 Discussion
This paper has reviewed ve of the latest algorithms on mesh segmentation. These algorithms were executed on a common dataset that contains a variety of models ranging from medical data to CAD data to various human and animal models. The resulting segmentations were presented side by side. Several criteria for evaluating segmentation have been suggested. They include the extraction of correct segments, the boundaries between segments, the type of multi-scale segmentation, the sensitivity to pose and the asymptotic complexity. Based on the experimental results, the algorithms were compared along these axes. We hope that future research works on mesh segmentation will incorporate a discussion of these properties while analyzing their algorithms. Moreover, some of the models used here can serve as an initial benchmark that consists of models from diverse domains. Hopefully, this benchmark will keep growing.
Katz et al. 05
Tailor
Plumber
HFP
Figure 10. Segmentations of animals. It is evident from the results presented in this paper that there is no perfect segmentation algorithm. Each algorithm has benets and drawbacks. The search for better algorithms will undoubtedly continue. The hidden goal of segmentation algorithms is the attempt to imitate human visual perception. Since segmentation can neither be formalized nor measured mathematically, an empirical basis for research should be provided. This can be done by collecting hand-segmentations representing the ground-truth of various models, and comparing each algorithms results to it, similarly to the way proposed in computer vision [20]. Another major challenge for the future is the ability to base segmentation on semantics. The algorithms today produce segmentations that are semantically reasonable, yet they are not aimed at recognizing a specic part and its role (i.e., a leg). One way to to tackle this difcult problem is to examine the behavior of existing and future segmentation methods within particular, context-specic applications. Some work has been done for Plumber in the context of human body models [21], but several other applications contexts are worth to be considered in the future (biomedical data, CAD data, 4-legged animals, to name a few).
Acknowledgments.
Special thanks are given to the Shape Modeling Group at IMATI-CNR and ????. This work has been supported by the EC-IST FP6 Network of Excellence AIM@SHAPE; models are courtesy of the AIM@SHAPE repository (http://shapes.aimatshape.net). Tailor, Plumber, and HFB (as part of REMESH) are available at http://www.ima.ge.cnr.it/ima/smg/resources.html. The fuzzy clustering implementation is available at ????.
References
[1] M. Attene, B. Falcidieno, and M. Spagnuolo. Hierarchical segmentation based on tting primitives. The Visual Computer, (to appear), 2006. [2] D. Bespalov, A. Shokoufandeh, W. C. Regli, and W. Sun. Local feature extraction using scale-space decomposition. In ASME Design Engineering Technical Conferences, Computers and Information in Engineering Conference Conference (DETC 2004-57702). ASME Pres, Sep 2004. [3] S. Biasotti, S. Marini, M. Mortara, and G. Patan . An e overview on properties and efcacy of topological skeletons in shape modelling. In M. Kim, editor, SMI 03: Proceedings of Shape Modeling International 2003, pages 245254, Los Alamitos, May 2003. IEEE Computer Society.
[4] B. Chazelle, D. Dobkin, N. Shourhura, and A. Tal. Strategies for polyhedral surface decomposition: An experimental study. Computational Geometry: Theory and Applications, 7(4-5):327342, 1997. [5] D. Cohen-Steiner, P. Alliez, and M. Desbrun. Variational shape approximation. ACM Transactions on Graphics (SIGGRAPH), 23(3):905914, 2004. [6] T. Funkhouser, M. Kazhdan, P. Shilane, P. Min, W. Kiefer, A. Tal, S. Rusinkiewicz, and D. Dobkin. Modeling by example. ACM Trans. Graph. (SIGGRAPH), 23(3):652663, 2004. [7] M. Garland and P. Heckbert. Surface simplication using quadric error metrics. In Proceedings of SIGGRAPH 1997, pages 209216, 1997. [8] M. Garland, A. Willmott, and P. Heckbert. Hierarchical face clustering on polygonal surfaces. In Proceedings of ACM Symposium on Interactive 3D Graphics, pages 4958, 2001. [9] A. Gregory, A. State, M. Lin, D. Manocha, and M. Livingston. Interactive surface decomposition for polyhedral morphing. The Visual Computer, 15:453470, 1999. [10] V. Guillemin and A. Pollack. Differential Topology. Englewood Cliffs, New Jersey, 1974. [11] D. Hoffman and W. Richards. Parts of recognition. In S. Pinker, editor, Visual Cognition, pages 6596. MIT Press, London, 1985. [12] Z. Karni and C. Gotsman. Spectral compression of mesh geometry. In Proceedings of SIGGRAPH 2000, pages 279 286. ACM SIGGRAPH, 2000. [13] S. Katz, G. Leifman, and A. Tal. Mesh segmentation using feature point and core extraction. The Visual Computer, 21(8-10):865875, 2005. [14] S. Katz and A. Tal. Hierarchical mesh decomposition using fuzzy clustering and cuts. ACM Trans. Graph. (SIGGRAPH), 22(3):954961, 2003. [15] Y. Lee, S. Lee, A. Shamir, D. Cohen-Or, and H.-P. Seidel. Intelligent mesh scissoring using 3d snakes. In Pacic Conference on Computer Graphics and Applications, pages 279 287, 2004. [16] B. Levy, S. Petitjean, N. Ray, and J. Maillot. Least squares conformal maps for automatic texture atlas generation. In Proceedings of SIGGRAPH 2002, pages 362371. ACM SIGGRAPH, 2002. [17] X. Li, T. Toon, T. Tan, and Z. Huang. Decomposing polygon meshes for interactive applications. In Proceedings of the 2001 symposium on Interactive 3D graphics, pages 3542, 2001. [18] R. Liu and H. Zhang. Segmentation of 3d meshes through spectral clustering. In Pacic Conference on Computer Graphics and Applications, pages 298305, 2004. [19] A. Mangan and R. Whitaker. Partitioning 3D surface meshes using watershed segmentation. IEEE Transactions on Visualization and Computer Graphics, 5(4):308321, 1999. [20] D. Martin, C. Fowlkes, D. Tal, and J. Malik. A database of human segmented natural images and its application to evaluating segmentation algorithms and measuring ecological statistics. In Proc. 8th Intl Conf. Computer Vision, volume 2, pages 416423, July 2001.
[21] M. Mortara, G. Patan` , and M. Spagnuolo. From geometric e to semantic human body models. Computer & Graphics, Special Issue on Shape Reasoning and Understanding, (to appear). [22] M. Mortara, G. Patan` , M. Spagnuolo, B. Falcidieno, and e J. Rossignac. Blowing bubbles for the multi-scale analysis and decomposition of triangle meshes. Algorithmica, Special Issues on Shape Algorithms, 38(2):227248, 2004. [23] M. Mortara, G. Patan` , M. Spagnuolo, B. Falcidieno, and e J. Rossignac. Plumber: A multi-scale decomposition of 3d shapes into tubular primitives and bodies. Proc. of Solid Modeling and Applications, pages 139158, 2004. [24] G. Patan` , M. Spagnuolo, and B. Falcidieno. Para-graph: e Graph-based parameterization of triangle meshes with arbitrary genus. Computer Graphics Forum, 23(4):783797, 2004. [25] P. Sander, J. Snyder, S. Gortler, and H. Hoppe. Texture mapping progressive meshes. In SIGGRAPH 01, pages 409 416, 2001. [26] A. Shamir. A formalization of boundary mesh segmentation. In Proceedings of the second International Symposium on 3DPVT, 2004. [27] S. Shlafman, A. Tal, and S. Katz. Metamorphosis of polyhedral surfaces using decomposition. Eurographics, pages 219228, September 2002. [28] A. Tal and E. Zuckerberger. Hierarchical mesh segmentation based on tting primitives. In International Conference on Computer Graphics Theory and Applications, 2006, to appear. [29] T. V rady, R. R. Martin, and J. Cox. Reverse engineering a of geometric models - an introduction. Computer-aided Design, 29(4):255268, 1997. [30] J. Wu and L. Kobbelt. Structure recovery via hybrid variational surface approximation. Computer Graphics Forum, 24(3):277284, 2005. [31] E. Zhang, K. Mischaikow, and G. Turk. Feature-based surface parameterization and texture mapping. ACM Trans. Graph., 24(1):127, 2005. [32] K. Zhou, J. Synder, B. Guo, and H.-Y. Shum. Isocharts: Stretch-driven mesh parameterization using spectral analysis. In Eurographics/ACM SIGGRAPH symposium on Geometry processing, pages 4554, 2004. [33] Y. Zhou and Z. Huang. Decomposing polygon meshes by means of critical points. In MMM, pages 187195, 2004. [34] M. Zockler, D. Stalling, and H.-C. Hege. Fast and intuitive generation of geometric shape transitions. The Visual Computer, 16(5):241253, 2000. [35] E. Zuckerberger, A. Tal, and S. Shlafman. Polyhedral surface decomposition with applications. Computers & Graphics, 26(5):733743, 2002.
Katz et al. 05
Tailor
Plumber
HFP