A Framework for Curvature-Based CAD Mesh Partitioning

. In ISO Geometrical Product Speciﬁcations and Veriﬁcation Standards (GPS) [1], partition is one of the fundamental operations used to obtain ideal or non-ideal features of a product. The operation of partition produces independent geometrical features by decomposing the object. A curvature-based CAD mesh partitioning framework is proposed in this paper. The framework combines several key steps including curvature-based attribute calculation, local shape type reﬁne-ment, region growing, slippage analysis and statistical modeling. The partitioned features are classiﬁed into seven invariance classes of surface in the context of ISO GPS. A case study shows that not only appropriate partitioning but also accurate invariance class recognition for GPS are achieved by the proposed framework.


Introduction
In ISO GPS, feature operations such as partition, extraction, filtration and association are used to obtain ideal and non-ideal features. Among these operations, partition is used to identify ideal or non-ideal features. The default partition segments the part into maximal surface portions that correspond to one of the seven invariance classes of surfaces, i.e. plane, sphere, cylinder, surface of revolution, prismatic, helix, and complex surface. The partitioned feature could be used to facilitate other operations such as association and filtration.
In this paper, existing partition methods are reviewed and a comprehensive classification is proposed. A curvature-based partitioning framework in the context of ISO GPS is developed. The framework contains two main stages, initial region partitioning and region refinement. A case study on a CAD mesh is presented to demonstrate the performance of the framework.

Related Work
Partition or Segmentation is an important problem in geometry processing and is addressed by different topics and fields such as computer vision, civil engineering and mechanical engineering in the context of reverse engineering. Anwer et al. [2] put forward a classification of the existing partitioning approaches to provide scientific fundamentals for ISO GPS partitioning.
A more comprehensive classification is proposed as show in Fig. 1. The existing point cloud (PC, in short) and mesh partitioning methods are classified into six categories based on their methodologies. The attributes of the PC or the mesh such as curvature, geodesic distance, normal, dihedral angles, slippage, etc. are calculated in order to provide criteria for different methods [3]. Edge detection methods, or boundary-based methods, attempt to locate the edges of the object then group the points inside the boundaries [4]. Partitioning by region growing decomposes a mesh or a point cloud into regions that share similar properties [5]. A merging step is always needed to reduce the number of the obtained regions. The core of attributes clustering methods is to address the attributes for each point based on the geometric characteristics and then calculate the distance of each node to the specific region [6,7]. Here we divide the clustering method into iterative clustering [6] and hierarchical clustering (or "direct clustering methods") [7] according to the clustering process. Shape fitting methods try to fit primitive shapes such as planes, spheres, cylinders, cones or tori to the point cloud. Points are labeled as one partitioned region if they belong to the same primitive shape [8]. Spectral analysis methods try to use the eigenvalues and eigenvectors of a properly structured square matrix, which is informative of local geometric attributes of a mesh [9]. Recent advances in machine learning, especially deep learning technologies, provide novel solutions for the 3D point cloud and mesh segmentation. Attributes are used as the label features to train the learning model and the well-turned model achieves a significant improvement in results [10].
The key techniques and the attributes used for each type of methods introduced above are highlighted in Table 1. The output types of each reference are classified into semantic (e.g. a shaft) and geometric (e.g. a cylinder).
It can be seen that existing methods are able to segment the object into different regions. However, it is critical to identify the segmented regions as seven invariance classes in the context of ISO GPS. Meanwhile, most of the methods use post-processing steps to ensure the segmentation results. Therefore, a framework that combined a variety of techniques is preferable to be implemented for obtaining robust results.

Curvature-Based Framework for ISO GPS Partitioning
Curvature is an important tool for analyzing the geometry of surfaces since it specifies the second-order properties of a surface and is independent of the used parametrization. Based on the curvature estimation of points on a given mesh, a framework of partitioning in the context of ISO GPS is presented as shown in Fig. 2. Since a point-cloud does not provide much point-set topological information, a mesh representation should be firstly reconstructed according to some specific criteria as the input of the proposed framework [11]. The output are the partitioned features in accordance with the seven invariance classes defined in ISO GPS. Initial region partition and region refinement are conducted as two main steps in the framework in order to obtain robust partition results.

Initial Region Partition
Firstly, the principal curvatures of each vertex (k 1 and k 2 , i.e. maximum and minimum principal curvature) in the mesh is calculated. Secondly, shape index and curvedness [12,13] in the neighborhood of each vertex are calculated based on the principal curvatures. Shape index specifies the local shape type and it is independent from size and the assignment of principal directions. Curvedness specifies the size and it is the amount of the surface curvatures in the neighborhood of a vertex. The shape index and the curvedness of a vertex are defined as (1) and (2).
Each vertex on the mesh will be clustered into sharp edges and several shape types by evaluating their shape index and curvedness values. Vertices belonging to sharp edges are detected at first in the framework.
Due to the error of point data during the acquisition process in practice [14], the vertices in a relatively small region do not share the same value of curvedness and shape index. Therefore, an iterative voting method [15] is conducted in order to refine the local shape type. The 11 types of local shape are the label calculated for each vertex according to its shape index value. After the local shape type refinement, labelled points on the mesh are connected to each other by a region growing method, as illustrated in Fig. 3. In each iteration, the point which is not labeled will be chosen as the initial seed for region growing process. All the neighbor vertices of the seed will be checked if they share the same local shape type index. The neighbor points will be set as the new seed of growing process if they share the same local shape type index. The full region growing process stops when all the vertices are labeled by a group number.

Region Refinement
The obtained regions from the region growing process become the initial patches as the input of region refinement. A slippage signature-based algorithm [16] is used to merge the regions. In the method, a geometrical feature called slippable motion are calculated for each initial patch. Adjacent region pairs are evaluated by the slippage signature and are merged into one region if they share the same value. Further post-processing steps are conducted after the slippage merging of the surface in order to reduce the impact by noise data.
Merged regions by slippage analysis are not classified in the context of ISO GPS seven invariance classes. Therefore, vertices which are grouped from the input mesh should be registered according to local properties. A statistical modeling method proposed by [17] is utilized to provide a statistical description of each region with strong mathematical basis. After invariance class recognition, quick and accurate identification of features is addressed by labeling the regions.

Case Study
A test part is used as a case study to show the effectiveness of the proposed framework for CAD mesh partitioning. The part is designed by CAD system and manufactured as in Fig. 4. The 3D nominal shape of the part is represented by a mesh model. Shape index and curvedness of each vertex on the mesh are calculated. Then local shape type refinement and region growing methods are implemented to stabilize the indicator of each point in the mesh.
Slippage analysis is used to merge small patches into a large region. The independent 38 regions of the mesh (in random color) are the partitioning result by slippage analysis. An invariance class recognition method by statistical modeling are then implemented to label these regions. The results are recognized and visualized according to seven invariance classes.

Conclusion
A curvature-based mesh partitioning method framework is proposed based on a comprehensive literature review. The proposed framework is able to partition 3D CAD mesh into regions in the context of ISO GPS. The result of implementation and testing shows that the proposed method can partition the tessellated nominal models appropriately. Future work will investigate the applicability of the approach in the context of measurement for ISO GPS verification.
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.