A method and apparatus for extracting 3D primitives based on building laser point clouds

By dividing point cloud data into initial planes, optimizing normal vectors and constructing energy functions, and merging planes to generate 3D primitives, the problem of insufficient accuracy and versatility in existing methods is solved, and 3D primitive extraction with high accuracy and reliability is achieved.

CN120070459BActive Publication Date: 2025-11-14WUHAN UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510056627.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-14
Publication Date
2025-11-14
Estimated Expiration
2045-01-14

AI Technical Summary

Technical Problem

Existing 3D primitive extraction methods suffer from insufficient accuracy and poor versatility when processing building point cloud data, especially in outdoor building scenarios, where the limitations of computer hardware performance make it difficult to process large amounts of point cloud data.

Method used

By dividing point cloud data into multiple initial planes, optimizing the planes and calculating normal vectors, constructing an energy function to optimize the vector field intensity, and merging the planes using an adjacency table, three-dimensional primitives are generated.

Benefits of technology

It achieves high accuracy and reliability in segmenting different 3D primitives from 3D point clouds of buildings, and is applicable to LiDAR point clouds acquired by airborne and ground equipment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120070459B_ABST
    Figure CN120070459B_ABST
Patent Text Reader

Abstract

This application discloses a method, apparatus, storage medium, and electronic device for extracting three-dimensional primitives from building laser point clouds. The method includes: acquiring point cloud data of a building; dividing the point cloud data into multiple initial planes and optimizing the initial planes to obtain optimized planes; calculating the normal vector of each point in each optimized plane; calculating the initial intensity of the vector field at each point based on the normal vector, and constructing an energy function to optimize the intensity of the vector field; and merging the optimized planes based on the vector field intensity to obtain three-dimensional primitives. This application achieves automatic segmentation of different three-dimensional primitives from building three-dimensional point clouds, with high accuracy and reliability, and is applicable to LiDAR point clouds acquired by airborne and ground-based equipment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of point cloud processing technology, and in particular to a method, apparatus, storage medium and electronic device for extracting three-dimensional primitives based on building laser point clouds. Background Technology

[0002] In the field of urban 3D spatial data processing, point clouds generated by LiDAR have become an important data type. Extracting primitives with defined features or shapes from discrete point clouds provides a crucial foundation for subsequent applications, such as building model reconstruction, point cloud registration, and localization and mapping. However, the disordered, discrete, and density-inconsistent nature of point cloud data often makes the boundaries between different 3D primitives within a building blurry and difficult to define. Furthermore, buildings are typically composed of multiple different types of primitives, and a single predefined primitive template cannot effectively cover all possible primitive types, further increasing the complexity of the extraction process.

[0003] Existing primitive-level point cloud segmentation techniques can be broadly categorized into supervised learning and unsupervised learning. Supervised learning methods are typically designed for specific scenarios, but their accuracy is significantly insufficient when handling different types of architectural scenes, especially outdoor architectural scenes, where limitations in computer hardware performance often make it difficult to process large amounts of point cloud data. While unsupervised learning methods do not rely on labeled data and have better generality, they usually require pre-setting the primitive types, thus lacking flexibility when dealing with different types of buildings. These challenges result in existing 3D primitive extraction methods still having shortcomings in both generality and accuracy. Summary of the Invention

[0004] This application provides a method, apparatus, storage medium, and electronic device for extracting three-dimensional primitives based on building laser point clouds, which can improve the accuracy of three-dimensional primitive extraction.

[0005] This application provides a method for extracting three-dimensional primitives based on building laser point clouds, including:

[0006] Obtain point cloud data of buildings;

[0007] The point cloud data is divided into multiple initial planes, and the initial planes are optimized to obtain optimized planes;

[0008] Calculate the normal vector of each point in each of the optimized planes;

[0009] The initial intensity of the vector field at each point is calculated based on the normal vector, and an energy function is constructed to optimize the intensity of the vector field.

[0010] The optimized planes are merged based on the vector field intensity to obtain three-dimensional primitives.

[0011] As a further improvement of the present invention, the above-mentioned method for extracting three-dimensional primitives based on building laser point clouds, wherein optimizing the initial plane includes:

[0012] Merge two adjacent initial planes in the initial plane into one plane;

