# Automatic Registration of TLS-TLS and TLS-MLS Point Clouds Using a Genetic Algorithm

^{*}

## Abstract

**:**

## 1. Introduction

## 2. Genetic Algorithm

**P**|

**Ch**

_{1},

**Ch**

_{2}, …}. In its initialization, a chromosome is often uniform-randomly generated in the search space. The pseudo code of initialization for float encoding is presented in Algorithm 1. The size of the population M is often empirically set to a few hundred. The search space is the solution domain of the optimization problem, which is defined between the negative and positive upper bound vector. Defining search space is a core issue in actual optimization.

Algorithm 1. The pseudo code of population initialization. | |

1 | Input the upper bound vector of the solution |

2 | domain U and population size M; |

3 | For I = 1:M |

4 | For k = 1:DIMENSION(U) |

5 | Randomly generate r in [−U_{k}, U_{k}]; |

6 | Ch_{i}_{,k} = r; |

7 | End |

8 | End |

_{i}is the fitness value of the ith chromosome. $\sum Nu{m}_{i}$ chromosomes are copied, and then the remained fitness value of the ith chromosome is

_{c}and mutation probability P

_{m}, should be set. Empirically, P

_{c}is 0.6~1 and P

_{m}is not more than 0.1.

Algorithm 2. The pseudo code of arithmetic crossover and non-uniform mutation. | |||

arithmetic crossover | non-uniform mutation | ||

1 | Input a mother chromosome Ch_{1} and | 1 | Input the upper bound vector of the solution |

2 | a father chromosome Ch_{2}; | 2 | domain U and a chromosome Ch; |

3 | Randomly generate p_{c} in [0, 1]; | 3 | Randomly generate p_{m} in [0, 1]; |

4 | If p_{c} < P_{c} | 4 | If p_{m} < P_{m} |

5 | For k = 1:DIMENSION(Ch_{1}) | 5 | T = (1 − Current_{g}/MAX_{g})^{2}; |

6 | Randomly generate r in [0, 1]; | 6 | For k = 1:DIMENSION(Ch) |

7 | T_{k} = r*(Ch_{2,k}−Ch_{1,k}); | 7 | Randomly generate r in [0, 1]; |

8 | Ch_{1,}_{k} = Ch_{1,k} + T_{k}; | 8 | If r > 0.5 |

9 | Ch_{2,k} = Ch_{1,k} − T_{k}; | 9 | Ch_{k} = Ch_{k}+(U_{k} − Ch_{k})*r*T; |

10 | End | 10 | Else |

11 | End | 11 | Ch_{k} = Ch_{k} − (U_{k} + Ch_{k})*r*T; |

12 | End | ||

13 | End | ||

14 | End |

- Maximum number of generations: exceeding the maximum generation MAX
_{g}makes the evolution stopped. - Maximum number of generations that the best fitness keeps stable: if the number of generations, which the current best fitness value is unchanged, is equal to a given value MAX
_{b}, the evolution is also stopped. To find out the globally optimal solution, MAX_{b}should not be too small.

## 3. Proposed GA Registration

#### 3.1. Framework

**S**with points

**S**

_{i}∈

**S**and the target point cloud

**T**with points

**T**

_{j}∈

**T**, the registration problem is to find correspondences (

**S**

_{i},

**T**

_{j}) between

**S**and

**T**, and to estimate the rigid transformation [36]

**t**= [t

_{x}, t

_{y}, t

_{z}]

^{T}is the unknown translation vector;

**R**is the unknown rotation matrix that is expressed by a function of three Euler rotating angles α, β, γ around x, y, z-axes.

**Ch**= [α, β, γ, x, y, z]. Before GA evolution, the population must be initialized. The pseudo code of “Initialization of Population” is shown in Algorithm 1.

**S**in

**T**are searched and the chromosomes are evaluated by a fitness function in “Calculation of Fitness”. According to the computed fitness values, the GA operations can be implemented to produce a new population. The GA evolution is stopped until the termination conditions are satisfied. The “Selection Operation” using the remainder of the stochastic selection has been described in Section 2. The float encoding is applied, so the arithmetic crossover and non-uniform mutation operation (Algorithm 2) are suitable for generating new chromosomes.

**S**and

**T**. The “Transformation” and “Calculation of Fitness” are independently conducted for each chromosome in the population. Therefore, these two steps can be accelerated by multi-thread parallel computing technology. In our program, the Open Multi-Processing (OpenMP) [48] is utilized to accelerate the computation.

