Nontarget-Based Global Registration for Unorganized Point Clouds Obtained in the Dynamic Shipyard Environment

. In this paper, we propose a method for registering unorganized point clouds without using targets or markers. Motivated by the 4-points congruent sets (4PCS) algorithm, which is a nontarget-based registration method commonly used in the related ﬁelds, we develop a feature-based 4PCS algorithm (F-4PCS). The method combines the basic approach of the 4PCS algorithm with geometric feature information to produce consistent global registration results eﬃciently. We use the features from the point feature histogram descriptor and the ones that capture the surface curvature. The experimental results show that the proposed method successfully registers point clouds of both the outdoor and indoor scenes and demonstrates better performance than the existing 4PCS-based registration methods.


Introduction
In industrial environments such as a megastructure construction site or a shipbuilding yard, scanning is a popular method to obtain the geometric information of various objects that are being assembled or constructed or of the shipyard itself for modelling its current configuration for various purposes. Currently, 3D scanners such as LiDAR's are mostly used to produce 3D point clouds of an object. For a large object, multiple scans at different positions are required to cover its entire shape because of the limited range of the scanner. However, the data points of each scan are defined with respect to the local coordinate system associated with its scan position. erefore, the entire shape of the target object cannot be represented by moving the scan datasets into the reference coordinate system. Instead, each scanned data should be transformed against the reference frame to represent the shape of the target object while the geometric consistency among the scan datasets is being considered. is process is called registration.
ere are two types of registration: global and local. e global registration computes the best transformation to align two point sets without considering their initial relative positions or orientations. e local registration, on the other hand, iteratively finds a local optimum solution that registers two point sets, starting from an approximate solution determined by the initial relative positions and orientations of the point sets.
e most widely used local registration algorithm is an iterative closest point (ICP) algorithm [1]. When a source and a target point clouds are given, it finds the correspondence between them based on the closest point pairs, computes the rigid body transformation for registration, and updates the relative position of the source point cloud with respect to the target. is process is repeated until an optimum solution is reached. In the past decades, a large number of ICP variants were introduced to improve the original ICP algorithm. Lim [2] proposed a point-to-plane ICP scheme to improve registration performance. LM-ICP algorithm improves robustness using a nonlinear minimization technique, and various extended versions of ICP algorithm were developed to improve both speed and performance [3][4][5]. In [6], global optimization was studied based on ICP. In addition, the application of ICP algorithm is extended to nonrigid registration. Nonrigid ICP algorithms were developed, which consider affine transformation by using a more efficient function or simplifying the affine transformation problem into a quadratic programming problem [7].
ICP-based methods generally solve a local optimization problem. Given a rough initial solution, they iteratively improve the solution to an optimal solution. erefore, they have the limitation that appropriate initial relative positions and orientations of input point sets should be provided to find the optimum solution that best registers the two point clouds. Moreover, nonrigid registration is not considered in this paper because the 3D scanner is calibrated sophisticated enough to have no scaling or skew problem. In this paper, we focus on the problem of global registration with no scaling effect. erefore, ICP-based algorithms cannot be used in our application. Instead, they can be considered for a more refined result after the global registration solution is obtained. e core step of global registration is to find correspondence between two sets of points. Once the correspondence is obtained, a rigid body transformation can be computed from the correspondence to register the two scans. Manual registration is highly time consuming because it requires browsing each point set and looking for points or geometric parts that exist in both of the point sets to establish correspondence. Furthermore, it is not easy to find matching points between two point sets visually. erefore, a method that can find correspondence automatically is needed. e correspondence between two datasets can be determined automatically with targets or markers.
is approach uses multiple known geometric shapes or markers, such as spheres or distinctive patterns on the paper. e targets or markers are detected, and the corresponding relations between them are established for registration [3,[8][9][10][11]. It can produce accurate registration results as long as the targets or markers are detected accurately and robustly; however, it requires that the targets should be carefully installed and maintained in the area of interest. Furthermore, they should remain unmoved during the acquisition step, which is a restricted condition in an actual industrial site. Besides, it is not easy to detect targets or markers robustly.
A nonmarker-based method can be used to solve such problems. Various features and descriptors computed from the point sets are used for computing correspondence. Some of the features are feature histograms (PFH), fast PFH, radius-based surface descriptors, ensembles of shape functions, or compact geometric feature descriptors [12][13][14][15][16]. However, it may take a long time to compute the features because all of the points need to be used in the computation. Filtering the point cloud can decrease the computation time by reducing the number of points in each point set; however, a feature loss can occur, thereby resulting in unsuccessful registration. Moreover, the sampling density, the sampled point distribution, and the noise level sensitively affect the feature computation, and therefore, robust and consistent features are not easy to obtain.
To overcome the drawbacks of feature-dependent methods, feature-independent methods are developed such as the reformative component registration algorithm [17] and the 4-points congruent sets (4PCS) algorithm [18]. In [17], the authors proposed a ship component accuracy evaluation framework. ey propose an algorithm that registers the points of a component and the corresponding CAD model by performing parallel transformation and finding a correct registration direction without feature information. However, matching the center of gravity of the point sets using parallel transformation can fail when one input data is part of other data. Moreover, one entity should be expressed as a NURBS surface to find the registration direction, which is not a usual case in practice. e 4PCS algorithm is an extended version of the RANdom SAmple Consensus (RANSAC) algorithm by [19]. It finds a congruent base in two point clouds P and Q by introducing a 4-point set as a base to dramatically reduce the time for estimating the optimal correspondence. e main advantage of the 4PCS algorithm is that it requires point coordinates only and does not consider all the points during the computation. However, the 4-point set in Q is randomly selected, which means that its registration result can be inconsistent or unstable depending on the choice of the 4points sets. We may avoid such a problem by considering more points for the choice of the 4-point sets. However, it would significantly extend the computation time when large point sets are considered, which compromises the main advantage of the algorithm.
ere are some modified versions of the 4PCS algorithm to boost both its performance and speed: the SUPER 4PCS algorithm [20], the key-point-based 4PCS (K-4PCS) algorithm [21], and the semantic key-point-based 4PCS algorithm (SK-4PCS) [22]. e flow of these algorithms is essentially the same as that of the 4PCS method. e SUPER 4PCS algorithm focuses on how to reduce the time for searching congruent 4-points sets by reducing the search range. e K-4PCS algorithm, which was designed to handle huge 3D terrestrial laser scanning data, introduces a preprocessing stage that reduces the number of points through a voxel grid filtering technique and estimates key points. e key points are used to construct congruent point sets, which the 4PCS algorithm takes as input to produce a matching result. Similar to the K-4PCS algorithm, the SK-4PCS algorithm also applies the voxel grid filter and extracts semantic key points from the nonground points. It shows faster computation speed and better performance compared to the K-4PCS algorithm, although the input point cloud is limited to building scenes. ese methods, however, have the same problem as the 4PCS algorithm related to the random base generation step.
In this study, we propose a feature-based 4PCS (F-4PCS) algorithm, a hybrid approach that combines the stochastic selection step of the 4PCS method for a reduced computation time with a deterministic search step of the featurebased algorithm for improved consistency. e algorithm uses features based on the PFH descriptor and an additional one using the surface curvature at each point. e reduction of computation time is achieved by reducing the number of congruent sets based on the feature correspondence information. e consistency of the registration is realized by choosing the congruent 4-point sets using feature 2 Mathematical Problems in Engineering information from the input point sets, thereby, eliminating any random selection. e main contribution of the proposed method is as follows. e method overcomes the problems of the existing 4PCS algorithm and its variants. When a source and a target point clouds are given, 4PCS algorithm and its variants generate a random base or a 4-point set, with which the registration computation is performed. is means that a different registration result could occur even though the same input data is provided because of the random generation of the base. Namely, it often happens that registration can either succeed or fail, even for the same input data. To solve this inconsistency problem, we propose an approach that generates bases using feature information. We newly introduce an improved PFH by using a new feature that can capture the curvature property of the underlying geometry and fuse it with the 4PCS method to overcome the limitation of the 4PCS method while maintaining the computation time. We checked that it always produces the same registration results if the same inputs and parameters are given, while the computation time for registration is maintained similar to that of 4PCS algorithm and its variants.

Overview.
In this section, we present the schematic diagram of the proposed algorithm, as shown in Figure 1. We assume that the target point cloud Q and the source point cloud P are given as input. First, we preprocess P and Q using a voxel grid filter to obtain filtered point clouds P v , Q v and compute features. Next, we compute the 4-point where U i is the ith set of 4-points in P v that is assumed to be aligned with B when a proper transformation matrix is applied to P v up to a certain threshold δ. e goal of the proposed algorithm is to find the best corresponding base U ∈ U ′ when the base B is chosen in Q v . e general structure of the proposed algorithm is equal to the structure of 4PCS algorithm, but two important steps of 4PCS algorithm are modified: base B acquisition step and U ′ acquisition step. In B acquisition step, the first main step of our approach, fixed bases B are generated using the proposed feature information. e second step is to find the set U ′ using the feature information. e third step is the selection step that chooses the best correspondent set U to B from U ′ . After these three steps are performed, a transformation matrix T opt is computed using the relationship between B and U. If the transformed P v accurately aligns with Q v up to δ after T opt is applied, the algorithm is terminated. If not, the whole procedure is repeated until the termination condition is satisfied or all the bases are used. After the algorithm is terminated, the general point-to-point iterative closest point (ICP) algorithm is used to refine the registration result [1]. In the following sections, the preprocessing steps and the main process of the proposed algorithm will be explained in detail.
e notations used in this study are summarized in Table 1.

Voxel Grid Filtering.
Massive 3D scan point clouds, P and Q, are obtained by a 3D scanner. erefore, we cannot directly use them because the computation time taken to process them would grow almost exponentially. We avoid this problem by reducing the numbers of points of P and Q with a voxel grid filter [23]. During the voxel grid filtering procedure, we compute and save points p l k , k � 1, . . . , L i inside each subdivided 3D box and also compute the centroid or the mean vector c l for each points set p l k of an input point cloud using equation where the centroids c l become the new points of the input point cloud. We apply this procedure to P and Q and obtain filtered point clouds P v and Q v .

Feature Computation.
e F-4PCS algorithm finds 4point sets B and U in P v and Q v using features. e features used in the procedure are based on the PFH descriptor that extracts unique features from the input point cloud using only the Euclidean coordinates. We choose PFH descriptor because it shows reliable registration results of laser scans [12][13][14][15][16]24]. e feature histogram acquisition stage for a given query point p c in the input point cloud is as follows [24]. First, we search the K neighbourhood point set of p c . en, three geometric features f 1 , f 2 , f 3 from the PFH descriptor are computed: where ‖ · ‖ is the Euclidean L 2 norm [25], p i and p j are from the K neighborhood point set of a given query point p c , and Mathematical Problems in Engineering n j is a normal of p j .u, v, w are axes of the Darboux frame defined by [15]. In the F-4PCS procedure, we use four features f 1 , f 2 , f 3 , and f 4 , three of which are the same as those of the PFH descriptor. e main key difference from the PFH descriptor is that we use one more feature f 4 . To compute f 4 , we first obtain covariance matrices C i using equation (3) for all the filtered points of the input point cloud.
where p i k are the removed points in each 3D box and c i is a centroid obtained from equation (1). Once C i is computed, we compute the eigenvalues λ i m , where m � 1, 2, 3 and i � 1, . . . , N * and N * is the number of the subdivided boxes with L l and l � 1, . . . , N using the symmetric QR algorithm [26]. en, finally we compute the feature f 4 using equation (4) and surface curvature σ i based on the eigenvalues of the covariance matrix C: e surface curvature depicts how much the underlying shape is bent at a given point. In this case, the surface curvature close to zero implies that the local geometric structure is close to a planar surface. Note that the computed eigenvalues λ i m and λ j m for the two different points p i and p j are used to construct f 4 . e main role is to recover the lost geometric information before the voxel grid filtering because λ i m and λ j m are computed from the removed points within each 3D box. en, we can form a new feature set e procedure is repeated until the feature sets for all the points in the K-neighborhood are computed. After the feature sets are obtained, we perform a histogram binning process that transforms the feature sets into the bins of a histogram and creates a feature histogram FH with 81(3 4 ) bins. For a more detailed instruction of the binning process, refer to [27].

