Point cloud classification methods, apparatus, computer equipment and storage media

By constructing a graph neural network by selecting boundary points in the point cloud, and combining the point cloud network for feature extraction and classification, the problem of high computational cost is solved, and the accuracy of 3D point cloud classification is improved.

CN116704254BActive Publication Date: 2026-04-03PING AN TECH (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-15
Publication Date
2026-04-03

AI Technical Summary

Technical Problem

Existing technologies that construct graph neural networks based on all point clouds result in high computational costs and cannot efficiently classify 3D point clouds.

Method used

By selecting boundary points in the point cloud, a graph neural network is constructed based on the boundary points and neighboring points, and then encoded. This network is combined with a pre-defined point cloud network and a classification network for feature extraction and classification, thereby reducing the computational load.

Benefits of technology

It improves the prediction accuracy of boundary classification, reduces the computational cost of graph neural networks, and increases the accuracy of classification results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116704254B_ABST
    Figure CN116704254B_ABST
Patent Text Reader

Abstract

This invention discloses a point cloud classification method. The method includes: acquiring a preset dataset comprising at least one point cloud; determining at least one boundary point based on all points in the point cloud; constructing a graph neural network based on the boundary point and all its neighboring points, and encoding the graph neural network to obtain an encoding vector; extracting features from all non-boundary points in the point cloud using the preset point cloud network to obtain a feature vector; and acquiring a preset classification network to classify the encoding vector and feature vector to obtain a classification result. This invention solves the problem of high computational cost caused by constructing a graph neural network based on all point cloud data by selecting boundary points, thus reducing the computational load. Selecting boundary points improves the prediction accuracy of boundary classification, thereby improving the accuracy of the classification results.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data analysis technology, and in particular to a point cloud classification method, apparatus, computer equipment, and storage medium. Background Technology

[0002] With the continuous development of technology, 3D point cloud classification technology is playing an increasingly important role in 3D scanners and LiDAR. Point cloud classification technology can be used in multiple technical fields such as autonomous driving, depth perception, 3D modeling, and robot mapping.

[0003] In existing technologies, the mainstream methods for 3D point cloud classification include convolutional neural networks (CNNs) and graph neural networks (GNNs). Due to the irregularity of 3D point clouds, traditional CNNs cannot be directly used for point cloud arrays. A common approach is to transform irregular point clouds into regular ones, but this destroys the geometric properties of the point clouds. Graph neural networks can avoid this problem; however, as the scale of point clouds increases, using all points to construct the graph requires a large amount of computation, thus consuming significant human and material resources. Summary of the Invention

[0004] This invention provides a point cloud classification method, apparatus, computer device, and storage medium to solve the problem of high computational load caused by constructing a graph neural network based on all point clouds in the prior art.

[0005] A point cloud classification method, comprising:

[0006] Obtain a preset dataset, which includes at least one point cloud;

[0007] Determine at least one boundary point based on all points in the point cloud;

[0008] Based on the boundary point and all its neighboring points, a graph neural network is constructed.

[0009] The graph neural network is then encoded to obtain an encoding vector;

[0010] Feature vectors are obtained by extracting features from all non-boundary points in the point cloud using a preset point cloud network; the non-boundary points refer to points in each point cloud other than the boundary points.

[0011] A preset classification network is obtained, and the encoded vector and the feature vector are classified through the preset classification network to obtain the classification result.

[0012] A point cloud classification device, comprising:

[0013] The data acquisition module is used to acquire a preset dataset, which includes at least one point cloud.

[0014] A boundary point module is used to determine at least one boundary point based on all points in the point cloud.

[0015] The encoding vector module is used to construct a graph neural network based on the boundary point and all its neighboring points, and to encode the graph neural network to obtain an encoding vector.

[0016] The feature vector module is used to extract features from all non-boundary points in the point cloud through a preset point cloud network to obtain feature vectors; the non-boundary points refer to points in each point cloud other than the boundary points.

[0017] The prediction and classification module is used to obtain a preset classification network, and to classify the encoding vector and the feature vector through the preset classification network to obtain a classification result.

[0018] A computer device includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the point cloud classification method described above.

[0019] A computer-readable storage medium storing a computer program that, when executed by a processor, implements the point cloud classification method described above.

[0020] This invention provides a point cloud classification method, apparatus, computer device, and storage medium. The method identifies boundary points from all points in a point cloud within a pre-set dataset. A graph neural network (GNN) is constructed based on these boundary points and their neighbors, and then encoded to obtain the encoded vectors. Feature extraction is performed on all non-boundary points in the point cloud using the pre-set point cloud network, yielding feature vectors. A pre-set classification network classifies the encoded vectors and feature vectors, classifying all points in the point cloud and predicting the classification results. Furthermore, by constructing the GNN based on boundary points, the computational complexity of building a GNN from all points in the point cloud is reduced. Identifying boundary points improves the prediction accuracy of boundary classification, thereby increasing the overall accuracy of the classification results. Attached Figure Description

[0021] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments of the present invention will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0022] Figure 1 This is a schematic diagram of the application environment of the point cloud classification method in one embodiment of the present invention;