Algorithm 3. The pseudo code of the Genetic Algorithm (GA) registration. | |||

1 | Input S and T; Input the upper bound | 15 | If cur_best = last_best |

2 | vector U ;Input the given parameters; | 16 | Iter_best = Iter_best + 1; |

3 | Selection Of Matching Points (S); | 17 | Else |

4 | Selection Of Matching Points (T); | 18 | Iter_best = 0; |

5 | Initialization of Population (P); | 19 | last_best = cur_best; |

6 | Iter = 0; Iter_best = 0; cur_best = 0.0; | 20 | End |

7 | last_best = 0.0; //_best means best fitness | 21 | Foreach Ch_{i} and Ch_{i+}_{1} in P |

8 | While (Iter < Max_{g} and Iter_best < Max_{b}) | 22 | Crossover Operation (Ch_{i}, Ch_{i+}_{1}); |

9 | Foreach Ch_{i} in P | 23 | End |

10 | Transformation (S); | 24 | Foreach Ch_{i} in P |

11 | F_{i} = Calculation Of Fitness (S,T); | 25 | Mutation Operation (Ch_{i}); |

12 | End | 26 | End |

13 | cur_best = Selection Operation (P); | 27 | End //While |

14 | Iter = Iter + 1; |

#### 3.2. Selection of Matching Points

_{max}for distance filtering is set according to the specifications of the scanning system. The D

_{max}should not be larger than the max range and can be often set to near the effective range of the scanner. e.g., under Riegl test conditions, the Riegl VZ400’s max range with target reflectivity 10% is 120 m and its accuracy is 5 mm when the range is 100 m [49], so the D

_{max}can be set to 100 m.

_{g}for uniform sampling can be set several times that of the point resolution. The vertical resolution can be computed by the vertical angular step width of the scanner, and the horizontal resolution can be calculated by the horizontal angular step width in TLS or the scan speed and the driving speed in MLS. e.g., if the angular step is θ rad, the resolution at scanning distance D is θ × D; if the scan speed is L lines/sec and the driving speed is V, the horizontal resolution (scan line spacing) of MLS point cloud is V/L. Obviously, it is difficult to assign the V

_{g}to a certain value because the resolution is changed with the scanning distance. In order not to affect the registration accuracy as much as possible, the V

_{g}should be set as small as possible.

_{S}points from a source point cloud and p

_{T}points from a target point cloud as candidate matching points for registration. In tests of the well-known ICP registration [35], the normal space sampling is proved to be superior compared with random sampling. Figure 3 gives an example of the normal space sampling. It can be seen that this algorithm is able to maintain the main features when the sampling ratio is small. The sampling ratio is crucial to improvement of registration efficiency but it would affect the registration accuracy if the ratio is too small. It can be tested in actual registration.

#### 3.3. Search Space

_{x}, t

_{y}, t

_{z}are unlimited when they are not constrained. It is a very large search space. If the search space is too large, the registration may become slow or may be easily premature, or even degenerate into a random search process. Hence, getting a limited search space is important.

_{x}, t

_{y}, t

_{z}can be set to 10 m. During scanning, the scanners are usually placed near horizontally, so α, β are close to 0°. Taking into account the actual errors, their upper bounds are set to 5°. Therefore, the search space is set to (α, β, γ, t

_{x}, t

_{y}, t

_{z}|α, β ∈ [−5°, 5°], γ ∈ [−180°, 180°], t

_{x}, t

_{y}, t

_{z}∈ [−10 m, 10 m]), i.e., the upper bound vector U is (5,5,180,10,10,10).

_{x}, t

_{y}, t

_{z}can be set to 0.1 m. The search space for GPS RTK is 1 million times less than that for built-in GPS. Other measuring methods—for example by a Total Station with millimeter-level accuracy—can also be implemented in the field work if necessary. Either way, the upper bounds of t

_{x}, t

_{y}, t

_{z}can be set on the basis of the accuracy level of the auxiliary measurements.

#### 3.4. Proposed NSMS Fitness Function

**F**is the fitness value.

_{i}, which must be satisfied with two criteria: (1) 0 < Sc ≤ 1; (2) Sc is monotonically decreasing. The first criteria is to make the fitness function is optimal even if d

_{i}is larger than 1; the second criteria is utilized to directly access to the maximum F.

