FEATURE-DRIVEN 3 D BUILDING MODELING USING PLANAR HALFSPACES

With the exception of pure data-driven methods, reconstruction approaches for 3D building models from aerial point clouds often incorporate some level of model information to construct regularized and well-formed roof structures. In the proposed feature-driven approach, low-level roof features like ridge lines, gable and (half-) hip ends, intersecting ridge lines, dormers etc. are detected in a hierarchical rule-based feature recognition process based on a sub-surface segmentation of the point cloud. With each feature type, a number of planar half-spaces are associated that define a certain part of the resulting 3D building model as a mathematical inequality equation. The Boolean intersection of half-spaces define convex building components that can be united to generate more complex building shapes, where the features enforce that the half-spaces are nicely aligned.


INTRODUCTION
The inclusion of 3D views in desktop, mobile, and web-based mapping applications has become mainstream in recent years.In particular urban landscapes hold a certain attraction due to the many anthropogenic objects shown; buildings accounting most notably for the largest share.However, what is presented to the viewer in commercial products is in most cases a visualization and the models cannot be further made use of, e.g. for analysis tasks.Objects are not always modeled as discrete entities and if they are, they often lack type-specific shape regularizations and fine grained semantic information.Aside from models that are generated for visualization purposes, the field of automatic 3D reconstruction from airborne and terrestrial point cloud data has matured over the last two decades (Rottensteiner et al., 2012).
Within this article, we contribute to the topic of automatic 3D building reconstruction from aerial point cloud data and present a feature-driven approach that constructs 3D building models using planar half-spaces.In general, reconstruction approaches are categorized as being either model-or data-driven, although the transition between the two extremes has rather faded in recent works.Model-driven approaches choose configurable building blocks from a library of pre-defined templates, determine their roof shape parameters to best fit the given data (see e.g.(Henn et al., 2013)), and possibly combine them with other blocks to generate more complex shapes (Huang et al., 2013).Pure data-driven approaches, on the other hand, aggregate the measured points to form higher order primitives (usually planar regions) and combine them to form surface models without any shape restrictions.But in order to have well shaped, oriented, and aligned surfaces, data-driven approaches analyze adjacency information and topologically match regions to common roof shapes (Verma et al., 2006) in order to apply regularization operations (see e.g.(Sohn et al., 2012)).In this way, building knowledge is added to the reconstruction process while still keeping the flexibility of a data-driven approach.
With a feature-driven reconstruction approach, we see ourselves somewhere in between both methodologies.The features we are primarily interested in are rather low-level features that do not constrict the shape of the building models.But they integrate enough building knowledge to improve shape regularization of building roof components.The feature-driven approach in addition with today's higher point densities allows generating 3D building models with a fine-grained semantic classification of all roof parts (ridge lines, gable and hip ends, dormers etc.) that are recognizable in a point cloud that is captured by an aerial sensor system.Users e.g. from public authorities often ask for such semantically structured building models.
Regarding model construction, many automatic reconstruction approaches have generated 3D models directly in boundary representation (Oude Elberink and Vosselman, 2009;Sampath and Shan, 2010), using Boolean operations on (parameterized) solids with basic roof shapes (Haala and Brenner, 1999), cell decomposition (Kada and McKinley, 2009), binary space partitioning trees (BSP) (Sohn et al., 2008) or a combination thereof (Lafarge and Mallet, 2012).In our feature-driven approach, we use half-space modeling (Mäntylä, 1988;Foley et al., 1990), as it allows a one-to-one relation of planar segments to planar half-spaces and it therefore seems to us as a natural choice.This means that we generate one half-space for every segment and use directly the plane equation of the segment to define the parameters of the half-space.Many features and also complex roof shapes can be defined by rather small numbers of planar half-spaces and still allow for certain flexibility.One problem is, however, that the result of combining planar halfspaces, e.g. by Boolean intersection operations, is a convex component.So in order to get a concave building shape we ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume II-3/W3, 2013CMRT13 -City Models, Roads and Traffic 2013, 12 -13 November 2013, Antalya, Turkey must build convex components and unite them with a Boolean union operation.Both sub-surface segmentation and the featuredriven building description allow us to find a (small) number of convex components necessary to construct every possible building shape.
At this point we are not handling roof decorations or detailed roof boundaries (e.g.eaves).However, every linear boundary can be defined by a combination of planar half-spaces.If the shape is concave, the geometry needs to be decomposed into convex components first.So for a future integration of eaves, we plan to use 2D outlines generated as presented in (Kada and Wichmann, 2012).

