MPCR-Net: Multiple Partial Point Clouds Registration Network Using a Global Template

With advancements in photoelectric technology and computer image processing technology, the visual measurement method based on point clouds is gradually being applied to the 3D measurement of large workpieces. Point cloud registration is a key step in 3D measurement, and its registration accuracy directly affects the accuracy of 3D measurements. In this study, we designed a novel MPCR-Net for multiple partial point cloud registration networks. First, an ideal point cloud was extracted from the CAD model of the workpiece and used as the global template. Next, a deep neural network was used to search for the corresponding point groups between each partial point cloud and the global template point cloud. Then, the rigid body transformation matrix was learned according to these correspondence point groups to realize the registration of each partial point cloud. Finally, the iterative closest point algorithm was used to optimize the registration results to obtain the final point cloud model of the workpiece. We conducted point cloud registration experiments on untrained models and actual workpieces, and by comparing them with existing point cloud registration methods, we verified that the MPCR-Net could improve the accuracy and robustness of the 3D point cloud registration.


Introduction
Technical advances and market competition have pushed manufacturing companies to offer larger and more precise machine parts. This trend calls for 3D measurement systems with higher measuring efficiency and accuracy [1,2]. The visual measurement method based on point cloud data has the advantages of possessing high measurement speed and accuracy, and no contact with the workpiece; thus, it has gradually been applied to the 3D measurement of large workpieces.
3D point cloud reconstruction involves obtaining a series of partial point clouds of a workpiece under multiple poses using a 3D measuring device and then fusing these point clouds to generate a complete 3D point cloud of the workpiece [3,4]. The accuracy and reliability of 3D reconstruction directly affect the accuracy of the measurement.
A key step in point cloud 3D reconstruction is establishing a partial or global reconstruction model of the workpiece through a series of processing steps such as point cloud denoising, point cloud registration, and surface reconstruction. The purpose of point cloud registration is to move point clouds with different poses to the same posture through rigid body transformation to eliminate the misalignment between pairwise point clouds [5].
In the field of 3D reconstruction, the vast majority of point cloud registration methods concern multiple partial point cloud registration [6], the basic principle of which is to reduce or eliminate the cumulative error of the 3D reconstruction by minimizing the registration error between partial point clouds under multiple poses, thereby improving the reconstruction accuracy. However, traditional point cloud registration methods, such as the turntable method [7] and the labeling method [8], are handcrafted methods with disadvantages such as low efficiency, high requirements for equipment accuracy, and missing point clouds in labeled areas.
With the development of deep learning technology and a greater number of publicly available datasets for point cloud models, many scholars have attempted to use deep learning methods to achieve point cloud registration and verify its effectiveness through experiments. However, to reduce computational complexity and improve the efficiency of 3D reconstruction, the existing deep learning-based point cloud registration methods often degenerate the multiple partial point cloud registration problem into a pairwise registration problem [9]. Then, by optimizing the relative spatial pose between the pairwise partial point clouds, the final reconstruction model of the workpiece is constructed based on the pairwise registration results.
However, due to the camera pose and environmental limitations, it is often impossible to ensure a sufficient overlap area between the pairwise point clouds. If the relationship between the partial point clouds and the overall structure of the workpiece is ignored, only the registration of partial point clouds is performed. This will increase the difficulty of point cloud registration, reduce the registration accuracy, and increase the final 3D reconstruction error.
The following are the remaining gaps in point cloud registration algorithms that need to be addressed:

1.
Some algorithms require the structures of pairwise point clouds to be the same. If the geometric structures of the pairwise point clouds are quite different, the registration accuracy will decrease; 2.
Some algorithms can complete the registration of two partially overlapping point clouds through partial-to-partial point-cloud registration methods. However, these methods rely on the individual training of specific partial data of the point cloud to establish the correspondence point relationship between the pairwise point clouds. Moreover, the registration accuracy is very sensitive to changes in the points.
From the above analysis, it can be concluded that existing deep learning-based point cloud registration methods can only be used for scene reconstruction and other occasions with low accuracy requirements. They are not suitable for the 3D reconstruction of large workpieces with high accuracy requirements. To solve this problem, we propose a multiple partial point cloud registration network using a global template named MPCR-Net.
MPCR-Net was inspired by PointNet [10]. It uses deep neural networks to extract and fuse the learnable features of partial point clouds and the global template point cloud. It then trains the rigid body transformation matrix for partial point clouds to register the correspondence partial point cloud to the global template point cloud and finally forms a complete point cloud of the workpiece. In MPCR-Net, the partial point cloud has the characteristics of a local geometric structure of the workpiece and is sampled by the measuring device; the global template point cloud has the complete geometric structure of the workpiece and is converted from the CAD model of the workpiece.
The key contributions of our work are listed as follows:

1.
A multiple partial point cloud registration method based on a global template is proposed. Each partial point cloud is gradually registered to the global template in patches, which can effectively improve the accuracy of the point cloud registration.

2.
A clipping network for the global template point cloud, TPCC-Net (clipping network for template point cloud), was designed. In TPCC-Net, the features of partial point clouds and the global template point cloud are extracted and fused through a neural network, and the correspondence points of each partial point cloud are cut out from the global template point cloud. Compared to the existing registration algorithm based on deep learning, this method can reduce the correspondence point estimation error and improve registration efficiency.