[0023] Figure 2 This is a flowchart of a point cloud classification method in one embodiment of the present invention;

[0024] Figure 3 This is a flowchart of step S20 of the point cloud classification method in one embodiment of the present invention;

[0025] Figure 4 This is a flowchart of step S40 of the point cloud classification method in one embodiment of the present invention;

[0026] Figure 5 This is a schematic diagram of a point cloud classification device in one embodiment of the present invention;

[0027] Figure 6 This is a schematic diagram of a computer device according to an embodiment of the present invention. Detailed Implementation

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

[0029] The point cloud classification method provided in this embodiment of the invention can be applied to, for example... Figure 1 The application environment is shown. Specifically, this point cloud classification method is applied in a point cloud classification device, which includes, as shown in the example, a point cloud classification device. Figure 1 The diagram illustrates a client and server that communicate over a network to address the computationally intensive problem inherent in existing technologies that construct graph neural networks based on all point clouds. The server can be a standalone server or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms. The client, also known as the user terminal, refers to the program that provides categorized services to customers, corresponding to the server. The client can be installed on, but is not limited to, various computers, laptops, smartphones, tablets, and portable wearable devices.

[0030] In one embodiment, such as Figure 2 As shown, a point cloud classification method is provided, which can be applied to... Figure 1 Taking the server in the example, the following steps are included:

[0031] S10: Obtain a preset dataset, which includes at least one point cloud.

[0032] Understandably, the set of point data on the surface of an object obtained through measuring instruments is called a point cloud. Point clouds obtained using a 3D coordinate measuring machine typically have a small number of points and large spacing between them, and are called sparse point clouds; while point clouds obtained using a 3D laser scanner or photogrammetric scanner have a large number of dense points, and are called dense point clouds. Point clouds obtained based on laser measurement principles include 3D coordinates (XYZ) and laser reflection intensity. Point clouds obtained based on photogrammetry principles include 3D coordinates (XYZ) and color information (RGB). Point clouds obtained by combining laser measurement and photogrammetry principles include 3D coordinates (XYZ), laser reflection intensity, and color information (RGB). In this embodiment, a 3D scanner and LiDAR scan the object, and after obtaining the spatial coordinates of each sampling point on the object's surface, a set of points is obtained, called the object's point cloud. A preset dataset is then constructed using the point clouds of all objects. These point clouds can be collected from different databases.

[0033] S20: Determine at least one boundary point based on all points in the point cloud.

[0034] Understandably, boundary points are points used to characterize the boundaries of objects that make up a point cloud.

[0035] Specifically, after obtaining all point clouds, at least one boundary point in each point cloud is selected by filtering all points in each point cloud. That is, using each point in the point cloud as the center point and a preset distance threshold as the radius, all neighboring points of each center point are found. The normal vectors of the neighboring points and the center point are calculated using each center point and all neighboring points. The angle between the normal vector of the center point and the normal vectors of all neighboring points is calculated, and the angle difference is obtained by subtracting adjacent angle values. The largest angle difference is selected from all angle differences and compared with the preset angle threshold. When the largest angle difference is greater than the preset angle threshold, the center point is determined as a boundary point. In this way, all boundary points in each point cloud can be obtained.

[0036] S30, Based on the boundary point and all its neighboring points, construct a graph neural network and encode the graph neural network to obtain an encoding vector.

[0037] Understandably, a graph neural network is based on boundary points and connections between all neighboring points corresponding to those boundary points. The encoding vector is obtained by encoding the nodes in the graph neural network.

[0038] Specifically, after obtaining all boundary points, the graph neural network corresponding to each boundary point is obtained by connecting each boundary point to all its neighboring points. This method determines the graph neural network corresponding to each boundary point. The information in the graph neural network of each boundary point is then encoded, specifically by performing a nonlinear transformation on the edge vectors and the center vectors of the boundary points in the graph neural network. This yields the center features corresponding to the center vectors and the edge features corresponding to the edge vectors. By concatenating and fusing the center and edge features and encoding the fused result—that is, by performing a nonlinear transformation on the fused result—the encoded vector is obtained.

[0039] S40: Extract features from all non-boundary points in the point cloud using a preset point cloud network to obtain feature vectors; the non-boundary points refer to points in each point cloud other than the boundary points.

[0040] Understandably, the preset point cloud network refers to a classification network built on PointNet. The feature vector is obtained by encoding the non-boundary points in each point cloud.