F-4PCS Algorithm.
e essence of the F-4PCS algorithm includes how to acquire B and U ′ , and how to select U that yields the best result. In this section, each step of the F-4PCS algorithm is presented in detail.

B Acquisition
Step. e first step of the F-4PCS algorithm is to obtain the initial bases B 1 , B 2 , . . . , B m . We construct the bases using the computed feature histograms for all the points in Q v by the following procedure. When one query point a � p q is selected in Q v , two most nearest points, b and c are chosen using the similarity measure ‖FH a − FH i ‖, where the lower value indicates higher similarity and FH a represents a feature histogram of a in e filtering procedure is to directly use the method by [28], called a reciprocity test, which works as follows. First, for each q ∈ Q v , we find the most similar or nearest neighbour of q among p ∈ P v using the computed feature histograms and the similarity measure, and we similarly find the nearest neighbour of p among Q v for each p ∈ P v . en, we build correspondence sets κ i 1 from these correspondence results. After computing κ i 1 , we now select correspondence pairs (p, q) from κ i 1 if and only if p is the nearest point from q and q is the nearest point of p from (p, q). e selected correspondence set is defined as κ 2 .
In B acquisition step, we use the reciprocity test to select the reliable bases. e base B is a 4-point set. So, we perform the reciprocity test for all the four points. And, if one of the points passes the test, we assume that the base is reliable. We repeat this procedure for all the bases and build the base set B ′ that contains the total β bases. We move to the next step after the base B is selected from B ′ . Algorithm 1 summarizes the entire B acquisition step, where FH p indicates the feature histogram of P v .

