BUILDING MODELING FROM NOISY PHOTOGRAMMETRIC POINT CLOUDS

The Multi-View Stereo (MVS) technology has improved significantly in the last decade, providing a much denser and more accurate point cloud than before. The point cloud now becomes a valuable data for modelling the LOD2 buildings. However, it is still not accurate enough to replace the lidar point cloud. Its relative high level of noise prevents the accurate interpretation of roof faces, e.g. one planar roof face has uneven surface of points therefore is segmented into many parts. The derived roof topology graphs are quite erroneous and cannot be used to model the buildings using the current methods based on roof topology graphs. We propose a parameter-free algorithm to robustly and precisely derive roof structures and building models. The points connecting roof segments are searched and grouped as structure points and structure boundaries, accordingly presenting the roof corners and boundaries. Their geometries are computed by the plane equations of their attached roof segments. If data available, the algorithm guarantees complete building structures in noisy point clouds and meanwhile achieves global optimized models. Experiments show that, when comparing to the roof topology graph based methods, the novel algorithm achieves consistent quality for both lidar and photogrammetric point clouds. But the new method is fully automatic and is a good alternative for the model-driven method when the processing time is important.


INTRODUCTION 1.1 Motivation
The Multi-View Stereo (MVS) technology currently can provide dense and accurate point cloud.The point cloud from SFM is usually called photogrammetric point cloud.Scale invariant features provide reliable matching between different views of images (Lowe, 2004), the bundle adjustment algorithm automatically detect interior and exterior orientations for large unstructured collections of photographs (Snavely et al., 2006) and then 3D point clouds are reconstructed simultaneously (Agarwal et al., 2009).The dense matching algorithm provides dense point clouds (Furukawa and Ponce, 2007;Hirschmuller, 2008).The point cloud could not only be used to visualize the 3D scene by mapping textures, to produce high-resolution DSM and true orthophoto, and to integrate as features for scene understanding and change detection (Gerke and Kerle, 2011), but also can be used to derive building footprints and models (Nex and Remondino, 2012;Nex et al., 2013).Because of the different spatial distribution, the spatial attributes that are proved valuable in lidar data classification (Xu et al., 2014;Zhang and Lin, 2013) could not be applied in photogrammetric point cloud.Compared to the lidar data, the photogrammetric point cloud has cheaper price and itself carries texture and colour information, which are useful for visualization and interpretation.Therefore, the photogrammetric point cloud becomes a valuable data for the 3D modelling of scenes.
The noise level of the photogrammetric point cloud is still high comparing to the lidar point clouds.The textureless and texture repeat surfaces destabilize the detection of key-feature points.The images shot at different seasons and solar altitudes have inconsistencies, which challenge the dense matching of points.What is more, the tiny errors in the camera calibration and positioning will be amplified tremendously and passed to the final point cloud.The photogrammetric point cloud has about 0.5m to 1m standard deviation, which is quite high comparing to the STD of the lidar data, which is usually less than 0.3m.Because roof faces only have about meters difference, the high level of noise deters the segmentation of individual faces.A roof face is often detected as several ones.The resulting roof adjacency graphs are so erroneous that the roof structures cannot be well interpreted.The photogrammetric point cloud cannot be used in the typical roof topology graph based building reconstruction methods which are proved to be powerful.
The normal building reconstruction methods that are based on roof topology graphs firstly segment the point cloud into roof patches and afterwards search their adjacency relationships.Two roof patches are considered to be adjacent if the number of connecting points between the two segments and the length of its intersection line meet the predefined criteria.Those parameters are very difficult to define: large values will omit small structures while small values will produce a lot of erroneous intersections.This is especially serious in the point cloud with high residual.What is more, the roof topology graphs cannot present the missing segments.The errors in the roof topology graphs need complex automatic processing or careful manual correction.
In this paper, we propose a robust algorithm to derive roof structures and building models.The algorithm depends on points and boundaries, whose detection is parameter-free and robust to the high residual in the photogrammetric points, see Figure 1.The structure points and boundaries clearly present the structures, therefore, the missing segments can be well recovered.We first do component analysis to segment the points which are not connected in height into roof layers, each is then processed independently.The point cloud is segmented into planar roof patches and the points connecting the patches are searched for and grouped as structure points and boundaries.The geometries of structure points and boundaries are computed based on the attached plane equations.Structure points and boundaries only provide the inner corners and boundaries of the roof model.The outer corners and boundaries are derived from the simplified contour of all the points of the roof layers.The roof models are achieved by sequential connecting all the boundary lines for each roof surface and projecting the outer boundaries onto ground as walls.