[0013] One of the initial planes is re-divided into two planes;

[0014] Insert a point that does not belong to a plane into the plane that is closest to the point;

[0015] Remove a point that has been assigned an initial plane from the plane to which the point belongs.

[0016] As a further improvement of the present invention, the above-mentioned method for extracting three-dimensional primitives based on building laser point clouds, wherein the calculation of the initial intensity of the vector field at each point based on the normal vector includes:

[0017] The initial intensity of the vector field containing the target point is calculated using the first formula, which is:

[0018]

[0019] in, The target point In its neighborhood Adjacent points within, It is located in The normal vector of a point It is located in The normal vector of a point For point The initial intensity of the vector field in which it is located.

[0020] As a further improvement of the present invention, in the above-mentioned method for extracting three-dimensional primitives based on building laser point clouds, the energy function is calculated using the following formula:

[0021]

[0022] in, It is the optimized vector field intensity of a point in the vector field. It is the gradient of the vector field intensity. Indicates transpose. This represents the sum of the gradients of the vector field intensity at all points. To represent the difference between the optimized vector field strength and the initial strength of the vector field, Regularization terms are used for balancing. and .

[0023] As a further improvement of the present invention, in the above-described method for extracting three-dimensional primitives based on building laser point clouds, the intensity of the optimized vector field is expressed as:

[0024]

[0025]

[0026] in, It is a point-based intensity Laplacian operator, representing the difference in vector field intensity between the center point and surrounding points. It is the vector field intensity at the center point. It refers to the K nearest neighboring points around the center point. It is the average distance from the K neighboring points to the center point.

[0027] As a further improvement of the present invention, the above-mentioned method for extracting three-dimensional primitives based on building laser point clouds further includes:

[0028] To ensure that the energy function can be solved in a computer, Adding time , making the energy function Turn to time Related functions:

[0029]

[0030]

[0031] in, This represents the time interval for iterative solution. Make about The partial differential function;

[0032] Combination The definition ultimately expresses the numerical solution in the following form:

[0033] .

[0034] As a further improvement of the present invention, the above-mentioned method for extracting three-dimensional primitives based on building laser point clouds, wherein the step of merging the optimized planes based on vector field intensity to obtain three-dimensional primitives includes:

[0035] Based on the adjacency between the optimized planes, an adjacency table is generated, and the points in the optimized planes are divided into boundary points and interior points based on the adjacency table.

[0036] Based on the vector field intensity of the boundary points and interior points, a merging factor is calculated, and optimized planes with a merging factor less than the merging factor threshold are merged.

[0037] Starting with the merged plane, continue searching for planes that can be grown until there are no more planes that can be merged. The final merged result is the three-dimensional primitive.

[0038] As a further improvement of the present invention, the above-described method for extracting three-dimensional primitives based on building laser point clouds, wherein, after the step of dividing the point cloud data into multiple initial planes, includes:

[0039] Calculate the confidence level of the initial plane, whereby the confidence level includes fidelity, simplification, and completeness;

[0040] The formula for calculating the fidelity is:

[0041] The formula for calculating the simplification degree is:

[0042] The formula for calculating the completeness is:

[0043] in, It is a plane The number of points covered inside, It is a point to its corresponding plane European distance, It is the total number of planes that were divided. It is the number of initial plane divisions. This represents the total number of points in the point cloud.

[0044] This application also provides a three-dimensional primitive extraction device based on building laser point clouds, including:

[0045] The acquisition module is used to acquire point cloud data of buildings;

[0046] A plane segmentation module is used to divide the point cloud data into multiple initial planes and optimize the initial planes to obtain optimized planes;

[0047] The first calculation module is used to calculate the normal vector of each point in each of the optimized planes;

[0048] The second calculation module allows the user to calculate the initial intensity of the vector field at each point based on the normal vector, and construct an energy function to optimize the intensity of the vector field.

[0049] The merging and generation module is used to merge the optimized planes based on the vector field intensity to obtain three-dimensional primitives.

[0050] This application also provides a computer-readable storage medium storing a plurality of instructions adapted for loading by a processor to execute any of the above-described methods for extracting three-dimensional primitives based on building laser point clouds.