- d is the distance threshold that is applied to separate the correspondences into two parts: Inliers in the overlap area and outliers in the non-overlap area;
- d
_{ideal}is the ideal distance that is applied to further separate the correspondences in the overlap area into two parts: correspondences in the ideal area and correspondences in the buffer area; - Sc is the score of d; and Sc
_{ideal}is the score of d_{ideal}.

_{ideal}is set to a high confidence level value 0.95. That is to say, the higher the score, the greater the probability that the correspondence belongs to the inliers. The d

_{ideal}need to be set to a small value to ensure that the correspondences with small distances are given high scores. In the registration, the d

_{ideal}is set to 5 cm. The d is determined by the attributes of score function. It is shown in Figure 4b that the smaller the d, the steeper the curve; the bigger the d, the flatter the curve. Hence, the smaller the d, the fewer the solutions with high fitness values, and then the more difficult it is to find out the globally optimal solution; the bigger the d, the closer the scores of inliers and outliers, and the more inaccurate the final solution. In the proposed GA registration, the search space is limited by auxiliary constraints of the scanner station (described in Section 3.3), and so the d can be intermediately set to 2 m.

## 4. Results and Discussions

#### 4.1. Test Datasets

**S**and its reference was calculated. The reference of the dataset 1 was computed by 5 spherical targets (Figure 6) in the scene. The distances from the targets to the scan station are between 20 m and 40 m. The center for each target was extracted. The center point pairs of the source and target point clouds were registered and then the source point cloud was transformed to form the reference. The extraction and transformation were operated on the Riegl’s software RiSCAN PRO [49]. The reference of the dataset 2 was estimated by artificial rough matching (Figure 7) and then the fine ICP registration. 5 point pairs were manually selected for rough matching. The rough matching was operated on the open source software CloudCompare [52] and then the ICP registration was computed by the open source Point Cloud Library (PCL) [36].

#### 4.2. Evaluation of the Proposed GA Registration

_{max}was set to near the effective range of the scanner (Table 1) and the C was set by experiments. According to Table 2, the V

_{g}was set near to the point resolution of dataset 1 with the range at D

_{max}. The p

_{T}was set to 5% which could ensure enough object features for registration (Figure 3b), and the p

_{S}effect on the efficiency was tested. The parameters of the GA evolution were set empirically as described in Section 2. The parameters of the fitness function not included in Table 3 were d = 2 m, d

_{ideal}= 0.05 m, Sc = 0.05, and Sc

_{ideal}= 0.95 (Section 3.4).

_{S}causes the decrease of failure rate and the RMSE. Through manual inspection, the failures were really the situations where the registration goes wrong as shown in Figure 9. The optimizing time is linear complexity with the sampling ratio. For dataset 1, when p

_{S}was more than 0.1%, the failure rate was 0 and the RMSE became unchanged, so p

_{S}was set to 0.1% in the subsequent experiments and results. Similarly, the p

_{S}of dataset 2 was set to 0.5% in the subsequent experiments and results.

#### 4.3. Comparative Study of the Fitness Functions

_{S}was set to 0.1%, 0.5% for the dataset 1 and dataset 2 respectively according to the experimental results displayed in Figure 8, and the other algorithm parameters were the same as the parameters used in Section 4.2. 50 experiments were also carried out. The accuracy and efficiency of the Silva and NSMS fitness function for proposed GA registration are listed in Table 5. The results show that the NSMS fitness function was more accurate and efficient than the Silva fitness function. The optimizing time of the NSMS fitness function was about 20% less than that of the Silva fitness function.

#### 4.4. Registration Integrating ICP with GA

_{b}, the evolution is also stopped”. e is the searching control parameter. This is the only changed content of GA.

## 5. Conclusions

## Acknowledgments

## Author Contributions

## Conflicts of Interest

## References

