ACTIVE SAMPLING AND MODEL BASED PREDICTION FOR FAST AND ROBUST DETECTION AND RECONSTRUCTION OF COMPLEX ROOFS IN 3D POINT CLOUDS

: 3D city models in Level-of-Detail 2 (LoD2) are nowadays inevitable for many applications such as solar radiation calculation and energy demand estimation. City-wide models are required which can solely be acquired by fully automatic approaches. In this paper we propose a novel method for the 3D-reconstruction of LoD2 buildings with structured roofs and dormers from LIDAR data. We apply a hybrid strategy which combines the strengths of top-down and bottom-up methods. The main contribution is the introduction of an active sampling strategy which applies a cascade of ﬁlters focusing on promising samples in an early stage and avoiding the pitfalls of RANSAC based approaches. Such ﬁlters are based on prior knowledge represented by (non-parametric) density distributions. Samples are pairs of surﬂets, i.e. 3D points together with normal vectors derived from a plane approximation of their neighborhood. Surﬂet pairs imply immediately important roof parameters such as azimuth, inclination and ridge height, as well as parameters for internal precision and consistency, giving a good base for assessment and ranking. Ranking of samples leads to a small number of promising hypotheses. Model selection is based on predictions for example of ridge positions which can easily be falsiﬁed based on the given observations. Our approach does not require building footprints as prerequisite. They are derived in a preprocessing step using machine learning methods, in particular Support Vector


