Keywords

6.1 Introduction

Terrestrial Laser Scanners (TLS) are contact-free measuring sensors. They record dense point-clouds of objects or scenes by acquiring coordinates of points and an intensity value; this latter depends, e.g., on the reflected surface or atmospheric propagation, see Wujanz et al. [Wuj17]. TLS range measurements can be either based on phase shift or time-of-flight. We refer to Vosselman and Maas [Vos10] or Pfeifer and Briese [Phe07] for more details. Typically, the range measurement in phase shift is more accurate than time-of-flight TLS but the maximum range is smaller. Due to its high scanning rate, it is not uncommon that a point cloud contain millions of points, which need to be processed in some way. Well-known software are, e.g., the freely available CloudCompare [CC22], or MeshLab [Cig08]. Within a geodetic context, prominent applications using TLS point clouds are deformation analysis for objects such as tunnels [Jia21], dams [Gon08] or bridges [Zog08], see also Mukupa et al. [Muk16]. Because TLS enables fast and precise mapping, they are currently used for monitoring forest canopy [Gri15] or landslides [Bar13].

The processing of huge point clouds can quickly become computationally unfavourable. Parametric spline surface approximation techniques address the challenge by reducing “data” into “information”. The point clouds are efficiently compacted into a a manageable number of coefficients that are often estimated by least-squares (LS) adjustment. The mathematical modelization enables deformation analysis and rigorous statistical testing based on the estimated surfaces rather than on the original point clouds. Unfortunately, the Non Uniform Rational B-splines (NURBS, [Pie95]) do not allow for local refinement. This approximation method is unfavourable when the point clouds are scattered and noisy. Here the risk of overfitting should not be undertaken as it leads to unwanted ripples and oscillations in the approximated surface, see Bracco et al. [Bra18]. This latter may be confounded with deformations.

Starting from a first approximation of the point cloud using a coarse NURBS mesh, there exist three main approaches to perform an adaptive local refinement:

  • Hierarchical B-splines (HB-splines) were introduced in Forsey and Bartels [For88]. The refinement is said to be dyadic and the cells of the mesh to be refined are halved at each iteration.

  • T-splines are described, e.g., in Sederberg et al. [Sed03]. Here the refinement is performed by successively adding new control points in-between two adjacent control points in the T-mesh, Kermarrec and Morgenstern [Ker22] for an application to sand dunes point clouds from TLS.

  • LR B-splines were developed by Dokken et al. [Dok13]. They are based on the concept of “splitting the B-splines”, i.e., introducing new meshlines. Each meshline inserted has to split the support of at at least one tensor product (TP) B-spline. They were shown to be advantageous within GIS context, Skytt et al. [Sky15].

The remainder of this chapter is as follows: in a first step, we will shortly review the surface approximation with LR B-splines. The reader is referred to Chap. 2 and Chap. 3 for more details. We will introduce LR-B-spline volume as a promising tool for visualising and analysing spatio-temporal deformations. We will develop how contour lines can be computed from LR B-spline surfaces in a dedicated appendix. The chosen point cloud to illustrate the surface approximation is from the Alpine region in Austria.

6.2 Description of the Data Set

In the context of climate changes and the expansion of areas of urban settlement, e.g., in Alpine regions, early warning system for risk management necessitates high-quality data sets that are both spatially and temporally detailed. In this chapter, we perform spatio-temporal deformation analysis with mathematical approximations from a data set recorded in Austria, which will be shortly described in the following section.

6.2.1 Deformation Monitoring with a Terrestrial Laser Scanner

