A point cloud plane segmentation processing method for optimizing region growing

The seed points are screened through the tensor voting method and the regional growth conditions are optimized. The plane equation is fitted with the plane adjacency relationship table and the least squares method, and the problem of insufficient accuracy and robustness in point cloud plane segmentation is solved, achieving more accurate plane boundary recognition.

CN117078701BActive Publication Date: 2025-08-05BEIJING GREEN VALLEY TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311080503.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-25
Publication Date
2025-08-05
Estimated Expiration
2043-08-25

AI Technical Summary

Technical Problem

In the prior art, the point cloud plane segmentation method in building modeling has problems such as low segmentation accuracy, poor robustness, and great influence on seed point selection, making it difficult to accurately identify plane boundaries.

Method used

The tensor voting method is used to obtain robust point normal vectors and seed points, optimize regional growth conditions, combine the plane adjacency relationship table for surface merging and boundary optimization, and correct segmentation errors through the least squares method.

Benefits of technology

The accuracy and robustness of point cloud plane segmentation are improved, the missegment phenomenon is reduced, and more stable plane boundaries are obtained to meet the building modeling needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117078701B_ABST
    Figure CN117078701B_ABST
Patent Text Reader

Abstract

The present invention provides a point cloud plane segmentation processing method using optimized region growing, comprising the following steps: sorting all input points according to the planarity strength values of their neighborhoods from largest to smallest to obtain a list of input point planarity strengths; selecting the input point with the largest planarity strength and not yet segmented from the list of input point planarity strengths as a seed point; iteratively expanding the neighborhood of the input point with the seed point as the center point; re-performing a secondary region growing process on all seed points in the seed point set based on an optimized region growing algorithm to obtain input points that meet the secondary expansion conditions; assembling the input points that meet the secondary expansion conditions after traversal into a final seed point set; and finally, rapidly performing facet merging, facet competition, and boundary optimization segmentation based on a plane adjacency table to obtain accurate boundary information of the point cloud plane. The above processing method obtains a stable plane boundary, improving the accuracy and robustness of plane segmentation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of point cloud segmentation processing, and in particular to a point cloud plane segmentation processing method for optimizing region growing. Background Art

[0002] Airborne Laser Scanning (ALS) has become an important measurement method and has been widely used in many industries in recent years, including topographic mapping, forest resource surveys, crop growth monitoring, urban planning, and building modeling. In particular, in building modeling, laser scanning can measure the geometric parameters of buildings and quickly obtain high-precision three-dimensional building models. Although building structures are becoming increasingly complex and diverse, using ALS data to detect the planes contained in the building, thereby identifying the various parts of the building and aggregating them to construct a building model, remains a universal and feasible method. How to accurately identify and extract planes from airborne laser point clouds is one of the key issues in building modeling and is of great significance to the construction of building models.

[0003] Currently, point cloud plane segmentation methods can be divided into three categories: feature clustering-based methods, model fitting-based methods, and region growing-based methods.

[0004] Feature clustering plane segmentation methods primarily utilize clustering algorithms such as fuzzy k-means to cluster points into planes based on their local surface features. However, the clustering results are affected by the quality of the surface features. Obtaining effective surface features and determining the most appropriate point neighborhood size are unavoidable challenges in the segmentation process. Furthermore, noise and outliers in the point cloud can also affect segmentation accuracy. Model-fitting point cloud plane segmentation methods primarily include the Hough transform and the Random Sample Consensus (RANSAC) method. The Hough transform first converts three-dimensional points into parameter space, accumulates the number of inliers in the corresponding plane using a voting function, and then searches for local maxima to estimate the plane equation. The Hough transform method can estimate the point cloud plane equation from noisy point clouds, but the voting and search processes are very time-consuming and prone to detecting discontinuous pseudo-planes. The RANSAC method uses multiple random samplings, counts the number of inliers in each estimated plane, extracts the plane containing the largest number of points, and completes the plane segmentation of the point cloud through multiple iterations. Similar to the Hough transform, the RANSAC algorithm is also insensitive to noise points, but each plane extraction requires multiple iterations, which is inefficient and also prone to generating false planes.