INTRODUCTION
Three dimensional city models in Level-of-Detail 2 (LoD2) according to the CityGML specification (Gröger et al., 2012)building models with prototypic roofs and larger roof structures such as dormers or turrets -are a requirement for many relevant applications such as solar radiation calculation, real-time simulations for training, or visualization.Such data also is inevitable for applications which require the calculation of the precise volume of a building for energy demand estimation or tax assessment.Typically, large state-or city-wide models are needed for these applications, which can only be derived by fully automatic methods with a high success rate.
Topic of this paper is the 3D-reconstruction of LoD2 buildings with larger roof structures from LIDAR data.This problem has been addressed by many researchers in the last years, an overview is given in (Haala, Kada, 2010).These methods basically can be divided into bottom-up (also called non-parametric or data-driven strategy) and top-down (model-driven or parametric) approaches.Bottom-up methods try to fit roof edges or roof planes into the data, which are assembled to roofs with their constraints afterwards.Top-down methods use parametric 3D roof models which consider roof constraints from the beginning and try to fit them into the data.As stated by (Huang et al., 2013), for the reconstruction of larger areas, a pure bottomup approach leads to disturbances and hence, lacks robustness, whereas a pure top-down approach lacks efficiency.Instead, a hybrid approach integrating additional bottom-up information into the top down process is proposed.
In a former paper, we applied the Random Sample Consensus (RANSAC) method (Fischler, Bolles, 1981) to fit semantic roof models in 3D point clouds.RANSAC is a robust estimator and produces good estimations as long the noise is randomly distributed and unstructured, which is not guaranteed in the context of roofs due to highly structured noise such as dormers or chimneys.In fact, RANSAC nowadays represents a large family of algorithms, the most popular being MLESAC (Torr, Zisserman, 2000), but most of the members of this family are hardly able to cope with situations where the observations are explained by different similar, but competing hypotheses (such as parallel planes with small distances or planes with the same azimuth but slightly different inclinations as in the case of dormers and the searched model is supported only by a small proportion of the observations (see Section 2 for more details).In RANSACbased approaches the size of the support set (or the score as in MLESAC which maximizes the likelihood rather than the number of inliers) has been used for selecting the best model.As will be illustrated in Section 2, this approach fails if the observations can best be explained by structured models aggregated from several primitives, such as adjacent, parallel gabled roofs or roofs with large shed dormers.
The contribution of this paper is a new method for deriving LoD2 buildings with larger roof structures from LIDAR data, which overcomes these and similar problems arising in other approaches.We propose an active sampling strategy that excludes 'bad' samples (which lead to models not supported by the observations) from the beginning.Prior knowledge about models and good samples, represented by probability distributions of parameters, is used to focus on promising hypotheses in a very early stage in contrast to the random sampling of RANSAC.This approach has been inspired and motivated by probabilistic robotics where this kind of importance sampling has successfully been applied.We use the term "active sampling" in constrast to "random sampling" typical for RANSAC.
Active sampling is similar to importance sampling but not the same.It uses prior knowledge in order to assess samples in a very early stage in order to reject weak samples as early as possible and simultaneously avoiding early commitment on any hypothesis.In this way, we actively focus on promising samples and corresponding hypotheses.To the best knowledge of the authors, such methods have not been employed in the context of building reconstruction and especially roof reconstruction until now, with the exception of (Nguatem et al., 2013) and (Schmittwilken, Plümer, 2010) which used an informed sampling for fac ¸ade reconstruction.
With regard to roof models, we distinguish between generic and extension parameters.The extension parameters (bounding geometry) are given by a polygon, with a rectangle as a special case, whereas the generic parameters may be specified by plane equations.For a generic symmetric gabled roof model, four points in general position are sufficient to generate hypotheses (Henn et al., 2013).In this article, we use pairs of surflets (Wahl et al., 2003) instead.An observed surflet consists of a 3D point (from the LIDAR point cloud) and its normal representing a plane approximation of its k-neighborhood in the point cloud.The verification of the prediction for gabled roofs with regard to the observations is reduced to the verification of a ridge prediction.Verification resp.falsification of hypotheses for gabled roofs can be based on predicted ridges and the 3D points observed in the vicinity of the predicted ridges.Hence, our method uses a hybrid approach integrating additional bottom-up information into the top down process, as proposed by (Huang et al., 2013).Pairs of surflets integrate bottom up, i.e. a data driven approach, in a very tight way with top down, i.e. a model driven approach.They are tailored to specific roof models such as gabled roofs and both model parameters (azimuth, declination, ridge height) and measures of consistency (mean square error, curvature, symmetry).
Many approaches for automatically deriving LoD2 building models (with or without larger roof structures), e.g., (Henn et al., 2013, Zhang et al., 2014) require building footprints as additional input.Such footprints typically exist in most highly developed countries.However, even if this data is available, there might be frequent inconsistencies since often the footprints and the other input data (LIDAR, aerial images) have been collected at different points in time, resulting in buildings represented in LIDAR/image data, but missing in the footprint data, or vice versa.There are also relevant disaster scenarios where current footprints are not available.Consider, e.g. the Haiti earthquake in 2010, where the assessment of damages could not be based on reliable footprint information.Our approach does not require building footprints as input.They are derived in a preprocessing step using machine learning methods, in particular Support Vector Machines (SVM), in combination with an α-shapebased boundary determination.However, if they are available, they can be incorporated and be used to improve the result.
The rest of this paper is organized as follows: The next section gives an overview on related approaches to generate buildings from LIDAR data and its shortcomings.Our new method is presented in section 3. Section 3.1 is devoted to the classification of LIDAR points by methods from Machine Learning as well as the estimation and regularization of footprints from the points classified as building points.Methods for detection of roofs and larger roof structures using active sampling and surflets are introduced in section 3.2.Section 4 deals with the 3D reconstruction of structured roof models and discusses the reconstruction results.This paper ends with concluding remarks and an outlook on the next steps in building reconstruction.

RELATED WORK
In the field of automatic building and especially roof reconstruction from LIDAR data, two approaches are mainly used: bottom-up on the one hand and top-down on the other.A comparison of both approaches can be found in (Haala, Kada, 2010).Model-driven approaches, e.g.(Henn et al., 2013, Kada, McKinley, 2009, Poullis, You, 2009) define a catalog of parametric 3D roof models a priori and fit the roof models into the data, followed by a model selection (e.g.Minimum description length (MDL), akaike information criterion (AIC), SVM).The approach of (Kada, McKinley, 2009) uses normal vectors for the determination of the models which fit best to the point cloud.(Huang et al., 2011) as well as (Lafarge et al., 2010) use reversible jump Markov Chain Monte Carlo in order to fit the primitives.Gaussian mixture models and the EM-algorithm are used by (Poullis, You, 2009) for this task.Beside the detection of locally fitted primitives, the authors of (Zhou, Neumann, 2012) detect relations between roof and wall polygons, such as orientation, placement, parallelism as well as orthogonality and equality of roof planes.Regularly, top-down approaches have to deal with the problem of the flexibility.If, however, roof primitives are aggregated in a regular, constrained way such as for instance specified by formal grammars, they are able to model buildings by aggregating primitives and using specific constraints based on frameworks such as attribute grammars and Markov Logic Networks (Dehbi et al., 2017).
In data-driven approaches, geometric primitives such as planes are segmented in a first step and aggregated afterwards.Popular methods are among others RANSAC (Tarsha-Kurdi et al., 2008), 3D-Hough-transform (Maltezos, Ioannidis, 2016), graph matching (Oude Elberink, 2009) and region growing (Rottensteiner, 2006).A further data driven approach is presented by (Poullis, 2013).Laser points are clustered first according to the point normal and height variance (based on an eightneighborhood).Points are (unsupervised) clustered into patches, and neighboring patches are aggregated based on a likelihood function.Finally, the boundary is derived and refined, by employing an energy minimizing function using graph cuts.(Jung et al., 2017) proposed also a regularization method for reconstructing 3D building rooftop models in data-driven manner.Data-driven approaches are usually faced with data perturbation such as occlusions or reflections that leads to disturbances such as incompletely reconstructed roofs.Furthermore, geometric constraints have to be satisfied.Hence, a postprocessing step, as in (Rottensteiner, 2006), is needed which may leads to inconsistency with the previous fitting step (Huang et al., 2013).
A hybrid approach for building reconstruction from LIDAR data combing bottom-up and top-down strategies has been proposed by (Satari et al., 2012).Main roof planes are detected first in a bottom-up manner, using point-based classification methods, clustering and the α-shape algorithm.Afterwards, the derived roof planes are verified by supervised machine learning methods (SVM with polynomial kernel); features are the angle and gradient differences as well as the Euclidean distance between LIDAR points and the plane.In the second, modelbased step, dormers are reconstructed using dormer models and constraints (e.g., identical azimuth and inclination difference of more than 20 • between main roof plane and dormer roof).
For the classification of dormer types, again an SVM is employed.Another hybrid approach was proposed by (Lafarge, Mallet, 2012).In a first step, building points are classified using energy minimization and graph cut based methods, based on local point features.In a model-based way, geometric primitives (planar, spherical, cylindrical and conoidal shapes) are fitted into the points classified as building points.This segmentation is derived by iterative non-linear optimization.For points not covered by primitives, meshes are determined in a datadriven manner.In the third step, the primitives and meshes are combined/aggregated using an adjacency graph.For the derivation of building footprints from LIDAR points, (Huang, Sester, 2011) apply a hybrid approach.A segmentation (data-driven) of the points in planes is achieved by a 3D-Hough transformation.
Based on the segmentation, primitives (rectangles/triangles) are fitted into the point cloud allowing for overlaps along the primitives.As method, reversible jump Markov Chain Monte Carlo (rjMCMC) is used.A further hybrid method has been proposed by (Cao et al., 2017)

DETECTION AND RECONSTRUCTION OF COMPLEX 3D ROOFS
This section gives an overview on the surflet-based active sampling of roof hypothesis as the first step for reconstructing complex 3D roofs.Subsection 3.1 deals with the classification of LIDAR 3D points clouds, the estimation and regularization of footprints from the classified points.Subsection 3.2 describes the approach for detecting roofs and roofs structures which will be reconstructed afterwards.A summary of the whole method is depicted in Algorithm 1.This is a synthesis of the methods which will be demonstrated in the following sections.
In order to overcome the deficits related to the random sampling practice, we propose a novel sampling strategy which applies a cascade of filters and rejects bad samples as early as possible.This approach covers different roof types and will be exemplarily demonstrated for gabled roofs.Based on the point normal of each surflet si, points of flat roofs have been determined via a threshold of 10  et al., 2002), which is calculated from the eigenvalues λi of the principal component analysis of that neighborhood via the formula (1) The second roof property is that ridges are parallel to the ground (x-y plane).Ridges are guaranteed to be horizontal if the azimuths of the opposite roof planes differ exactly by π.We consider points together with their normals which were already mentioned in the introduction.This pair (point and normal vector) is well known in computer graphics as surflet (Wahl et al., 2003).We assume that the normal vectors are normalized (unit length) and oriented upwards.Upwards orientation has the immediate consequence that roof pitches are positive and roof planes are oriented.
Our approach starts with a given LIDAR 3D point cloud AllP ts and delivers a reconstructed boundary representation Brep of the reconstructed roof models.During the first preprocessing step (see section 3.1) each point is classified into 'building', 'vegetation' or 'ground'.Subsequently building areas and their (preliminary) Outlines are detected and regularized.Besides, the belonging classified points P ts ⊂ R 3 and the probability P that a given point is a part of a building are provided.In the next step, surflet-based active sampling demonstrated in Algorithm 2 generates preliminary roof hypotheses H together with best ranked surflets S b ⊂ R 3 ×R 3 as well as best ranked surflet pairs SP.Subsequently, a model selection of 3D roofs is performed leading to an initial set of roof models M0 (cf.Algorithm 3).Afterwards the previous predictions of roof and their parts respectively are refined in order to discriminate between and combine roof types and their parts resulting to refined roof and dormer models M and D respectively.Finally the detected roofs from the previous step as well as their parts such as dormers are reconstructed in a topological correct way.

