A point cloud normal estimation method and device based on local subspace clustering, electronic equipment and storage medium
By selecting high-confidence feature points in the local neighborhood and performing low-rank subspace clustering, combined with noise filtering and normal diffusion strategies, the accuracy and stability issues of point cloud normal estimation in complex scenarios are solved, improving the accuracy and robustness of normal estimation.
Patent Information
- Application Number
- CN202610170201.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-02-06
- Publication Date
- 2026-05-15
- Estimated Expiration
- 2046-02-06
AI Technical Summary
Existing point cloud normal estimation methods are prone to causing the normal to deviate from the true geometric structure in scenarios with high scanning noise, severe occlusion, or sparse and uneven point clouds. Furthermore, they can cause problems such as normal blurring, abrupt changes, or incorrect flipping when there are edges, sharp features, or multiple local geometric structures mixed together.
By introducing a feature point weight evaluation mechanism based on covariance features and geometric structure indices in the local neighborhood, high-confidence feature points are selected. Low-rank subspace clustering with prior weight constraints is used to perform multi-subclass division and plane fitting on the local point cloud. Combined with noise point filtering and normal diffusion strategy of neighboring non-noise points, the normal of the feature points is re-estimated.
In complex scenarios with noise, multi-structure aliasing, and non-uniform sampling, it significantly improves the accuracy and stability of point cloud normal estimation, while preserving the sharp features and edge details of the model.
Smart Images