[0041] Specifically, after obtaining all boundary points, all points in each point cloud of the preset dataset other than the boundary points are identified as non-boundary points. A preset point cloud network is then retrieved from the database, and all non-boundary points are input into this network. Feature extraction is then performed on all non-boundary points through this network; that is, the mapping layer in the preset point cloud network first performs a mapping and dimensionality-upgrading process on all non-boundary points to obtain high-dimensional vectors. Finally, the pooling layer in the preset point cloud network performs pooling processing on the high-dimensional vectors, thus extracting feature vectors from all non-boundary points.

[0042] S50: Obtain a preset classification network, and classify the encoding vector and the feature vector through the preset classification network to obtain the classification result.

[0043] Understandably, a predefined classification network refers to a network built on a multilayer perceptron. The classification results include predicted values ​​and confidence levels for the point cloud.

[0044] Specifically, the encoded vector obtained from the graph neural network encoding corresponding to the same point cloud and the feature vectors extracted from all non-boundary points in the point cloud are fused or concatenated to obtain the fused features corresponding to each point cloud. A preset classification network is then retrieved from the database, and the fused features are input into the preset classification network. The preset classification network then predicts and classifies the fused features to obtain the classification result for each point in the point cloud.

[0045] This invention provides a point cloud classification method that identifies boundary points from all points in a point cloud within a pre-defined dataset. A graph neural network (GNN) is constructed based on these boundary points and their neighbors, and then encoded to obtain the encoded vectors. Feature extraction is performed on all non-boundary points in the point cloud using the pre-defined point cloud network, yielding feature vectors. Finally, a pre-defined classification network classifies the encoded vectors and feature vectors, enabling the classification of all points in the point cloud and the prediction of the classification results. Furthermore, by identifying boundary points to construct the GNN, the computational complexity of building a GNN based on all points in the point cloud is reduced. Identifying boundary points improves the prediction accuracy of boundary classification, thereby increasing the overall accuracy of the classification results.

[0046] In one embodiment, such as Figure 3 As shown, step S20, which involves determining at least one boundary point based on all points in the point cloud, includes:

[0047] S201, determine the first distance between the center point and all points in the point cloud, wherein the center point is any point in the point cloud.

[0048] S202, compare the preset distance threshold with the first distance, and when the first distance is less than or equal to the preset distance threshold, determine the point in the point cloud as a neighboring point of the center point.

[0049] Understandably, the first distance is the distance between the center point and other points in a point cloud. A preset distance threshold is used to filter neighboring points. Neighboring points are points in the point cloud whose first distance from the center point is less than or equal to the preset distance threshold. The center point is any point in each point cloud. The expression for finding neighboring points is Nei(p i )={p j ∈P,||X i -X j ||2 <r},Nei(p i ) represents a neighboring point, p j Let r be the center point, and r be a preset distance threshold. ||X i -X j ||2 is the first distance between point i and point j.

[0050] Specifically, after obtaining all point clouds in the preset dataset, for all points in each point cloud...

[0051] The distance between the center point and any other points (excluding the center point) is calculated by randomly selecting a point in the point cloud as the center point. The 3D coordinates of the center point are subtracted from the 3D coordinates of the other points in the point cloud (i.e., the square root of the sum of the squares of the subtractions of the x-coordinates and y-coordinates, plus the square of the sum of the squares of the subtractions of the y-coordinates). This yields the first distance between any two points in the point cloud. This method is used to calculate the first distance between all points in the point cloud and the center point. Further, a preset distance threshold is obtained, and all first distances are compared to this threshold. If the first distance is greater than the preset distance threshold, the point in the point cloud is determined not to be a neighbor of the center point. If the first distance is less than or equal to the preset distance threshold, the point in the point cloud is determined to be a neighbor of the center point. This process yields the center point and all its corresponding neighboring points in the point cloud.

[0052] S203, based on the center point and all neighboring points corresponding to the center point, determine the normal vector corresponding to each of the neighboring points.

[0053] S204, based on all the normal vectors, select boundary points from all points in the point cloud.

[0054] Understandably, the center point is any point in the point cloud. The normal vector is the representation vector between the center point and its neighboring points. Boundary points are the points used to characterize the boundaries of objects in the point cloud.

[0055] Specifically, based on the center point and all its neighboring points, the normal vector corresponding to each neighboring point is determined. This can be done through Delaunay triangulation, principal component analysis, or local surface fitting. In this embodiment, local surface fitting is used, that is, for each point p in the point cloud... i The neighborhood is defined by a radius A (a preset distance threshold), or the K nearest neighbors are selected to obtain the points within the neighborhood. A local plane is fitted to the points within the neighborhood using the least squares method, minimizing the distance from the selected points to this plane, thus obtaining the normal vector corresponding to each neighboring point. This method is used to determine the normal vectors of all neighboring points, as well as the normal vector of the center point. Further, boundary points are selected from all points in the point cloud based on all normal vectors; that is, the angle between the normal vectors of the center point and each neighboring point is determined. The angle difference between all adjacent angle values ​​is determined, and all angle differences are compared to select the largest angle difference. A preset angle threshold is compared with the largest angle difference. If the largest angle difference is less than or equal to the preset angle threshold, the center point is determined not to be a boundary point; if the largest angle difference is greater than the preset angle threshold, the center point is determined to be a boundary point. All boundary points are then selected from all points in the point cloud.

