<figure><img src="image_1.png" /></figure>

HAL
open science

# The 3D Point Clouds Registration for Human Foot

Yi Xie, Xiuqin Shang, Yuqing Li, Xiwei Liu, Fenghua Zhu, Gang Xiong, Susanna Pirttikangas, Jiehan Zhou

<figure><img src="image_2.png" /></figure>

► To cite this version:

Yi Xie, Xiuqin Shang, Yuqing Li, Xiwei Liu, Fenghua Zhu, et al.. The 3D Point Clouds Registration for Human Foot. 2nd International Conference on Intelligence Science (ICIS), Nov 2018, Beijing, China. pp.282-292, 10.1007/978-3-030-01313-4_30 . hal-02118798

HAL Id: hal-02118798

https://inria.hal.science/hal-02118798

Submitted on 3 May 2019

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_3.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# The 3D Point Clouds Registration for Human Foot

Yi Xie<sup>1,2</sup>, Xiuqin Shang<sup>2,3</sup>, Yuqing Li<sup>2,4</sup>, Xiwei Liu<sup>5,6</sup>, Fenghua Zhu<sup>2</sup>, Gang Xiong<sup>2,3</sup>(Corresponding Author*), Susanna Pirttikangas<sup>7</sup>, Jiehan Zhou<sup>7</sup>

1. School of Electrical & Electronic Engineering, the University of Manchester,
   Manchester, M13 9PL, the United Kingdom

2. The State Key Laboratory of Management and Control for Complex Systems, Institute of Automation, Chinese Academy of Sciences, Beijing 100190, China

3. Cloud Computing Center, Chinese Academy of Sciences, Dongguan, Guangdong, China

4. College of Information Science and Technology, Beijing University of Chemical
   Technology, Beijing, China

5. Qingdao Academy of Intelligent Industries, Qingdao, China

6. Beijing Engineering Research Center of Intelligent Systems and Technology, Institute of
   Automation,
   Chinese Academy of Sciences, Beijing 100190, China

7. The Center for Ubiquitous Computing, University of Oulu, Oulu, Finland
   xieyi94@hotmail.com, xiuqin.shang@ia.ac.cn, 13051108860@163.com, xiwei.liu@ia.ac.cn,
   fenghua.zhu@ia.ac.cn, gang.xiong@ia.ac.cn, susanna.pirttikangas@ee.oulu.fi,
   jiehan.zhou@ee.oulu.fi

**Abstract.** For personalized design it is important to be able to collect, measure and evaluate individual properties of human beings. This paper proposes registration for the point clouds during foot 3D scanning. In the experiment, we get the point clouds of the human foot from the Artec 3D scanner and complete the registration of the point clouds from different visual angles. Dealing with the customized footwear, we choose a novel algorithm, which combines the NARF key point detector and the FPFH descriptor, to improve the efficiency of the initial iteration and reduce the computation burden of matching process.

**Keywords:** Registration for point clouds, NARF key point detector, FPFH descriptor

## 1 Introduction

Social manufacturing can transform traditional enterprises to intelligent enterprises that can actively sense and respond to customers' individualized needs in massive scale [1]. For example, enterprises will be able to acquire the information or data of customers' needs and properties, like the 3D data of their feet, and then design an individual product through 3D printing. Our team focuses on the customized footwear and try to complete scanning, registration, and reconstruction of foot point clouds swiftly and accurately to get the related parameters of feet. The process includes 3D scanning technology and getting the 3D data from the customers.
However, when acquiring point clouds data, usually it is impractical to get all the geometrical information of the object in one scan. This is because the 3D scanning is related to many factors like the contradiction between the size of the object and the field of the view. The self-occlusion problem from the scanning angle can also cause the problem. The information from the one-sided visual angle is just a part of the whole point clouds data so that we need to integrate all of the information collected. In addition, the mismatching problem caused by rotation and translation also needs to be solved [3]. To achieve the visualized operation of the whole point clouds data, we integrate the data from every visual angle and convert into the same coordinate system according to the visual angle relationship. This is the point clouds registration problem, which this paper focuses on.

Recently, the most common way to match clouds is Iterative Closest Point (ICP) method, proposed by Besl and Mckay [4]. The ICP algorithm establishes the correspondences through iterative search for the closest point between two-point clouds. However, the searching process is very time-consuming and may be trapped at local minimum. Therefore, this paper presents a method, only using the geometric feature data and through a coarse registration process, improving the efficiency of iterative search of ICP.

