SEMI-AUTOMATIC EXTRACTION OF SECTIONAL VIEW FROM POINT CLOUDS . THE CASE OF OTTMARSHEIM ’ S

Today, elevations or sectional views of buildings are often produced from terrestrial laser scanning. However, due to the amount of data to process and because usually 2D maps are required by customers, the 3D point cloud is often degraded into 2D slices. In a sectional view, not only the portions of the objet which are intersected by the cutting plane but also edges and contours of other parts of the object which are visible behind the cutting plane are represented. To avoid the tedious manual drawing, the aim of this work is to propose a semi-automatic approach for creating sectional views by point cloud processing. The extraction of sectional views requires in a first step the segmentation of the point cloud into planar and non-planar entities. Since in cultural heritage buildings, arches, vaults, columns can be found, the position and the direction of the sectional view must be taken into account before contours extraction. Indeed, the edges of surfaces of revolution depend on the chosen view. The developed extraction approach is detailed based on point clouds acquired inside and outside churches. The resulting sectional view has been evaluated in a qualitative and quantitative way by comparing it with a reference sectional view made by hand. A mean deviation of 3 cm between both sections proves that the proposed approach is promising. Regarding the processing time, despite a few manual corrections, it has saved 40% of the time required for manual drawing.


INTRODUCTION
The laserscanning technique is appreciated for acquiring 3D information, in short time, on the geometry of an object.The object under study can be of different sizes, going from a large scale to that of a city.In the field of building modelling, terrestrial laserscanning is widespread.However, despite their fast acquisition, the processing of the captured point clouds remains time consuming.When maps or sectional views must be extracted from the point cloud, they are generally constructed or at least refined by hand (Duan et al., 2008).In a sectional view, not only the portions of the object which are intersected by the cutting plane are represented, but also edges and contours of other parts of the object which are visible behind the cutting plane.Manual processing of the data has also been observed in firms of surveyors, since they are used to produce 2D maps or 2D sectional views for their customers.The whole point cloud is displayed in 3D and a cutting plane with a specific thickness isolates the points belonging to this plane.Afterwards, the points are brought into CAD software for drawing the sectional view by hand based on 2D slices.This manual operation is not always errorless.An automatic technique to quickly create sectional views from point clouds, without previous modelling of the building, must be developed.This is the aim of this work.

RELATED WORK
To avoid tedious drawings of sections in laser scanner point clouds, one solution consists in modelling the inner and outer parts of the building with geometric primitives or with a 3D mesh, before cutting the model with a plane along a specific axis (Jacobs, 2004).The section drawing might be fast but the prior modelling requires also a lot of time and rigorous effort although only a little part of the model is actually used.Alternative solutions exist for extracting 3D lines in point clouds: with and without prior processing steps.
When the extraction of contour lines must be performed on point clouds exclusively, the latter must not only be free of noise, but also sufficiently dense.Moreover it must cover the object entirely.Briese and Pfeifer (2008) developed an algorithm for the determination of linear features, inspired from the processing chain used for extracting terrain breaklines from aerial laser scanning data.This solution requires the selection of an initialization point as input to the structure line growing algorithm.Another way to extract lines in 3D is to look for the normal of the points.Weber et al. (2010) extract contours directly on the point cloud, without surface reconstruction, after structuration of the points using a kd-tree algorithm.Specific profiles can be detected and only small objects have been considered.
Other authors perform segmentation or meshing before extracting 3D contours from the point cloud.The segmentation process is generally used for separating the planar from nonplanar entities (Stamos et al., 2006).When the segmentation is based on geometrical criteria, the points are gathered together under the condition they belong to a same geometrical entity (plane, cylinder, cone, etc.).The solution frequently used for extracting the outer and inner contour points after segmentation is a Delaunay triangulation (Boulassal et al., 2009;Lagüela et al., 2013;Maas and Vosselmann, 1999).The contour points are then classified regarding their relative position (points belonging to vertical lines, horizontal lines, others) and joined by lines for finally creating the vector model of the object under study.Contour lines can also be extracted from a prior mesh process (Weber et al., 2010;Jacobs, 2004).According to Weinkauf and Günther (2009), most techniques employed for extracting principal curves in a mesh use the concept of ridge and valley lines.They overcome the problem encountered by curvature derivative estimations, by developing a method based on the extraction of topological skeletons, which contain lines of minimal and maximal curvature.Obviously, when the lines extraction is based on a prior mesh, the meshing method chosen impacts the quality of the CAD model.
The complexity of the historical buildings in this project is such, that lines extraction without prior processing, as well as a previous meshing seems unrealistic.Moreover, since a semiautomatic segmentation and extraction algorithm has already been developed for planar entities (Boulaassal et al., 2009), an adaptation of it, for non-planar entities and for sectional views creation, has been developed in this work.