U ′ Acquisition
Step. After the 4-point set B is acquired, we need to find the best congruent 4-points set U from P v . In order to build U, we construct the congruent 4-point sets U ′ . First, the affine invariant ratios r 1 and r 2 are computed from B using equation where e is the intersection point of the lines ab and c d. Next, we move to the point pair generation step to build point pairs R g 1 , R l 2 , which will be used to construct U ′ . Point pairs R 1 , R 2 are 2-point sets from P v , which are constructed based on the Euclidean distances ‖a − b‖ and ‖c − d‖. In this step, we use a new input parameter S of F-4PCS algorithm, the nearest points in P v of base B which is used to filter unreliable point pairs using the computed feature histograms FH and FH p . e procedure of the point pair generation step is composed of two steps: R 1 and R 2 generation steps.
In R 1 generation step, we build point pairs based on the distance ‖b − a‖, meaning we construct 2-point sets congruent to the first point a and the second point b of the base B in Q v . For a, we search the S nearest points in P v using ‖FH a − FH p i ‖, where FH a is the feature histogram of a and FH p i is the feature histograms of the ith point in P v . en, we collect these nearest points and define them as the point set α 1 , which is the set of congruent point candidates to a. In the next step, we similarly find S nearest points of b in P v using  (6), which describes the general form of one point pair. Note that the computation complexity of the point pair generation step is O(S 2 + k) since two histograms H h with length S are extensively compared: In R 2 generation step, a similar procedure is repeated to build point pairs R l 2 , except that we find S nearest points of c and d to obtain the point sets α 1 , α 2 . After obtaining the point pairs R g 1 , R l 2 , the point pair generation step ends and moves to the final step of U ′ acquisition step.
In the final step, the immediate points e 1 , e 2 , e 3 , e 4 are estimated using all possible combinations of the point pairs R 1 , R 2 and the ratios r 1 , r 2 , are defined in equation Here, for simplicity, only two immediate points corresponding to R 1 are described. Finally, we compare the computed immediate points (e 1 , e 2 ) from R 1 with (e 3 , e 4 ) from R 2 and construct U i ∈ U ′ when ‖e 3 − e 1 ‖, ‖e 4 − e 1 ‖, ‖e 3 − e 2 ‖, and ‖e 4 − e 2 ‖ < 2δ; thus, the set U i that is composed of two point pairs are approximately congruent to B [18]. e complexity of the F-4PCS algorithm is O(S 2 + k) because generating point pairs takes most of the computation time. After U ′ is obtained, the initial transformation matrices T � T 1 , T 2 , . . . , T k between B and U ′ , and the overlap ratios o are computed. To estimate an overlap ratio o, we apply the transformation matrix T i ∈ T to the source point cloud P v so that P v aligns to the target point cloud Q v .
For each point of P v , we estimate the distance between the point and its closest point in Q v , and if the distance is less Input: point clouds P v , Q v and feature histograms FH, FH p Output: Selected base set B′ for q ∈ Q v do a ⟵ q; b, c ⟵ two nearest points of a in Q v using FH; . . . , m;  B ⟵ a, b, c,  than an uncertainty measure (δ > 0), we conclude that the points align and count them to compute the overlap ratio. is process continues for all values of U i ∈ U ′ to compute the overlap ratio set o i � o 1 , o 2 , . . . , o k , and both T and o i are saved for the next main step. Algorithm 2 summarizes the entire U ′ acquisition step.