[0056] This invention, through determining a first distance between all points in a point cloud and the center point, and comparing this first distance with a preset distance threshold, achieves the acquisition of all neighboring points of the center point in the point cloud, and thus the acquisition of the normal vectors of the neighboring points and the center point. Based on all normal vectors, boundary points are selected from all points in the point cloud, thereby determining the boundary points in each point cloud. Selecting boundary points improves the prediction accuracy of boundary classification, and consequently improves the accuracy of the classification results.

[0057] In one embodiment, step S204, namely, selecting boundary points from all points in the point cloud based on all the said normal vectors, includes:

[0058] S2041, determine the angle value between the two normal vectors based on the normal vector of the center point and the normal vector of the neighboring point.

[0059] S2042, determine the angle difference between all adjacent angle values, and compare all the angle differences to obtain the maximum angle difference.

[0060] S2043, compare the preset angle threshold with the maximum angle difference, and when the maximum angle difference is greater than the preset angle threshold, determine the center point as the boundary point.

[0061] Understandably, the angle value is the angle between the normal vector of the center point and the normal vectors of the neighboring points, denoted as Ω = {θ1, θ2, ..., θ...} k The angle difference is obtained by subtracting adjacent angle values. The set of differences is recorded as follows: in The preset angle threshold is π / 2, which can be set according to actual conditions. The set of all boundary points is...

[0062] Specifically, after obtaining all normal vectors, the angle between the normal vectors of the center point and the normal vectors of neighboring points is calculated. This involves moving the two normal vectors into the same plane and making them intersect, then calculating the angle between them and defining it as the angle value. This process determines the angle value between the normal vector of the center point and the normal vector of each neighboring point. Next, an angle set is constructed using all angle values, sorted in ascending order (or left unsorted). Then, the angle difference between adjacent angle values ​​is obtained by subtracting the preceding angle value from the subsequent one and taking the absolute value of the result. This process determines the angle differences between all adjacent angle values ​​and constructs a set of these differences.

[0063] Furthermore, the angle differences in the difference set are compared with each other, and the maximum angle difference is selected. Next, a preset angle threshold is retrieved from the database, and the maximum angle difference of each center point is compared with this threshold. If the maximum angle difference of a center point is less than or equal to the preset angle threshold, then that center point is not a boundary point. If the maximum angle difference of a center point is greater than the preset angle threshold, then that center point is determined as a boundary point. In this way, all boundary points of each point cloud are determined using the above method.

[0064] This invention achieves angle value acquisition by using the normal vector of the center point and the normal vectors of neighboring points. By calculating the angle difference between adjacent angle values ​​and comparing all angle differences, the calculation of angle differences is achieved, thereby enabling the filtering of the maximum angle difference. Comparing a preset angle threshold with the maximum angle difference determines all boundary points in each point cloud.

[0065] In one embodiment, step S30, namely, constructing a graph neural network based on the boundary point and all its neighboring points, and encoding the graph neural network to obtain an encoding vector, includes:

[0066] S301, connect the boundary point to all its neighboring points.

[0067] A graph neural network is obtained;

[0068] S302, Encode the edge vectors in the graph neural network and the center vectors of the boundary points in the graph neural network to obtain the center features corresponding to the center vectors and the edge features corresponding to the edge vectors; the edge vectors are the vectors of the edges between the boundary points and the neighboring points;

[0069] S303, the center feature and the edge feature are fused to obtain a first fused feature, and the first fused feature is encoded to obtain an encoding vector.

[0070] In essence, a graph neural network (GNN) refers to using neural networks to learn graph-structured data and extract and discover features from it. Center features are obtained by encoding the center vector. Edge features are obtained by encoding the edge vectors. The center vector is... The edge vector is in, This is weight information. The central feature is... Edge features are

[0071] Specifically, after obtaining all boundary points, each boundary point is used as a center point, and each boundary point is connected to all its neighboring points to obtain the graph neural network corresponding to that boundary point. Similarly, connecting each boundary point to all its neighboring points yields the graph neural network corresponding to each boundary point. Then, the edge vectors in the graph neural network and the center vectors of the boundary points are encoded. This is done by using a multilayer perceptron (MLP) and an activation function to perform a nonlinear transformation on all edge vectors and the center vectors in the graph neural network, thus obtaining the center features corresponding to the center vectors and the edge features corresponding to each edge vector.