Contributions:
Robust and Precise Structure Detection.The structure is precisely interpreted based on the parameter-free searching of structure points and boundaries, even when the roof segments are poor and many parts are lost.

Roof Layer Division.
Roof points are decomposed into layers that are not connected in height.Each layer is reconstructed independently to simplify the procedure but the outlines of the sub-roof models are well snapped.
Global Optimized Model Geometry.The nodes of the roof polygons are computed based on the roof planes and their intersections, not on their local neighbouring points.

Related Work
The building modelling from photogrammetric point cloud has longer history than that from lidar point cloud.Before the lidar system became stable and commercially applicable in 1990s, the photogrammetric cloud had already been extensively used us as digital elevation model (DEM).Before the quality is significantly improved in recent years, the photogrammetric point cloud was usually either dense or accurate enough to show the small structures of the buildings.The model-driven methods are introduced to reconstruct buildings from those point cloud with or without line segments (Brenner, 2005;Haala et al., 2006;Kada, 2009;Lafarge et al., 2008;Taillandier, 2005).Primitive buildings suggest some reasonable models when the algorithm could not reconstruct correct buildings, while inhibiting outliers in the input data.The blind-searchingbluntly fitting primitives to the data -is a popular searching strategy in the model-driven method.However, the limited types of building primitives prevent the modelling of buildings with complex and tiny structures.The data-driven method is also used to reconstruct buildings from lidar point cloud when points are sparse (Henn et al., 2013;Huang et al., 2013).
With the improvement of the point density, the lidar point cloud recently becomes good enough to derive building structures.The low-level features derived from the data can provide stable information and accelerate the interpretation speed.Therefore the low-level features, including the roof segments and their adjacency graphs, are achieved firstly and then used to analysis the building structures (Kada and Wichmann, 2013;Oude Elberink and Vosselman, 2009;Sohn et al., 2008;Verma et al., 2006).The topological relationship of roof faces is extremely helpful in finding the sub-shapes of the roofs.However, a roof topology graph may have errors if the point cloud segmentation fails because of outliers or low point densities on poorly reflecting surfaces.The erroneous roof topology graph will result in incomplete interpretation and therefore a wrong model (Oude Elberink and Vosselman, 2009;Sampath and Shan, 2010).Brédif (2010) corrects the roof topology graph considering the 3D dual property.Lafarge and Alliez (2013) reconstruct polyhedron models from inexact adjacencies of surface planes.Xiong et al. (2014) use a graph edit dictionary based method to correct the erroneous roof topology graph automatically.In this paper we propose a robust way to derive the segment adjacency graph, even when the segments are poor and many parts are lost.
The point cloud can be directly visualized by creating TIN models and mapping textures.The models are highly detailed and redundant, especially for objects with regular shapes.To control processing time and storage space, it is desirable to use simplified models instead of extremely detailed models (Garland and Heckbert, 1997).However, we often observe severe alias artefacts at sharp features on the extracted surfaces.Two main solutions are used to keep sharp features while simplifying models.One is to detect edges and corners directly on point cloud, sometimes with the estimated normals of local facets, and relocate the vertex to nearby sharp features (Cohen-Steiner et al., 2004;Kobbelt et al., 2001;Weber et al., 2010).Another one is to partition the mesh into a set of smooth regions and thereby sharp features are detected as border edges connecting different regions (Attene et al., 2003;Cohen-Steiner et al., 2004;Fleishman et al., 2005;Ohtake et al., 2003).We follow the second strategy to derive the building structures.The difference is that the point cloud of roofs has very few points on the walls, which are not shown in the point segments.The holes from the walls result in the wrong positions of the roof polygons.We develop a set of rules, which is based on the distributions of local points and structure elements, to analyse and divide structure points and boundaries to recover the wall polygons.
The (decimated) mesh models are commonly used to model buildings and city scenes.Frueh et al. (2005) generate textured facade meshes of cities. Hähnel et al. (2003) create compact models for indoor and outdoor environment from mobile laser scanning data.Marton et al. (2009)  The rest of the paper is organized as follows.In Section 2, we show roof layers partition, contouring and snapping.In Section 3, we discuss the roof layer modelling, including the detection and positioning of structure boundaries and points, and the outlining of the roof polygons.The experimental results are shown in Section 4 and followed by the conclusion in Section 5. LOD2 buildings can be assumed to meet the 2.5D polygon regularity: the polygons of all roof faces of one building form an enclosed and gap-free building region on X-Y plane, and each polygon is a simple polygon.The roof layers have different heights.Therefore, the regularity is called 2.5D, see Figure 2. The 2.5D polygon regularity is used here to create building models that are gap-free on the X-Y plane.The roof faces connected on height are grouped into one layer, and layers of roof faces are grouped into one building.Then roof layers are contoured individually and snapped together to meet the 2.5D polyhedron regularity.The polygon for each roof layer is used later to help its inner structure reconstruction, which is done independently to other roof layers, therefore the procedure is simplified.