TEST SITE
The main object under study is an abbey-church, built during the 11th century in a village called Ottmarsheim, located in southern Alsace, France.The Ottmarsheim's abbey-church is a beautiful architectural work (Figure 1).With its octagonal shape, its similarity with the cathedral of Aix-la-Chapelle (Aachen, Germany) is often mentioned.
Several deliverables were expected from the mayor of Ottmarsheim: a simplified 3D model of the outer part, an orthoimage of a facet of the octagon and a specific sectional view along the west/east axis of the complete abbey.The last two products are essential for the archaeologist in charge of the project, M. Rollins Guild (Guild and Braun, 1998;Guild, 2009).They might be an important support for illustrating his research.

Figure 1. Abbey-church of Ottmarsheim
A network of 11 topographical points referenced in the local map projection system has been created around the abbey and one point has also been placed in the abbey (Figure 2).The coordinates of stations S1 to S6 were measured by GNSS.Then point clouds have been acquired by laser scanning measurements outside and inside the church.The system used was a FARO Focus 3D scanner (see Fig. 1).The resolution was set for 1 point every 6 mm at 10 m.Several spherical targets have been measured by tachometry for georeferencing the registered point clouds.The final point cloud was composed of almost one milliard points (Figure 3).For the outer point cloud, masks occurred on the roofs because only terrestrial stations have been carried out.Moreover a narrow corridor along the north side of the church prevented the acquisition with a larger scan range.

EXPECTED SECTIONAL VIEW
One requested deliverable was a specific sectional view along the west/east axis of the church (see red arrows in Figure 2).In 1968, a sectional view has been drawn by the Inventaire général with manual techniques, but it represents the opposite side of the octagonal shape of interest, which is not conventional (Figure 4).In this view, the arches of the octagon are identical, which is not the case in the requested view.If we cut the point cloud of the church along the west/east axis and keep the northern part, we obtain a preview of the expected sectional view (Figure 5).It illustrates the complexity of the church and the difficulty to create automatically a sectional view, i.e. keeping also the elements located behind the cutting plane.
Figure 5. Point cloud of the expected sectional view (along west/east axis, seen from the south)

DEVELOPED APPROACH
In the developed approach, after segmentation, the contour points of planar and non-planar entities are extracted and finally, the sectional view is created as a wireframe.

Segmentation into geometrical entities
Klinghammer ( 2013) has extended the existing algorithm for planar segments extraction from point clouds to other entities encountered in historical monuments, like columns or arches for instance.Therefore, he worked on the automatic segmentation of planes, cylinders, cones and spheres.A segmentation experiment has been carried out on the outer and inner point cloud of the church, after resampling.A tolerance st of 5 cm defining the inliers of the segment using an adaptation of a RANSAC algorithm has been used (Bolles and Fischler, 1981).
Figure 6 shows that the segmentation algorithm works quite well for the point cloud taken on the facades, in which the planes are the most occuring geometric primitive.Obviously, the parts where the point cloud was not complete, like on the roofs, are empty.For experimenting the process inside the church, a sample of the point cloud has been considered (see pink frame in Fig. 5).It refers to a portion of about 6 m large x 15 m high x 8 m depth.
Results are less reliable because the geometry of the interior is more complicated (Figure 7a).Improvements of the current segmentation algorithm are under progress.
In order to be able to analyse the quality of the contour extraction algorithm, the segmentation results has been improved manually to obtain the segmentation result shown in Figure 7b.
The adjusted parameters of every entity however is calculated automatically and stored for the next steps.After segmentation, the points composing the contours of the segments must be extracted.In the case of cylinders or cones, the problem is more complex than in the case of planar entities.