U Selection
Step. U selection step is identical to the step of 4PCS procedure. We choose the congruent base with the highest overlap ratio o best among o i as the best congruent base U � a ′ , b ′ , c ′ , d ′ from U ′ , as shown in Figure 2. en, we check whether the overlap ratio o best satisfies a termination threshold s and terminates if o best ≥ s, choosing T i of U as an final initial transformation matrix T opt , the final output of F-4PCS algorithm. Otherwise, the algorithm goes back to the B acquisition step, selecting the next base B from B ′ and repeats the whole procedure until s is satisfied or all the bases are used.
If the F-4PCS algorithm fails to reach the score s after using all the bases, we collect the best transformation matrices T as the final initial transformation matrix T opt . After the F-4PCS algorithm is terminated, the point-to-point ICP algorithm is applied to refine the registration result for further optimization. Algorithm 3 summarizes the proposed F-4PCS algorithm, including the B and U ′ acquisition steps, which are unique from the 4PCS-based algorithms.

Problems of 4PCS and SUPER 4PCS Algorithms.
e F-4PCS algorithm shares the same overall structure as the 4PCS algorithm; however, it can handle the problems of the latter effectively.
First, the base B is randomly generated in the 4PCS algorithm by randomly sampling the points from Q. us, the registration result of the 4PCS algorithm can be different for each run, causing the inconsistent registration results. However, the F-4PCS algorithm produces consistent registration results because the F-4PCS algorithm does not randomly generate a base but a fixed base for each run. Second, in the U ′ acquisition step, generation of R 1 and R 2 is different between the 4PCS algorithm and the F-4PCS algorithm. e 4PCS algorithm goes over all the points in P to build R 1 and R 2 by only allowing point pairs the distance of which is less than ‖a − b‖ or ‖c − d‖ of B, resulting in its time complexity of O(n 2 + k). us, the problem is that the total number of possible point pair combinations becomes extremely large when the size of the input data is huge, leading to a long computation time. In the F-4PCS algorithm, on the other hand, two histograms H 1 and H 2 with the length S ≪ n obtained from the method in U ′ acquisition step are used to compute the corresponding point pairs, and so its complexity becomes O(S 2 + k), which is lower than that of the 4PCS algorithm. e SUPER 4PCS algorithm shares the structure of the F-4PCS algorithm because it is an extended version of the 4PCS algorithm. e time complexity of the SUPER 4PCS algorithm is O(n + k 1 + k 2 ), which can be lower than the complexity of the F-4PCS algorithm depending on the choice of the parameter S. However, the SUPER 4PCS algorithm randomly generates bases in the similar way to the 4PCS algorithm; thus, it also produces different registration results, even though the same input data is used. erefore, it produces inconsistent registration results, which is the same problem we face with the 4PCS algorithm.