Preprocessing and detection of buildings in 3D point clouds
A coarse knowledge of the class of each point ('building', 'vegetation' and 'ground') improves our sampling method as will be described in Section 3.2.The class information (category and probability) of the points labeled as 'building' (hereafter called 'building candidates') reduces the search space in sampling.This enables that surflets are solely sampled from roof points.Furthermore, the building outlines are used to bound building model hypotheses to a local area.A refined bounding geometry will be acquired based on the inliers of the selected model and used for the reconstruction of the entire building geometry.For that purpose, we applied a point based classification to the 3D point cloud with a subsequent determination of boundaries for the building candidates.These can be the boundaries of detached buildings on the one hand or boundaries of connected building complexes on the other hand.
A support vector machine (SVM) was used for the classification of points.We applied features from (Chehata et al., 2009, Niemeyer et al., 2012, Zhou, Neumann, 2008) which describe the local context of a single point pti by its position, its normal and the distribution of positions and normals of its k-neighborhood.Since the information on the ground surface (e.g. a digital terrain model) is not available in many cases, the height of the ground has to be determined from the point cloud.Therefore, a feature for the approximation of height difference to ground surface, as proposed by (Chehata et al., 2009) has been calculated.They assume that the point with the lowest zvalue in a vertical cylinder centered at the point pti with radius r is the point on the ground surface.In contrast, we sort the points by its z-component and select the subset L of the lowest 5% of the points.Our approximated height hgr of the ground surface is the median height h (owing to its robustness against outliers) of the points in this subset: Furthermore, the fast point feature histogram (FPFH), proposed by (Rusu et al., 2009), has been included in the feature set.
It has been proven to be discriminative for object detection in point clouds.FPFH is a 3D feature descriptor for point classification based on the surflets in the local neighborhood N .Each combination of two surflets (surflet pair) in N gives a set of three angular relations, e.g. the azimuthal angle between the two surflets.The angular variations are discretized and represented as histogram for each relation.
In order to train a classification model, a set of labeled instances is needed.Hence, a set of ≈ 80,000 points (including ≈ 21,000 building points) has been labeled manually into the classes 'building', 'vegetation' and 'ground'.Given the labels and corresponding features for the training dataset, a (Soft-Margin-) Support Vector Machine (Schölkopf, Smola, 2002), which also was used in (Zhou, Neumann, 2008, Henn et al., 2013), has been learned.As kernel function we used both the RBF kernel and the linear kernel.After optimization of the kernel parameters, the accuracy of the model has been derived using 10-fold cross-validation.We achieved an accuracy of 82.83 % for the linear Kernel and of 87.56 % for the RBF-kernel.
The resulting classification was used for the detection of buildings.Detached buildings (and connected building complexes) in this point set result in point clusters in the corresponding point cloud.For clustering, however, only the Xand Y -component of the point were needed (projection on XY -plane).Because of misclassifications, building candidates nevertheless include single scattered points, which are regarded as 'outliers'.
In order to eliminate the latter and to smoothen the labeling, we applied a LoOP (local outlier probabilities) outlier detection (K. et al., 2009) followed by a DBScan clustering (Ester et al., 1996).The advantage of LoOP is the combination of local, density-based outlier scoring with a probabilistic, statistically- oriented approach.Therefore an upper limit for the outlier probability (e.g.95 %) can be set as a standardized measure.The points marked as 'outlier' were excluded from the DBScan clustering.DBScan has two significant advantages compared to standard clustering algorithms, such as KMeans.At first, the number of clusters (here: number of single detached buildings and connected building complexes) has not to be known a-priori and, secondly, there is no assumption on the shape of the clusters required.For this reason, DBScan can identify L-shaped or U-shaped clusters which are outside the scope of KMeans.
In the next step, the polygonal outline of each point cluster was determined.The same method was applied for the calculation of the boundary of non-rectangular roof-models (e.g. two intersecting gabled roofs) and dormers determined by the algorithm in Section 3. We used a combination of the methods (Sampath, Shan, 2007) and (Lee et al., 2011).
In a first step, the rough building respectively model outline was estimated.Following (Edelsbrunner et al., 1983), α-Shapes were used to determine an approximation of the boundary.Irregular and rough outlines, however, are rather untypical for building models.In most cases the outlines are linear and the intersection angles of two adjacent bounding segments are about 90 • .Consequently, the outlines had to be regularized taking parallelities and orthogonalities into account.
Analogous to (Sampath, Shan, 2007), segments of the α-shape were grouped based on the angle difference of subsequent segments.For each group, initial values were computed which were needed in a following estimation of final boundaries.Therefore the dominant direction of the segments was needed which was derived by the method of (Lee et al., 2011).Given the dominant directions, the initial values and the points of the grouped segments, a Gauss-Helmert-model estimation with angle constraints was performed which provided the estimated parameters of the bounding lines.The intersection of these lines led to the regularized building footprint.

