Building three-dimensional model construction method and device

By constructing a probability model and a contour envelope point scale model, the roof point cloud of the building is extracted and its boundary line and point density is determined, the problems of low efficiency and insufficient accuracy of three-dimensional reconstruction in complex building structures are solved, and a high-precision three-dimensional model construction of building is achieved.

CN120147539APending Publication Date: 2025-06-13WUHAN UNIV OF TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510250840.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-04
Publication Date
2025-06-13

AI Technical Summary

Technical Problem

The prior art is difficult to balance the reconstruction quality of wall and roof point clouds in complex building structures, resulting in insufficient model accuracy and low reconstruction efficiency.

Method used

By obtaining building point cloud data, a probability model is constructed to extract roof point clouds, vector angle distribution analysis and contour envelope point scale model construction, roof boundary line and point density are determined, and the roof contour inflection point is projected to the ground based on point density, and a three-dimensional model of the building is constructed.

Benefits of technology

High-precision three-dimensional reconstruction of complex building structures is achieved, reconstruction efficiency and model accuracy are improved, and the problem of low wall point cloud quality is avoided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120147539A_ABST
    Figure CN120147539A_ABST
Patent Text Reader

Abstract

The invention relates to a building three-dimensional model construction method and device, and belongs to the technical field of point clouds, and the building three-dimensional model construction method comprises the steps: obtaining building point cloud data, constructing a probability model based on the point cloud features of the point cloud data, extracting a building roof point cloud based on the probability model, and carrying out the vector included angle distribution analysis of the roof point cloud. Constructing a contour envelope point scale model, determining a boundary line of the roof based on the contour envelope point scale model, and determining the point density of the boundary line based on the constructed multi-factor exponential function; the roof contour inflection points are determined based on the point density of the boundary line, the inflection point coordinates of the building main body contour are obtained after the roof contour inflection points are projected to the ground, and the building three-dimensional model is constructed based on the inflection point coordinates of the building main body contour, so that the building three-dimensional model reconstruction efficiency and the refinement degree are improved, and the model accuracy is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of point cloud technology, and particularly to a method and device for constructing a three-dimensional model of a building. Background Art

[0002] With the rapid development of unmanned aerial vehicle (UAV) technology and lidar technology, using a UAV equipped with lidar for high-precision building point cloud acquisition has become an important means in the fields of building information modeling, urban planning, and intelligent buildings. Point cloud data, with its high resolution and accuracy, provides strong support for three-dimensional building reconstruction. However, due to the characteristics of high density, large scale, and complex distribution of the point cloud data collected by UAVs, and at the same time, there are significant differences in the point cloud quality of building roofs and walls, it is difficult to balance the reconstruction quality of wall and roof point clouds using traditional three-dimensional reconstruction methods for building point clouds, resulting in less refined reconstruction results for complex building structures (such as multi-slope roofs, truncated roofs).

[0003] Existing three-dimensional building reconstruction methods mainly include methods for extracting building outlines by fitting regular geometric bodies, building reconstruction methods based on deep learning, and traditional modeling methods based on polyhedron splicing.

[0004] However, the method of extracting building outlines by fitting regular geometric bodies is applicable to buildings with simple structures, but is susceptible to the influence of point cloud quality and segmentation accuracy when dealing with complex building structures, resulting in insufficient model accuracy; although the building reconstruction method based on deep learning can handle complex structures, it has a strong dependence on training data and high computational costs, and is not suitable for the rapid reconstruction of large-scale point cloud data; the traditional modeling method based on polyhedron splicing does not perform robustly for buildings with multi-roof structures and is easily interfered by noise and changes in point cloud sampling density. Summary of the Invention

[0005] In view of this, it is necessary to provide a method and device for constructing a three-dimensional model of a building to solve the technical problems of low efficiency of three-dimensional reconstruction of building point clouds and insufficient model accuracy under complex building structures.

[0006] To solve the above problems, in a first aspect, the present invention provides a method for constructing a three-dimensional model of a building, including: Obtaining building point cloud data, constructing a probability model based on the point cloud features of the point cloud data, and extracting building roof point clouds based on the probability model; Performing vector angle distribution analysis on the roof point clouds, constructing a contour envelope point proportion model, determining the boundary line of the roof based on the contour envelope point proportion model, and determining the point density of the boundary line based on the constructed multiple factor exponential function; Determine the inflection points of the roof contour based on the point density of the boundary line. After projecting the inflection points of the roof contour onto the ground, calculate the inflection point coordinates of the main building contour, and construct a 3D building model based on the inflection point coordinates of the main building contour.

[0007] In a possible implementation, the point cloud features of the point cloud data include the number of point clouds, the point cloud density, and the average height of the point cloud. Based on the point cloud features of the point cloud data, construct a probability model, and extract the building roof point cloud based on the probability model, including: Divide the point cloud data to obtain multiple segmentation planes; Based on the multiple segmentation planes, use the enclosing sphere algorithm to obtain the point cloud density of each segmentation plane; Determine the number of point clouds and the average height of the point cloud of the multiple segmentation planes; Normalize the point cloud density, the number of point clouds, and the average height of the point cloud to construct a probability model; Use the probability model to extract the building roof point cloud.