[0005] The region growing method is another mainstream choice for point cloud plane segmentation. First, a point or a region is selected as a growth seed, and then appropriate growth conditions such as the distance from the point to the plane and the angle between the normal vector and so on are used to iteratively expand to the neighboring points for plane growth.

[0006] The region growing algorithm has the characteristics of high efficiency and little influence from noise points, but the accuracy of the segmentation results is easily affected by the selection of seed points. Inappropriate seed points can easily grow incorrect planes, causing over-segmentation. At the same time, it is difficult to select appropriate plane growth termination conditions, resulting in inaccurate boundaries between two planes and other segmentation errors.

[0007] Therefore, how to obtain more stable plane boundaries, quickly correct segmentation errors, and improve the accuracy and robustness of plane segmentation are technical problems that technical personnel in this field urgently need to solve. Summary of the Invention

[0008] In order to solve the problem of quickly acquiring point cloud plane information during building modeling from airborne laser radar (ALS) data, the present invention provides a point cloud plane segmentation method with optimized region growing.

[0009] The technical solution adopted by the present invention is to obtain robust point normal vectors and seed points using the tensor voting method, then optimize the growth conditions of region growing, extract the preliminary point cloud plane, and finally quickly perform post-segmentation processing such as face merging, face competition, and boundary optimization based on the plane adjacency table. Specifically, the following technical solutions are implemented:

[0010] The present invention provides a point cloud plane segmentation processing method for optimizing region growing, comprising the following steps:

[0011] Step S1, calculating the neighborhood size of the input point according to the point cloud density of the input point;

[0012] Step S2: Analyze the neighborhood structure characteristics of each input point using the tensor voting method, and use the neighborhood structure characteristics of the input point to calculate and obtain the planarity strength value of the point normal vector and the neighborhood;

[0013] Step S3: sorting all input points in descending order according to the planarity strength values of the neighborhood of the input points and obtaining a list of planarity strengths of the input points;

[0014] Step S4: selecting an input point with the largest planarity strength and not yet segmented from the input point planarity strength list as a seed point;

[0015] Taking the seed point as the center point, iterative expansion is performed within the input point neighborhood. The search is performed within the input point neighborhood to determine whether the currently searched target input point meets the expansion conditions. If the expansion conditions are met, the target input point is added to the seed point set, and the current target input point replaces the center point as the new seed point. The iterative expansion process is repeated until the input point in the input point neighborhood no longer meets the expansion conditions. Thus, multiple target input points are obtained, and then the multiple target input points are aggregated to form a seed point set.

[0016] The expansion condition is the distance from the point to the center point to form a plane Less than the first distance threshold D t , and the normal vector angle Less than the first angle threshold θ t ;

[0017] Step S5: re-performing a secondary region growing process on all seed points in the seed point set based on the optimized region growing algorithm to obtain input points that meet the secondary expansion condition;

[0018] Step S6: Repeat steps 4 and 5 until all input points are traversed, and the input points that meet the secondary expansion conditions after traversal are collected into the final seed point set;

[0019] Step S7: Determine the point cloud plane where all seed points in the final seed point set are located for regional growth, and extract the point cloud plane; finally, based on the plane adjacency table, quickly perform facet merging, facet competition, and boundary optimization segmentation to obtain accurate boundary information of the point cloud plane.

[0020] Preferably, in the specific execution process of step S5, a secondary region growing process is performed on all seed points in the seed point set based on the optimized region growing algorithm to obtain input points that meet the secondary expansion condition, which specifically includes the following operation steps:

[0021] Step S51: First, obtain the current plane on which all seed points in the current seed point set grow, and determine the number of plane points P of the current plane. size Is it greater than the plane point threshold s?

[0022] Step S52: If it is determined to be a plane point number P size If the number of plane points is less than the threshold s, the expansion is continued based on the neighborhood center point until all points in the neighborhood of the input point do not meet the expansion condition;

[0023] Step S53: If it is determined to be a plane point number P sizeIf the number of plane points is greater than the plane point threshold s, the least squares method is used to fit the plane equation to obtain the fitting plane (the plane points are selected according to the plane equation to finally obtain the fitting plane), and then the distance from the current point in the plane to the fitting plane is determined to be less than the first distance threshold D. t And the current normal vector angle is also less than the first angle threshold θ t If yes, continue to retain the points in the current plane (if no, remove the points that do not meet the expansion conditions); at the same time, update the plane point number threshold s'=s*P size , replace the center point and the center point normal vector with the center of mass and the normal vector of the plane, and continue the expansion process until all points in the neighborhood of the input point do not meet the expansion condition.

