PLANE-BASED REGISTRATION OF SEVERAL THOUSAND LASER SCANS ON STANDARD HARDWARE

The automatic registration of terrestrial laser scans appears to be a solved problem in science as well as in practice. However, this assumption is questionable especially in the context of large projects where an object of interest is described by several thousand scans. A critical issue inherently linked to this task is memory management especially if cloud-based registration approaches such as the ICP are being deployed. In order to process even thousands of scans on standard hardware a plane-based registration approach is applied. As a first step planar features are detected within the unregistered scans. This step drastically reduces the amount of data that has to be handled by the hardware. After determination of corresponding planar features a pairwise registration procedure is initiated based on a graph that represents topological relations among all scans. For every feature individual stochastic characteristics are computed that are consequently carried through the algorithm. Finally, a block adjustment is carried out that minimises the residuals between redundantly captured areas. The algorithm is demonstrated on a practical survey campaign featuring a historic town hall. In total, 4853 scans were registered on a standard PC with four processors (3.07 GHz) and 12 GB of RAM.


INTRODUCTION
Terrestrial laser scanners (TLS), whose measurements lead to point clouds, are an established method to capture dense 3Dinformation for various fields of interest such as forestry (Maas et al., 2008), as-built documentation (Tang et al., 2010) or cultural heritage (Kersten, 2007). The very first task after data acquisition is the transformation of several point clouds into a common reference system since every laser scan is captured within a local coordinate system. In general, two strategies can be applied in order to determine transformation parameters between the coordinate systems, either the georeferenced (Scaioni et al., 2013) or the co-registration (Grant et al., 2012) approaches. The peculiarity of the first method is that the common coordinate frame is described by a reference coordinate system which is established by additional geodetic observations (Paffenholz et al., 2010;Reshetyuk, 2010). A downside of this strategy, amongst others, is that additional geodetic sensors are required which extend the error budget of TLS (Soudarissanane et al., 2007;Wujanz et al., 2017). The second methodology, which is also referred to as registration or alignment, works solely on the captured data and hence presents greater potential regarding the achievable accuracy since the error budget is restricted to one sensornamely the TLS.
Up to now the transformation into a reference coordinate system has been preferably carried out by usage of artificial targets. Several disadvantages can be related to this strategy such as (i) the effort of distributing the targets in the object space and (ii) the limited extent of the targets within the region of interest (ROI). A geodetic principle in the context of computing transformation parameters is that corresponding points should surround the ROI. If this is not the case, extrapolative effects presumably occur and consequently falsify the outcome.
Numerous alternatives for referencing point clouds exist which can be classified as follows: • Registration based on radiometric features, • Surface based registration, • Use of geometric primitives.
Radiometrically motivated registration strategies have the advantage of allowing the access to well established techniques from the field of image matching. In order to achieve this, the point clouds are converted into intensity images in which feature points are extracted. Based on so called feature descriptors correspondences and thus transformation parameters can be computed (Böhm & Becker 2007). However, the descriptors are affected by distortions in the imagery as a consequence of the polar spherical sampling process that is performed by TLS. Houshiar et al. (2015) proposes a solution that deploys map projections in order to reduce the aforementioned effect.
The most popular method for registration is the iterative closest point algorithm (ICP) as proposed by Besl & McKay (1992) that belongs to the family of surface-based approaches. The ICP iteratively computes correspondences in the overlapping area between two point clouds based on which transformation parameters are computed. Subsequently the transformation parameters are applied to one of the point clouds which usually refines the relative alignment between the datasets. This procedure is iteratively repeated until a convergence criterion is satisfied. A drawback of the algorithm is its dependence to a sufficient pre-alignment of two datasets. In order to tackle the problem of providing a satisfactory pre-alignment of the point clouds, several strategies are suitable such as direct georeferencing or the application of pre-alignment algorithms (Aiger et al., 2008).
Apart from the aforesaid methods of using surface-based approaches or radiometric features, geometric information can also be used in form of geometric primitives, such as edges (Lichtenstein & Benning, 2009) or planes. The latter one is superior to all aforementioned strategies due to the fact that it (i) improves the overall accuracy by using adjusted parameters as input for the computation of transformation parameters instead of individual points and that (ii) plane parameters are almost invariant against varying point sampling. The latter aspect leads to the problem that the error budget of TLSregistration increases in direct dependence to the local resolution of point clouds. An argument for using plane-based registration in the built environment from the perception of the object space is associated to the fact that planes are the predominant geometric shape in manmade structures.
The general idea to use extracted planes instead of points from laser scans was presumably introduced by Gielsdorf et al. (2004) in the context of TLS calibration. Later contributions of the same research group added a first implementation of planeto-plane registration (Rietdorf, 2005) that finally lead to Scantra (technet, 2018), a commercial software that was used in this contribution. Dold & Brenner (2006) proposed a two-tiered plane-based registration algorithm that incorporates planes and visual information captured by a TLS' internal camera. Bosché (2012) suggests a semi-automatic plane-based registration approach to transform acquired scans into the geodetic datum of a given 3D-model, e.g. a building information model (BIM). Previtali et al. (2014) introduced a plane-based registration algorithm where all observations received equal weights, an assumption that typically does not hold in practice. Förstner & Khoshelham (2017) describe several strategies in order to tackle the task of introducing uncertain plane parameters.
If one has a look at various fields of application, for instance forestry, geo-sciences, cultural heritage or as-built documentation of buildings, then it can be concluded that the last mentioned category requires the largest amount of viewpoints in order to entirely cover the particular object of interest. This argument can be justified by the shear extend of buildings as well as limitations regarding the range of sight due to the inherent nature of architectural entities. Consequently, large datasets arise quite likely, for instance in the context of asbuilt documentation of industrial sites or high-risers, that surpass the boundary of more than thousand scans. Projects of this size still describe a methodical hurdle for commercial and scientific registration software due to demanding requirements onto a computer's memory. This problem is two-fold since the captured point clouds require large amounts of primary storage while the algorithms to process the data are demanding in terms of random access memory (RAM). Jóźków (2017) presents a compression scheme that reduces the demands for primary memory. However, this solution is rather suitable for archiving than processing since the data has to be decompressed before it can be processed. Hullo (2016) suggested a target-based approach in order to register a TLS network consisting of approximately 1000 stations. This approach is very timeconsuming as already mentioned and hence cannot be seen as a practical solution in projects that consist of several thousand scans. Hence, the motivation arose to deploy a strategy that allows to register large projects with several thousand scans at superior precision on standard hardware.