Detection of roofs and roof structures
This section describes active sampling for the detection of roofs and their parts from a LIDAR point cloud.This approach uses regularized approximations of predicted building outlines which have been obtained in a previous step as described in section 3.1.For the sake of clarity and conciseness, our sampling-based detection method will exemplarily be demonstrated for gabled roofs.Sampling is based on surflets S ⊂ R 3 × R 3 .A surflet s ∈ S, s = (pt, n) is a combination of a 3D point pt and its normal vector n derived from the plane approximation of its k-neighborhood.From our experiences, k=5 has been a good choice for specifying this neighborhood.In some cases surflets derived from broader homogeneous regions will be preferred.
Normal vectors, which in general are unique up to the sign, are directed upwards giving a positive inclination angle.Mean square error and curvature of the neighborhood of a surflet point are good fitness parameters for single surflets.Furthermore the comparison of azimuths and inclination provide additional indications for the consistency of pairs of surflets with regard to a prospected roof model.A good sample of a symmetric gabled roof is given by a pair of normals with the same declination and opposite azimuth (the difference between the north vector and the perpendicular projection of the roof).These pairs enable an early assessment of the quality of the surflets; this cannot be achieved if only single surflets are considered.Surflet pair properties reflecting roof properties are used as an efficient filter in active sampling: roof prediction can safely be restricted to a few surflet pairs passing this filter.Figure 2 summarizes the surflet-based classification of gabled roofs.In subfigure a), observed surflets in a LIDAR point cloud that represent a pair are depicted.Such pairs are filtered based on the roof properties such as planarity, curvature, symmetry and opposite azimuth, and consequently represent preliminary model hypotheses which can be easily verified or falsified afterwards.Subfigure b) shows a top view of the point cloud from a) which has been segmented according to the azimuth of the underlying surflet points.The surflet pairs restrict the model hypotheses space enabling the reconstruction of the roof models.Subfigure c) depicts a top view of the reconstructed 3D roof model.The corresponding roof model surflets are drawn with the same color as the roof surface.