[0024] Preferably, in the specific execution process of step S7, the point cloud plane formed by region growing of all seed points in the final seed point set is determined, and the point cloud plane is extracted; finally, accurate boundary information of the point cloud plane is obtained by quickly performing facet merging, facet competition and boundary optimization segmentation based on the plane adjacency table, which specifically includes the following operation steps:

[0025] Step S71: Determine the point cloud plane where all seed points in the final seed point set are formed by region growing, extract the point cloud plane; determine the number of plane points P in the current point cloud plane size Is it greater than the threshold s and are the length, width and area of the current plane greater than the corresponding length standard threshold, width standard threshold and area standard threshold respectively; filter the number of plane points P in the current point cloud plane size For a plane whose number of plane points is greater than the plane point threshold s and whose length, width and area are greater than the corresponding length standard threshold, width standard threshold and area standard threshold respectively, the input points in its plane are regarded as unsegmented points;

[0026] Step S72: Traverse all unsegmented points and re-segment them according to the point neighborhood voting method: determine whether there are already segmented points in the point neighborhood, statistically calculate the planes to which these segmented neighboring points in the current area belong, and divide the unsegmented point into the plane containing the most neighboring points;

[0027] Step S73: Calculate the adjacency relationship of all planes. The judgment method is as follows: for plane i and plane j, if the neighborhood of the inlier of plane i contains the inlier of plane j, and the neighborhood of the inlier of plane j also contains the inlier of plane i, and if the number of inliers currently contained in both planes is greater than the inlier standard threshold, then the two planes are considered to be adjacent and determine that the two planes currently have an adjacency relationship. Calculate the adjacency relationship of all planes and construct the corresponding plane adjacency relationship table.

[0028] Based on the plane adjacency table, accurate boundary information of the point cloud plane is obtained after quickly performing facet merging, facet competition and boundary optimization segmentation.

[0029] Preferably, the accurate boundary information of the point cloud plane is obtained after quickly performing facet merging, facet competition and boundary optimization segmentation based on the plane adjacency table, which specifically includes the following steps:

[0030] Step S74: for all adjacent planes in the plane adjacency table, determine whether they meet the conditions for merging planes, and merge two planes that meet the conditions for merging planes;

[0031] The condition for merging the facets is: the distance from the center of the plane to the other plane Less than the first distance threshold D t , and the angle between the normal vectors of the two planes is Less than the first angle threshold θ t ; If the conditions are met, merge the two planes and update the adjacency relationship of the planes;

[0032] Step S75: For all adjacent planes in the plane adjacency table, perform facet competition processing; first, according to the plane equation (Ax+By+Cz+D=0), the distance between the two planes is less than the first distance threshold D. t The points in the plane of the two planes are regarded as the overlapping area of the two planes; then all the points in the overlapping area are traversed, and the minimum distance between the point and the remaining points of the two planes is calculated. The overlapping point cloud is reclassified according to the distance size to repair the segmentation error at the intersection of the planes;

[0033] Step S76: For all adjacent planes in the plane adjacency table, first find the boundary points of the two planes, that is, the points in the neighborhood that contain points in the other plane; then use the energy functional method to construct the energy equation, and judge the probability that the point belongs to a certain plane based on the distance from the boundary point to the plane, the angle difference between the point normal vector and the plane normal vector, and the number of plane points contained in the point neighborhood. According to the probability size, optimize the plane to which the boundary point belongs, so as to obtain the accurate boundary between the adjacent planes, and obtain accurate boundary information through the accurate boundary.

[0034] Preferably, the first angle threshold θ t is 30 degrees, the first distance threshold D t Specifically 0.2 meters.

[0035] The point cloud plane segmentation processing method for optimizing region growing provided by the present invention has the following technical effects:

[0036] Analysis of the above-mentioned point cloud plane segmentation processing method for optimizing region growing provided by an embodiment of the present invention shows that this method addresses the problem of seed point selection. First, the tensor voting method is used to estimate the point normal vector, and the seed points are selected based on the plane intensity characteristics to exclude inappropriate growth areas such as roof ridges and building boundaries.