[0051] This application also provides an electronic device, including a processor and a memory, wherein the processor is electrically connected to the memory, the memory is used to store instructions and data, and the processor is used in the steps of the three-dimensional primitive extraction method based on building laser point clouds described in any of the above claims.

[0052] This application provides a method, apparatus, storage medium, and electronic device for extracting 3D primitives from building laser point clouds. First, the point cloud data is segmented into planes. Then, using confidence level as the evaluation criterion for plane segmentation, four plane operations are iteratively performed to optimize the segmentation results. Next, using the plane as the basic unit, the normal vectors of the point cloud within each plane are estimated, and the directions of the normal vectors of adjacent points are adjusted. Next, the initial value of the vector field intensity of the point cloud is calculated based on the point's normal vector, and the vector field intensity is optimized by solving the energy function, ensuring that high-intensity regions are located at the boundaries of the 3D primitives, and low-intensity regions are located inside the 3D primitives. Finally, based on the difference in vector field intensity between the interior and boundary of the plane, the final segmentation result is obtained through region growing. This invention achieves automatic segmentation of different 3D primitives from building 3D point clouds, exhibiting high accuracy and reliability, and is applicable to LiDAR point clouds acquired by airborne and ground-based equipment. Attached Figure Description

[0053] The technical solution and other beneficial effects of this application will become apparent from the following detailed description of specific embodiments in conjunction with the accompanying drawings.

[0054] Figure 1 A flowchart illustrating the three-dimensional primitive extraction method based on building laser point clouds provided in this application embodiment.

[0055] Figure 2 Another flowchart of the three-dimensional primitive extraction method based on building laser point cloud provided in the embodiments of this application.

[0056] Figure 3 A schematic diagram of the structure of the three-dimensional primitive extraction device based on building laser point cloud provided in the embodiments of this application.

[0057] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0058] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0059] This application provides a method, apparatus, storage medium, and electronic device for extracting three-dimensional primitives based on building laser point clouds. The three-dimensional primitive extraction apparatus based on building laser point clouds provided in this application can be integrated into an electronic device, which can be a terminal, server, or other device. The terminal can include a tablet computer, laptop computer, personal computer (PC), microprocessor box, or other devices.

[0060] Please see Figure 1 and Figure 2 , Figure 1 A flowchart illustrating the method for extracting three-dimensional primitives based on building laser point clouds provided in this application embodiment. Figure 2 Another flowchart of the three-dimensional primitive extraction method based on building laser point clouds provided in this application embodiment, which is applied in electronic devices, includes the following steps:

[0061] S1, acquire point cloud data of the building.

[0062] S2 divides the point cloud data into multiple initial planes and optimizes the initial planes to obtain optimized planes.

[0063] First, the RANSAC (Random Consistent Sampling) algorithm is used to divide the acquired point cloud data of buildings into multiple initial planes.

[0064] Then, a confidence evaluation algorithm for the plane is used to determine the reliability of the plane extraction. The confidence score is calculated based on the fidelity. Simplification and completeness The three parts are added together, and the calculation formulas for these three parts are as follows:

[0065]

[0066]

[0067]

[0068] in, It is a plane The number of points covered inside, It is a point to its corresponding plane European distance, It is the total number of planes that were divided. It is the number of initial plane divisions. This represents the total number of points in the point cloud. A lower confidence score indicates a higher reliability of the segmentation result.

[0069] To improve the reliability of the planar extraction results, this application's embodiments include four planar optimization operations:

[0070] (1) Merging adjacent planes: Merging two adjacent initial planes into one plane;

[0071] (2) In-plane subdivision: One of the initial planes is re-divided into two planes;

[0072] (3) Inserting unassigned points: Inserting points that do not belong to a plane into the plane closest to them;

[0073] (4) Remove assigned points: Remove a point that has been assigned an initial plane from its plane. Repeat these four operations until no operation can improve the reliability of the segmentation result, at which point the plane segmentation ends.

[0074] Based on the evaluation index of plane confidence, the above four plane optimization methods are applied iteratively to improve the reliability of the segmentation results.

[0075] S3, calculate the normal vector of each point in each optimized plane.

