Keywords

1 Introduction

Cities are the areas with the most frequent production and living activities. With the acceleration of the construction of smart cities in China, the changes and development of cities are also changing with each passing day [1]. Buildings as urban infrastructure are the most critical landmark information for cities, and they are also the basic spatial data information required for the construction of smart cities and other projects [2]. Traditional two-dimensional plane information can no longer meet people's needs, and city three-dimensional data, especially three-dimensional building data, is becoming more and more important [3]. How to obtain the high-precision digital elevation model data and building model of the required target area quickly and in large quantities is the focus of current research.

The LiDAR system has a wide range of applications. It can directly obtain the 3D coordinate information of the surface points of the target object through the observation data such as position, angle, and distance to realize surface extraction and 3D scene reconstruction [4]. It can be used in urban construction, cultural relics restoration, forestry planning, and other fields [5]. The obtained LiDAR point cloud contains rich natural and artificial feature information, mainly including vegetation, buildings, roads, green spaces, and other features [6]. How to extract the building information we need from the numerous laser point clouds has been a hot spot of research. Vosselman and others at Delft University in the Netherlands used 3D Hough transform to obtain a plan image of a building to achieve the purpose of three-dimensional reconstruction of the building [7]. Li Shukai and others used DSM combined with images to extract the building borders, which were implemented in three steps, followed by laser ranging point analysis, shadow analysis, and building boundary reconstruction [8]. Liang Xinlian uses a split-based minimum mean square error line segment approximation method to extract building contours from discrete LIDAR data. This experiment will study the method of building 3D modeling [9].

3D building modeling is divided into four sub-modules: building point cloud extraction, roof patch segmentation, building model, and automated modeling. First, the point cloud data is spliced, cropped, and denoised. Then, the building point cloud extraction, roof patch segmentation and other steps are performed, and finally the building is modeled. Another method is to import the processed point cloud into Revit software after initial processing of the data. Use window family and door family to manually construct 3D models of buildings, and import external family for detailed building modeling.

2 Airborne LiDAR Point Cloud Processing

In order to construct a three-dimensional model of a building, a series of processing must be performed on the acquired point cloud data, such as point cloud denoising, filtering, and building point cloud extraction [10].

2.1 Point Cloud Denoising

In the process of acquiring point cloud data, due to the defects of the scanner itself, environmental interference and other factors, the point cloud often contains many noise points. The process of removing these noise points is called point cloud denoising [11]. The effective value and noise of the point cloud have similar characteristics. The effective value reflects the unique characteristics of the target surface, but the noise is useless interference information. When dealing with actual problems, it is difficult to accurately identify the effective value and noise. Therefore, in the process of processing point cloud data, it is very important to maintain the unique characteristics of the target information. We need to identify the noise in time and then reduce it. In the experiment, we use a denoising algorithm based on the statistics of the local spatial distribution of the point cloud and mark the points with large differences between the local point density and the overall point density as noise points and remove them.

2.2 Point Cloud Filtering

Filtering is an important part of LiDAR point cloud preprocessing. Its purpose is to separate ground point cloud and non-ground point cloud, so as to provide data sources for data post-processing such as obtaining DEM and digital elevation models [12]. The main idea of morphological filtering is to use the corrosion and expansion operations in mathematical morphology to remove the higher point cloud in the point cloud and retain the lower point cloud to achieve the purpose of extracting ground points. After filtering, the results are ground point cloud and non-ground point cloud are shown in Figs. 1 and 2.

Fig. 1
figure 1

Ground points after processing

Fig. 2
figure 2

Non-ground points after processing

3 3D Modeling of Buildings

Three-dimensional building modeling includes four sub-modules: building point cloud extraction, roof patch segmentation, building model construction, and automated modeling. First, we perform initial processing such as splicing, cropping, and point cloud denoising on the point cloud data. Then we perform point cloud filtering, building point cloud extraction, roof patch segmentation and other steps, and finally model the building.

3.1 Building Point Cloud Extraction

Use normal vector to detect non-ground point data for building wall point cloud data. Vegetation points are removed by the intensity of the point cloud and the angle between the normal vector and the Z-axis, and then non-ground point data clustering and ground point data interpolation [13]. Finally, the separation of the building roof point cloud is by separating the building area and height information, and the results are shown in Figs. 3 and 4.

Fig. 3
figure 3

Ground point clouds and non-ground point clouds

Fig. 4
figure 4

Building point clouds

3.2 Roof Patch Split

There are two methods of roof patch segmentation for building point cloud, the normal vector method and the RANSAC method. Generally, the normal vector distribution of the roof patch point cloud is consistent [14]. The normal vector method uses this feature to segment the roof patch. The parameter setting options and specific thresholds can be set in combination with data and prior knowledge. RANSAC is an effective and robust estimation algorithm, which has a certain inhibitory effect on noise points, and can better segment the roof patches in the building point cloud data. This method is to find the best-fitting plane through repeated iterations. After clustering, the segmented roof patches are obtained. Segmentation results are shown in Figs. 5 and 6.