[0037] Then, in the plane growth process, to address the fuzzy plane boundary problem caused by the growth conditions, after the number of plane points reaches a certain scale, the plane equation is fitted by least squares, and the distance from the point to the plane and the angle between the normal vector are used as new growth conditions to obtain a more stable plane boundary.

[0038] Finally, to address potential segmentation errors such as under-segmentation and over-segmentation during the segmentation process, a post-segmentation processing method based on plane adjacency lists, plane merging, plane competition, and plane boundary optimization is proposed. This method rapidly corrects segmentation errors and improves plane segmentation accuracy and robustness. Compared to traditional region-growing point cloud segmentation algorithms, this method boasts higher segmentation accuracy, fewer mis-segmentations, accurate and complete plane boundaries, and more stable planes. It can meet the needs of building modeling. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] Figure 1 A flowchart mainly illustrating an embodiment of the present invention;

[0040] Figure 2 Another simplified operational flowchart of an embodiment of the present invention is provided;

[0041] Figure 3 A flow chart of a region growing algorithm for optimizing growth conditions in an embodiment of the present invention;

[0042] Figure 4 This is a schematic diagram of point neighborhood voting reclassification in an embodiment of the present invention;

[0043] Figure 5 Schematic diagram of a method for determining adjacent planes according to an embodiment of the present invention;

[0044] Figure 6 Schematic diagram of a plane merging method in an embodiment of the present invention;

[0045] Figure 7 Schematic diagram of a plane competition method in an embodiment of the present invention;

[0046] Figure 8 The figure is a schematic structural diagram of an electronic device that applies the above-mentioned point cloud plane segmentation processing method with optimized region growing.

[0047] Reference numerals: memory 1110 ; communication interface 1120 ; processor 1130 ; computer storage medium 1140 . DETAILED DESCRIPTION

[0048] In order to facilitate ordinary technicians in this field to understand and implement the present invention, the present invention is further described in detail below with reference to the accompanying drawings and examples. It should be understood that the implementation examples described herein are only used to illustrate and explain the present invention and are not used to limit the present invention.

[0049] Example 1

[0050] Please see Figure 1 The present invention provides a point cloud plane segmentation processing method for optimizing region growing, including the following steps (also see Figure 2 ):

[0051] Step S1, calculating the neighborhood size of the input point (or point cloud) based on the point cloud density of the input point; wherein the point cloud density of the input point multiplied by the area of the current region is the neighborhood size of the current input point (that is, it should be explained that the neighborhood size here refers to the number of neighborhoods);

[0052] Step S2: Analyze the neighborhood structure characteristics of each input point using the tensor voting method. Calculate the neighborhood structure characteristics of the input point (the neighborhood structure characteristics are calculated using methods such as principal component analysis to calculate three eigenvalues and corresponding eigenvectors. The above-mentioned neighborhood structure characteristics are calculated based on the number of neighborhoods) to obtain the planarity strength value of the point normal vector and the neighborhood.

[0053] It should be explained that there are two ways to obtain the planarity strength value. The first is to calculate the planarity strength value using the direction and tensor strength of the rod tensor, plate tensor, and ball tensor. The second is to directly calculate the planarity strength using the constructed features. The planarity strength value uses the tensor eigenvalue λ1 / (λ1+λ0) as the planarity feature; the point normal vector and the planarity strength value obtained by calculating using the neighborhood structure feature of the input point are known constants and will not be described in detail in this embodiment of the present invention.

[0054] Step S3: sorting all input points in descending order according to the planarity strength values of the neighborhood of the input points and obtaining a list of planarity strengths of the input points;

[0055] Step S4: Selecting the input point with the largest planarity strength and not yet segmented from the input point planarity strength list as a seed point (generally, the input point with the most significant planarity feature (i.e., the input point with the largest planarity strength and not yet segmented) selected from the input point planarity strength list is preferentially used as the seed point for region growing);