Gabled roofs:
The main observation is that the roof properties are mirrored in the properties of a surflet pair.A ridge of a gabled roof is horizontal if the azimuths of both surflets differ in exactly π.A gabled roof is symmetric if the declinations are identical.The identity of the declination ϕ for both surflets is reduced to the comparison of the third component nz of their respective normal vectors.Fig. 3 illustrates the immediate connection between roof and the related surflet pair properties.The orange surflet pairs are used in a) to represent the horizontality of ridges, while b) depicts surflets of a symmetric gabled roof.
Gabled roofs in a given 3D point cloud are identified by using observed surflets s ∈ S, s = (pt, n), the normals n of which are derived from the neighborhood of a point pt in the point cloud.The filtering process starts with the determination of a local neighborhood Ni for each building point pti.We perform a principal component analysis of Ni with a singular value decomposition S • V • D = N i of the matrix N i , where Here S is a diagonal matrix with the non-zero diagonal elements λi in decreasing order.D is an orthonormal 3x3 matrix with the eigenvectors corresponding to the eigenvalues λ0, λ1 and λ2.The last column of D is the normal ni of the plane approximating the point set Ni.The best supporting local plane and its corresponding mean square error (MSE) is derived as usual.The curvature κ is defined as the ratio between the smallest eigenvalue and the sum of the three eigenvalues (see formula 1).
Based on these information, a surflet si for pti with si = (pti, ni) is generated.In the next step the curvature and the mean square error (MSE) are used for defining a filter characterizing the fitness of single surflets w.r.t roof samples.Based on the smoothness criterion, the surflets are ranked in order to get a pre-filtered surflet set S.
Note that small values of curvature and mean square error suggest high fitness of single surflets w.r.t roof sampling.Ranking is based on the derivation of a cumulative density function (cdf).Since neither curvature nor mean square error can be assumed to be normally distributed, the calculation of the cdf is based on a kernel density estimation or -for the sake of efficiency-histograms.The weighted sum of the ranks corresponding to both features provides a first estimate of the fitness of a single surflet.The next step is to calculate the fitness of pairs SP of surflets, which are given as the cartesian product of the surflets which surpassed the first filter.Ranking of pairs of surflets is done by the determination of the declinations ∆φ of the normal vectors of s k and s l for each pair sp = (s k , s l ) ∈ SP (symmetry).Besides, the sum of the azimuths of normal vectors of s k and s l is computed (horizontality of ridges).The cdf represents a ranking criterion for the surflet pairs SP resulting in a set of best ranked surflet pairs SP which will be used to verify the ridge prediction.We found that neither the size of the support set nor the score as applied in most RANSAC based approaches (Tarsha-Kurdi et al., 2008, Henn et al., 2013) are good measures for the appropriateness of a hypothesis.Instead, we try to falsify inappropriate hypotheses based on their predictions.Particularly well suited for falsification are ridges, i.e. the points which should be observed in their neighborhood.For this aim, the ridge line is computed for each pair spi = (s k , s l ) ∈ SP by intersecting the corresponding planes.The occurrence of 3D points is predicted in the neighborhood of the calculated ridge, then it is verified or falsified whether these points are inlier with regard to the considered ridge following a scoring strategy (Torr, Zisserman, 2000).If the ridge line could be verified with respect to the observations P ts, the corresponding roof hypotheses are added to a set of hypotheses H.The whole algorithm for the surflet-based active sampling for gabled roof hypotheses generation is summarized in Pseudo-code in Algorithm 2.
Based on the set of hypotheses H acquired from the surfletbased active sampling step, a model selection is performed in order to obtain a preliminary set of roof models.Algorithm 3 summarizes the procedure of model selection of 3D roofs in pseudo-code.For this purpose, the competitive hypotheses within H which support the same roof are grouped in a group gi ∈ G.The model selection derives the best unbounded roof Determine the preliminary boundaries of m i .Put the resulting set of roof models into M0