[0072] Furthermore, the center feature and edge features are fused, that is, the center feature and edge features are concatenated and added together to obtain the first fused feature. Since the weight information is added twice during the fusion of the edge feature and center feature, a portion of the weight information needs to be subtracted. Therefore, the expression for the first fused feature is: Then, the first fusion feature is encoded, that is, the first fusion feature is transformed nonlinearly by the activation function in the multilayer perceptron, that is, the first fusion feature is calculated by the multilayer hidden layers in the multilayer perceptron, so that the encoding vector corresponding to each first fusion feature can be obtained.

[0073] This invention achieves the acquisition of center features and edge features by encoding edge vectors and center vectors. By fusing and encoding the center features and edge features, the first fused feature and the encoded vector are obtained. Furthermore, by selecting boundary points to construct a graph neural network, the problem of high computational cost caused by constructing a graph neural network based on all point clouds is solved, thus reducing the computational cost of the graph neural network.

[0074] In one embodiment, such as Figure 4 As shown, in step S40, feature vectors are obtained by extracting features from all non-boundary points in the point cloud using a preset point cloud network, including:

[0075] S401, each point in the point cloud in the preset dataset, excluding the boundary points, is determined as a non-boundary point;

[0076] S402, All non-boundary points are mapped and upgraded through the mapping layer in the preset point cloud network to obtain a high-dimensional vector;

[0077] S403, the high-dimensional vector is pooled through the pooling layer in the preset point cloud network to obtain the feature vector.

[0078] Understandably, a high-dimensional vector is a vector of high dimensionality. A feature vector is a vector of features extracted from all non-boundary points.

[0079] Specifically, after obtaining all boundary points, points other than boundary points in each point cloud of the preset dataset are identified as non-boundary points, meaning each point cloud includes both boundary and non-boundary points. Then, a preset point cloud network is retrieved from the database, and all non-boundary points in each point cloud are input into the preset point cloud network. All non-boundary points are mapped and upgraded through the mapping layer in the preset point cloud network, that is, a 3x3 affine transformation matrix is ​​estimated and applied to the non-boundary points through an affine transformation matrix prediction network T-Net(3), thus achieving data alignment. The aligned non-boundary points are then used as points for feature extraction through a two-layer perceptron model with shared parameters. Each point extracts 64-dimensional features, and then a 64x64 transformation matrix is ​​predicted through the affine transformation matrix prediction network T-Net(64), which is applied to the features to achieve feature alignment. Then, a three-layer perceptron (64, 128, 1024) is used to extract features in units of feature points until the dimension of the features becomes 1024. Max pooling is then performed on the features in the dimension of the feature space, that is, the point features are aggregated by max pooling, so that feature vectors can be extracted from all non-boundary points of the point cloud.

[0080] This invention achieves the acquisition of high-dimensional vectors by mapping and increasing the dimensionality of all non-boundary points through a mapping layer in a preset point cloud network. Pooling layers are then used to pool the high-dimensional vectors, enabling the extraction of features from all non-boundary points, thereby achieving the extraction of feature vectors.

[0081] In one embodiment, step S50, namely classifying the encoded vector and the feature vector using the preset classification network to obtain a classification result, includes:

[0082] S501, the encoding vector and the feature vector are fused to obtain a second fused feature;

[0083] S502, the second fusion feature is predicted and classified through the preset classification network to obtain the classification prediction value and the confidence level, and the classification prediction value and the confidence level are determined as the classification result.

[0084] Understandably, the second fusion feature is obtained by concatenating and fusing the encoded vector and the feature vector. The classification prediction value is the probability value of the prediction result. The confidence score is the probability that the estimated value is within a certain allowable error range from the population parameter. The classification result is the result predicted based on all points in the point cloud.

[0085] Specifically, after obtaining the encoding vector and feature vector, the encoding vector and feature vector corresponding to the same point cloud are fused, that is, two vectors with the same dimension are directly concatenated or fused to obtain the second fused feature. Further, the second fused feature is input into a pre-defined classification network, which predicts and classifies the second fused feature. Specifically, a Multilayer Perceptron (MLP) is used to predict the second fused feature. Hidden layers calculate the input layer features by multiplying the weight coefficients by the features and adding a bias. The calculation result is used for the calculation data of the next hidden layer until all hidden layers have been calculated. The classification prediction value is then obtained by predicting using the function of the output layer. The confidence level of each prediction value is calculated using all the classification prediction values ​​to obtain the confidence level corresponding to each prediction result. Finally, the classification prediction value and confidence level of each prediction result are determined as the classification result.

[0086] This invention achieves the acquisition of a second fused feature by fusing the encoding vector and the feature vector. The second fused feature is then used to predict and classify using a preset classification network, thereby predicting the classification prediction value and confidence level, and ultimately achieving accurate prediction of the classification result.