[0008] In a possible implementation, the probability model is: , , , , , , Among them, is the probability of extracting the building roof point cloud, is the normalized point cloud density of the segmentation plane, is the normalized average height of the point cloud of the segmentation plane, is the normalized number of point clouds of the segmentation plane, is the point cloud density of each segmentation plane, is the number of point clouds within the enclosing sphere, is the average height of the point cloud of the segmentation plane, is the height of each point cloud in the segmentation plane, is the number of point clouds of each segmentation plane, is the th segmentation plane, is a constant, is the maximum value.

[0009] In a possible implementation, the analysis of the vector angle distribution of the roof point cloud to construct a contour envelope point ratio model includes: Construct the contour line of the roof based on the roof point cloud, determine the segmentation plane of the roof, and construct a closed contour line based on the contour line; Determine the first vector of the point cloud on the contour line and the point cloud in the segmentation plane, use the vector with the longest modulus length in the first vector as the initial vector, and calculate the first angle between the first vector and the initial vector; Set the angle adjustment rule, after adjusting the first angle based on the angle adjustment rule, obtain the second angle, determine the second vector corresponding to the maximum value of the second angle, and calculate the third angle between the first vector and the second vector; Set the constraint conditions for the first angle and the third angle; After judging whether the point cloud in the segmentation plane is within the closed contour line based on the constraint conditions, determine the number of point clouds in the segmentation plane within the closed contour line; Obtain the total number of point clouds within the closed contour line, and construct a contour envelope point proportion model based on the total number of point clouds within the closed contour line and the number of point clouds in the segmentation plane within the closed contour line.

[0010] In a possible implementation manner, the constraint conditions are: , where, is the label of the roof point cloud, is the first angle, is the third angle, is logical AND, is congruent; The calculation formula of the contour envelope point proportion model is: , where, is the ratio of the number of point clouds in the segmentation plane within the closed contour line to the total number of point clouds within the closed contour line, is the number of point clouds in the segmentation plane within the closed contour line, is the total number of point clouds within the closed contour line.

[0011] In a possible implementation manner, the determining the boundary line of the roof based on the contour envelope point proportion model includes: When the ratio of the total number of point clouds within the closed contour line to the number of point clouds in the segmentation plane within the closed contour line is greater than or equal to the proportion threshold of the contour envelope point proportion model, determine the closed contour line as the boundary line of the roof.

[0012] In a possible implementation manner, the determining the point density of the boundary line based on the constructed multiple factor exponential function includes: Determine multiple points and end points on the straight line of the boundary line, and calculate multiple distance values from the multiple points to the end points respectively; After sorting the multiple distance values, calculate the differences between adjacent distance values respectively, and calculate the average value of the distance differences based on the differences between the adjacent distance values; Obtain the distance standard deviation based on the differences between the adjacent distance values and the average value of the distance differences; Perform exponential normalization processing on the average value of the distance differences and the distance standard deviation, and construct a multiple factor exponential function; Obtain the number of point clouds of the boundary line, and determine the point density of the boundary line based on the multiple factor exponential function and the number of point clouds of the boundary line.

[0013] In a possible implementation manner, the determining the roof contour inflection points based on the point density of the boundary line includes: Determine the fitting line vectors of each point cloud in the boundary line, construct a seven-tuple based on the fitting line vectors and the point density of the boundary line, construct a vector clustering growth model based on the seven-tuple, and determine multiple main direction vectors of the roof based on the vector clustering growth model; Determine the fitting straight line of the points on the boundary line based on the main direction vectors, and determine the point density on the fitting straight line. Construct a decision diagram based on the point density on the fitting straight line, and determine the roof contour inflection points based on the decision diagram.

[0014] In a possible implementation manner, after projecting the roof contour inflection points onto the ground, obtaining the inflection point coordinates of the main body contour of the building includes: Obtain the roof contour inflection point coordinates and the ground coordinates. After projecting the roof contour inflection points onto the ground, obtain the inflection point coordinates of the building wall surface; Obtain the inflection point coordinates of the main body contour of the building based on the roof contour inflection point coordinates and the inflection point coordinates of the building wall surface.

[0015] In a second aspect, the present invention further provides a building three-dimensional model construction device, including: A roof point cloud extraction module, configured to obtain building point cloud data, construct a probability model based on the point cloud features of the point cloud data, and extract the building roof point cloud based on the probability model; A point density determination module, configured to perform vector angle distribution analysis on the roof point cloud, construct a contour envelope point ratio model, determine the boundary line of the roof based on the contour envelope point ratio model, and determine the point density of the boundary line based on the constructed multiple factor exponential function; The three-dimensional model construction module is used to determine the inflection points of the roof contour based on the point density of the boundary line. After projecting the inflection points of the roof contour onto the ground, the inflection point coordinates of the main body contour of the building are obtained, and a three-dimensional model of the building is constructed based on the inflection point coordinates of the main body contour of the building.

