Abstract
Free-form objects which have vast engineering applications are inspected using coordinate measuring machines (CMM) and non-contact scanners. The output from the devices, that is the measured point-set, must be registered with the reference profile and later inspected for the profile error. Registration is accomplished in two phases, that is coarse registration and fine registration. The most crucial step in the fine-registration stage is the profile error estimation at each point of the measured point-set. Generally, this is accomplished using the point-inversion method, which has relatively high time complexity. This work proposes a two-stage framework based on the Voronoi diagram concept for profile error estimation of 2D free-form profiles. A discretized profile is prepared for the measurement process in the first stage. The profile errors are estimated from the measured point-set using the discretized profile in the second stage. Two profile error estimation technique has been proposed based on Voronoi vertices and the Voronoi edges. The effective time-complexity of the proposed framework is O(lm log n). Implementations were executed on simulated NURBS profiles and practically measured CT-scanner data of two machined airfoils modelled as NURBS profiles. The validation results illustrate that the proposed framework’s accuracy is on par with that of the point-inversion method and is at least 56% faster than the latter; thus making it a fast and accurate alternative for CMM (operated in continuous scanning mode), CNC machine-based (in-situ) and vision-based 2D profile inspection.
Keywords
Introduction
Free-form objects are objects whose surfaces cannot be categorized as planar, cylindrical or spherical surfaces. Parametric formulations like Bezier, B-spline and Non-uniform Rational B-spline (NURBS) are used to model the free-form surfaces and profiles. Due to enhanced functionality and aesthetical reasons, many aerospace, biomedical and automobile components are composed of free-form profiles and surfaces. 1 Various manufacturing operations are used for physically realizing the modelled free-form surfaces and profiles. Among them, CNC based machining process is widely used primarily for components like turbine blades 2 and impellers. 3 Recently, Dong and Wang 4 proposed an iterative algorithm for milling tool interference avoidance for plunge milling (rough milling operation) of impellers. Apart from this, Mali et al. 5 gave a brief review of various aspects of free-form surface (in general) milling. The manufactured free-form surfaces and profiles will deviate from the actual surface despite precise machine tools and manufacturing devices. Hence, tolerance in both form (profile in 2D) and dimension is provided. Contact type devices like Coordinate measuring machine (CMM) and non-contact scanners are widely used to measure free-form surfaces. 6 This work deals with profile error inspection of 2D free-form profiles measured using these devices.
CMM operates in two modes, that is discrete and continuous scanning mode. This work emphasizes the inspection of 2D profiles measured using CMM operated in continuous scanning mode or non-contact scanners. The output of the CMM or non-contact scanners will be in the form of a discrete point-set called measured point-set (M). This M needs to be compared with the reference profile (or surface in 3D) to check for tolerance conformance.
Figure 1 shows the profile tolerance specifications according to the Bureau of Indian Standards (BIS).
7
It consists of two offset profiles separated by a distance δ which is the designer specified maximum allowable profile error. The profile error at each measured point Mi

