### R E S E A R C H

### Open Access

## A novel point cloud registration using 2D

## image features

### Chien-Chou Lin

1*### , Yen-Chou Tai

2### , Jhong-Jin Lee

1### and Yong-Sheng Chen

2Abstract

Since a 3D scanner only captures a scene of a 3D object at a time, a 3D registration for multi-scene is the key issue of 3D modeling. This paper presents a novel and an efficient 3D registration method based on 2D local feature matching. The proposed method transforms the point clouds into 2D bearing angle images and then uses the 2D feature based matching method, SURF, to find matching pixel pairs between two images. The corresponding points of 3D point clouds can be obtained by those pixel pairs. Since the corresponding pairs are sorted by their distance between matching features, only the top half of the corresponding pairs are used to find the optimal rotation matrix by the least squares approximation. In this paper, the optimal rotation matrix is derived by orthogonal Procrustes method (SVD-based approach). Therefore, the 3D model of an object can be reconstructed by aligning those point clouds with the optimal transformation matrix. Experimental results show that the accuracy of the proposed method is close to the ICP, but the computation cost is reduced significantly. The performance is six times faster than the generalized-ICP algorithm. Furthermore, while the ICP requires high alignment similarity of two scenes, the proposed method is robust to a larger difference of viewing angle.

Keywords: Point cloud, 3D image registration, Bearing angle image, Iterative closest point algorithm, SURF (speeded up robust features)

1 Introduction

During the last few decades, 3D scanner technology has rapidly developed and many different approaches have been proposed to build 3D-scanning devices that collect the shape data of objects and possibly their colors. Since the information obtained by 3D scanners is more accur-ate for 3D reconstruction than 2D images, the 3D scan technology is widely used in computer vision, industrial design, reverse engineering, robotics navigation, topog-raphy measurement, filmmaking, game creation, etc. Typically, the common data type obtained by 3D scan-ners is point cloud. And, point cloud registration plays an important role in 3D reconstructions because point clouds of given shapes are multiple views of an object and are in different coordinate systems. The goal of the registration is to find a transformation that optimally po-sitions two given shapes, which are the reference and source in a common coordinate system [1, 2].

In [3], registration algorithms are classed as voting methods [4, 5] and corresponding feature pair-based methods [6–11]. In voting methods, the transformation space is initially reduced into a multi-dimensional table. Then, for each point pair of the two given point clouds, the transformation between the reference and the source is computed and a vote is recorded in the corresponding cell of the table. The optimal transformation is selected by the most votes. The basic approach of the latter is finding the corresponding points, curves, planes of 3D scenes or other features between the reference and the source. A rigid transformation can be derived by a set of corre-sponding features. In [12] and [13], iterated closest point (ICP) algorithm, a popular method for aligning two point clouds, was proposed. In ICP, the reference is fixed in pos-ition and orientation and the source is then iteratively transformed to finding the best rotation and translation that minimizes an error metric based on the distance. The basic steps of ICP are described in the following: The first step is finding the closest point in the reference point cloud for each point in the source point cloud. Then, an estimation of the combination of rotation and translation * Correspondence:linchien@yuntech.edu.tw

1_{Department of Computer Science and Information Engineering, National}
Yunlin University of Science and Technology, Yunlin, Taiwan, ROC
Full list of author information is available at the end of the article

© The Author(s). 2017 Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

is performed by using a mean squared error cost function. After obtaining a predicted transformation, the source points are transformed and these steps are performed, iter-ated until the transformation is negligible. In most cases, the ICP has a good alignment result, but the computation cost is huge. The execution time of ICP heavily depends on the choice of the corresponding point-pairs and the dis-tance function. Recently, many ICP-based algorithms have been proposed [3, 14–20]. In [21], the reliability of ICP which corresponds to the second order coefficients of the ICP objective function was proposed to improve the regis-tration. The variance of the ICP registration error is in-versely proportional to the reliability. The proposed ICPIF takes account of the Euclidean invariant features, including moment invariants and spherical harmonics invariants, in [18]. An absolute minimization was also proposed to de-crease the probability of being trapped in a local minimum. In [22] and [23], expectation–maximization principles were combined into ICP to improve the robustness. A coarse-to-fine approach based on an annealing scheme was also pro-posed in [22]. In [24], a lie group-based affine registration was proposed. Affine registration problem can be simplified to a quadratic programming problem by transforming the affine transform matrix as exponential mappings of lie group and their Taylor approximations.