The data set studied in this chapter was recorded in the Valsertal region in Austria as part of HORIZON 2020 via the RFCS (Research Fund for Coal and Steel) funded research project \(i^2\)MON-“Integrated Impact MONitoring for the detection of ground and surface displacements caused by coal mining”. Here we focus on the observations from the TLS (VZ-2000i, see http://www.riegl.com/nc/products/terrestrial-scanning/produktdetail/product/scanner/58/), Further information about the experiment can be found in dedicated publications, e.g., Schröder and Klonowski [Sch20].

The monitoring of the Valsertal aims to analyse deformation with the help of a long-range TLS, for underlying safeguard applications. A continuous series of measurements are available from August 13, 2020 up to and including September 8, 2020. In this contribution, we have selected a small excerpt from August 20, 2020 to August 22, 2020. We focus on an area in the lower part of an alpine slope where some rearrangements of the facilities took place in this period. The measurements were made in a refuge opposite an area affected by a rock fall as shown in Fig. 6.1. A geodetic instrument called a total station was installed on one of the two measuring pillars in the hut measuring 16 reflectors at a distance of approximately 250–800 m every hour. On the second pillar, a laser scanner was used for the permanent installation. One point cloud of the whole area was recorded every two hours resulting in 36 point clouds in total. In order to separate the expected apparent deformations within the time series from the influences of the georeferencing, the laser scanner was expanded to include a platform with inclination sensors in the horizontal plane of the local scanner coordinate system. The GNSS antenna on the scanner was used for time synchronization. This set up allows us to highlight the potential of surface approximation with LR B-splines from TLS observations with the aim to visualize spatio-temporal deformation based on mathematical surfaces and volumes.

Fig. 6.1
figure 1

Left: View of the region under consideration, Right: Visualization of one point cloud with the software CloudCompare

6.2.2 Data Set Preparation

The point clouds differ in size, depending on the epochs when they were recorded. Figure 6.2 illustrates the three different extensions of the selected point clouds. We have harmonized the point clouds so that they all fit with the smallest extension shown at the bottom right. The long tail to the left is excluded from the approximation. Obvious outliers are removed using the method of Chap. 5, Sect. 5.3.2.3. We note that the data sets from the first epochs include a large tree that later disappeared. In the later part of the period, the vegetation was filtered out to gain in accuracy. Figure 6.3 shows two examples of the point clouds processed for our study, with and without the tree. The tree was intentionally kept in the first point clouds to spice the spatio-temporal analysis. This way, we can show the potential of LR B-spline volume to detect such changes, with applications in forestry inventory, see, e.g., Liang et al. [Lia6].

Fig. 6.2
figure 2

Examples of the initial data sets

Fig. 6.3
figure 3

Examples of the processed data sets

6.3 Surface Approximation of the Selected Data Set

Approximating point clouds with tensor product (TP) B-spline surfaces does not allow for local refinement. LR B-splines are a way to locally refine the spline space and are shown to provide well-behaved mathematical surfaces for remote sensing applications, Skytt et al. [Sky22]. More specifically, an adaptive surface fitting is performed when the L1 norm—called in the following “error” or difference in absolute value—between the mathematical surface and the points inside a cell of the mesh exceeds a tolerance at a given step of the algorithm. The surface approximation obtained with LR B-splines depends on the tolerance from which the refinement is performed, the refinement method itself and the bidegree of the spline space. We have reviewed in Chap. 4 statistical methods to fix these parameters optimally.

6.3.1 General Principle of Adaptive Approximation Combining Least Squares and Multilevel B-Spline Approximation

We parameterize the data points by their x- and y-values, and approximate the z-values by an LR B-spline surface (function). The starting point of the iterative surface approximation with LR B-splines is a tensor product B-spline surface. Here a B-spline surface grid (also called also mesh) corresponds to the initial setting of the topology. Then an optimization is performed to compute the best LR B-spline surface corresponding to the initial mesh for approximating the point cloud. Once the initial surface is obtained, the error term between the mathematical surface and the points in the z-direction is computed. We consider the L1 norm, see Al-Subaihi et al. [AlS04]. If this value exceeds a given tolerance, a refinement is performed in the cells containing the corresponding points. The adaptive fitting is performed until a given number of iterations is reached or until no more error terms exceed the tolerance.

Extra degrees of freedom are inserted in the LR B-spline surfaces locally, where needed. The main advantage is that noise overfitting is avoided and the growth in data volume is limited, on the contrary to global fitting strategies where all cells are refined at every iteration steps. Clearly, with locally adaptive refinement methods, there will be cells that remain unchanged after a given iteration step because the error term is smaller than the chosen tolerance or there is no point in the cell. Intuitively, few cells are refined with a large tolerance whereas, all cells will be divided for a very low tolerance.

In the first iteration steps, the fitting is made using the LS method, i.e., the L2 norm or Euclidean distance between the parametrized point cloud and the parametric surface is minimised. As the number of refinement steps increases, it is favourable to switch to the Multilevel B-spline Approximation (MBA) developed by [Lee97], see also [Sky15] and Chap. 3 for more details on the procedure. For the MBA strategy, no equation system is solved as the coefficients are computed locally and explicitly: the residuals of the data points obtained from the last fitted surface are recursively approximated using finer meshes.

6.3.2 Approximation of the Selected Data Set

In this section, we present the results of the approximation of the domain under consideration, see Fig. 6.4.

6.3.2.1 Goodness of Fit

The goodness of fit is assessed using the usual criteria, as described in Chap. 3:

  • The mean absolute distance abbreviated as MAE referring to the point cloud with respect to the approximated surface

  • The maximum error \({Max}_{err}\)

  • The number of points outside tolerance \(n_{out}\)

  • The number of coefficients \(n_{cp}\)

  • The computational time CT. We used an 64-bit operating system with 8 GB RAM and an Intel(R) Core(TM) i5-63000U CPU @ 2.40 and 5.8 GHz.

6.3.2.2 Dealing with Outliers and Voids

Voids and outliers are typical challenges related to geospatial data, which will be shortly addressed in this section.

Voids

The point clouds contain voids which come from the scanning configuration and generate domains where no points are recorded. Data gaps challenge the approximation as the surface will try to extrapolate the known information in these areas, creating artificial oscillations. This drawback is particularly emphasized when LS approximation is used. MBA is more robust due to its explicit formulation and its similarity with a L1 norm fitting, see Kermarrec and Morgenstern [Ker22] for a discussion. To face that challenge, we apply a 2-steps procedure:

  • Restricting the values of the coefficients to an interval depending on the height range of the data points.

  • Trimming: Trimming is a well known method within the context of Computed Aided Design, Medland and Mullineux [Med88]. Here the points are bounded by curves in the xy-plane. The curves are arranged in one loop for the outer boundary and one curve for each hole and associated to the parameter domain (xy-plane for points parameterized by their x- and y-values) of the surface. We refer to Chap. 5 for a detailed explanation.

Fig. 6.4
figure 4

Point cloud with about 1 million points acquired at 9 AM August 21st

Outliers

The point clouds under consideration contain noise and artifacts. These latter need to be removed prior to the surface approximation in order to avoid the fitting of outliers, which is unfavorable for further interpretation of the results.

Different methods exist to detect outliers. They are reviewed and applied in Chap. 5, Sect. 5.3.2.

Following strategies can be applied besides eliminating outliers:

  • A smoothing term can be added to the function to minimize in the first step of the approximation [Sky15]. This way, smooth surfaces are obtained and ripples are avoided. Additionally, the MBA is known to be robust against outliers due to the use of the L1 norm of the error term to perform the adaptive refinement, Aigner and Jüttler [Aig07].

  • It is possible to perform a classification previous to the fitting, as, e.g., in [Che118], Li et al. [Li16] or Xue et al. [Xue20] for a random forest classification algorithm. This way, objects such as trees or cars can be eliminated and only points corresponding to the ground approximated.

The data sets used in this chapter is cleaned for obvious outliers using the last procedure described in Chap. 5, Sect. 5.3.2.3.

6.3.3 Visualization of the Approximation at Different Iteration Steps

In this section, we will present some results of the surface approximation with the aim of being didactic and visual to improve the understanding of iterative surface approximation with LR B-splines.

6.3.3.1 The Adaptive Surface Approximation, Step by Step

A tolerance of 0.5 m is selected for the approximation of the selected point cloud. If a smaller tolerance is used, the risk of overfitting increases, which is unfavorable for a smooth and reliable surface fitting. A higher tolerance leads to a convergence after only few iterations, without the advantages of local refinement being visible, i.e., the approximation remains coarse.

We start the approximation with an initial biquadratic TP B-spline surface of 10 times 10 coefficients to approximate the point cloud. This corresponds to iteration 0 as shown in Fig. 6.5. Then the algorithm is allowed to run for 7 iterations, ending as shown in Fig. 6.12. The final surface output is shown in Fig. 6.12. We additionally draw the trimmed surface with respect to the point cloud domain (Fig. 6.13). Here the domains with no point are “cut” so that no unwanted effects such as, e.g., oscillations or drops occur in the domain without any observation.

6.3.3.2 Goodness of Fit

The results of the approximation are summarized in Table 6.1. Combined with Figs. 6.5, 6.6, 6.7, 6.8, 6.9, 6.10, 6.11 and 6.12, the impact of increasing the number of iteration steps is visible: after 5 iterations, the MAE does not decrease significantly (from 0.095 to 0.083 m), but the maximum distance does (from 0.095 to 0.083 m). This difference highlights the main advantage of local refinement: only specific domains are approximated locally with a higher accuracy by letting the main part of the point cloud untouched. The meshes allow to visualize more clearly the property of the iterative local refinement, although it is hardly possible to distinguish the differences in the last two iterations. Here the increase in the number of coefficients between iteration 5 and 7 (from 5700 to 14,000) is more descriptive (Table 6.1).

Fig. 6.5
figure 5

a Initial surface, b points coloured according to the distance to the surface, cell boundaries, c LR mesh (TP mesh), d colour scheme used for coloured point clouds in this figure and the subsequent figures

Fig. 6.6
figure 6

a Surface after the first iteration, b points coloured according to the distance to the surface, cell boundaries, c LR mesh

Fig. 6.7
figure 7

a Surface after the second iteration, b points coloured according to the distance to the surface, cell boundaries, c LR mesh

Fig. 6.8
figure 8

a Surface after the third iteration, b points coloured according to the distance to the surface with cell boundaries, c LR mesh

Fig. 6.9
figure 9

a Surface after the fourth iteration, b points coloured according to the distance to the surface, cell boundaries, c LR mesh

Fig. 6.10
figure 10

a Surface after the fifth iteration, b points coloured according to the distance to the surface with cell boundaries, c LR mesh

Fig. 6.11
figure 11

a Surface after the sixth iteration, b points coloured according to the distance to the surface, cell boundaries, c LR mesh

Fig. 6.12
figure 12

a Final surface, b points coloured according to the distance to the surface, cell boundaries, c LR mesh

Fig. 6.13
figure 13

a Points with a distance larger than the tolerance (0.5 m), b surface trimmed with respect to the point cloud domain (trimming with respect to the outer boundary only)

Table 6.1 Adaptive approximation of the point set shown in Fig. 6.4

Figures 6.5, 6.6, 6.7, 6.8, 6.9, 6.10, 6.11 and 6.12 further highlight how the original coarse mesh from the first iteration is refined at each step. The number of meshlines, and so the number of coefficients, increases to account for local details only. Figure 6.13a shows where the points outside tolerance are located on the final surface after 7 iterations. The underlying final mesh is depicted additionally. There remain domains where the approximation cannot be further improved: Table 6.1 shows that increasing the number of iterations does not lead to a smaller MAE after the sixth iterations. Indeed, the number of points outside tolerance decreases but in % of the total number of points, the difference is irrelevant (99.3 vs. 99.1% between the sixth and the sevenths iteration). At the same time, the number of coefficients increases from 9000 to 14,000. The computational time increases as well, but remains at a moderate level (a few sec). Thus, when searching for an optimal surface approximation, a balance has to be found between the number of iterations, the MAE and its relevance, the maximum distance and the computational time for a given tolerance. This choice is let to the practitioner which should judge the risk of fitting the noise as the number of iterations increases. An indication can be provided by searching the minimum of AIC, as describe in Chap. 4. In our particular case, a minimum could be found after the eighth iteration. We point out that the AIC gives an indication about the turning point from which further refinement is not leading to a strong decrease of the root mean square error with respect to the increase of coefficients. It is a global criterion, that does not provide information about the local adjustment.

6.4 LR Spline Volumes to Analyse Spatio-temporal Deformation

The domain under consideration was scanned every two hours during three consecutive days. This leads to a large amount of point clouds, making the use of surface and volume approximations relevant to visualize and analyze the deformations or changes that may occur during that time. The main advantage is not having to work with the noisy and scattered point clouds. This is computationally advantageous and allows for a simpler interpretation.

6.4.1 Principle of Volume Approximation

To get an impression on the continuous development of the landscape in the selected area, the time component is added as a third parameter direction in the data set allowing an interval of 0.5 between each set in the time direction. Figure 6.14 shows the structure of the composed raw point clouds, before the volume approximation. The block of point clouds is narrow in the time direction compared to the space directions, and the time layers are distinguished by colour. The distances between these layers are larger than the distances between points in the xy-plane, but still small enough to control the behaviour of the spline volume approximation. The height range corresponding to the different epochs is very dependent of the presence of the aforementioned tree, i.e., the data set shown in Fig. 6.3a has a range of \([-42.69,17.77]\) while the range for the points in (b) is \([-42.7, 8.55]\). The total height range in including all point sets is \([-42.71,17.89]\).

A point cloud assembled from all epochs is approximated by an LR B-spline volume. Following Sect. 6.3.3, we apply a tolerance of 0.5 m and perform 7 iterations. Figure 6.16 shows the corresponding LR volume. The visualization is performed with a dedicated viewer as proposed in [Fuc17]. The colours are linked with elevation. Here we do not perform a surface approximation of each of the 36 point clouds independently and individually, as shown in the previous section: we approximate the block of point clouds as a whole.

Fig. 6.14
figure 14

The structure of the volume point cloud. The points are represented by their x-, y- and time coordinates and points from different acquisitions are distinguished by colours

The trivariate point cloud is approximated by an LR B-spline volume following the same approach as for surface approximation explained in Chap. 3.

  1. 1.

    The starting point is a TP B-spline volume, which is refined in an adaptive procedure.

  2. 2.

    The refinement is performed in a volumetric mesh cell when the distance between the value of the trivariate point and the LR B-spline volume exceeds a specified tolerance.

  3. 3.

    Then a mesh rectangle splitting at least one trivariate B-spline is inserted.

At each iteration step, an updated approximation using MBA is computed. The iteration stops when the given tolerance is met or a maximum number of iteration steps is applied. Figure 6.15 shows a mesh corresponding to a triquadratic LR B-spline volume with initially three inner knots in each parameter direction after one iteration. The refinement is performed only in the first parameter direction and the inserted mesh rectangles are highlighted with yellow colour.

We will refine in all three parameter directions simultaneously. The maximum distance between the point cloud and the volume after 7 iterations is 29 m. The most distant points are associated to the tree, which cannot be well fitted by a smooth surface. The average distance is 0.17 m and 1,507,346 out of 37,785,650 points have a distance to the volume larger than the tolerance of 0.5 m, meaning that 96% of the points are within the resolution. The maximum distance is kept at approximately the same level throughout the computation indicating a feature unsuitable to be fitted with a smooth volume, while the average distance is gradually reduced. The final number of coefficients is 93,829. The computational time is 10 min and 7 s excluding file operations, which is manageable from a practitioner perspective.

Fig. 6.15
figure 15

Simple LR volume mesh with mesh rectangles

Fig. 6.16
figure 16

LR B-spline volume approximating the trivariate point cloud. The height field is represented with colours

The domain of the LR B-spline volume approximation to the point cloud corresponds to the axis parallel bounding box surrounding the parameter points \(\{x_i,y_i,t_i\}_{i=1}^N\) where N is the total number of points. As the boundaries of the point cloud do not adapt to axis parallel lines, for some parts of the volume shown in Fig. 6.16 there are no corresponding data points. The figure visualizes the height field corresponding to the point cloud with colours. The volume is cut at the position of the tree, which is present in the point clouds at the beginning of the acquisition period only. The tree can be recognized in the volume approximation and is marked by a circle in the figure.

Fig. 6.17
figure 17

LR-spline volume. Cutting plane in the x-direction gives some indication of landscape changes

The presence or absence of the tree is the largest difference between the different data sets and the transition from tree to no-tree is totally dominant in the LR volume description of the landscape throughout the three days of acquisition. Some smaller differences between the data sets can be distinguished in the volume, see the marked area in Fig. 6.17. The corresponding marks is weak: to get clearer indications of change, we turn to the derivative of the volume in the time direction.

6.4.2 Volume Changes in the Time Direction

A partial derivative of a polynomial TP B-spline volume is a polynomial TP B-spline volume with the polynomial degree decreased by one in the direction of differentiation, and very simple formulas exist for computing the derivative. As a spline volume the partial derivative of an LR B-spline volume in some direction is also an LR B-spline volume, but the local structure of the LR B-spline volume implies that the differentiation procedure becomes complex. In the following, we represent, for each cell, the field as a spline volume without inner knots and differentiate cell by cell.

6.4.2.1 Partial Derivative of the Volume for Spatio-temporal Analysis

A non-zero derivative of the height field reveals changes in height: by focusing on the time direction only, we exclude landscape formations that do not change over time.

Fig. 6.18
figure 18

The derivative of the height field in the time direction represented as an LR B-spline volume

Figure 6.18 shows changes in time revealed by the time derivative of the LR B-spline volume. The visualization focuses on derivatives within a \([-3,3]\) range. Higher values for the derivative field exist, but are not highlighted explicitly. The field is hidden for derivatives close to zero. We see that changes in the height field occurs as blobs in the total volume. The figure presents an overview of the volume (top) and looks into it from the x-direction (bottom). The blobs of change are local in the time direction. They corresponds to (i) an object that appears and disappears or (ii) a modification of the landscape that is later left untouched. The spot marked with “A” represents the tree that is present in the first part of the time line. “B” is outside the point cloud and indicates that the height field is gradually decreased after removal of the tree. “C” and “D” are areas of interest to be discussed in the following.

Fig. 6.19
figure 19

The derivative of the height field in the time direction just before August 20th at 11 PM (left) and just before 5 AM the same day (right)

Figure 6.19 focuses on the area marked with “C” in Fig. 6.18. Here it is marked with a circle. Green colour means no change in time, red means that the height increases while blue means that it decreases. The activities performed in period of time in this area are discussed in further detail in Sect. 6.4.3.

Fig. 6.20
figure 20

The derivative of the height field in the time direction just after August 21st at 11 PM (left) and a cut through the volume in y-direction hitting area “D” specified in Fig. 6.18

In Fig. 6.20 the area “D” is marked with an ellipse. In the cut to the right, we can see from the colours that the height field increases and then decreases again. In between, there is a narrow green strip indicating that the observed object, probably an excavator, is present. The incident to the right happens at an earlier point in time than the one to the left (right picture). This indicates a movement of the excavator from position “1” to position “2”.

Fig. 6.21
figure 21

The derivative of the height field in time direction at August 20th at 11 PM and corresponding differences in the point elevation, raster view

6.4.2.2 Spatio-temporal Changes Visualized as Medical Images

In Fig. 6.21, a visualization dedicated to medical images [ITK] is used to give an alternative view of the height changes. The volume is represented as a \(255 \times 255 \times 255\) raster and the values are computed by averaging a number of sample points in the raster cells. The views in “a” and “d” show the same snapshot in time for different features of the volume. The derivative of the height field in the time direction for August 20th 11 PM is shown in Fig. 6.21, “a”. Views “b” and “c” show cuts through the volume with constant y and constant x, respectively. The three views are connected by the blue cross. In “d” the average difference in point elevation for each cell is shown. The circle indicates the position of the tree in the views where it is present. Views “a” and “d” indicates that two objects of significant size are situated close to the blue cross and there are some smaller additional modifications of the elevation in the vicinity of the cross. The duration of the elevation changes can be seen from view “b” and “c” where the development in time is shown in the vertical direction. This reveals that the highlighted elevation changes were temporary. Note that a permanent change in elevation will appear only as a limited white spot in view “b” and “c”. View “d” can be used to place an incidence in the landscape as the intensity map gives an indication of the terrain. White indicates steep areas or rapid landscape changes in time, while plains and areas without points are black.

Fig. 6.22
figure 22

The derivative of the height field in time direction at August 21st at 11 PM and corresponding differences in the point elevation, raster view

Figure 6.22 provides another visualization of the situation in Fig. 6.20. The descent from the tree is completed as can be seen in view “b”. Note that the derivative has its largest values when the volume adapts to a change and not when the peak or dump is at its largest. The time of the ring is when the tree is no longer present. The two positions of the excavator are shown in views “a” and “b”. Due to the position of the cut, the appearance and disappearance of only one excavator are visible in “c”.

6.4.3 Difference of Surfaces

In this section, we propose to analyse more specifically changes in the point cloud with LR B-splines surfaces. Here we look at the surface approximation of the point clouds acquired at 11 PM and 5 AM at August 20th, see Fig. 6.23. The maximum distance between the points and the surface is 28.58 m for (a) and 28.30 m for (b). The average distances are 0.178 and 0.179 m, and the number of points with a distance larger then 0.5 m is 25,583 and 24,801. The numbers of data points are 1,071,938 for (a) and 1,068,546 for (b). The main obstacle for an accurate approximation is the tree in the upper left corner, but also some excavators in the right half of the figures are impossible to represent exactly with a smooth surface. Some differences between Fig. 6.23a and b can be identified, but the general impression is that there is little difference in the landscape between the two epochs. Figure 6.24 reveals some more details. Here the difference surface between the two surfaces in Fig. 6.23 is computed and represented as an LR B-spline surface, difference surface = surface b - surface a. The surface is trimmed according to the point cloud at 11 PM. Contour curves are computed for every 0.25 m between \(-5\) and 5 m. Some details concerning the computation of these curves are given in Appendix 1. The green curves visualize material that is removed from (a) to (b) and red curves material that is added. The black curves show the zero level for the difference surface. Most of the surface is oscillating slightly below and slightly above zero. This is an effect of differences in the point clouds and the approximation error and does not represent a change in the landscape. The red and green curves in most cases represent change. At the point marked with “A” is the aforementioned tree and the difference here is not due to a real change. At “B”, an excavator is added an at “C” one is removed. Snow is removed at “E” and moved to “D”. Some local changes in the snow cover take place at “F”. This short analysis highlights the potential of surface approximation to analyse deformation with application for geomorphological analysis. We refer to [And21] for an example based on the noisy and scattered point clouds.

Fig. 6.23
figure 23

The situation at 11 PM (a) and 5 AM (b) at August 20th visualized as surfaces

Fig. 6.24
figure 24

The difference between the situation at 11 PM and 5 AM at August 20th visualized as a surface with associated contour curves for every 25th cm between \(-5\) and 5 m, green curves represent negative levels, red curves positive and black the zero level

6.5 Conclusion

We have presented a local adaptive refinement strategy to approximate efficiently scattered and noisy point clouds from TLS. Prominent applications are deformation analysis or monitoring, without having to manipulate or filter a huge amount of data. To that end, we have used LR B-spline surfaces, which were shown to be well adapted to fitting terrains and seabeds. This approach refines the point clouds locally, avoiding the computation of unnecessary surface coefficients: the output is a compact surface in a short amount of time. This mathematical representation is favorable for further analysis of the point cloud; the noise is filtered out, and voids can be handled efficiently with CAD techniques such as trimming. The approximation method is based on a combination of LS, to which a smoothing term can be added in the first iteration steps, and MBA. Outliers are to be eliminated prior to the surface approximation. A classification can be performed in advance to eliminate, e.g., trees or cars if only the ground is of interest for deformation analysis.

We have applied the algorithm to TLS point clouds recorded in the Alpine region in Austria. The domain under consideration was scanned every two hours during three consecutive days. This large amount of data allows a visualization of change pattern from the mathematical approximations, without having to manipulate the original point clouds. To that end, we have introduced the LR B-spline volume and its derivative as a possibility to visualize spatio-temporal changes. The story of the point clouds could be guessed, paving the way for new applications of surface approximation within a GIS context. We have used images inspired by medical applications to visualize and analyse geomorphological changes. These examples highlight the potential of combining different visualization techniques to extract spatio-temporal information from a high number of point clouds.

The source codes to perform the approximation with bivariate (lrsplines2D) and trivariate (lrsplines3D) LR B-splines are made available by SINTEF Digital, Department of Mathematics and Cybernetics for downloading at the link:

https://github.com/SINTEF-Geometry/GoTools.

The hardware requirements are Windows, Linux or MacOS. The program language is C++. Following software are required: Cmake, Boost, Qt for the viewer used to visualize the approximated surfaces in this chapter.