Profile tolerance zone specification according to BIS standards (Geometrical tolerancing-tolerances of form, orientation, location, and run-out).
The output of the CMM or non-contact scanners after measurement (i.e. M) needs to be aligned with the reference profile (or surface) before the profile error estimation. This process of alignment is called registration. In the presence of a datum, the alignment is with respect to it, whereas in its absence, the alignment is based directly on the free-form profile (or surface).
1
Registration is accomplished in two stages, that is, coarse and fine registration. M is initially aligned (rough alignment) with the reference profile during the coarse registration stage. In the fine registration stage, the coarsely registered M (i.e. Mc) is iteratively brought closer to the reference profile (or surface) until each of Mci’s (Mci
Where m is the number of points in M, R and t are the rotation and transformation matrices, and Pei is the nearest point to Mi in the reference profile (or surface). The Principal Component Analysis (PCA) based method is fast and useful among the coarse registration algorithm if M represents more than 95% of the manufactured profile (or surface). Hence in this work, the coarse registration algorithm used is based on PCA. The coarsely registered point-set is denoted as Mc.
In the case of fine registration, the Iterative Closest Point (ICP) algorithm proposed by Besl and McKay
19
is the widely used algorithm. Brujic and Ristic
20
studied the effect of parameters like measurement noise, initial misalignment and the accuracy of profile error estimation on the performance of the ICP algorithm in the field of inspection. Li and Gu
13
gave a brief overview of various fine registration techniques for the inspection of free-form surfaces. Later, Ravishankar et al.
21
proposed the ICP based algorithm for CMM measured data. ICP algorithm is linearly convergent, and to overcome this limitation, Li et al.
22
proposed an adaptive distance function (ADF) for estimating the distance between each Mci
In all the fine registration techniques, it was observed that the profile error estimation step is essential and time-consuming. In the case of NURBS profiles, each Mci
Apart from the point-inversion method, Lang et al.
32
and He et al.
33
used the subdivision based method (in the parametric domain). Similar to this method, Liu
34
proposed the usage of linear quadtree based for estimating the
Among all the above methods, the point-inversion method is the most accurate. However, it executes in O(ms) time for m measured points. The value of s depends on the number of iterations, which depends on the user-defined convergence criteria. A lower convergence criterion increases the accuracy and the number of iterations. The geometric algorithms reviewed by Ko and Sakkalis 30 accelerate the convergence of the point-inversion method. However, they are iterative. The surface subdivision method is similar to that of the point-inversion method. Tessellated representations, STL models and quadrilateral facets are discrete representations of the free-form profiles (and surfaces). However, there always exists a trade-off between the point density and the profile error estimation accuracy in this case. Hence, a discretization strategy and profile error estimation technique (with at least logarithmic time-complexity) from the discretized profile (especially 2D profiles) is needed.
The algorithms of most of the computational geometric techniques have logarithmic time-complexities and are promising. Techniques like the Voronoi diagram and its dual, that is the Delaunay triangulation, are used for curve and surface reconstruction. 36 Samuel and Shunmugam 37 proposed using the farthest-point Voronoi diagram to estimate circularity. OuYang et al. 38 developed a coarse registration technique (for point clouds) based on the concept of Delaunay Pole Spheres (DPS). This DPS is based on the poles concept proposed by Amenta and Bern 39 for surface reconstruction. Amenta and Kolluri 40 and Amenta et al. 41 theoretically proved that for a dense sampling, the pole spheres approximate the surface. Based on this fact, Hari Ganesh and Samuel 42 developed a method for form error estimation of free-form surfaces. The theoretical proof of Amenta et al. 41 holds true even in the case of 2D profiles, and the 2D pole circles approximate the continuous profile.
Moreover, the 2D Voronoi diagram has O(n log n) time-complexity, unlike the 3D Voronoi diagram (i.e. O(n2log n) time-complexity). Hence, the 2D Voronoi diagram is used in this proposed work. The method proposed by Hari Ganesh and Samuel 42 is dedicated to CMM operated in discrete scanning mode. A more generalized method, primarily for CMM operated in continuous scanning mode, and non-contact scanners are needed. In this direction, the contribution of this work is as follows:
A new method for discretizing the 2D reference free-form profiles (especially for profile error inspection).
Techniques for fast and accurate estimation of profile errors at each Mci
The rest of the paper is organized as follows: Section 2 describes the Voronoi diagram and the associated theoretical details used in this work. Section 3 describes the algorithms of the proposed framework. Section 4 explains the proposed framework’s practical implementations, and section 5 concludes the paper.
Preliminaries
Voronoi diagram and poles
For a set of points P in

Voronoi diagram, poles and profile error estimation: (a) Voronoi diagram of a point-set Pe, (b) Voronoi cell and Poles of Pei, (c) Profile error estimation using max.pole circle, and (d). Profile error estimation using min. pole circle.
Poles are extreme Voronoi vertices of a Voronoi cell. Amenta and Bern introduced this concept.
39
Consider the Voronoi cell of a point Pei
Pole circles and profile error estimation
In the case of the nearest point Voronoi diagram, the poles of a point Pei are centres of empty circles that pass through it. Amenta et al.
41
have theoretically proved that in the case of dense 3D point-sets (following the ε-sampling criteria), the poles approximate the medial axis and the pole spheres approximate the surface from which the 3D point-set is sampled. However, in the case of 2D, all the Voronoi vertices (including the poles) approximate the medial axis and the pole circles the continuous Profile C(u) from which Pe is discretized. This theoretical concept is used in this work. Consider a measured point Mci
Where rmax (in equation (2)) is the radius of the Max. Pole circle and rmin (in equation (3)) is the radius of the Min. pole circle. The profile error is represented by
The corresponding point of Mci on C(u) is approximated by projecting it on both the pole circles of Pei (shown as
Voronoi edge assisted weighing (VEAW)
In the case of a continuous profile, the projection point of the measured point Mci

Angular weights computation using the Voronoi edge.
As shown in Figure 3,
Where,
Oriented Bounding-box (OBB)
This geometrical entity is a rectangle that encloses all the points of Pe. This box is computed through PCA of Pe. The computed OBB consists of four corner points. Initially, the covariance matrix of Pe (i.e. Cov(Pe)) is calculated using equation (7) as given by Chung et al. 43
Where n is the number of points in Pe and
Methodology
As shown in Figure 4, the proposed methodology consists of two stages. Before developing the methodology, the following assumptions are made:
The profile has a well-defined parametric formulation and does not have any self-intersections.
The profile is at least C2 continuous without straight portions and sharp corners (except at the starting and ending points).
The measured point-set is outlier free and represents at least 98% of the reference profile.
The measured point-set is dense enough (at least 500 points) and is distributed evenly throughout the profile.

The schematic of the proposed framework.
In stage A, initially, the profile is discretized, and the poles data for each discrete point is extracted using the profile-discretize and poles extract algorithm. Later, PCA based oriented bounding-box (OBB) and the dominant-points of Pe are computed. This stage can be implemented apriori to the measurement process, and hence it is not part of the actual inspection cycle. The discretized Profile (Pe), its OBB, and the dominant-points are used for initial coarse registration and fine-tuning of the measured point-set (M) with Pe in stage B. Later in the same stage, the Voronoi diagram and poles data of Pe is used in the profile error based fine registration algorithm for fine registration of Mc with Pe.
Profile-discretize and poles extract
This Voronoi diagram-based algorithm is used to arrive at the discretized Profile (Pe) and its corresponding poles data. As shown in Supplemental Figure 1, an arbitrarily discretized profile (P) is given as input in this algorithm. A limit for pole angle (θmax) and minimum step value (in the parametric domain (Δm) is set (Step 1 and 2 of Supplemental Figure 1). Initially, P is enclosed in an arbitrary box (bb) (Step 4) to avoid infinite Voronoi vertices. Later, the point-density of P is increased iteratively (Steps 5–9) until all the pole angles corresponding to each Pi
Oriented Bounding Box(OBB) and Dominant points compute
In this algorithm (Supplemental Figure 3), the OBB of Pe (Supplemental Figure 4(a))is computed using the PCA of Pe as explained in the previous section (i.e. Oriented Bounding Box (OBB)). The eigenvectors of Cov(Pe) is considered as Pe’s local reference frame (LRF) (Supplemental Figure 4(b)), and the mean coordinate of Pe (i.e. µe) is chosen as the origin of the LRF (Step 2, Supplemental Figure 3). The computed OBB (Supplemental Figure 4(c)) consists of the coordinates of the four corner points of OBB. The local coordinates of Pe (i.e. Loc.Pe) are calculated using the considered LRF. Later, the absolute curvature Kci
Coarse registration and fine-tuning
In this algorithm (Supplemental Figure 5), the OBB of the measured point-set (M) is initially calculated using the eigenvectors obtained through M’s PCA (Step 1, Supplemental Figure 5) (Supplemental Figure 6(b)). M is coarsely registered with Pe by aligning the OBB of M with that of Pe (Step 2) (Supplemental Figure 6(c)). To avoid the flipping of M, the alignment is brought by considering the diagonal points of both the OBB. The local coordinates of measured points after coarse registration (i.e. Mco) are computed (i.e. Loc.Mco) (Step 3, Supplemental Figure 5). The indices of the nearest points in Loc.Mco for each point in Loc.Pedom is found. Later, the points in Mco corresponding to those indices are used for transforming Mco to Mc (closer to Pe) (Steps 4 and 5, Supplemental Figure 5) (Supplemental Figure 6(d)). This transformation process constitutes the fine-tuning part after coarse registration.
Fine registration and profile error estimation
This algorithm is used for profile error estimation at each Mci
Time-complexity
The profile discretize and poles extract algorithm (algorithm 1) is based on the concept of the 2D Voronoi diagram, which has O(n log n) time-complexity. 45 The Voronoi diagram and the associated poles in this algorithm is computed for each iteration. Moreover, the value of n increases as this algorithm is executed. The OBB and dominant points compute algorithm (algorithm 2) is based on the PCA technique and discrete curvature computation method and executes is O(n) time.
Among the techniques used in the coarse registration and fine-tuning algorithm (algorithm 3), the nearest neighbour search technique (based on the Voronoi diagram) executes in O(m log n) time for m number of points in Mc and n number of points in Pe. Moreover, the OBB based coarse registration and the dominant-points based fine-tuning method executes in O(m) time. In the case of the fine registration and profile error estimation (algorithm 4), the nearest neighbour search technique executes in O(m log n) time for each iteration and the Transformation. Compute’ function executes in O(m) time. As this section’s beginning says, stage A (consisting of the first two algorithms) can be completed apriori and does not form part of the measurement process. Hence the effective time-complexity is O(m log n) for algorithm3 and O(lm log n) for algorithm 4(for l iterations of the outer while loop).
Implementation and its results
The proposed two-stage methodology algorithms were programmed using MATLAB 2018a software in a PC with Intel © Core™ i5 3.0GHz(4cores) processor with 31.9 GB RAM. Implementations were executed for simulated profiles and practically measured data obtained by measuring two machined profiles.
Implementations for simulated profiles
Two open profiles and one closed profile are modelled using the NURBS formulation. Figure 5(a) to (c) show the control points and the corresponding profiles. The degree of the profiles is chosen as 2, 3 and 4, respectively. Supplemental Tables 1, 2 and 3 give the coordinates of the control points of the profiles.

Free-form profiles considered for implementations: (a) Free-form profile 1, (b) Free-form profile 2, and (c) Free-form profile 3.
Profile discretize and poles extract algorithm (algorithm 1) is implemented for all the three reference profiles to get their respective Pe’s (i.e. PeP1, PeP2 and PeP3). The minimum step size (i.e. Δm in the parametric domain) of 10−4 and the minimum pole angle (i.e. θmin) of 178° is considered during the implementation. The number of points (i.e. n) in the three Pe’s was 10,000. Later, the OBB and the dominant points for the Pe’s were computed using the OBB and dominant points compute algorithm (algorithm 2).
Simulation of measured profiles
During the manufacturing processes, errors are bound to occur due to which the manufactured profiles deviate from the reference profile. Apart from this, errors also add up during the measurement process. In the case of free-form profiles, these errors are classified as profile errors and random errors. Similar to the authors’ previous work, 42 in this work, the profile errors and random errors are simulated as follows:
Inducing profile errors: The control points (b) of the profile are perturbed by adding random numbers to get a new set of points (bper). Later, a new discrete profile (Dper) is generated using bper. For the free-form profiles mentioned previously, the control points of each of the profiles are perturbed by adding random numbers having 0 mean and 0.05 mm standard deviation. Later three Dper’s (i.e. Dper_P1, Dper_P2 and Dper_P3) having 1000, 1250 and 2000 points (respectively) are generated using their respective bper’s.
Inducing random errors: Each point of Dper is randomly perturbed (along its normal direction). For each the three Dper’s, corresponding random number arrays (having 0 mean and 0.01 mm standard deviation and following Gaussian distribution) is generated. Each random number arrays have 1000, 1250 and 2000 random numbers corresponding to Dper_P1, Dper_P2 and Dper_P3, respectively. Later the Dpers are perturbed by their corresponding random number arrays.
Furthermore, Dper_P1 is rotated by 124°, Dper_P2 is rotated by 92°, and Dper_P3 is rotated by 82° (all in the anti-clockwise direction) to get three sets of simulated measured point-sets (M).
Coarse registration and profile error estimation
The simulated measured point-sets (i.e. M’s) are roughly aligned with their corresponding Pe’s using the Coarse registration and fine-tuning algorithm (algorithm 3) to get their corresponding coarsely registered measured point-sets (i.e. Mc). Figure 6 shows the results of the implementation of algorithm 3 for simulated profiles, whereas Table 1 shows the reduction in the MSD values after coarse registration.

Implementation of Coarse registration and fine-tuning algorithm for simulated profiles (algorithm 3): (a) Free-form profile 1, (b) Free-form profile 2 and (c) Free-form profile 3.
Implementation results of stage B of the methodology for simulated profiles θmin = 178°,
After implementing algorithm 3, each of the Mc’s (corresponding to free-form profiles 1, 2 and 3) are fine registered with PeP1, PeP2 and PeP3 using the Fine registration and profile error estimation algorithm (algorithm 4). During each iteration of algorithm 4 (ICP based method), the profile error and the corresponding point-set, respectively (containing the projection of Mci on C(u)), were estimated using both PCP (
Later the values of both
Comparison of Execution time per iteration (ET/iter) for simulated profiles.
Implementations for practically measured profiles
Two airfoil coordinate data, that is Gottingen 404 (GOE404) and Martin Hepperle 42 (MH42), were selected from the University of Illinois at Urbana-Champaign (UIUC) airfoil database. 46 The NURBS representations of the coordinate data were obtained using the online converter provided by Flusur. 47 The degree of these (in IGES format) profiles is three. The control points of both the profiles are extracted using Rhino 7 software (trial version). Figure 7(a) and (b) graphically depict the control points corresponding to GOE404 and MH42 profiles. In the case of MH42, the starting and the ending control points are modified to avoid sharp corners. Later, a 2.5D surface (using Solidworks 2019 software) is modelled using the continuous profiles of GOE404 and MH42, respectively. Supplemental Figures 9 and 10 show the corresponding CAD models.

2D Free-form NURBS profiles of airfoils: (a) 2D Profile of GOE404 and (b) 2D Profile of MH42.
GOE404 model was machined using the Jyothi Kmill8 CNC machine (Figure 8(a)). This is a 3-axis vertical machining centre (VMC). MH42 model was realized through Wire Electric Discharge Machining (WEDM) (Figure 8(b)) accomplished using Electronica SRP EDM machine. Supplemental Tables 6 and 7 show the process parameters of both the machining processes.

Manufacturing of the airfoils: (a) Machining of GOE404 and (b) Machining of MH42 using wire EDM.
Similar to the simulated profiles, algorithm 1 is used to extract the discrete profile for both GOE404 and MH42 profiles (i.e. PeGOE404, PeMH42). The parameter values, that is, Δm and θmin, are 10−4 and 178°, respectively. The number of points (i.e. n) was 10,000 in PeGOE404 and PeMH42. Later, the OBB and the dominant points for PeGOE404 and PeMH42 were computed using the OBB and algorithm 2 was implemented to get the OBB and dominant points of PeGOE404 and PeMH42.
The machined components are measured using GE PheonixVtome-XS240 Computed Tomography (CT) scanner (Figure 9(a)). The micro head of the CT-scanner is used for scanning purposes. The volumetric data acquisition and reconstruction were accomplished using the Pheonix dataosx software. Supplemental Table 8 shows the parameters considered during the measurement process.

Measurement of airfoil profiles using a non-contact (CT) scanner: (a) GE CT-scanner used for measurement purpose, (b) STL model of GOE404 and (c) STL model of MH42.
VG studio 2.2 software was later used to process the CT scanner’s voxel data and STL model extraction. The STL models (both GOE404 and MH42) were sliced at three cross-sections using Meshlab software 48 (Figure 9(b) and (c)). The points along the sliced sections were considered as the measured point-set (Mc), and the proposed methodology is implemented for these measured point-sets.
The measured point-sets (Mc) of both GOE404 and MH42 are coarsely registered with PeGOE404 and PeMH42. Figure 10(a) shows the implementation of algorithm 3 for cross-section 2 of GOE404, and Figure 10(b) illustrate the same for MH42. Table 3(a) and (b) show the implementation results of algorithm 3 for both GOE404 and MH42 profiles.
Implementation results of stage B of the methodology for practically measured profiles θmin = 179°,

Implementation of Coarse registration and fine-tuning algorithm for practically measured profiles (algorithm 3): (a) GOE 404 and (b) MH42 (Cross-section 2).
Similar to the simulated profiles (as mentioned in sec. 4.1.2), algorithm 4 is implemented for all the Mc’s. The corresponding profile error estimates (i.e.
Comparison of execution time per iteration (ET/iter) for practically measured profiles.
Discussion
From Figures 6 and 10, it is observed that for both simulated and practically measured profiles, the Coarse registration and fine-tuning algorithm (algorithm 3) registers M with Pe within two steps. In Tables 1 and 3, it is observed that in all Mc’s, Mean Square Distance (MSD) significantly reduces upon implementing algorithm 3. In the case of the fine registration and profile error estimate algorithm (algorithm 4), as depicted in Supplemental Figures 8 and 11, the values of
In Supplemental Figures 8(a) and 11(a), the values of
Regarding the accuracy of PCP and VEAW techniques, dabs′ values are considered the evaluation parameter. As observed in Tables 1 and 3, in all the cases, the dabs are less than 1 µm (profile error in the scale of mm). Among
As observed in Tables 2 and 4, in all the cases, the ET/iter of the VEAW method is relatively higher. This is due to the excess time incurred for finding out the second nearest neighbour for each Mci
Conclusion
A framework consisting of two stages is proposed for profile error estimation of 2D free-form profiles measured using either a CMM (operated in continuous scanning mode) or a non-contact scanner. Coarse registration is executed using the discretized profile (Pe) extracted using algorithm 1 (based on the concept of poles and pole angles). Two profile error estimation techniques (i.e. PCP and VEAW) were proposed and combined with the ICP based fine registration (algorithm 4). Implementations were executed for simulated as well as practically measured profiles. In practical implementations, the measured point-sets (M) were extracted from the CT scan data of two machined airfoil profiles (i.e. GOE404 and MH42). The summary of the implementations are as follows:
The OBB and dominant-points based coarse registration and fine-tuning algorithm align the measured point-sets within a few steps.
The results of validation (using the point-inversion method) of PCP and VEAW techniques illustrate that the VEAW technique is more accurate.
The proposed framework is at least 2.3x times (56%) faster than the point-inversion method.
Since the effective time-complexity is O(lm log n), this method can be considered a fast and accurate alternative to the point-inversion method. It can be used in the in-situ inspection of machined profiles accomplished using touch probes or vision-based systems associated with modern CNC machines. The future scope is to extend the method for 3D surfaces, partial scans of measured data and free-form objects represented as point-clouds and unstructured meshes. Moreover, the accuracy of the profile error estimation can be improved (with a relatively lower density of discretized profile) through new interpolation techniques that use the structure of the Voronoi diagram.
Supplemental Material
sj-docx-1-pib-10.1177_09544054221138173 – Supplemental material for A Voronoi diagram based framework for fast and accurate evaluation of 2D free-form profile errors
Supplemental material, sj-docx-1-pib-10.1177_09544054221138173 for A Voronoi diagram based framework for fast and accurate evaluation of 2D free-form profile errors by Hari Ganesh S and GL Samuel in Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture
Footnotes
Appendix
Acknowledgements
The authors thank the people of the Center for Nondestructive Evaluation (CNDE) for the provision of the CT scanner.
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article.
Supplemental material
Supplemental material for this article is available online.
References
Supplementary Material
Please find the following supplemental material available below.
For Open Access articles published under a Creative Commons License, all supplemental material carries the same license as the article it is associated with.
For non-Open Access articles published, all supplemental material carries a non-exclusive license, and permission requests for re-use of supplemental material or any part of supplemental material shall be sent directly to the copyright owner as specified in the copyright notice associated with the article.