- Yang, B.; Zang, Y.; Dong, Z.; Huang, R. An automated method to register airborne and terrestrial laser scanning point clouds. ISPRS J. Photogramm. Remote Sens.
**2015**, 109, 62–76. [Google Scholar] [CrossRef] - Abbas, M.A.; Lichti, D.D.; Chong, A.K.; Setan, H.; Majid, Z. An on-site approach for the self-calibration of terrestrial laser scanner. Measurement
**2014**, 52, 111–123. [Google Scholar] [CrossRef] - Larsson, S.; Kjellander, J.A.P. Motion control and data capturing for laser scanning with an industrial robot. Robot. Auton. Syst.
**2006**, 54, 453–460. [Google Scholar] [CrossRef] - Yastikli, N. Documentation of cultural heritage using digital photogrammetry and laser scanning. J. Cult. Herit.
**2007**, 8, 423–427. [Google Scholar] [CrossRef] - Ergincan, F.; Çabuk, A.; Avdan, U.; Tün, M. Advanced technologies for archaeological documentation: Patara case. Sci. Res. Essays
**2010**, 5, 2615–2629. [Google Scholar] - Abellán, A.; Calvet, J.; Vilaplana, J.M.; Blanchard, J. Detection and spatial prediction of rockfalls by means of terrestrial laser scanner monitoring. Geomorphology
**2010**, 119, 162–171. [Google Scholar] [CrossRef] - Corsini, A.; Castagnetti, C.; Bertacchini, E.; Rivola, R.; Ronchetti, F.; Capra, A. Integrating airborne and multi-temporal long-range terrestrial laser scanning with total station measurements for mapping and monitoring a compound slow moving rock slide. Earth Surf. Process. Landf.
**2013**, 38, 1330–1338. [Google Scholar] [CrossRef] - Akgul, M.; Yurtseven, H.; Akburak, S.; Demir, M.; Cigizoglu, H.K.; Ozturk, T.; Eksi, M.; Akay, A.O. Short term monitoring of forest road pavement degradation using terrestrial laser scanning. Measurement
**2017**, 103, 283–293. [Google Scholar] [CrossRef] - Puente, I.; González-Jorge, H.; Martínez-Sánchez, J.; Arias, P. Review of mobile mapping and surveying technologies. Measurement
**2013**, 46, 2127–2145. [Google Scholar] [CrossRef] - Barber, D.; Mills, J.; Smith-Voysey, S. Geometric validation of a ground-based mobile laser scanning system. ISPRS J. Photogramm. Remote Sens.
**2008**, 63, 128–141. [Google Scholar] [CrossRef] - Williams, K.; Olsen, M.J.; Roe, G.V.; Glennie, C. Synthesis of transportation applications of mobile LiDAR. Remote Sens.
**2013**, 5, 4652–4692. [Google Scholar] [CrossRef] - Yan, L.; Liu, H.; Tan, J.; Li, Z.; Xie, H.; Chen, C. Scan Line Based Road Marking Extraction from Mobile LiDAR Point Clouds. Sensors
**2016**, 16, 903. [Google Scholar] [CrossRef] [PubMed] - Guan, H.; Li, J.; Cao, S.; Yu, Y. Use of mobile LiDAR in road information inventory: A review. Int. J. Image Data Fusion
**2016**, 7, 219–242. [Google Scholar] [CrossRef] - Sairam, N.; Nagarajan, S.; Ornitz, S. Development of Mobile Mapping System for 3D Road Asset Inventory. Sensors
**2016**, 16, 367. [Google Scholar] [CrossRef] [PubMed] - Yang, B.; Liu, Y.; Liang, F.; Dong, Z. Using Mobile Laser Scanning Data for Features Extraction of High Accuracy Driving Maps. Int. Arch. Photogramm. Remote Sens. Spat. Inf. Sci.
**2016**, XLI-B3, 433–439. [Google Scholar] [CrossRef] - Wu, H.; Scaioni, M.; Li, H.; Li, N.; Lu, M.; Liu, C. Feature-constrained registration of building point clouds acquired by terrestrial and airborne laser scanners. J. Appl. Remote Sens.
**2014**, 8, 83587. [Google Scholar] [CrossRef] - Theiler, P.W.; Wegner, J.D.; Schindler, K. Globally consistent registration of terrestrial laser scans via graph optimization. ISPRS J. Photogramm. Remote Sens.
**2015**, 109, 126–138. [Google Scholar] [CrossRef] - Yang, B.; Zang, Y. Automated registration of dense terrestrial laser-scanning point clouds using curves. ISPRS J. Photogramm. Remote Sens.
**2014**, 95, 109–121. [Google Scholar] [CrossRef] - Yang, M.Y.; Cao, Y.; Mcdonald, J. Fusion of camera images and laser scans for wide baseline 3D scene alignment in urban environments. ISPRS J. Photogramm. Remote Sens.
**2011**, 66, S52–S61. [Google Scholar] [CrossRef] - Al-Manasir, K.; Fraser, C.S. Registration of terrestrial laser scanner data using imagery. Photogramm. Rec.
**2006**, 21, 255–268. [Google Scholar] [CrossRef] - Weinmann, M.; Weinmann, M.; Hinz, S.; Jutzi, B. Fast and automatic image-based registration of TLS data. ISPRS J. Photogramm. Remote Sens.
**2011**, 66, S62–S70. [Google Scholar] [CrossRef] - Kang, Z.; Li, J.; Zhang, L.; Zhao, Q.; Sisi, Z. Automatic Registration of Terrestrial Laser Scanning Point Clouds using Panoramic Reflectance Images. Sensors
**2009**, 9, 2621–2646. [Google Scholar] [CrossRef] [PubMed] - Salvi, J.; Matabosch, C.; Fofi, D.; Forest, J. A review of recent range image registration methods with accuracy evaluation. Image Vis. Comput.
**2007**, 25, 578–596. [Google Scholar] [CrossRef] - Bernardini, F.; Rushmeier, H. The 3D Model Acquisition Pipeline; Eurographics 2000 State of the Art Report (STAR), 2002; Wiley Online Library: Hoboken, NJ, USA, 2002; pp. 149–172. [Google Scholar]
- Seeger, S.; Laboureux, X. Feature extraction and registration: An overview. In Principles of 3D Image Analysis and Synthesis; Springer: Boston, MA, USA, 2002; pp. 153–166. [Google Scholar]
- Johnson, A.E.; Hebert, M. Using spin images for efficient object recognition in cluttered 3D scenes. IEEE Trans. Pattern Anal. Mach. Intell.
**1999**, 21, 433–449. [Google Scholar] [CrossRef] - Rusu, R.B.; Blodow, N.; Beetz, M. Fast point feature histograms (FPFH) for 3D registration. In Proceedings of the IEEE International Conference on Robotics and Automation, Kobe, Japan, 12–17 May 2009; pp. 3212–3217. [Google Scholar]
- Tombari, F.; Salti, S.; Stefano, L.D. Performance Evaluation of 3D Keypoint Detectors. Int. J. Comput. Vis.
**2013**, 102, 236–243. [Google Scholar] [CrossRef] - Hänsch, R.; Hellwich, O.; Weber, T. Comparison of 3D Interest Point Detectors and Descriptors for Point Cloud Fusion. In Proceedings of the PCV 2014, Zurich, Switzerland, 5–7 September 2014; pp. 57–64. [Google Scholar]
- Rodrigues, M.; Fisher, R.; Liu, Y. Special issue on registration and fusion of range images. Comput. Vis. Image Underst.
**2002**, 87, 1–7. [Google Scholar] [CrossRef] - Theiler, P.W.; Wegner, J.D.; Schindler, K. Keypoint-based 4-Points Congruent Sets—Automated marker-less registration of laser scans. ISPRS J. Photogramm. Remote Sens.
**2014**, 96, 149–163. [Google Scholar] [CrossRef] - Besl, P.J.; Mckay, N.D. A method for registration of 3-D shapes. IEEE Trans. Pattern Anal. Mach. Intell.
**1992**, 14, 239–256. [Google Scholar] [CrossRef] - Chen, Y.; Medioni, G. Object modelling by registration of multiple range images. Image Vis. Comput.
**1992**, 10, 145–155. [Google Scholar] [CrossRef] - Low, K. Linear Least-Squares Optimization for Point-to-Plane ICP Surface Registration; Technical Report; University of North Carolina: Chapel Hill, NC, USA, 2004. [Google Scholar]
- Rusinkiewicz, S.; Levoy, M. Efficient variants of the ICP algorithm. In Proceedings of the Third International Conference on 3-D Digital Imaging and Modeling, Quebec City, QC, Canada, 28 May–1 June 2001; pp. 145–152. [Google Scholar]
- Holz, D.; Ichim, A.E.; Tombari, F.; Rusu, R.B. Registration with the Point Cloud Library: A Modular Framework for Aligning in 3-D. IEEE Robot. Autom. Mag.
**2015**, 22, 110–124. [Google Scholar] [CrossRef] - Zhu, J.; Meng, D.; Li, Z.; Du, S.; Yuan, Z. Robust registration of partially overlapping point sets via genetic algorithm with growth operator. IET Image Process.
**2014**, 8, 582–590. [Google Scholar] [CrossRef] - Man, K.F.; Tang, K.S.; Kwong, S. Genetic algorithms: Concepts and applications. IEEE Trans. Ind. Electron.
**1996**, 43, 519–534. [Google Scholar] [CrossRef] - Jacq, J.J.; Roux, C. Registration of 3-D images by genetic optimization. Pattern Recognit. Lett.
**1995**, 16, 823–841. [Google Scholar] [CrossRef] - Brunnstrom, K.; Stoddart, A.J. Genetic Algorithms for Free-Form Surface Matching. In Proceedings of the International Conference on Pattern Recognition, Vienna, Austria, 25–29 August 1996; pp. 689–693. [Google Scholar]
- Yamany, S.M.; Ahmed, M.N.; Farag, A.A. A new genetic-based technique for matching 3-D curves and surfaces. Pattern Recognit.
**1999**, 32, 1817–1820. [Google Scholar] [CrossRef] - Silva, L.; Bellon, O.R.; Boyer, K.L. Enhanced, robust genetic algorithms for multiview range image registration. In Proceedings of the Fourth International Conference on 3-D Digital Imaging and Modeling, Banff, AB, Canada, 6–10 October 2003; pp. 268–275. [Google Scholar]
- Silva, L.; Bellon, O.R.; Boyer, K.L. Precision range image registration using a robust surface interpenetration measure and enhanced genetic algorithms. IEEE Trans. Pattern Anal.
**2005**, 27, 762–776. [Google Scholar] [CrossRef] [PubMed] - Schenk, S.; Hanke, K. Genetic Algorithms for Automatic Registration of Laser Scans with Imperfect and Subdivided Features (GAReg-ISF). Photogramm. Fernerkund. Geoinf.
**2009**, 2009, 23–32. [Google Scholar] [CrossRef] - Lomonosov, E.; Chetverikov, D.; Rt, A. Pre-registration of arbitrarily oriented 3D surfaces using a genetic algorithm. Pattern Recognit. Lett.
**2006**, 27, 1201–1208. [Google Scholar] [CrossRef] - Brindle, A. Genetic Algorithms for Function Optimization. Ph.D. Thesis, University of Alberta, Edmonton, AB, Canada, 1981. [Google Scholar]
- Michalewicz, Z.; Janikow, C.Z.; Krawczyk, J.B. A modified genetic algorithm for optimal control problems. Comput. Math. Appl.
**1992**, 23, 83–94. [Google Scholar] [CrossRef] - OpenMP Home Page. Available online: www.openmp.org (accessed on 20 June 2017).
- RIEGL Laser Measurement Systems. Available online: www.riegl.com (accessed on 20 June 2017).
- Pauly, M.; Keiser, R.; Gross, M. Multi-scale Feature Extraction on Point-Sampled Surfaces. Comput. Graph. Forum
**2003**, 22, 281–289. [Google Scholar] [CrossRef] - Colomina, I. On Trajectory Determination for Photogrammetry and Remote Sensing: Sensors, Models and Exploitation. In Proceedings of the Photogrammetric Week, Stuttgart, Germany, 7–11 September 2015; pp. 131–142. [Google Scholar]
- CloudCompare 3D Point Cloud and Mesh Processing Software. Available online: www.cloudcompare.org (accessed on 3 August 2017).

