3D Building Reconstruction Using Dense Photogrammetric Point Cloud

Three dimensional models of urban areas play an important role in city planning, disaster management, city navigation and other applications. Reconstruction of 3D building models is still a challenging issue in 3D city modelling. Point clouds generated from multi view images of UAV is a novel source of spatial data, which is used in this research for building reconstruction. The process starts with the segmentation of point clouds of roofs and walls into planar groups. By generating related surfaces and using geometrical constraints plus considering symmetry, a 3d model of building is reconstructed. In a refinement step, dormers are extracted, and their models are reconstructed. The details of the 3d reconstructed model are in LoD3 level, with respect to modelling eaves, fractions of roof and dormers.


INTRODUCTION
For more than two decades 3D reconstruction of buildings from remote sensing data has been a research topic of interest (Haala & Kada, 2010).3D point clouds captured by airborne laserscanning or provided by airborne and spaceborne images provide necessary information to fulfill this aim.With respect to data and application, a 3D building model can be generated with different levels of details.This kind of model can be a coarse building representation, or consists explicit geometry with more details like dormers.These models are named LoD2 and LoD3 in the standard format CityGML (Arefi, Engels, Hahn, & Mayer, 2008).
By taking images from nadir and oblique directions, UAV imagery provides the opportunity to gather comprehensive datasets for modelling buildings, from upmost points on the roof to lowest parts on the ground.Compared to airborne and mobile mapping, which provide data for 3D city models, data collection with UAVs is focused on small urban environments.Multi-stereo image matching is applied for providing a point cloud from these images.Recent matching software such as SURE is able to generate 3D points at significant accuracies and densities (Haala, Rothermel, & Cavegn, 2015).However a point cloud produced by this method has some drawbacks, on account of different viewing angles and reflective surfaces which cause noisy data .Therefore, those point clouds possess higher clutter in depth, plus problems in glass areas like window (Tutzauer & Haala, 2015).
Data-driven and model-driven approaches charactrize the 3D building reconstruction.Data-driven approach creates 3D model of complex buildings wihthout relating it to a library of primitives.In model-driven approach, complex buildings should be decomposed to simpler models.By searching and composing most approprite models from a models library, proper model can be generated.
Point clouds from different surfaces of a building can be firstly seperated from each other and grouped, so that each group can be approximated by a planar surface.For this purpose, efficient RANSAC shape detection, proposed by (Schnabel, Wahl, & Klein, 2007) is used.with this algorithm, an unorganised point cloud is clustered to plane shape groups.
This paper discuss the research on building reconstruction from dense photogrammetric point clouds.The following sections, related works, building reconstruction, and increasing details of a model are outlined and discussed.

RELATED WORKS
3D building reconstruction is a topical research, on which many researchers developed methods from diverse standpoints related to data, approaches, level of detail, and so on.Improving geometrical details of a model is of interest, which is an aim of this research too.Nonetheless, some other researches (Kada, 2011) focused on simplification of models by generalisation algorithms.several researches, related to data-driven approach and UAV images, are presented: (Xiao, Gerke, & Vosselman, 2012) made a 3D model of a building using oblique aerial images.Façades were modelled by edge information and height; buildings were recognized based on façade positioning in stereo images with the same view direction, plus high gradient in height maps calculated from dense image matching.Window, door and balcony are extracted based on the property that lines through edges cross on vanishing point in oblique images.(Tutzauer & Haala, 2015) used point clouds from mobile mapping system plus point clouds from dense image matching to enrich LoD2 building models and reconstruct façades.They applied colour information besides geometry to carry out segmentation of the point cloud in problematic areas such as window.(Becker & Haala, 2007) used LIDAR data and façade imagery for façade reconstruction.Window structures were extracted from LIDAR data and refined with overlapping images from facade.

BUILDING RECONSTRUCTION
In this research, a dense point cloud from a single building is established by dense image matching, whose images were captured by a UAV from different directions in order to cover the building and its surrounding ground thoroughly.This point cloud has an average density of 30 points per dm 2 on the roof, except from dormers, and on walls it has an average density of 20 points per dm 2 , except from openings.

Pre-processing and Clustering
Erroneous data leads to wrong object fitting, and consequently corrupt results.By, using statistical outlier removal filter from Point Cloud Library (PCL, 2015), some irregularities which do not follow Gaussian distribution are removed.The cleaned point cloud is displayed in Figure 1.As it shows, this point cloud suffers from some clutters.One of these clutters is caused by a scaffold as an obstacle.
Figure 1.Point cloud of a single building Point cloud should be clustered to meaningful surfaces regard to interested LoD, which in this step is LoD2.The method of RANSAC shape detection (Schnabel, Wahl, & Klein, 2007) is applied for detecting planar surfaces of roof and walls.This approach mostly depends on the minimum number of samples on each primitive.The produced outcomes are depicted in Figure 2. As it is displayed on each side of the roof, because of the fraction in structure of the roof, it is clustered into 2 different groups.