RECONSTRUCTION OF ROOFS AND ROOF STRUCTURES AND EXPERIMENTAL RESULTS
This section deals with the reconstruction of 3D roofs based on the roof models M with dormers D acquired from the refinement algorithm in the previous step.Further, the reconstruction results are presented and discussed.Firstly, the regularized approximations Outlines is determined following the method described in section 3.1.Afterwards, the reconstruction method outputs a boundary representation Brep of the reconstructed 3D roof models.The reconstruction is based on a test data set from Vaihingen in Germany provided by DGPF which contains Airborne Laserscanner (ALS) data consisting of 10 ALS strips (Rottensteiner et al., 2014).The median point density is 6.7 points / m 2 in overlapped strip areas.In regions covered by only one strip the mean point density is 4 points / m 2 .The number of buildings in the training phase amounted to about 140.
The problems of RANSAC based sampling approaches described in the previous sections (cf.figure 1) have been overcome due to both active sampling and the falsification of inappropriate hypotheses via ridge predictions.For the comparison, an outline of the resulting models derived with our approach is shown in figure 5.The pseudo-code (line 5 in algorithm 1) is also omitted for the sake of simplicity.
Figure 5. Roof models estimated with our approach based on an active sampling.The problems occurred by RANSAC (cf.figure 1) have been overcome.
Roof reconstruction utilizes the boundaries of the roof model which are determined by clustering the inliers with the DB-Scan algorithm (Ester et al., 1996) and calculating its outline with alpha-shapes (Edelsbrunner et al., 1983).In the case of adjacent roofs, plane intersections are calculated in order to derive border lines.Furthermore, the topological connection between the neighboring roof models as well as partonomies such as the relation between dormers and their corresponding roofs are identified.In the next step, areas in the previously regularized approximation of predicted building outlines OutLines which are not covered by the roof models from M are detected and neighboring roof models have to be extended, if necessary.Further, buildings or roof structures which are too small (false positives) are eliminated.Finally, a regularization of the boundaries takes place in addition to an adjustment of neighboring ridges in order to produce the resulted reconstructed roof models Brep.
In order to evaluate our reconstruction results we submitted our Breps to the ISPRS test project on urban classification and 3D building reconstruction.In this way our results were compared to a reference data from the area 3 in Vaihingen (Germany).The completeness and the correctness of our reconstructed models are performed on a per-area (Cmar / Crar) and on a per-object level (Cm ob / Cr ob ).Furthermore completeness and correctness of objects larger than 55 m 2 (Cm55 / Cr55) has been calculated.The thematic accuracy is determined as described in (Rutzinger et al., 2009).The geometrical accuracy is evaluated using Root Mean Square (RMS) error of distances from our building outlines to the reference building outlines.While Crar amounts 93.9, Cr ob got a value of 97.9.The completeness per-area Cmar is 67.5 and amounts 85.5 for objects larger than 55 m 2 .This is attributed to the fact that we gave attention to structured roofs and did not perform a reconstruction of flat roofs.The RMS error came to 1.1 [m].The identification and reconstruction of a single building takes a fraction of a second on a Windows 64 Bit machine (3.4 GHZ, 16 GB RAM).With regard to dormers which occupy a large portion of the roof our method scores well with other approaches.