Contour points extraction for non-planar entities
It might occur that interesting contours of elements are located inside non planar entities.This situation occurs for instance in Figure 8, where stain glass windows are integrated in a cylindrical choir.By extracting only the contours of the associated geometric entity (here a cylinder), the information of the openings is lost.The idea consists in developing the 3D cylindrical entity into a planar entity in 2D, by changing the coordinate frame (Meyer et al., 2004).Figure 9 presents the process of translation and rotation of the cylinder so that its revolution axis coincides with the vertical axis.Then, by using the adjusted parameters of the entity calculated previously, the cylinder is developed as a plane and expressed in cylindrical coordinates.
At this stage, the contour points of cylinders can be extracted, i.e. the outer contour as well as the inner contours.Since we work in 2D now, the contour points extraction developed for planar entities can be used.A Delaunay triangulation is performed and the vertices belonging to the triangle sides, which are lower than a threshold ds, are kept as contour points (Figure 10).Finally, the inverse transformation is applied and the contour points are known in 3D.At this point, the algorithm is able to extract the contour points of cylinders.However, an additional comment must be made.
The view direction of a section is defined as the normal vector to the cutting plane.Unlike the contours of planar entities, contours extracted from cylinders (or cones) are dependent on the cutting plane, since the generators to extract, i.e. the apparent contours, are dependent on the view direction (Rüegg and Burmeister, 2010).Figure 11 illustrates the fact that a cylinder must be represented differently given the chosen view direction.
Figure 11.Cylinder representation given three view directions.
For that purpose, a rotation of the cylinder frame around the cylinder axis is performed until the cutting plane is perpendicular to the view direction.This must be calculated before the plane is developed (Figure 12b), since the contour points of the plane become the contour of the cylinder.
The algorithm has been applied on the point cloud of the inner part of the church presented in Figure 7 and has provided the results shown in Figure 13.For extracting the points describing the contours, the threshold ds has been defined between 5 cm and 12 cm.Also the edges of the architectural elements located beyond the cutting plane are extracted.Entities covered by a low density of points are lost in the process, but globally, the results are satisfying.
Since only contour points of entities are kept, the volume of data is reduced drastically.Now, for creating a map of the sectional view, it is necessary to build a wireframe based on the available contour points.

Creation of the sectional view as a wireframe
First of all, the points belonging to the same object must be classified into one or several closed polygons.The algorithm chooses randomly one point and searches for its nearest neighbor.Like a line growing algorithm, the points are assigned to the same class if the distance between them is lower than a specific threshold, called gt. Figure 14a presents contour points belonging to the same plane, but characterizing in pink the inner contour points of a window, in green a column, and in black a side of the octagon.The points composing a segment contour must be adjusted by lines or arches.First a RANSAC algorithm is used for detecting the points belonging to lines given a specific threshold (called rt).
Figure 14b shows the results obtained when a threshold of 2 cm is set.We can see that the arch is divided into small linear segments.In order to exclude them from the list of linear segments, only vertical and horizontal linear segments are kept.
Then the most probable lines and arcs are adjusted to their nearest points by least squares method.Finally, the intersection points between curves and lines are calculated (Figure 14c) and a wireframe model can be generated.
The vector contours which are masked in reality by other objects located in front of them, are not yet occulted.For facilitating the deleting of masked contour parts, made manually, all contours are projected orthogonally into the cutting plane and the intersection points are calculated.Therefore, the "deepest" polygon is segmented into several contiguous sub-contours representing visible and non-visible contours.The distance from the contours to the cutting plane is kept as a useful attribute.In a future work, it must be studied how to proceed for automatically hiding the parts of the lines which are masked by other objects located in front of them.

ASSESSMENT OF THE RESULTS
The resulting sectional view has been evaluated in a qualitative and quantitative way by comparing it with a reference.