RECONSTRUCTION APPROACH
In this section, we give a brief overview of the reconstruction approach presented in this article.It consists of three processing steps: sub-surface segmentation, feature recognition, and model construction.
The notion of sub-surface segmentation and the algorithm for sub-surface growing are introduced in (Kada and Wichmann, 2012).In summary, the segments of sub-surface segmentation are enlarged with virtual points that geometrically fit the criteria of the segments, but are located below real surface points (cp. Figure 1).The justification is that the building models are constructed by a union of solid primitives and everything that is modeled below surface is cleared away.But the enlargement of segments helps to better recognize adjacencies, intersections, and also the sub-shapes of building roofs.
Figure 1.Segmentation of planar region as a result of surface growing (left) and sub-surface growing (right).
After sub-surface segmentation, an iterative rule-based feature recognition step follows (see section 3) that matches feature rules to subsets of segments.Here, we are particularly interested in low-level roof features (ridge, valley, hip, broken hip, eaves, gable end, hip end, half-hip end etc.) including roof structures (chimney, dormer, decks etc.), but also recognize high-level features, which represent shapes of roof components (gable, hip, mansard, gambrel, clerestory, etc.).The collection of features is semantically interconnected, so that the geometry of a feature is defined both by its segments and the context of the connected features.
For the last step, 3D building model construction, we use halfspace modeling, which is a form of solid modeling (see e.g.(Mäntylä, 1988) or (Foley et al., 1990) for a detailed description of half-space modeling).A solid is defined as a combination of simple point sets, each described by a characteristic function.A point belongs to a point set if it satisfies this function.We restrict ourselves to linear inequality functions that define halfspaces that consist of points on or behind a plane.Other halfspaces could be included in the future to model spherical, toroid, conic, cylinder (barrel) shapes.By applying the Boolean set operation intersection to a collection of planar half-spaces, a convex polyhedron is constructed.Some care has to be taken to generate closed objects.Concave shapes are then constructed by the union of these convex polyhedrons.
Half-spaces are actually not defined in the model construction step, but at the time the features are generated during feature recognition.Each feature defines a collection of half-spaces depending on its type and context.A ridge e.g. that is part of a pitched roof (cp. Figure 2) defines four half-spaces (H1 to H4), two from its roof segments and another two half-spaces at the roofs extreme points delimiting this component vertically.The extent of the ridge is then defined by two ridge end features, which e.g. can be a gable or a hip end, or another intersecting ridge feature.Here, the ridge ends are two gable features, which introduce one half-space at each side (H5 and H6).As the bottom half-space is the same for all building components, only one global bottom half-space is defined (H7).To obtain a model in boundary representation, a conversion is performed in the model construction step.
Figure 2. Pitched roof building with a ridge (green line) and two gable features (blue dots), and corresponding half-spaces.
The reason we use half-space modeling is the direct mapping of planar roof segments to planar half-spaces.In fact, if we had vertical façade segments of a convex building available, then we could map segments one-to-one to half-spaces; their collection would be a complete description of the building.This is a very natural way to translate segments to the 3D model construction.However, to construct concave shapes, an object needs to be split into convex components, which are then united.Subsurface segmentation is a good basis to find a preferably small number of convex components as the segments are enlarged as much as possible and therefore opens up many opportunities for the feature recognition step to group them together to form convex shapes.These convex components do not need to be disjoint, and may intersect like the segments from sub-surface segmentation.
Modeling with half-spaces also opens up the possibility to test the location of points with regard to features or components even though the components are still incomplete.If points are in front of any single half-space, it is also outside the component despite the fact that more half-spaces could be included in the future.There is no need to intermediately convert the model in boundary representation.