The remaining of this paper is organized as follows. The registration method is introduced in Section II. The experiments and results are discussed in Section III. Section IV concludes the paper.

## 2 Method Review

This paper mainly aims to study 3D point cloud registration for foot 3D scan data. The methods we use and compare are feature description and registration. Our feature-based approach checks the rigid transformation through matching the same and important feature between two images. First, we extract the features from two pictures including points, lines and edges. Then we establish correspondences among the features. At last, we estimate the coordinate transformation parameters including rotation matrix $T$ and translation vector $R$. The nature of point cloud registration is to choose a reasonable coordinate transformation, merge each angle point cloud to this same coordinate system, and perform the ICP algorithm [5] to form a complete point cloud. Fig. 1 illustrates the corresponding steps.
<figure><img src="image_4.png" /><figcaption>Fig. 1. The flow chart of the alignment.</figcaption></figure>

This paper concentrates on rigid transformations. The rigid transformations have a relatively smaller computation burden and a more uniform model than non-rigid transformations. The key steps in this experiment reported in this paper include the following:

1. Acquire a point cloud from different angles under the rigid transformation with a handheld Artec Eva 3D scanner.

2. Use the Normal Aligned Radial Feature (NARF) algorithm to extract key points from the point cloud.

3. Put each key point on the origin and create a partial reference system. Estimate the Fast Point Feature Histograms (FPFH) descriptor.

4. Perform the SAmple Consensus Initial Alignment (SAC-IA) method to estimate the correspondences and reject the incorrect point pairs.

5. Calculate matrix *T* and translation vector *R*.

6. Use the ICP algorithm to get the registration result.

## 2.1 The NARF Key Point

It is essential that the stability and distinctiveness in a point cloud are secured. The number of key points can be far less than the number of points in the original point cloud. In combination with the local features, the key point descriptor is usually used for the
compact representation of the original point cloud without loss of representation and description, but will accelerate subsequent processing. In this paper, we choose the NARF algorithm to find the key points.

The NARF algorithm is a novel method of point-of-interest extraction that combines the feature descriptors of 3D range data. It aims at interest point detection and feature descriptor, which is applied in the object recognition in the range of 3D data calculation. This kind of method makes explicit use of borders information of the object and make a try to extract feature key points from the place where the surface is stable (to ensure a robust estimation of the normal) and the place where there are sufficient changes in the immediate vicinity [6]. The specific operations of extracting NARF key points from a range image are as follows:

1. Search substantial increases in the 3D distances between neighboring image points to find out edges in the range image, meaning non-continuous traversals from foreground to background.

2. Look at the local neighborhood of every image point and determine a score how much the surface changes at this position and a dominant direction for this change, incorporating the information about borders.

3. Look at the dominant directions in the surrounding of each image point and calculate an interest value that represents i) how much these directions differ from each other and ii) how much the surface in the point itself changes (meaning how stable it is).

4. Perform smoothing on the interest values.

5. Perform non-maximum suppression to find the final key points.

We have the following requirements for our interest point extraction procedure [7]:

i) The method must take information about borders and the surface structure into account;

ii) it must select positions that can be reliably detected even if the object is observed from another perspective; and iii) the points must be on positions that provide stable areas for normal estimation or the descriptor calculation in general.

## 2.2 The FPFH Descriptor

For most of most real-time applications, calculation of closed point cloud through PFH algorithm is one of the biggest performance bottlenecks. This experiment uses the simplified calculation approach of PFH, which we name it FPFH [8].

### 2.2.1 The PFH Descriptor

As a result of so many feature points in the most scenes and these points have many same or similar feature values so point feature representation is an effective way to reduce the characteristics of all information. The PFH method gets it parameterization to consult the space difference between the point and its neighbors and form a multi-dimensional histogram describing the geometry property of the point's neighborhood [9]. The high dimensional hyperspace where the histogram is located provides a measurable information space for the feature expression. For 6D Object pose corresponding point cloud surface, it has invariance and it also has robustness under different sampling densities and neighbors' noise level.
The PFH expression method is based on the relationship between the point and its neighborhood and estimated normal. In brief, this approach takes the interaction among all estimated normal into consideration and try to grab the best surface changing situation with the described samples' geometry property. Therefore, making up the feature hyperspace depends on the quality of the point surface normal estimation. In Fig. 2, we see the PFH affected area of a query point ($P_q$). ($P_q$) was marked in red and put in the central position of globe (sphere in 3D), which the radius is $r$.

