# A Method for Efficient Quality Control and Enhancement of Mobile Laser Scanning Data
## 3 Methodology
### Profile Extraction  
The profile extraction strategy goes back to the operating principle of most land-based MLSs. We can imagine profile laser scanners constantly generating point subsets with varying quality characteristics. A separation of the profiles in post-processing is possible, provided we have timing information. Modern laser profilers obtain their time data usually through PPS (pulse per second) signals from connected GNSS receivers with nanoseconds accuracy [38].  
However, since the effective measurement rate differs from the actual one, we do not simply use the reciprocal of the sampling rate for separation. Minor differences would accumulate over longer data acquisitions and produce inconsistent profiles. We thus propose to subdivide the profiles based on spatial information rather than time. The plan is to pick a starting point for the first profile and then find the closest point after one scan revolution. This point defines the endpoint of our profile, while the following point in time corresponds to the starting point of the next one.  
This concept works well as long as the spatial distances between the start and end points do not become too large. For example, if we start at a face of a building and the vehicle passes by, at some point, the profile points are no longer on the facade, and the nearest neighbor is on another object. A suitable starting point is thus on a surface that ideally extends over the entire point cloud. Accordingly, the road proves to be a promising surface.  
Our algorithm begins by classifying the point cloud into road and non-road points using the method described in [34]. Figure 4 shows an MLS point cloud that contains geometry, time, and semantic information.  
We exploit the time information of the MLS point cloud by sorting the points according to their GNSS time. As a result, we can extract data of the first \(1/f\) seconds, where  
Figure 4: Visualization of a point cloud with a color-coded time information (**left**) and classification of road (orange) and non-road points (blue) (**right**).  
Figure 3: Normal distances as metrics to be minimized (**left**) and visualization of normals as HSV colors in an urban scene (**right**).  
corresponds to the rotation frequency of the scanner. The road point with the mean GNSS time of the extracted point cloud subset is our starting point \(\mathbf{m_{s}}\) for profile extraction (see Figure 5 left).  
As a next step, we compute the Euclidean distance \(D\) from \(\mathbf{m_{s}}\) to all points in the timely ordered set \(\overline{M}\). Consequently, \(D\) increases with time, with differences between, e.g., points on the wall and the road surface. To subdivide the profiles at approximately the same point on the road, we look for local minima in the oscillating distance function (cf. Figure 5 right). Based on the first-order derivative of the discrete function  
\[D_{i}^{\prime}=D_{i}-D_{i-1},\qquad\quad\text{with }i=2\dots\left|\overline{M} \right|\,, \tag{1}\]  
a change of sign (\(-\) to \(+\)) suggests a local minimum and thus a profile end point. It is worth noting that the strategy works even when cars and other objects obscure the road surface. In contrast to empty road sections (as depicted in Figure 4), the only difference is that the profile end point may wander slightly from the path of the preceding ones.