However, since most existing 3D registration methods are based on 3D geometrical surface features of objects, the computation complexity is high. While 3D feature based approaches take more time in finding the corre-sponding point pairs between the reference and the source, registrations with 2D features can reduce the

computation complexity by using 2D image matching. Furthermore, many efficient matching approaches and feature descriptors have been proposed in recent decades.

In order to find the corresponding points between the two shapes of an object efficiently, some approaches ini-tially transform the 3D shapes to 2D images. The depth image of a 3D image is usually adopted for transforming 3D point cloud to a 2D image. The transformation is simple and fast because the gray level of the depth image of a point present the distance from the view point to a point on the object surface, but the depth image discards some important geometric information of the object, e.g., the relation of a point and it neighbors. Depth im-ages are too simple to be used in 3D registration which requires high precision. In [25], a novel approach for transforming a 3D point cloud to a 2D image was pro-posed, namely the bearing angle image. A bearing angle image is the gray level image composed from the angle between the point and the neighbor points, highlighting the edge formed by the angle. This paper presents a novel 3D alignment method based on 2D local feature matching. The proposed method transforms the point clouds into 2D bearing angle images and then uses the 2D image feature matching method, SURF, to find matching point pairs of two images.

The rest of this paper is organized as follows. The proposed 3D registration algorithm based on 2D image features is introduced in Sections 2 and 3. The 2D bearing angle image will also be reviewed in Section 2. Section 3.2 provides some experimental results and discussions. The conclusion of this paper is found in Section 4.

2 Transforming 3D shapes to 2D images

The main contribution of the proposed algorithm is reducing the computation of finding the correspond-ing points of two 3D shapes significantly. The key method is finding corresponding pixels of 2D images and then tracing back to find the corresponding points of two 3D shapes of an object. Thus, the transformation between the two shapes can be de-rived by the fine corresponding points. As shown in Fig. 1, the proposed method is divided into several steps: (1) converting the point clouds into bearing angle images; (2) extracting the features of the two 2D images by SURF and matching two 2D images; (3) obtaining the 3D corresponding points of the two point clouds with respect to the 2D matching points; (4) using the top half of the corresponding pairs to find the optimal rotation matrix by the least squares approximation; (5) aligning two point clouds accord-ing to the transformation matrix. The details of the steps will be described in next.

Fig. 2 The gray level of a pixel of a BA image is defined as the angle between the laser beam and the vector from the point to a consecutive point

2.1 Bearing angle image

The depth image of a 3D image is usually adopted for transforming 3D point cloud to a 2D image. However, because a pixel of a depth image is the value of the Z-coordinate of a point cloud, the relation between a point and its neighbor points is not represented in a depth image. Unlike the depth image, a bearing angle image (BA image) proposed in [25] can highlight the edge formed by angle. A BA image is a gray level image composed from the angle between a point and its neigh-bor point and thus more features can be extracted from the BA image. In [25], the BA image was proposed for the extrinsic calibration of calibration of a 3D LIDAR and camera.

Consider a 3D shape of an object. The gray level of a pixel of its BA image is defined as the angle be-tween the laser beam and the vector from the point to a consecutive point. This angle is calculated for each point of the shape along the four defined direc-tions which are the horizontal, vertical, or diagonal directions. In this paper, the diagonal direction is adopted. In Fig. 2, the blue points, PCi,j and PCi-1,j-1,

are the measurement points and the black point, O, is the origin of the point cloud, which is also the

source of the laser. The angle value BAi,j of a point

PCi,j can be defined as

BAij¼ arccos

ρi; j−ρi−1; j−1cosdφ

ρ2

i; jþ ρ

2

i−1; j−1−2ρi; jρi−1; j−1cosdφ

; ð1Þ

whereρi,j is the measured value of the jth scanned point

of the i-th scanning layer and ρi-1,j-1 is the measured

value of the (j-1)th scanned point of the (i-1)th scanning layer. The dφ is the corresponding angle increment (laser beam angular step in the direction of the trace). A 3D point can be converted to a gray-level pixel of 2D image and a 2D image can be obtained by converting all points of a captured 3D image. Figure 3a is a raw point cloud and Fig. 3b is a bearing angle image from the same point cloud.

2.2 The feature extraction and matching of BA images

