Variational mesh segmentation via quadric surface fitting
Highlights
► We present a new variational method for mesh segmentation by fitting quadric surfaces. ► A new energy function is defined to evaluate the quality of segmentation. ► Feature-based and simplification-based techniques are used for accelerating the segmentation.
Introduction
Compact and faithful representation of 3D objects is crucial for various applications in computer graphics, computer vision and CAD/CAM community. Nowadays freeform surfaces are popularly represented by triangular meshes, which can easily be obtained with high accuracy and complexity thanks to the rapid development of 3D digital data acquisition devices. But such meshes are too raw to be directly used in the subsequent process due to the lack of a high-level representation, even with preprocessing such as denoising, simplification or remeshing.
Mesh segmentation is one of the most effective ways to compute a high-level shape representation. E.g., in reverse engineering, the input scanned data are first segmented into simple surface patches, and the intersection curves of adjacent patches are then computed to form the boundary representation (-Rep) [1], [2], [3]. Other applications, such as texture atlas generation [4], [5], remeshing [6], [7] and compression [8] can also benefit from mesh segmentation.
Most previous shape segmentation approaches are based on local clustering or boundary detection techniques. However, their greedy nature tends to make the segmentation unsatisfactory. Cohen-Steiner et al. [6] have introduced the Variational Shape Approximation (VSA) framework, which segments the input mesh surface into planar patches. The quality of the segmentation is measured by the sum of the normal derivation of each cluster from its corresponding planar proxy. Lloyd iteration [9] is used to minimize the energy function. Wu and Kobblet extend the VSA framework by introducing spheres and circular cylinders as basic fitting primitives [10]. Other primitives, such as ellipsoidal surfaces [11], developable patches [12] are also studied.
Quadric surfaces are preferred for surface approximation in many applications because they have low algebraic degree and their shapes are easy to control [13]. In this paper, we shall present a new algorithm to segment input mesh surfaces (especially scanned or tessellated industrial CAD models) into non-overlapping patches, each patch approximated by a general quadric surface; see Fig. 1 for an example.
This paper is an extension of our previous work [14]. Instead of using only or metrics separately, we introduce a novel error function that measures both the geometric distance and the normal derivation between a patch of a mesh surface and a fitting quadric surface. We will demonstrate the advantages of the new error function over the previous work which uses only the metric in Section 6. The efficiency of our algorithm is further improved by using the feature information and the mesh simplification techniques. The main contributions of this paper include:
- •
a variational mesh segmentation framework based on fitting general quadrics (including planes as a special case);
- •
a new error function for fitting quadric surface from original mesh triangles, where both and distance are considered;
- •
a new method for smoothing irregular boundary curves between adjacent segmented regions using a graph-cut method;
- •
enhancements of the variational segmentation framework, including feature-based and simplification-based segmentation.
Mesh segmentation has been studied extensively in the past years. The aim of mesh segmentation is to partition the input mesh into “meaningful” components. The definition of “meaningful” can totally be different according to different applications. In the following we shall briefly discuss the existing work related to our approach.
Traditional mesh segmentation algorithms are based on the local property of surfaces. Surface elements with similar properties are grouped together to form larger patches [15]. This kind of approaches can be regarded as local clustering based methods, or greedy approaches. Compared with traditional algorithms, some recent variational approaches show powerful approximation ability and better segmentation quality.
Greedy approaches.Region growing is the most popular method in the literature for surface segmentation [1], [16], [17], [18]. A set of seed points are first selected and for each seed grows a region until all the surface elements are assigned to a region. Local surface properties, such as principle curvatures, are always used as criteria for growing regions with the similar attribute. Region growing based methods always stop at boundaries with high curvature, e.g., a flat ellipsoid, which will be over segmented by such approaches.
Hierarchical clustering based methods merge the pair of regions from bottom to top hierarchically [19], [20], [21], [22], [23]. At the beginning, each face of the mesh is assigned as a single region. In each step, a pair of adjacent regions with least merging error is merged to form a new region. The algorithm is repeated until some stopping criteria is met. This kind of approaches have problems in blending regions between two smooth surfaces, which may be merged in the early stage.
Hierarchical decomposition based methods, also known as mesh splitting, segment mesh surfaces into meaningful components in a top-down manner. Many region splitting algorithms are based on the minima rule and part salience theory [24], [25]. The feature curves on mesh surfaces are first detected and used as part of boundaries of final segmentation. Various meaningful metrics are defined for different applications [26], [27], [28], [29], [30]. This approach, tends to segment surface at concave regions. Some meaningful parts may be over segmented by this approach.
Region growing, hierarchical clustering and hierarchical decomposition are regarded as greedy approaches, because once the segmentation is done for a triangle element, it will not be changed in the later process. However, mesh segmentation can be treated as an energy minimization problem, where an energy function is defined and optimized for the segmentation. Because of its optimization nature, this method is often referred as variational method. The planarity and developability of surface regions are usually used as error metrics to define energy functions [31], [6], [12], [32], [33], [34], [35].
Variational approaches. Cohen-Steiner et al. [6] propose a new shape approximation algorithm by clustering face normal of the mesh, where consistent energy minimization is applied to drive down the approximation error. To keep the connectivity of each region, a distortion minimization flooding algorithm is developed. This method is efficient but only planar surfaces are used as fitting primitives, which tends to produce too many planar polygons for segmentation purpose. This work is extended in several ways by introducing higher order or special type of surface elements [11], [10], [14]. In [11], ellipsoidal surface is used as the only type of primitive to approximate a given mesh by minimizing a combined energy function. The segmentation boundaries are smoothed by a constrained relaxation of the boundary vertices. To reduce the number of surface elements, Wu and Kobbelt [10] extend [6]’s work by introducing sphere, circular cylinder and rolling ball patch as basic primitives. The number of elements is reduced a lot but the type of basic primitives are still too restrictive to represent both CAD and free-form objects. Yan et al. [36] apply the variational segmentation framework for segmenting the laser scanned tree data into cylindrical components and then reconstruct the branch models of trees.
Surface fitting is a key step in many mesh segmentation algorithms. A detailed survey of surface fitting techniques is out of the scope of this paper. We shall focus on low-degree algebraic surface fitting approaches, specifically, quadric surface fitting.
Since there is no closed-form for computing foot point on quadric surfaces, direct fitting, which minimizes the Euclidean distance, is a non-linear optimization problem [37], [38], which is too inefficient in practice. Given an implicit surface , the most well-known fitting method is to use algebraic distance to approximate geometric distance, but this approximation is too biased even in simple cases [39], [40]. Taubin approximates the Euclidean distance from a point to a quadric surface by a first order approximation [41]. By using this first order distance, the fitting problem can then be solved as a generalized eigenvector problem by a further approximation. Instead of considering only the geometric distance, many approaches introduce the normal deviation in the fitting algorithm [42], [43], [44], [45]. Kanai et al. present a quadric fitting algorithm which combines both algebraic distance and gradient [46]. Instead of fitting only discrete sampled point data, they integrate the error function over the triangular meshes. The proposed fitting algorithm is then used to construct a hierarchical implicit surface structure. Since only algebraic distance is used, and the gradient vector is not normalized, the fitting results behave bad in high curvature region (see Fig. 11). In this paper, we propose a new error function, which is a hybrid of a first order approximation of the geometric distance and the normal difference between the polygon face and the normalized gradient of the fitting surface. The new error function gives better fitting results (see Section 6).
The remainder of this paper is organized as follows. Section 2 derives the problem formulation of variational shape segmentation. A new error function for quadric surface fitting is introduced in Section 3, and the variational segmentation framework is introduced in Section 4. Section 5 presents two acceleration techniques to improve the efficiency of the segmentation algorithm. We present experimental results in Section 6 and draw our conclusion in Section 7.
Section snippets
Problem formulation
Let be a finite set of triangles that constitute a connected mesh surface. A partition of is denoted by , where and for any . All the triangles of a subset form a connected component. Each subset is also called a region, or a cluster, which is fitted by a best fitting geometric proxy, denoted by , where is the seed triangle of the proxy and is a general quadric surface, which can also be a plane. The objective
Metric for quadric surfaces
The implicit equation of a quadric surface , where is a 3D point, can be written as where is the vector of unknown coefficients of the quadric surface and . Both of them are ten dimensional vectors.
Variational shape segmentation
In this section, we shall describe the implementation details of the presented algorithm. Our segmentation algorithm consists of four main steps: (1) preprocessing; (2) initialization; (3) optimization and (4) postprocessing. The flowchart of our algorithm is shown in Fig. 2.
Enhancements
We propose two accelerating techniques in order to efficiently segment models with sharp features or with large size. The improvements include feature-based and simplification-based segmentation, which are optional in our system.
Experimental results
We present the experimental results of our algorithm in this section. The input meshes are assumed to be 2-manifold with arbitrary topology, closed or with open boundaries. All examples are tested on a PC with Intel Xeon 2.66 GHz CPU and 2.00 GB RAM.
Our algorithm works well for tessellated CAD models, which exhibit well defined feature structures. Fig. 1, Fig. 3, Fig. 5, Fig. 7 demonstrate several such results of feature-based segmentation. The crank model shown in Fig. 1 contains more than
Conclusions and future work
We present an efficient variational framework for mesh segmentation. Each segmented patch is fitted by a quadric surface. Instead of considering only distance or normal deviation, we introduce a new error metric which is a combination of both and metrics. The new metric results in better segmentation quality without any postprocessing, especially for CAD models. Moreover, the effectiveness of the presented algorithm is demonstrated by various examples and comparison with previous works.
Acknowledgments
We would like to thank the reviewers for their detailed comments and suggestions which greatly improved the manuscript. We also thank Xiaohong Jia and Yong-Liang Yang for proofreading. This work is partially supported by the Research Grant Council of Hong Kong (718209 and 718010), NSFC (11171322), and ANR/NSFC (60625202, 60911130368) Program.
References (55)
- et al.
Reverse engineering of geometric models—an introduction
Computer-Aided Design
(1997) - et al.
Structure recovery via hybrid variational surface approximation
Computer Graphics Forum (EUROGRAPHICS)
(2005) Modelling and processing with quadric surfaces
- et al.
Surface mesh segmentation and smooth surface extraction through region growing
Computer-Aided Geometric Design
(2005) - et al.
A new CAD mesh segmentation method, based on curvature tensor analysis
Computer-Aided Design
(2005) - et al.
Parts of recognition
Cognition
(1984) - et al.
Salience of visual parts
Cognition
(1997) - et al.
Mesh scissoring with minima rule and part salience
Computer-Aided Geometric Design
(2005) - et al.
A class of methods for fitting a curve or surface to data by minimizing the sum of squares of orthogonal distances
Journal of Computational and Applied Mathematics
(2003) - et al.
Quadric surface extraction using genetic algorithms
Computer-Aided Design
(1999)