[0016] The beneficial effects of the present invention are as follows: obtaining the point cloud data of the building, constructing a probability model based on the point cloud features of the point cloud data, extracting the roof point cloud of the building based on the probability model, and using the roof point cloud for three-dimensional reconstruction, avoiding the problem of low quality of the wall point cloud. At the same time, a precise probability model is constructed to effectively extract the roof contour of the building; secondly, analyzing the vector angle distribution of the roof point cloud, constructing a contour envelope point ratio model, determining the boundary line of the roof based on the contour envelope point ratio model, determining the point density of the boundary line based on the constructed multi-factor exponential function, and determining the inflection points of the roof contour based on the point density of the boundary line. Through the multi-factor exponential function and the point density, the key inflection points of the building contour are accurately extracted, and the regularization of regular and irregular contours is realized; in addition, after projecting the inflection points of the roof contour onto the ground, the inflection point coordinates of the main body contour of the building are calculated, and a three-dimensional model of the building is constructed based on the inflection point coordinates of the main body contour of the building. Using the inflection points to extend to the ground to obtain the complete building contour, the model result is regular and clear, without redundancy, improving the reconstruction efficiency and refinement degree, and improving the accuracy of the model. Description of the Drawings

[0017] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the following drawings are only some embodiments of the present invention. For those skilled in the art, without creative efforts, other drawings can be obtained based on these drawings.

[0018] Figure 1 It is a flowchart of an embodiment of the building three-dimensional model construction method provided by the present invention; Figure 2 It is a schematic diagram of the roof point cloud of the building for the building three-dimensional model construction method provided by the present invention; Figure 3 It is a schematic diagram for judging whether the roof point cloud of the building for the building three-dimensional model construction method provided by the present invention is inside or outside the closed contour line; Figure 4 It is a schematic diagram of the main direction vector of the roof of the building for the building three-dimensional model construction method provided by the present invention; Figure 5 It is a schematic diagram of the decision diagram for the building three-dimensional model construction method provided by the present invention; Figure 6 It is a schematic diagram of the main contour fitting straight line and intersection points of the roof of the building for the building three-dimensional model construction method provided by the present invention; Figure 7 Schematic diagram of the roof contour and inflection point coordinates of a building obtained by a drone for the method of constructing a three-dimensional model of a building provided by the present invention; Figure 8 Schematic diagram of the projection of the roof inflection points of a building to the ground for the method of constructing a three-dimensional model of a building provided by the present invention; Figure 9 Schematic diagram of the whole process from regularizing the roof contour to constructing a three-dimensional model of a building for the method of constructing a three-dimensional model of a building provided by the present invention; Figure 10 Schematic diagram of the color point cloud data collected by a drone for the method of constructing a three-dimensional model of a building provided by the present invention; Figure 11 Schematic diagram of the reconstruction effect of a multi-building point cloud model for the method of constructing a three-dimensional model of a building provided by the present invention; Figure 12 Schematic diagram of the structure of an embodiment of the device for constructing a three-dimensional model of a building provided by the present invention; Detailed implementation manners The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

[0019] In the description of the embodiments of the present invention, unless otherwise specified, the meaning of "a plurality of" is two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist, for example: A and / or B may represent: A exists alone, A and B exist simultaneously, and B exists alone these three situations.

[0020] The descriptions such as "first" and "second" involved in the embodiments of the present invention are only for descriptive purposes, and cannot be understood as indicating or implying their relative importance or implicitly indicating the quantity of the indicated technical features. Therefore, the technical features defined with "first" and "second" may explicitly or implicitly include at least one of such features.

[0021] Referring to "embodiments" herein means that the specific features, structures or characteristics described in connection with the embodiments may be included in at least one embodiment of the present invention. The phrase appears in various places in the specification and does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment mutually exclusive with other embodiments. Those skilled in the art will explicitly and implicitly understand that the embodiments described herein may be combined with other embodiments.

[0022] Before presenting the embodiments, the following terms are described first.

[0023] The bounding sphere algorithm is a method for describing the boundary of a point cloud in three-dimensional space. It encloses all the points in the point cloud with a sphere, and the bounding sphere is defined by the center of the sphere and the radius.

[0024] A specific embodiment of the present invention discloses a method for constructing a three-dimensional model of a building, as Figure 1 shown, the method for constructing a three-dimensional model of a building includes: S101. Obtain the building point cloud data, construct a probability model based on the point cloud features of the point cloud data, and extract the building roof point cloud based on the probability model.

[0025] It should be noted that the building point cloud data is obtained by using the method of drone scanning. The point cloud features of the point cloud data include the number of point clouds, the point cloud density, and the average height of the point cloud. A probability model is constructed according to the point cloud features to determine the roof point cloud, and the roof point cloud is used for three-dimensional reconstruction, avoiding the problem of low quality of the wall point cloud.