Fig. 5
figure 5

Normal vector segmentation result

Fig. 6
figure 6

RANSAC segmentation result

3.3 3D Modeling

To process the results of the above process, first extract the boundary point clouds of the two layers, respectively, then extract the boundary line and the ridge line, and regularize, then construct the roof polygon, and finally combine the ground elevation to obtain the building model; the result is shown in Fig. 7.

Fig. 7
figure 7

Building model result

4 3D Modeling with Revit

Using the Revit2019 modeling method is to perform the initial processing of the data, and build the 3D model of the building manually by manual methods, and perform fine modeling of the building by using the window family, door family, and importing external family of the building.

4.1 Grid and Elevation Establishment

Construct grids and elevations, as much as possible to establish an elevation for each floor plan, which is convenient for subsequent construction of the model, and can be fine-tuned to make the elevation line coincide with the floor plan. The result is shown in Fig. 8.

Fig. 8
figure 8

Elevation results

By moving and rotating functions, the corner of the building is placed at the intersection of the grid, one side is attached to the grid, and the point cloud of the building edge is placed parallel to the grid. The final result is shown in Fig. 9.

Fig. 9
figure 9

Result of establishing coordinate system

4.2 Construction of Building Exterior Walls, Floors, and Roofs

Select the “wall” function key to draw a line along the outer contour of the building point cloud to draw a closed geometry. Each side can be fine-tuned to make the outer wall line coincide with the building point cloud contour line and set the wall height to the previously established. At all levels of elevation, the walls of the building are completely drawn. Select the function key “floor” to start building the floor, pick up the building exterior wall line to automatically generate the floor.

Select the function key “roof” to start building the roof, pick up the exterior wall line of the building, and control the bottom elevation, the bottom offset from the elevation, and the roof slope through the constraint function. After the adjustment is correct, click OK to automatically generate the roof. The results of wall and roof are shown in Figs. 10 and 11.

Fig. 10
figure 10

3D view of exterior wall results

Fig. 11
figure 11

3D view of roof results

4.3 Construction of Building Doors and Windows

By loading the family, selecting the appropriate doors and windows, and selecting the function key “window” to start building doors and windows, and by changing the type attributes to change the doors and windows to the appropriate size, the result is shown in Fig. 12.

Fig. 12
figure 12

Door and window construction results

4.4 Building 3D Model Results

In the experiment, the method used in the previous experiment was used to process the denoising, filtering, and classification of the point cloud data, and the required point cloud data of the target building has been extracted. Taking the building point cloud as the research object, the Revit software is used to construct the 3D model of the building based on manual operation. The model results are shown in Figs. 13 and 14.

Fig. 13
figure 13

Right view of the 3D model

Fig. 14
figure 14

Stereo view of 3D model

However, the roofs of complex and irregular buildings are mostly polygonal or curved, and the relationship between the edge of the roof of the building and the direction of the main axis of the building is not fixed. It may be neither parallel nor perpendicular to each other. In the existing building 3D model construction methods, some methods are defaulting that each edge of the roof of the building is perpendicular or parallel to the direction of the main axis of the building. For a building that is completely asymmetrical, it cannot be determined. Direction, and for most irregular and complex roofs, the edges are not necessarily parallel or perpendicular to the main direction.

The structural structure of buildings in real life is generally cumbersome. The basic building 3D model construction method can never meet the needs of 3D modeling of most buildings in life. Considering that there are many irregular and complicated building roof shapes in real life, based on the basic building 3D model construction method, a method that can construct a complex 3D building model is redesigned.

5 Conclusions

In the 3D building model construction experiment, the airborne LiDAR point cloud is the main research object. It analyzed the characteristics of the data obtained by the airborne LiDAR system and used a series of LiDAR point cloud data filtering and classification methods for processing. Finally, it carried out the research on building extraction and 3D modeling based on LiDAR point cloud. The main conclusions are as follows:

  1. 1.

    Taking the extracted building roof point cloud as the research object, a 3D building reconstruction method based on LiDAR point cloud is proposed. By clustering the roof plane points, fitting the roof plane, determining the outer boundary of the roof, and the boundary of each plane, so as to obtain the three-dimensional coordinates of each corner of the roof to reconstruct the three-dimensional model of the building. Experimental results show that this method not only reconstructs simple and regular buildings better, but also reconstructs buildings with complex roof planes and irregular structures.

  2. 2.

    Comparing the two experiments, the three-dimensional model of the building constructed by fitting the roof and then modeling method mentioned in the paper has better roof effect, lower side accuracy and can be automatically modeled, but it depends more on computer hardware configuration and point cloud data. No results when running. The 3D model of the building in Revit2019 is fine modeling, and the accuracy of the roof side is not much different. Manual modeling is not required. The model can be adjusted according to the needs, which is more suitable for the mass production of simple models.