ROOF LAYER MODELING
This section shows the modelling of roof layers based on the structure points and boundaries.Roof layers are modelled independently and combined to be a complete building.The snapped layer contours are used as footprints for each roof layer in the reconstruction.

Search for structure points and boundaries
The structure points and boundaries are searched for on the TIN of points, not simplified grids, keeping the original accuracy.
The points are first segmented by a surface growing algorithm (Vosselman, 2012) and then refined so that all the points belonging to one roof face are connected by the TIN edges.The TIN facets whose three nodes belong to three different roof segments are found to be triple-tag structure points (the red facets in Figure 4  One situation is that it is an edge of another structure point.
When the search finds that the new edge belongs to another structure point, the search stops and tags the two structure points to be the start and end nodes of the structure boundary.A roof segment may be only adjacent to one roof segment or no segment.In the first situation, no triple-tag structure points could be found.A random TIN edge which has not been tagged to a structure boundary is picked up and the boundary edge that it belongs to are sequentially searched for along two directions, each end boundary edge is attached to a double-tag structure point.In the second situation, the roof layer only has one roof segment and does not have structure boundary.It is simply modelled by its layer contour.

Locating of Structure points and boundaries
The structure points and boundaries only present the roof structures.Their geometry positions need to be further calculated.They are computed based on the plane equations of

(a) (b) (c) (d) (e) (f)
Figure 5. Splitting of the structure points and boundaries.From top to bottom: the building models, the initial searched structure points and boundaries, and the split structure points and boundaries.In the second row, the structure boundaries shown in polylines are to be split.The polylines are to present the locations of the TIN edges of the boundaries but are simplified for better visualization in the figure .the attached roof segments.As the roof planes are computed based on the least-squares fitting of the segment points, the positions of the structure points and boundaries are based on the global point information, but not the local points which connect the structure points and boundaries.The geometries of the input points are recalculated.Therefore the proposed algorithm is much more computationally efficient.
The positions of triple-tag structure points are set to be the intersection of the three attached roof planes, if either two of them are parallel.The positions of the double-tag structure points are set to be the centre of the projections of the two TIN nodes on the intersection of the attached roof planes.The position of each structure boundary is fixed by its two end nodes.A structure boundary is thereby along the intersection line of its two attaching roof planes.
In many situations, however, the positions of the structure points and boundaries cannot be computed as mentioned in the last paragraph.Figure 5 shows all the cases where the structure points and boundaries need to be improved.One case is that two of the attached roof planes are parallel therefore no intersection lines or points can be derived.This is quite common in the airborne point cloud, which has no or little points on walls.The roof segments that should be split by wall segments are detected to be adjacency walls (see Figure 5 (a-c)).Another case is that the TIN edges of a structure boundary do not align along the intersection of the two roof planes (see Figure 5 (f)).The curved surfaces which come from the roof faces themselves and the high level of noise make the seam of two roof segments not to align with do not follow their intersection line.
In order to recover the correct geometry of the roofs, the structure boundaries and points are split into sub parts, if needed.Sometimes the structure boundaries belonging to roof segments that are intersecting also need to be split.Some boundary edges of the structure boundary do not align along the intersection.A structure boundary is split to parts that are along the intersection line and ones that are not along the intersection line.In case Figure 5 (d), the dormer segment is surrounded by its under segment, therefore only one structure point is derived.We use the geometry knowledge that a dormer is usually rectangle to split the structure boundary.Two groups of structure boundaries are created for the two roof segments.Each group forms a rectangle shape.Case  This contribution has been peer-reviewed.The double-blind peer-review was conducted on the basis of the full paper.

EXPERIMENTS
The Vaihingen dataset is chosen for the evaluation.The Vaihingen dataset is part of a benchmark to compare 3D building reconstruction algorithms (Rottensteiner et al., 2014).It consists of 20 images of the high-resolution DMC block and subsets of Airborne Laser Scanning data used in that test.The lidar data is acquired using a Leica ALS50 system with a 45° field of view and a mean flying height of 500 m above the ground.The average strip overlap is 30% and the point density varies between 4 and 7 points/m 2 .Three test sites were selected: Area 1 is densely built and contains historic buildings with rather complex shapes.Area 2 is characterized by a few highrise residential buildings.Area 3 is a purely residential area with detached houses.The reference for building reconstruction consists of LoD2 building models.These are detailed roof models without roof overhangs or façade details.The accuracy is about 10 cm in planarity and height.Further details are described in (Rottensteiner et al., 2012).We use the evaluation methods described in (Rutzinger et al., 2009) to evaluate the model qualities.
A dense matching algorithm (Jancosek and Pajdla, 2011) is used to produce photogrammetric point cloud from the calibrated and oriented stereo images.The photogrammetric point cloud currently has a higher noise level than the lidar point cloud, and hence provides a less reliable roof topology graph for interpreting roof structures.Errors in the roof topology graph from photogrammetric point cloud are more complex and more diverse than ones from lidar point cloud.As a consequence, the roof topology graphs from the photogrammetric point cloud require more manual correction operations than those from the lidar point cloud.
Figure 6 shows the model qualities from the two different point clouds and three different methods.ITCX_G2 is a reconstruction method using lidar data and a graph edit dictionary (Xiong et al., 2014).IMAGE is a reconstruction method using photogrammetric point cloud and manual correction (Xiong et al., 2013).NewLidar and NewImg are the reconstruction method proposed in this paper but using lidar point cloud and photogrammetric point cloud, accordingly.The photogrammetric point clouds have a higher residual than lidar data, so the geometric accuracy of reconstructed models from photogrammetric data is lower than ones from LiDAR data, both in the X-Y plane and in the Z-direction.Here we do not emphasize on the comparison of lidar point cloud and photogrammetric point cloud, but focus on the improvement of the new method with the model driven method.So the comparisons are mainly between ITCX_G2 with NewLidar and IMAGE with NewImg.From Figure 6, we can see there is no significantly difference between the new method and the ITCX_G2 and IMAGE on the model qualities of the completeness, correctness and the topology errors.It means the new method achieves correct roof structures as the two model driven methods.Figure 7 shows three buildings in the test dataset.We can see that the reconstructed models have no difference in the building structures.In the proposed new method, the model geometries are derived from the data, they are sensitive to the data.The model boundaries of the NewLidar and NewImg are not as smooth as ones of the ITCX_G2 and IMAGE.The RMS (in Table 1) shows that the quality of model boundaries on the X-Y plane decreases from 0.69 to 0.74 in area 1 and from 0.97 to 1.22 in area 2, but increase from 0.79 to 0.59 in area 3. The ZRMS (in Table 1) shows that the model quality on the Zdirection becomes worse in all three areas, decreasing from 0.31 to 0.42 in area 1, from 0.54 to 0.60 in area 2 and from 0.25 to 0.40 in area 3. It is the cost of data-driven method: the model geometries rely more on the data than the model-driven methods.

CONCLUSIONS
In this paper, we have proposed a data-driven and fully automatic method for building model reconstruction.It achieves correct building structures even with the photogrammetric point cloud with high noise level.Because the model geometries are derived from the data, the geometry quality is a bit lower when comparing to the model-driven method.But the normal methods based on roof topology need lots of the manual input to correct the roof topology graphs, which is time and labour consuming.The proposed method is fully automatic.Its accompanying profit on the automation surpasses the quality lost.The proposed data-driven method is a good alternative for the model-driven method when the processing cost is vital and the model qualities are not so important.

Figure 1 .
Figure 1.Building modelling from noisy point cloud.(a) The photogrammetric point cloud randomly coloured according to roof segments; (b) The model reconstructed by the new method; (c) The model reconstructed by a topology graph based method.The point cloud with high level of noise can only provide messy roof segments therefore an erroneous roof topology graph, which is not enough to search building primitives by roof topology graph based methods.But the structure boundaries and points can well present the building structures.

Figure 2
Figure 2. 2.5D polygon regularity.The planar partition of a polygon is a sub-division of a region into non-overlapping simple polygons, which may locate at different height.

Figure 3 .
Figure 3. Snapping of roof layer contours.(a) The building contour and the roof layer contours (with coloured nodes); (b) the derived Constrained Delaunay Triangulations; (c) the tagged roof regions; (d) the output of the snapped contours.Roof layers are derived by a component analysis of the input point cloud.A TIN model is constructed from the input points by Delaunay triangulation and its long edges which exceed a certain length are deleted, afterwards the connected TIN nodes are grouped into a component.The contour of one roof layer is derived by the 2D α-shape algorithm and then generalized into polygons with less edges and regular angles.The contour of the whole building is achieved by the same way, but using all the points of the building.The building contour restricts the building region and layer contours are snapped to meet the 2.5D polygon regularity.The contour snapping is done in a way similar withLedoux et al. (2012).The workflow is shown in Figure3.The snapping is based on 2D partitions of the building region.The regions defined by the layer contours may have overlaps and gaps in between.A region growing algorithm tags all the cells of the building region uniquely to ensure each of them only belongs to one roof layer.Subsequently, the boundaries of the regions are the snapped roof contours.The region cells are the triangles which are constructed by the Constrained Delaunay Triangulation (CDT) algorithm which uses the contour of a building and contour of all layers as constraints.The region growing algorithm guarantees the derived roof regions are continuous.Furthermore, it applies two growing rules: 1) The overlapping cells are preferentially set to higher roof layers; 2) The empty cells are set to lower roof layers.The two rules are based on the observation that the high roof faces have higher probability to be well surveyed than lower roof faces.Therefore the overlapped cells belong to the good data, which is the higher roof region.And the empty cells are usually from the occlusion, therefore are set to the lower region.Comparing to the typical polygon snapping methods which is processed line by line, the region growing based algorithm is on global snapping.It effectively guarantees the resulting polygons are valid.
(a)).One triple-tag structure point connects three roof segments therefore serves as the start points of the three structure boundaries between the three roof segments.Starting from each edge of the triple-tag structure point, the search finds a sequence of TIN edges which connect the two roof segments.The green facets in Figure 4 (b) are the structure boundary regions and the red arrows present the search orders.The last TIN edge of the structure boundary has two situations.

