Weighted simplicial complex reconstruction from mobile laser scanning using sensor topology

We propose a new method for the reconstruction of simplicial complexes (combining points, edges and triangles) from 3D point clouds from Mobile Laser Scanning (MLS). Our method uses the inherent topology of the MLS sensor to define a spatial adjacency relationship between points. We then investigate each possible connexion between adjacent points, weighted according to its distance to the sensor, and filter them by searching collinear structures in the scene, or structures perpendicular to the laser beams. Next, we create and filter triangles for each triplet of self-connected edges and according to their local planarity. We compare our results to an unweighted simplicial complex reconstruction.


Introduction
LiDAR scanning technologies have become a widespread and direct mean for acquiring a precise sampling of the geometry of scenes of interest. However, unlike images, LiDAR point clouds do not always have a natural topology (4-or 8-neighborhoods for images) allowing to recover the continuous nature of the acquired scenes from the individual samples. This is why a large amount of research work has been dedicated into recovering a continuous surface from a cloud of point samples, which is a central problem in geometry processing. Surface reconstruction generally aims at reconstructing triangulated surface meshes from point clouds, as they are the most common numerical representation for surfaces in 3D, thus well adapted for further processing. The reconstruction of surface meshes has numerous applications in various domains : -Visualization : a surface mesh is much more adapted to visualization than a point cloud, as the visible surface is interpolated between points, allowing for a continuous representation of the real surface, and enabling the appraisal of occlusions, thus to render only the visible parts of the scene. -Estimation of differential quantities such as surface normals and curvatures. -Texturing : a surface mesh can be textured (by applying images on it) allowing for photo-realistic rendering. In particular, when multiple images of the acquired scene exists, texturing allows to fusion and blend them all into a single 3D representation. -Shape and object detection and reconstruction : these high level processes benefit from surface reconstruction since it solves the basic geometric ambiguity (which points are connected by a real surface in the real scene ? ). In practice, existing surface reconstruction algorithms often consider that their input is a set of (x, y, z) coordinates, possibly with normals. However, most LiDAR scanning technologies provide more than that : the sensors have a logic of acquisition that provides a sensor topology (Xiao et al., 2013;Vallet et al., 2015). For instance, planar scanners acquire points along a line that advances with the platform (plane, car, ...) it is mounted on. Thus each point can be naturally connected to the one before and after him along the line, and to its equivalent in the previous and next lines (see Figure 1). Fixed Li-DARs scan in spherical (θ, φ) coordinates which also imply a natural connection of each point to the previous and next along these two angles. Some scanner manufacturers exploit this topology by proposing visualization and processing tools in 2.5D (depth images in (θ, φ)) rather than 3D. Moreover, LiDAR scanning can provide a meaningful information that is the position of the LiDAR arXiv:1804.04001v2 [cs.CG] 11 Jun 2018 FIGURE 1: Echo intensity of an MLS displayed in sensor topology : vertical axis is the angle θ, horizontal axis is the line number, equivalent to time as the scanner acquires a constant number of lines per second. Horizontal resolution depends on vehicle speed (the left part is constant because the vehicle is stopped).
FIGURE 2: A simplicial complex consists of simplices of dimension 0 (points, black), 1 (edges, green) and 2 (triangles, red). sensor for each point, resulting in a ray along which we are sure that space is empty. This information can also disambiguate surface reconstruction as illustrated in Figure 3. This is why we decided to investigate the use of the sensor topology inherent to an MLS, to perform a 3D reconstruction of a point cloud.
Secondly, the geometry processing community has mainly focused on reconstruction of rather smooth objects, possibly with sharp edges, but with a sampling density sufficient to consider that the object is a 2-manifold, which means that it is locally 2-dimensional. Thus these methods do not extend well to real scenes where such a guarantee is hardly possible. In particular, scans including poles, power lines, wires, ... almost never allow to create triangles on these structures because their widths (a few mm to a few cm) is much smaller than the scanning resolution. Scans of highly detailed structures (such as tree foliage for instance) even have a 0-dimensional nature : individual points should not even be connected to any of their neighbors. Applying the Nyquist-Shannon theorem to the range in sensor space tells us that if the geometric frequency (frequency of the range signal in sensor space) is higher than half the sampling frequency (frequency of the samples in sensor space), then some (geometric) signal will be lost. This happens in the cases stated above for instance. Because of this, we should aim at reconstructing triangles only when the Shannon condition is met in the two dimensions, but only edges when the geometric frequency is too high in 1 dimension and points when the geometric frequency is too high in the 2 dimensions. Triangles, edges and points are called simplices, which are characterized by their dimension d (0 = vertices, 1 = edges, 2 = triangles). If we add the constraint that edges can only meet at a vertex and triangles can only meet at an edge or vertex, the resulting mathematical object is called a simplicial complex as illustrated in Figure 2. The aim of this paper is to propose a method to reconstruct such simplicial complexes from a LiDAR scan.

