Dynamic point cloud compression method and device, equipment and storage medium
By dividing dynamic point cloud data into subcubes and fusing timing context information, and calculating entropy values in combination with deep learning models, the problem of not being able to effectively compress dynamic point cloud data in the existing technology is solved, and a more efficient compression effect is achieved.
Patent Information
- Application Number
- CN202411778631.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-03
- Publication Date
- 2025-03-28
AI Technical Summary
The prior art cannot effectively compress dynamic point cloud data, resulting in inefficient storage and transmission.
By determining the external cube and dividing the cube, obtaining and fusing the context information of each node at the current and previous moments, using the deep learning model to calculate the entropy value of the dynamic point cloud data, and compressing it according to the entropy value.
It effectively utilizes the changes in the time dimension and the correlation of the spatial dimension of dynamic point cloud data, avoids repeated processing of similar information, and achieves a more efficient compression effect.
Smart Images

Figure CN119722823A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of artificial intelligence technology, and in particular relates to a dynamic point cloud compression method, device, equipment and storage medium. Background Art
[0002] A point cloud refers to a data set consisting of a large number of points in three-dimensional space. It is a collection of points in space, where the position of each point is described by a set of Cartesian coordinates (x, y, z). Some point clouds may also contain other attribute information such as color information, object reflection surface intensity, surface normal vector, classification value, time, etc.
[0003] Point cloud data can be used in many fields. For example, point cloud data obtained by laser radar scanning can be used for vehicle surrounding environment perception, target detection, obstacle recognition, path planning, etc., to help autonomous vehicles make decisions, and is one of the key technologies for realizing autonomous driving. The point cloud data set of the surface of an object obtained by measuring instruments can be used to create a three-dimensional digital model of the object as the basis for reverse modeling, and has important applications in industrial design, cultural relic restoration, product imitation and other fields. Point cloud data can also be used to build three-dimensional models in virtual scenes or augmented reality to provide a more realistic visual experience, such as in game development, virtual training, architectural visualization and other aspects. In the medical field, such as medical image analysis, point cloud data can be used to represent the three-dimensional structure of human organs, bones, etc., to assist doctors in diagnosis, surgical planning and simulation, etc.
[0004] However, point cloud data is large in volume and will take up a huge storage space if not compressed. For example, a high-resolution 3D scene scanning point cloud may contain millions or even billions of points. Point cloud data often needs to be transmitted between different devices or systems. The huge amount of data will result in a long transmission time, especially when the network bandwidth is limited. Therefore, point cloud data needs to be compressed when used in related fields.
[0005] There are several ways to compress point cloud data in related fields. One of them is compression based on shape descriptors: for example, using three-dimensional shape descriptors such as shape distribution, spherical harmonics, etc. to represent the overall shape of the point cloud. Compression based on voxelization and shape approximation: voxelize the point cloud, and then use simple geometric shapes (such as cubes, spheres, etc.) to approximate the shape of the point cloud. Another is simple uniform quantization: the amount of data for static point clouds can be reduced by uniformly quantizing their coordinate values. However, when compressing dynamic point clouds, the dynamic point clouds will be divided into many frames, and each frame will be compressed separately. However, many frames of dynamic point clouds are very similar. The above methods of compressing point cloud data do not take this situation into consideration, resulting in the inability to effectively compress dynamic point clouds.
[0006] As mentioned above, the existing technology cannot effectively compress dynamic point cloud data. Summary of the invention
[0007] The present invention provides a dynamic point cloud compression method, device, equipment and storage medium to solve the problem that the dynamic point cloud cannot be effectively compressed in the prior art.
[0008] In a first aspect, the present invention provides a method for compressing a dynamic point cloud, comprising:
[0009] Acquire a target dynamic point cloud data set, and determine a circumscribed cube of the target dynamic point cloud data set;
[0010] Establishing a preset three-dimensional coordinate system, dividing the circumscribed cube into a plurality of sub-cubes in the three-dimensional coordinate system, and dividing the sub-cube into a plurality of new sub-cubes until a preset condition is met;
[0011] Determine the dynamic point cloud data in the target dynamic point cloud data set contained in the sub-cube, and distribute the dynamic point cloud data to the corresponding sub-cube;
[0012] Taking the sub-cube and the circumscribed cube as nodes, obtaining context information of each node at the current moment and context information of each node at the previous moment, fusing the context information of each node at the current moment and context information of each node at the previous moment to obtain fused node information;
[0013] Input the fusion node information into a preset deep learning model, and output the entropy value of the dynamic point cloud data at the current moment;
[0014] The dynamic point cloud data is compressed according to the entropy value of the dynamic point cloud data.
[0015] In a second aspect, the present invention provides a dynamic point cloud compression device, comprising:
[0016] A first determination module is used to obtain a target dynamic point cloud data set and determine a circumscribed cube of the target dynamic point cloud data set;
[0017] A division module, used for establishing a preset three-dimensional coordinate system, dividing the circumscribed cube into a plurality of sub-cubes in the three-dimensional coordinate system, and dividing the sub-cube into a plurality of new sub-cubes until a preset condition is met;
[0018] A second determination module is used to determine the dynamic point cloud data in the target dynamic point cloud data set contained in the sub-cube, and allocate the dynamic point cloud data to the corresponding sub-cube;
[0019] A fusion module, used to take the sub-cube and the circumscribed cube as nodes, obtain context information of each node at the current moment and context information of each node at the previous moment, fuse the context information of each node at the current moment and context information of each node at the previous moment, and obtain fused node information;
[0020] An output module, used to input the fusion node information into a preset deep learning model and output the entropy value of the dynamic point cloud data at the current moment;
[0021] The compression module is used to compress the dynamic point cloud data according to the entropy value of the dynamic point cloud data.
[0022] In a third aspect, the present invention provides a computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the above-mentioned dynamic point cloud compression method when executing the computer program.
[0023] In a fourth aspect, the present invention provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the steps of the above-mentioned dynamic point cloud compression method are implemented.
[0024] In the scheme implemented by the above-mentioned dynamic point cloud compression method, the point cloud data is organized by determining the external cube and dividing it into sub-cubes. Unlike the traditional method of processing each frame in isolation, it highlights the spatial correlation and captures the commonalities of point clouds at the same spatial position at different times, laying the foundation for utilizing similarities.
[0025] And taking the sub-cube and the external cube as nodes, the context information of each node at the current moment and the context information of each node at the previous moment are obtained and fused. This step fully considers the changes in the dynamic point cloud in the time dimension and the similarities at different moments. For example, for a certain sub-cube node, its internal point cloud data at the previous moment presents a certain distribution form. Although there is a change at the current moment, it may only be a slight local change. The fusion of the context information of these two moments (such as the change in the number of point clouds, the average position movement, etc.) can well capture this dynamic change over time and similarity characteristics. Compared with the traditional method of compressing each frame separately without considering the correlation in the time dimension, this scheme utilizes the fusion of node information at different moments to mine the temporal redundancy of dynamic point cloud data, avoids repeated processing of similar information, and makes the subsequent compression based on the fused information more in line with the actual characteristics of the dynamic point cloud, effectively solving the problem that the traditional method cannot utilize the similarity between dynamic point cloud frames, resulting in poor compression effect.
[0026] In addition, a deep learning model is used to calculate the entropy value. Based on the entropy value, different compression strategies are adopted for point cloud data of different complexity and uncertainty, avoiding the problems of mechanical processing and difficulty in effective compression in traditional methods, and achieving more effective compression.
[0027] In summary, this solution solves the problem in the prior art that dynamic point clouds cannot be effectively compressed. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings required for use in the description of the embodiments of the present invention will be briefly introduced below. Obviously, the accompanying drawings in the following description are only some embodiments of the present invention. For ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without paying creative labor.
[0029] Figure 1 is a schematic flow chart of a method for compressing a dynamic point cloud in one embodiment of the present invention;
[0030] Figure 2 is another schematic flow chart of a method for compressing a dynamic point cloud in one embodiment of the present invention;
[0031] Figure 3 is another flow chart of a method for compressing a dynamic point cloud in one embodiment of the present invention;
[0032] Figure 4 is a flow chart of step S50 in an embodiment of the present invention;
[0033] Figure 5 is a flow chart of step S52 in an embodiment of the present invention;
[0034] Figure 6 is a structural schematic diagram of a dynamic point cloud compression device in one embodiment of the present invention;
[0035] Figure 7 is a schematic diagram of a structure of a computer device in one embodiment of the present invention;
[0036] Figure 8 It is another structural schematic diagram of a computer device in one embodiment of the present invention. DETAILED DESCRIPTION
[0037] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0038] See also Figure 1 As shown, Figure 1 A schematic flow chart of a dynamic point cloud compression method provided by an embodiment of the present invention includes the following steps:
[0039] Step S10, obtaining a target dynamic point cloud data set, and determining a circumscribed cube of the target dynamic point cloud data set.
[0040] It should be noted that the method of obtaining the target dynamic point cloud set can be any feasible method. For example, point cloud data can be continuously collected at a certain time interval in the target scene (such as the traffic condition monitoring scene of urban streets, the logistics transportation scene in the factory, etc.) through appropriate data acquisition equipment (such as vehicle-mounted laser radar, laser scanning device in mobile measurement system, etc.). These point cloud data have dynamic characteristics because the objects in the scene are in motion (vehicle driving, people walking, machines running, etc.). The dynamic point cloud data collected in a specific time period are integrated together to form a target dynamic point cloud data set.
[0041] It is understandable that when determining the circumscribed cube of the target dynamic point cloud data set, each point in the target dynamic point cloud data set can be traversed to obtain the coordinate extreme values of all points in each dimension (such as the x-axis, y-axis, and z-axis) in the three-dimensional space, that is, to find the minimum and maximum values of the x-coordinate, the minimum and maximum values of the y-coordinate, and the minimum and maximum values of the z-coordinate. These coordinate extreme values are used to determine a minimum cube that can completely surround the target dynamic point cloud data set. This cube is the circumscribed cube, and its six faces are parallel to the x-axis, y-axis, and z-axis directions of the three-dimensional coordinate system.
[0042] Step S20, establishing a preset three-dimensional coordinate system, dividing the circumscribed cube into a plurality of sub-cubes in the three-dimensional coordinate system, and dividing the sub-cube into a plurality of new sub-cubes until a preset condition is met.
[0043] It should be noted that when establishing a preset three-dimensional coordinate system, it can be established according to the specific needs of the application. For example, in order to facilitate the division of the circumscribed cube into multiple sub-cubes, the three edges derived from a point of the circumscribed cube can be determined. It can be understood that these three edges are perpendicular to each other and are respectively located on three non-parallel surfaces. Therefore, the three edges derived from a point of the circumscribed cube can be used as the three axes of the three-dimensional coordinate system (i.e., the x-axis, the y-axis, and the z-axis).
[0044] It should be noted that the way to divide the circumscribed cube into multiple sub-cubes in the three-dimensional coordinate system can be any feasible way. For example, the circumscribed cube can be divided into a number of sub-cubes of equal size along the coordinate axis direction of the three-dimensional coordinate system at equal intervals.
[0045] It should be noted that the preset conditions in this step can be set according to the specific needs of the application. For example, the number of sub-cubes to be divided can be limited, and when the number of sub-cubes reaches a preset threshold, the preset condition is met. The number of sub-cube divisions can also be limited, and the sub-cube division is stopped after the number of divisions reaches a certain value.
[0046] Step S30 , determining the dynamic point cloud data in the target dynamic point cloud data set contained in the sub-cube, and allocating the dynamic point cloud data to the corresponding sub-cube.
[0047] Specifically, in step S30, for each point in the target dynamic point cloud data set, it can be determined in which sub-cube the point is located according to its coordinate position in the three-dimensional coordinate system.
[0048] Optionally, during the allocation process, a suitable data structure (such as a linked list, array, etc.) can be used to record the dynamic point cloud data contained in each sub-cube to facilitate subsequent processing operations. At the same time, the number, attributes and other related information of the point cloud data allocated to each sub-cube can also be counted to prepare for further analysis.
[0049] Step S40, taking the sub-cube and the circumscribed cube as nodes, obtaining context information of each node at the current moment and context information of each node at the previous moment, fusing the context information of each node at the current moment and context information of each node at the previous moment to obtain fused node information.
[0050] It should be noted that in step S40, all sub-cubes and circumscribed cubes may be used as nodes. Specifically, the circumscribed cube may be used as a root node, and the sub-cubes obtained by dividing the circumscribed cube may be used as child nodes.
[0051] It should be noted that for each node (including sub-cubes and circumscribed cubes), its context information can include a variety of contents, such as the statistical characteristics of the dynamic point cloud data contained in the node (such as the average coordinate position, the distribution density of the point cloud data, the attribute mean of the point cloud data, etc.), the position relationship of the node in three-dimensional space (relative coordinates with adjacent nodes, etc.), and the dynamic change characteristics of the point cloud data in the node (such as the statistical value of the speed, the distribution of the direction, etc., if the motion information of the point cloud can be estimated through a certain algorithm).
[0052] It should be noted that the method of fusing the context information of each node at the current moment and the context information of each node at the previous moment can be any feasible method. For example, a weighted average method can be used to set corresponding weights according to the importance of different information, and the corresponding elements in the context information of each node at the current moment and the previous moment are fused.
[0053] It is understandable that the fused node information of each node is finally obtained, which integrates the relevant features of the previous and next moments and can better reflect the dynamic change law of point cloud data.
[0054] In one embodiment of the present invention, Figure 2 Another flow chart of a dynamic point cloud compression method provided by an embodiment of the present invention is as follows: Figure 2 As shown, the step S40 of "obtaining the context information of each node at the current moment and the context information of each node at the previous moment" includes:
[0055] Step S411, obtaining the grandparent node information of each node at the current moment and the previous moment, and obtaining the sibling node information of each node at the current moment and the previous moment;
[0056] Step S412, obtaining context information of each node at the current moment according to the grandparent node information and the sibling node information of each node at the current moment;
[0057] Step S413, obtaining the context information of each node at the last moment according to the grandparent node information and the sibling node information of each node at the last moment.
[0058] It should be noted that in step S411, in the hierarchical structure constructed with sub-cubes and circumscribed cubes, each node has its corresponding hierarchical relationship. For example, the circumscribed cube is divided into a plurality of first sub-cubes, the circumscribed cube is the parent node of the first sub-cube, and the first sub-cube is the child node of the circumscribed cube. When the first sub-cube is divided into a plurality of second sub-cubes, the first sub-cube is the parent node of the second sub-cube, and the second sub-cube is the child node of the first sub-cube. The grandparent node is the parent node of the parent node of the current node. After the grandparent node is determined, its related information is collected. The related information may include the coordinate range of the grandparent node in three-dimensional space (such as the minimum coordinate to the maximum coordinate of the x-axis, and the same applies to the y-axis and z-axis), a list of all child nodes contained in the grandparent node (i.e., the uncle nodes of the current node), and some overall features of the dynamic point cloud data in the grandparent node, such as the total number of data points, the average coordinates of the data points, etc. This information can be calculated and obtained by traversing the point cloud data in the grandparent node and its child nodes, and stored in a specific data structure for subsequent use.
[0059] It is understandable that in step S411, for each target node, first determine the parent node to which it belongs. Then find all other nodes that have the same parent node as the target node, which are the brother nodes. For example, if the parent node of the current node has 8 child nodes, then the brother nodes of the current node are the other child nodes of its parent node except the current node. For each brother node, its information may include its position information in three-dimensional space (such as coordinate range), the number of dynamic point cloud data contained, and some attribute characteristics of the point cloud data, such as average reflection intensity (if the point cloud data contains reflection intensity attributes), etc.
[0060] It should be noted that, in step S412, the context information of each node at the current moment can be constructed according to the information of the grandparent node and the information of the brother node in any feasible way. For example, the relative position offset of the current node relative to the grandparent node can be calculated, and the relative distance between the current node and each brother node can be calculated. These spatial relationship information can reflect the position situation of the current node in the local spatial structure, which helps to understand the spatial distribution logic of the point cloud data. The quantitative relationship between the current node and the grandparent node and the point cloud data in the brother node can also be compared. For example, if the amount of point cloud data in the grandparent node is large, and the amount of data in the current node and its brother nodes is relatively small, it may imply that there is data screening or special spatial phenomena in this local area. The correlation of the attribute features of the point cloud data can also be analyzed, such as the difference trend between the average reflection intensity of the current node and the average reflection intensity of the brother node, which may reflect the changes in the surface material or lighting conditions of the object in the local area. Combining these spatial relationships and data feature association information, the context information of each node at the current moment is constructed, which comprehensively describes the various features and relationship states of the current node in its local spatial environment.
[0061] It can be understood that in step S411-step S413, taking the current node as the main body, the information of all its brother nodes is integrated together to form a brother node information set for the current node. This set fully presents the situation of other nodes at the same level and with kinship around the current node, which helps to more comprehensively understand the local environment information where the current node is located. Combined with the overall spatial range covered by the grandparent node and the distribution of the brother nodes, the spatial density of the area where the current node is located is analyzed, for example, to determine whether other similar nodes (that is, cubes containing dynamic point cloud data) are relatively densely or sparsely distributed around the current node. This is very helpful for understanding the aggregation characteristics of point cloud data in local space, and also helps to judge the subsequent trend of data changes.
[0062] In one embodiment of the present invention, Figure 3Another flow chart of a dynamic point cloud compression method provided by an embodiment of the present invention is as follows: Figure 3 As shown, the step S40 of "fusing the context information of each node at the current moment and the context information of each node at the previous moment to obtain the fused node information" includes:
[0063] Step S421, inputting the context information of each node at the current moment and the context information of each node at the previous moment into the Attention mechanism module, and filtering to obtain the key context information of each node at the current moment and the previous moment;
[0064] Step S422, merging the key context information of each node at the current moment and the previous moment to obtain fused node information.
[0065] It can be understood that in step S421, when processing data with complex structures and rich information, the Attention mechanism can help focus on some information that is more critical and influential to the task.
[0066] In step S421 and step S422, for the node context information corresponding to the dynamic point cloud data, it may include multi-dimensional and complex contents such as spatial position relationship, point cloud data quantity characteristics, attribute characteristics, etc. The context information of each node at the current moment and the context information of each node at the previous moment are passed as input to the Attention mechanism module. The attention weight corresponding to each context information element can be calculated based on a specific algorithm inside the Attention mechanism module. For example, it may assign weights according to the importance of different elements in the context information in reflecting the dynamic changes of the point cloud, the correlation of the spatial structure, etc. Taking the spatial position relationship element of the node as an example, if it is found in the past data analysis that the dynamic changes of the point cloud in a certain area are closely related to its specific position relationship relative to the grandfather node, then when calculating the attention weight, the weight corresponding to this part of the spatial position relationship information may be relatively high. Similarly, for the point cloud data quantity characteristics, if the change trend of the number of point cloud data in a certain node has a key impact on the dynamic evolution of the overall data, its weight in the Attention mechanism will also be considered.
[0067] Furthermore, the Attention mechanism module can filter the input context information based on the calculated attention weights. Those context information elements with higher weights will be retained as key context information. For example, suppose the context information of a node originally contains the distance information between it and 10 sibling nodes, 5 attribute features of its own point cloud data, and the relative coordinates with the grandparent node. However, after being filtered by the Attention mechanism, only the distance information with the 3 closest sibling nodes, 2 attribute features that are highly sensitive to dynamic changes, and the relative coordinates with the grandparent node in the direction of the key coordinate axis may be retained, thereby effectively reducing the amount of data to be processed later, while highlighting the important information closely related to the dynamic characteristics of the point cloud.
[0068] Step S50: input the fusion node information into a preset deep learning model, and output the entropy value of the dynamic point cloud data at the current moment.
[0069] It should be noted that the preset deep learning model in step S50 can be any deep learning model that can output the entropy value of the dynamic point cloud data at the current moment when the fusion node information is input. For example, the preset deep learning model can be a model built based on a convolutional neural network or a recurrent neural network and its variants, and the number and structure of neurons in its input layer must match the dimension and format of the fusion node information to ensure that the input data can be received correctly.
[0070] Specifically, when training the deep learning model, a large number of dynamic point cloud data samples with labeled entropy values can be used, and the parameters of the model can be optimized and adjusted through appropriate loss functions (such as mean square error loss function, etc.) and optimization algorithms (such as stochastic gradient descent, etc.), so that it can accurately output the entropy value of the corresponding dynamic point cloud data according to the input fusion node information.
[0071] It can be understood that the fusion node information obtained at the current moment is input into the deep learning model, and after the forward propagation calculation of the model, the entropy value of the dynamic point cloud data at the current moment is finally obtained in the output layer. This entropy value can reflect the uncertainty of the dynamic point cloud data or the amount of information, thereby providing a basis for subsequent compression operations.
[0072] In one embodiment of the present invention, Figure 4 is a flow chart of step S50 in an embodiment of the present invention, as shown in Figure 4 As shown, step S50 includes:
[0073] Step S51, inputting the fusion node information into a preset deep learning model;
[0074] Step S52: training the preset deep learning model to learn the probability distribution of each node under the condition of taking the fusion node information as a condition.
[0075] It should be noted that the preset deep learning model in step S51 is any neural network model that can process fusion node information and mine features and patterns related to the entropy value of dynamic point cloud data. For example, this model can be constructed by a convolutional neural network, a recurrent neural network or their variants, or a network structure customized specifically for the characteristics of point cloud data processing.
[0076] It should be noted that in step S52, the goal of the preset deep learning model training is to allow the preset deep learning model to learn to accurately obtain the probability distribution of each node under the given fused point cloud information as a condition. The probability distribution here can be understood as the possibility of different node states, and the node state is comprehensively determined by the various features (space, data volume, attributes, etc.) contained in the fused node information. For example, for a certain node, it has different probabilities of occurrence under different spatial positions, point cloud data volume ranges, and attribute values. The model needs to learn the mapping relationship between these probabilities and fused node information through training, so that it can predict the corresponding probability distribution based on the input new fused node information.
[0077] In order to achieve the above training objectives, a large number of fused node information samples with annotations (i.e., known probability distribution of each node) can be prepared as training data. These samples can be obtained by collecting multiple sets of data in actual dynamic point cloud data scenes, and using existing professional knowledge, statistical methods or other reliable calculation methods to predetermine the probability distribution corresponding to each node, and use them as labels to correspond to the corresponding fused node information samples one by one. For example, in a simulated traffic scene dynamic point cloud data set, the probability distribution can be statistically calculated based on the frequency of occurrence of vehicles (represented in the form of point clouds) in various areas (corresponding to different nodes) at different times, and used to annotate the fused node information samples.
[0078] Furthermore, a suitable training algorithm, such as stochastic gradient descent and its variants, can be used to input the training data into the preset deep learning model in sequence. The model will perform forward propagation calculations based on the current input data to obtain the predicted probability distribution of each node, and then use the back propagation algorithm to adjust the weight parameters of the model by comparing the difference between the predicted results and the corresponding true labels (known probability distribution), so that the model is continuously optimized and the error between the predicted results and the true labels is gradually reduced, ultimately achieving the ability to more accurately output the probability distribution of each node based on the fused point cloud information.
[0079] It is understandable that learning probability distribution through training models is actually digging deep into the inherent statistical laws of dynamic point cloud data. Different combinations of fused node information correspond to different node probability distributions, reflecting the possibility of point cloud data in different states. This is of great significance for a comprehensive understanding of the uncertainty and change trend of dynamic point cloud data, and helps to more reasonably evaluate and calculate entropy values based on probability distribution in the future, thereby providing a more realistic basis for applications such as data compression. During the training process, the deep learning model is not only learning how to get the correct probability distribution output based on the input, but also automatically extracting and optimizing more effective feature representations from the fused node information. It can discover potential feature relationships that are difficult to directly perceive or define manually, and perform higher-level abstraction and feature combination of fused node information, so that the model can represent the relationship between data and probability distribution in a more concise and efficient way. Compared with the traditional method of manually designing features and rules, it has stronger learning and optimization capabilities.
[0080] In one embodiment of the present invention, Figure 5 is a flow chart of step S52 in an embodiment of the present invention, as shown in Figure 5 As shown, step S52 includes:
[0081] Step S521, training the preset deep learning model, and obtaining the predicted probability distribution of each node output by the preset deep learning model under the condition of taking the fused point cloud information as a condition;
[0082] Step S522, inputting the predicted probability distribution into a cross entropy loss function, and outputting the difference between the predicted probability distribution and the true probability distribution of the node;
[0083] Step S523, when the difference value exceeds the preset error range, continuously adjust the parameters of the deep learning model until the difference value between the predicted probability distribution and the true probability distribution is within the preset error range.
[0084] It should be noted that in step S522, the cross entropy loss function is a tool for measuring the difference between two probability distributions. Here, the predicted probability distribution output by the model in step S521 is used as input, and the known true probability distribution of the nodes (i.e., the annotations in the training data) is also used as a reference. The cross entropy loss function calculates a difference value based on the two probability distributions. The size of this difference value directly reflects the degree of deviation between the predicted probability distribution and the true probability distribution. If the predicted probability distribution is exactly the same as the true probability distribution, the difference value output by the cross entropy loss function is 0; the larger the difference value, the more inconsistent the predicted result is with the actual situation.
[0085] It should be noted that in step S523, the preset error range is a pre-set standard for measuring model performance, which can be set according to the specific needs of the application. When the difference value calculated in step S522 exceeds this preset error range, it means that the prediction result of the model is not accurate enough and the model needs to be adjusted. The adjustment method can be to update the parameters of the deep learning model (such as the weights and biases of the neural network) through the back propagation algorithm according to the gradient information calculated by the loss function. This updating process will enable the model to gradually reduce the difference between the predicted probability distribution and the true probability distribution in subsequent predictions. This process will continue to iterate until the difference value falls within the preset error range. At this time, it can be considered that the model has learned a more accurate mapping relationship from the fused point cloud information to the probability distribution of each node.
[0086] It can be understood that a complete model training feedback loop is formed in step S521-step S523. Step S521 makes a prediction, step S522 measures the quality of the prediction, and step S523 adjusts the model according to the measurement results. By constantly repeating this process, the model can gradually optimize its parameters to achieve better prediction results. This feedback-based training method enables the model to efficiently learn useful information from the data instead of blindly adjusting parameters. The cross entropy loss function has excellent properties in measuring the difference in probability distribution, and it can guide the model to accurately learn the probability distribution. By continuously minimizing the difference between the predicted probability distribution and the true probability distribution, the model can better capture the complex relationship between the fused point cloud information and the probability distribution of each node, thereby improving the prediction accuracy of the probability distribution.
[0087] Step S60: compressing the dynamic point cloud data according to the entropy value of the dynamic point cloud data.
[0088] It should be noted that, in step S60, different compression strategies can be adopted based on the obtained entropy value. For example, if the entropy value is low, it means that the uncertainty of the data is small and the amount of information is relatively small, then a relatively high compression ratio can be adopted, and compression means such as quantization and encoding (such as coarser quantization of coordinate values, more compact encoding, etc.) can be used to minimize the amount of data while ensuring a certain data accuracy and recoverability.
[0089] If the entropy value is high, it means that the data is more complex and rich in information. A relatively conservative compression ratio can be used to avoid problems such as excessive data loss and poor data quality after recovery due to over-compression. Some encoding methods with higher precision but weaker compression effects can be selected, or data can be divided into blocks or layers for compression. Different compression strategies can be implemented according to the entropy characteristics of different areas (corresponding to different sub-cubes, etc.) to achieve better compression effects. At the same time, the key information of the dynamic point cloud data can be retained as much as possible to meet the data quality requirements of subsequent application scenarios (such as environmental perception and target recognition).
[0090] In one embodiment of the present invention, step S60 includes:
[0091] Step S61, encoding each node according to the probability distribution of each node to compress the dynamic point cloud data.
[0092] In step S61, the probability distribution of each node is obtained based on the previous step, which reflects the probability of the state or information represented by each node appearing in the entire dynamic point cloud data set. For example, when the dynamic point cloud data is divided into multiple nodes by sub-cubes, the probability of the point cloud in a sub-cube node presenting a specific shape, distribution characteristics, etc. can be reflected by the probability distribution.
[0093] It can be understood that by reasonably allocating the coding length for each node according to its probability distribution and combining all the nodes after encoding, the entire dynamic point cloud data can occupy less storage space after encoding and representation, thereby achieving compression of the dynamic point cloud data.
[0094] In one embodiment of the present invention, step S61 includes:
[0095] Step S611, when encoding a node, control the encoding length of the node to be inversely proportional to the probability distribution value of the node.
[0096] It can be understood that in step S611, information with a high probability of occurrence (i.e., a large probability distribution value) has relatively greater redundancy and lower uncertainty, so it can be represented by a shorter code; while information with a low probability of occurrence (low probability distribution value) is often more unique and has a higher uncertainty, so it requires a relatively long code to accurately describe it, thereby reducing the code length required for the overall data representation and achieving the purpose of compression.
[0097] It should be understood that the order of execution of the steps in the above embodiment does not necessarily mean 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 embodiment of the present invention.
[0098] In one embodiment, a dynamic point cloud compression device is provided, and the dynamic point cloud compression device corresponds to the dynamic point cloud compression method in the above embodiment. Figure 6 As shown, the dynamic point cloud compression device includes a first determination module 610, a division module 620, a second determination module 630, a fusion module 640, an output module 650 and a compression module 660. The functional modules are described in detail as follows:
[0099] A first determination module 610 is used to obtain a target dynamic point cloud data set and determine a circumscribed cube of the target dynamic point cloud data set;
[0100] A division module 620 is used to establish a preset three-dimensional coordinate system, divide the circumscribed cube into a plurality of sub-cubes in the three-dimensional coordinate system, and divide the sub-cube into a plurality of new sub-cubes until a preset condition is met;
[0101] A second determination module 630 is used to determine the dynamic point cloud data in the target dynamic point cloud data set contained in the sub-cube, and allocate the dynamic point cloud data to the corresponding sub-cube;
[0102] A fusion module 640 is used to use the sub-cube and the circumscribed cube as nodes, obtain context information of each node at the current moment and context information of each node at the previous moment, and fuse the context information of each node at the current moment and context information of each node at the previous moment to obtain fused node information;
[0103] An output module 650 is used to input the fusion node information into a preset deep learning model and output the entropy value of the dynamic point cloud data at the current moment;
[0104] The compression module 660 is used to compress the dynamic point cloud data according to the entropy value of the dynamic point cloud data.
[0105] In one embodiment, the fusion module 640 is further configured to:
[0106] Get the grandparent node information of each node at the current moment and the previous moment, and get the sibling node information of each node at the current moment and the previous moment;
[0107] According to the grandparent node information and sibling node information of each node at the current moment, the context information of each node at the current moment is obtained;
[0108] According to the grandparent node information and sibling node information of each node at the previous moment, the context information of each node at the previous moment is obtained.
[0109] In one embodiment, the output module 650 is specifically used to:
[0110] Inputting the fusion node information into a preset deep learning model;
[0111] The preset deep learning model is trained to learn the probability distribution of each node under the condition of taking the fused node information as a condition.
[0112] In one embodiment, the compression module 660 is specifically used to:
[0113] According to the probability distribution of each node, each node is encoded to compress the dynamic point cloud data.
[0114] In one embodiment, the compression module 660 is specifically used to:
[0115] When encoding a node, the encoding length of the control node is inversely proportional to the probability distribution value of the node.
[0116] In one embodiment, the output module 650 is further used for:
[0117] Training the preset deep learning model, and obtaining a predicted probability distribution of each node output by the preset deep learning model under the condition that the fused point cloud information is used;
[0118] Input the predicted probability distribution into a cross entropy loss function, and output the difference between the predicted probability distribution and the true probability distribution of the node;
[0119] When the difference value exceeds a preset error range, the parameters of the deep learning model are continuously adjusted until the difference value between the predicted probability distribution and the true probability distribution is within the preset error range.
[0120] In one embodiment, the fusion module 640 is specifically used to:
[0121] Input the context information of each node at the current moment and the context information of each node at the previous moment into the Attention mechanism module, and filter out the key context information of each node at the current moment and the previous moment;
[0122] The key context information of each node at the current moment and the previous moment is fused to obtain the fused node information.
[0123] The present invention provides a compression device for dynamic point clouds, which organizes point cloud data by determining an external cube and dividing it into sub-cubes. Unlike the traditional method of processing each frame in isolation, it highlights the spatial correlation and captures the commonalities of point clouds at the same spatial position at different times, laying the foundation for utilizing similarities.
[0124] And taking the sub-cube and the external cube as nodes, the context information of each node at the current moment and the context information of each node at the previous moment are obtained and fused. This step fully considers the changes in the dynamic point cloud in the time dimension and the similarities at different moments. For example, for a certain sub-cube node, its internal point cloud data at the previous moment presents a certain distribution form. Although there is a change at the current moment, it may only be a slight local change. The fusion of the context information of these two moments (such as the change in the number of point clouds, the average position movement, etc.) can well capture this dynamic change over time and similarity characteristics. Compared with the traditional method of compressing each frame separately without considering the correlation in the time dimension, this scheme utilizes the fusion of node information at different moments to mine the temporal redundancy of dynamic point cloud data, avoids repeated processing of similar information, and makes the subsequent compression based on the fused information more in line with the actual characteristics of the dynamic point cloud, effectively solving the problem that the traditional method cannot utilize the similarity between dynamic point cloud frames, resulting in poor compression effect.
[0125] In addition, a deep learning model is used to calculate the entropy value. Based on the entropy value, different compression strategies are adopted for point cloud data of different complexity and uncertainty, avoiding the problems of mechanical processing and difficulty in effective compression in traditional methods, and achieving more effective compression.
[0126] In summary, this solution solves the problem in the prior art that dynamic point clouds cannot be effectively compressed.
[0127] For the specific definition of the dynamic point cloud compression device, please refer to the definition of the dynamic point cloud compression method above, which will not be repeated here. Each module in the above-mentioned dynamic point cloud compression device can be implemented in whole or in part by software, hardware and a combination thereof. The above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
[0128] Based on the above dynamic point cloud compression method, such as Figure 7 As shown, an embodiment of the present invention further provides a structural schematic diagram of a dynamic point cloud compression device, the compression device comprising a processor 71 and a memory 72 coupled to the processor 71. The memory 72 stores a computer program, and when the computer program is executed by the processor 71, the processor 71 executes the steps of the dynamic point cloud compression method in the above embodiment.
[0129] For other details about how the processor 71 in the dynamic point cloud compression device implements the above technical solution, please refer to the description of the dynamic point cloud compression method provided in the above invention embodiment, which will not be repeated here.
[0130] Among them, the processor 71 can also be called a CPU (Central Processing Unit), and the processor 71 may be an integrated circuit chip with signal processing capabilities; the processor 71 can also be a general-purpose processor, DSP (Digital Signal Process), ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, among which the general-purpose processor can be a microprocessor or the processor 71 can also be any conventional processor, etc.
[0131] like Figure 8 As shown, the embodiment of the present invention also provides a schematic diagram of the structure of a computer-readable storage medium, on which a readable computer program 81 is stored; wherein the computer program 81 can be stored in the above storage medium in the form of a software product, including a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to execute all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, magnetic disk or optical disk, ROM (Read-Only Memory), RAM (Random Access Memory) and other media that can store program codes, or terminal devices such as computers, servers, mobile phones, and tablets.
[0132] In the several embodiments provided by the present invention, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the modules is only a logical function division. There may be other division methods in actual implementation, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or modules, which can be electrical, mechanical or other forms.
[0133] The modules described as separate components may or may not be physically separated, and the components shown as modules may or may not be physical modules, that is, they may be located in one place or distributed on multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0134] In addition, each functional module in each embodiment of the present invention may be integrated into a processing module, or each module may exist physically separately, or two or more modules may be integrated into one module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may be stored in a computer-readable storage medium.
[0135] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product.
[0136] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present invention is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from one website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium), or a semiconductor medium (e.g., an SSD (solid state disk, solid state hard disk)).
[0137] The technical solution provided by the present invention is introduced in detail above. The present invention applies specific examples to illustrate the principle and implementation mode of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. At the same time, for those skilled in the art, according to the idea of the present invention, there will be changes in the specific implementation mode and application scope. In summary, the content of this specification should not be understood as limiting the present invention.
[0138] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, optical storage, etc.) containing computer-usable program code.
[0139] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0140] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0141] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process in the computer or other programmable device. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0142] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include these modifications and variations. The non-Company software tools or components that appear in the embodiments of the present invention are merely examples and do not represent actual use.
Claims
1. A method for compressing a dynamic point cloud, characterized in that: include: Acquire a target dynamic point cloud data set, and determine a circumscribed cube of the target dynamic point cloud data set; Establishing a preset three-dimensional coordinate system, dividing the circumscribed cube into a plurality of sub-cubes in the three-dimensional coordinate system, and dividing the sub-cube into a plurality of new sub-cubes until a preset condition is met; Determine the dynamic point cloud data in the target dynamic point cloud data set contained in the sub-cube, and distribute the dynamic point cloud data to the corresponding sub-cube; Taking the sub-cube and the circumscribed cube as nodes, obtaining context information of each node at the current moment and context information of each node at the previous moment, fusing the context information of each node at the current moment and context information of each node at the previous moment to obtain fused node information; Input the fusion node information into a preset deep learning model, and output the entropy value of the dynamic point cloud data at the current moment; The dynamic point cloud data is compressed according to the entropy value of the dynamic point cloud data.
2. The method for compressing a dynamic point cloud according to claim 1, characterized in that: The obtaining of the context information of each node at the current moment and the context information of each node at the previous moment includes: Get the grandparent node information of each node at the current moment and the previous moment, and get the sibling node information of each node at the current moment and the previous moment; According to the grandparent node information and sibling node information of each node at the current moment, the context information of each node at the current moment is obtained; According to the grandparent node information and sibling node information of each node at the previous moment, the context information of each node at the previous moment is obtained.
3. The method for compressing dynamic point clouds according to claim 1, characterized in that: The step of inputting the fusion node information into a preset deep learning model and outputting the entropy value of the dynamic point cloud data at the current moment includes: Inputting the fusion node information into a preset deep learning model; The preset deep learning model is trained to learn the probability distribution of each node under the condition of taking the fused node information as a condition.
4. The method for compressing dynamic point clouds according to claim 3, characterized in that: The compressing the dynamic point cloud data according to the entropy value of the dynamic point cloud data comprises: According to the probability distribution of each node, each node is encoded to compress the dynamic point cloud data.
5. The method for compressing dynamic point clouds according to claim 4, characterized in that: According to the probability distribution of each node, encoding each node to compress the dynamic point cloud data includes: When encoding a node, the encoding length of the control node is inversely proportional to the probability distribution value of the node.
6. The method for compressing dynamic point clouds according to claim 3, characterized in that: The training of the preset deep learning model to learn, under the condition of taking the fusion node information as a condition, obtaining the probability distribution of each node includes: Training the preset deep learning model, and obtaining a predicted probability distribution of each node output by the preset deep learning model under the condition that the fusion node information is used as a condition; Input the predicted probability distribution into a cross entropy loss function, and output the difference between the predicted probability distribution and the true probability distribution of the node; When the difference value exceeds a preset error range, the parameters of the deep learning model are continuously adjusted until the difference value between the predicted probability distribution and the true probability distribution is within the preset error range.
7. The method for compressing dynamic point clouds according to claim 1, characterized in that: The fusing the context information of each node at the current moment and the context information of each node at the previous moment to obtain the fused node information includes: Input the context information of each node at the current moment and the context information of each node at the previous moment into the Attention mechanism module, and filter out the key context information of each node at the current moment and the previous moment; The key context information of each node at the current moment and the previous moment is fused to obtain the fused node information.
8. A dynamic point cloud compression device, characterized in that: include: A first determination module is used to obtain a target dynamic point cloud data set and determine a circumscribed cube of the target dynamic point cloud data set; A division module, used for establishing a preset three-dimensional coordinate system, dividing the circumscribed cube into a plurality of sub-cubes in the three-dimensional coordinate system, and dividing the sub-cube into a plurality of new sub-cubes until a preset condition is met; A second determination module is used to determine the dynamic point cloud data in the target dynamic point cloud data set contained in the sub-cube, and allocate the dynamic point cloud data to the corresponding sub-cube; A fusion module, used to take the sub-cube and the circumscribed cube as nodes, obtain context information of each node at the current moment and context information of each node at the previous moment, fuse the context information of each node at the current moment and context information of each node at the previous moment, and obtain fused node information; An output module, used to input the fusion node information into a preset deep learning model and output the entropy value of the dynamic point cloud data at the current moment; The compression module is used to compress the dynamic point cloud data according to the entropy value of the dynamic point cloud data.
9. 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, the steps of the dynamic point cloud compression method according to any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the dynamic point cloud compression method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Point cloud compression method, system and device based on spatio-temporal context and medium
CN118200601A
Tree-based deep entropy model for point cloud compression
WO2024086154A1
Cited By
Gesture recognition method and device and storage medium
CN120997880A