After the previous step, the two point clouds of the 3D shapes of the reference and the source are converted into 2D images. Then, the feature based matching methods for common 2D images can be used for finding the corresponding points of these two BA images. In recent years, many efficient feature based matching

methods have been proposed, e.g., scale invariant feature transform (SIFT), speed-up robust features (SURF) and spin-image method. The SURF reviewed below is adopted for feature extraction and matching of 2D im-ages in this paper.

Speed-up robust features (SURF) proposed by H. Bay et al. [26, 27] is a descriptor of feature points of images. The method, inspired by SIFT, uses integral images and Haar wavelet responses based on approximation. SURF reserves most of the features of SIFT, and reduces the

computing time by decreasing the number of dimen-sions. There are four main steps in SURF algorithm: (1) obtaining the integral image, (2) using the Hessian matrix to determine the feature point, (3) deciding the feature point and its direction, and (4) extracting the fea-ture description vector.

A feature descriptor extracted by SURF assigns its main direction and 64 feature vectors of its neighbors. The matching is by computing the Euclidean distance of two feature vectors. In addition, a good matching is

Fig. 5 a Two BA images. b The matched points of the two BA images by SURF

determined by the ratio between the minimum distance and the second minimum distance. If the ratio is greater than a threshold, then the matching pair is a good corre-sponding pair of images.

After the matching step, a number of corresponding points are found. Figure 4a is two bearing angle images and Fig. 4b shows the corresponding pixels found by SURF. The matching result shows their correspondence

mostly fall on the edge of chair, sofa next to a wall. These matching pixels will be used to find the corre-sponding point pairs of two point clouds (Fig. 5a and b).

3 Derive the transformation matrix by orthogonal Procrustes method with corresponding point sets

In the previous section, the corresponding pixel pairs of the two BA images can be obtained by the SURF. For a

Fig. 7 The corresponding pairs of two point clouds of Fig. 6

pixel of the 2D BA image, BAij, its original 3D point of

the point cloud is the jth scanned point of the ith scanning layer. The projection is an one-to-one mapping between 3D points and BA pixels. Therefore, the original

3D point of a 2D image pixel BAij is 3D point PCij.

Figure 5a and b shows the matching 3D points, which are derived by the matching pixels of the 2D BA images, of two point clouds. A matched point pair is marked with the same color.

SURF-based approach is a good matching method and most of the corresponding pairs are correct, but there are still a few mismatched pairs. In this paper, the

corresponding pairs are used to derive the transform-ation matrix by the least squares approach. However, with outliers in the data set, the least squares approxi-mation is not optimal. The mismatched pairs have to be discarded in advance to improve the accuracy of trans-formation. Since the corresponding pairs are sorted by their distance between matching features, only the top half of the corresponding pairs are used to find the optimal rotation matrix by the least squares approxima-tion. The problem is now represented as finding the optimal rigid transformation of two corresponding point sets.

3.1 The transformation between two point clouds without translation

Over the past few decades several existing algorithms were proposed for finding the optimal rigid transformation of

two corresponding point cloud, P and Q [28–31].

Basic-ally, these approaches can be divided into two methods, the SVD-based method and quaternion-based method. However, for the highest level of accuracy and stability, the SVD-based method is adopted in this paper. Since the

two corresponding point pair sets, P and Q, are usually

more than three pairs, finding the rotation matrix between the two sets can be regarded as orthogonal Procrustes problem. First, it is assumed that the translation is the

centroid of P to the centroid of Q. Thus, restating the

problem without translation, the points of two sets are rewritten as

p_{ic}¼ p_{i}−p; q_{ic}¼ q_{i}−q; ð2Þ

where p and q, the centroids of two sets, are expressed by

p¼ 1
m
X
p_{i}; q ¼ 1
m
X
q_{i}: ð3Þ

The new corresponding point sets are Pcand Qc. Since

the optimal rotation R implies the minimal

transform-ation error, the reltransform-ation can be expressed as

R¼ argmin

R kQc−PcRk

2

F; ð4Þ

where‖ ⋅ ‖Fis Frobenius norm defined as

A
k kF ¼
ﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃ
tr A TA
q
¼
ﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃ
Xm
i¼1
Xn
j¼1
aij2
v
u
u
t _{:} _{ð5Þ}

