Keywords

1 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.

2 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].

Fig. 1.
figure 1

Classification of point cloud and mesh partitioning methods.

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.

Table 1. Summary and comparison of existing partitioning methods

3 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.

Fig. 2.
figure 2

The framework of the proposed partitioning method.

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.

3.1 Initial Region Partition

Firstly, the principal curvatures of each vertex (k1 and k2, 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).

$$ s\left( {{\mathbf{p}}_{i} } \right) = \frac{ - 2}{\pi }\arctan \left( {\frac{{\kappa_{1} \left( {{\mathbf{p}}_{i} } \right) + \kappa_{2} \left( {{\mathbf{p}}_{i} } \right)}}{{\kappa_{1} \left( {{\mathbf{p}}_{i} } \right) - \kappa_{2} \left( {{\mathbf{p}}_{i} } \right)}}} \right) $$
(1)
$$ c\left( {{\mathbf{\textit{x}}}_{i} } \right) = \sqrt{\frac{{{ {\kappa_{1}^{2} \left( {{\mathbf{\textit{x}}}_{i} } \right) + \kappa_{2}^{2} \left( {{\mathbf{\textit{x}}}_{i} } \right)} } }}{2}}$$
(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.

Fig. 3.
figure 3

Illustration of local shape refinement and region growing in the framework.

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.

3.2 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.

4 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.

Fig. 4.
figure 4

A case study of the proposed framework of mesh partitioning.

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.

5 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.