[0056] Taking the seed point as the center point, iterative expansion is performed within the input point neighborhood. The search is performed within the input point neighborhood to determine whether the currently searched target input point meets the expansion conditions. If the expansion conditions are met, the target input point is added to the seed point set, and the current target input point replaces the center point as the new seed point. The iterative expansion process is repeated until the input point in the input point neighborhood no longer meets the expansion conditions. Thus, multiple target input points are obtained, and then the multiple target input points are aggregated to form a seed point set.

[0057] The expansion condition is the distance from the point to the center point to form a plane Less than the first distance threshold D t , and the normal vector angle Less than the first angle threshold θ t ;

[0058] It should be explained that the selection of the input points with the greatest planarity strength and that have not yet been segmented as seed points from the input point planarity strength list is based on the following principle: the input points with the greatest planarity strength have good planar saliency and are often not input points in inappropriate growth areas such as roof ridges and building boundaries. Therefore, the above operation steps select seed points based on planarity strength characteristics to exclude inappropriate growth areas such as roof ridges and building boundaries. Among them, the pi value and the p0 value correspond to a point on the plane, generally the center of mass of the point in the plane, and ni and n0 are the normal vectors of the corresponding plane.

[0059] Preferably, the first angle threshold θ t is 30 degrees, the first distance threshold D t Specifically 0.2 meters.

[0060] Step S5: re-performing a secondary region growing process on all seed points in the seed point set based on the optimized region growing algorithm to obtain input points that meet the secondary expansion condition;

[0061] Step S6: Repeat steps 4 and 5 until all input points are traversed, and the input points that meet the secondary expansion conditions after traversal are collected into the final seed point set;

[0062] Step S7: Determine the point cloud plane where all seed points in the final seed point set are located for regional growth, and extract the point cloud plane; finally, based on the plane adjacency table, quickly perform facet merging, facet competition, and boundary optimization segmentation to obtain accurate boundary information of the point cloud plane.

[0063] In the specific operation process, such as step S5: re-performing secondary region growing processing on all seed points in the seed point set based on the optimized region growing algorithm to obtain input points that meet the secondary expansion conditions, the specific operation steps include the following:

[0064] like Figure 3 As shown in the figure, the optimized region growing algorithm process is:

[0065] Step S51: First, obtain the current plane on which all seed points in the current seed point set grow, and determine the number of plane points P of the current plane. size Is it greater than the plane point count threshold s (also known as the quantity standard threshold);

[0066] Step S52: If it is determined to be a plane point number P size If the number of plane points is less than the threshold s, the expansion is continued based on the neighborhood center point until all points in the neighborhood of the input point do not meet the expansion condition;