<figure><img src="image_5.png" /><figcaption>Fig. 2. The influence region diagram for a Point Feature Histogram.</figcaption></figure>

The specific calculation method is as follows:

1. Go through all adjacent point in the $k$ neighborhood of the sample point $P_q$.

2. For calculating every pair points $P_i$ and $P_j$ ($i \neq j$) and the error among their corresponding normal vectors $N_i$ and $N_j$. We define a local coordinate system UVW for one of the points, as in Fig. 3:

<figure><img src="image_6.png" /><figcaption>Fig. 3. Define a settled local coordinate system.</figcaption></figure>

Using the above uvw frame, the difference between the two normals $n_s$ and $n_t$ can be expressed as a set of angular features as follows:

$$ \alpha = v \cdot n_t \qquad (1) $$

$$ \varphi = \mathbf{u} \cdot \frac{(\mathbf{P}_t - \mathbf{P}_s)}{\|\mathbf{P}_t - \mathbf{P}_s\|} \qquad (2) $$

$$ \theta = \arctan(\mathbf{w} \cdot \mathbf{n}_t, \mathbf{u} \cdot \mathbf{n}_t) \qquad (3) $$

3. Calculate the quadruplet $\langle \alpha, \theta, \varphi, d \rangle$ of each pair of points in the $k$ neighborhood, which reduces the related parameters of the pair and their normal from 12 (uvw coordinate values and normal information) to 4. The relation of two points in
the neighborhood can be expressed by α, θ and φ. When these three figures of every point have been calculated, the data would be put in the histograms based on a statistical method.

The paper uses PCL (Point Cloud Library)-features module of PCL to perform the PFH algorithm. The default PFH implementations uses 5 sections to classify. (E.g., each of the four feature values uses five sections to make statistics.) Then we get a feature vector with 125(5³) floating-point numbers elements in a point type, making every pair can get into the interval of α, θ and φ. And we make statistics to every pair of points and finally get point feature histogram describing the local geometric features of the feature points.

### 2.2.2 The Principle of the FPFH Descriptor

As a simplified and swift algorithm of PFH, FPFH algorithm remains good robustness and identifying characteristic and meanwhile, through the way of simplifying and decreasing the computational complexity, FPFH improves the matching speed to make sure this approach is equipped with real-time. [8]

We describe the histogram operating procedure as follows.

1. For each sample point, calculate the three feature values between this point and every point in its k neighborhood and then output a simplified point feature histogram (SPFH).

2. Check the k neighborhood of each point of the k neighborhood respectively and form their own SPFH.

3. Calculate the final SPFH using the followed formula,

$$FPFH(P_q) = SPFH(P_q) + \frac{1}{k} \sum_{i=1}^{k} \frac{1}{\omega_i} \cdot SPFH(P_i) \quad (4)$$

where ωi is weight coefficient, representing the reflecting range centered by the k neighborhood of Pq, meaning the distance between sample point Pq and the closed point Pj. As the Fig. 4 shown:

<figure><img src="image_7.png" /><figcaption>Fig. 4. The influence region diagram for a Fast Point Feature Histogram.</figcaption></figure>

The influence region diagram for a Fast Point Feature Histogram.

The default FPFH implementations uses 11 subintervals. (e.g. each of the four feature values is divided by its parameter section into 11 parts.) The histogram is calculated
respectively and be merged into a 33-element feature vector. We unify all SPFH of every pair of point of the sample point and finally we merge each SPFH into the FPFH of this sample point.

### 2.2.3 The Difference of PFH and FPFH

The paper [9] has introduced the distinctions of calculation method between PFH and FPFH:

1. The FPFH does not do statistics for the calculation parameters of all lined pair points so it may lose some important pairs of points, which might make contribution to the geometrical characteristics of the neighborhoods of the query points.

2. Because of the re-weight computing, FPFH recaptures important pairs of points again with the help of SPFH value.

3. FPFH has more possibilities to work in the real-time application in light of the decrease of computational complexity.

## 2.3 Improved FPFH Descriptors

As is easily known from the following contexts, at the same time that FPFH algorithm simplifies the calculation of PFH algorithm and boost the operating instantaneity and efficiency, the lost points may have meanings to the geometrical characteristics of the neighborhoods of the query points. Therefore, we added the NARF key points within the extraction of features points to make FPFH algorithm speed up the efficiency of initial iteration and reduce the matching calculation because of the decrease of descriptors dimensions. Therefore, we are able to use the features of few points to find similar parts in an object's or a scene's different visual angles. Fig. 6 is the process of the improved FPFH method.