State of the art
3D surface mesh reconstruction from point clouds has been a major issue in geometry processing for the last decades. 3D reconstruction can be performed from oriented (Kazhdan and Hoppe, 2013) or unoriented point sets (Alliez et al., 2007). Data itself can come from various sources : Terrestrial Laser Scanning (Pu and Vosselman, 2009), Aerial Laser Scanning (Dorninger and Pfeifer, 2008;Zhu and Hyyppa, 2014) or Mobile Laser Scanning. We refer the reader to Berger et al. (2014) for a general review of surface reconstruction methodologies and focus our state of the art on surface reconstruction from Mobile Laser Scanning (MLS) and on simplicial complexes reconstruction, which are the two specificities of our approach.
MLS have been used for the past years mostly for the modeling of outdoors environments, usually in urban scenes. An automatically-generated grammar for the reconstruction of buildings has been proposed by Becker and Haala (2009), whereas Morsdorf et al. (2004) and Rutzinger et al. (2011) focus more specifically on FIGURE 3: Left : a 2D point cloud (green) and possible reconstructions (blue). Right : knowing the LiDAR rays allows to solve the ambiguity tree shapes reconstruction. MLS has also been useful for specific indoor environments : Zlot and Bosse (2014) used an MLS in an underground mine to obtain a 3D model of the tunnels.
The utility of simplicial complexes for the reconstruction of 3D point clouds has been expressed by Popović and Hoppe (1997) as a generalization manner to simplify 3D meshes. Simplicial complexes are also used to simplify defect-laden point sets as a way to be robust to noise and outliers using optimal transport (De Goes et al., 2011;Digne et al., 2014) or alpha-shapes (Bernardini and Bajaj, 1997).
A first approach has been presented in Guinard and Vallet (2018), but suffers from its lack of global knowledge. Our main goal is to produce a 3D reconstruction of a scene using the sensor topology of an MLS to build a simplicial complex, which should be independent from the sampling. Our goal is to improve this method so that the reconstruction criteria is adaptive to the structure of the cloud. The aim of this paper is to propose a reconstruction method combining the following advantages : 1. Reconstruction of a simplicial complex instead of a surface mesh, adapting the local dimension to that of the local structure.
2. Exploiting the sensor topology both to solve ambiguities and to speed up computations.
3. Exploiting the global structure of the cloud.

Methodology
As explained above, sensor topology yields in general a regular mesh structure with a 6-neighborhood that can be used to perform a surface mesh reconstruction. This reconstruction is however very poor as all depth discontinuities will be meshed, hence very elongated triangles will be created between objects and their background. This section investigates criteria to remove these specific triangles, while possibly keeping some of their edges. As all input points will be kept, the resulting reconstruction combines points and edges and triangles based on these points, which is called a simplicial complex in mathematics.

Objectives
Our main objective is to determine which adjacent points (in sensor topology) should be connected to form edges and triangles. We consider that we may be facing a discontinuity when the depth difference between two neighboring echoes is high. This depth difference is computed from a sensor viewpoint, which implies that a large depth difference may correspond to two cases : either the echoes fell on two different objects with a notable depth difference, or they fell on a grazing surface (nearly parallel to the laser beams direction) as shown in figure 5. When two neighboring echoes have a large depth difference, there is no way we can guess whether they are located on two separate objects (51) or a grazing surface (52). The core idea of our filtering is that the only hint we can rely on to distinguish between these two cases is that if at least three echoes with a large depth differences are aligned (53), we probably are in the grazing surface case rather than on separate objects.
Unlike Guinard and Vallet (2018), whose algorithm was independent from the sampling, we make the assumption that the distance of some part of the scene to the laser, and the regularity of the emissions of the laser lead to points being naturally further one of the other in some areas far from the sensor. The influence of this phenomenon is especially visible on figure 4, which represent our reconstructions on such a part of a scene. The left part is computed without taking the sampling variation into account. We clearly see that the algorithm misses a large part of the roof which we want to retrieve thanks to a weighting of edges. Moreover, the reconstruction on the left is very holed, whereas the one on the right shows a greater regularity. Thus, the criteria for the filtering of possible connexions in  has to be modified in order to take into account this depth difference varying according to the distance to the laser. We precise that from , only the so-called C0 regularity is modified. The detail of the algorithm is presented in section 3.3.
To perform our reconstruction, we consider each echo as an independent point. First, we define a neighborhood relationship between echoes in the sensor topology. After that, we create edges, based on the echoes and weighted according to their distance to the sensor. Last, we add triangles based on the edges.