[0067] Step S53: If it is determined to be a plane point number P size If the number of plane points is greater than the plane point threshold s, the least squares method is used to fit the plane equation to obtain the fitting plane (the plane points are selected according to the plane equation to finally obtain the fitting plane), and then the distance from the current point in the plane to the fitting plane is determined to be less than the first distance threshold D. t And the current normal vector angle is also less than the first angle threshold θ t If yes, continue to retain the points in the current plane (if no, remove the points that do not meet the expansion conditions); at the same time, update the plane point number threshold s'=s*P size , replace the center point and the center point normal vector with the plane's centroid and normal vector (the centroid is the mean of all points in the plane, used to replace the plane center point. A plane is parameterized by a point and its normal vector. Using the centroid instead of the center is a common method and does not affect subsequent calculations. The center point normal vector is the plane's normal vector, and any point in the plane has the same normal vector). Continue the expansion process until no point in the input point's neighborhood satisfies the expansion condition.

[0068] Fitting a plane is to find a plane that minimizes the Euclidean distance from all data points to the fitted plane. The least squares method of fitting a plane is a method that determines an optimal plane model based on the coordinates of the data points and the corresponding function values.

[0069] A point cloud plane is a plane composed of multiple points. These points may have certain errors, and the least squares method is needed to find the best plane fit.

[0070] Repeat steps 4 and 5 (including steps S51 to S53 above) until all input points are traversed.

[0071] Then, in the plane growth process, in order to solve the problem of blurred plane boundaries caused by growth conditions, after the number of plane points reaches a certain scale, the plane equation is fitted by least squares, and the distance from the point to the plane and the angle between the normal vector are used as new growth conditions to obtain a more stable plane boundary.

[0072] In the specific technical solution of this embodiment, step S7: determining the point cloud plane formed by region growing all seed points in the final seed point set, extracting the point cloud plane; and finally, quickly performing facet merging, facet competition, and boundary optimization segmentation based on the plane adjacency table to obtain accurate boundary information of the point cloud plane, specifically includes the following steps:

[0073] Step S71: Determine the point cloud plane where all seed points in the final seed point set are formed by region growing, extract the point cloud plane; determine the number of plane points P in the current point cloud plane size Is it greater than the threshold (plane point number threshold s) and are the length, width and area of the current plane greater than the corresponding length standard threshold, width standard threshold and area standard threshold respectively; filter the plane point number P in the current point cloud plane size For a plane whose number of plane points is greater than the plane point threshold s and whose length, width and area are greater than the corresponding length standard threshold, width standard threshold and area standard threshold respectively, the input points in its plane are regarded as unsegmented points;

[0074] It should be noted that in order to avoid the influence of slope on the calculation of plane size, it is necessary to first use principal component analysis to calculate the main direction of the plane, and then calculate the size of the bounding box in the main direction to determine the specific length and width of the plane; then delete the plane that does not meet the conditions (the above-mentioned plane that does not meet the conditions refers to the plane point number P in the current point cloud plane). size If the number of plane points is greater than the plane point threshold s and the length, width and area of the current plane are greater than the corresponding length standard threshold, width standard threshold and area standard threshold respectively, the points in the plane (input points) are regarded as unsegmented points (i.e., unsegmented input points).

[0075] Principal component analysis formula: Cov(x,y,z)=E[(XE(X)) (YE(Y)) (ZE(Z))].

[0076] The process of calculating the bounding box length is to obtain the eigenvector corresponding to the maximum eigenvalue, project the point in that direction, and calculate the maximum and minimum ranges in this direction as the length. The width is also the same, and is calculated using the eigenvector corresponding to the second largest eigenvalue.

[0077] Step S72: traverse all unsegmented points (i.e., unsegmented input points) and re-segment them according to the point neighborhood voting method: Figure 4As shown, it is determined whether there are already segmented points in the neighborhood of the point, and the planes to which these segmented neighborhood points in the current area belong are statistically calculated, and the unsegmented point is divided into the plane containing the most neighborhood points;

[0078] Step S73: Figure 5 As shown, the adjacency relationship of all planes is calculated. The judgment method is as follows: for plane i and plane j, if the neighborhood of the interior point of plane i contains the interior point of plane j, and the neighborhood of the interior point of plane j also contains the interior point of plane i, and if the number of interior points contained in both is greater than the interior point standard threshold, then the two planes (plane i and plane j) are considered to be adjacent, and it is determined that the two planes currently have an adjacency relationship; calculate the adjacency relationship in all planes and construct the corresponding plane adjacency relationship table;

[0079] Step S74: For all adjacent planes in the plane adjacency table, Figure 6 As shown, determine whether it meets the conditions for patch merging: the distance from the center of the plane to the other plane Is it less than the first distance threshold D t , the angle between the normal vectors of the two planes Is it less than the first angle threshold θ t , the average distance from the merged point to the plane Is it less than the average distance before merging? If the condition is met, the two planes are merged and the adjacency relationship of the planes is updated;

[0080] Step S75: For all adjacent planes in the plane adjacency table, such as Figure 7 The facet competition process is shown as follows. First, according to the plane equation (Ax+By+Cz+D=0), the points in the plane whose distance to the two planes is less than the threshold are found, which is regarded as the overlapping area of the two planes. Then, all points in the overlapping area are traversed, and the minimum distance from the point to the remaining points of each plane is found. The overlapping point cloud is reclassified according to the distance, and the segmentation errors at the intersection of the planes are repaired.

[0081] Step S76: For all adjacent planes in the plane adjacency table, first find the boundary points of the two planes, that is, the points in the neighborhood that contain points in the other plane; then use the energy functional method to construct the energy equation, and judge the probability that the point belongs to a certain plane based on the distance from the boundary point to the plane, the angle difference between the point normal vector and the plane normal vector, and the number of plane points contained in the point neighborhood. According to the probability size, optimize the plane to which the boundary point belongs, so as to obtain the accurate boundary between the adjacent planes, and obtain accurate boundary information through the accurate boundary.

[0082] The above energy equation is as follows:

[0083] E(a)=D(a)+λG(a);

[0084] λ is the weight factor, D(a) is the distance function, and G(a) contains the probability of the number of points belonging to it;

[0085] in, is the probability that each point belongs to the plane,

[0086] If it belongs to the plane, it is 1, and if it does not belong to the plane, it is 0; the above energy equation belongs to the well-known technology and will not be described in detail.

[0087] Example 2

[0088] On the other hand, the second embodiment further provides a computer storage medium 1140 based on the point cloud plane segmentation processing method for optimizing region growing provided in the first embodiment of the invention.

[0089] like Figure 8 FIG. 1 is a schematic diagram of a computer storage medium structure framework provided in Embodiment 2 of the present invention, which includes:

[0090] The memory 1110 is used to store computer programs; the communication interface 1120 is used to connect the memory 1110 to the processor 1130; the processor 1130 is used to execute the computer program to implement the point cloud plane segmentation processing method for optimizing region growing disclosed in any combination of the above-mentioned embodiments.

[0091] It is understood that the embodiments described herein may be implemented using hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit may be implemented in one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described herein, or a combination thereof.

[0092] For software implementation, the technology described herein can be implemented by a unit that performs the functions described herein. The software code can be stored in a memory and executed by a processor. The memory can be implemented in the processor or outside the processor.

[0093] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0094] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0095] In the embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the modules is merely a logical function division. In actual implementation, there may be other division methods, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0096] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit them. A person skilled in the art may modify the technical solutions described in the above embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A point cloud plane segmentation processing method for optimizing region growing, characterized in that: The steps are as follows: Step S1, calculating the neighborhood size of the input point according to the point cloud density of the input point; Step S2: Analyze the neighborhood structure characteristics of each input point using the tensor voting method, and use the neighborhood structure characteristics of the input point to calculate and obtain the planarity strength value of the point normal vector and the neighborhood; Step S3: sorting all input points in descending order according to the planarity strength values of the neighborhood of the input points and obtaining a list of planarity strengths of the input points; Step S4: selecting an input point with the largest planarity strength and not yet segmented from the input point planarity strength list as a seed point; Taking the seed point as the center point, iterative expansion is performed within the input point neighborhood. The search is performed within the input point neighborhood to determine whether the currently searched target input point meets the expansion conditions. If the expansion conditions are met, the target input point is added to the seed point set, and the current target input point replaces the center point as the new seed point. The iterative expansion process is repeated until the input point in the input point neighborhood no longer meets the expansion conditions. Thus, multiple target input points are obtained, and then the multiple target input points are aggregated to form a seed point set. The expansion condition is the distance from the point to the center point to form a plane Less than the first distance threshold , and the normal vector angle Less than the first angle threshold ; Step S5: re-performing a secondary region growing process on all seed points in the seed point set based on the optimized region growing algorithm to obtain input points that meet the secondary expansion condition; Step S6: Repeat steps 4 and 5 until all input points are traversed, and the input points that meet the secondary expansion conditions after traversal are collected into the final seed point set; Step S7: determining the point cloud plane formed by region growing of all seed points in the final seed point set, and extracting the point cloud plane; finally, based on the plane adjacency table, quickly performing facet merging, facet competition, and boundary optimization segmentation to obtain accurate boundary information of the point cloud plane; In the specific execution process of step S5, based on the optimized region growing algorithm, secondary region growing processing is performed on all seed points in the seed point set to obtain input points that meet the secondary expansion conditions, which specifically includes the following operation steps: Step S51: First, obtain the current plane on which all seed points in the current seed point set grow, and determine the number of plane points on the current plane. Is it greater than the plane point threshold s? Step S52: If it is determined to be a plane point If the number of plane points is less than the threshold s, the expansion is continued based on the neighborhood center point until all points in the neighborhood of the input point do not meet the expansion condition; Step S53: If it is determined to be a plane point If the number of plane points is greater than the plane point threshold s, the least squares method is used to fit the plane equation to obtain the fitting plane; at the same time, the plane point threshold s'=s* is updated. , replace the center point and the center point normal vector with the center of mass and the normal vector of the plane, and continue the expansion process until all points in the neighborhood of the input point do not meet the expansion condition.