[0087] In one embodiment, before step S50, i.e. before obtaining the preset classification network, the following steps are included:

[0088] S601, Obtain a sample training dataset, wherein the sample training dataset includes at least one sample training data and sample labels corresponding to the sample training data.

[0089] Understandably, training data can be feature vectors of point clouds of various objects, such as feature vectors of vehicle point clouds or building point clouds. Each training data sample is associated with a sample label, which represents the true classification result of the training data. This result can be obtained through manual or other classification methods. Training data and labels can be historical data collected from different databases, or pre-prepared historical data sent from the client to the database. A training dataset is then constructed based on all the acquired training data and the corresponding labels.

[0090] S602, Obtain a preset training network, and use the preset training network to predict and classify the sample training data to obtain predicted labels.

[0091] Understandably, the predicted labels are used to characterize the classification results of the pre-trained network on the sample training data. The pre-trained network is built based on a multilayer perceptron.

[0092] Specifically, a preset training network is obtained, and all sample training data and sample labels are input into the preset training network. The preset training network is used to predict and classify the sample training data, that is, to map the dimensions of the sample training data to the neurons of the input layer, and to calculate the neurons of the input layer through the hidden layers. That is, to calculate the sample training data through preset multi-layer hidden layers, the hidden units of the hidden layers calculate the sample training data with different weight values, and the calculation results are passed to the next hidden layer for calculation, until the calculation is completed through all hidden layers and calculated through the function of the output layer, so as to obtain the predicted label corresponding to each sample training data.

[0093] S603, determine the prediction loss value of the preset training network based on the prediction label and the sample label corresponding to the same sample training data.

[0094] Understandably, the prediction loss is generated during the process of making predictions on the sample training data.

[0095] Specifically, after obtaining the predicted labels, all predicted labels corresponding to the sample training data are arranged according to the order of the sample training data in the sample training dataset. Then, the predicted labels associated with the sample training data are compared with the sample labels of the sample training data with the same sequence. That is, according to the sample training data, the sample label corresponding to the first sample training data is compared with the predicted label corresponding to the first sample training data. The loss value between the sample label and the predicted label is determined by the loss function. This process continues until all sample labels and predicted labels have been compared, and then the predicted loss value of the preset training network can be obtained.

[0096] S604, when the predicted loss value reaches the preset convergence condition, the preset training network after convergence is recorded as the preset classification network.

[0097] Understandably, the convergence condition can be either the predicted loss value being less than a set threshold, or the predicted loss value being very small after 500 calculations and no longer decreasing, at which point training can stop.

[0098] Specifically, after obtaining the predicted loss value, if the predicted loss value does not reach the preset convergence condition, the initial parameters of the preset training network are adjusted based on the predicted loss value. All sample training data are then re-input into the preset training network with adjusted initial parameters, and iterative training is performed on the network to obtain the predicted loss value corresponding to that network. Then, if the predicted loss value does not reach the preset convergence condition, the initial parameters of the preset training network are adjusted again based on this predicted loss value, until the predicted loss value of the network with the adjusted initial parameters reaches the preset convergence condition. In this way, the accuracy of the preset training network increases, and the predicted results continuously approach the correct results, until the predicted loss value of the preset training network reaches the preset convergence condition. At this point, the converged preset training network is determined as the preset classification network.

[0099] This invention iteratively trains a pre-defined training network using a large amount of sample training data and calculates the overall loss value of the pre-defined training network by comparing the loss function, thereby determining the predicted loss value of the pre-defined training network. The initial parameters of the pre-defined training network are adjusted based on the predicted loss value until the model converges, thus training the pre-defined classification network and ensuring its high accuracy.

[0100] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.

[0101] In one embodiment, a point cloud classification device is provided, which corresponds one-to-one with the point cloud classification methods described in the above embodiments. For example... Figure 5 As shown, the point cloud classification device includes a data acquisition module 11, a boundary point module 12, an encoding vector module 13, a feature vector module 14, and a prediction classification module 15. Detailed descriptions of each functional module are as follows:

[0102] Data acquisition module 11 is used to acquire a preset dataset, the preset dataset including at least one point cloud;

[0103] Boundary point module 12 is used to determine at least one boundary point based on all points in the point cloud;

[0104] The encoding vector module 13 is used to construct a graph neural network based on the boundary point and all neighboring points corresponding to the boundary point, and to encode the graph neural network to obtain an encoding vector;

[0105] The feature vector module 14 is used to extract features from all non-boundary points in the point cloud through a preset point cloud network to obtain feature vectors; the non-boundary points refer to points in each point cloud other than boundary points.

[0106] The prediction and classification module 15 is used to obtain a preset classification network, and to classify the encoding vector and the feature vector through the preset classification network to obtain a classification result.