The optimization can be rewritten by the trace form. Qc−PcR k k2 F ¼ tr Qð c−PcRÞTðQc−PcRÞ ¼ Qk kc 2F−2tr PcTQcRT Þ þ Pk kc 2F ð6Þ Since Qk kc 2F and Pk kc 2F are constant, the minimization of Eq. (6) is dominated by maximizing the term, tr(PcTQcRT)). It can be represented as max RRT¼I tr PcTQcRT : ð7Þ

Since the R is an orthogonal matrix, the constrained optimization problem can be solved by the method of Lagrange multipliers. The Lagrange multipliers is de-fined as

L¼ tr PcTQcRT

−tr Λ RR T_{−I} _{ð8Þ}

Since ∂L_{∂R}¼ 0 implies tr(Λ(RRT− I)) = 0, the first
devi-ation derivative of (8) is
∂L
∂R¼
∂tr PcTQcRT
∂R −
∂tr RΛR T
∂R þ
∂tr Λð Þ
∂R
¼ PcTQc− Λ þ ΛT
R¼ 0
ð9Þ
Eq. (9) can be rewritten as

PcTQc¼ Λ þ ΛT

R_{→ P}_{c}T_{Q}

cRT¼ Λ þ ΛT ð10Þ

Since (Λ + ΛT

) is symmetric, PcTQcRTis also symmetric.

Considering the SVD of PcTQcis UΣVT, thus we have

Fig. 10 The zoom-in figures of“A” area of Fig. 11a obtained by the proposed algorithm and G-ICP. a The average matching error of the proposed algorithm is 4.1 cm. b The average matching error of the G-ICP is 1.5 cm

PcTQcRT ¼ PcTQc RT T ¼ R PcTQc T UΣVTRT¼ RV ΣUT ð11Þ where Σ ¼ diag σ1 PcTQc ; ::::; σn PcTQc ð12Þ From Eq. (11), the optimal rotation matrix can be ob-tained by

R¼ UVT ð13Þ

Thus, the optimal transformation is represented as

Q¼ x0 y0 z0 1 2 6 6 4 3 7 7 5 ¼ T Pð Þ ¼ R t 0 0 0 1 2 6 6 4 3 7 7 5 x y z 1 2 6 6 4 3 7 7 5; ð14Þ

where t¼ q−p and R = UVT. As a result, the two point

clouds can be aligned together with the obtained rota-tion matrix and translarota-tion vector in (14).

Fig. 11 Alignment results of four objects by different approaches. a, c, e, and g are obtained by the proposed algorithm. b, d, f, and h are obtained by G-ICP

3.2 Simulation result

The simulation is performed in an indoor environment as shown in Fig. 6 and the result shows that the pro-posed algorithm has high performance. In a 10 × 10 m room, several frames are captured by LIDAR and the disparity between two consecutive frames is 30°. A captured frame is a point cloud with 180 layers and 200 points of a layer.

The matching result of two point clouds of Fig. 4 is shown and it is clear that the most of matched pairs are correct since the pair has high similarity. However, there are a few mismatched pairs. Since the corresponding pairs are sorted by their Euclidean distance between matching features, only the top half of the correspond-ing pairs are used to find the optimal rotation matrix by least squares approximation.

Using the top half of the corresponding pairs, the opti-mal transformation matrix can be obtained. In Fig. 8a, b, the registration results of Fig. 7 are shown in top view and side view, respectively. As shown in Fig. 8, the pro-posed algorithm works well for aligning the two point clouds with the larger disparity of view angle. In Fig. 9, a comparison of the proposed algorithm and G-ICP (Generalized-ICP) is given. The G-ICP (generalized-ICP) [32] combines the iterative closest point and point-to-plane ICP algorithms into a single probabilistic framework. In this experiment, the maximum iteration of G-ICP is 100 and the maximum distance threshold in the correspond-ence of G-ICP is set as 8 cm. The proposed algorithm is as good as G-ICP except the area marked with a red circle.

The zoom-in figures of red circle area of Fig. 9a and b obtained by the proposed algorithm and G-ICP are shown in Fig. 10a and b, respectively. The maximum di-mensions of the captured point clouds is about 4 m × 4 m × 4 m. The average matching error of the proposed algorithm is 4.1 cm and the average matching error of the G-ICP is 1.5 cm. The precision of the proposed algo-rithm is 99%.

Registration of four different types of objects is also given in Fig. 11. The sizes of these point clouds are smaller than the size of the previous one and the algo-rithm also works well. The computation times of two al-gorithms are shown in Table 1. It is obvious that the proposed algorithm reduces the computation time