Results and Discussion
To demonstrate the performance of the F-4PCS algorithm, three actual 3D datasets acquired from different scanners are used. e algorithm is compared with the 4PCS, K-4PCS, and SUPER 4PCS algorithms with the same voxel grid filter size. SK-4PCS algorithm is not used for experiments because datasets do not have major ground planes, which is necessary for SK-4PCS algorithm. e common input parameters are an approximation level δ that affects the range of possible matched bases U ′ , a score s that is a termination condition, an overlap fraction that is a ratio showing how much two point clouds overlap, and the voxel grid filter size that is the cube dimension size used to filter the points in meter. For the F-4PCS, 4PCS, and K-4PCS algorithms, the parameters δ, s and the overlap fraction are fixed to 0.1, 0.9, and 0.5. However, δ � 0.5 was used for the SUPER 4PCS algorithm with Dataset 1 experiments because, with δ � 0.1, the algorithm always failed to find a registration result. e voxel grid filter size is set to 2.5 for Dataset 1, 0.4 for Dataset 2, and 2.0 for Dataset 3, where 1.0 corresponds to one meter. In the F-4PCS algorithm, we set the number of neighbourhood points to be 25 (K � 25) for each point in the feature computation step and set S to 150 for Dataset 1, 350 for Dataset 2, and 200 for Dataset 3. For a fair comparison of the existing methods with the proposed one, we used the same parameter values, except one case. e selected parameter values were chosen empirically by considering the properties of the input data points and the performance of each algorithm. e original implementation of the SUPER 4PCS algorithm is modified to use OpenGR library [29] and a voxel grid filter for a fair comparison. To boost the speed of computation of the algorithms, OpenMP library [30] is applied to all the algorithms. e F-4PCS, 4PCS, and K-4PCS algorithms are compiled and tested in a C++ environment with Visual Studio 2015 while the SUPER 4PCS algorithm is compiled and tested with Visual Studio 2017 because OpenGR library is not compatible with Visual Studio 2015. A hardware system used in the tests has an Intel core i7-6700k CPU and 32 GB RAM on the 64-bit Windows 10 platform.
To test the performance of the algorithms, the root mean square error (RMSE) from equation (8) for the transformed P and Q is used, where q i ∈ Q is the closest point to p i ∈ P, and n is the total number of points in P.
In addition, we estimate RMSE ICP , the RMSE after the general point-to-point ICP algorithm. We estimate the computation time t in seconds. e tested algorithms except F-4PCS produce different results for the same inputs because of their randomly selected bases; thus, we run each test five times for each two input point clouds to compute the average of the computation time and their RMSEs. We consecutively perform a pairwise registration for Dataset 1, so there are a total of 12 pairwise registrations. Notice that a huge crane in the right side was continuously moving during the 3D data acquisition step, so the positions of the crane are different in each point cloud or part of the crane was cut off in some data as we can observe in Figure 3.
Mathematical Problems in Engineering the RMSE of 1.49 m and the average computation time of 14.6 s. However, the 4PCS algorithm sometimes fails to find correct results for Cases 5, 6, 7, and 9. e K-4PCS algorithm is faster than the 4PCS algorithm with an average computation time of 8.35 s. However, the K-4PCS algorithm fails more often than the 4PCS algorithm for a repetitive test of each case, resulting in the worst average RMSE of 4.19 m. e SUPER 4PCS algorithm achieves the fastest computation time among the tested algorithms with only 3.85 s, and its performance is the best in some registrations such as Case 3 with RMSE 0.99 m. However, it sometimes fails to find correct registration results just like the 4PCS and K-4PCS algorithms for Cases 5, 6, 7 and 9, where the 4PCS algorithm also fails, resulting in the average RMSE of 2.23 m. e F-4PCS algorithm fails to find a correct registration of Case 5 but succeeds to register more input cases than the others. Figure 4 shows the registration results of Cases 6 and 9 by 4PCS algorithm and the F-4PCS algorithm, where the red point cloud is a target and the green point cloud is a source. While 4PCS algorithm fails to register the top parts of the main structure in Figures 4(b) and 4(e) for both cases, the F-4PCS successfully registers the main structures, producing the average RMSE 1.23 m and the computation time of 6.73 s. e inconsistent results of the 4PCS, K-4PCS, and SUPER 4PCS algorithms are shown in Figure 5. All the three algorithms produce different registration results for each run, even though the same input data is used. On the contrary, the F-4PCS algorithm achieves a consistent registration result.