3.
A parameter estimation network for rigid body transformation, TMPE-Net (parameter estimating network for transformation matrix), was designed. The learnable features of a partial point cloud and its correspondence points generated through the TPCC-NET were extracted through a neural network, and the parameters of the rigid body transformation matrix were estimated to minimize the learnable feature gap between the partial point cloud and the global template point cloud.
The ICP algorithm [11,12] represents a major milestone in point cloud registration and is extensively applied in various ways. The essence of ICP is to minimize the sum of the distances between correspondence points of pairwise point clouds using iterative calculations, thereby optimizing the relative pose of the pairwise point clouds. When the relative pose deviation of the pairwise point clouds is small, the algorithm is guaranteed convergence and can obtain an excellent registration result. Scholars have made various improvements to the ICP algorithm to enhance registration efficiency [16] and accuracy [17][18][19]. However, all ICP-style algorithms still rely on the direct calculation of the closest point correspondences; moreover, they cannot dynamically adjust according to the number of points and easily fall into local minima.
The workflow of geometry-based registration algorithms is as follows: calculate the geometric feature descriptors between pairwise point clouds [25], determine the correspondence relationship of the pairwise point clouds according to the similarity of the descriptors, and calculate the optimal matrix for rigid body transformation between the pairwise point clouds. Random-sample-consistency-based registration algorithms [20], such as the sample consensus initial alignment (SAC-IA) [24], are the most widely used geometry-based registration algorithms. In SAC-IA, the correspondence points are established by calculating the local fast point feature histograms (FPFH) of the pairwise point clouds, and registration is subsequently accomplished by minimizing the distance between correspondence points. The algorithm can achieve invariance to the initial pose, and a satisfactory registration result can still be obtained when the overlap in the pairwise point clouds is low.
Unfortunately, the registration results of the geometry-based registration algorithms mainly depend on the calculation accuracy of the geometric feature descriptors between pairwise point clouds. It is necessary to manually adjust the calculation parameters involved in the geometric feature descriptor, such as the neighborhood radius of the FPFH descriptor, to minimize calculation errors and improve registration accuracy. This method consumes a significant amount of time, and it is not easy to determine its optimal parameters.

Deep Learning-Based Registration Algorithms
Recent studies have shown that point cloud registration algorithms based on deep learning have higher registration accuracy than classic point cloud registration algorithms [26][27][28][29][30].
Charles et al. [10] proposed an end-to-end deep neural network (PointNet) that could directly take point clouds as a network input. PointNet overcomes the shortcomings of general deep learning methods that cannot effectively extract features from unstructured point clouds, and it establishes a learnable structured representation method for unstructured point clouds. PointNet and its variants have been successfully applied in point cloud classification, object detection [31], and point cloud completion tasks [32].
In point cloud registration tasks, some deep learning algorithms use the PointNet architecture to obtain the learnable structural features of the unstructured point clouds, train rigid body transformation matrices for point cloud registration based on these features, and obtain satisfactory point cloud registration results.
PointNetLK [33] is the first deep learning-based algorithm to use a learnable structured representation method for point cloud registration. PointNetLK modifies the classical Lucas and Kanade (LK) algorithm [34] to circumvent the inherent inability of the PointNet representation to accommodate gradient estimates through convolution. This modified LK framework is then unrolled as a recurrent neural network in which PointNet is integrated to construct the PointNetLK architecture. However, PointNetLK and similar algorithms, such as the DCP [35], DeepGMR [36], and PCRNet [37], work on the assumption that all the points in the point clouds are inliers by default. Naturally, they perform poorly when one of the point clouds has missing points, as in the case of partial point clouds.
Unfortunately, in actual point cloud 3D reconstruction tasks, it is rare for the geometric structures of pairwise point clouds to be the same, especially for large workpieces. Each raw point cloud collected by the measuring device can only map the local structure of the workpiece.
A class of point cloud registration algorithms, PRNet [38] and RPM-Net [39], which also contain the PointNet architecture, can handle partial-to-partial point cloud registration. Their application range is wider than that of PointNetLK and other algorithms that can only perform global point cloud registration. Unfortunately, these algorithms do not scale well when the number of points increases. If the number of points of the pairwise point clouds differs significantly, the estimation result of the rigid body transformation matrix will fluctuate with the number of points, resulting in a decrease in registration accuracy.
Other deep learning-based algorithms, such as the DGR [40] and multi-view registration network [41], can use neural networks to filter out some outliers from the correspondence points of pairwise point clouds, but these algorithms require a clear correspondence between the pairwise point clouds.

Overview
Most existing deep learning-based partial-to-partial point cloud registration algorithms iteratively perform registration between partial point clouds to realize the registration between multiple partial point clouds, before finally building a complete reconstruction model of the workpiece. However, when the overlapping area between the pairwise partial point clouds is small, the registration accuracy cannot be guaranteed, and a large 3D reconstruction error accumulates after the iterative registration of multiple partial point clouds.
We propose MPCR-Net, a multiple partial point cloud registration network, which uses a global template to improve the registration accuracy of a large workpiece. In this network, the template point cloud extracted from a CAD model is used as the global registration template, and multiple partial point clouds are gradually pasted onto the global template; the relative poses of partial point clouds and the template point clouds are subsequently optimized to obtain a fully registered point cloud of all the partial point clouds. Compared with existing registration algorithms, the MPCR-Net can guarantee the overlap rate between the pairwise point clouds (the partial point cloud can be approximately regarded as a subset of the template point cloud), thus reducing the registration difficulty and error.
MPCR-Net mainly comprises TPCC-Net and TMPE-Net. TPCC-Net uses a deep neural network to extract and merge the features of a partial point cloud and the global template point cloud; it then "cuts out" a correspondence partial template point cloud in the global template point cloud. TMPE-Net merges the features of partial point clouds and the correspondence partial template point clouds, then iteratively learns the optimal rigid body transformation matrix.
As shown in Figure 1, the overall workflow of the MPCR-Net is as follows: 1. Suppose there are n partial point clouds S 1 , . . . , S n and a global template point cloud T, S 1 , . . . , S n and T are used as the inputs of TPCC-Net. In the TPCC-Net, the feature matrices F(S 1 ), . . . , F(S n ) of S 1 , . . . , S n and F(T) of T are obtained through the point cloud feature perceptron, respectively; 2.
The dimension of F 1 , . . . , F n is reduced through the transformation parameter perceptron and output the transformation parameter vectors Z 1 , . . . , Z n , and the rigid body transformation matrixes G 1 , . . . , G n are constructed according to Z 1 , . . . , Z n ; 6.
Rigid body transformations are performed on S 1 , . . . , S n according to transformation matrices G 1 , . . . , G n , and the above steps are repeated iteratively to calculate G 1 , . . . , G n until G 1 , . . . , G n meet the stop condition C; then, all the iteration results are combined to construct the optimal rigid body transformation matrix G 1 , . . . , G n ; 7.
G 1 , . . . , G n is used to register S 1 , . . . , S n to T, and the ICP algorithm optimizes the registration results to obtain point clouds W 1 , . . . , W n . W 1 , . . . , W n are adjusted to the same coordinate system and obtain a fully registered point cloud W spliced by W 1 , . . . , W n . Subsequent 3D reconstruction tasks, such as surface reconstruction, can be performed based on W .