[0026] S102. Perform a vector angle distribution analysis on the roof point cloud, construct a contour envelope point proportion model, determine the boundary line of the roof based on the contour envelope point proportion model, and determine the point density of the boundary line based on the constructed multiple factor exponential function.

[0027] It should be noted that by calculating the vector angle of the point cloud and its distribution law, the subtle changes in the geometric features of the roof can be effectively captured. Using the double constraints of the vector modulus length and the angle, the accuracy of the contour closure is improved; by introducing the angle adjustment rule and the constraint condition, the topological changes of different roof structures (such as gable roofs, polyhedrons, etc.) can be dynamically adapted, realizing the intelligent classification of the segmented point cloud, ensuring the spatial consistency between the closed contour line and the actual roof edge, and providing a solution that takes into account both accuracy and efficiency for the extraction of the roof boundary in building three-dimensional reconstruction.

[0028] S103. Determine the inflection points of the roof contour based on the point density of the boundary line. After projecting the inflection points of the roof contour onto the ground, calculate the inflection point coordinates of the main body contour of the building, and construct a three-dimensional model of the building based on the inflection point coordinates of the main body contour of the building.

[0029] It should be noted that the inflection point coordinates of each wall of the building are obtained by projecting the inflection points of the roof contour onto the ground. Then, after obtaining the complete building contour, the three-dimensional model of the building is constructed by using the patch function in matlab.

[0030] In some embodiments of the present invention, in step S101, building point cloud data is obtained, and a probability model is constructed based on the point cloud features of the point cloud data. An RIEGL Mini300l radar scanner is carried on the unmanned aerial vehicle, and the point cloud data is obtained through the radar scanner. The attributes of the point cloud include spatial coordinates, intensity, echo information, and color (RGB); the point cloud features include point cloud density, number of point clouds, and average distance of the point cloud. After obtaining the building point cloud data, the point cloud data is divided to obtain multiple segmentation surfaces. Based on the multiple segmentation surfaces, the point cloud density of each segmentation surface is obtained by using the circumsphere algorithm, that is, the number of point clouds within each circumsphere with a radius of r is determined by using the circumsphere algorithm to obtain the point cloud density of each segmentation surface. The calculation formula for its point cloud density is: , wherein, is the point cloud density of each segmentation surface, is the number of point clouds within the circumsphere, is the number of point clouds of each segmentation surface, is a constant, is the th segmentation surface; Determine the number of point clouds and the average height of the point cloud of each segmentation surface. The calculation formula for the average height of the point cloud is: , wherein, is the height of each point cloud in the segmentation surface, is the average height of the point cloud of the segmentation surface; Perform normalization processing on the point cloud density, number of point clouds, and average height of the point cloud. The calculation formula is: , , , wherein, is the point cloud density of the normalized segmentation surface, is the average height of the point cloud of the normalized segmentation surface, is the number of point clouds of the normalized segmentation surface, is the maximum value; Construct a probability model based on the number of point clouds, point cloud density, and average height of the point cloud of each normalized segmentation surface. Extract the building roof point cloud through the probability model, that is, after calculating the number of point clouds, point cloud density, and average height of the point cloud of each segmentation surface, normalize the number of point clouds, point cloud density, and average height of the point cloud of each segmentation surface, and calculate the value of the probability model. The value of the probability model represents the probability that each segmentation surface belongs to the roof point cloud. The calculation formula for its probability model is: , Among them, is the probability of extracting the point cloud of the building roof. By using a probability model to extract the point clouds of multiple building roofs, the optimal probability for extracting the roof point cloud is obtained, as shown in Table 1. Table 1

[0031] As shown in Table 1, B1 - B14 in Table 1 represent each building roof. The probability of judging the point cloud of almost all buildings' roofs is 0.6. Therefore, 0.6 is used as the initial value for extracting the building roof. For the schematic diagram of the building roof point cloud, please refer to Figure 1 .

[0032] By using the probability model in combination with the point cloud density, point cloud height, and point cloud quantity characteristics, the point cloud of the building roof is accurately extracted.