Dataset 2.
Dataset 2 is composed of indoor scenes around pipes in the shipyard. It includes various pipes, conveyor belts, wrapped structures, and workers, as we can see in Figure 6, where a black circle indicates the location of a 3D scanner during the 3D data acquisition step. We can see that a scan range of some data such as Figure 6(a)-6(c) are smaller than the range of the other data such as Figure 6(d).
is is because the pipes or structures blocked the scanning range during the scanning step. e data sequence is composed of 11 point clouds that were consecutively taken by moving the laser scanner, and the density of each point set is far lower than that in Dataset 1. We set S to 350, which is higher than that for Dataset 1 because the acquired point clouds of Dataset 2 contain more noise than the point clouds of Dataset 1. e total numbers of the points in each point cloud are in the range of about seventy thousands to one million, and the average number of the filtered points by the voxel grid filter is 1,230. Overall, ten pairwise cases of registration are performed.   Table 3. e 4PCS algorithm sometimes cannot find appropriate congruent 4points sets U and fails in 8 out of 10 pairwise registrations. erefore, the algorithm finishes earlier than expected because it reaches the maximum iteration number without successful registration results. us, it ends up with a high RMSE of 0.91 m, but with a low computation time.
e  K-4PCS algorithm successfully registers 8 out of 10 registrations and sometimes fails for 4 and 7 cases, reaching the lowest RMSE of 0.59 m. However, the average computation time reaches up to 1554.33 s, which is inappropriate for actual use. e main cause of the large computation time lies in the keypoint extraction stage because this is the only difference from the 4PCS algorithm. We were unable to run five times for the K-4PCS algorithm since some registrations took more than two to three hours, so we only ran three times per each scan pair. e SUPER 4PCS algorithm mostly fails to align the sequences, registering only 1 out of the ten input cases. In addition, its average computation time, 51.76 s, is higher than the 4PCS and F-4PCS algorithms. F-4PCS successfully registers 8 out of 10 registrations except Cases 5 and 10 with a reasonable average computation time of 16.87 s, achieving the lowest RMSE of 0.55 m, as shown in Figure 7. We can see that the portable ladder and conveyor belts in the scan data do not match when the SUPER 4PCS algorithm is used because it only registers the major ground plane, while the F-4PCS algorithm successfully registers them.