Mathematical Formulation
Suppose that the index of a partial template point cloud T i corresponding to the partial point cloud S i in the global template point cloud T is M i ; then where the operator ⊗ is used to represent the process of estimating T i in T. The symbol ∅ : R N×3 → R N×K represents the extraction operation of the global features of a point cloud. For example, ∅(P) means to transform point cloud P into a K-dimensional global feature vector.
Assuming that S i can be registered to T completely, then S i and T have similar global features of the point cloud, that is: In Equation (2), R ∈ R 3×3 and t ∈ R N y ×3 are the rotation and translation matrices used in the registration, respectively. The pose relationship between S i and T is uncertain before registration, that is, the values of R and t are unknown; therefore, we temporarily ignore the influence of R and t and use Equation (3) to establish a weaker condition to relate S i to T i : that is, Equation (4) indicates that the point clouds T and S i input to the TPCC-Net are linked together through the index M i , and all correspondence points that are similar to the features of S i can be determined from T. We assume that M i can be calculated by operation f (·); then: The search for correspondence points is to learn the index M i by training the TPCC-Net and then cutting out the correspondence point set T i of S i from the global template point cloud T according to M i . We consider estimating M i by fusing the point cloud features of T and S i . Appl

( )
where the operator ⊗ is used to represent the process of estimating i T′ in T .

Working Process
TPCC-Net is divided into three main functional blocks. Taking the correspondence point estimation process of S i as an example, the working process of TPCC-Net is as follows.

1.
Extract and fuse point cloud features a. Suppose point clouds S i and T contain N x and N y data points, respectively, and N x < N y . Input S i and T to the point cloud feature perceptron; it consists of five multi-layered perceptrons (MLPs), similar to PointNet. The dimensions of S i and T are both increased to 1024 after the convolution processing of the point cloud feature perceptron. Afterward, generate the feature matrices F(S i ) ∈ R N y ×1024 and F(T) ∈ R N x ×1024 of S i and T. Weights are shared between the MLPs used for S i and T. b.
Use the max-pooling function to downsample F(S i ) to generate a global feature vector ∅(S i ) corresponding to S i . c.
Join ∅(S i ) and F(T) to build a point cloud fusion feature Construct the index vector a. Input F i to the indexed feature perceptron; the dimension of F i is reduced to one, and the index feature M ∈ R N x ×1 is then output. b.
Use the Tanh activation function to normalize M to construct the index vector M ∈ R N x ×1 .

3.
Predict the correspondence points a.
Encode all data points in T to construct the index M T ∈ R N x ×2 . b. Filter out the first N y elements close to zero from the index vector M ∈ R N x ×1 to form the index element vector M ∈ R N y ×1 . c.
Find the address of the above N y elements in M to construct the index M ∈ R N y ×2 . d.
M ∈ M T , according to each index in M ; the elements corresponding to the index in M are extracted from the global template point cloud T, and all the extracted elements in T are combined to construct the estimated correspondence point set T i of S i in T. The correspondence point estimation process is shown in Figure 3, where the purple part is the correspondence point set T i . Figure 3. The estimating process of the correspondence points.

TMPE-Net
Assuming that R and t can be calculated by operation ( ) Similar to PointNetLK [33], in the TMPE-Net, we directly estimate R and t by fusing the point cloud features of i T′ and i S , and further optimize R and t by iteration i S .

Network Architecture
As shown in Figure 4, TMPE-Net mainly includes a point cloud feature perceptron, pooling layer, and transformation parameter perceptron. The architecture of the point cloud feature perceptron is the same as that of TPCC-Net. The architecture of transformation parameter perceptron is also similar to that of TPCC-Net, which consists of three convolutional layers of sizes 2048-1024, 1024-512, and 512-256, and two fully connected layers of sizes 256-128 and 128-7. Its main function is to estimate R and t .

Mathematical Formulation
Suppose that S i can be fully registered to T through a rigid body transformation; then the global features of the point clouds of S i and T i are similar, where T i is the corresponding point set of T that is generated through TPCC-Net. Assuming that the rotation matrix and the translation vector used in the rigid body transformation are R ∈ R 3×3 and t ∈ R N y ×3 , respectively, then: Assuming that R and t can be calculated by operation H(·), then Similar to PointNetLK [33], in the TMPE-Net, we directly estimate R and t by fusing the point cloud features of T i and S i , and further optimize R and t by iteration S i .

Network Architecture
As shown in Figure 4, TMPE-Net mainly includes a point cloud feature perceptron, pooling layer, and transformation parameter perceptron. The architecture of the point cloud feature perceptron is the same as that of TPCC-Net. The architecture of transformation parameter perceptron is also similar to that of TPCC-Net, which consists of three convolutional layers of sizes 2048-1024, 1024-512, and 512-256, and two fully connected layers of sizes 256-128 and 128-7. Its main function is to estimate R and t. Transformation Parameter Perceptron

Estimate the rigid body transformation
In TMPE-Net, we estimate the rigid body transformation matrix through iterative training, and the process is as follows:

Working Process
Taking the rigid body transformation of S i as an example, TPCC-Net works as follows: 1. Extract and fuse the global feature vector of point clouds a. Input S i ∈ R N y ×3 and its corresponding point set T i ∈ R N y ×3 into point cloud feature perceptron; then, the dimensions of S i and T i are both increased to 1024, and the feature matrices F(S i ) ∈ R N y ×1024 and F(T i ) ∈ R N y ×1024 of S i and T i are generated. The weights of all convolutional layers in the point cloud feature perceptron are shared for S i and T i . b.
Use the max-pooling function to downsample F(S i ) and F T i to construct the global feature vectors ∅(S i ) ∈ R 1×1024 and ∅ T i ∈ R 1×1024 that correspond to S i and T i , respectively. c.
Join ∅(S i ) and F T i to build a global fusion feature F i ∈ R N x ×2048 of the point clouds.