FEATURE RECOGNITION
As described in the previous section, feature recognition is performed on the segments gained from sub-surface growing, which have the property to be much more intertwined compared to segments from surface segmentation.This allows the use of strict rules and thresholds.In addition to segments, geometrical, topological and locational criteria, the recognition also regards the semantic meaning of already recognized features, leading to hierarchical feature recognition rules.As geometric criteria for our recognition rules we regard e.g. the orientation of segments in relation to other segments, height differences in the proximity of features, lengths of possible segment intersection lines (e.g.ridges, valleys, hips etc.), and distances between points, lines and segments.The topological criteria include 2D and 3D adjacency and containment relations of segments.For the recognition of roof structures, we test the location of segments, e.g. if segments of a dormer lie above segments of the basic roof structure of the building.
We conduct a rule-based recognition approach by iteratively applying feature recognition rules to subsets of segments, where specific features types and features consisting of large segments (with regard to the number of surface points) are prioritized.However, the overall rule set is defined in such a way that the individual rules can generally be applied in any order without producing ambiguities.But the hierarchical recognition rules often rely on the existence of larger features (e.g.ridges) with their semantic interpretation as prerequisite criteria to recognize smaller ones (e.g.ridge ends).So the ordering reduces the number of iterations and is for efficiency purposes.
Figure 3.The feature recognition step in the context of the 3D building reconstruction approach (P = set of input points, S = set of segments, F = set of features, t = thresholds for feature recognition).
The feature recognition process is depicted in Figure 3. Every iteration starts with the rule-based feature recognition, which tries to find as many matches to rules.If the feature recognition stalls, i.e. no more features can be detected, and the resulting feature set is not empty, than the segments that are part of the new features are split (see section 4).This is necessary as convex building components are generated; and it also changes the shape and size of segments, making them more applicable to other feature recognition rules.If no features can be detected, some of the thresholds are relaxed, particularly to get matching features from smaller segments as their orientations tend to be less precisely aligned as larger segments.As thresholds we primarily relax the angle criteria stating when two segments are showing in opposite direction.Once the relaxation of thresholds reaches a limit and no further features are recognized anymore, the feature recognition step ends.
Once a collection of features has been detected, their geometry is adjusted with regard to other features.E.g. the slopes of the two segments that belong to the same ridge are harmonized, the direction of intersecting ridges are rectified with regard to the intersected ridges, and the half-space parameters of ridge end features are adjusted to ridge features.

SEGMENT SPLITTING
The segment splitting operation is a necessity in our approach as building models are constructed from convex components.Also the rules for feature recognition can be better tailored to specific feature types, if it is safe to assume that segments fit certain size and shape criteria (with regard to their surface points), making rules more effective for recognizing smaller roof structures.E.g. two segments of a gable-end dormer might not form a distinct ridge due to a slight skewness in their orientation.But if the dormer segments have the typical size of dormers, are located above segments of the skeletal roof and no other segments are in their adjacency, than it is safe to assume that they do form a dormer.However, if one side of the dormer is part of a larger segment, than such a rule does not apply.Segment splitting is not a specific problem caused by subsurface segmentation, but is needed whenever a roof segment is part of many features.
As depicted in Figure 3, segment splitting is performed during feature recognition when no more features can be detected without relaxing thresholds.A segment needs to be split, if it is part of the surface of a convex building component, but also has surface points that are outside this component.As components are defined by planar half-spaces, it is sufficient, if a large enough number of the segment's surface points are located in front of at least one of the planar half-spaces.As already mentioned, components do not need to be fully defined in order to be used in the point location test, it is better to postpone segment splitting as long as possible, because a fully defined component results in fewer and more meaningful splits.
The segment splitting operation itself is composed of a cloning step and a reclassification step with regard to surface and subsurface points.The reason we do not actually split the segments geometrically into two parts is that surface points are often part of more than one building component.If we just split the segments, points are assigned to one segment and information is lost to the other segment.So we keep these points in all segments even if the new segment considers them as sub-surface points.We also cannot just clone a segment, as it would be used to generate the same feature over and over.With this segment splitting approach, we do not create new surface points, but the cloned segments have all points available to generate features and building components.