**Figure 1.**The framework and selection of matching points of the proposed GA registration. The GA evolution is showed in the dashed box. (

**a**) The flow chart of GA registration; (

**b**) The process of selection of mathing points.

**Figure 2.**Scattered points removal. The point clouds are rendered by elevation. (

**a**) The point cloud before scattered points removal; (

**b**) the point cloud after scattered points removal.

**Figure 3.**Normal space sampling. The point clouds are rendered by elevation. (

**a**) The point cloud before normal space sampling; (

**b**) the point cloud after 5% points were selected; (

**c**) the point cloud after 0.1% points were selected.

**Figure 4.**The score function and its instances. (

**a**) The diagram of score function; (

**b**) the instances of score function under different distance thresholds.

**Figure 5.**The test datasets. The red data are target point clouds and the blue data are source point clouds. (

**a**) The raw point clouds of data set 1; (

**b**) the raw point clouds of data set 2; (

**c**) the point clouds of data set 1 after selection of matching points; (

**d**) the point clouds of data set 2 after selection of matching points; (

**e**) the registered point clouds of data set 1; (

**f**) the registered point clouds of data set 2.

**Figure 6.**The spherical targets of data set 1. (

**a**) the used target (white sphere). (

**b**) the distribution of the targets (red circle points). The red triangle denotes the scan station.