Construct the parameter vector
Input F i to the transformation parameter perceptron and the dimension of F i is reduced to seven; then, output the transformation parameter vector Z ∈ R 1×7 .

Estimate the rigid body transformation
In TMPE-Net, we estimate the rigid body transformation matrix through iterative training, and the process is as follows: Suppose that the rigid body transformation matrix has been iteratively calculated m times, and parameter vector Z j can be obtained in the j-th (j ∈ [1, m]) iteration. Assuming that Z j = a 0 a 1 a 2 a 3 a 4 a 5 a 6 , we use the first four elements (a 0 , . . . , a 3 ) in Z j to construct the rotation matrix R j [43]: We then use the last three elements (a 4 , . . . , a 6 ) in Z j to construct the translation vector t j : t j = a 4 a 5 a 6 (9) The rigid body transformation matrix estimated in one iteration is G j = R j , t j .
Suppose that the input partial point cloud of the j-th iteration is ([S i ]) j , and G j is the corresponding estimated rigid body transformation matrix for ([S i ]) j . Use G j to perform a rigid body transformation on ([S i ]) j to form a new partial point cloud ([S i ]) j+1 , and use to represent the rigid body transformation operation.
Input ([S i ]) j+1 to TMPE-Net for the (j + 1)-th iteration and output the rigid body transformation matrix G j+1 . Then, the difference ∆G between the results of two consecutive iterations is calculated.
In Equation (11),Ḡ j ∈ R 4×4 andḠ j+1 ∈ R 4×4 are the exponential mapping of G j and G j+1 respectively, which refer to the rigid body transformation matrix of two consecutive iterations. · represents the sum of squares of all elements of the matrix.
Set the minimum rigid body transformation threshold H G and the maximum number of iterations H N , and terminate the iterative training when ∆G ≤ H G or the current iteration number N ≥ H N . We assume that TMPE-Net performs m iteration calculations according to these conditions. Combine the rigid body transformation matrices from each iteration to obtain the final trained rigid body transformation matrix G .
If the total number of iterations is m, the final estimate G can be computed during the iterative loop: In Equation (12), ⊗ represents the combined operation of all the iterated rigid body transformation matrices. The iterative estimation process of the rigid body transformation matrix is shown in Figure 5.
The rigid body transformation matrix estimated in one iteration is Suppose that the input partial point cloud of the j-th iteration is [ ] ( ) In Equation (11), If the total number of iterations is m , the final estimate G′ can be computed during the iterative loop: In Equation (12), ⊗ represents the combined operation of all the iterated rigid body transformation matrices. The iterative estimation process of the rigid body transformation matrix is shown in Figure 5.

Loss Function
TPCC-Net uses the loss function Loss 1 to maximize the registration performance (i.e., the total number of correspondence points between the partial point clouds in the global template point cloud). In TMPE-Net, the loss function Loss 2 is the summation of two terms Loss a and Loss b . The objective of Loss a is to minimize the difference between the real rigid body transformation matrix g and the estimated rigid body transformation matrix G between the partial point clouds and corresponding partial template point clouds. The target of Loss b is to minimize the difference between the global feature vectors of the partial template point clouds T 1 , . . . , T n and partial point clouds S 1 , . . . , S n .
The mean square error (MSE) [44] is used to express the above loss function as follows: where · F represents the MSE between the internal elements calculated; ∅(T ) and ∅(S) represent the global feature vectors of the point cloud T and S, respectively; N TPCC is the number of correspondence points correctly estimated by the TPCC-Net in the global template point cloud, and N y is the number of points in the partial point cloud.

Preprocessing of Training Data
The original data used for training was the ModelNet40 [45] dataset, which contains 12468 CAD models in 40 categories. We randomly designated 20 categories of models as the training set and the other 20 categories of models as the test set. The creation process of a global template point cloud and a partial point cloud is illustrated in Figure 6.
The mean square error (MSE) [44] is used to express the above loss function as follows:

Preprocessing of Training Data
The original data used for training was the ModelNet40 [45] dataset, which contains 12468 CAD models in 40 categories. We randomly designated 20 categories of models as the training set and the other 20 categories of models as the test set. The creation process of a global template point cloud and a partial point cloud is illustrated in Figure 6. For each original point cloud in ModelNet40, the global template point cloud was obtained through voxel grid downsampling [46,47], consisting of 1024 data points.
The process of creating a partial point cloud was as follows: 1. Each initial partial point cloud contained 568 data points, which were "cut" from a global template point cloud using the farthest point sampling (FPS) [42] algorithm. 2. Gaussian noise of 0.0075 level to the initial partial point cloud was added to simulate the deviation of the coordinate value between the scanned data point and the data point in the global template point cloud under noisy conditions. 3. 284 outlier noise points were randomly added to the initial partial point cloud to simulate the disturbance of the scanned point cloud structure by environmental noise and sensor error. This increased the structural difference between the initial partial point cloud and the template point cloud. For each original point cloud in ModelNet40, the global template point cloud was obtained through voxel grid downsampling [46,47], consisting of 1024 data points.
The process of creating a partial point cloud was as follows: 1. Each initial partial point cloud contained 568 data points, which were "cut" from a global template point cloud using the farthest point sampling (FPS) [42] algorithm.

2.
Gaussian noise of 0.0075 level to the initial partial point cloud was added to simulate the deviation of the coordinate value between the scanned data point and the data point in the global template point cloud under noisy conditions. 3.
284 outlier noise points were randomly added to the initial partial point cloud to simulate the disturbance of the scanned point cloud structure by environmental noise and sensor error. This increased the structural difference between the initial partial point cloud and the template point cloud.

4.
A random rigid body transformation matrix was created, through which the initial partial point cloud was subjected to random rotation transformation (±45 • around each Cartesian coordinate axis) around the origin of the coordinate and a random translation transformation (±0.5 unit along each Cartesian coordinate axis) to obtain the partial point cloud.