SCANTRA -PLANE-TO-PLANE REGISTRATION OF TERRESTRIAL LASER SCANS
The flow chart of the applied software termed Scantra is depicted in Figure 1. Datasets are highlighted by rectangles while data operations are represented by rectangles with round edges. The workflow is initiated with the import of point clouds that can be unstructured or structured. As a next step planes are detected within each scan which will described in greater detail in subsection 2.1. Since every scan is given its own local coordinate system the resulting plane parameters refer to this local system. Optionally targets can be detected in the point clouds, as highlighted by dashed lines, that may be required for the transformation of all point clouds into a superior coordinate system. After correspondences between individual planes have been established transformation parameters between pairs of point clouds are commonly registered, as discussed in subsection 2.2. Finally, a block adjustment is conducted which optionally allows to detect blunders that may arise.

Plane Detection
The very first step of the algorithm is the detection of planes within the unregistered point clouds. This task is the first key component of Scantra to drastically reduce the required memory since only plane parameters and their stochastic characteristics are processed instead of the original point clouds. Established segmentation techniques such as region growing (Rabbani et al., 2006) or RANSAC (Yang & Förstner, 2010) mostly try to tackle the problem of plane detection in 3D-space which can be rated as a challenging task. In contrast to the aforementioned strategies we suggest a reduction of the problem to two dimensions. This is achieved by generating an intensity image based on the original unsorted point cloud. As a first step the angular resolution of the point cloud is extracted from the header of the input file. The horizontal resolution is depicted by   while the vertical component is represented by   . As a next step the Cartesian coordinates of the input point cloud are converted into polar elements  and  . Based on the difference between smallest and largest polar components as well as the known angular resolution,   and   , an empty matrix is created. The resulting size corresponds to range and step size of the polar components. Subsequently the designated position of individual points within the matrix, represented by The polar components of a single point are denoted by i  and i  while min  and min  are the according minimum values from all points. Now that the pixel addresses of all points are known they can be sorted into the matrix while the intensity value is used to generate a greyscale image. The concept behind the procedure is depicted in Figure 2 Figure 2. Generation of a 2D-representation based on a 3D-point cloud  After the 2D-image matrix was created it can be used to divide the entire dataset into equally large subsets. For this sake, a quad-tree structure is applied (Finkel & Bentley, 1974). The general idea is to add a subset of points to a plane adjustment according to the following functional relationship After the adjustment an overall model test (Teunissen 2000, pp. 93) is deployed. This test indicates whether an appropriate functional model has been chosen in relation to the given data or not. If the test fires the current set is divided into four equally large subsets. This procedure is repeated until all observations within the current subset satisfy the overall model test. The resulting plane parameters are then added to a database. For the remainder of the registration process the original point clouds are not required and will hence not be loaded into the RAM. Note that every plane receives individual stochastic properties in form of a covariance matrix that stems from the plane adjustment. These properties are consequently carried through the algorithm and hence have an impact onto the outcome. The upper right half of Figure 3bavar shows the generated intensity image based on a scan with 15,590,848 points of the town hall's courtyard. In the lower left half red tinted areas highlight planar segments which have been detected by the algorithm. In total 1200 planes were detected.