2. The point cloud plane segmentation processing method for optimizing region growing according to claim 1, characterized in that: In the specific execution process of step S7, the point cloud plane formed by region growing of all seed points in the final seed point set is determined, and the point cloud plane is extracted; finally, based on the plane adjacency table, accurate boundary information of the point cloud plane is obtained by quickly performing facet merging, facet competition, and boundary optimization segmentation. The specific operation steps include the following: Step S71: Determine the point cloud plane where all seed points in the final seed point set are formed by region growing, extract the point cloud plane; determine the number of plane points in the current point cloud plane Is it greater than the threshold s and are the length, width and area of the current plane greater than the corresponding length standard threshold, width standard threshold and area standard threshold respectively; filter the number of plane points in the current point cloud plane For a plane whose number of plane points is greater than the plane point threshold s and whose length, width and area are greater than the corresponding length standard threshold, width standard threshold and area standard threshold respectively, the input points in its plane are regarded as unsegmented points; Step S72: Traverse all unsegmented points and re-segment them according to the point neighborhood voting method: determine whether there are already segmented points in the point neighborhood, statistically calculate the planes to which these segmented neighboring points in the current area belong, and divide the unsegmented point into the plane containing the most neighboring points; Step S73: Calculate the adjacency relationship of all planes. The judgment method is as follows: for plane i and plane j, if the neighborhood of the inlier of plane i contains the inlier of plane j, and the neighborhood of the inlier of plane j also contains the inlier of plane i, and if the number of inliers currently contained in both planes is greater than the inlier standard threshold, then the two planes are considered to be adjacent and determine that the two planes currently have an adjacency relationship. Calculate the adjacency relationship of all planes and construct the corresponding plane adjacency relationship table. Based on the plane adjacency table, accurate boundary information of the point cloud plane is obtained after quickly performing facet merging, facet competition and boundary optimization segmentation.