Training Method
TPCC-Net and TMPE-Net were trained using transfer learning [43]. First, TPCC-Net was trained separately to obtain the optimal network model parameter P a , which means that TPCC-Net using parameter P a would perform the best on the test set. Then, using the model parameter P a as the pre-training model of TMPE-Net, the rigid body transformation matrix between the correspondence point set and the partial point cloud was iteratively trained and evaluated in the test set. Finally, the optimal network model parameter P b of TMPE-Net was obtained.

Experimental Environment
The software and hardware specifications used in the experiment are shown in Table 1.

Experiments Based on Untrained Models
We used untrained models in ModelNet40 to carry out correspondence point estimation and registration experiments, and explored the influence of correspondence points estimation accuracy, point cloud registration accuracy, and registration efficiency.

1.
Estimation accuracy The estimation accuracy of correspondence points refers to the proportion of correspondence points correctly estimated by the algorithm during the experiment to the actual number of correspondence points. Taking MPCR-Net as an example, the estimation process of TPCC-Net is as follows: Suppose the point clouds input into the network are partial point cloud A and global template point cloud B, and the point number of B is N B . Encode data points in B and extract the index addresses M True ∈ R N x ×2 of all correspondence points of A and B. Input A and B to TPCC-Net to estimate the index address M ES ∈ R N x ×2 . Count the number of elements that are the same in M True and M ES , and denote it as N ES . The actual number of correspondence points is equal to N B ; thus, the estimation accuracy of correspondence points of TPCC-Net is: 2.

Registration error
Rigid body transformation is composed of translation and rotation transformations. The registration error is subdivided into rotation and translation transformation errors. The registration error is calculated as follows: Suppose the actual rotation angle of the partial point cloud relative to the template point cloud in the three Cartesian coordinate axis directions is R = {α, β, γ}, and the actual translation distance is t = {d 0 , d 1 , d 2 }. Input the global template point cloud and the corresponding point set of the partial point cloud in the global template point cloud into TMPE-Net and estimate the parameter vector Z = a 0 a 1 a 2 a 3 a 4 a 5 a 6 .
Elements a 0 , . . . , a 3 in Z represent the four parameters for the quaternion rotation matrix. The rotation Euler angles in the three directions corresponding to the parameter vector can be obtained according to the relationship between the quaternion rotation matrix and the Euler angle rotation matrix: 2arcsin(a 0 a 2 − a 3 a 1 ) arctan 2(a 0 a 3 +a 1 a 2 ) 1−2(a 2 2 −a 3 2 ) Calculate the mean absolute error ∆R between R and R: ∆R is the rotation transformation error of TMPE-Net. Elements a 4 , a 5 , a 6 in Z represents the translation distance t = {a 4 , a 5 , a 6 } of the partial point cloud relative to the template point cloud in the three directions estimated by TMPE-Net, and the average absolute difference ∆t between t and t is calculated as follows: ∆t is the translation transformation error of TMPE-Net.

Evaluation of work efficiency
We consider the correspondence point search between partial point clouds and the template point cloud as the preparation stage for the point cloud registration, and the total time of the correspondence point estimation and rigid body transformation matrix calculation (registration) is used to measure the efficiency of the point cloud registration.

Correspondence Point Estimation
We used deep learning-based algorithms such as MPCR-Net, PRNet, and RPM-Net, which have correspondence point estimation and point cloud local registration functions, to carry out the correspondence point estimation experiments.
In the experiment, each global template point cloud contained 1024 data points and was sampled from each original point cloud model in the ModelNet40 dataset through the voxel grid downsampling [44][45][46] algorithm. The process of creating a partial point cloud was as follows: 1.
Using the FPS algorithm, the initial partial point cloud was sampled from the global template point cloud according to a sampling ratio of 0.05 to 0.95; the sampling ratio refers to the ratio of the data volume of the initial partial point cloud to the global template point cloud.

2.
The initial local point cloud was rotated by 20 • around the three Cartesian coordinate axes with the coordinate origin as the center and translated 0.5 units along the three coordinate axes to obtain the local point cloud.
Taking the chair model in the ModelNet40 dataset as an example, its creation process of the global template point cloud, the initial partial point cloud, and the partial point cloud is shown in Figure 7, where the correspondence point estimation experiment was carried out under the condition that the proportion of correspondence points was 0.5. The green part is a global template point cloud that contained 1024 data points, the orange part is the initial partial point cloud that contained 512 data points sampled from the template point cloud at a sampling ratio of 0.5, and the blue part is the partial point cloud obtained after the initial partial point cloud was rotated and translated. Taking the chair model as an example, when the proportion of correspondence points was 0.5, the accuracy of estimation of MPCR-Net, PRNet, and RPM-Net algorithms are shown in Figure 8, where green parts are the global template point clouds, and purple parts are the correspondence points estimated by three algorithms, respectively.
The distribution of these estimated correspondence points and the initial partial point cloud (Figure 8c) in the global template point cloud were compared. The closer two distributions are, the more correspondence points are correctly estimated, and the higher the estimation accuracy p of the correspondence point estimation.
Under the condition that the proportion of correspondence points was 0.05 to 0.95, estimation experiments were performed on all models in the test set. Then, the average estimation accuracy of the correspondence point of the three algorithms was calculated.
of the global template point cloud, the initial partial point cloud, and the partial point cloud is shown in Figure 7, where the correspondence point estimation experiment was carried out under the condition that the proportion of correspondence points was 0.5. The green part is a global template point cloud that contained 1024 data points, the orange part is the initial partial point cloud that contained 512 data points sampled from the template point cloud at a sampling ratio of 0.5, and the blue part is the partial point cloud obtained after the initial partial point cloud was rotated and translated.  The distribution of these estimated correspondence points and the initial partial point cloud (Figure 8c) in the global template point cloud were compared. The closer two distributions are, the more correspondence points are correctly estimated, and the higher the estimation accuracy p of the correspondence point estimation.
Under the condition that the proportion of correspondence points was 0.05 to 0.95, estimation experiments were performed on all models in the test set. Then, the average estimation accuracy of the correspondence point of the three algorithms was calculated.
As shown in Figure 9, the average estimation accuracy of the corresponding points of the three algorithms increased as the proportion of correspondence points increased. However, as the proportion of correspondence points decreased, the accuracy gap between PRNet, RPM-Net, and MPCR-Net gradually widened. When the proportion of correspondence points was 0.95, the estimation accuracies of the correspondence points of the PRNet and RPM-Net were 26.0% and 8.0% lower than that of MPCR-Net, respectively, and when the proportion of correspondence points was 0.05, the estimation accuracies of correspondence points of PRNet and RPM-Net were 86.9% and 91.2% lower than that of MPCR-Net, respectively. This indicates that compared to the PRNet and RPM-Net algorithms, the MPCR-Net algorithm proposed in this paper can effectively improve As shown in Figure 9, the average estimation accuracy of the corresponding points of the three algorithms increased as the proportion of correspondence points increased. However, as the proportion of correspondence points decreased, the accuracy gap between PRNet, RPM-Net, and MPCR-Net gradually widened. When the proportion of correspondence points was 0.95, the estimation accuracies of the correspondence points of the PRNet and RPM-Net were 26.0% and 8.0% lower than that of MPCR-Net, respectively, and when the proportion of correspondence points was 0.05, the estimation accuracies of correspondence points of PRNet and RPM-Net were 86.9% and 91.2% lower than that of MPCR-Net, respectively. This indicates that compared to the PRNet and RPM-Net algorithms, the MPCR-Net algorithm proposed in this paper can effectively improve the estimation accuracy of the correspondence point, especially when the proportion of correspondence points is low. of the PRNet and RPM-Net were 26.0% and 8.0% lower than that of MPCR-Net, respectively, and when the proportion of correspondence points was 0.05, the estimation accuracies of correspondence points of PRNet and RPM-Net were 86.9% and 91.2% lower than that of MPCR-Net, respectively. This indicates that compared to the PRNet and RPM-Net algorithms, the MPCR-Net algorithm proposed in this paper can effectively improve the estimation accuracy of the correspondence point, especially when the proportion of correspondence points is low.