[0076] Using a plane as the unit, singular value decomposition (SVD) is used to estimate the normal vector of each point in the plane. To address the potential issue of inconsistent normal vector directions, the normal vectors of adjacent planes are gradually adjusted using an incremental approach, ensuring that the normal vectors of adjacent planes have consistent and continuous directions in the final result.

[0077] S4 calculates the initial intensity of the vector field at each point based on the normal vector, and constructs an energy function to optimize the intensity of the vector field.

[0078] First, based on the point cloud normal vector information, a vector field of the point cloud in space is established, where the direction of each point in the vector field is the direction of its normal vector, and the initial intensity of the point is... Calculated using the following formula:

[0079]

[0080] in, The target point In its neighborhood Adjacent points within, It is located in The normal vector of a point It is located in The normal vector of a point For point The initial intensity of the vector field in which it is located.

[0081] Then, establish the energy function. Optimize the intensity of the vector field so that points located at the boundaries of the primitives have a greater vector field intensity, while the intensity of points inside the primitives tends to zero. Energy function. The calculation formula is as follows:

[0082]

[0083] in It is the intensity after optimization at the midpoint of the vector field. It is the gradient of the vector field intensity. This indicates transpose. This represents the sum of gradients of the vector field intensity at all points, and its goal is to reduce the intensity of the vector field within the primitives by utilizing gradient information. This represents the difference between the optimized intensity and the initial intensity, and its goal is to increase the intensity of the vector field in the boundary region of the primitives. It is a regularization term used for balancing. and .

[0084] Energy function The optimization results are:

[0085]

[0086]

[0087] in It is a point-based intensity Laplacian operator that represents the difference in vector field intensity between the center point and surrounding points. It is the vector field intensity at the center point. These are the K nearest neighbors of the given point. It is the average distance from the K neighboring points to the center point.

[0088] To ensure that the energy function can be solved in a computer, Adding time , making the energy function Turn to time The relevant functions can then be used to obtain numerical solutions for partial differential equations:

[0089]

[0090]

[0091] in, This represents the time interval for iterative solution. Make about The partial differential function. Combined with The definition allows the numerical solution to be ultimately expressed in the following form:

[0092]

[0093] S5, based on the vector field intensity, merges the optimized planes to obtain three-dimensional primitives.

[0094] Specifically, step S5 includes the following steps:

[0095] S51, Generate an adjacency table according to the adjacency between the optimized planes, and divide the points in the optimized planes into boundary points and internal points based on the adjacency table.

[0096] Specifically, an adjacency table is generated based on the adjacency relationships between planes. Points within a plane are then divided into two categories: boundary points and interior points. Boundary points are those whose K-nearest neighbors include points belonging to other planes. Interior points are those whose K-nearest neighbors all belong to the same plane as the point.

[0097] S52, calculate the merging factor based on the vector field intensity of the boundary points and interior points, and merge the optimized planes whose merging factor is less than the merging factor threshold.

[0098] Based on the vector field intensity at the boundary between planes, planes belonging to the same primitive are merged. The merging criterion is the merging factor. The calculation formula is:

[0099]

[0100] in, and These are the vector field intensities at the boundary points and interior points, respectively. and It represents the number of boundary points and interior points. If a pair of adjacent planes... If all values ​​are less than the merging factor threshold, then they can be merged.

[0101] S53, starting from the merged plane, continues to search for planes that can be grown until there are no planes that can be merged. The final merged result is the three-dimensional primitive.

[0102] This application first segments the point cloud data into planes; then, using confidence level as the evaluation criterion for plane segmentation, iteratively optimizes the segmentation results using four plane operations; next, using the plane as the basic unit, it estimates the normal vectors of the point cloud within each plane and adjusts the normal vector directions of adjacent points. Next, it calculates the initial value of the vector field intensity of the point cloud based on the point's normal vector, and optimizes the vector field intensity by solving the energy function, ensuring that high-intensity regions are located at the boundaries of the 3D primitives, and low-intensity regions are located inside the 3D primitives. Finally, based on the difference in vector field intensity between the interior and boundary of the plane, it obtains the final segmentation result through region growing. This invention's method achieves automatic segmentation of different 3D primitives from building 3D point clouds, exhibiting high accuracy and reliability, and is applicable to LiDAR point clouds acquired by airborne and ground-based equipment.