CONCLUSION
The contribution of this paper is a new method for the automatic derivation of LoD2 building models with larger roof structures from LIDAR data.Knowledge about roofs and roof structures such as dormers is used to select promising samples ('active sampling') for roofs and roof structures from the LIDAR point cloud and to reject 'bad' samples from this set as early as possible.The concept of surflets and surflet pairs has been proven to be appropriate to perform this task.Surflets first are ranked according to their smoothness and planarity.Pairs derived from the best ranked surflets which do not satisfy roof properties (such as symmetry, horizontal ridges, or ridges of dormers being orthogonal to the ridge of the roof) are rejected as early as possible and very efficient.From the remaining pairs, roof hypotheses are generated and selected applying state-of-the-art model selection methods.Hence, our method implements a hybrid approach combining data driven and model based approaches, getting the benefits of both approaches and avoiding the disadvantages.In particular, we have shown that problems which occur when applying the RANSAC algorithm are solved.Currently our approach covers (symmetrical) gabled roofs, hip and pavilion roofs, as well as flat roof, gable and shed dormers.
In contrast to many other methods, our approach does not depend on building footprints as input.In a preprocessing step, points of the LIDAR point cloud are classified into building and other points using Machine Learning methods.The building points are clustered and finally a set of footprints which fulfills orthogonality and parallelity constraints is derived.This method also can be used for change detection tasks, e.g. to detect buildings which are not present in cadastral data sets.
The method is presented in the paper in a detailed way by giving the pseudo code algorithms for all steps (Algorithm 1 to 5).The output of the algorithms is a 3D city model (detail level LoD2) in CityGML, a standard for 3D city models which is used internationally for data modelling and data exchange.
The next steps will be the extension of the catalog of roof types and roof structure types (for example, chimneys or other dormer types) and the extension of the method to cope with 3D points derived from photogrammetry, in particular to points derived from semi global matching methods.The geometrical characteristics of these points is different to those from LIDAR points.Furthermore, additional color information has to be integrated.
Hence, the methods have to be adapted accordingly.