Point Cloud Registration
To explore the influence of the proportion of correspondence points on the accuracy of point cloud registration, we used the MPCR-Net, PRNet, and RPM-Net algorithms to perform point cloud registration experiments.

Point Cloud Registration
To explore the influence of the proportion of correspondence points on the accuracy of point cloud registration, we used the MPCR-Net, PRNet, and RPM-Net algorithms to perform point cloud registration experiments.
The point cloud registration results of three algorithms on the chair model in the ModelNet40 dataset when the proportion of correspondence points is 0.5 are shown in Figure 10. The green parts are the template point cloud, and the red parts are the positions of the partial point cloud after registration by the three algorithms. R and t represent the calculation error of the rotation angle and the translation distance of each algorithm, respectively; the smaller the values of ∆R and ∆t are, the higher is the accuracy of point cloud registration. Under the condition that the proportion of correspondence points was 0.05 to 0.95, the registration experiment was performed on all models in the test set, and the average registration errors of the three algorithms were calculated. Figure 11a, b show the average calculation error of the rotation angle, and the average calculation error of the translation distance, respectively. The average calculation error of the rotation angle of the MPCR-Net is 23.8-72.8% smaller than that of the PRNet and 27.1-77.6% smaller than that of the RPM-Net. The average calculation error of the translation distance of the MPCR-Net is 27.0-90.9% smaller than that of the PRNet and 30.2-94.3% smaller than that of the RPM-Net. This indicates that the registration accuracy of the MPCR-Net is higher than that of the other two algorithms, especially when the proportion of correspondence points is low. Figure 11 shows that average calculation errors of the rotation angle and the translation distance are negatively correlated with the proportion of correspondence points, indicating that the point cloud registration accuracy decreases as the proportion of correspondence points decreases. This is because the coordinate information of the correspondence points directly participates in the calculation of the rigid body transformation matrix in the point cloud registration. Since the average estimation Under the condition that the proportion of correspondence points was 0.05 to 0.95, the registration experiment was performed on all models in the test set, and the average registration errors of the three algorithms were calculated. Figure 11a, b show the average calculation error of the rotation angle, and the average calculation error of the translation distance, respectively. The average calculation error of the rotation angle of the MPCR-Net is 23.8-72.8% smaller than that of the PRNet and 27.1-77.6% smaller than that of the RPM-Net. The average calculation error of the translation distance of the MPCR-Net is 27.0-90.9% smaller than that of the PRNet and 30.2-94.3% smaller than that of the RPM-Net. This indicates that the registration accuracy of the MPCR-Net is higher than that of the other two algorithms, especially when the proportion of correspondence points is low. Appl

Work Efficiency
As shown in Figure 12, under the condition that the proportion of correspondence points was 0.05 to 0.95, the average values of the total time for estimating the correspondence points and calculating the rigid body transformation matrix using the three algorithms for all models in the test set was recorded. Then, the values were used to measure the efficiency of the point cloud registration of the three algorithms.  Figure 12 shows that as the proportion of correspondence points increases, the average time of each algorithm rises; this is because the number of point cloud data to be processed increases. Furthermore, as the proportion of correspondence points increases, the time-consuming growth rate of the MPCR-Net is slightly lower than that of the PRNet and RPM-Net. This is because the MPCR-Net dynamically adjusts the iterations based on the rigid body transformation matrix difference calculated by two consecutive iterations. As the proportion of correspondence points increases, the iterations required to obtain the optimal rigid body transformation matrix gradually decrease, thereby reducing the time consumption.