Creation of a reference sectional view
The reference sectional view has been digitized manually in the previously resampled point cloud.Based on cutting planes of 6 cm thickness, the selected slices of point clouds have been exported to AutoCAD software (Autodesk) for digitizing the contours, after 35 hours work (Figure 15).By curiosity, this sectional view has been compared on 90 points to the one drawn in 1968 (Figure 4) after horizontal flip.Incoherencies have been emphasized and deviations of 18 cm +/-23 cm have been observed, but this was expectable given the measurement techniques used in the past.

Comparison between calculated and reference views
Based on the part of the church presented in Figure 13, the sectional view produced by our algorithm has been compared to the reference sectional view (Figure 16a).Contours of the calculated view do not appear in the reference view, like the edges of the exterior octagon appearing in red in the background.This is an oversight made during digitizing.More problematic are the redundant contours occurring in the calculated view for external contours of contiguous entities.
Given the required map scale, they will be so close to each other that it is probably not necessary to delete one of them.Moreover, errors occur in the calculated contours when the point cloud is affected by occlusions.For a quantitative assessment, a sample of 140 distances between both sections has been distributed randomly.A mean deviation of 3 cm and a standard deviation of 4 cm prove that the proposed approach provides satisfactory results.83% of the deviations are lower than 5 cm; this corresponds to deviations lower than 0.3 mm in the required map scale (1/150).
Also the lengths of extracted polylines (or rectilinear parts of polylines) have been analyzed and compared to the reference ones.On a sample of 42 deviations, an average deviation of 2 cm has been observed (+/-4cm).In fact, the contours extracted automatically are systematically shorter than the reference contours.This was expectable, because the contour points are obviously located inside the entity.A few manual corrections allowed to obtain the result presented in Figure 16b.
Regarding the processing time, this approach is promising because, despite manual corrections, it saved 40% of the whole time required for manual drawing.These thresholds impact the final result.For instance, when the density of the point cloud is irregular (masks) or not sufficient (like on capitals of columns), the contours cannot be extracted.Moreover, the quality of the segmentation, through the threshold (st) used for that step, is also an important factor to consider.

CONCLUSION AND OUTLOOK
The aim of this work was to propose a semi-automatic approach for creating sectional views from laser scanning data, along a specific axis.After segmentation of the point cloud, the extraction of contour points in planar and non-planar entities has been carried out.A specific issue was to take into account the view direction of the sectional view on cylindrical entities.This work emphasized that the segmentation algorithm needs to be improved in the case of complex structures, like inside the church of Ottmarsheim.Regarding the contours extraction algorithm, the approach has been detailed and the results obtained are promising.Even if manual corrections remain necessary, the extraction algorithm allows reducing drastically the time spent for complete manual digitizing.In a future work, the approach will be assessed in the context of building information modeling.

Figure 2 .
Figure 2. Topographical network (in green) and axis of the sectional view to create (in red)

Figure 4 .
Figure 4. Sectional view created by hand in 1968.

Figure 6 .
Figure 6.Segmentation results obtained for the point cloud of the exterior of the church (one color per entity) Segmentation results obtained for the interior of the church; (a) automatically (st =10 cm); (b) manually

Figure 9 .
Figure 9. Cylinder development; a) cylinder in general frame; b) translation to the origin of the frame; c) rotation of the cylinder axis; d) expression of the cylinder in cylindrical coordinates.

Figure 12 .
Figure 12.Contours extraction of a 3D column depending on the view direction; a) point cloud; b) rolled out as a plane and compared to its primitive (in meters) ; c) extracted contours regarding the view direction (ds = 7 cm).

Figure 13 .
Figure 13.Contour points extraction based on the segments of Figure 7b (Ottmarsheim).

Figure 14 .
Figure 14.From contour points to vector contours; a) classification of points; b) detection of linear segments; c) intersection of linear segments

For
extracting the sectional view based on the segmented point cloud, three thresholds have been defined in previous sections: -A threshold for contour points extractions (ds), based on the triangle sides produced by Delaunay triangulation.It is sensitive to point density and level of detail to extract, as illustrated in Figure 17.-A groupment threshold (gt), defining the maximal distance between two successive points of the same polygon.Generally, its value can be taken as equal to ds. -A threshold for extracting the best lines using RANSAC (rt).It depends on the point density, on the quality of the contours extraction and on the map scale.