Figure 4 .
Figure 4. Building modelling by the structure points and boundaries.(a) The red TIN facets present the anchor points; (b) the green TIN facets present the area of anchor boundaries and the red arrows present their orders; (c) the position of the anchor points and boundaries; (d) the roof polygons.
The first situation is to recover the walls.If the three attached roof planes cannot intersect, a triple-tag structure point is split into two or three structure points.Each roof segment may have a one-tag structure point.The one-tag structure points that are connected and belonging to two unparalleled roof segments are merged to a double-tag structure point.If two of the attached roof planes intersect, two structure points will be derived: one is a double-tag structure point which connecting the two intersecting roof segments and the other one is an one-tag structure point which only attach to one roof segment (Figure 5 (a)).If either two of the attached roof planes intersect, three one-tag structure points are derived (Figure 5 (b)).

Figure 6 .
Figure 6.Connecting of open structure points.(a) Relocating and sorting of open structure points; (b) Vertical projection of the polylines of the structure boundaries connecting the open structure points; (c) The achieved building models.The structure points and boundaries only provide the inner parts of the building polygons.The outer parts are inferred from the contours, which provide the 2D locations.The roof polygons are completed by integrating contours, structure points and structure boundaries.Structure points record their linkage with contours by their connection status.A structure point is open if it is attached to only one structure boundary.The open structure point should be on the contours and needs to be connected to other open structure points by structure boundaries.The connection of open structure points begin with the relocating of the open structure points by extending them to the roof layer contours along the line of the structure boundaries on doi:10.5194/isprsannals-II-3-197-2014 the X-Y plane.Thereby open structure points are sorted according to their locations along the roof layer contours.An example is shown in Figure 6.Open structure points A, B, C, and D are projected onto the contour along their structure boundaries (Figure 6 (a)).The order of the open structure points are ACBDA.A structure boundary is created to link each pair of neighbouring open structure points.The polyline that a new structure boundary presents is the contour part which the two open structure points clamp.In Figure 6 (b), four polylines are created: AC, CB, BD, and DA.The contour only provides the 2D position of the polyline, which is vertically projected to the roof plane where the structure boundary locates, see Figure 6 (b).When all anchor points are connected by structure boundaries, the roof polygons are achieved by sequentially linking the line segments of all structure boundaries for each roof face, see Figure 6 (c).
Lafarge and Alliez (2013)hou and Neumann, 2011) indoor scene from model laser scanning data.Nie et al. (2013)model large and scale scene from consumer depth camera.Wahl et al. (2008)first detect semantic shapes and use them as constraints in the simplification to derive city models from digital surface models (DSM).Zhou and Neumann use 2.5D dual constraints to recover vertical walls and create simplified roof models while reserving sharp features(Zhou and Neumann, 2010;Zhou and Neumann, 2011).Lafarge and Alliez (2013)create and simplify mesh models from the structured points which are created from the noisy point cloud and regular distributed points on the detected planes and ridges.Our new building modelling method is also data-driven as those methods.We do not recalculate the positions of the point cloud, but only derive the building structures based on the point segments.Therefore the proposed algorithm is much more computationally efficient.The node positions of model polygons are not computed based on their neighbouring points, but the plane equations of the roof segments, therefore are globally optimized.
Another situation is that the search cannot find another tripletag structure points.It means the structure boundary is open and pointing to the outer boundary of the building.The far end TIN edge is set to the end edge of the structure boundary, and a double-tag structure point is created as the end node of the structure boundary.A double-tag structure point only connects two roof segments.

Table 1 .
Rutzinger et al. (2009) from lidar point cloud and photogrammetric point cloud in the Vaihigen dataset.The measurements used in this table please refer toRutzinger et al. (2009).