[0033] In some embodiments of the present invention, in step S102, perform a vector angle distribution analysis on the roof point cloud, construct a contour envelope point ratio model, construct a contour line of the roof based on the roof point cloud, and determine the segmentation plane of the roof. Based on the contour line, construct a closed contour line, and the closed contour line is the closed contour line of the building roof. Determine the first vector of the point cloud on the contour line and the point cloud in the segmentation plane of the roof. The first vector is the point on the roof contour line and the point in the roof segmentation plane between the vectors , and use the vector with the longest modulus length in the first vectors as the initial vector , and calculate the first angle between the first vector and the initial vector, that is, calculate the angle between all vectors and the initial vector (the first angle). The calculation formula for the first angle is: Among them, , set an angle adjustment rule, and adjust the first angle based on the angle adjustment rule to obtain a second angle, that is, adjust the range of the first angle to . The calculation formula for the angle adjustment rule is: , Among them, is the second angle, ; Determine the second vector corresponding to the maximum value of the second angle , and calculate the third angle between the first vector and the second vector, that is, calculate the third angle between all first vectors and the second vector. The calculation formula for the third angle is: , Set the constraint conditions for the first included angle and the third included angle. The calculation formula for the constraint conditions is as follows: , where is the label of the roof point cloud, is the first included angle, is the third included angle, is logical AND, is congruent; Based on the constraint conditions, determine whether the point cloud in the segmentation plane is inside the closed contour line. For the schematic diagram of judging whether the roof point cloud is inside or outside the closed contour line, please refer to Figure 3 , as Figure 3 shown. When there is a vector close to in the first included angle , taking the point corresponding to the first included angle as the reference, cyclically calculate the included angle of the vector with the points on the contour line to obtain the third included angle, and judge whether there is a vector close to . If it exists, it means that the point on the roof segmentation plane is inside the closed contour line, that is, as Figure 3 shown in (a). At this time, the point is inside the closed contour line and is the roof point cloud add a label, and the label is 1, that is . When there is no vector close to in the third included angle, it means that the point on the roof segmentation plane is not inside the closed contour line, as Figure 3 shown in (b). The point is not inside the closed contour line, and add a label to the roof point cloud , and the label is 0, that is ; After judging the point cloud in the roof segmentation plane, determine the number of point clouds in the segmentation plane that are inside the closed contour line; obtain the total number of point clouds inside the closed contour line, and construct a contour envelope point ratio model based on the total number of point clouds inside the closed contour line and the number of point clouds in the segmentation plane that are inside the closed contour line. The calculation formula for the contour envelope point ratio model is as follows: , where is the ratio of the number of point clouds in the segmentation plane that are inside the closed contour line to the total number of point clouds inside the closed contour line, is the number of point clouds in the segmentation plane that are inside the closed contour line, is the total number of point clouds inside the closed contour line; Determine the boundary line of the roof based on the contour envelope point ratio model, set the ratio threshold of the contour envelope point ratio model. When the ratio of the total number of point clouds within the closed contour line to the number of point clouds of the segmentation plane within the closed contour line is greater than or equal to the ratio threshold of the contour envelope point ratio model, it indicates that the constructed closed contour line is appropriate, that is, the constructed closed contour line can be determined as the boundary line of the roof. Among them, the ratio threshold of the contour envelope point ratio model is 0.7; After obtaining the roof point cloud, determine the closed contour line of the roof based on the vector angle distribution analysis, and then determine the boundary line of the roof, which improves the accuracy and efficiency of the roof boundary line extraction.‌

[0034] Determine the point density of the boundary line based on the constructed multi-factor exponential function. Specifically: determine multiple points and endpoints on the straight line of the boundary line, and calculate multiple distance values from the multiple points to the endpoints respectively. That is, the points projected onto one of the straight lines in the boundary line are , determine the coordinates of any one endpoint on the straight line as , calculate the distance from the point on the straight line to the endpoint , and its calculation formula is: , Among them, is the distance from the point to the endpoint, , after sorting the multiple distance values, calculate the difference between adjacent distance values respectively. That is, sort to obtain the sorted distances, calculate the difference between adjacent two distances, and calculate the average value of the distance differences based on the differences between adjacent distance values. The calculation formulas for the differences between adjacent two distances and the average value of the distance differences are: , , Among them, is the difference between adjacent two distances, is the average value of the differences between adjacent two distances, is the number of distances. Obtain the distance standard deviation based on the differences between adjacent two distances and the average value of the distance differences. The calculation formula for its distance standard deviation is: , Perform exponential normalization processing on the average value of the differences between adjacent two distances and the distance standard deviation, and construct a multi-factor exponential function. The calculation formula for its multi-factor exponential function is: , Among them, is the exponential normalization of the average value of the differences between the distances from all points on the straight line of the boundary line to the endpoint, Exponential normalization of the standard deviation of the distances from all points on the straight line serving as the boundary line to the endpoints The average value of the differences in the distances from all points on the straight line serving as the boundary line to the endpoints The standard deviation of the distances from all points on the straight line serving as the boundary line to the endpoints Obtain the number of point clouds of the boundary line, and determine the point density of the boundary line based on the multi-factor exponential function and the number of point clouds of the boundary line. The calculation formula for the point density of the boundary line is: , where is the point density of the boundary line is the number of point clouds projected onto the boundary line