Neighborhood in sensor topology
The sensors used to capture point clouds often have an inherent topology. Mobile Laser Scanners sample a (1) Unweighted reconstruction.
(2) Weighted reconstruction FIGURE 4: Utility of the weighted simplicial complex reconstruction in areas far from the laser. Here the scene represents a facade in the grazing surface case. The triangles are shown in red, the edges in green and the points in black.
(1) Separation case (2) Ambiguous case (3) Nonseparation case FIGURE 5: Illustration of the two cases of important depth difference. The arrows represent the laser beams. Figures 51 and 52 show the cases where two neighboring echoes have a huge depth difference. They can either fall on two different objects or on a same object and we have no hint to distinguish these two cases. Figure 53 shows the case where three or more echoes are approximately aligned, with a huge depth difference. In this case we want to reconstruct edges between these echoes because it may correspond to a grazing surface. regular grid in (θ, t) where θ is the rotation angle of the laser beam and t the instant of acquisition. Because the vehicle moves at a varying speed (to adapt to the traffic and respect the circulation rules) and may rotate, the sampling is however not uniform in space. In general, the number Np of pulses for a 2π rotation in θ is not an integer so a pulse Pi has six neighbors Pi−1, Pi+1, Pi−n, Pi−n−1, Pi+n, Pi+n+1 where n = Np is the integer part of Np as illustrated on figure 61.
However, this topology concerns emitted pulses, not recorded echoes. One pulse might have 0 echo (no target hit) or up to 8 as most modern scanners can record multiple echoes for one pulse if the laser beam intersected several targets, which is very frequent in the vegetation or transparent objects for instance. (2) Echo sensor topology : each echo is connected to all echoes of the 6 neighboring pulses FIGURE 6: Definition of neighborhood in sensor space. For each figure, the points considered is colored in red, and connection is denoted by a red arrow.

Reconstruction
We improve the reconstruction presented in , which was based on the following principles : -C0 regularity : we want to prevent forming edges between echoes when their euclidean distance is too high. -C1 regularity : we want to favor edges when two collinear edges share an echo. In order to be independent from the sampling, and to exploit the hexagonal structure of the sensor topology, both regularities were expressed in an angular manner and computed on every direction of the structure independently. For the reminder of this article, and because a single pulse can have multiple echoes, we will express, for a pulse p, its echoes as E e p where e ∈ 1 . . . Np, with Np the number of echoes of p. We expressed the regularities as follow : -C0 regularity, for an edge (E e 1 p , E e 2 p+1 ) between two echoes of two neighboring pulses : and lp is the direction of the laser beam of pulse p (cf Figure 7). C0 is close to 0 for surfaces orthogonal to the LiDAR ray and close to 1 for grazing surfaces, almost parallel to the ray. -C1 regularity, for an edge (E e 1 p , E e 2 p+1 ) between two echoes of two neighboring pulses : where the minima are given a value of 1 if the pulse is empty. C1 is close to 0 is the edge is aligned with at least one of its neighboring edges, and close to 1 if it is orthogonal to all neighboring edges. From the C0 regularity, we derive the following weighted C w 0 regularity : where lp is the distance from the sensor to the point, lmax is the maximum distance between a position of a laser and one of its recorded echoes and κ is the parameter conditioning the influence of the weighting term. The C w 0 is no longer independent from the sampling and varies between 0 and 1 + κ. The performances of this parameter can also be improved by adding a threshold on edge length. This way, we prevent the apparition of long edges between objects far away from one another (e.g. with a depth difference of several meters). We propose this approach because we find very unlikely the case where an edge of a few meters long will be part of the reality. It would mean that there was an object in the scene that was big enough to have a few meters side, and that this object is very close to be parallel to the laser beam. Intuitively, this description could correspond to a building, but actually, there are very little points behind the main facade of a building and they are too sparse to let us find a possible shape.

Results
We implemented the pipeline presented before, first without the weighting. Then, we added the weighting formulation. We compared the results of both methods.
For all the following tests, we used data from the Stereopolis vehicle (Paparoditis et al., 2012). The scenes have been acquired in an urban environment (Paris). All the simplicial complexes presented in this part will be represented as follow : -triangles in red, -edges that are not part of any triangle in green, -points that don't belong to any triangle or edge in black.
e p+1 (e 2 , e) lp FIGURE 7: Illustration of the computed regularities C0 and C1. The black dots represent the echoes associated to the considered pulses. The blue and red ones correspond respectively to the precedent and following adjacent echoes. The solid arrows show the adjacent echoes used for the C0 and C1 computation. The black one correspond to the most orthogonal liaison to the sensor beams. The blue and red ones are selected because the angle between these vectors and the black one are the closest possible to π. The black dashed lines represent the laser beams.
Note that following its mathematical definition, the endpoints of an edge of a simplicial complex also belong to the complex, and similarly for the edges of a triangle, but we do not display them for clarity. We first study the influence of κ with and without a threshold on edge length. Then we compare our method to the method presented in .

