1. Introduction
An increasing amount of attention has been drawn to automatic reconstruction of urban 3D building models during the past two decades [
1,
2]. Owing to the recent advances of data acquisition technology, increasingly dense and reliable point clouds can be produced, whether from stereo imagery or airborne laser scanning [
3,
4]. This provides the possibility to capture complex structures and subtle details, while also bringing significant challenges to current reconstruction methods [
5]. As Xiong et al. [
6] claims, even when only considering the planar roof surfaces, the reconstruction procedures can still be challenging because of data insufficiency and building type complexity.
A basic but important issue for the reconstruction of building roofs with multiple planes is the identification and representation of building roof topology [
6,
7,
8,
9,
10]. The roof topology graph (RTG) that stores the plane-to-plane adjacency is widely used for such a goal. The concept of the original RTG is quite simple: a vertex in the graph stands for a roof plane and an edge represents the adjacency relationship between two planes. Once the RTG is constructed, the roof features or building primitives can be generated by searching typical components or sub-graphs in the topology space. Such a work is first seen in [
7] and the normal orientation is added as labels to the RTG edges to help in describing the primitive types, while the primitive types are limited to some simple ones. Elberink and Vosselman [
8] expand the primitive library and consider more features such as convex/concave and tilted/horizontal, and the graph-matching method is adopted to find the building primitives. Though more complex roof types can be described, the method suffers from the difficulty of defining and searching for the particular primitive type, and reconstruction errors will appear when mismatches of sub-graphs occur. Additionally, the completeness of the library can still be problematic. Other than the use of the RTG for model primitives, the roof features can also be distinguished with the help of the RTG, i.e., the graph circles often indicate the model corners. Graph circle analysis is adopted under such an idea by [
10,
11], where the minimal-close circles and outer-most circles are defined to find both inside and outside corners. Considering that the minimum cycles contain important model structure information, Xiong et al. [
12] describe the primitive types according to the number of circle vertices and the orientation of ridges near the model corners calculated by minimum cycles, and the primitive library turns out to be more adaptive than [
8]. It should be noticed that a minimum cycle may not always correspond to a model corner; thus, the reliability of the constructed model after circle analysis should be examined. RTGs are also used to interpret the building structures in other works such as [
13,
14].
Though widely researched by current works, RTG-based methods suffer two major difficulties. One is that RTG itself is error-prone because of noise, lack of data, and the resulting errors in pre-processing steps, such as point classification and roof segmentation [
6,
15]. Proper thresholds to separate the weak roof ridges or step edges from the spurious ones can hardly be generated [
16]. Though great improvements have been proposed by the correcting approach in [
6], only about one quarter to one half of erroneous graphs are claimed to be corrected. Another is that the stored topological relationships among model elements by the RTG are rather limited and often not exploited [
17]. Some structures cannot be well-expressed by the RTG, i.e., if both intersection ridge and step edges exist between two planes, the step parts are often lost [
10]. The RTG takes all of the planes as the same and few integral constraints or roof scales (or level of details) are considered, thus, a small local error caused by a small or false plane may seriously affect the construction of the main structure. Though the building primitives can generate the constraints within child-structures, the relationships among different primitives are not emphasized and may result in holes in the final model.
Studies have been developed to reinforce the representation of topological relationships. A primal/dual data structure is proposed in [
17], which can describe very complex model types and permit Euler-type operations for incrementally constructing 3D models. Sohn et al. [
18] reconstruct the roof topology based on the BSP (binary space partitioning) tree. The method implicitly groups fragmentary linear features between adjacent planes, thus can keep the horizontal and/or vertical relations between building primitives. The disadvantage is that the accuracy is limited by the quality of the extracted feature lines, and the height clustering process may not be efficient enough to separate the connected building roofs. Our earlier works [
19,
20] also attempt to construct complex-shaped buildings through contour clustering analysis. As the contours have the characteristics of closed loops and do not intersect, it shows great advantages when distinguishing the building footprint or the hierarchical structure of high-rise buildings. The problem comes when it is used to distinguish complex rooftops, as the shape of contours changes significantly and irregularly. Considering that using information only from point clouds can be difficult to distinguish complex roof topologies, extra information, such as aerial imagery [
21] or 2D ground planes, is introduced. Additionally, semi-automatic procedures [
22,
23,
24] are also considered in order to find and correct the false topology results by automatic algorithms. Some highly model-driven methods [
25,
26,
27,
28] directly match the raw points clouds with the pre-defined models or primitives. Once successful matches are generated, topology-correct results can be immediately produced after the model parameters are estimated. Though excellent advances are produced in typical scenes, their adaptabilities are often limited.
In this work, the hierarchical roof topology tree (HRTT) is proposed instead of the traditional RTG to represent the relationship among different roof elements. In allusion to the error-prone nature of RTGs, we no longer decide all connections at the same time but, rather, the robust ones are decided referentially. Those robust connections will separate the whole model into simpler components step-by-step and produce the basic semantic information for the identification of ambiguous ones. Then, the error-prone connections can be determined under a hypothesis-and-testing procedure. Meanwhile, unlike RTGs that consider only the plane–plane relationship, the HRTT also considers the relationships between the roof plane and child model, as well as the model–model relationships. The additional constraints and extra verifying processes can then be easily introduced to improve the topology quality, eventually resulting in better reconstruction results.
The remainder of this paper is organized as follows:
Section 2 gives the basis of our reconstruction method and the major problem we attempt to solve. Details of the hierarchical roof topology construct strategy are given in
Section 3. Experimental results are analyzed in
Section 4, followed by discussion and conclusions in
Section 5.
2. Background
In this section, we first briefly review the workflow of RTG-based topology construction methods and discuss the difficulties confronted by current methods. Then we explain our attempts to improve the roof topology.
The target of roof topology construction is to determine the connectivity between adjacent roof planes. As shown in
Figure 1, the procedure often starts with the segmented/classified point cloud. Local analysis or static are adopted between adjacent plane pairs to find different types of connections: for roof ridges, the corresponding boundary points or edge segments should be close to the intersection line; as for step edges, points with distinct height differences are needed. Then, all of those scattered plane–plane relations are organized in an undirected graph named the roof topology graph (RTG). The RTG takes roof planes as graph vertexes and describes the connectivity between two planes by labeled graph edges. As the RTG stores only the plane–plane relationship, graph analyses [
7,
8,
10] need to be adopted to generate the relationships among multiple planes, i.e., the graph cycle (3, 4, 5, 6) indicates an inside corner point intersected by four planes. Building primitives can also be detected by searching typical structures in the RTG. Finally, the roof features are calculated to form the building models.
Though the detail distinguishing method or connection type definition can be various, two major difficulties are suffered by current methods. One is the error-prone nature of the RTG because of noise, lack of data, and the resulting errors in pre-processing steps. The local analysis or static for plane–plane connections (shown in
Figure 1) will inevitably introduce in some thresholds, while proper thresholds to separate the weak roof ridges or step edges from the spurious ones can hardly be generated. As a result, short or weak ridges may be lost and false edges will be introduced, knowing that once topology errors occur, they can hardly be corrected in the follow-up processes (quantitative analysis about the issue will be provided in
Section 4.3.1). Another problem is that the stored topological relationships among model elements by RTG are rather limited and often not exploited. For the plane–plane connections, some structures between two planes may fail to be marked by a label because of the building complexity. For instance, when composite structures exist (
Figure 2), the step parts are often lost; roof details may cut a roof ridge into several parts; step boundaries may have small height differences and thus may not be significant enough to be detected. As for the relationship among multiple planes, the graph analysis may also fail in some situations.
The issue is similar to the edge detection problem in the field of image processing, where false edges and weak ones can hardly be distinguished by fixed gradient thresholds. As such, we use the similar idea as the canny algorithm [
29] and adopt a progressive approach when distinguishing the roof topology. Strict conditions are firstly adopted to find the robust connections. Then, the error-prone connections are determined under a hypothesis-testing procedure, with the assistants of information derived from robust ones. Meanwhile, we attempt to exploit the semantic information that may not be well considered by the RTG, such as the integral constraints among model primitives and the typical structures that can decompose a complex building into several simpler components. Extra verifying processes, such as side projection [
30], are also considered to correct the possible topology errors. To realize such a progressive procedure, as well as the use of the extra constraints and verifying procedures, the hierarchical roof topology tree (HRTT) structure is proposed.
5. Conclusions
This work proposes a hierarchical roof topology construct strategy for robust building model reconstruction. The HRTT is adopted instead of the traditional RTG to represent the topology relations among different roof elements. Not only the plane–plane connections but also the plane–model and model–model relations are considered in the HRTT. In allusion to the issues of error-prone connections, we preferentially distinguish the robust features, which decompose the whole model into simpler components step-by-step and produce the basic semantic information to identify the ambiguous parts locally. In this way, the effect from structures of minor importance or spurious ridges can be limited or avoided, and common features and integral constraints can be fully exploited. Those additional features or constraints are distinguished and well-organized, along with the construction of HRTT, which eventually produces better topology results and building models. Experiments on both roof topology precision and the constructed models prove the effectiveness of the proposed approach. Compared with the RTG-based method, two topology quality indices increase from 80.9% and 79.8% to 89.4% and 88.2% in the text area (see
Table 5). The integral model quality indices of the three ISPRS test data sets at the pixel level and the plane level also achieve the precision of 90.3% and 84.7%, accordingly (see
Table 6).
However, our method has several limitations. First, the construction results can be influenced by the errors of pre-processing processes, such as segmentation, or the imperfection of initial data. Though additional processes, such as side projection, can correct some of the errors, a topology correction process, such as [
6], may still be needed and HRTT can provide a local search here. Second, the description of roof topology in our methods only guarantees the completeness in 2D and if two roof planes are partly overlapped in 2D, the overlapped parts from the bottom roof plane will be lost.
There are also some possible improvement directions for future work. First, the HRTT provides a structure that decomposes the whole model into meaningful sub-structures step-by-step. How to decide the construction strategy and parameters under different roof scales becomes an important issue. Second, more pre-defined structures, such as model primitives, can be introduced, which form the robust inside tree nodes in the HRTT. Other additional constraints and verifying processes can also be used to generate highly normalized models.