## 2.4 Registration Based on Descriptors

To achieve the rectification of the point clouds, we must find out the similar features between point cloud and determine the overlap sections among the data. We choose mutual correspond estimation algorithm to estimate the match of the corresponding points and take the intersections as the final results, which is able to boost the accuracy of estimation.

### 2.4.1 Sample Consensus Initial Alignment

Noise and other disturbing elements might have the matching process make mistakes, which would make transformation matrix appear error. To increase the accuracy of the transformation matrix, we work with Sample Consensus Initial Alignment (SAC-IA) algorithm to get rid of the wrong matching relation and we use ICP algorithm to complete the match in the end.

The step of Sample Consensus Initial Alignment (SAC-IA) can be divided into two parts [11]: the greedy initial alignment and the consistency sampling method. The greedy initial alignment uses the feature of rotation invariance inside the cloud points so it is robust. However, the computational complexity of this alignment is high and it
may only get a locally optimal solution. We choose the consistency sampling method, which can keep the same the geometrical relationship of the correspondences rather than get the data of the all correspondences' combinations.

### SAmple Consensus Initial Alignment (SAC-IA):

1. Choose *s* samples points from point cloud A and make sure that their distance is greater than the given minimum value *d*<sub>min</sub>.

2. Find the points, which satisfy the similarity conditions to *s* samples points, from point cloud B and deposit them into a list. Select some correspondences randomly.

3. According to the correspondences of point cloud A and B, calculate the rotation matrix.

### 2.4.2 Iterative Closest Point (ICP)

The rotation matrix result is able to make the two points clouds data match generally but the accuracy cannot meet the requirement of practical engineering application. Therefore, on the basis of coarse registration, we must go ahead with rigid registration. The ICP algorithm [5] is a common rigid alignment method. It requires closer distance of the two points clouds data. During each iterative process, firstly, determine the sets of correspondences P and Q, P ⊂ A, Q ⊂ B (A and B are the point clouds from two different visual directions) and the amount of the correspondences is *n*. Then use the least square method to calculate iteratively the best transformation of coordinates (rotation matrix *T* and translation vector *R*) make the error the least until it satisfies the error requirement.

The process of ICP can be divided into 4 main parts: 1) Search for correspondences. 2) Reject bad correspondences. 3) Estimate a transformation using the good correspondences. 4) Iterate.

## 3 Results and Discussion

In this research, we scanned a human foot by Artec3D Eva handed scanner and then aligned point clouds data of two different visual angles it. The development environment chooses Visual Studio 2013 + PCL1.7.2 and we coded with C++ to achieve the procedure of this researched method. The registration results and the analysis are as follow:

Fig. 5 shows the initial positions of point clouds of both visual angles:
<figure><img src="image_8.png" /><figcaption>Fig. 5. Initial positions of point clouds.</figcaption></figure>

Then we use NARF algorithm to find out the key points in the single A and B respectively and we can see there are 18 key points in the first visual angle and 15 in the second one.

<figure><img src="image_9.png" /></figure>

<figure><img src="image_10.png" /><figcaption>Fig. 6. The NARF key points results. (1)The key points of the point cloud from the single A. (2)The key points of the point cloud from the single B.</figcaption></figure>

<figure><img src="image_11.png" /><figcaption>Fig. 7. The alignment result. (1) is the rigid registration result based on the improved FPFH method. (2) the rigid registration result based on the FPFH algorithm.</figcaption></figure>

We tested the improved FPFH method and the FPFH algorithm respectively to complete the coarse registration. Then we used ICP algorithm to finish the rigid registration process. Fig. 7 and Table 1 tells that although we added a step to find out the key points, the computing time of the improved FPFH method is much less than the time of the simple FPFH algorithm, while the accuracy of the former is even a little bit better than the latter. This is because calculating the descriptors of the NARF key points of the
point clouds reduces the calculation and the key points keep the important information of the point clouds.