Parametrization of κ
In this section, we investigate the influence of the weighting parameter κ on the reconstruction. We conducted two different sets of experiments : the first one shows the influence of κ if we do not threshold edge length. The second one corresponds to the case where we limited edge maximum length, thus enabling the reconstruction of much more triangles and edges.
For this set of experiments, the values of αm, λ, ω and where respectively fixed to : 5 · 10 −2 , 10 −3 , 10 −3 and 5 · 10 −3 . We expect the C w 0 regularity to improve the reconstructions using only the C0 regularity, by allowing a few edges in the simplicial complex that where discarded otherwise. These edges should also encourage the creation of triangles on places that contained holes, and in the farthest places of the scene. The results are shown on figure 8. The top left figure is the output produced using . We clearly see that the weighting of the C0 regularity helps our algorithm retrieve edges and triangles that were lost before. Low values of κ fulfill some holes of the road, whereas high values of κ create edges between objects far away one from another. The number of points, edges and triangles for each simplicial complex is shown in table 1. There is a significant decrease of the number of points and egdes when κ rises, whereas the number of triangles increases a bit.
The results of the second set of experiments are presented on figure 9. Here we wanted to study the influence  of κ when we prevent the reconstruction of drawn-out edges. We fixed a maximum length for all edges to 10 meters. The figure on the left corresponds to a reconstruction without any weighting. Next, the weighting without any thresholding is done for κ = 0.03. Last we show two examples of thresholding edges longer than 10 meters with a κ of respectively 0.2 and 0.5. Using this thresholding allows to use a higher value of κ, thus creating a cleaner, less holed reconstruction, especially visible in figure 93, even if a too high value of κ keeps creating edges between objects not connected in the scene.

Comparison of both methods
In this part, we compare our method to the method presented in . For these methods, αm, λ, ω, and κ are respectively fixed to 0.05, 10 −4 , 0.1, 5 · 10 −3 and 0.4. Figure 10 presents a reconstruction in a complex urban scene with facades, roads, trees . . .. The figure on the left shows the results of  and the right one ours. There is nearly no difference on small objects like poles or pedestrians. Moreover, we can see that our method is able to retrieve more surfaces in the limits of laser's scope. This is showned by filled facades in the top of the image, and also by a cleaner road, even if the whole reconstruction of the road would recquire a higher value of κ that would just spoil the remaining parts of the reconstruction. A zoom on specific areas of the scene (windows, fences . . .) is visible on figure 11. We note that on parts of the cloud were the reconstruction without weighting performed well, the add of weight does not harm the results. Most differences between both reconstructions happen on grazing surfaces, where our method is more efficient.
The white lines visible in some figures corresponds to occlusions or limits between sections of one second of acquisition from the MLS. The number of triangles, edges and points are stored in table 2. Again, the number of points and edges dicreases and the number of triangles rises a bit. This is mainly due to the fact that by authorizing more edges in the first step of the reconstruction, our method can produce more triangles later, thus dicreasing the number of remaining edges and points.

Conclusions and perspectives
This article presented a method for the reconstruction of simplicial complexes of point clouds from MLS, based on the inherent structure of the MLS. We propose a filtering of edges possibly linking adjacent echoes by searching for collinear edges in the cloud, or edges perpendicular to the laser beams. We added a weighting parameter to this formulation in order to produce a simplicial complex less holed, especially on areas far from the sensor, where points are naturally further one from another.
The main drawback of this method is its propensity to create very long edges between objects not connected in real life. Even it is partially corrected by thresholding edges length, allowing to compute a reconstruction with higher values of κ it does not fully retrieve edges on objects far from the sensor.
Further developments may also consider a hole filling process, to get rid of the absence of a few missing simplexes in a large structure (road, building) as in (Harary et al., 2014). Moreover, setting up a generalization method, like in Popović and Hoppe (1997), would be interesting to simplify the resulting simplicial complexes on large and regular structures in order to reduce the memory weight of the simplicial complexes while maintaining a high accuracy. Last, our reconstruction may be (1) κ= 0 and no edge length filtering (2) κ= 0.03 and no edge length filtering (3) κ= 0.2 and edge length filtering of 10 meters (4) κ= 0.5 and edge length filtering of 10 meters FIGURE 9: Influence of κ. The scene represents a facade far from the laser.
useful to help a segmentation algorithm in order to obtain a semantic segmentation of the scene (Rusu et al., 2009;Jeong et al., 2018).