[0107] In one embodiment, the boundary point module 12 includes:

[0108] The first distance unit is used to determine the first distance between the center point and all points in the point cloud.

[0109] The center point is any point in the point cloud;

[0110] The neighboring point unit is used to compare a preset distance threshold with the first distance, and when the first distance is less than or equal to the preset distance threshold, the point in the point cloud is determined as a neighboring point of the center point;

[0111] Normal vector units are used to represent the center point and all its neighboring points.

[0112] Determine the normal vector corresponding to each of the neighboring points;

[0113] Boundary point units are used to select boundary points from all points in the point cloud based on all the normal vectors.

[0114] In one embodiment, the boundary point unit includes:

[0115] An angle value subunit is used to calculate the angle value based on the normal vector of the center point and the normal vectors of the neighboring points.

[0116] Determine the angle value between the two normal vectors;

[0117] An angle difference subunit is used to determine the angle difference between all adjacent angle values ​​and compare all angle differences to obtain the maximum angle difference.

[0118] The difference comparison subunit is used to compare the preset angle threshold with the maximum angle difference. When the maximum angle difference is greater than the preset angle threshold, the center point is determined as the boundary point.

[0119] In one embodiment, the encoding vector module 13 includes:

[0120] A graph neural network unit is used to connect the boundary point and all the neighboring points corresponding to the boundary point to obtain a graph neural network;

[0121] A vector feature unit is used to encode the edge vectors in the graph neural network and the center vectors of the boundary points in the graph neural network to obtain the center features corresponding to the center vectors and the edge features corresponding to the edge vectors; the edge vectors are the vectors of the edges between the boundary points and the neighboring points.

[0122] The encoding vector unit is used to fuse the center feature and the edge feature to obtain a first fused feature, and to encode the first fused feature to obtain an encoding vector.

[0123] In one embodiment, the feature vector module 14 includes:

[0124] Non-boundary point unit, used to determine each point in the point cloud of the preset dataset other than the boundary points as a non-boundary point;

[0125] A high-dimensional vector unit is used to perform mapping and dimensionality-upgrading processing on all the non-boundary points through the mapping layer in the preset point cloud network to obtain a high-dimensional vector.

[0126] The feature vector unit is used to perform pooling processing on the high-dimensional vector through the pooling layer in the preset point cloud network to obtain the feature vector.

[0127] In one embodiment, the prediction classification module 15 includes:

[0128] A fusion unit is used to fuse the encoded vector and the feature vector to obtain a second fused feature;

[0129] The prediction and classification unit is used to predict and classify the second fusion feature through the preset classification network, obtain the classification prediction value and the confidence level, and determine the classification prediction value and the confidence level as the classification result.

[0130] In one embodiment, the prediction classification module 15 further includes:

[0131] A sample acquisition unit is used to acquire a sample training dataset, wherein the sample training dataset includes at least one sample training data and sample labels corresponding to the sample training data;

[0132] The label prediction unit is used to acquire a preset training network, and to perform prediction and classification on the sample training data through the preset training network to obtain predicted labels.

[0133] The loss prediction unit is used to determine the predicted loss value of the preset training network based on the predicted label and the sample label corresponding to the same sample training data;

[0134] The model convergence unit is used to record the converged preset training network as a preset classification network when the predicted loss value reaches the preset convergence condition.

[0135] Specific limitations regarding the point cloud classification device can be found in the limitations of the point cloud classification method above, and will not be repeated here. Each module in the aforementioned point cloud classification device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.

[0136] In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 6 As shown, the computer device includes a processor, memory, network interface, and database connected via a system bus. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores the operating system, computer programs, and the database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The database stores the data used in the point cloud classification method described in the above embodiments. The network interface is used to communicate with external terminals via a network connection. When the computer program is executed by the processor, it implements a point cloud classification method.

[0137] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the point cloud classification method described above.

[0138] In one embodiment, a computer-readable storage medium is provided, the computer-readable storage medium storing a computer program that, when executed by a processor, implements the point cloud classification method described above.

[0139] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and RAMbus direct RAM.

[0140] (RDRAM), Direct Memory Bus Dynamic RAM (DRDRAM), and Memory Bus Dynamic RAM

[0141] (RDRAM), etc.

[0142] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is used as an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above.

[0143] The above-described embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit it. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications 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 the present invention, and should all be included within the protection scope of the present invention.

Claims