<table><caption>Table 1. The result of the rigid registration.</caption><thead><tr><th>Robot model</th><th>The improved FPFH method</th><th>The FPFH method</th></tr></thead><tbody><tr><td>The alignment accuracy</td><td>2.74126e-4</td><td>2.83642e-4</td></tr><tr><td>The computing time of searching the NARF key points</td><td>21</td><td>N/A</td></tr><tr><td>The computing time of the coarse registration</td><td>47</td><td>141</td></tr><tr><td>The computing time of the rigid registration</td><td>30</td><td>37</td></tr><tr><td>The total time</td><td>98</td><td>178</td></tr></tbody></table><p>The rotation matrix T are</p><table><tbody><tr><td>0.993899</td><td>-0.074168</td><td>0.081659</td><td>-0.125493</td></tr><tr><td>0.074414</td><td>0.997230</td><td>0.000024</td><td>-0.005049</td></tr><tr><td>-0.08143</td><td>0.006053</td><td>0.996663</td><td>0.0140594</td></tr><tr><td>0</td><td>0</td><td>0</td><td>1</td></tr></tbody></table>

and

$$ \begin{bmatrix} 0.781167 & -0.182765 & 0.596974 & -0.767557 \\ 0.164061 & 0.982681 & 0.086170 & -0.110012 \\ -0.602383 & 0.030627 & 0.797621 & 0.258679 \\ 0 & 0 & 0 & 1 \end{bmatrix} \text{ respectively.} $$

The number of the point clouds data of this robot model is approximately 3000. When the number of the point clouds rises to hundreds of thousands or several millions, the method in this paper has a reliable performance and compact procedure. It also has practical value for the practical engineering requirement.

## 4 Conclusions

This paper presented a novel point clouds registration method used for creating process to smoothen a customized footwear design. This method combines four algorithms: NARF, FPFH, SAC-IC and ICP, while the combination of the first two method reduce the computation burden of matching process and short the computing time. The experiment result illustrated the availability and practicability of the proposed method in this paper. Each algorithm has its advantages and disadvantages. The merge of specific algorithms is supposed to be a solution facing some special problems.

## Acknowledgment

This work was supported in part by the National Key Research and Development Program of China (No. 2018YFB1004800), the National Natural Science Foundation of China under Grants 61773381, 61773382, 61533019 and 91520301; Chinese Guangdong's S&T project (2016B090910001, 2017B090912001); Dongguan's Innovation Talents Project (Gang Xiong, Jian Lu); 2017 Special Cooperative Project of Hubei Province and Chinese Academy of Sciences.
References

1. From Social Computing to Social Manufacturing: The Coming Industrial Revolution and New Frontier in Cyber-Physical-Social Space

2. Y. J. Zhu, L. S. Zhou. "Registration of Scattered Cloud Data". Journal of computer-aided design & computer graphics, Vol. 18, no. 4, pp. 475-487, 2006. (in Chinese)

3. R. B. Rusu, Z.C. Marton, N. Blodow, and M. Beetz, "Learning Information Point Classes for the Acquisition of Object Model Maps," in Proceedings of the 10th International Conference on Control, Automation, Robotics and Vision (ICARCV), Hanoi, Vietnam, December 17-20, 2008.

4. P J Besl, N. D. Mckay. Method for registration of 3-D shapes, Robotics - DL tentative. International Society for Optics and Photonics, pp. 239-256, 1992.

5. Z. Zhang, "Iterative Point Matching for Registration of Free-Form Curves and surfaces", International Journal of Computer Vision, Vol. 13, no. 2, pp. 119-152, 1994.

6. B. S. Radu, R. B. Rusu, and K. Konolige, et al. "NARF: 3D Range Image Features for Object Recognition". 2010.

7. B. Steder, R. B. Rusu, and K. Konolige, et al. "Point feature extraction on 3D range scans taking into account object boundaries". Vol. 30, no 1, pp. 2601-2608, 2011.

8. R. B. Rusu, N. Blodow, and M. Beetz. "Fast Point Feature Histograms (FPFH) for 3D registration," IEEE International Conference on Robotics and Automation. IEEE Press, pp. 3212-3217, 2009.

9. R. B. Rusu, N. Blodow, Z. C. Marton, and M. Beetz, "Aligning point cloud views using persistent feature histograms," in Proceedings of the 21st IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Nice, France, September 22-26, 2008.

10. J. Lu, Z. T. Peng, and D. L. Hong, et al. "The registration algorithm of point cloud based on optional extraction FPFH feature". The Journal of New Industrialization, Vol 7, pp. 75-81, 2014. (in Chinese)

11. M. Price, J. Green, and J. Dickens. "Point-cloud registration using 3D shape contexts". Robotics and Mechatronics Conference of South Africa (ROBOMECH), 2012:1-5