3. The point cloud plane segmentation processing method for optimizing region growing according to claim 2, characterized in that: The accurate boundary information of the point cloud plane is obtained by quickly performing facet merging, facet competition, and boundary optimization segmentation based on the plane adjacency table, and specifically includes the following steps: Step S74: for all adjacent planes in the plane adjacency table, determine whether they meet the conditions for merging planes, and merge two planes that meet the conditions for merging planes; The condition for merging the facets is: the distance from the center of the plane to the other plane Less than the first distance threshold , and the angle between the normal vectors of the two planes is Less than the first angle threshold ; If the conditions are met, merge the two planes and update the adjacency relationship of the planes; Step S75: For all adjacent planes in the plane adjacency table, perform facet competition processing; first, according to the plane equation, calculate the distance between the two planes to be less than the first distance threshold. The points in the plane of the two planes are regarded as the overlapping area of the two planes; then all the points in the overlapping area are traversed, and the minimum distance between the point and the remaining points of the two planes is calculated. The overlapping point cloud is reclassified according to the distance size to repair the segmentation error at the intersection of the planes; Step S76: For all adjacent planes in the plane adjacency table, first find the boundary points of the two planes, that is, the points in the neighborhood that contain points in the other plane; then use the energy functional method to construct the energy equation, and judge the probability that the point belongs to a certain plane based on the distance from the boundary point to the plane, the angle difference between the point normal vector and the plane normal vector, and the number of plane points contained in the point neighborhood. According to the probability size, optimize the plane to which the boundary point belongs, so as to obtain the accurate boundary between the adjacent planes, and obtain accurate boundary information through the accurate boundary.

4. The point cloud plane segmentation processing method for optimizing region growing according to claim 1, characterized in that: The first angle threshold is 30 degrees, the first distance threshold Specifically 0.2 meters.

5. A computer storage medium, characterized in that include: memory for storing computer programs; A communication interface, used to connect the memory to the processor; A processor is used to execute a computer program to implement the point cloud plane segmentation processing method for optimizing region growing as described in any one of claims 1 to 4 above.

Citation Information

Patent Citations

  • Method and system for automatically generating indoor three-dimensional model from point cloud by considering semanteme

    CN111915730A

  • Accurate point cloud segmentation method based on feature template

    CN114119628A