Dataset 3.
Dataset 3 is a construction site scene of an offshore plant, where various pipes and parts are installed. It is composed of one CAD model and ten raw point clouds, as shown in Figure 8. e CAD model is a 3D map data of the completed offshore plant, and the total number of point of which reaches about 80,000. e raw point clouds are taken from the actual scene of the offshore plant by a mobile device, Lenovo Phab 2 Pro for a few seconds. e raw point clouds may contain temporary supports, scaffolds, and wrapped components, and the total numbers of the points in each point cloud are only in the range of about twenty to thirty thousands. We aligned the raw point clouds to the CAD model, and raw point clouds were obtained around the pipe displayed in the dotted box from Figure 8(a). e parameter S is set to 200, which is higher than S of Dataset 1 and lower than S of Dataset 2 to take it into account that the CAD model is accurate, while the raw point clouds contain a high level of noise compared to Dataset 1.
Ten registrations are performed for this experiment, and the registration results are summarized in Table 4. Notice that the total number of the filtered CAD model is 5,122, and the average number of filtered points of source point cloud is 636. All the algorithms except F-4PCS fail to find any transformation matrices for all the data sequences, so the results of them are not included. is is because the point density of the source point sets is much lower than the target point cloud, and the dimension of the target point cloud is much larger than that of the source point cloud. Furthermore, the source point clouds contain temporary supports, scaffolds, and other unexpected parts that may not be included in the CAD model. erefore, randomly generated  bases from the target point cloud will most likely fail to find congruent bases from the source point cloud, meaning any randomized scheme will not work for this type of datasets. On the contrary, F-4PCS algorithm successfully registers 8 out of 10 registrations as we can observe results in Figure 8, with the average RMSE of 0.18 m. Some of the registration results are shown in Figure 8. In addition, its computation is 4.89 s on average, which is appropriate for actual use. e initial registration results are further refined by the ICP algorithm to produce the RMSE of 0.18 m.