Plane Matching and Pairwise Adjustment
Subsequently plane correspondences have to be computed between pairs of point clouds. Therefore geometric descriptors are used that are invariant to the individual geodetic datum of the given planes (e.g. Dold 2006). Information about adjacencies among point clouds can be either defined manually or by measuring the relative location of viewpoints (Zoller + Fröhlich, 2018). Figure 4 illustrates an example consisting of five scans captured at a construction site that are represented by black circles. Grey arrows denote adjacencies between two scans. Note that the location of circles is not relevant at this stage since they only define the topological relations among scans. Also be aware that the connection between scan 2 and 3 has been defined yet is not visible as it is occluded by the relations between 3-4 and 2-4.

Block Adjustment
The workflow is completed by a block adjustment that optimises the relative location and orientation of all laser scans based on redundantly captured areas. Optionally, a blunder detection algorithm can be initiated that supports the user in identifying and coping with errors that may have occurred. The final outcome of the algorithm is a registered point cloud including quality measures from the block adjustment. For the given case the overall model test yields in a 0  of 1.04 which allows drawing the conclusion that no outliers were present and that the assumed functional as well as the stochastic model were appropriate. Another benefit of the plane-based registration is the substantially smaller data volume compared to approaches that work on original point clouds. For the given example the occupied memory on the hard disk sums up to 215 MB for the original scans while the Scantra database only requires 1.7 MB. Figure 6 illustrates the registered point cloud where points captured from different viewpoints were differently tinted. The corresponding viewpoints are highlighted by numbered dots.

DATA ACQUISITION AND PROCESSING
The town hall spans over 100 by 100 metres concerning its ground plot and extends over 56,750 m² in total. The vertical extension reaches from -15 m to 85 m and is structured into 13 levels. The inner structure of the complex is defined by six courtyards. In total, the building has 1250 rooms that are connected by corridors with a total length of ~2000 m. An orthophoto of the front façade can be seen in Figure 7.
During the planning phase of the project a period of several months was estimated for data acquisition. Hence, it was not possible to attach artificial targets in the building for registration as they would have to be removed over the weekendsa task which would cause additional labour. Practice has also shown that a significant amount of targets are removed by visitors or employees that are not aware of ongoing survey campaigns. These aspects finally lead to the decision to exclusively apply plane-based registration within this project in the light of the aforementioned benefits discussed in section 1. Furthermore the client specifically asked for the option to update the emerging dataset within regular surveys in the future, for instance after construction works. Again, this demand can be satisfied by using existing planes of the building. Image courtesy of Z&M 3D Welt.