[0103] Based on the method described in the above embodiments, this embodiment will further describe it from the perspective of a three-dimensional primitive extraction device based on building laser point clouds. The three-dimensional primitive extraction device based on building laser point clouds can be implemented as an independent entity or integrated into an electronic device. The electronic device can be a terminal, server, or other devices. The terminal can include a tablet computer, a laptop computer, a personal computer (PC), a microprocessor box, or other devices.

[0104] Please see Figure 3 , Figure 3 This application provides a detailed description of a 3D primitive extraction device based on building laser point clouds, which is applied in electronic devices. The 3D primitive extraction device based on building laser point clouds may include:

[0105] The acquisition module is used to acquire point cloud data of buildings;

[0106] A plane segmentation module is used to divide the point cloud data into multiple initial planes and optimize the initial planes to obtain optimized planes;

[0107] The first calculation module is used to calculate the normal vector of each point in each of the optimized planes;

[0108] The second calculation module allows the user to calculate the initial intensity of the vector field at each point based on the normal vector, and construct an energy function to optimize the intensity of the vector field.

[0109] The merging and generation module is used to merge the optimized planes based on the vector field intensity to obtain three-dimensional primitives.

[0110] In specific implementation, the above modules and / or units can be implemented as independent entities, or they can be arbitrarily combined and implemented as the same or several entities. For the specific implementation of the above modules and / or units, please refer to the previous method embodiments. For the specific beneficial effects that can be achieved, please also refer to the beneficial effects in the previous method embodiments, which will not be repeated here.

[0111] In addition, this application also provides an electronic device, which may be a computer, tablet computer, or other similar device. This electronic device can implement the steps of any embodiment of the three-dimensional primitive extraction method based on building laser point clouds provided in this application. Therefore, it can achieve the beneficial effects that any of the three-dimensional primitive extraction methods based on building laser point clouds provided in this invention can achieve, as detailed in the preceding embodiments, and will not be repeated here.

[0112] Figure 4 A specific structural block diagram of an electronic device provided in an embodiment of the present invention is shown. This electronic device can be used to implement the three-dimensional primitive extraction method based on building laser point clouds provided in the above embodiments. The electronic device 500 can be a terminal, server, or other device. The terminal can include a tablet computer, laptop computer, personal computer (PC), microprocessor box, or other devices.

[0113] RF circuit 510 is used to receive and transmit electromagnetic waves, converting electromagnetic waves into electrical signals and vice versa, thereby enabling communication with communication networks or other devices. RF circuit 510 may include various existing circuit elements used to perform these functions, such as antennas, radio frequency transceivers, digital signal processors, encryption / decryption chips, subscriber identity modules (SIM cards), memory, etc. RF circuit 510 can communicate with various networks such as the Internet, corporate intranets, and wireless networks, or communicate with other devices via wireless networks. The aforementioned wireless networks may include cellular telephone networks, wireless local area networks (WLANs), or metropolitan area networks (MANs). The aforementioned wireless networks may use various communication standards, protocols, and technologies, including but not limited to Global System for Mobile Communication (GSM), Enhanced Data GSM Environment (EDGE), Wideband Code Division Multiple Access (WCDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Wireless Fidelity (Wi-Fi) (such as IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, and / or IEEE 802.11n), Voice over Internet Protocol (VoIP), Worldwide Interoperability for Microwave Access (Wi-Max), other protocols for email, instant messaging, and short messages, and any other suitable communication protocols, including those that have not yet been developed.

[0114] The memory 520 can be used to store software programs and modules, such as the program instructions / modules corresponding to those in the above embodiments. The processor 580 executes various functional applications and data processing by running the software programs and modules stored in the memory 520, such as taking pictures with the front-facing camera, processing the captured images, and switching the display colors of the content displayed on the screen. The memory 520 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 520 may further include memory remotely located relative to the processor 580, and these remote memories can be connected to the electronic device 500 via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0115] The input unit 530 can be used to receive input numeric or character information, and to generate a keyboard and mouse related to user settings and function control.

[0116] Display unit 540 can be used to display information input by the user or information provided to the user, as well as various graphical user interfaces, which can be composed of graphics, text, icons, video, and any combination thereof. Display unit 540 may include display panel 541, which may optionally be configured in the form of LCD (Liquid Crystal Display), OLED (Organic Light-Emitting Diode), or other similar forms.