[0035] In some embodiments of the present invention, in step S103, based on the point density of the boundary line, determine the inflection points of the roof contour, and determine the fitting line vector of each point cloud in the boundary line ,based on the fitting line vector and the point density of the boundary line Construct a seven-tuple, and determine the optimal contour direction vector of the roof based on the seven-tuple. The calculation formula for the seven-tuple is: , where is the coordinate vector is the direction vector; the point density is sorted in descending order Based on the seven-tuple, construct a vector clustering growth model. The calculation formula for the vector clustering growth model is: , where is the fitting line vector of each boundary point is the density of each boundary point is the number of boundary points Based on the vector clustering growth model, determine multiple main direction vectors of the roof. Specifically, for each vector ,calculate the angle between the vector and any vector with a lower density When , ,where is 10 degrees, until all becomes ,the loop stops. Finally, obtain the vector , ,where Since the shapes of most building roofs are quadrilaterals, therefore, the first 2 vectors of the vectors after vector clustering growth and As the main direction vectors of the building roof, the two vectors are approximately perpendicular. For the schematic diagram of the main direction vectors of the building roof, please refer to Figure 4 ; Determine the fitting line of the points on the boundary line based on the main direction vectors, and determine the point density on the fitting line of the points on the boundary line. Construct a decision diagram based on the point density on the fitting line of the points on the boundary line. Specifically, for one of the main direction vectors, determine the point density on the fitting line of each boundary point , calculate the point The minimum distance between and any fitting line with a higher point density , and its calculation formula is:[[]] , For the point with the specific highest point density, the calculation formula of the minimum distance is:[[]] , According to the point density and the minimum distance Construct a decision diagram. For the schematic diagram of the decision diagram, please refer to Figure 5 , determine the roof profile inflection points based on the decision diagram. As shown in Figure 5 (a) and Figure 5 (c), it shows the relationship between the point density and the distance . The boundary points with relatively high and relatively high point densities are identified as the best passing points of the main roof profile. As shown in Figure 5 (a) and Figure 5 (c), the three boundary points marked by the three circles. The three boundary points marked by the circles and the corresponding vectors of the three boundary points are obtained, and are further described in Figure 5 (b) and Figure 5 (d). As can be seen from Figure 5 (b) and Figure 5 (d), the vectors passing through these three boundary points represent the three main horizontal profiles of the roof. Through the three boundary points and the vectors, the space lines corresponding to the horizontal profiles can be obtained, and further the space lines of the vertical profiles can be obtained, and then the intersection points of the fitting lines can be determined. The intersection points of the fitting lines are the roof profile inflection points. For the schematic diagram of the fitting lines and the intersection points of the main roof profile of the building, please refer to Figure 6 , obtain the regularized profile of the drone building roof and the coordinates of the roof inflection points through the decision diagram. For the regularized profile of the drone building roof and the coordinates of the roof inflection points, please refer to Figure 7 , as shown in Figure 7 (b), the roof profile of the building not only has a regular rectangular profile, but also has an irregular roof profile of the building, as shown in Figure 7As shown in (a), the heights of different buildings are different, but it does not affect the acquisition of the inflection points of the building roofs. Moreover, the roof contours of the buildings are clearly visible, and the roof inflection points are obvious.

[0036] After projecting the inflection points of the roof contour onto the ground, the inflection point coordinates of the main contour of the building are calculated. The inflection point coordinates of the roof contour and the ground coordinates are obtained. After projecting the inflection points of the roof contour onto the ground, the inflection point coordinates of the building wall are obtained. For the schematic diagram of projecting the inflection points of the building roof onto the ground, please refer to Figure 8 , and based on the inflection point coordinates of the roof contour and the inflection point coordinates of the building wall, the inflection point coordinates of the main contour of the building are obtained, and the inflection point coordinates of each roof contour are obtained. , and project each roof inflection point coordinate onto the ground, and the inflection point coordinates of the contour on the projected ground are obtained. , sort each roof inflection point clockwise or counterclockwise, and the sorted roof inflection point numbers are . At the same time, the roof number datasets at both ends of each contour line are determined as: ; the corner point coordinate numbers after projecting the roof inflection points onto the ground are: , and according to the numbers of the two corner points of each contour line of the roof, the sorted inflection point coordinates of each wall are: , and finally the coordinate datasets of the corner points of each roof and wall after sorting are obtained, and the dataset is: , The dataset is the inflection point coordinates of the main contour of the building. After obtaining the inflection point coordinates of the main contour of the building, the patch function in matlab is used to realize the construction of the 3D model of the building. For the schematic diagram of the whole process of regularizing the roof contour into the construction of the 3D model of the building, please refer to Figure 9 , as Figure 9 (a)(b)(c) shown. Each roof contour line of the building is successfully obtained. In particular, the regularization results of the smaller building contours are obtained. Not only the regularized contours of the truncated roofs are obtained, but also the regularized contours of the pitched roofs are successfully obtained, as Figure 9 (a)(b)(c) shown. According to the regularization results of the building roof contours, the inflection points of the building roofs are obtained. We extend these roof inflection points to the ground to obtain the regularized contour of the whole building, as Figure 9 (d)(e)(f) shown. The regularized contour is very regular and there is no redundant contour, thus providing basic data for the construction of the 3D model of the building. At the same time, the inflection point coordinates of each wall and roof of the building are obtained. Based on the wall and roof inflection point coordinates, the 3D models of these buildings are constructed using the patch function in matlab, as Figure 9 (g)(h)(i) shown.