PFH Descriptor vs. Modified PFH Descriptor.
In this section, we analyse the time and performance of the proposed PFH histogram that uses an additional feature f 4 . For a fair comparison, all other parameters are set to be equal. Table 5 presents the evaluation results of the PFH descriptor-based F-4PCS algorithm for all the datasets. In the experiment with Dataset 1, the computation times of the PFH and the modified PFH histograms are almost identical; however, the PFH histogram-based F-4PCS fails to register Case 9, while the modified PFH-based F-4PCS algorithm successfully registers the sequence. e average RMSE and RMSE ICP of PFH-based F-4PCS are 2.42 m and 1.37 m, which are higher than other algorithms except K-4PCS algorithm. In the experiment with Dataset 2, the computation time is lower than the F-4PCS algorithm, and RMSE is slightly lower than the F-4PCS algorithm. However, the  performances of both algorithms are similar to each other since they both successfully register 8 out of 10 registrations for all the same data sequences. For Dataset 3, its average computation time is 11.61 s, which is higher than the proposed F-4PCS algorithm. Although the RMSE of PFH descriptor-based F-4PCS algorithm is similar to the RMSE of the proposed F-4PCS algorithm, the modified PFH-based F-4PCS algorithm actually successfully aligns only 4 out of 10 registrations while the proposed F-4PCS algorithm successfully registers 8 out of 10 registrations. In fact, the main cause of a low RMSE is that the moved source point clouds attach to other pipes or parts of the target CAD data. e failure registration cases of the PFH-based F-4PCS algorithm for Datasets 1 and 3 are shown in Figure 9.
In conclusion, the performance and computation time of the two versions of the F-4PCS algorithm are similar to each other in some datasets; however, the PFH-based F-4PCS algorithm fails in one more case with Dataset 1 and fails to align 6 out of 10 registrations with Dataset 3, thereby showing that the proposed feature descriptor is better than the PFH descriptor.

Data with Noise and Outliers.
In this section, we tested the F-4PCS algorithm with data that includes noise or outliers. We used a hippo model in [20]. e input parameters are equal to the parameters used for the earlier datasets, except S that it is set to 100, and the voxel grid filter size is set to 2.0.
We apply a zero-mean additive random Gaussian noise with variance σ 2 to the input points, similar to that in the 4PCS algorithm tests discussed in [18]. e registration process is successful when σ � 0.05 and 0.1, as shown in Figure 10. However, sometimes registration fails when σ ≥ 0.1, and the algorithm does not work at all when σ > 0.2.
is is because the F-4PCS algorithm depends on the feature descriptors, which often fail to find correspondence information when the data is highly corrupted with significant noise.
In the experiments using data with outliers, random noise points are added to the original point clouds within their bounding boxes, and the number of outliers are set to ρ. e percentage of the original number of point clouds is exactly the same as that of the 4PCS algorithm experiments in [18]. We tested three cases when ρ are set to 10, 20, and 40%. e F-4PCS algorithm successfully aligns the hippo models up to 20% without a failure. Even when it reaches up to 40%, which is the maximum percentage that the 4PCS algorithm used in the experiments, it rarely fails to align the point clouds, as shown in Figure 11. is is because the voxel grid filter effectively removes the outliers.
From these experiments, we found that the F-4PCS algorithm is less robust to Gaussian noise as compared to the  4PCS algorithm and is as robust as the 4PCS algorithm to outliers. However, the two input datasets are prepared to have a large overlap area, as shown in Figure 12, which we barely encounter in practice. In many cases, we end up having point sets similar to Datasets 1, 2, and 3, with which the proposed algorithm works much better than the existing ones because the probability of actual datasets possessing outliers is much more than them possessing artificial Gaussian noise. erefore, the F-4PCS algorithm can be used to align the actual 3D data obtained from a laser scanner in industrial environments.

Conclusions
In this study, we propose the F-4PCS algorithm for registering 3D scans used in industrial environments. is algorithm is an extended version of the 4PCS algorithm, which overcomes the drawbacks of the 4PCS algorithm and its variants. Furthermore, it is designed to improve the consistency of the registration results and reduce the computation time.
e proposed algorithm uses scanned points instead of extra markers for registration. Moreover, this method is a global registration scheme that does not require any approximate initial registration or correspondence, and it automatically performs registration, which are two advantageous features for practical use. However, this method yields only an approximate registration result, which should be followed by a refining registration method, such as ICP, to achieve high accuracy in registration. Furthermore, the computation time of the proposed registration method is another problem that hinders its real-time application. us, enhancing the accuracy and reducing the computation time are two topics that we recommend for future work.

Data Availability
Previously reported point cloud data in Figures 10 and 11 were used to support this study and are available at https:// geometry.cs.ucl.ac.uk/projects/2014/super4PCS/. ese prior studies and datasets are cited at relevant places within the text [20]. e other point cloud data used to support the findings of this study were supplied by Samsung Heavy Industries under license and so cannot be made freely available. Requests for access to these data can be made to the corresponding author.

Conflicts of Interest
e authors declare that there are no conflicts of interest regarding the publication of this paper.