significantly and the performance is 10 times faster than the G-ICP algorithm. In the fourth column of Table 1, the proposed algorithm is used as a coarse alignment al-gorithm and the G-ICP is used as a fine alignment algo-rithm. The total running time is faster than pure G-ICP algorithm and the running time is also reduced 63%.

4 Conclusions

This paper presents a novel 3D alignment method based on 2D local feature matching. The proposed method converts the point clouds to 2D bearing angle images and then uses the 2D image feature-based matching method, SURF, to find matching pixel pairs of two im-ages. Those corresponding pixels can be used to obtain the original corresponding pairs of the two 3D point clouds. Since the two corresponding point pair sets are usually more than three pairs, only the top 50% of the best corresponding pairs are used to find the optimal rigid transformation matrix by the least squares approxi-mation of orthogonal Procrustes problem.

The main contribution of this paper is proposing a fast and robust approach of 3D point cloud registration. Since the proposed algorithm is finding the correspond-ing points in 2D image and without iterative process, the performance of the proposed algorithm is better than ICP based algorithms. In our simulation, the proposed algorithm is a high precision registration in which the displacement is 1%. Furthermore, the proposed algo-rithm has good performance and the proposed algoalgo-rithm is 10 times faster than the G-ICP algorithm. Some ICP-based approaches have an initial guess or a coarse alignment algorithm to speed up the ICP algorithm. The proposed algorithm can be used as a coarse alignment algorithm. In the simulation, the execution time can be reduced by 63%.

There are some potential research topics which can be discussed in the future. First, it is obvious that if mis-matching pairs are selected for the least squares approxi-mation of orthogonal Procrustes problem, the solution is not optimal and the techniques of removing outliers should be used. Furthermore, the corresponding pairs can be selected by RANSAC approach to remove outlier data. With the obtained transformation matrix as the initial guess of ICP, the performance of ICP may be in-creased significantly.

Acknowledgement

This work was supported in part by the Ministry of Science and Technology of Taiwan under the grants no. MOST 104-2221-E-224-038.

Authors’ contributions

CCL and YCT conceived and designed the experiments. JJL performed the experiments. CCL and YSC analyzed the data. CCL contributed reagents/ materials/analysis tools. CCL and YCT are writers of the paper. All authors read and approved the final manuscript.

Table 1 Time consumption of the algorithms

Case The proposed algorithm G-ICP The proposed algorithm + G-ICP

1 92 814 458.269

2 103 605 203.42

3 172 2444 221.995

4 98 376 282.756

Competing interests

The authors declare that they have no competing interests.

Author details

1_{Department of Computer Science and Information Engineering, National}
Yunlin University of Science and Technology, Yunlin, Taiwan, ROC.
2_{Department of Computer Science, National Chiao Tung University,}
Hsinchou, Taiwan, ROC.

Received: 30 July 2016 Accepted: 9 December 2016

References

1. O Cordón, S Damas, J Santamaría, A fast and accurate approach for 3D image registration using the scatter search evolutionary algorithm. Pattern Recogn. Lett. 27(11), 1191–1200 (2006)

2. L Silva, ORP Bellon, KL Boyer, Precision range image registration using a robust surface interpenetration measure and enhanced genetic algorithms. IEEE Trans. Pattern Anal. Mach. Intell. 27(5), 762–776 (2005)

3. N Gelfand et al., Robust global registration. Symposium on geometry processing 2(3), 5 (2005)

4. YC Hecker, RM Bolle, On geometric hashing and the generalized Hough transform, IEEE Transactions on Systems. Man and Cybernetics 24(9), 1328–1338 (1994)

5. HJ Wolfson, I Rigoutsos, Geometric hashing: an overview, IEEE Computational
Science & Engineering, 1997, pp. 10_{–21}

6. BKP Horn, Extended Gaussian images. Proc. IEEE 72(12), 1671–1686 (1984) 7. RJ Campbell, PJ Flynn, Eigenshapes for 3D object recognition in range data,

1999. IEEE Computer Society Conference on Computer Vision and Pattern Recognition, vol. 2, 1999

8. R Osada et al., Shape distributions. ACM Transactions on Graphics (TOG) 21(4), 807–832 (2002)

9. RB Rusu et al., Aligning point cloud views using persistent feature histograms. 2008. IROS 2008. IEEE/RSJ International Conference on Intelligent Robots and Systems, 2008, pp. 3384–3391