MODEL CONSTRUCTION
As explained in section 2, we differentiate between low-level features (including roof structures) and high-level features (roof components), although only low-level features define halfspaces and therefore contribute to the of building models.We further differentiate low-level features between geometry producing and geometry refining features, as explained in the following: Geometry producing features constitute the basis of the modeling stage by providing initial collections of half-spaces defining elementary convex building components.One example of such a feature is the ridge, which is a common ground for a number of roof shapes with two or more sloped surfaces like gable, hip, gambrel, mansard, saddleback roof etc.As a basic feature, it provides the lowest number of half-spaces that are necessary to define a closed solid, which are the four halfspaces depicted in Figure 2. It has to be mentioned that the two delimiting gable half-spaces that are oriented in the direction of the ridge are only necessary if there are no other geometry refining features defined for the ridge endings.Other geometry producing features are the tip (e.g. for tented, helm, cone-type roofs) and locally elevated single surfaces that are the basis both for simple flat and shed roofs, but also for more complex roof shapes like the platform roof (a horizontal roof with steeply sloped surfaces to its sides).
Geometry refining features add details to the coarse building blocks by inserting one or more half-spaces to the geometry producing features it is associated with.E.g. a hip end feature adds another two half-spaces, a sloped and a vertical delimiter half-space, to a ridge feature, producing a roof with one hip side in the process.Other geometry refining features are boundaries (e.g.eaves) and connecting pieces, the latter being associated with more than one geometry producing feature, which allows the generation of complex cross gable roof shapes.Some features do not introduce additional half-spaces; they cross-link existing half-spaces from two or more geometry producing features, e.g. to construct an L-shaped cross gable roof (see section 6 and Figure 8).
As already implied above, features are not isolated entities, but are interconnected and form a network.However, only semantically compatible features may be connected, which prevents the misuse of features.Once the semantic connections are established, the information from connected features can be used to determine the half-space parameters of a feature.Halfspace parameters are computed by the plane equation and extent of segments and include geometric information of connected features.E.g. a gable is usually connected to a ridge, and the direction of the ridge line is used to determine the orientation of the gables half-space.The ridge, on the other hand, must have two end features associated with it to form a closed solid.If this is not the case, fallback features, like a gable in this example, are installed.Examples of features and how they define halfspaces to contribute to the final model are given in the next section.
After feature recognition, the 3D building models are already fully described mathematically by the half-spaces of its features.
To get a boundary representation of the model, the intersection of all half-spaces that form a convex component has to be computed and a union of all components performed.Most CAD kernels offer such functionality.

EXAMPLES OF FEATURES
In this section, we give a few examples of feature recognition rules and the half-spaces that features provide to the model construction stage: A ridge is recognized if two adjacent segments form a valid line of intersection that is required to be supported by a continuous sequence of perpendicular points from both segments that lie within a maximum distance to the line.Two roof half-spaces are defined by the plane equations of the two segments and another two vertical delimiting half-spaces by the maximum distances of all segment points (cp. Figure 2).
For a gable end, the ridge must end in empty space; all points in the 2D neighborhood of the ridge end point belong to the two ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume II-3/W3, 2013 CMRT13 -City Models, Roads and Traffic 2013, 12 -13 November 2013, Antalya, Turkey segments forming the ridge or are considerably higher or lower than the ridge.So there is a distinct step edge between the two segments forming the ridge and their neighborhood.A gable end feature adds a vertical half-space to the model that delimits the extent of the roof in that direction; e.g.half-space H1 in Figure 5 (left).It is interesting to note that the gable end feature can be used for any roof with a ridge (e.g.pitched, gambrel, Berlin roof etc.).
For a (half-) hip end, on the other side, the ridge must intersect a sloped hip side segment whose orientation in 2D is roughly perpendicular to the two sloped segments forming the ridge.As this intersection is rarely actually it is sufficient if the intersection point of the elongate straight line of the ridge and the plane defined by the hip side segment is close to the ridge end point and the segment.A (half-) hip end feature adds one half-space (H2) with the plane parameters of the (half-) hip segment and a vertical delimiting half-space (H1) at the (half-) hip side eaves to the model (cp. Figure 5).There are three distinct cases where two roofs with ridges can form a T-shape.In all of them, one of the ridges intersects a segment associated with the other ridge.Depending on the height of the intersecting ridge compared to the height of the other ridge, we can differentiate three cases (see Figure 6).However, all cases are modeled the same way: only the two half spaces H1 and H2 from component C2 are added to the intersecting roof part of component C1 (cp. Figure 7).The intersected roof part is not changed.One half-space with the plane equation of the sloped segment of the intersected roof part that is located on the opposite side of the intersecting ridge is needed to model the broken hip and a vertical half-space that goes through the intersected ridge line delimits the intersecting roof part.The first half-space is only needed if the intersecting ridge is higher than the ridge of the intersected roof part, but it does not change the resulting model in the other two cases.In fact, the model construction can ignore this half-space in an optimization step if it does not provide any geometry to the building component.
In an L-shaped intersection, the components are symmetrically delimited by the half-spaces of the other component (see Figure 8).Component C1 is delimited by the two half-spaces H3 and H4 of component C2, and component C2 is delimited by the two half-spaces H1 and H2 from component C1.The modeling is again independent of the two ridge heights.
The modeling of intersections with half-spaces can easily be extended to other roof shapes like gambrel, mansard, barrel roofs etc.It is however important that the components form convex shapes.Figure 8. Modelling L-shaped intersections is performed by a pairwise interconnecting of half-spaces of the two components, which is independent of ridge heights.
All dormer features have the same property that all surface points are contained within larger roof segments (regarding their 2D geometry).And because the orientations of smaller dormer segments are often inexact due to their low number of surface points, we relax the orientation threshold in those cases and look for the number of segments forming e.g.gable fronted, hip roof, or flat roof dormers.Dormer features are always convex components, so they are straightforward to integrate in the 3D building models.
Regarding the use of thresholds, sub-surface growing allows us to use rather strict thresholds in our feature recognition step (see (Kada and Wichmann, 2012)).And from our experience, they seem to rely more on the size of features as on the point cloud density itself; as long as the point cloud is dense enough to actually represent the feature.But an in-depth study would be needed to make a final statement regarding this topic, which we hope to conduct in the future.

