Method, system, computer device and storage medium for processing three-dimensional point cloud data
By clustering, segmenting, and mapping 3D point cloud data to generate 2D images, the problem of large computational load and information loss when processing massive amounts of 3D point cloud data in existing technologies is solved, achieving efficient point cloud data processing and noise reduction.
Patent Information
- Application Number
- CN202011147110.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-10-23
- Publication Date
- 2026-01-02
- Estimated Expiration
- 2040-10-23
AI Technical Summary
Existing technologies struggle to effectively process massive amounts of 3D point cloud data, especially during segmentation, denoising, and compression, resulting in high computational demands and poor performance. Furthermore, projection methods can lead to the loss of structural topology and depth information in point cloud data.
By performing clustering operations on 3D point cloud data, an organizational structure and constraint relationship are established. Two-dimensional sub-images are generated using triangulation and mapping, preserving the positional information and topological properties of the point cloud data. Finally, a two-dimensional image containing the structural and topological properties of the 3D point cloud data is generated by stitching the images together.
It improves the processing speed of 3D point cloud data, reduces noise information, and ensures the accuracy of the location information and topological properties of point cloud data, and has broad application prospects.
Smart Images

Figure CN114510978B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of point cloud processing, and particularly to a three-dimensional point cloud data processing method, a processing system, a computer device and a storage medium. BACKGROUND
[0002] As an extension of two-dimensional data, three-dimensional point cloud data has become an important content presentation method and is widely used in many fields, such as virtual reality, augmented reality, robot perception, and true three-dimensional display. In terms of data acquisition, three-dimensional point cloud data can be generated by laser scanning or three-dimensional modeling software, or in the form of depth images (RGB-D) obtained by using binocular, structured light, and depth camera sensors. These methods can conveniently obtain three-dimensional point cloud data. However, for massive three-dimensional point cloud data, the difficulty lies in how to effectively process it, such as segmentation, denoising, and compression. SUMMARY
[0003] To solve at least one of the above problems, the first embodiment of the present application provides a three-dimensional point cloud data processing method, comprising:
[0004] S1: performing clustering operation on the three-dimensional point cloud data and outputting clustering result, and establishing organization structure of the three-dimensional point cloud data;
[0005] S3: performing triangulation on the three-dimensional point cloud data according to the clustering result and outputting multiple triangulation graphs, and establishing constraint relationship of the three-dimensional point cloud data;
[0006] S5: respectively mapping each sample point contained in each triangulation graph to a two-dimensional sub-image, the two-dimensional sub-image comprising constraint relationship of each sample point of the triangulation graph;
[0007] S7: splicing the two-dimensional sub-images and outputting a two-dimensional image mapped by the three-dimensional point cloud data.
[0008] Further, a multi-layer clustering method is used to perform clustering operation on the three-dimensional point cloud data.
[0009] Further, the S1 further comprises:
[0010] S11: performing clustering operation according to a preset clustering layer number;
[0011] S13: selecting multiple first clustering center points from the three-dimensional point cloud data of one clustering layer;
[0012] S15: traversing the three-dimensional point cloud data of the clustering layer, respectively calculating first distance of each sample point to each first clustering center point and taking the first clustering center point with the smallest first distance as the attribution class of the sample point, and obtaining multiple sub-classes of the three-dimensional point cloud data.
[0013] S17: calculating a second cluster center point of the three-dimensional point cloud data of the cluster layer according to each sub-classification, calculating a second distance between the second cluster center point and the first cluster center point, judging whether the second distance meets a preset distance threshold, if not, taking the second cluster center as the first cluster center and jumping to S15, if yes, taking the first cluster center point as a cluster node and outputting a cluster result including the cluster node, and judging whether the cluster operation of all cluster layers is completed, if not, jumping to S13.
[0014] Further, the cluster operation includes at least one of k-means, mean shift, density clustering, and hierarchical clustering.
[0015] Further, the S3 further includes: respectively performing profile mapping according to the cluster nodes of the cluster result and outputting corresponding profile maps.
[0016] Further, the S5 further includes:
[0017] S51: respectively establishing a mapping function for each sample point in a profile map to map the sample point to a two-dimensional sub-image;
[0018] S53: selecting two sample points from the profile map to form a sample point pair, and calculating the Euclidean distance of the sample point pair through the mapping functions corresponding to the two sample points to represent the constraint relationship between the two sample points;
[0019] S55: traversing all sample point pairs in the profile map and establishing an energy objective function, and obtaining the two-dimensional sub-image mapped by the profile map by minimizing the energy objective function;
[0020] S57: judging whether all profile maps complete the two-dimensional sub-image mapping, if not, jumping to S51.
[0021] Further, the two-dimensional image is floating-point data.
[0022] A second embodiment of the present application provides a processing system applying the above processing method, including a cluster unit, a profile unit, a mapping unit and a splicing unit, wherein,
[0023] The cluster unit is used for performing a cluster operation on the three-dimensional point cloud data and outputting a cluster result to establish an organization structure of the three-dimensional point cloud data;
[0024] The profile unit is used for performing triangular profile mapping on the three-dimensional point cloud data according to the cluster result and outputting a plurality of profile maps to establish a constraint relationship of the three-dimensional point cloud data;
[0025] The mapping unit is configured to map each sample point contained in each subgraph to a two-dimensional sub-image, and the two-dimensional sub-image comprises the constraint relationship of each sample point of the subgraph.
[0026] The splicing unit is configured to splice the two-dimensional sub-images obtained by mapping each subgraph and output a two-dimensional image mapped by the three-dimensional point cloud data.
[0027] The third embodiment of the present application provides a computer readable storage medium, which stores a computer program, and the program is executed by a processor to implement the processing method.
[0028] The fourth embodiment of the present application provides a computer device, which comprises a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the processing method when executing the program.
[0029] The present application has the following advantages:
[0030] The present application provides a point cloud data processing method, which establishes the organization structure and constraint relationship of the three-dimensional point cloud data by using the clustering result obtained by clustering the three-dimensional point cloud data, maps the point cloud data under the constraint relationship to generate a two-dimensional sub-image, splices the two-dimensional sub-image to obtain a two-dimensional image containing the structural topological properties of the three-dimensional point cloud data. The two-dimensional image obtained by the three-dimensional point cloud data processing method can accurately retain the position information, constraint relationship and organization structure of the three-dimensional point cloud data, and also retains the structural topological properties between the three-dimensional point cloud data. The method can effectively improve the processing speed of the three-dimensional point cloud data, reduce noise information in the processing process, and has a wide application prospect. BRIEF DESCRIPTION OF DRAWINGS
[0031] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the embodiment description. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can also be obtained by those skilled in the art without creative labor.
[0032] Figure 1 A flow chart of the processing method according to an embodiment of the present application is shown;
[0033] Figure 2 A schematic diagram of the disordered distribution of the point cloud data according to an embodiment of the present application is shown;
[0034] Figure 3 A tree diagram formed by the clustering operation according to an embodiment of the present application is shown;
[0035] A tree diagram formed by the clustering operation according to an embodiment of the present application is shown;Figure 4 This illustrates a method for creating a sectioned map according to an embodiment of the present invention;
[0036] Figure 5 A schematic diagram illustrating the mapping process according to an embodiment of the present invention is shown;
[0037] Figure 6 A schematic diagram illustrating the splicing process according to an embodiment of the present invention is shown;
[0038] Figure 7a and 7b This diagram illustrates an embodiment of the present invention of obtaining a two-dimensional image by mapping three-dimensional point cloud data.
[0039] Figure 8 A structural block diagram of the processing system according to another embodiment of the present invention is shown;
[0040] Figure 9 A schematic diagram of the structure of a computer device according to another embodiment of the present invention is shown. Detailed Implementation
[0041] To more clearly illustrate the present invention, the following description, in conjunction with preferred embodiments and accompanying drawings, further explains the invention. Similar components in the drawings are indicated by the same reference numerals. Those skilled in the art should understand that the specific description below is illustrative rather than restrictive and should not be construed as limiting the scope of protection of the present invention.
[0042] In existing technologies, the traditional point cloud processing methods for massive amounts of 3D point cloud data are as follows:
[0043] 1. Using algorithms such as octrees and clustering, the spatial location information of point cloud data is used as a reference to divide the point cloud data into multiple sub-regions, and then the point cloud data of each sub-region is processed separately. However, this processing method results in a large amount of computation and poor results.
[0044] 2. Using machine learning or deep learning to build neural network models based on 3D point cloud data to process point cloud data has two main drawbacks. First, this method involves a large amount of computation, and the unordered nature of 3D point cloud data leads to less than ideal processing results. Second, many algorithms cannot be directly extended to 3D to process point cloud data.
[0045] 3. Point cloud data is transformed into two-dimensional space based on projection methods before processing. However, the projection process loses the structural topology of the point cloud data itself, loses depth information, and introduces a lot of noise.
[0046] Therefore, to solve the above problems, such as Figure 1As shown, one embodiment of the present application provides a processing method of three-dimensional point cloud data, comprising:
[0047] S1: performing clustering operation on the three-dimensional point cloud data and outputting clustering results, and establishing an organization structure of the three-dimensional point cloud data;
[0048] S3: performing triangulation on the three-dimensional point cloud data according to the clustering results and outputting a plurality of triangulation graphs, and establishing a constraint relationship of the three-dimensional point cloud data;
[0049] S5: respectively mapping each sample point contained in each triangulation graph to a two-dimensional sub-image, the two-dimensional sub-image comprising the constraint relationship of each sample point of the triangulation graph;
[0050] S7: splicing the two-dimensional sub-images and outputting a two-dimensional image mapped by the three-dimensional point cloud data.
[0051] The embodiment of the present application establishes the organization structure and the constraint relationship of the three-dimensional point cloud data by using the clustering results after the clustering operation on the three-dimensional point cloud data, and generates two-dimensional sub-images by mapping the point cloud data under the constraint relationship, and splices the two-dimensional sub-images to obtain a two-dimensional image containing the structural topological properties of the three-dimensional point cloud data. The two-dimensional image obtained by the three-dimensional point cloud data processing method of the present application can accurately retain the position information, the constraint relationship and the organization structure of the three-dimensional point cloud data, and also retains the structural topological properties between the three-dimensional point cloud data. The method can effectively improve the processing speed of the three-dimensional point cloud data, and can reduce the noise information in the processing process, and has a wide application prospect.
[0052] In one specific embodiment, the processing process of specific three-dimensional point cloud data is described:
[0053] S1: performing clustering operation on the three-dimensional point cloud data and outputting clustering results, and establishing an organization structure of the three-dimensional point cloud data.
[0054] In this step, the embodiment of the present application can establish disordered and chaotic point cloud data into ordered organization structure by performing clustering operation on the three-dimensional point cloud data and establishing organization structure according to the clustering results after clustering, which can not only speed up the processing speed of subsequent three-dimensional point cloud data, but also retain the structural relationship of each sub-data in the point cloud data. This step will Figure 2 As shown, the disordered and numerous three-dimensional point cloud data are clustered and the clustering results are generated. Each clustering result establishes an organization structure corresponding to the clustering result. When all the three-dimensional point cloud data are traversed, all the clustering results including all the three-dimensional point cloud data and all the organization structures corresponding to all the clustering results are outputted. At this time, the organization structure is the overall organization structure of the point cloud data.
[0055] In an optional embodiment, this invention uses a multi-level clustering method to cluster 3D point cloud data. This multi-level clustering method can divide point cloud data with similar attributes, effectively improving the search speed of point cloud data. The point cloud data in each cluster are closer in distance, which helps to speed up the point cloud data search during processing. Furthermore, the distribution of point cloud data between each cluster can reflect the overall distribution of the point cloud data, effectively ensuring processing accuracy. It is worth noting that the more layers the clustering operation sets, the higher the accuracy.
[0056] In this embodiment, k-means clustering, mean shift, density clustering, or hierarchical clustering operations are used, or k-means clustering and mean shift, density clustering, or hierarchical clustering operations are used simultaneously.
[0057] In an optional embodiment, S1 further includes:
[0058] S11: Perform clustering operations according to the preset number of cluster stratifications;
[0059] In this step, such as Figure 2 As shown, 3D point cloud data is represented by a number of randomly distributed sample points in space. For a large amount of point cloud data, the higher the processing accuracy, the longer the processing time required. This embodiment performs clustering operations according to a preset number of clustering layers. It is worth noting that this application does not limit the number of layers in multi-layer clustering. Those skilled in the art should select the number of layers in the clustering operation according to the required point cloud data processing accuracy, with the optimal matching between processing accuracy and processing speed as the design criterion. This will not be elaborated further here.
[0060] In a specific example, such as Figure 3 As shown, taking a tree diagram constructed by performing two-layer clustering operations on point cloud data as an example, the root node N contains all the 3D point cloud data. The first-layer clustering results output after the first layer clustering are used as the first-layer nodes, which can be represented as N1, N2, ... Then, after performing clustering operations on each node of the first layer, the output of the second-layer clustering results are used as the second-layer nodes. For example, the second-layer nodes of N1 can be represented as child nodes N11, N12, N13..., the second-layer nodes of N2 can be represented as child nodes N21, N22, N23..., and the second-layer nodes of N3 can be represented as child nodes N31, N32, N33... In a specific example, after performing two-layer clustering operations on the point cloud data, a tree diagram can be constructed as follows: Figure 3 The hierarchical tree diagram shown contains clustered point cloud data for each node at each level.
[0061] S13: Select multiple first cluster centers from a clustered hierarchical 3D point cloud data;
[0062] In this step, the number of first cluster centers kn (n = 1, 2, 3...n) is selected based on the overall distribution of the point cloud and the required processing accuracy, and is denoted as k1, k2, k3,... The more first cluster centers there are, the higher the processing accuracy.
[0063] S15: Traverse the 3D point cloud data of the clustered layer, calculate the distance between each sample point and each first cluster center point, take the first cluster center point with the smallest distance as the class to which the sample point belongs, and obtain multiple subclasses of the 3D point cloud data.
[0064] This step iterates through each sample point xm (m = 1, 2, 3…m) of the point cloud data in the clustered hierarchy. This yields several distances between each sample point xm and all the first cluster centers k1 to kn. The first cluster center with the smallest distance is selected as the class to which the sample point belongs. When the distance is smallest, it means the sample point is closest to the first cluster center, and the sample point belongs to the class assigned by that first cluster center. Therefore, by comparing the distances of each sample point to each first cluster center, the sample points of all point cloud data under this clustered hierarchy can be accurately divided, while preserving the original distance information of the point cloud data. The class to which a sample point belongs corresponds to the same first cluster center forms the set of classes for that layer, i.e., a subclass.
[0065] In a specific example, such as Figure 2 As shown, if four point cloud data points (k1, k2, k3, and k4) are selected from the first-level clustering results as the first cluster center points, and all point cloud data points in the first-level clustering results are taken as sample points xm under this clustering, taking sample point x1 as an example, the distances between x1 and the first cluster center points k1, k2, k3, and k4 are traversed, i.e., L x1k1 L x1k2 L x1k3 L x1k4 If the distance L x1k1 If the smallest value is found, it indicates that the topological properties and organizational structure of x1 are similar to the first cluster center k1, and k1 can be used as the class to which sample point x1 belongs. After traversing all the remaining sample points in sequence, a set of subclasses can be formed, based on the location of the first cluster center and with the same number of centers as the first cluster center. This step effectively performs ordered segmentation of the point cloud data, providing a search basis for subsequent point cloud data processing.
[0066] S17: Calculate the second cluster center point of the 3D point cloud data of the cluster layer according to each subclass, and calculate the first distance between the second cluster center point and the first cluster center point. Determine whether the first distance meets the preset distance threshold. If it does not meet the threshold, take the second cluster center point as the first cluster center point and jump to S15. If it meets the threshold, take the first cluster center point as the cluster node and output the clustering result including the cluster node. Determine whether the clustering operation of all cluster layers has been completed. If it has not been completed, jump to S13.
[0067] Considering that the first cluster center point in the previous step is randomly selected, there may be some sample points in the subclass that are far away from all the first cluster centers, but the class to which they belong must be selected from these first cluster centers. Therefore, the first cluster center may not accurately and completely represent all sample points in the corresponding subclass (i.e., the 3D point cloud data of the cluster layer to which the subclass belongs).
[0068] In this embodiment, this step involves obtaining a second cluster center point that can represent the 3D point cloud data corresponding to the entire subclass, and calculating a second distance between the theoretical first cluster center point and the actual second cluster center point of the subclass. Based on this second distance, it can be determined whether the first cluster center of the subclass is close to the second cluster center. If the second distance does not meet a preset distance threshold, the second cluster center point is used as the first cluster center point, and the traversal of all 3D point cloud data in the cluster layer is repeated until a cluster node that can completely represent each point cloud data in the subclass can be determined. If the second distance meets the preset distance threshold, it indicates that the first cluster center point can completely represent all point cloud data in the cluster layer to which the subclass belongs. The first cluster center point is directly used as the cluster node, and the clustering result corresponding to the cluster node, the subclass corresponding to the cluster node, and all point cloud data in the cluster layer represented by the cluster node are output. If the clustering nodes for all subcategories have been determined, it can be proven that all subcategories under this clustering hierarchy can be represented by their corresponding clustering nodes, and all point cloud data under this clustering hierarchy can be accurately represented without omission. This process improves the accuracy and precision of point cloud data processing.
[0069] In a specific example, such as Figure 2 As shown, if the sample points x1, x3, x4, and x5 all belong to the first cluster center k1, then sample points x1, x3, x4, and x5 constitute a subclass AA. The second cluster center of this subclass is the centroid k1' of this subclass. Calculate the distance L between the second cluster center k1' and the first cluster center k1. k1’k1 If the distance L k1’k1If the distance L meets the preset distance threshold, it is determined that the first clustering center point k1 is the clustering node of the sub-classification, and the determination of the clustering node is sequentially performed on all first clustering center points k1, k2, k3 and k4 until the output can represent the clustering node of all point cloud data in the corresponding clustering hierarchy of the sub-classification, and the step is completed.
[0070] If the distance L does not meet the preset distance threshold, the step S15 is turned to, the centroid k1' of the sub-classification is taken as a new first clustering center point k1, and the determination of the new sub-classification and the determination of the clustering node corresponding to the sub-classification are re-performed. k1’k1 If the distance L does not meet the preset distance threshold, the step S15 is turned to, the centroid k1' of the sub-classification is taken as a new first clustering center point k1, and the determination of the new sub-classification and the determination of the clustering node corresponding to the sub-classification are re-performed.
[0071] S3: Triangulation is performed on the three-dimensional point cloud data according to the clustering result, and a plurality of triangulation graphs are output, and a constraint relationship of the three-dimensional point cloud data is established.
[0072] The step is based on the clustering result of all three-dimensional point cloud data output in the foregoing step S1, and the three-dimensional point cloud data in each clustering result is triangulated, so that a triangulation graph corresponding to the clustering result is output. After the triangulation of all clustering results is completed, a plurality of triangulation graphs retaining all three-dimensional point cloud data can be output, and a constraint relationship between all three-dimensional point cloud data is established.
[0073] In the step, the triangulation can divide all discrete point cloud data in the output clustering result into a plurality of triangulation graphs, form a mutual close relationship between each point cloud data, establish a constraint relationship of the three-dimensional point cloud data under the corresponding clustering hierarchy of the clustering result, and through the constraint between the point clouds, the generated two-dimensional image still maintains the topological properties and organizational structure of the point cloud data, and the accuracy of the processing result is further improved. In an optional embodiment, S3 further includes: respectively performing triangulation mapping according to the clustering nodes of the clustering result and outputting corresponding triangulation graphs.
[0074] Specifically, the clustering result and the corresponding clustering node obtained by the foregoing steps are used to constrain the point cloud data in the current clustering node and the corresponding sub-classification, and on the basis of the attribution class division of the point cloud data, the constraint relationship between the point cloud data is further determined, so that the organizational structure and topological properties of the point cloud data are completely retained.
[0075] In a specific example, as shown in FIG. 3, three point cloud data form a triangular mesh, and the triangular network is used to form effective constraint information between the point cloud data under the corresponding clustering hierarchy. Figure 4 The triangulation graph requires that two end points of all three sides of the triangle are two sample points of the point cloud data, and a circle exists through the two sample points, and the circle does not contain other sample points. The triangulation mapping is used to constrain the point cloud data in the current clustering node and the corresponding sub-classification, and on the basis of the attribution class division of the point cloud data, the constraint relationship between the point cloud data is further determined, so that the organizational structure and topological properties of the point cloud data are completely retained. Figure 3Each layer of nodes of the tree diagram shown is processed to Figure 3 and Figure 4 For example, the process of respectively profiling and outputting the corresponding profiled graph according to the clustering nodes is as follows:
[0076] S31: Profiling and graphing the clustering layer in which the root node N is located to obtain G0.
[0077] S32: Profiling and graphing the first layer nodes N1, N2, N3,... under the root node N in turn to obtain G1, G2, G3,...
[0078] S33: Profiling and graphing the second layer nodes under each first layer node in turn, that is, profiling and graphing N11, N12, N13,... to obtain G11, G12, G13,...
[0079] Since the k-d tree of the present example has only two layers, the second layer nodes are leaf nodes, and each leaf node contains a part of the point cloud data. By profiling and graphing the clustering results, the constraint relationship between the originally discrete sample points in the clustering results is established, so that the concept of triangular face is obtained, the topological properties are possessed, and the accuracy of the processing result is further improved.
[0080] S5: Mapping each sample point contained in each profiled graph to a two-dimensional sub-image, the two-dimensional sub-image including the constraint relationship of each sample point of the profiled graph.
[0081] The present embodiment can map the three-dimensional point cloud data to a two-dimensional sub-image by mapping each profiled graph. The two-dimensional sub-image formed after the mapping operation saves the organizational structure, topological properties, and constraint relationship contained in the three-dimensional point cloud data, and the noise information in the processing process is very small, which can effectively reflect the overall distribution and internal relationship of the point cloud data.
[0082] In an optional embodiment, step S5 further includes:
[0083] S51: Establishing a mapping function for each sample point in a profiled graph to map the sample point to a two-dimensional sub-image;
[0084] In a specific example, by using the mapping function F, the sample points of the three-dimensional point cloud can be mapped to a two-dimensional sub-image, as shown in Figure 5 The mapping results of the sample points v1 and v2 are F(v1) and F(v2), respectively. Based on the plurality of profiled graphs obtained in the foregoing steps, a mapping function is established for each sample point in each profiled graph, so that the point cloud data contained in each sample point in each profiled graph can be correctly mapped to a two-dimensional sub-image.
[0085] S53: Select any two sample points from the partitioned map to form a sample point pair, and calculate the Euclidean distance of the sample point pair through the mapping function corresponding to the two sample points to characterize the constraint relationship between the two sample points;
[0086] This step forms sample point pairs by having two sample points with a constraint relationship. The constraint relationship between the two sample points is characterized by Euclidean distance. This allows the location information, topological properties, and constraint relationships of the point cloud data of each cluster layer to be accurately and clearly mapped to the generated two-dimensional sub-image.
[0087] In a specific example, such as Figure 5 As shown, any two sample points v1 and v2 are selected to form a sample point pair. If there is a constraint relationship between these two sample points, then v1 and v2 are connected by a line segment. The Euclidean distance between the sample points represents the structural topological property of the sample point pair, that is:
[0088] The length of the line segment d12 = ||F(v1) – F(v2)||.
[0089] S55: Traverse all sample point pairs in the subdivision map and establish an energy objective function. Obtain the two-dimensional sub-image mapped by the subdivision map by minimizing the energy objective function.
[0090] In a specific example, taking the traversal of the partition graph G0 as an example, which includes the sample points output by the aforementioned clustering results, the sample points contained in the partition graph are traversed and an objective function is constructed. The formula for the objective function is:
[0091]
[0092] When the objective function is minimized, the system energy of point cloud G0 reaches its minimum, and the mapping result of the sample points eventually tends to stabilize, thus yielding the two-dimensional sub-image corresponding to the closest partition map.
[0093] S57: Determine whether all subdivision images have completed the two-dimensional sub-image mapping; otherwise, jump to S51.
[0094] The above calculation process can sequentially map each subdivided image obtained after partitioning into a two-dimensional sub-image, and the mapping process preserves the structural and topological properties between point clouds.
[0095] This embodiment maps 3D point cloud data into a 2D image by constructing a mapping function, constraint relationships, and objective function. The positions and overall distribution of all sample points of the 3D point cloud data mapped onto the 2D image strictly follow the data information of the 3D point cloud data. Furthermore, the system energy of the point cloud data is minimized during the mapping process, effectively preserving the overall structural topological properties of the 3D point cloud.
[0096] S7: mapping the two-dimensional sub-images obtained by splicing to output the two-dimensional image mapped by the three-dimensional point cloud data.
[0097] The embodiment can output the two-dimensional image which completely represents the topological properties and organization structure of the three-dimensional point cloud data after splicing the two-dimensional sub-images obtained by the foregoing steps, and has high accuracy and fast processing speed.
[0098] In one specific example, the splicing process of the clustering result outputting two layers of clusters is as shown in Figure 6
[0099] S71: the second layer node contains a plurality of point cloud data, and the mapping results of the point cloud data contained by each second layer node are drawn in the sub-two-dimensional image corresponding to the node, for example, the mapping results F(v1) and F(v2) of the point cloud data v1 and v2 contained by the second layer node N11 form a section graph G11, and then the point cloud data contained in the section graph G11 is mapped to form a two-dimensional sub-image I11. The section graph G12 formed by the second layer node N12 after sectioning further generates a two-dimensional sub-image I12 after mapping.
[0100] S72: splicing all the second layer nodes of the clustering hierarchy, for example, splicing I11 and I12 obtained by mapping G11 and G12 into I1; splicing I21 and I22 obtained by mapping G21 and G22 into I2.
[0101] S73: splicing all the first layer nodes of the clustering hierarchy, for example, splicing the two-dimensional sub-images I1 and I2 into I0. Finally, the splicing of the point cloud is completed, and a complete two-dimensional image I0 reflecting the three-dimensional point cloud data is obtained.
[0102] The two-dimensional sub-image splicing process of the embodiment completes the overall point cloud mapping based on the point cloud organization structure of the cluster, and the node reflects the point cloud organization structure of the cluster, and the two-dimensional image formed on this basis saves the organization structure, constraint relationship and topological properties of the original three-dimensional point cloud data.
[0103] In one optional embodiment, the two-dimensional image is a floating-point data. In the embodiment, the two-dimensional image saves the organization structure, constraint relationship and topological properties of the original three-dimensional point cloud data, so the two-dimensional image is continuous rather than discrete. In one specific example, as Figure 7a As shown in the figure, the left side is three-dimensional point cloud data, and a two-dimensional image on the right side is generated after one layer of clustering operation, partitioning, mapping and splicing by using the processing method of the embodiment of the application. As can be seen from the figure, the data information, position relationship and constraint relationship of the original image in the three-dimensional point cloud data can be retained in the two-dimensional image, and the point cloud data is not missed, nor is noise information added, and the obtained two-dimensional image has high accuracy.
[0104] In another specific example, as Figure 7b shown, the left side is three-dimensional point cloud data, and a two-dimensional image on the right side is generated after two layers of clustering operation, partitioning, mapping and splicing by using the processing method of the embodiment of the application. As can be seen from the figure, since two layers of clustering operation are performed, the data information, position relationship and constraint relationship of the original image in the three-dimensional point cloud data are retained in the two-dimensional image on the right side through multi-layer constraints, and the point cloud data is not missed, nor is noise information added, and the obtained two-dimensional image has high accuracy.
[0105] The embodiment of the application establishes the organization structure and constraint relationship of the three-dimensional point cloud data by using the clustering result after the clustering operation of the three-dimensional point cloud data, and generates a two-dimensional sub-image by mapping the point cloud data under the constraint relationship, and splices the two-dimensional sub-image to obtain a two-dimensional image containing the structural topological properties of the three-dimensional point cloud data. The two-dimensional image obtained by the three-dimensional point cloud data processing method of the application can accurately retain the position information, constraint relationship and organization structure of the three-dimensional point cloud data, and also retains the structural topological properties between the three-dimensional point cloud data. The method can effectively improve the processing speed of the three-dimensional point cloud data and reduce noise information in the processing process, and has a wide application prospect.
[0106] Corresponding to the three-dimensional point cloud data processing method provided in the above embodiment, as Figure 8 shown, one embodiment of the application also provides a processing system capable of executing the above method, which comprises a clustering unit, a partitioning unit, a mapping unit and a splicing unit, wherein,
[0107] The clustering unit is configured to perform clustering operation on the three-dimensional point cloud data and output a clustering result to establish the organization structure of the three-dimensional point cloud data.
[0108] The partitioning unit is configured to perform triangulation on the three-dimensional point cloud data according to the clustering result and output a plurality of partitioning graphs to establish the constraint relationship of the three-dimensional point cloud data.
[0109] The mapping unit is configured to respectively map each sample point contained in each partitioning graph to a two-dimensional sub-image, and the two-dimensional sub-image comprises the constraint relationship of each sample point of the partitioning graph.
[0110] The splicing unit is configured to splice the two-dimensional sub-images obtained by mapping each of the divided graphs and output a two-dimensional image mapped by the three-dimensional point cloud data.
[0111] The embodiment of the present application establishes the organization structure and constraint relationship of the three-dimensional point cloud data by using the clustering result of the three-dimensional point cloud data after clustering operation, and generates two-dimensional sub-images by mapping the point cloud data under the constraint relationship, and splices the two-dimensional sub-images to obtain a two-dimensional image containing the structural topological properties of the three-dimensional point cloud data. The two-dimensional image obtained by the three-dimensional point cloud data processing method of the present application can accurately retain the position information, constraint relationship and organization structure of the three-dimensional point cloud data, and also retains the structural topological properties between the three-dimensional point cloud data. The method can effectively improve the processing speed of the three-dimensional point cloud data, and can reduce the noise information in the processing process, and has a wide application prospect.
[0112] Since the processing system provided by the embodiment of the present application corresponds to the processing method provided by the above several embodiments, the preceding embodiments are also applicable to the processing system provided by the embodiment of the present application, which will not be described in detail in the embodiment.
[0113] Another embodiment of the present application provides a computer readable storage medium, which stores a computer program, and the program is executed by a processor to realize: S1, performing clustering operation on three-dimensional point cloud data and outputting a clustering result to establish an organization structure of the three-dimensional point cloud data; S3, performing triangulation on the three-dimensional point cloud data according to the clustering result and outputting a plurality of divided graphs to establish a constraint relationship of the three-dimensional point cloud data; S5, respectively mapping each sample point contained in each of the divided graphs into a two-dimensional sub-image, the two-dimensional sub-image including the constraint relationship of each sample point of the divided graph; and S7, splicing the two-dimensional sub-images obtained by mapping each of the divided graphs and outputting a two-dimensional image mapped by the three-dimensional point cloud data.
[0114] In practical application, the computer readable storage medium can adopt any combination of one or more computer readable medium. The computer readable medium can be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium may, for example, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or apparatus, or any combination thereof. More specific examples (non-exhaustive list) of the computer readable storage medium include: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present embodiment, the computer readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, device or apparatus.
[0115] The computer readable signal medium can include a data signal propagated in baseband or propagated as a carrier wave in a propagated data signal, in which the computer readable program code is embodied. Such propagated data signal can take a variety of forms, including but not limited to electro-magnetic, optical or any suitable combination thereof. The computer readable signal medium can also be any computer readable medium that is not a storage medium and that can communicate, propagate or transport programming for use by or in connection with an instruction execution system, apparatus or device.
[0116] The program code embodied on the computer readable medium can be transmitted using any appropriate medium, including but not limited to wireless, wire line, optical fiber cable, RF, etc., or any suitable combination of the above.
[0117] The computer program code for carrying out operations of the present application can be written in one or more programming languages or combinations of languages including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages such as "C" or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).
[0118] As Figure 9As shown, another embodiment of the application provides a schematic diagram of a computer device. Figure 9 The computer device 12 shown is merely one example. It should be appreciated that the functions and use of the computer device 12 should not be limited to the particular embodiments shown.
[0119] As Figure 9 shown, the computer device 12 is in the form of a general-purpose computing device. The components of the computer device 12 can include, but are not limited to, one or more processors or processing units 16, a system memory 28, and a bus 18 that couples various system components including the system memory 28 to the processing unit 16.
[0120] The bus 18 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a graphics bus (e.g., an Accelerated Graphics Port, or AGP bus) and a processor or local bus using any of a variety of bus architectures. By way of example, these architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
[0121] The computer device 12 typically includes a variety of computer system readable media. Such media can be any available media that is located either in or out of the computer device 12, such as volatile and non-volatile media, removable and non-removable media.
[0122] The system memory 28 can include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. The computer device 12 can further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, a storage system 34 can be provided for reading from and writing to non-removable, non-volatile magnetic media (e.g., a "hard drive"). Figure 9 not shown, a magnetic hard disk drive for reading from and writing to non-removable, non-volatile magnetic media (e.g., a "hard drive"). Although not specifically shown, such computer system can further include other removable / non-removable, volatile / non-volatile computer system storage media including, but not limited to, a magnetic floppy disk drive for reading from and writing to a removable, non-volatile magnetic floppy disk, and an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM or other optical media. It should be appreciated by those skilled in the art that other types of computer system storage media that are readable by a computer system can be used in the computer device 12. In a typical Figure 9
[0123] Program / utility 40, having a set (at least one) of program modules 42, can be stored in memory 28 by way of example, such program modules 42 include an operating system, one or more application programs, other program modules, and program data, each of which or a combination thereof, can include implementation of a networking environment. Program modules 42 generally carry out the functions and / or methodologies of embodiments of the application as described herein.
[0124] Computer device 12 can also communicate with one or more external devices 14 such as a keyboard or pointing device, a display 24, etc. One or more devices enabling a user to interact with computer device 12 and / or one or more devices enabling computer device 12 to communicate with one or more other computing devices. Such communication can be via Input / Output (I / O) interface(s) 22. Additionally, computer device 12 can communicate with one or more networks such as a local area network (LAN), a wide area network (WAN), and / or the Internet through network adapter 20. As Figure 9 illustrated, network adapter 20 communicates with the other components of computer device 12 via bus 18. It should be understood that although not shown, other hardware and / or software components could be used in conjunction with computer device 12. Examples, include, but are not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc. Figure 9
[0125] Processor unit 16 executes various program applications and data processing by running programs stored in system memory 28, such as implementing a processing method of three-dimensional point cloud data.
[0126] It is apparent that the above-described embodiments of the present application are only examples for clearly explaining the present application, and are not intended to limit the embodiments of the present application. For those skilled in the art, other different forms of changes or variations can be made on the basis of the above description, and it is impossible to enumerate all the embodiments here. Any obvious changes or variations derived from the technical solutions of the present application are still within the protection scope of the present application.
Claims
1. A method of processing three-dimensional point cloud data, characterized by, Comprising: S1: performing clustering operation on three-dimensional point cloud data and outputting clustering result to establish organization structure of the three-dimensional point cloud data; S3: performing triangulation on the three-dimensional point cloud data according to the clustering result and outputting multiple triangulation graphs to establish constraint relationship of the three-dimensional point cloud data; S5: respectively mapping each sample point contained in each triangulation graph into a two-dimensional sub-image, the two-dimensional sub-image comprising constraint relationship of each sample point of the triangulation graph; S7: splicing the two-dimensional sub-images and outputting two-dimensional image mapped by the three-dimensional point cloud data; Wherein, the S5 further comprises: S51: respectively establishing mapping function for each sample point in a triangulation graph to map the sample point into a two-dimensional sub-image; S53: selecting two sample points from the triangulation graph to form a sample point pair, and calculating Euclidean distance of the sample point pair through mapping function corresponding to the two sample points to represent constraint relationship of the two sample points; S55: traversing all sample point pairs in the triangulation graph and establishing energy objective function, and obtaining two-dimensional sub-image mapped by the triangulation graph through minimizing the energy objective function; S57: judging whether all triangulation graphs complete two-dimensional sub-image mapping, if not, jumping to S51.
2. The treatment method according to claim 1, characterized in that, A multi-layer clustering method is used to perform clustering operation on three-dimensional point cloud data.
3. The treatment method according to claim 2, characterized in that, The S1 further comprises: S11: performing clustering operation according to preset clustering layer number; S13: selecting multiple first clustering center points from three-dimensional point cloud data of one clustering layer; S15: traversing three-dimensional point cloud data of the clustering layer, respectively calculating first distance of each sample point and each first clustering center point, and taking first clustering center point with minimum first distance as attribution class of the sample point, and obtaining multiple sub-classes of the three-dimensional point cloud data; S17: calculating second clustering center point of the three-dimensional point cloud data of the clustering layer according to each sub-class, and calculating second distance between the second clustering center point and the first clustering center point, judging whether the second distance meets preset distance threshold, if not, taking the second clustering center as the first clustering center and jumping to S15, if yes, taking the first clustering center point as clustering node and outputting clustering result comprising the clustering node, and judging whether clustering operation of all clustering layers is completed, if not, jumping to S13.
4. The treatment method of claim 2, wherein The clustering operation comprises at least one of k-means, mean shift, density clustering and hierarchical clustering.
5. The treatment method of claim 3, wherein The S3 further comprises: respectively performing triangulation mapping according to clustering nodes of the clustering result and outputting corresponding triangulation graphs.
6. The treatment method of claim 1, wherein The two-dimensional image is floating point type data.
7. A processing system applying the processing method according to any one of claims 1 to 6, characterized in that, Comprising clustering unit, triangulation unit, mapping unit and splicing unit, wherein, The clustering unit is configured to perform clustering operation on three-dimensional point cloud data and output clustering result to establish organization structure of the three-dimensional point cloud data; The triangulation unit is configured to perform triangulation on the three-dimensional point cloud data according to the clustering result and output multiple triangulation graphs to establish constraint relationship of the three-dimensional point cloud data; The mapping unit is configured to respectively map each sample point included in each sectioning graph to a two-dimensional sub-image, and the two-dimensional sub-image comprises constraint relationships of the sample points of the sectioning graph. The splicing unit is configured to splice the two-dimensional sub-images obtained by mapping each sectioning graph, and output a two-dimensional image mapped by the three-dimensional point cloud data.
8. A computer-readable storage medium having stored thereon a computer program, characterized in that, The program, when executed by a processor, implements the method of any one of claims 1-6.
9. A computer device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, The processor, when executing the program, implements the method of any one of claims 1-6.
Citation Information
Patent Citations
Data clustering method and device and Spark big data platform
CN105808581A
Novel method for measurement grain surface area and projection parameter
CN110866947A