10. RB Rusu, N Blodow, M Beetz, Fast point feature histograms (FPFH) for 3D
registration. 2009. ICRA’09. IEEE International Conference on Robotics and
Automation, 2009, pp. 3212_{–3217}

11. RB Rusu et al., Fast 3d recognition and pose using the viewpoint feature histogram. 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2010, pp. 2155–2162

12. PJ Best, ND McKay, A method for registration of 3-D shapes. IEEE Trans. Pattern Anal. Mach. Intell. 14(2), 239–256 (1992)

13. Z Zhang, Iterative point matching for registration of free-form curves and surfaces. Int. J. Comput. Vis. 13(2), 119–152 (1994)

14. A Gruen, D Akca, Least squares 3D surface and curve matching. ISPRS J. Photogramm. Remote Sens. 59(3), 151–174 (2005)

15. AW Fitzgibbon, Robust registration of 2D and 3D point sets. Image Vis. Comput. 21(13), 1145–1153 (2003)

16. A Makadia, A Patterson, K Daniilidis, Fully automatic registration of 3D point clouds. IEEE Conference on Computer Vision and Pattern Recognition 1, 1297–1304 (2006)

17. AE Johnson, M Hebert, Using spin images for efficient object recognition in
cluttered 3D scenes. IEEE Trans. Pattern Anal. Mach. Intell. 21(5), 433_{–449}
(1999)

18. GC Sharp, SW Lee, DK Wehe, ICP registration using invariant features. IEEE Trans. Pattern Anal. Mach. Intell. 24(1), 90–102 (2002)

19. S Rusinkiewicz, M Levoy, S Rusinkiewicz, M Levoy, Efficient variants of the ICP algorithm. 2001. Proceedings. 2001 IEEE Third International Conference on 3-D Digital Imaging and Modeling, 2001, pp. 145–152

20. A Nüchter, K Lingemann, J Hertzberg, Cached kd tree search for ICP algorithms. 2007 IEEE Sixth International Conference on 3-D Digital Imaging and Modeling, 2007, pp. 419–426

21. B-U Lee, C-M Kim, R-H Park, An orientation reliability matrix for the iterative closest point algorithm. IEEE Trans. Pattern Anal. Mach. Intell.

22(10), 1205_{–1208 (2000)}

22. S Granger, X Pennec, Multi-scale EM-ICP: A fast and robust approach for surface registration, European Conference on Computer Vision, 2002, pp. 418–432

23. Y Liu, Automatic registration of overlapping 3D point clouds using closest points. Image Vis. Comput. 24(7), 762–781 (2006)

24. S Du et al., Affine iterative closest point algorithm for point set registration.
Pattern Recogn. Lett. 31(9), 791_{–799 (2010)}

25. D Scaramuzza, A Harati, R Siegwart, Extrinsic self calibration of a camera and a 3D laser range finder from natural scenes. 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2007, pp. 4164–4169 26. H Bay et al., Speeded-up robust features (SURF). Comput. Vis. Image

Underst. 110(3), 346–359 (2008)

27. H Bay, T Tuytelaars, L Van Gool, Surf: Speeded up robust features, in Computer vision–ECCV 2006 (Springer, 2006), pp. 404–417

28. KS Arun, TS Huang, SD Blostein, Least-squares fitting of two 3-D point sets. IEEE Trans. Pattern Anal. Mach. Intell. 5, 698–700 (1987)

29. BKP Horn, Closed-form solution of absolute orientation using unit quaternions. J. Opt. Soc. Am. 4(4), 629–642 (1987)

30. BKP Horn, HM Hilden, S Negahdaripour, Closed-form solution of absolute orientation using orthonormal matrices. J. Opt. Soc. Am. 5(7), 1127–1135 (1988) 31. MW Walker, L Shao, RA Volz, Estimating 3-D location parameters using dual

number quaternions. CVGIP: Image Understanding 54(3), 358–367 (1991) 32. A Segal, D Haehnel, S Thrun, Generalized-ICP, in Robotics: Science and

Systems. 4, 2009

**Submit your manuscript to a **

**journal and beneﬁ t from:**

7 Convenient online submission 7 Rigorous peer review

7 Immediate publication on acceptance 7 Open access: articles freely available online 7 High visibility within the ﬁ eld

7 Retaining the copyright to your article