[0117] Audio circuitry 560, speaker 561, and microphone 562 provide an audio interface between the user and electronic device 500. Audio circuitry 560 converts received audio data into electrical signals and transmits them to speaker 561, where speaker 561 converts them into sound signals for output. Conversely, microphone 562 converts collected sound signals into electrical signals, which are then received by audio circuitry 560, converted back into audio data, and processed by processor 580. The audio data is then transmitted via RF circuitry 510 to, for example, another terminal, or output to memory 520 for further processing. Audio circuitry 560 may also include an earphone jack to facilitate communication between external headphones and electronic device 500.

[0118] Electronic device 500, through transmission module 570 (e.g., Wi-Fi module), can help users receive requests, send information, etc., providing users with wireless broadband internet access. Although transmission module 570 is shown in the figure, it is understood that it is not an essential component of electronic device 500 and can be omitted as needed without changing the essence of the invention.

[0119] The processor 580 is the control center of the electronic device 500. It connects to various parts of the phone via various interfaces and lines, and performs various functions and processes data of the electronic device 500 by running or executing software programs and / or modules stored in the memory 520, and by calling data stored in the memory 520, thereby providing overall monitoring of the electronic device. Optionally, the processor 580 may include one or more processing cores; in some embodiments, the processor 580 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the modem processor may also not be integrated into the processor 580.

[0120] Electronic device 500 also includes a power supply 590 (such as a battery) that supplies power to various components. In some embodiments, the power supply may be logically connected to processor 580 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system. The power supply 590 may also include one or more DC or AC power supplies, recharging systems, power fault detection circuits, power converters or inverters, power status indicators, and other arbitrary components.

[0121] Although not shown, the electronic device 500 also includes cameras (such as front-facing cameras and rear-facing cameras), Bluetooth modules, etc., which will not be described in detail here. Specifically, in this embodiment, the display unit of the electronic device is a touch screen display, and the mobile terminal also includes a memory and one or more programs, wherein one or more programs are stored in the memory and configured to be executed by one or more processors. One or more programs contain instructions for performing the following operations:

[0122] Obtain point cloud data of buildings;

[0123] The point cloud data is divided into multiple initial planes, and the initial planes are optimized to obtain optimized planes;

[0124] Calculate the normal vector of each point in each of the optimized planes;

[0125] The initial intensity of the vector field at each point is calculated based on the normal vector, and an energy function is constructed to optimize the intensity of the vector field.

[0126] The optimized planes are merged based on the vector field intensity to obtain three-dimensional primitives.

[0127] In practice, the above modules can be implemented as independent entities or combined in any way to be implemented as the same or several entities. For the specific implementation of the above modules, please refer to the previous method implementation examples, which will not be repeated here.

[0128] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by instructions, or by instructions controlling related hardware. These instructions can be stored in a computer-readable storage medium and loaded and executed by a processor. Therefore, embodiments of the present invention provide a storage medium storing multiple instructions that can be loaded by a processor to execute the steps of any embodiment of the three-dimensional primitive extraction method based on building laser point clouds provided by the present invention.

[0129] The computer-readable storage medium may include: read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.

[0130] Since the instructions stored in the storage medium can execute the steps in any embodiment of the three-dimensional primitive extraction method based on building laser point cloud provided in the embodiments of the present invention, the beneficial effects that any three-dimensional primitive extraction method based on building laser point cloud provided in the embodiments of the present invention can achieve can be realized. For details, please refer to the previous embodiments, which will not be repeated here.

[0131] The foregoing has provided a detailed description of a method, apparatus, storage medium, and electronic device for extracting three-dimensional primitives based on building laser point clouds, as provided in the embodiments of this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.

Claims