Figure 1 .
Figure 1.RANSAC: problems in estimating the roof model for observations (observations supporting the model are depicted red, the yellow ones do not support the model).a) expected models (gabled roofs) are contained in the model space of RANSAC.Since the model is supported only by a part of the observations, it delivers a false estimation.b) a false model (flat roof covering the whole observations) obtains more support than the smaller gabled roofs.c) large dormers mislead RANSAC to make a false estimation of a gable roof.

Figure 2
Figure 2. a) A surflet pair/model hypothesis (green, blue) derived by filtering, front view of the point cloud.b) Segmentation of the noisy point cloud according to the azimuth of surflets, top view, c) reconstructed roof model and corresponding roof model surflets.

Figure 3 .
Figure 3. Roof model surflets of gabled roof.Roof properties are reflected by using surflet pairs (orange).a): The horizontality of ridges is represented by the fact that the azimuths θ1 and θ2 of the normals n1 and n2 of the surflets differ in exactly π.Symmetric gabled roof: The declination ϕ must be identical (b).

Figure 4 .
Figure 4. 3D roof models as result of an active sampling based reconstruction.Selected buildings with sophisticated roof models are highlighted.

Figure 4
Figure 4 shows reconstructed 3D roof models based on our active sampling.Sophisticated roofs which ordinarily cause detection difficulties are reconstructed and highlighted on the margin of the figure.
Detection and reconstruction of complex building scenes from point clouds -RECONSTRUCT SCENE Input: AllP ts . . .LIDAR point cloud Output: Brep . . .reconstructed roof models (BRep) 1 [Outlines, P ts, P] = PREPROCESS POINTCLOUD(AllP ts): Preprocessing and classification of buildings areas in 3D point clouds ; • for the angle of the normal to the z-axis.The first property of roofs which is used for the selection of samples is planarity.Thus a point is a good candidate if its neighborhood with regard to the observations is approximately planar.One measure for planarity is the mean square error (MSE) of Algorithm 1: Algorithm 4: Pseudo-code for reconstruction of complex 3D roofs -RECONSTRUCT COMPLEX ROOFS Input: M . . .set of refined roof models D . . .set of dormer models