**Figure 8.**The failure rates, RMSEs and mean optimizing time of different sampling ratios. (

**a**–

**c**) are the results of data set 1. (

**d**–

**f**) are the results of data set 2.

**Figure 9.**The examples of the situations where the registration goes wrong. The red data are target point clouds and the blue data are source point clouds. (

**a**) The mismathed point clouds of data set 1; (

**b**) the mismathed point clouds of data set 2; (

**c**) a detail-zoom of (

**a**); (

**d**) a detail-zoom of (

**b**).

**Figure 10.**The mean and maximum fitness values of GA. A polyline with random color represents the change of the fitness value of one experiment. (

**a**) The change of the fitness values of data set 1; (

**b**) the change of the fitness values of data set 2.

**Table 1.**The important specifications of 3D Riegl VZ400 and 2D Riegl VUX [49].

VZ400 | VUX | |
---|---|---|

Max range target reflectivity 80% | 320 m | 420 m |

Max range target reflectivity 10% | 120 m | 150 m |

Accuracy | 5 mm@100 m | 5 mm@100 m |

Horizontal angular step width/Scan speed | 0.0024°~0.5° | 10–250 scan/s |

Vertical angular step width | 0.0024°~0.288° | 0.0036°~0.3° |

Laser Beam Divergence | 0.3 mrad | 0.5 mrad |