Data Acquisition
Data acquisition was carried out in a period of approximately 4 months mainly using a Zoller + Fröhlich IMAGER 5010X. For a 200-metre-long corridor a Faro Focus 3D X 130 HDR was used that was mounted onto a robotic platform. This set-up was required in the cellar of the town hall where very narrow and low-ceilinged hallways (with an approximate height of 1.3 m) had to be captured. Hence, a mixture of Zoller + Fröhlich files given in the zfs-format as well as data in Faro's fls-format had to be commonly processed in Scantra. In total 6686 scans were taken of which 95% were colour scans that additionally captured RGB information for points. The data volume of the scans required ~700 GB of memory. Figure 8 shows one of the applied scanners during data acquisition of the façade.

Post Processing
Processing the captured data took about 2 months and was carried out with Scantra 2.2 (technet, 2018). For organisational reasons the registration was split into two parts while the larger piece contains 4853 scans that will be discussed for the remainder of this contribution. All mentioned processing times refer to the applied standard computer that was equipped with four processors (3.07 GHz) and 12 GB of RAM. A vital and time-consuming part related to handling large datasets is the proper documentation of already processed data. For this sake a browser-based viewer has been used that allows depicting all processed viewpoints including relevant metadata. Apart from its use as an organisational tool the viewer is also sustainable in terms of being usable by laymen, for instance the customer itself or third parties.
The very first step after data acquisition was the plane detection process which was set to detect 1200 planes with a standard deviation of 5 mm. The last mentioned measure is split into an assumed noise of the point cloud of 2 mm as well as a degree of generalisation which was set to 3 mm. This task requires about 50 seconds on average for points clouds that contain ~11 million points, as it was in the given case. This preprocessing task has been carried out overnight in order to minimise the turnaround time. Registration of the recorded data was computed individually for different levels which allowed processing the data at the same time. After the completion of levels the resulting datasets were introduced as so called groups in Scantra and consequently merged to a common dataset.
For illustrative reasons the procedure is demonstrated on example of the first level that is assembled out of 587 scans. The viewpoints itself are connected by 1013 registrations. As a first step topological relations between viewpoints had to be defined. An overview over a corridor at the first level is shown in Figure 9 where every circle represents a single viewpoint. Outgoing relations illustrated by grey arrows connect the corridor to other hallways as well as adjacent staircases. Based on the topological relations pairwise matching is initiated which requires between 5 and 20 seconds of computational effort. Figure 10 illustrates the registered outcome where standard deviations of the translational component below 1 mm are coloured in green, the ones between 1 mm and 10 mm are tinted in yellow and everything beyond the 10 mm margin is coloured in red. It can be seen that the majority of registrations fall into the category of being better than one millimetre in terms of the aforementioned quality measure. Several registrations are tinted in yellow and very few are coloured in red. The reason for the latter effect can be explained by unfavourable local survey configurations. However, these connections are vital in order to stabilise the network. The demonstrated procedure has been repeated for all levels which were finally assembled to a connected dataset. The entire database contains information about 6,340,973 planes, 4853 viewpoints, 11025 registrations including stochastic measures for all adjusted parameters and still occupies only 1.63 GB of data yielding in a compression rate of ~99%. The required computational effort for the final block adjustment with 4853 stations took 112 seconds. Since it was not possible to export the information gathered in a project of this size into one file separate files had to be given to the customer which can be selected in the aforementioned browser. Figure 11 illustrates an overview about the registered viewpoints where colour indicates individual heights. Figure 11. Perspective view on 4853 registered viewpoints

CONCLUSIONS AND OUTLOOK
The contribution at hand presents experiences which have been made in a large as-built documentation project. Plane-based registration has been successfully demonstrated on a dataset containing 4853 terrestrial laser scans. It has been shown that the deployed registration strategy allowed using standard hardware for two reasons: (i) by using planes instead of points, the requirements onto hard disk space drastically decreases and (ii) sophisticated formulation of the adjustment problem minimises the demands on RAM. The latter argument allows performing block adjustments with several thousand scans within a few minutes. Prospective research will explore possibilities of using the already extracted planes for construction site progress monitoring.