Experiments with Actual Workpieces
We used the MPCR-Net to perform a point cloud registration experiment on actual workpieces and then generated the surface reconstruction models. Then, we evaluated the  Figure 11 shows that average calculation errors of the rotation angle and the translation distance are negatively correlated with the proportion of correspondence points, indicating that the point cloud registration accuracy decreases as the proportion of correspondence points decreases. This is because the coordinate information of the correspondence points directly participates in the calculation of the rigid body transformation matrix in the point cloud registration. Since the average estimation accuracy of the correspondence points of PRNet and RPM-Net is significantly lower than that of MPCR-Net, the average registration accuracy is also lower than that of MPCR-Net.
When the proportion of correspondence points changes from 0.95 to 0.05, the average calculation errors of the rotation angle of the MPCR-Net increase by 13.6 • , whereas the calculation errors of PRNet and RPM-Net increase by 29.7 • and 31.6 • , respectively. Simultaneously, the average calculation error of the translation distance also changes similarly. This indicates that, compared to the PRNet and RPM-Net algorithms, the MPCR-Net algorithm is more robust to changes in the number of correspondence points. When the correspondence point is low, the MPCR-Net algorithm can still maintain a high registration accuracy and effectively register two point clouds with a large difference in the amount of data.

Work Efficiency
As shown in Figure 12, under the condition that the proportion of correspondence points was 0.05 to 0.95, the average values of the total time for estimating the correspondence points and calculating the rigid body transformation matrix using the three algorithms for all models in the test set was recorded. Then, the values were used to measure the efficiency of the point cloud registration of the three algorithms. Figure 12 shows that as the proportion of correspondence points increases, the average time of each algorithm rises; this is because the number of point cloud data to be processed increases. Furthermore, as the proportion of correspondence points increases, the timeconsuming growth rate of the MPCR-Net is slightly lower than that of the PRNet and RPM-Net. This is because the MPCR-Net dynamically adjusts the iterations based on the rigid body transformation matrix difference calculated by two consecutive iterations. As the proportion of correspondence points increases, the iterations required to obtain the optimal rigid body transformation matrix gradually decrease, thereby reducing the time consumption.

Work Efficiency
As shown in Figure 12, under the condition that the proportion of correspondence points was 0.05 to 0.95, the average values of the total time for estimating the correspondence points and calculating the rigid body transformation matrix using the three algorithms for all models in the test set was recorded. Then, the values were used to measure the efficiency of the point cloud registration of the three algorithms.  Figure 12 shows that as the proportion of correspondence points increases, the average time of each algorithm rises; this is because the number of point cloud data to be processed increases. Furthermore, as the proportion of correspondence points increases, the time-consuming growth rate of the MPCR-Net is slightly lower than that of the PRNet and RPM-Net. This is because the MPCR-Net dynamically adjusts the iterations based on the rigid body transformation matrix difference calculated by two consecutive iterations. As the proportion of correspondence points increases, the iterations required to obtain the optimal rigid body transformation matrix gradually decrease, thereby reducing the time consumption.

Experiments with Actual Workpieces
We used the MPCR-Net to perform a point cloud registration experiment on actual workpieces and then generated the surface reconstruction models. Then, we evaluated the

Experiments with Actual Workpieces
We used the MPCR-Net to perform a point cloud registration experiment on actual workpieces and then generated the surface reconstruction models. Then, we evaluated the point cloud registration accuracy by detecting the deviations between surface reconstruction models and actual digital models. Finally, we compared with other point cloud registration algorithms, such as PR-Net and RPM-Net, to verify the effectiveness and advancement of MPCR-Net.

Data Sampling and Processing
Actual workpieces used in the reconstruction experiment were the egg-shaped pressure hulls [47], which were tailor-welded using multiple stainless steel plates with a thickness of 2 mm. All the egg-shaped pressure hulls were numbered a-i sequentially, as shown in Figure 13.

Data Sampling and Processing
Actual workpieces used in the reconstruction experiment were the egg-shaped pressure hulls [47], which were tailor-welded using multiple stainless steel plates with a thickness of 2 mm. All the egg-shaped pressure hulls were numbered a-i sequentially, as shown in Figure 13. The overall dimensions of the egg-shaped pressure hull 'a' are: longaxis L = 256mm and short-axis B = 180mm; the egg-shaped coefficient S = 0.69. The CAD model and the global template point cloud of the shell 'a' are shown in Figure 14.     Compared to the CAD model, the actual digital model includes machining errors. The generation process of the actual digital model of the hull 'a' is shown in Figure 17, and the details are as follows: 1. Paste labels on the surface of the painted hull 'a'.   Compared to the CAD model, the actual digital model includes machining errors. The generation process of the actual digital model of the hull 'a' is shown in Figure 17, and the details are as follows: 1. Paste labels on the surface of the painted hull 'a'.  Compared to the CAD model, the actual digital model includes machining errors. The generation process of the actual digital model of the hull 'a' is shown in Figure 17, and the details are as follows: 1.
Paste labels on the surface of the painted hull 'a'.

2.
Using scan steps similar to the process of obtaining partial point clouds of the egg-shaped pressure hull, obtain partial point clouds V 1 -V 7 of the hull at angles A 1 -A 7 , respectively. 3.
In the measurement software Optical RevEng 2.4, which is provided by the 3D scanner manufacturer, use the turntable method and the label method to register point clouds V 1 -V 7 , and use the ICP algorithm to fine-register the registration point clouds.

4.
Continuously adjust the fine registration point clouds manually according to the measurement results to make the registration point clouds closer to the hull.

5.
Perform surface reconstruction on the manually adjusted point clouds to obtain the actual digital model (Figure 17b) of hull 'a'.

Analysis of Registration Accuracy of Multiple Partial Point Clouds
Taking the egg-shaped pressure hull 'a' as an example, use MPCR-Net to register all the partial point clouds to the global template point cloud and the ICP algorithm to optimize the registration results. Then generate the full registered point cloud. Figure 18 shows the full registration point cloud ( Figure 18a) and its surface reconstruction model (Figure 18b) of hull 'a'. The above method is used to generate surface reconstruction models of all eggshaped pressure hulls a-i, and the registration accuracies can be indicated by detecting the surface contour deviation between surface reconstruction models and actual digital models. The contour deviation cloud maps of hulls a-i are shown in Figure 19; the smaller the deviation, the higher the registration accuracy.