1. A point cloud classification method, characterized in that, include: Obtain a preset dataset, which includes at least one point cloud; Determine at least one boundary point based on all points in the point cloud; Based on the boundary point and all its neighboring points, a graph neural network is constructed, and the graph neural network is encoded to obtain an encoding vector; Feature vectors are obtained by extracting features from all non-boundary points in the point cloud using a preset point cloud network; the non-boundary points refer to points in each point cloud other than the boundary points. A preset classification network is obtained, and the encoded vector and the feature vector are classified through the preset classification network to obtain a classification result; The step involves constructing a graph neural network based on the boundary point and all its neighboring points, and encoding the graph neural network to obtain an encoding vector, including: Connect the boundary point and all its neighboring points to obtain a graph neural network; The edge vectors in the graph neural network and the center vectors of the boundary points in the graph neural network are encoded to obtain the center features corresponding to the center vectors and the edge features corresponding to the edge vectors; the edge vectors are the vectors of the edges between the boundary points and the neighboring points. The center feature and the edge feature are fused to obtain a first fused feature, and the first fused feature is encoded to obtain an encoding vector; wherein, the expression of the first fused feature is, , Central features As edge features, Weight information for repeated calculations.

2. The point cloud classification method as described in claim 1, characterized in that, Determining at least one boundary point based on all points in the point cloud includes: Determine a first distance between the center point and all points in the point cloud, wherein the center point is any point in the point cloud; The preset distance threshold is compared with the first distance. When the first distance is less than or equal to the preset distance threshold, the point in the point cloud is determined as a neighboring point of the center point. Based on the center point and all neighboring points corresponding to the center point, determine the normal vector corresponding to each neighboring point; Boundary points are selected from all points in the point cloud based on all the stated normal vectors.

3. The point cloud classification method as described in claim 2, characterized in that, The step of filtering boundary points from all points in the point cloud based on all the normal vectors includes: The angle between the two normal vectors is determined based on the normal vector of the center point and the normal vector of the neighboring point. Determine the angle difference between all adjacent angle values, and compare all angle differences to obtain the maximum angle difference; The preset angle threshold and the maximum angle difference are compared. When the maximum angle difference is greater than the preset angle threshold, the center point is determined as the boundary point.

4. The point cloud classification method as described in claim 1, characterized in that, The step of extracting features from all non-boundary points in the point cloud using a preset point cloud network to obtain feature vectors includes: Each point in the point cloud of the preset dataset, excluding the boundary points, is defined as a non-boundary point; The mapping layer in the preset point cloud network is used to map and upscale all the non-boundary points to obtain a high-dimensional vector. The high-dimensional vector is pooled using the pooling layer in the preset point cloud network to obtain the feature vector.

5. The point cloud classification method as described in claim 1, characterized in that, The step of classifying the encoded vector and the feature vector through the preset classification network to obtain the classification result includes: The encoded vector and the feature vector are fused to obtain a second fused feature; The second fusion feature is predicted and classified using the preset classification network to obtain a classification prediction value and a confidence level, and the classification prediction value and the confidence level are determined as the classification result.

6. The point cloud classification method as described in claim 1, characterized in that, Before obtaining the preset classification network, the following steps are included: Obtain a sample training dataset, which includes at least one sample training data and sample labels corresponding to the sample training data; Obtain a preset training network, and use the preset training network to predict and classify the sample training data to obtain predicted labels; The prediction loss value of the preset training network is determined based on the prediction label and the sample label corresponding to the same sample training data. When the predicted loss value reaches the preset convergence condition, the preset training network after convergence is recorded as the preset classification network.

7. A point cloud classification device, characterized in that, include: The data acquisition module is used to acquire a preset dataset, which includes at least one point cloud. A boundary point module is used to determine at least one boundary point based on all points in the point cloud. The encoding vector module is used to construct a graph neural network based on the boundary point and all its neighboring points, and to encode the graph neural network to obtain an encoding vector. The feature vector module is used to extract features from all non-boundary points in the point cloud through a preset point cloud network to obtain feature vectors; the non-boundary points refer to points in each point cloud other than the boundary points. The prediction and classification module is used to obtain a preset classification network, classify the encoding vector and the feature vector through the preset classification network, and obtain a classification result; The encoding vector module includes: A graph neural network unit is used to connect the boundary point and all the neighboring points corresponding to the boundary point to obtain a graph neural network; A vector feature unit is used to encode the edge vectors in the graph neural network and the center vectors of the boundary points in the graph neural network to obtain the center features corresponding to the center vectors and the edge features corresponding to the edge vectors; the edge vectors are the vectors of the edges between the boundary points and the neighboring points. An encoding vector unit is used to fuse the center feature and the edge feature to obtain a first fused feature, and to encode the first fused feature to obtain an encoding vector; wherein, the expression of the first fused feature is, , Central features As edge features, Weight information for repeated calculations.

8. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the point cloud classification method as described in any one of claims 1 to 6.

9. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the point cloud classification method as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Complete machine measurement point cloud fusion method based on multi-source heterogeneous data

    CN114627275A

  • Method and device for identifying number of people by robot and electronic equipment

    CN116091291A