RESULTS
In Figure 9, we provide some results that are automatically reconstructed with the proposed approach based on the Vaihingen test data set provided by the German Society for Photogrammetry, Remote Sensing and Geoinformation (DGPF) ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume II-3/W3, 2013 CMRT13 -City Models, Roads and Traffic 2013, 12 -13 November 2013, Antalya, Turkey (Cramer, 2010).The models are depicted with overlaid segments and recognized features in order to demonstrate their exact fit.
Figure 9. Reconstructed 3D building models overlaid with the point segmentation and their semantic features (orange line = ridge, blue = gable end, red = hip end, green = ridge intersection).

CONCLUSION AND FUTURE WORK
We have presented a feature-driven modeling approach for 3D building reconstruction based on half-space modeling.Halfspaces are a natural way to transform segments to a mathematical description of a solid.However, extra care has to be taken to form concave shapes.The recognized features are used to incorporate low-level model information that helps to align half-spaces in order to construct regularized 3D building models.
In future work, we will need to define the presented recognition rules more formally and also incorporate a more extensive and complete set of roof features.The rules should not only specify the conditions for recognizing features, but also define actions guiding the follow-up recognition and construction process.
Figure 4 serves here as an example where the blue building components are included solely for illustration purposes.Once the features of the basic pitched roof component are recognized (top left), the feature recognition will work on the grey (sub-surface) segment (top middle) with the red surface points, and detects a flat top dormer (top right).As the grey segment contains surface points that are outside the dormer feature, it needs to be split.In the cloning step, an exact copy of the segment is constructed; the yellow segment (top right).Then, segment points are reclassified as follows: surface points ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume II-3/W3, 2013 CMRT13 -City Models, Roads and Traffic 2013, 12 -13 November 2013, Antalya, Turkey of the original and the cloned segments are turned into subsurface points, if they are located inside the building component (behind all half-spaces) or respectively outside of the building component (in front of any half-space).The surface points of the dormer in Figure 4 are e.g.reclassified to sub-surface points in the yellow segment (top right).After another dormer has been recognized, all the surface points of the segment are now located inside features and no more split operation is necessary (bottom left).The reconstructed building model is shown with (bottom middle) and without overlaid (bottom right) segments.

Figure 4 .
Figure 4. Example of segment splitting needed to model the two dormers originating from the same sub-surface segment.

Figure 5 .
Figure 5.The ridge end features gable (left), hip (middle) and half-hip (right) with the half-spaces they introduce to the 3D model.

Figure 6 .
Figure 6.Three cases of a T-shaped ridge intersection.

Figure 7 .
Figure 7.The two half-spaces H1 and H2 from component C2 are used to delimit component C1.