Analysis of Registration Accuracy of Multiple Partial Point Clouds
Taking the egg-shaped pressure hull 'a' as an example, use MPCR-Net to register all the partial point clouds to the global template point cloud and the ICP algorithm to optimize the registration results. Then generate the full registered point cloud. Figure 18 shows the full registration point cloud ( Figure 18a) and its surface reconstruction model (Figure 18b) of hull 'a'.

Analysis of Registration Accuracy of Multiple Partial Point Clouds
Taking the egg-shaped pressure hull 'a' as an example, use MPCR-Net to register all the partial point clouds to the global template point cloud and the ICP algorithm to optimize the registration results. Then generate the full registered point cloud. Figure 18 shows the full registration point cloud ( Figure 18a) and its surface reconstruction model (Figure 18b) of hull 'a'. The above method is used to generate surface reconstruction models of all eggshaped pressure hulls a-i, and the registration accuracies can be indicated by detecting the surface contour deviation between surface reconstruction models and actual digital models. The contour deviation cloud maps of hulls a-i are shown in Figure 19; the smaller the deviation, the higher the registration accuracy. The above method is used to generate surface reconstruction models of all egg-shaped pressure hulls a-i, and the registration accuracies can be indicated by detecting the surface contour deviation between surface reconstruction models and actual digital models. The contour deviation cloud maps of hulls a-i are shown in Figure 19; the smaller the deviation, the higher the registration accuracy. The maximum positive deviation, maximum negative deviation, and the area ratio exceeding the distance tolerance 0.5mm ± of the surface contour between the surface reconstruction model and the actual digital model are denoted as indicators A, B, and C, respectively.
MPCR-Net, PRNet, and RPM-Net algorithms were used to perform surface reconstruction experiments on all egg-shaped pressure hulls a-i, and indicators A, B, and C were used to evaluate the reconstruction accuracy of three algorithms. The results are presented in Figure 20. As shown in Figure 20, the smaller the values corresponding to indicators A, B, and C are, the higher the registration accuracy is. Each bar represents the average registration accuracy of each algorithm under different indicators for hulls a-i, and each error bar indicates the distribution range of the indicator on hulls a-i.
For indicator A, the average maximum positive deviation of the MPCR-Net was 17.6% smaller than that of PRNet and 27.1% smaller than that of RPM-Net. For indicator B, the average maximum negative deviation of MPCR-Net is 18.2% smaller than that of PRNet and 28.0% smaller than that of RPM-Net. For indicator C, the area ratio exceeding the distance tolerance of MPCR-Net is 32.1% lower than that of PRNet and 42.4% lower The maximum positive deviation, maximum negative deviation, and the area ratio exceeding the distance tolerance ±0.5mm of the surface contour between the surface reconstruction model and the actual digital model are denoted as indicators A, B, and C, respectively.
MPCR-Net, PRNet, and RPM-Net algorithms were used to perform surface reconstruction experiments on all egg-shaped pressure hulls a-i, and indicators A, B, and C were used to evaluate the reconstruction accuracy of three algorithms. The results are presented in Figure 20. The maximum positive deviation, maximum negative deviation, and the area ratio exceeding the distance tolerance 0.5mm ± of the surface contour between the surface reconstruction model and the actual digital model are denoted as indicators A, B, and C, respectively.
MPCR-Net, PRNet, and RPM-Net algorithms were used to perform surface reconstruction experiments on all egg-shaped pressure hulls a-i, and indicators A, B, and C were used to evaluate the reconstruction accuracy of three algorithms. The results are presented in Figure 20. As shown in Figure 20, the smaller the values corresponding to indicators A, B, and C are, the higher the registration accuracy is. Each bar represents the average registration accuracy of each algorithm under different indicators for hulls a-i, and each error bar indicates the distribution range of the indicator on hulls a-i.
For indicator A, the average maximum positive deviation of the MPCR-Net was 17.6% smaller than that of PRNet and 27.1% smaller than that of RPM-Net. For indicator B, the average maximum negative deviation of MPCR-Net is 18.2% smaller than that of PRNet and 28.0% smaller than that of RPM-Net. For indicator C, the area ratio exceeding the distance tolerance of MPCR-Net is 32.1% lower than that of PRNet and 42.4% lower As shown in Figure 20, the smaller the values corresponding to indicators A, B, and C are, the higher the registration accuracy is. Each bar represents the average registration accuracy of each algorithm under different indicators for hulls a-i, and each error bar indicates the distribution range of the indicator on hulls a-i.
For indicator A, the average maximum positive deviation of the MPCR-Net was 17.6% smaller than that of PRNet and 27.1% smaller than that of RPM-Net. For indicator B, the average maximum negative deviation of MPCR-Net is 18.2% smaller than that of PRNet and 28.0% smaller than that of RPM-Net. For indicator C, the area ratio exceeding the distance tolerance of MPCR-Net is 32.1% lower than that of PRNet and 42.4% lower than that of RPM-Net. In summary, the performance of MPCR-Net for the accuracy indicators A, B, and C is better than that of PRNet and RPM-Net, indicating that MPCR-Net can provide higher registration accuracy for actual workpieces.

Conclusions
We designed a multiple partial point cloud registration network based on deep learning, called the MPCR-Net. MPCR-Net uses the global template point cloud converted from the CAD model of the workpiece to guide the registration of partial point clouds. All partial point clouds are registered to the global template point cloud through TPCC-Net and TMPE-Net in MPCR-Net, forming a fully registered point cloud of a workpiece. This can effectively reduce errors in multiple partial point cloud reconstruction.
Experiment results demonstrated that MPCR-Net has the following advantages: 1.
Using a global-template-based multiple partial point cloud registration method can fully guarantee the overlap rate between each partial point cloud and its corresponding partial template point cloud, thereby reducing the registration error and improving the point cloud reconstruction accuracy.

2.
Searching for correspondence points between partial point clouds and the global template point cloud through TPCC-Net does not require separate training for specific local data of point clouds, thereby effectively reducing the correspondence point estimation error. 3.
The rigid body transformation matrix parameters in the registration are estimated through TMPE-Net, and estimation results are robust to changes in data points. It eliminates the shortcomings of other algorithms that cannot effectively register two point clouds with significant differences in the amount of data.