1. A method for extracting three-dimensional primitives based on building laser point clouds, characterized in that, The method includes: Obtain point cloud data of buildings; The point cloud data is divided into multiple initial planes. The reliability of the initial plane extraction is determined according to the confidence evaluation algorithm of the planes. The initial planes are then optimized to obtain optimized planes. Calculate the normal vector of each point in each of the optimized planes; The initial intensity of the vector field at each point is calculated based on the normal vector, and an energy function is constructed to optimize the intensity of the vector field. The optimized planes are merged based on vector field intensity to obtain three-dimensional primitives. This includes: generating an adjacency table based on the adjacency between the optimized planes; dividing the points in the optimized planes into boundary points and interior points based on the adjacency table; calculating a merging factor based on the vector field intensity of the boundary points and interior points; merging optimized planes with a merging factor less than a merging factor threshold; and using the merged planes as the starting point, continuing to search for planes that can be grown until there are no more planes that can be merged. The final merging result is the three-dimensional primitive. The formula for calculating the merging factor is as follows: in, and These are the vector field intensities at the boundary points and interior points, respectively. and It represents the number of boundary points and interior points.

2. The method for extracting three-dimensional primitives based on building laser point clouds according to claim 1, characterized in that, Optimizing the initial plane includes: Merge two adjacent initial planes in the initial plane into one plane; One of the initial planes is re-divided into two planes; Insert a point that does not belong to a plane into the plane that is closest to the point; Remove a point that has been assigned an initial plane from the plane to which the point belongs.

3. The method for extracting three-dimensional primitives based on building laser point clouds according to claim 1, characterized in that, The calculation of the initial intensity of the vector field at each point based on the normal vector includes: The initial intensity of the vector field containing the target point is calculated using the first formula, which is: in, The target point In its neighborhood Adjacent points within, It is located in The normal vector of a point It is located in The normal vector of a point For point The initial intensity of the vector field in which it is located.

4. The method for extracting three-dimensional primitives based on building laser point clouds according to claim 3, characterized in that, The formula for calculating the energy function is as follows: in, It is the optimized vector field intensity of a point in the vector field. It is the gradient of the vector field intensity. Indicates transpose. This represents the sum of the gradients of the vector field intensity at all points. To represent the difference between the optimized vector field strength and the initial strength of the vector field, This is a regularization term used for balancing. and .

5. The method for extracting three-dimensional primitives based on building laser point clouds according to claim 3, characterized in that, The intensity of the optimized vector field is expressed as: in, It is a point-based intensity Laplacian operator, representing the difference in vector field intensity between the center point and surrounding points. It is the vector field intensity at the center point. These are the K nearest neighbors around the center point. It is the average distance from the K neighboring points to the center point.

6. The method for extracting three-dimensional primitives based on building laser point clouds according to claim 5, characterized in that, The method further includes: To ensure that the energy function can be solved in a computer, Adding time , making the energy function Turn to time Related functions: in, This represents the time interval for iterative solution. Make about The partial differential function; Combination The definition ultimately expresses the numerical solution in the following form: 。 7. The method for extracting three-dimensional primitives based on building laser point clouds according to claim 1, characterized in that, The reliability of the initial plane extraction is determined based on the plane confidence evaluation algorithm, including: Calculate the confidence level of the initial plane, whereby the confidence level includes fidelity, simplification, and completeness; The formula for calculating the fidelity is: The formula for calculating the simplification degree is: The formula for calculating the completeness is: in, It is a plane The number of points covered inside, It is a point to its corresponding plane European distance, It is the number of all the planes that were divided. It is the number of initial plane divisions. This represents the total number of points in the point cloud.

8. A three-dimensional primitive extraction device based on building laser point clouds, wherein the three-dimensional primitive extraction device based on building laser point clouds is used to implement the three-dimensional primitive extraction device method based on building laser point clouds as described in claim 1, characterized in that, include: The acquisition module is used to acquire point cloud data of buildings; A plane segmentation module is used to divide the point cloud data into multiple initial planes and optimize the initial planes to obtain optimized planes; The first calculation module is used to calculate the normal vector of each point in each of the optimized planes; The second calculation module allows the user to calculate the initial intensity of the vector field at each point based on the normal vector, and construct an energy function to optimize the intensity of the vector field. The merging and generation module is used to merge the optimized planes based on the vector field intensity to obtain three-dimensional primitives.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a plurality of instructions adapted for loading by a processor to execute the three-dimensional primitive extraction method based on building laser point clouds as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Three-dimensional primitive data extraction method and device and storage medium

    CN112070005A

  • Building roof automatic modeling method based on airborne LiDAR point cloud

    CN113313835A