[0037] To verify the effectiveness, point cloud data of the campus was obtained using a RIEGL Mini300l radar scanner carried by an unmanned aerial vehicle (UAV). The flight altitude of the UAV was 120 m, and the collected point density was , for a schematic diagram of the colored point cloud data collected by the UAV, please refer to Figure 10 , as Figure 10 shown in (a), which shows a point cloud visualization of a partial area of the campus. 15 buildings were selected for analysis. As Figure 10 shown in (b), the point clouds of 15 buildings were reconstructed. For a schematic diagram of the reconstruction effect of the multi-building point cloud model, please refer to Figure 11 , as Figure 11 shown, it can be clearly seen that most of the building point clouds in the buildings have been reconstructed. Moreover, from the three-dimensional reconstruction results of the roof, it can be seen that not only the three-dimensional reconstruction results of the truncated roof have been achieved, but also the three-dimensional reconstruction results of the pitched roof have been achieved. In addition, the point clouds of some small slopes and flat roofs on the roof have also been successfully reconstructed.

[0038] In summary, the method for constructing a three-dimensional model of a building provided by the present invention obtains building point cloud data, constructs a probability model based on the point cloud features of the point cloud data, extracts the building roof point cloud based on the probability model, analyzes the vector angle distribution of the roof point cloud, constructs a contour envelope point proportion model, determines the boundary line of the roof based on the contour envelope point proportion model, determines the point density of the boundary line based on the constructed multi-factor exponential function; determines the roof contour inflection point based on the point density of the boundary line, projects the roof contour inflection point onto the ground, obtains the inflection point coordinates of the main contour of the building, and constructs a three-dimensional model of the building based on the inflection point coordinates of the main contour of the building, improving the efficiency and refinement degree of the three-dimensional model reconstruction of the building and improving the accuracy of the model.

[0039] To better implement the method for constructing a three-dimensional model of a building in the embodiments of the present invention, correspondingly, as Figure 12 shown, the embodiments of the present invention also provide a device for constructing a three-dimensional model of a building. The device 1200 for constructing a three-dimensional model of a building includes a roof point cloud extraction module 1201, a point density determination module 1202, and a three-dimensional model construction module 1203; The roof point cloud extraction module 1201 is used to obtain building point cloud data, construct a probability model based on the point cloud data, and extract the building roof point cloud based on the probability model; The point density determination module 1202 is used to construct a contour envelope point proportion model based on the roof point cloud, determine the boundary line of the roof based on the contour envelope point proportion model, and determine the point density of the boundary line based on the constructed multi-factor exponential function; The three-dimensional model construction module 1203 is used to determine the inflection points of the roof contour based on the point density of the boundary line. After projecting the inflection points of the roof contour onto the ground, the inflection point coordinates of the main building contour are obtained, and a three-dimensional model of the building is constructed based on the inflection point coordinates of the main building contour.

[0040] As mentioned above, the above are only the preferred specific embodiments of the present invention, but the protection scope of the present invention is not limited thereto. Any changes or substitutions that can be easily thought of by those skilled in the art within the technical scope disclosed by the present invention should be covered by the protection scope of the present invention.

Claims

1. A method for constructing a three-dimensional model of a building, characterized in that: include: Acquire building point cloud data, and construct a probability model based on point cloud features of the point cloud data to extract building roof point clouds; Performing vector angle distribution analysis on the roof point cloud, constructing a contour envelope point proportional model, determining the boundary line of the roof based on the contour envelope point proportional model, and determining the point density of the boundary line based on the constructed multi-factor exponential function; The inflection point of the roof outline is determined based on the point density of the boundary line, the inflection point of the roof outline is projected onto the ground, the inflection point coordinates of the main outline of the building are calculated, and the three-dimensional model of the building is constructed based on the inflection point coordinates of the main outline of the building.

2. The method for constructing a three-dimensional building model according to claim 1, characterized in that: The point cloud features of the point cloud data include the number of point clouds, the point cloud density and the average height of the point clouds; Building a probability model based on the point cloud features of the point cloud data, and extracting the building roof point cloud based on the probability model, including: Dividing the point cloud data to obtain multiple segmentation surfaces; Based on the multiple segmentation surfaces, a bounding sphere algorithm is used to obtain a point cloud density of each segmentation surface; Determine the number of point clouds of the plurality of segmented surfaces and the average height of the point clouds; Normalizing the point cloud density, the number of point clouds, and the average height of the point clouds to construct a probability model; The probability model is used to extract the building roof point cloud.