Figure CN121686027B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of three-dimensional point cloud data processing technology, and more specifically, to a point cloud normal estimation method, apparatus, electronic device, and storage medium based on local subspace clustering. Background Technology
[0002] With the rapid development of 3D acquisition equipment and technologies such as LiDAR scanning, structured light measurement, and photogrammetry, large-scale 3D point cloud data is widely used in reverse engineering, 3D reconstruction, robot environmental perception, autonomous driving, and cultural relic digitization. Point cloud normal vectors, as key information describing the local geometry of point clouds, are not only fundamental features for subsequent processing tasks such as point cloud denoising, registration, reconstruction, and meshing, but also important inputs for higher-level tasks such as feature extraction and semantic segmentation. Therefore, how to perform high-precision and robust normal vector estimation of point clouds in complex scenes has become one of the core problems in this field.
[0003] Existing point cloud normal estimation methods can significantly deviate from the true geometric structure in scenarios with high scanning noise, severe occlusion, or sparse and uneven point clouds. On the other hand, when point clouds have edges, sharp features, or multiple local geometric structures (such as plane intersections, curved surface and plane intersections) mixed in the same fixed-scale neighborhood, problems such as normal blurring, jumps, or incorrect flipping can easily occur. Summary of the Invention
[0004] This disclosure provides at least one method, apparatus, electronic device, and storage medium for point cloud normal estimation based on local subspace clustering. By introducing a feature point weight evaluation mechanism based on covariance features and geometric structure indices within the local neighborhood, high-confidence feature points are selected. Low-rank subspace clustering with prior weight constraints is then used in the feature point neighborhood to perform multi-class division and plane fitting on the local point cloud, thereby re-estimating the feature point normals at the subclass level. Simultaneously, by combining noise point filtering and a normal diffusion strategy based on neighboring non-noise points, the method can more accurately characterize the local geometric structure in complex scenarios with noise, multi-structure aliasing, and non-uniform sampling, significantly improving the accuracy and stability of point cloud normal estimation and better preserving the model's sharp features and edge details.
[0005] This disclosure provides a point cloud normal estimation method based on local subspace clustering, including:
[0006] For each target point in the 3D point cloud, a local neighborhood is constructed, noise points in the neighborhood are filtered out and the corresponding covariance matrix is constructed. The eigenvector of the covariance matrix with the smallest eigenvalue after eigenvalue decomposition is selected as the initial normal vector of the target point.
[0007] Based on the geometric distribution characteristics of the target point and the corresponding neighborhood points, a weight value representing the confidence level of the target point as a feature point is calculated, and feature points with weight values greater than the preset weight threshold are selected according to a preset weight threshold.
[0008] For each feature point, low-dimensional subspace clustering is performed on the neighborhood of the feature point corresponding to that feature point to obtain multiple subclass point clouds representing different local geometric structures;
[0009] The target subclass point cloud to which the feature point belongs within the neighborhood of the feature point is determined. The neighborhood of the feature point is locally fitted using the points in the target subclass point cloud. Based on the fitting result, the initial normal vector is re-estimated as the optimized normal vector of the feature point.
[0010] In one optional implementation, based on the geometric distribution characteristics of the target point and its corresponding neighboring points, a weight value representing the confidence level of the target point as a feature point is calculated, and feature points with weight values greater than a preset weight threshold are selected according to a preset weight threshold. Specifically, this includes:
[0011] Using the eigenvalues of the covariance matrix in the local neighborhood corresponding to the target point and a preset geometric structure index, the weight value of the target point is constructed to characterize the confidence that the target point is located in a sharp feature region or an edge region.
[0012] The weight values of all points in the three-dimensional point cloud are statistically analyzed to obtain a weight distribution function, and the weight distribution function is smoothed to eliminate local oscillations.
[0013] The weight value corresponding to the flattening point after the first main peak in the smoothed weight distribution function is determined as the preset weight threshold, and the point whose weight value is greater than the preset weight threshold is determined as the feature point.
[0014] In one optional implementation, for each feature point, low-dimensional subspace clustering is performed on the feature point neighborhood corresponding to that feature point to obtain multiple subclass point clouds representing different local geometric structures, specifically including:
[0015] For each feature point, a data matrix is constructed containing the coordinates of the corresponding neighboring points and the initial normal vector;
[0016] A low-rank subspace clustering algorithm is performed on the data matrix to represent the neighborhood points as a combination of multiple low-rank linear subspaces.
[0017] By solving the optimization objective function with prior weight constraints, a coefficient matrix representing the correlation between points is obtained, and a similarity matrix is constructed based on the coefficient matrix.
[0018] Spectral clustering is performed on the similarity matrix to divide the neighborhood of the feature points into multiple sub-class point clouds, each of which corresponds to a local low-dimensional subspace.
[0019] In one optional implementation, a coefficient matrix representing the correlation between points is obtained by solving an optimization objective function with prior weight constraints, specifically including:
[0020] A low-rank representation objective function with a weight matrix is constructed as the optimization objective function;
[0021] The coefficient matrix representing the relationship between points is weighted element-wise according to the weight matrix to suppress redundant relationships within a class and highlight differences between classes;
[0022] When solving the optimization objective function, smaller weights are assigned to point pairs belonging to the same potential subspace, and larger weights are assigned to point pairs belonging to different potential subspaces, in order to obtain an optimal coefficient matrix with intra-class sparsity and inter-class relative enhancement characteristics.
[0023] In one optional implementation, spectral clustering is performed on the similarity matrix to divide the neighborhood of the feature points into multiple sub-class point clouds, specifically including:
[0024] In the initial case, the points in the neighborhood of the feature point are divided into two subclass point clouds;
[0025] For each obtained subclass point cloud fitting plane, calculate the average residual from the subclass point cloud to the fitting plane;
[0026] When the average residual of a certain subclass point cloud is greater than a preset residual threshold, the subclass point cloud is further divided into two subclass point clouds;
[0027] Repeat the steps of plane fitting and residual judgment until the average residual of all the subclass point clouds is less than the residual threshold, thereby adaptively determining the number of subclasses.
[0028] In one optional implementation, the target subclass point cloud to which the feature point belongs within its neighborhood is determined, the neighborhood of the feature point is locally fitted using points within the target subclass point cloud, and the initial normal vector is re-estimated based on the fitting result as the optimized normal vector of the feature point. Specifically, this includes:
[0029] For each feature point, a corresponding local planar model is fitted using the point set of each subclass point cloud in the neighborhood of the feature point;
[0030] Calculate the distance from the feature point to each of the local plane models, and determine the subclass point cloud corresponding to the plane with the smallest distance as the target subclass point cloud to which the feature point belongs;
[0031] The covariance matrix is reconstructed based on the points in the target subclass point cloud and eigenvalue decomposition is performed to obtain the re-estimated normal vector, which serves as the optimized normal vector for the feature points.
[0032] In one optional implementation, the method further includes:
[0033] For non-feature points, select one or more nearest non-noise points from the corresponding local neighborhood, and directly assign the optimized normal vector of the non-noise point to the non-feature point; or, perform a weighted average of the optimized normal vectors of multiple neighboring non-noise points to obtain the normal vector of the non-feature point.
[0034] For the noise point, select the non-noise point that has the closest Euclidean distance to the noise point, and assign the optimized normal vector of the non-noise point to the noise point.
[0035] This disclosure also provides a point cloud normal estimation device based on local subspace clustering, including:
[0036] The initial normal vector determination module is used to construct a local neighborhood for each target point in the 3D point cloud, filter out noise points in the neighborhood points and construct the corresponding covariance matrix, and select the eigenvector of the covariance matrix with the smallest eigenvalue after eigenvalue decomposition as the initial normal vector of the target point.
[0037] The feature point filtering module is used to calculate the weight value representing the confidence level of the target point as a feature point based on the geometric distribution characteristics of the target point and the corresponding neighborhood points, and select the feature points whose weight value is greater than the preset weight threshold according to the preset weight threshold.
[0038] The subclass partitioning module is used to perform low-dimensional subspace clustering on the neighborhood of each feature point to obtain multiple subclass point clouds representing different local geometric structures.
[0039] The normal vector optimization module is used to determine the target subclass point cloud to which the feature point belongs within the neighborhood of the feature point, perform local fitting on the neighborhood of the feature point using the points in the target subclass point cloud, and re-estimate the initial normal vector based on the fitting result as the optimized normal vector of the feature point.
[0040] This disclosure also provides an electronic device, including: a processor, a memory, and a bus. The memory stores machine-readable instructions executable by the processor. When the electronic device is running, the processor communicates with the memory via the bus. When the machine-readable instructions are executed by the processor, they perform the steps of the point cloud normal estimation method based on local subspace clustering described above, or any possible implementation of the point cloud normal estimation method based on local subspace clustering described above.
[0041] This disclosure also provides a computer-readable storage medium storing a computer program that, when executed by a processor, performs the steps of the point cloud normal estimation method based on local subspace clustering described above, or any possible implementation of the point cloud normal estimation method based on local subspace clustering described above.
[0042] This disclosure also provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the above-described point cloud normal estimation method based on local subspace clustering, or any possible implementation of the above-described point cloud normal estimation method based on local subspace clustering.
[0043] This disclosure provides a point cloud normal estimation method, apparatus, electronic device, and storage medium based on local subspace clustering. By introducing a feature point weight evaluation mechanism based on covariance features and geometric structure indices within the local neighborhood, high-confidence feature points are selected. Low-rank subspace clustering with prior weight constraints is then used in the feature point neighborhood to perform multi-class division and plane fitting on the local point cloud, thereby re-estimating the feature point normals at the subclass level. Simultaneously, by combining noise point filtering and a normal diffusion strategy based on neighboring non-noise points, the method can more accurately characterize the local geometric structure in complex scenarios with noise, multi-structure aliasing, and non-uniform sampling, significantly improving the accuracy and stability of point cloud normal estimation and better preserving the model's sharp features and edge details.
[0044] To make the above-mentioned objects, features and advantages of this disclosure more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0045] To more clearly illustrate the technical solutions of the embodiments of this disclosure, the accompanying drawings used in the embodiments will be briefly described below. These drawings are incorporated in and constitute a part of this specification. They illustrate embodiments conforming to this disclosure and, together with the specification, serve to explain the technical solutions of this disclosure. It should be understood that the following drawings only show some embodiments of this disclosure and should not be considered as limiting the scope. Those skilled in the art can obtain other related drawings based on these drawings without creative effort.
[0046] Figure 1 A flowchart of a point cloud normal estimation method based on local subspace clustering provided in an embodiment of this disclosure is shown;
[0047] Figure 2 A flowchart is shown for another point cloud normal estimation method based on local subspace clustering provided in an embodiment of this disclosure;
[0048] Figure 3 A comparative schematic diagram of the point cloud normal estimation effect provided by the embodiments of this disclosure is shown;
[0049] Figure 4 A schematic diagram of a point cloud normal estimation device based on local subspace clustering provided in an embodiment of this disclosure is shown.
[0050] Figure 5 A schematic diagram of an electronic device provided in an embodiment of the present disclosure is shown. Detailed Implementation
[0051] To make the objectives, technical solutions, and advantages of the embodiments of this disclosure clearer, the technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this disclosure, and not all of them. The components of the embodiments of this disclosure described and shown in the accompanying drawings can generally be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this disclosure provided in the accompanying drawings is not intended to limit the scope of the claimed disclosure, but merely represents selected embodiments of this disclosure. All other embodiments obtained by those skilled in the art based on the embodiments of this disclosure without inventive effort are within the scope of protection of this disclosure.
[0052] It should be noted that similar labels and letters in the following figures indicate similar items. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.
[0053] In this document, the term "and / or" merely describes a relationship, indicating that three relationships can exist. For example, A and / or B can represent three cases: A alone, A and B simultaneously, and B alone. Furthermore, the term "at least one" in this document means any combination of at least two of any one or more elements. For example, including at least one of A, B, and C can mean including any one or more elements selected from the set consisting of A, B, and C.
[0054] Research has found that existing point cloud normal estimation methods can significantly deviate from the true geometric structure in scenarios with high scanning noise, severe occlusion, or sparse and uneven point clouds. On the other hand, when point clouds have edges, sharp features, or multiple local geometric structures (such as plane intersections, curved surface and plane intersections) mixed in the same fixed-scale neighborhood, problems such as normal blurring, jumps, or incorrect flipping are likely to occur.
[0055] Based on the above research, this disclosure provides a point cloud normal estimation method, device, electronic device, and storage medium based on local subspace clustering. By introducing a feature point weight evaluation mechanism based on covariance features and geometric structure indices in the local neighborhood, high-confidence feature points are selected. Low-rank subspace clustering with prior weight constraints is then used in the neighborhood of the feature points to perform multi-class division and plane fitting on the local point cloud, thereby re-estimating the normal of the feature points at the subclass level. At the same time, by combining noise point filtering and a normal diffusion strategy based on neighboring non-noise points, the method can more accurately characterize the local geometric structure in complex scenes with noise, multi-structure aliasing, and non-uniform sampling, significantly improving the accuracy and stability of point cloud normal estimation, and better preserving the sharp features and edge details of the model.
[0056] To facilitate understanding of this embodiment, a point cloud normal estimation method based on local subspace clustering disclosed in this disclosure will first be described in detail. The execution entity of the point cloud normal estimation method based on local subspace clustering provided in this disclosure is generally a computer device with certain computing capabilities. This computer device may include, for example, a terminal device, a server, or other processing devices. The terminal device can be a user equipment (UE), mobile device, user terminal, terminal, cellular phone, cordless phone, personal digital assistant (PDA), handheld device, computing device, in-vehicle device, wearable device, etc. In some possible implementations, this point cloud normal estimation method based on local subspace clustering can be implemented by a processor calling computer-readable instructions stored in memory.
[0057] See Figure 1The diagram shows a flowchart of a point cloud normal estimation method based on local subspace clustering provided in this disclosure. The method includes steps S101 to S104, wherein:
[0058] S101. Construct a local neighborhood for each target point in the 3D point cloud, filter out noise points in the neighborhood and construct the corresponding covariance matrix, and select the eigenvector of the covariance matrix with the smallest eigenvalue after eigenvalue decomposition as the initial normal vector of the target point.
[0059] In practice, the acquired 3D point cloud data is first preprocessed, and any point in the point cloud is designated as the target point. For each target point, a local neighborhood is constructed using a spatial index structure. For example, a point cloud index can be built based on a KD-tree, octree, or other spatial partitioning structures to improve neighborhood search efficiency.
[0060] In practical implementation, a fixed neighborhood radius approach can be used, where a spherical search region is constructed with the target point as the center and a preset radius as the radius, and points falling within this region are considered the target point's neighborhood set. Alternatively, a K-nearest neighbor approach can be used, sorting the target point according to its Euclidean distance to surrounding points and selecting the K closest points to form the target point's neighborhood set. In some application scenarios that are sensitive to changes in point cloud density, the neighborhood size can be adaptively adjusted based on local point density to keep the number of points within the neighborhood within a preset range, balancing computational efficiency and the fineness of local geometric depiction. Using any one or more of these methods, a corresponding local neighborhood is sequentially constructed for each target point in the 3D point cloud.
[0061] After constructing the local neighborhood of the target point, it is necessary to filter out noise points in the neighborhood to reduce the impact of noise on the subsequent covariance matrix construction and normal estimation accuracy. In one implementation, noise identification can be based on point density and distance statistics: for each target point, the distance distribution between its neighboring points and the target point is statistically analyzed, and the mean and standard deviation of the distance between each point in the neighborhood and the target point are calculated. Points with a distance significantly greater than the mean plus several times the standard deviation are considered outliers and marked as noise points. At the same time, the point density in the global or segmented regions of the point cloud can be estimated, and points with a density significantly lower than the normal range are removed as isolated points.
[0062] In another embodiment, local initial plane or surface fitting can be performed in the neighborhood, the residual from each neighborhood point to the fitting plane or surface can be calculated, and points with residuals greater than a preset threshold can be identified as noise points. Thus, local geometric consistency can be used as the criterion to improve the robustness of noise recognition in complex geometric scenarios.
[0063] In another embodiment, intensity information, reflectivity information, or multi-frame temporal consistency information can be incorporated based on the characteristics of the measuring device to assist in noise point detection. For example, points that appear only in a single frame and differ significantly from surrounding points in intensity or depth can be removed. This invention does not limit the specific noise filtering algorithm; any algorithm that can effectively distinguish between normal neighboring points and abnormal noise points can be used to implement this step.
[0064] After noise filtering, for each target point, a local covariance matrix is constructed using its corresponding set of non-noise neighborhood points. Typically, the centroid coordinates of all non-noise neighborhood points in the target point's neighborhood are first calculated. The centroid coordinates are then subtracted from the coordinates of each neighborhood point to obtain a mean-free local coordinate vector. Based on these mean-free vectors, a three-dimensional covariance matrix is constructed according to the covariance calculation formula. Each element of the covariance matrix reflects the variance of the neighborhood points on each coordinate axis and the correlation between different coordinate dimensions.
[0065] In one specific implementation, in order to enhance the sensitivity of the covariance matrix to neighboring points and reduce the interference of distant points, distance weights or other weighting factors can be introduced. That is, different weights are assigned to different points in the neighborhood, and then the covariance matrix is constructed according to the weighted covariance formula. The weights can decrease monotonically with the Euclidean distance from the point to the target point, or they can be determined by combining information such as the reflection intensity and measurement confidence of the point, so as to further improve the ability of the covariance matrix to characterize the real local geometric structure.
[0066] Furthermore, after obtaining the local covariance matrix corresponding to the target point, eigenvalue decomposition is performed on the covariance matrix to obtain three sets of eigenvectors and their corresponding eigenvalues. Since the covariance matrix is a symmetric positive semi-definite real matrix, its eigenvalues are all real numbers, and the corresponding eigenvectors are orthogonal to each other. In this invention, by sorting the eigenvalues according to their magnitude, the eigenvector corresponding to the smallest eigenvalue is selected as the initial normal vector of the target point. The physical meaning is that the eigenvalues and eigenvectors of the covariance matrix characterize the dispersion of the neighborhood point cloud in three principal directions. The eigenvector corresponding to the largest eigenvalue approximates the principal direction of the neighborhood point distribution, while the eigenvector corresponding to the smallest eigenvalue indicates that the dispersion of the neighborhood points in that direction is minimal, i.e., this direction is approximately perpendicular to the local fitting plane, and therefore can naturally be used as an estimate of the local normal vector.
[0067] In another embodiment, to further improve the consistency of the initial normal vector direction, a normal direction adjustment step can be added based on the above. For example, using the location of the point cloud acquisition device as a reference viewpoint, the initial normal vectors can be uniformly adjusted to face or move away from the viewpoint; or a graph-based normal propagation strategy can be adopted to optimize the consistency of local normal directions while ensuring overall smoothness. This type of direction adjustment is an optional optimization step in this invention and does not change the basic technical solution of using the eigenvector corresponding to the minimum eigenvalue as the initial normal vector of the target point; it only further improves the coherence of the global normal field and the practical application effect.
[0068] In this way, through the above processing, a stable and reliable covariance matrix can be constructed on the local neighborhood after noise filtering for each target point in the 3D point cloud, and a relatively accurate initial normal estimate can be obtained through eigenvalue decomposition, laying the foundation for subsequent fine normal estimation based on local subspace clustering and feature point optimization.
[0069] S102. Based on the geometric distribution characteristics of the target point and the corresponding neighborhood points, calculate the weight value representing the confidence level of the target point as a feature point, and select the feature points whose weight values are greater than the preset weight threshold according to the preset weight threshold.
[0070] In practice, after obtaining the initial normal vector of each target point, in order to identify points with significant geometric structural features in the point cloud (such as sharp edge points, corner points, or points with abrupt changes in local curvature), it is necessary to calculate the confidence weight value that characterizes the target point as a feature point based on the geometric distribution characteristics of the target point and its corresponding neighboring points.
[0071] Specifically, the local geometric information contained in the covariance matrix constructed in the aforementioned steps can be used to characterize the shape features of the neighborhood by analyzing the eigenvalue distribution of the covariance matrix.
[0072] In one implementation, the three eigenvalues of the covariance matrix are first sorted from largest to smallest, and an index reflecting the strength of local geometric features is constructed using the ratios between the eigenvalues. For example, when the neighborhood points are mainly linearly distributed, the largest eigenvalue is much larger than the other two eigenvalues; when the neighborhood points are mainly planarly distributed, the two larger eigenvalues are significantly larger than the smallest eigenvalue; and if the three eigenvalues are similar, it often corresponds to a blocky local point cloud without obvious structural features. Based on the proportional relationships between the eigenvalues, various characteristic indices reflecting the degree of sharpness can be designed to characterize whether the local area contains significant discontinuous structures, thereby determining whether the neighborhood of the target point contains edges, abrupt changes, or complex structures.
[0073] In another implementation, weight values can be constructed by combining geometric structural indicators such as local curvature, point density gradient, and normal change rate. For example, the angle difference distribution between the initial normal vector of the target point and the initial normal vector of the neighboring points can be used to reflect the severity of the normal change in the neighborhood by statistically analyzing the variance or kurtosis of the angle difference, thereby indirectly characterizing whether the target point is at a characteristic position.
[0074] It should be noted that the present invention does not limit the specific construction method of the weight values; any method that can stably reflect the strength of the target point's characteristics based on the neighborhood geometric features can be used.
[0075] In another implementation, a continuous weight distribution can be directly constructed using kernel density estimation, thereby avoiding the statistical bias introduced by the histogram bucketing method. The weight distribution obtained through smoothing better reflects the concentration of weight values corresponding to different structural regions in the point cloud, making subsequent threshold determination more stable and reliable.
[0076] Here, based on the smoothed weight distribution curve described above, a preset weight threshold required for feature point determination can be determined. In a preferred embodiment, the threshold can be determined by analyzing the peak structure of the smoothed distribution function. For example, in the weight distribution curve, non-feature points usually dominate, and their weight values are concentrated in the peak region. Feature points, due to abrupt changes in local geometric structure, often have higher weight values, appearing as secondary peaks or long-tailed regions after the main peak. Therefore, the threshold can be selected at the point after the first main peak of the weight distribution function, where the curve begins to gradually flatten. This point is usually located where the slope decreases significantly to the right of the main peak, effectively separating ordinary non-feature points from points with obvious geometric features.
[0077] In another embodiment, the threshold can be determined by statistical methods, such as calculating the mean and standard deviation of the weight values, and using the mean plus a certain number of times the standard deviation as the threshold, thereby filtering out points with weights greater than the threshold as feature points.
[0078] Through the above steps, weight values are calculated based on the geometric distribution characteristics of the target point and its neighboring points. Points with weight values greater than a preset weight threshold are selected as feature points, which can effectively extract regions in the point cloud where local geometric structures undergo abrupt changes. In complex scenes such as edges, corners, intersecting planes, or curved transition regions, this step can accurately identify structurally sensitive points, providing accurate structural guidance for subsequent fine-grained normal estimation based on local subspace clustering, effectively improving the accuracy and robustness of the overall normal estimation.
[0079] S103. For each feature point, perform low-dimensional subspace clustering on the neighborhood of the feature point corresponding to that feature point to obtain multiple subclass point clouds representing different local geometric structures.
[0080] In practice, after the feature points are extracted, in order to further characterize the multiple local geometric structures that may exist in the neighborhood of the feature points, it is necessary to perform low-dimensional subspace clustering on the neighborhood of each feature point to obtain multiple subclass point clouds representing different local geometric structures.
[0081] Specifically, for any feature point, a feature point neighborhood is first constructed based on the aforementioned local neighborhood. The feature point neighborhood may include several neighborhood points centered on the feature point, within a preset neighborhood radius, or within the range of K nearest neighbors.
[0082] In one implementation, to enhance the sensitivity of the feature point neighborhood to geometric structure, the neighborhood scale can be appropriately reduced when constructing the feature point neighborhood, so that the neighborhood mainly covers the points located near the feature point and with the closest geometric relationship to the feature point; in another implementation, the size of the feature point neighborhood can also be adaptively adjusted according to the weight value of the feature point and the local point density, so that in sharp edges or complex intersection regions, the neighborhood can cover enough structural information without excessively introducing irrelevant distant endpoints.
[0083] Here, after constructing the neighborhood of the feature points, it is necessary to uniformly represent the geometric and normal information in the neighborhood into a data format suitable for subspace clustering.
[0084] In one preferred embodiment, the three-dimensional coordinates of each point in the neighborhood of a feature point can be concatenated with the initial normal vector corresponding to that point to construct a high-dimensional feature vector. The feature vectors of all neighborhood points can then be arranged in columns or rows to form a data matrix. In another embodiment, the data matrix can be constructed using only coordinate information, and the normal vector can be used as prior information to constrain the subsequent clustering objective function, thereby introducing local geometric orientation information while maintaining model simplicity. Furthermore, auxiliary attributes such as point strength, curvature, and point density can be added to enrich the feature expression, enabling the low-dimensional subspace clustering algorithm to distinguish point sets belonging to different local structures in a higher-dimensional feature space.
[0085] It should be noted that the present invention does not limit the specific construction method of the data matrix. As long as it can effectively reflect the differences in spatial location and local geometry of the neighborhood points, it can be used for subsequent low-dimensional subspace clustering.
[0086] In one embodiment of the present invention, for the above data matrix, the neighborhood of feature points is decomposed using the idea of low-rank subspace clustering. It is believed that the point cloud in the neighborhood of feature points can be regarded as a combination of several low-dimensional linear subspaces, and each subspace corresponds to a local geometric structure, such as a plane, a segment of an approximate planar surface, or a linear structure.
[0087] To this end, a low-rank representation model with prior constraints can be constructed. By solving the representation coefficient matrix, each neighborhood point can be represented by a linear combination of other points in the same subspace. By applying low-rank and sparsity constraints to the representation coefficient matrix, points belonging to the same local subspace have a strong mutual representation ability, while points in different subspaces exhibit weak correlation.
[0088] In a specific implementation example, algorithms such as low-rank representation (LRR), sparse subspace clustering (SSC), or robust subspace clustering can be used as specific implementations of low-dimensional subspace clustering. At the same time, different prior weights can be assigned to different point pairs by combining the aforementioned feature point weights, inter-point distances, or normal differences. By introducing a weight matrix into the objective function, intra-class redundancy relationships can be suppressed, and inter-class discriminability can be enhanced, so that the clustering results are more consistent with the distribution of the real geometric structure.
[0089] Furthermore, after solving for the coefficient matrix representing the relationship between points, a similarity matrix can be constructed based on the coefficient matrix, and then spectral clustering or other graph partitioning-based clustering methods can be performed to divide the neighborhood of feature points into multiple subclass point clouds.
[0090] In a preferred embodiment, the coefficient matrix is symmetricized and normalized to be regarded as a weighted adjacency matrix of the graph. Then, the Laplacian matrix of the graph is calculated, and the Laplacian matrix is subjected to eigenvalue decomposition. Several eigenvectors corresponding to the smallest eigenvalues are selected, and the feature space composed of these eigenvectors is used as the embedding space. K-means or other clustering algorithms are then performed in the embedding space to obtain the class labels of each point in the neighborhood.
[0091] In another implementation, clustering methods based on density peaks, graph segmentation, or Gaussian mixture models can be used instead of spectral clustering, as long as the neighborhood of feature points can be divided into multiple sub-classes of point clouds that are locally geometrically consistent based on the similarity matrix or data features.
[0092] Thus, through the above steps, for each feature point, low-dimensional subspace clustering is performed on the neighborhood of that feature point. This automatically identifies and separates multiple subclass point clouds representing different local geometric structures within its neighborhood, allowing various geometric structures that were originally mixed in the same neighborhood to be broken down into several relatively pure substructures. Therefore, when performing local fitting and normal re-estimation on the feature points subsequently, covariance construction and plane fitting can be performed only based on the target subclass point cloud with the most consistent geometric properties with the feature points. This significantly reduces the interference from other structural components, helps maintain the correct direction and sharp features of the normals at edges, ridges, and intersection regions, and greatly improves the accuracy and robustness of the point cloud normal estimation method of this invention.
[0093] As one possible implementation, a low-rank representation objective function with a weight matrix is constructed as the optimization objective function; the coefficient matrix representing the relationship between points is weighted element-wise according to the weight matrix to suppress intra-class redundant relationships and highlight inter-class differences; when solving the optimization objective function, smaller weights are assigned to point pairs belonging to the same potential subspace, and larger weights are assigned to point pairs belonging to different potential subspaces, so as to obtain the optimal coefficient matrix with intra-class sparsity and inter-class relative enhancement characteristics.
[0094] In practice, in order to make fuller use of the prior geometric relationships between points in the low-dimensional subspace clustering process of the feature point neighborhood, suppress redundant representations within the same local structure, and highlight the differences between different local structures, a weight matrix is introduced to construct a low-rank representation objective function with weight constraints for the coefficient matrix used to represent the relationship between points. This function serves as the optimization objective function to be solved when partitioning the feature point neighborhood subspace.
[0095] Specifically, the feature vectors of each point in the neighborhood of the feature point are first constructed into a data matrix by column or row. In the traditional low-rank representation model, the reconstruction error between the data matrix and its self-expression form is usually minimized, and low-rank constraints or sparsity constraints are imposed on the representation coefficient matrix to characterize the decomposition structure of the data in several potential subspaces.
[0096] In this invention, a weight matrix is further introduced, and each element of the weight matrix is used to characterize the relative importance between any two points in terms of geometric structure, spatial position or normal direction, thereby forming a low-rank representation of the objective function with a weight matrix.
[0097] Here, the objective function can be implemented in various forms, such as by weighting the reconstruction error term, or by weighting the regularization term of the coefficient matrix, or by simultaneously applying weights to the reconstruction error and the regularization term, so as to impose differentiated constraints on the representation relationship of different point pairs. This invention does not limit the specific function form.
[0098] In the aforementioned weighted low-rank representation of the objective function, the introduction of the weight matrix makes the constraint on the coefficient matrix no longer uniform, but closely related to the geometric relationship between point pairs. Therefore, in its specific implementation, this invention performs element-wise weighting on the coefficient matrix representing the relationship between points based on the weight matrix, so that the coefficients corresponding to elements with smaller weights have a weaker influence on the objective function, while the coefficients corresponding to elements with larger weights have a stronger influence on the objective function.
[0099] In one implementation, the values of each element of the weight matrix can be determined comprehensively based on factors such as the Euclidean distance between point pairs, the angle between normals, the difference in curvature, or whether they are neighbors of high-weight feature points. For example, relatively small weights are assigned to point pairs that are spatially close, have similar normals, and have relatively consistent geometric structures, while larger weights are assigned to point pairs that are spatially far apart, have large differences in normals, or have significantly different geometric structures.
[0100] By using this element-wise weighting method, on the one hand, excessive redundant connections can be suppressed within the same potential subspace, avoiding the formation of overly dense connection structures in the coefficient matrix within a class; on the other hand, it can strengthen the distinguishing role of point pairs belonging to different potential subspaces in optimizing the objective function, making the boundaries between different subspaces clearer in subsequent similarity matrix construction and spectral clustering, which facilitates stable and accurate subspace partitioning.
[0101] In another implementation, feature point weights can be combined to assign additional adjustment coefficients to point pairs containing feature points, so that the coefficients related to the feature points have higher or lower sensitivity in the objective function, thereby further highlighting the geometric features of sharp structural regions.
[0102] When solving the above weighted low-rank representation objective function, this invention utilizes the prior geometric information contained in the weight matrix to subject point pairs belonging to the same potential subspace and point pairs belonging to different potential subspaces to differentiated constraints during the optimization process.
[0103] Specifically, during the solution process, point pairs that are determined to be more likely to belong to the same potential subspace are assigned smaller weights, so that the coefficients corresponding to such point pairs are penalized relatively less in the objective function. This encourages the formation of necessary but not excessive representational relationships between these points, thus maintaining the rationality and sparsity of intra-class connections. At the same time, point pairs that are determined to be more likely to belong to different potential subspaces are assigned larger weights, so that attempting to establish large representational coefficients between these point pairs would significantly increase the cost of the objective function. This spontaneously suppresses erroneous connections across subspaces during the optimization process, keeping the representational relationships between different subspaces relatively weak and sparse.
[0104] Through such differential constraints, the optimal coefficient matrix obtained in the final solution is relatively sparse within a class, removing redundant connections but still retaining key structural information, while relatively enhancing the distinguishability between classes, exhibiting obvious block diagonal characteristics or a structure close to block diagonal, which is beneficial for clearly distinguishing each local low-dimensional subspace when constructing the similarity matrix and performing spectral clustering in the future.
[0105] In another implementation, to further improve the solution efficiency and stability, for the weighted low-rank representation objective function, the alternating direction multiplier method, augmented Lagrange multiplier method, or other convex optimization frameworks can be used to iteratively update the coefficient matrix, auxiliary variables, and Lagrange multipliers. In each iteration, the update step of the coefficient matrix is weighted element-wise in conjunction with the current weight matrix, ensuring that the weight information is fully reflected in every update stage of the entire optimization process, thereby accelerating the convergence of the coefficient matrix towards the optimal solution with intra-class sparsity and inter-class relative enhancement characteristics.
[0106] Preferably, the objective function can be constructed in the following form:
[0107]
[0108] Where β represents the coefficient, and Ω is a weight matrix whose elements satisfy 0 ≤ Ω i,j ≤1. It serves as prior knowledge, used to adjust the strength of interactions between data points. P Ω ( Z ) is an element-wise mapping, defined as: [ P Ω ( Z )] i,j =Ω i,j Z i,j That is, for each element Z of the coefficient matrix Z ij Multiply by the corresponding weight Ω ij This generates a weighted matrix. Ω reflects the similarity or correlation between data points; within-class samples (same category): Ω i,j Smaller value indicates suppression of intra-class similarity (avoiding overfitting of intra-class noise), inter-class samples (different categories): Ω i,j A larger value indicates an enhanced effect on inter-class differences (facilitating clustering). Matrix X is defined as... ,in Represents the nth neighbor of point i. , , , Point coordinates , , Let this be the initial normal vector for that point.
[0109] In this way, the present invention constructs a low-rank representation objective function with a weight matrix, and uses the weight matrix to weight the coefficient matrix element by element during the solution process. This results in point pairs belonging to the same potential subspace and point pairs belonging to different potential subspaces being subject to different levels of constraints during optimization, thereby obtaining an optimal coefficient matrix that better conforms to the distribution of the real geometric structure. This provides a reliable similarity basis for subsequent high-quality subspace clustering and normal optimization.
[0110] As another possible implementation, in the initial case, the points in the neighborhood of the feature point are divided into two sub-class point clouds; for each sub-class point cloud, a plane is fitted, and the average residual from the sub-class point cloud to the fitted plane is calculated; when the average residual of a certain sub-class point cloud is greater than a preset residual threshold, the sub-class point cloud is further divided into two sub-class point clouds; the steps of plane fitting and residual judgment are repeated until the average residual of all sub-class point clouds is less than the residual threshold, thereby adaptively determining the number of sub-classes.
[0111] In practical implementation, in order to adaptively determine the number of local subspaces in the neighborhood of feature points and avoid the uncertainty caused by artificially setting the number of subclasses in the low-dimensional subspace clustering process, this invention further introduces a recursive partitioning strategy based on plane fitting residuals after constructing the similarity matrix and completing the initial clustering, so as to gradually refine the segmentation of the point cloud in the neighborhood of feature points.
[0112] Specifically, for any feature point, after obtaining its corresponding feature point neighborhood and the initial clustering result based on the similarity matrix, all points in the feature point neighborhood can be initially divided into two sub-class point clouds, that is, the neighborhood is regarded as composed of two candidate local geometric structures.
[0113] Here, the initial binary classification can directly use the two clustering results obtained from spectral clustering, or it can be performed using a simple binary clustering algorithm (such as K-means) in the similarity matrix or data feature space to ensure the simplicity and universality of the algorithm implementation. This invention does not limit the specific method of the initial binary partitioning, as long as it can divide the points in the neighborhood of the feature points into two sub-class point clouds with relatively concentrated geometric features.
[0114] Furthermore, after completing the initial binary partitioning, it is necessary to evaluate the local geometric structure of each subclass point cloud to determine whether the subclass point cloud can be approximated by a single plane or still contains multiple unseparated local substructures.
[0115] Therefore, this invention performs a plane fitting operation on each subclass of point cloud. Specifically, a least-squares-based plane fitting method can be used. This involves calculating the centroid of all points in the subclass point cloud, constructing a covariance matrix using the mean-reduced coordinates, and then obtaining the eigenvector corresponding to the smallest eigenvalue through eigenvalue decomposition as the normal vector of the fitting plane. Simultaneously, this normal vector and the centroid are used to determine the equation of the fitting plane. Subsequently, the distance from each point in the subclass point cloud to the fitting plane is calculated, and the average of all distances is taken to obtain the average residual from the subclass point cloud to the fitting plane. The magnitude of the average residual reflects the degree to which the subclass point cloud deviates from a single planar model. A smaller average residual usually indicates that the subclass point cloud can be well approximated by a single plane, while a larger average residual suggests the possible existence of multiple interwoven local planar or surface structures, necessitating further subdivision.
[0116] After obtaining the average residual corresponding to each subclass of point cloud, this invention pre-sets a residual threshold as the basis for determining whether the current subclass of point cloud needs to be further subdivided. The residual threshold can be determined comprehensively based on factors such as the requirements for normal estimation accuracy, point cloud noise level, and local structural complexity in specific applications. For example, it can be set to the order of several times the point cloud sampling interval through experimental statistics or experience, or it can be dynamically adjusted according to different scenarios.
[0117] In practical implementation, for any subclass of point cloud, when the average residual to the fitting plane is less than or equal to a preset residual threshold, the internal geometric structure of the subclass of point cloud can be considered relatively consistent, and the whole can be well represented by a single plane without further subdivision. Conversely, when the average residual of a certain subclass of point cloud is greater than the residual threshold, it is considered that there are still multiple undifferentiated local geometric structures mixed in the subclass of point cloud, such as two or more intersecting planes, zigzag structures, or mixed structures of curved and planar surfaces. In this case, the subclass of point cloud needs to be further refined.
[0118] The specific operation is as follows: For the subclass point cloud whose average residual exceeds the threshold, the point cloud in it is divided into two new subclass point clouds. The aforementioned binary clustering method based on the similarity matrix can be used again, or the similarity can be reconstructed within the subclass point cloud and local spectral clustering can be performed to obtain a new binary result.
[0119] After further bisecting the subclass point cloud, this invention continues to repeat the above-mentioned plane fitting and average residual calculation process for each newly generated subclass point cloud, and determines whether further subdivision is needed based on the same preset residual threshold. That is, for each new subclass point cloud, a local plane is fitted, and the average residual from the subclass point cloud to the fitted plane is calculated. When the average residual is still greater than the preset residual threshold, the subclass point cloud is further divided into two smaller subclass point clouds, and plane fitting and residual judgment are continued for the newly generated subclass point clouds. When the average residual of a certain subclass point cloud no longer exceeds the preset residual threshold, it is considered that the subclass point cloud has achieved sufficient geometric consistency, and further subdivision of the subclass point cloud can be stopped.
[0120] In this way, through the above recursive process, the point cloud in the neighborhood of the original feature point will be continuously refined and segmented into multiple geometrically pure sub-class point clouds. The entire process continues until the average residual of all currently existing sub-class point clouds is no greater than the preset residual threshold. At this point, each sub-class point cloud can be well fitted by a single planar model, thus naturally completing the adaptive determination of the number of local geometric structures in the neighborhood of the feature point.
[0121] S104. Determine the target subclass point cloud to which the feature point belongs in the neighborhood of the feature point, use the points in the target subclass point cloud to perform local fitting on the neighborhood of the feature point, and re-estimate the initial normal vector based on the fitting result as the optimized normal vector of the feature point.
[0122] In practice, after completing the low-dimensional subspace clustering within the neighborhood of the feature point and obtaining multiple subclass point clouds representing different local geometric structures, it is necessary to further determine the target subclass point cloud to which the feature point belongs within the neighborhood of the feature point, and on this basis, perform local fitting on the neighborhood of the feature point to finely re-evaluate the initial normal vector.
[0123] Specifically, for any feature point, the subclass label information obtained from the aforementioned clustering can be used to determine the category of the feature point in the clustering process. For example, in spectral clustering or low-rank subspace clustering models, the feature point participates in clustering as both a data point and the center point of the neighborhood structure. By reading the class label corresponding to the feature point in the clustering results, the subclass point cloud corresponding to that class can be directly determined as the target subclass point cloud.
[0124] In some implementation scenarios, to enhance robustness, the class distribution of several neighboring points around a feature point can be considered. For example, the frequency of the subclass to which several nearest neighbors of a feature point belong can be counted, and the subclass with the highest frequency can be taken as the target subclass point cloud of the feature point, thereby reducing the impact of individual clustering errors on the feature point assignment results.
[0125] In another implementation, to improve the selection accuracy of target subclass point clouds in more complex or ambiguous structural regions, an auxiliary judgment mechanism based on local fitting error can be introduced. Specifically, a local planar model or a local surface model can be fitted to each subclass point cloud in the neighborhood of the feature point, and the distance or residual metric from the feature point to each fitted model can be calculated as a quantitative indicator of the compatibility between the feature point and each subclass point cloud.
[0126] Here, for each subclass point cloud, a covariance matrix can be constructed using its internal point set. Eigenvalue decomposition yields the local normal vector and fitting plane corresponding to that subclass, and the projection position of the feature point on this plane is calculated, thus obtaining the normal distance from the feature point to the plane. Alternatively, weighted fitting or robust fitting methods can be used to reduce the influence of local outliers on the plane parameters. Subsequently, the distances from the feature points to the fitting planes of each subclass are compared, and the subclass point cloud belonging to the plane with the smallest distance is determined as the target subclass point cloud. This selection method based on geometric fitting error effectively avoids misclassification of feature points due to unclear cluster boundaries, and is particularly suitable for situations where feature points are located at the intersection of two structures or where the clustering results contain locally ambiguous regions.
[0127] Furthermore, after determining the target subclass point cloud to which the feature point belongs, the present invention performs local fitting on the neighborhood of the feature point based on the points within the target subclass point cloud, thereby constructing a purer local geometric model around the feature point.
[0128] Specifically, instead of using the entire set of points in the neighborhood of the feature points, only points within the target subclass point cloud are selected as the points participating in the local fitting, and the local covariance matrix is reconstructed based on these points.
[0129] In a preferred implementation, the centroid coordinates of all points in the target subclass point cloud can be calculated first, and the centroid coordinates of each point are subtracted from the coordinates to achieve mean removal. Then, the mean-removed coordinate vectors are used to construct a three-dimensional covariance matrix. Unlike the initial normal estimation stage, the point set participating in the covariance construction has now undergone subspace clustering and subclass separation, resulting in a more homogeneous internal geometric structure that is highly consistent with the local structure corresponding to the feature points. Thus, the covariance matrix more accurately reflects the true shape of the structure where the feature points are located.
[0130] In another implementation, distance weights, curvature weights, or feature point weights can be introduced during the covariance construction process to assign higher weights to points that are closer to the feature points or whose geometric properties are closer to the feature points, so that the fitting results are closer to the local details near the feature points.
[0131] After constructing the local covariance matrix based on the target subclass point cloud, eigenvalue decomposition is performed on the covariance matrix to obtain three sets of eigenvectors and their corresponding eigenvalues. The eigenvector corresponding to the smallest eigenvalue is then used as the local normal estimate of the feature point. Since the point set involved in the calculation comes only from the subclass point cloud with the same geometric properties as the feature point, and the subclass point cloud already has a high degree of geometric consistency due to subspace clustering and recursive partitioning of the plane residual, the eigenvector corresponding to the smallest eigenvalue can more accurately characterize the true normal direction of the local structure where the feature point is located.
[0132] If necessary, the re-estimated normal vector can be compared with the initial normal vector, and certain smoothing or constraint strategies can be adopted. For example, interpolation can be used when the angle between the two is too large to avoid excessively drastic normal vector jumps affecting the continuity of the overall normal field. Finally, the normal vector obtained based on the local fitting results of the target subclass point cloud is used as the optimization result of the initial normal vector, and is denoted as the optimized normal vector of the feature point.
[0133] In another implementation, to further improve the stability and global consistency of feature point normal optimization, after obtaining the optimized normal vectors of all feature points, an adjacency graph can be established at the feature point level, and the normals can be post-processed and optimized globally or locally. For example, based on graph smoothing, Markov random fields, or energy minimization methods, the normal directions between adjacent feature points can be moderately smoothed, eliminating local noise and isolated anomaly estimations while minimizing the excessive smoothing of normals at edges and abrupt changes. Simultaneously, the orientation of the normals can be unified by combining the viewpoint orientation, ensuring that the normal field of the entire point cloud maintains a consistent orientation, facilitating subsequent rendering, reconstruction, or registration tasks.
[0134] See Figure 2 The diagram shows a flowchart of another point cloud normal estimation method based on local subspace clustering provided in this disclosure. The method includes steps S201-S202, wherein:
[0135] S201. For a non-feature point, select one or more non-noise points that are closest to it from the corresponding local neighborhood, and directly assign the optimized normal vector of the non-noise point to the non-feature point, or perform a weighted average of the optimized normal vectors of multiple neighboring non-noise points to obtain the normal vector of the non-feature point.
[0136] S202. For the noise point, select the non-noise point that has the closest Euclidean distance to the noise point, and assign the optimized normal vector of the non-noise point to the noise point.
[0137] In a preferred embodiment of the present invention, after optimizing the normal vector estimation of the feature points, it is also necessary to propagate the normal information to the remaining non-feature points in the point cloud and the points previously marked as noise, thereby obtaining the complete normal field of the entire point cloud. Since non-feature points are usually located in regions with relatively smooth local geometry, their normal directions have strong consistency with the normal directions of nearby feature points or other non-noise points. Therefore, the present invention determines the normal vector of non-feature points through a method based on the normal diffusion of neighboring non-noise points.
[0138] Specifically, for any non-feature point, several non-noise points with the closest Euclidean distance to it are first selected within its corresponding local neighborhood. These non-noise points can include feature points whose optimized normal vectors have been estimated, or ordinary points located within a smooth region that have been retained after initial normal vector estimation and simple consistency checks. In a simplified implementation, the single non-noise point closest to the non-feature point can be directly selected, and its optimized normal vector can be directly assigned to the non-feature point. It is assumed that the non-feature point shares the same geometric structure with its nearest neighbor non-noise point within the local scale, thereby achieving rapid inheritance of the normal vector.
[0139] In another implementation, to improve the stability of normal propagation and reduce the impact of random errors from individual neighboring points, this invention preferably selects multiple nearest-neighbor non-noise points within the local neighborhood and performs a weighted average of the optimized normal vectors of these neighboring non-noise points to obtain the normal vector of the non-feature point. Specifically, for each non-feature point, it searches for several non-noise points in its neighborhood with the closest Euclidean distance, such as K nearest neighbors, and assigns a weight coefficient to each non-noise point. This weight coefficient can be set according to the inverse relationship between the distance to the non-feature point and the distance itself (i.e., the closer the distance, the greater the weight), or it can be determined by combining information such as the normal angle, point density, and curvature to enhance the influence of geometrically more similar points. Then, the optimized normal vectors of these non-noise points are linearly combined according to the weight coefficients, and the combination result is normalized if necessary to obtain a normal vector of unit length, which serves as the final normal estimate for the non-feature point.
[0140] For points marked as noise in the preprocessing stage, their coordinate positions may be subject to significant uncertainty due to factors such as measurement errors, occlusion, and poor reflection. If they are directly involved in covariance matrix construction and subspace clustering, they can easily interfere with the judgment of local geometric structure. Therefore, this invention removes them from the main process and does not involve them in feature point recognition and subclass point cloud division.
[0141] However, to maintain the integrity of point cloud data in subsequent applications, it is still desirable to assign a reasonable normal estimate to these noisy points in certain scenarios so that they do not produce obvious broken surfaces or black hole regions during rendering or display. Therefore, this invention, after estimating the normals of non-noisy points, assigns normals to noisy points using a simple and robust nearest neighbor inheritance strategy.
[0142] Specifically, for each noise point, the nearest non-noise point in the global point cloud or local neighborhood is searched, and the optimized normal vector of the non-noise point is directly assigned to the noise point. Since the spatial location of a noise point is usually close to the real surface, its nearest neighbor non-noise point is mostly located on the corresponding real surface. Therefore, it is geometrically reasonable to use the normal vector of the nearest neighbor non-noise point as the normal estimate of the noise point, while avoiding the instability caused by the noise point itself participating in complex geometric calculations.
[0143] In another implementation, for areas with a large number of noise points or a relatively concentrated distribution, a simple local smoothing constraint can be added on the basis of nearest neighbor inheritance. For example, for a certain noise point, not only can the single non-noise point with the closest Euclidean distance be considered, but also a certain number of nearest neighbor non-noise points can be selected, and their optimized normals can be weighted and averaged before being assigned to the noise point, thereby reducing the influence of possible anomalies in the normals of a single neighbor point on the final normal of the noise point.
[0144] In addition, after completing the normal diffusion of non-feature points and noise points, the global normal field can be lightly post-processed according to the specific application needs, such as eliminating obvious local orientation flips and unifying the normal orientation, so as to ensure the coherence and visual consistency of the entire point cloud normal field.
[0145] The effectiveness of the point cloud normal vector estimation method provided in this application can be seen in [reference needed]. Figure 3 As shown, Figure 3 A comparative schematic diagram of the point cloud normal estimation effect provided by the embodiments of this disclosure is shown.
[0146] This disclosure provides a point cloud normal estimation method based on local subspace clustering. By introducing a feature point weight evaluation mechanism based on covariance features and geometric structure indices within the local neighborhood, high-confidence feature points are selected. Low-rank subspace clustering with prior weight constraints is then used in the feature point neighborhood to perform multi-class division and plane fitting on the local point cloud, thereby re-estimating the feature point normals at the subclass level. Simultaneously, by combining noise point filtering and a normal diffusion strategy based on neighboring non-noise points, the method can more accurately characterize the local geometric structure in complex scenarios with noise, multi-structure aliasing, and non-uniform sampling, significantly improving the accuracy and stability of point cloud normal estimation and better preserving the model's sharp features and edge details.
[0147] Those skilled in the art will understand that, in the above-described method of the specific implementation, the order in which each step is written does not imply a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of each step should be determined by its function and possible internal logic.
[0148] Based on the same inventive concept, this disclosure also provides a point cloud normal estimation device based on local subspace clustering, which corresponds to the point cloud normal estimation method based on local subspace clustering. Since the principle of the device in this disclosure for solving the problem is similar to the point cloud normal estimation method based on local subspace clustering described above, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be described again.
[0149] Please see Figure 4 , Figure 4 This is a schematic diagram of a point cloud normal estimation device based on local subspace clustering, provided as an embodiment of this disclosure. Figure 4 As shown in the figure, the point cloud normal estimation device 400 based on local subspace clustering provided in this embodiment includes:
[0150] The initial normal vector determination module 410 is used to construct a local neighborhood for each target point in the 3D point cloud, filter out noise points in the neighborhood points and construct the corresponding covariance matrix, and select the eigenvector of the covariance matrix with the smallest eigenvalue after eigenvalue decomposition as the initial normal vector of the target point.
[0151] The feature point filtering module 420 is used to calculate the weight value representing the confidence level of the target point as a feature point based on the geometric distribution characteristics of the target point and the corresponding neighboring points, and select the feature points whose weight value is greater than the preset weight threshold according to the preset weight threshold.
[0152] The subclassing module 430 is used to perform low-dimensional subspace clustering on the neighborhood of each feature point to obtain multiple subclass point clouds representing different local geometric structures.
[0153] The normal vector optimization module 440 is used to determine the target subclass point cloud to which the feature point belongs in the neighborhood of the feature point, use the points in the target subclass point cloud to perform local fitting on the neighborhood of the feature point, and re-estimate the initial normal vector based on the fitting result as the optimized normal vector of the feature point.
[0154] The processing flow of each module in the device and the interaction flow between each module can be referred to the relevant descriptions in the above method embodiments, and will not be detailed here.
[0155] This disclosure provides a point cloud normal estimation device based on local subspace clustering. By introducing a feature point weight evaluation mechanism based on covariance features and geometric structure indices in the local neighborhood, high-confidence feature points are selected. Low-rank subspace clustering with prior weight constraints is used in the neighborhood of the feature points to perform multi-class division and plane fitting on the local point cloud, thereby re-estimating the normal of the feature points at the subclass level. At the same time, by combining noise point filtering and a normal diffusion strategy based on neighboring non-noise points, the method can more accurately characterize the local geometric structure in complex scenarios with noise, multi-structure aliasing, and non-uniform sampling, significantly improving the accuracy and stability of point cloud normal estimation, and better preserving the sharp features and edge details of the model.
[0156] Corresponding to Figure 1 and Figure 2 The present disclosure also provides an electronic device 500, such as a point cloud normal estimation method based on local subspace clustering. Figure 5 The diagram shown is a structural schematic of an electronic device 500 provided in an embodiment of this disclosure, including:
[0157] Processor 51, memory 52, and bus 53; memory 52 is used to store execution instructions, including main memory 521 and external memory 522; the main memory 521, also called internal memory, is used to temporarily store the computational data in processor 51, as well as the data exchanged with external memory 522 such as hard disk. Processor 51 exchanges data with external memory 522 through main memory 521. When the electronic device 500 is running, processor 51 and memory 52 communicate through bus 53, enabling processor 51 to execute... Figure 1 and Figure 2 The steps of the point cloud normal estimation method based on local subspace clustering.
[0158] This disclosure also provides a computer-readable storage medium storing a computer program. When a processor executes the computer program, it performs the steps of the point cloud normal estimation method based on local subspace clustering described in the above method embodiments. The storage medium can be volatile or non-volatile computer-readable storage.
[0159] This disclosure also provides a computer program product, which includes computer instructions. When the computer instructions are executed by a processor, they can perform the steps of the point cloud normal estimation method based on local subspace clustering described in the above method embodiments. For details, please refer to the above method embodiments, which will not be repeated here.
[0160] The aforementioned computer program product can be implemented through hardware, software, or a combination thereof. In one optional embodiment, the computer program product is specifically embodied in a computer storage medium; in another optional embodiment, the computer program product is specifically embodied in a software product, such as a software development kit (SDK), etc.
[0161] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the device described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here. In the several embodiments provided in this disclosure, it should be understood that the disclosed device and method can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. Furthermore, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Another point is that the displayed or discussed mutual coupling or direct coupling or communication connection may be through some communication interfaces; the indirect coupling or communication connection of devices or units may be electrical, mechanical, or other forms.
[0162] In addition, the functional units in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0163] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a processor-executable, non-volatile, computer-readable storage medium. Based on this understanding, the technical solution of this disclosure, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this disclosure. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0164] Finally, it should be noted that the above-described embodiments are merely specific implementations of this disclosure, used to illustrate the technical solutions of this disclosure, and not to limit it. The protection scope of this disclosure is not limited thereto. Although this disclosure has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can still modify or easily conceive of changes to the technical solutions described in the foregoing embodiments, or make equivalent substitutions for some of the technical features, within the scope of the technology disclosed in this disclosure. Such modifications, changes, or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this disclosure, and should all be covered within the protection scope of this disclosure. Therefore, the protection scope of this disclosure should be determined by the protection scope of the claims.
Claims
1. A point cloud normal estimation method based on local subspace clustering, characterized in that, include: For each target point in the 3D point cloud, a local neighborhood is constructed, noise points in the neighborhood are filtered out and the corresponding covariance matrix is constructed. The eigenvector of the covariance matrix with the smallest eigenvalue after eigenvalue decomposition is selected as the initial normal vector of the target point. Based on the geometric distribution characteristics of the target point and the corresponding neighborhood points, a weight value representing the confidence level of the target point as a feature point is calculated, and feature points with weight values greater than the preset weight threshold are selected according to a preset weight threshold. For each feature point, low-dimensional subspace clustering is performed on the neighborhood of the feature point to obtain multiple subclass point clouds representing different local geometric structures. Specifically, for each feature point, a data matrix containing the coordinates of the neighborhood points corresponding to the feature point and the initial normal vector is constructed. A low-rank subspace clustering algorithm is performed on the data matrix to represent the neighborhood points as a combination of multiple low-rank linear subspaces. By solving the optimization objective function with prior weight constraints, a coefficient matrix representing the relationship between points is obtained, and a similarity matrix is constructed based on the coefficient matrix. Perform spectral clustering on the similarity matrix to divide the neighborhood of the feature points into multiple subclass point clouds, each of which corresponds to a local low-dimensional subspace. The target subclass point cloud to which the feature point belongs within its neighborhood is determined. The neighborhood of the feature point is then locally fitted using points within the target subclass point cloud. Based on the fitting result, the initial normal vector is re-estimated as the optimized normal vector of the feature point. Specifically, for each feature point, a corresponding local plane model is fitted using the point set of each subclass point cloud in the feature point's neighborhood. The distance from the feature point to each local plane model is calculated, and the subclass point cloud corresponding to the plane with the smallest distance is determined as the target subclass point cloud to which the feature point belongs. The covariance matrix is reconstructed based on the points in the target subclass point cloud and eigenvalue decomposition is performed to obtain the re-estimated normal vector, which serves as the optimized normal vector for the feature points.
2. The method according to claim 1, characterized in that, Based on the geometric distribution characteristics of the target point and its corresponding neighboring points, a weight value representing the confidence level of the target point as a feature point is calculated, and feature points with weight values greater than a preset weight threshold are selected according to a preset weight threshold. Specifically, this includes: Using the eigenvalues of the covariance matrix in the local neighborhood corresponding to the target point and a preset geometric structure index, the weight value of the target point is constructed to characterize the confidence that the target point is located in a sharp feature region or an edge region. The weight values of all points in the three-dimensional point cloud are statistically analyzed to obtain a weight distribution function, and the weight distribution function is smoothed to eliminate local oscillations. The weight value corresponding to the flattening point after the first main peak in the smoothed weight distribution function is determined as the preset weight threshold, and the point whose weight value is greater than the preset weight threshold is determined as the feature point.
3. The method according to claim 1, characterized in that, By solving the objective function with prior weight constraints, a coefficient matrix representing the correlation between points is obtained, specifically including: A low-rank representation objective function with a weight matrix is constructed as the optimization objective function; The coefficient matrix representing the relationship between points is weighted element-wise according to the weight matrix to suppress redundant relationships within a class and highlight differences between classes; When solving the optimization objective function, smaller weights are assigned to point pairs belonging to the same potential subspace, and larger weights are assigned to point pairs belonging to different potential subspaces, in order to obtain an optimal coefficient matrix with intra-class sparsity and inter-class relative enhancement characteristics.
4. The method according to claim 1, characterized in that, Performing spectral clustering on the similarity matrix to divide the neighborhood of the feature points into multiple sub-class point clouds specifically includes: In the initial case, the points in the neighborhood of the feature point are divided into two subclass point clouds; For each obtained subclass point cloud fitting plane, calculate the average residual from the subclass point cloud to the fitting plane; When the average residual of a certain subclass point cloud is greater than a preset residual threshold, the subclass point cloud is further divided into two subclass point clouds; Repeat the steps of plane fitting and residual judgment until the average residual of all the subclass point clouds is less than the residual threshold, thereby adaptively determining the number of subclasses.
5. The method according to claim 1, characterized in that, The method further includes: For non-feature points, select one or more nearest non-noise points from the corresponding local neighborhood, and directly assign the optimized normal vector of the non-noise point to the non-feature point; or, perform a weighted average of the optimized normal vectors of multiple neighboring non-noise points to obtain the normal vector of the non-feature point. For the noise point, select the non-noise point that has the closest Euclidean distance to the noise point, and assign the optimized normal vector of the non-noise point to the noise point.
6. A point cloud normal estimation device based on local subspace clustering, characterized in that, include: The initial normal vector determination module is used to construct a local neighborhood for each target point in the 3D point cloud, filter out noise points in the neighborhood points and construct the corresponding covariance matrix, and select the eigenvector of the covariance matrix with the smallest eigenvalue after eigenvalue decomposition as the initial normal vector of the target point. The feature point filtering module is used to calculate the weight value representing the confidence level of the target point as a feature point based on the geometric distribution characteristics of the target point and the corresponding neighborhood points, and select the feature points whose weight value is greater than the preset weight threshold according to the preset weight threshold. The subclassing module is used to perform low-dimensional subspace clustering on the neighborhood of each feature point to obtain multiple subclass point clouds representing different local geometric structures. Specifically, for each feature point, a data matrix containing the coordinates of the neighborhood points and the initial normal vector is constructed; a low-rank subspace clustering algorithm is executed on the data matrix to represent the neighborhood points as a combination of multiple low-rank linear subspaces; by solving the optimization objective function with prior weight constraints, a coefficient matrix representing the relationship between points is obtained, and a similarity matrix is constructed based on the coefficient matrix. Perform spectral clustering on the similarity matrix to divide the neighborhood of the feature points into multiple subclass point clouds, each of which corresponds to a local low-dimensional subspace. The normal vector optimization module is used to determine the target subclass point cloud to which the feature point belongs within the neighborhood of the feature point, perform local fitting on the neighborhood of the feature point using the points in the target subclass point cloud, and re-estimate the initial normal vector based on the fitting result as the optimized normal vector of the feature point; specifically, for each feature point, the corresponding local plane model is fitted using the point set of each subclass point cloud in the neighborhood of the feature point; the distance from the feature point to each local plane model is calculated, and the subclass point cloud corresponding to the plane with the smallest distance is determined as the target subclass point cloud to which the feature point belongs; The covariance matrix is reconstructed based on the points in the target subclass point cloud and eigenvalue decomposition is performed to obtain the re-estimated normal vector, which serves as the optimized normal vector for the feature points.
7. An electronic device, characterized in that, include: The device includes a processor, a memory, and a bus. The memory stores machine-readable instructions executable by the processor. When the electronic device is running, the processor communicates with the memory via the bus. When the machine-readable instructions are executed by the processor, they perform the steps of the point cloud normal estimation method based on local subspace clustering as described in any one of claims 1 to 5.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, performs the steps of the point cloud normal estimation method based on local subspace clustering as described in any one of claims 1 to 5.