Data Set 1 | Data Set 2 | |||
---|---|---|---|---|

Source | Target | Source | Target | |

Horizontal angular step width/Scan speed | 0.015° | 0.015° | 0.15° | 200 scan/s |

Horizontal resolution | 2.6 cm@100 m | 2.6 cm@100 m | 5.2 cm@20 m | 5–6 cm |

Vertical angular step width | 0.015° | 0.015° | 0.15° | 0.3° |

Vertical resolution | 2.6 cm@100 m | 2.6 cm@100 m | 5.2 cm@20 m | 5.2 cm@10 m |

point count | one hundred million | ten million | ||

Accuracy | millimeter level | centimeter level |

D_{max} | 100 m | V_{g} | 2.5 cm | C | 0.05 | p_{T} | 5% | p_{S} | tested |

M | 100 | P_{c} | 0.9 | P_{m} | 0.1 | MAX_{g} | 300 | MAX_{b} | 20 |

Datasets | Point Clouds | Remained Points (%) | Running Time (s) |
---|---|---|---|

Data set 1 | S | 11.56 | 155 |

T | 11.42 | 100 | |

Data set 2 | S | 19.46 | 20 |

T | 58.38 | 31 |

Datasets | Fitness Functions | RMSEs (mm) | Number of Generations | Mean Optimizing Time (s) | ||||
---|---|---|---|---|---|---|---|---|

Min | Max | Mean | Min | Max | Mean | |||

Dataset 1 | Silva | 4.2 | 5.5 | 4.8 | 130 | 219 | 171 | 250 |

NSMS | 3.4 | 4.9 | 4.0 | 119 | 222 | 160 | 199 | |

Dataset 2 | Silva | 61.1 | 97.9 | 75.1 | 107 | 224 | 162 | 202 |

NSMS | 22.9 | 36.1 | 28.8 | 93 | 242 | 154 | 163 |

© 2017 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Yan, L.; Tan, J.; Liu, H.; Xie, H.; Chen, C.
Automatic Registration of TLS-TLS and TLS-MLS Point Clouds Using a Genetic Algorithm. *Sensors* **2017**, *17*, 1979.
https://doi.org/10.3390/s17091979

**AMA Style**

Yan L, Tan J, Liu H, Xie H, Chen C.
Automatic Registration of TLS-TLS and TLS-MLS Point Clouds Using a Genetic Algorithm. *Sensors*. 2017; 17(9):1979.
https://doi.org/10.3390/s17091979

**Chicago/Turabian Style**

Yan, Li, Junxiang Tan, Hua Liu, Hong Xie, and Changjun Chen.
2017. "Automatic Registration of TLS-TLS and TLS-MLS Point Clouds Using a Genetic Algorithm" *Sensors* 17, no. 9: 1979.
https://doi.org/10.3390/s17091979