3. The method for constructing a three-dimensional building model according to claim 2, characterized in that: The calculation formula of the probability model is: , , , , , , in, To extract the probability of building roof point cloud, is the normalized point cloud density of the segmented surface, is the average height of the normalized segmentation surface point cloud, is the number of normalized segmentation surface point clouds, is the point cloud density of each segmentation surface, is the number of point clouds within the bounding sphere, is the average height of the point cloud of the segmented surface, is the height of each point cloud in the segmentation surface, is the number of point clouds for each segmentation surface, For the The dividing surface, is a constant, is the maximum value.

4. The method for constructing a three-dimensional building model according to claim 2, characterized in that: The performing vector angle distribution analysis on the roof point cloud and constructing a contour envelope point scale model comprises: Constructing a roof contour line based on the roof point cloud, determining a roof segmentation surface, and constructing a closed contour line based on the contour line; Determine a first vector between the point cloud on the contour line and the point cloud in the segmentation surface, use a vector with the longest modulus in the first vectors as an initial vector, and calculate a first angle between the first vector and the initial vector; Setting an angle adjustment rule, adjusting the first angle based on the angle adjustment rule to obtain a second angle, determining a second vector corresponding to a maximum value of the second angle, and calculating a third angle between the first vector and the second vector; Setting constraints on the first angle and the third angle; After judging whether the point cloud in the segmentation surface is within the closed contour line based on the constraint condition, determining the number of the point cloud in the segmentation surface within the closed contour line; The total number of point clouds within the closed contour is obtained, and a contour envelope point proportional model is constructed based on the total number of point clouds within the closed contour and the number of point clouds in the segmentation surface within the closed contour.

5. The method for constructing a three-dimensional building model according to claim 4, characterized in that: The constraints are: , in, is the label of the roof point cloud, is the first angle, is the third angle, For logical AND, are congruent; The contour envelope point scale model is: , in, is the ratio of the number of point clouds in the segmentation surface within the closed contour to the total number of point clouds within the closed contour, is the number of point clouds in the segmentation surface within the closed contour line, is the total number of point clouds within the closed contour.

6. The method for constructing a three-dimensional building model according to claim 4, characterized in that: Determining the boundary line of the roof based on the contour envelope point scale model includes: When the ratio of the total number of point clouds within the closed contour to the number of point clouds of the segmentation surface within the closed contour is greater than or equal to the scale threshold of the contour envelope point scale model, the closed contour is determined to be the boundary line of the roof.

7. The method for constructing a three-dimensional building model according to claim 6, characterized in that: The step of determining the point density of the boundary line based on the constructed multi-factor exponential function includes: Determine a plurality of points and endpoints on the straight line of the boundary line, and calculate a plurality of distance values ​​from the plurality of points to the endpoints respectively; After sorting the multiple distance values, respectively calculating the differences between adjacent distance values, and calculating an average value of the distance differences based on the differences between the adjacent distance values; Obtaining a distance standard deviation based on the difference between the adjacent distance values ​​and the average of the distance differences; Performing exponential normalization processing on the average value and the distance standard deviation of the distance difference to construct a multi-factor exponential function; The number of point clouds of the boundary line is obtained, and the point density of the boundary line is determined based on the multi-factor exponential function and the number of point clouds of the boundary line.

8. The method for constructing a three-dimensional building model according to claim 7, characterized in that: The determining of the roof profile inflection point based on the point density of the boundary line comprises: Determine the fitting line vector of each point cloud in the boundary line, construct a seven-tuple based on the fitting line vector and the point density of the boundary line, construct a vector cluster growth model based on the seven-tuple, and determine multiple main direction vectors of the roof based on the vector cluster growth model; A fitting straight line of points on the boundary line is determined based on the main body direction vector, and the point density on the fitting straight line is determined. A decision diagram is constructed based on the point density on the fitting straight line, and the inflection point of the roof profile is determined based on the decision diagram.

9. The method for constructing a three-dimensional building model according to claim 8, characterized in that: After projecting the roof outline inflection point onto the ground, obtaining the inflection point coordinates of the building main body outline includes: Obtaining the coordinates of the inflection point of the roof outline and the ground coordinates, and after projecting the inflection point of the roof outline onto the ground, obtaining the coordinates of the inflection point of the building wall; The inflection point coordinates of the main contour of the building are obtained based on the inflection point coordinates of the roof contour and the inflection point coordinates of the building wall.

10. A device for constructing a three-dimensional model of a building, characterized in that: include: A roof point cloud extraction module is used to obtain building point cloud data, build a probability model based on point cloud features of the point cloud data, and extract the building roof point cloud based on the probability model; A point density determination module, used to perform vector angle distribution analysis on the roof point cloud, construct a contour envelope point proportional model, determine the boundary line of the roof based on the contour envelope point proportional model, and determine the point density of the boundary line based on the constructed multi-factor exponential function; The three-dimensional model construction module is used to determine the inflection point of the roof outline based on the point density of the boundary line, obtain the inflection point coordinates of the main outline of the building after projecting the inflection point of the roof outline to the ground, and construct the three-dimensional model of the building based on the inflection point coordinates of the main outline of the building.