Model Calculation
Knowing the approximate plane of each cluster, accuarte parameters of each plane are calculated, according to the equations 1, 2 and 3 by least square adjustment. is the unknwon parameters of the plane,  the design matrix of each cluster and  the observations, in these equations:    +    +    + 1 = 0 (1) Equation 1 for vertical surfaces like walls leads to a rank deficiency of .The rank deficiency is solved for vertical planes, by imposing the constraint on c as: For finding edges of surfaces, points of each cluster are projected on its plane.Then, by using Point Cloud Library convex hull of the points is calculated.With respect to the fact that the shape of each cluster is almost a rectangle; convex hulls are simplified to quadrangles.Thus, quadrangles of shape detection are utilized besides points of convex hull.
In Figure 3 the convex hull, detected shape, point cloud plus occluded side of the building are superimposed.where: (x0 , y0 , z0) is a point on the line, (  ,   ,   ) is the direction vector of the line which is calculated as: where  1 and  2 are normal vectors of two adjacent planes.
In Figure 4 candidates of each vertex are superimposed on the point cloud.For gaining an acceptable model in occluded part of the building, symmetry of those building parts is taken into consideration.So, intersection of planes can calculate edges in occluded areas, as it is displayed in Figure 4. Top parts of walls have little data, due to eaves; though by using intersection of planes, its edge is computed.In addition, ground lines of walls are similarly provided by intersection each surface of walls with adjacent surfaces of the ground.
Most vertices of the building are placed on at least 3 planes.So, topology graph of vertices is produced.With Respect to this graph, planar surfaces, connected to each vertex, are intersected and coordinates of intersection points of planes are computed as: Candidates of vertices from former step are weighted on the basis of distance to the calculated points from equation 7.
Next, adjusted vertices are generated using the weighted mean.Moreover, eaves are constructed by adding calculated vertices from adjusted surfaces to the model of roof.

INCREASING DETAILS OF THE MODEL
With regard to high density point cloud even on dormers, modelling these structures is discussed in this section.Points on top surface of each dormer are grouped similar to planes which are constructed so far.Point clouds on lateral sides of dormer walls do not have a sufficient density fair enough to approximate a plane.Furthermore, as the front side of each dormer, outlines a window, the point cloud of glass part is generated with high clutter.This happens due to matching difficulties, which are caused by reflective surfaces.Nevertheless the point cloud on the frame of the window is good enough to fit a surface.However the top part of each frame is occluded.Figure 5 shows grouped points of dormers on the plane of roof.

CONCLUSIONS
In this research, some steps of refining a generated 3D building model are carried out, by only using dense photogrammetric point cloud plus several geometric constraints.In this model, fractions of roof, eaves surfaces besides dormers are appended.
In this data-driven approach, symmetry in occluded parts of the building are assumed to generate.These parts include two corner walls of the building and the above parts of windows frames.
Figure 6 displays that some segments of the reconstructed dormers have deviation.To tackle this problem, additional geometrical constraints should be utilized.Also, by analysing colour data, dormers reconstruction can be improved.Image data can be used for evaluating results, in future research.In addition, architectural details of walls like stairs and openings can be appended to the 3D model.

Figure 2 .
Figure 2. Clustering point cloud to inclusive planes

Figure 3 .
Figure 3. Superimposed convex hull, detected shape and point cloud in an occluded area Vertices of the building are placed on intersection of its faces.By applying this constraint on calculated quadrangles, apart from polygons of eaves surfaces, candidates of vertices are generated.Thus, planes are intersected according to topological relations among them.The equation of each edge is calculated as:  =  0 + .  ,  =  0 + .  ,  =  0 + .

Figure 4 .
Figure 4. Candidates of vertices and produced intersected lines

Figure 5 .
Figure 5. Grouping point clouds of dormersPlanes of top sides of the dormers are improved by least square adjustment like in before steps.Then, these planes are intersected with the plane of the roof to calculate lines of intersection.Planes of frames, in adjustment process, have rank deficiency, so a vertical plane is fitted on points of their clusters.Intersection of these planes with top planes of dormers and also roof calculate vertices of dormers.In Figure6, the model with LoD3 details is displayed.

Figure 6 .
Figure 6.Building model with LoD3 details