Dynamic point cloud data compression method and device, computer equipment and medium
By performing multiple equalization and sorting of the target space, and entropy encoding combined with the preset prediction model, the problem of low compression efficiency of dynamic three-dimensional point cloud data is solved, and more efficient compression effect is achieved, reducing storage pressure and improving the applicability of intelligent robots in medical scenarios.
Patent Information
- Application Number
- CN202411724515.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-27
- Publication Date
- 2025-03-04
- Estimated Expiration
- 2044-11-27
AI Technical Summary
The existing three-dimensional point cloud data compression method faces multi-frame dynamic three-dimensional point cloud data, resulting in an increase in storage pressure for point cloud modeling in medical scenarios and a decrease in the applicability of intelligent robots in medical scenarios.
By dividing the target space into multiple subspaces, counting and sorting the number of data in each subspace, forming a primary and secondary identification sequence, determining the description information of the target subspace, and extracting the association information using a preset prediction model, entropy encoding is performed to compress point cloud data.
It improves the compression efficiency and compression ratio of dynamic point cloud data, reduces the storage pressure of point cloud modeling in medical scenarios, and improves the applicability of intelligent robots in medical scenarios.
Smart Images

Figure CN119562078A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of point cloud data compression, and in particular to a method, device, computer equipment and medium for compressing dynamic point cloud data. Background Art
[0002] At present, three-dimensional point cloud data can be widely used in architectural modeling scenarios to obtain high-precision three-dimensional information. For example, intelligent robots are used in medical scenarios to model the internal space of medical buildings, thereby providing a three-dimensional model space of the medical scene as the basis for the intelligent robot's cruising, addressing and other functions. The above-mentioned intelligent robots can support location guidance within the medical scene, assist in taking medicine and other functions.
[0003] However, high precision also means that the amount of 3D point cloud data is large. Correspondingly, the point cloud data occupies a large storage space. When using dynamic 3D point cloud data, the storage pressure of the point cloud data will be further increased. Therefore, when storing, transmitting and other operations on 3D point cloud data, it is usually necessary to compress the 3D point cloud data before processing.
[0004] However, the existing 3D point cloud data compression method can only be used for single-frame 3D point cloud data. When faced with multi-frame dynamic 3D point cloud data, the multi-frame 3D point cloud data is still divided into frames and then processed frame by frame, resulting in low compression efficiency of dynamic point cloud data. Therefore, how to improve the compression efficiency of dynamic point cloud data, thereby reducing the storage pressure of point cloud modeling in medical scenarios and improving the applicability of intelligent robots in medical scenarios has become an urgent problem to be solved. Summary of the invention
[0005] In view of this, embodiments of the present invention provide a method, apparatus, computer device and medium for compressing dynamic point cloud data to solve the problem of low compression efficiency of dynamic point cloud data.
[0006] In a first aspect, an embodiment of the present invention provides a method for compressing dynamic point cloud data, the method comprising: Acquire current point cloud data in the target space, divide the target space into N subspaces, and obtain the number of data containing point cloud data in each subspace by counting, where N is an integer greater than one; The number of data in each subspace is used as the space identifier of the corresponding subspace, and all space identifiers are sorted to obtain a primary identifier sequence corresponding to the target space; Obtaining a preset identification threshold, determining that a subspace corresponding to a spatial identification greater than the preset identification threshold is a target subspace, and determining a sorting position of the target subspace from the primary identification sequence; The target subspace is equally divided into N subspaces, and the number of data containing point cloud data in each subspace is obtained by counting, and the number of data in each subspace is used as the space identifier of the corresponding subspace, and all space identifiers are sorted to obtain a secondary identifier sequence corresponding to the target subspace; According to the sorting position of the target subspace and the secondary identification sequence, description information describing the target subspace is formed; according to the sorting position of all target subspaces in the primary identification sequence, the description information of all target subspaces is spliced to obtain a splicing result; and the splicing result is determined as the target description information of the current point cloud data; Obtain reference description information of the point cloud data at a previous moment of the current point cloud data, use a preset prediction model to extract association information between the target description information and the reference description information, and obtain a target probability distribution of the target description information based on the association information, perform entropy encoding on the target probability distribution to obtain an encoding result, and determine that the encoding result is a compression result of the current point cloud data.
[0007] In a second aspect, an embodiment of the present invention provides a compression device for dynamic point cloud data, the compression device comprising: A quantity statistics module is used to obtain the current point cloud data in the target space, divide the target space into N subspaces, and obtain the number of data containing point cloud data in each subspace by counting, where N is an integer greater than one; A first sorting module is used to use the data quantity of each subspace as the space identifier of the corresponding subspace, sort all the space identifiers, and obtain a primary identifier sequence corresponding to the target space; A position determination module, used to obtain a preset identification threshold, determine that the subspace corresponding to the spatial identification greater than the preset identification threshold is the target subspace, and determine the sorting position of the target subspace from the primary identification sequence; A second sorting module is used to divide the target subspace into N subspaces, count the number of data containing point cloud data in each subspace, use the number of data in each subspace as the space identifier of the corresponding subspace, sort all the space identifiers, and obtain a secondary identifier sequence corresponding to the target subspace; A space description module, used to form description information describing the target subspace according to the sorting position of the target subspace and the secondary identification sequence, splice the description information of all target subspaces according to the sorting positions of all target subspaces in the primary identification sequence to obtain a splicing result, and determine the splicing result as the target description information of the current point cloud data; The point cloud compression module is used to obtain reference description information of the point cloud data at the previous moment of the current point cloud data, use a preset prediction model to extract the association information between the target description information and the reference description information, and obtain the target probability distribution of the target description information based on the association information, perform entropy coding on the target probability distribution to obtain a coding result, and determine that the coding result is the compression result of the current point cloud data.
[0008] In a third aspect, an embodiment of the present invention provides a computer device, comprising a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the processor implements the compression method described in the first aspect when executing the computer program.
[0009] In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the compression method as described in the first aspect is implemented.
[0010] Compared with the prior art, the embodiments of the present invention have the following beneficial effects: Acquire the current point cloud data in the target space, divide the target space into N subspaces, count the number of data containing point cloud data in each subspace, use the number of data in each subspace as the spatial identification of the corresponding subspace, sort all spatial identifications, obtain the first-level identification sequence corresponding to the target space, obtain the preset identification threshold, determine that the subspace corresponding to the spatial identification greater than the preset identification threshold is the target subspace, determine the sorting position of the target subspace from the first-level identification sequence, divide the target subspace into N subspaces, count the number of data containing point cloud data in each subspace, use the number of data in each subspace as the spatial identification of the corresponding subspace, sort all spatial identifications, obtain the second-level identification sequence corresponding to the target subspace, form a description of the target subspace according to the sorting position of the target subspace and the second-level identification sequence, and according to the sorting position of all target subspaces in the first-level identification sequence, The description information of all target subspaces is spliced to obtain a splicing result, and the splicing result is determined to be the target description information of the current point cloud data, and the reference description information of the point cloud data at the previous moment of the current point cloud data is obtained. The preset prediction model is used to extract the association information between the target description information and the reference description information, and based on the association information, the target probability distribution of the target description information is obtained, and the target probability distribution is entropy encoded to obtain the encoding result, and the encoding result is determined to be the compression result of the current point cloud data. The three-dimensional space to which the current point cloud data belongs is spatially averaged multiple times, so as to accurately obtain the spatial domain description information of each point in the current point cloud data, and the reference description information and the target description information are combined for distribution prediction, and the time domain correlation of the dynamic point cloud data is fully utilized, thereby improving the compression efficiency and compression ratio of the dynamic point cloud data, thereby reducing the storage pressure of point cloud modeling in medical scenarios and improving the applicability of intelligent robots in medical scenarios. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0012] Figure 1 This is a schematic diagram of an application environment of a dynamic point cloud data compression method provided by the first embodiment of the present invention; Figure 2 It is a flowchart of a method for compressing dynamic point cloud data provided by Embodiment 1 of the present invention; Figure 3 is a structural schematic diagram of a dynamic point cloud data compression device provided by Embodiment 2 of the present invention; Figure 4It is a structural diagram of a computer device provided in Embodiment 3 of the present invention. DETAILED DESCRIPTION
[0013] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present invention. However, it should be clear to those skilled in the art that the present invention may be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present invention.
[0014] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, integers, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or combinations thereof.
[0015] It should also be understood that the term "and / or" used in the present description and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
[0016] As used in the present specification and the appended claims, the term "if" may be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" may be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]", depending on the context.
[0017] In addition, in the description of the present specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.
[0018] References to "one embodiment" or "some embodiments" etc. described in the present specification mean that one or more embodiments of the present invention include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.
[0019] The embodiments of the present invention can acquire and process relevant data based on artificial intelligence technology. Artificial Intelligence (AI) is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results.
[0020] AI basic technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing technology, operation / interaction systems, mechatronics, etc. AI software technologies mainly include computer vision technology, robotics technology, biometrics technology, speech processing technology, natural language processing technology, and machine learning / deep learning.
[0021] It should be understood that the order of execution of the steps in the following embodiments does not imply a precedence of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0022] In order to illustrate the technical solution of the present invention, specific embodiments are provided below for illustration.
[0023] A method for compressing dynamic point cloud data provided by the first embodiment of the present invention can be applied in the following aspects: Figure 1 In the application environment, the client communicates with the server. The client includes but is not limited to PDAs, desktop computers, laptops, ultra-mobile personal computers (UMPCs), netbooks, cloud terminal devices, personal digital assistants (PDAs) and other computer devices. The server can be an independent server or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms.
[0024] The server and client can be deployed in a variety of application scenarios, such as intelligent transportation scenarios, geological mapping scenarios, and building modeling scenarios. Taking the building modeling scenario as an example, it can be a medical building internal modeling scenario. The client can be connected to a point cloud acquisition device, which can include a laser radar, a depth camera, a binocular camera, a multi-view camera, etc. The commonly used point cloud acquisition device is a laser radar. Taking the medical building internal modeling scenario as an example, the point cloud acquisition device can be deployed on an intelligent robot to realize the point cloud data collection inside the medical scene, so as to model the internal part of the medical building based on the dynamic point cloud data, which serves as the basis for the intelligent robot to realize the functions of location guidance and assisting in taking medicine. .
[0025] See also Figure 2 , is a flow chart of a method for compressing dynamic point cloud data provided by the first embodiment of the present invention. The above compression method can be applied to Figure 1 The server in the example, the computer device corresponding to the server is connected to the client to obtain the current point cloud data from the client. The current point cloud data may refer to the three-dimensional point cloud data collected in real time. The client has a certain storage function and can store at least two frames of three-dimensional point cloud data. The computer device corresponding to the server is deployed with a trained prediction model, which can be used to predict the probability distribution of point cloud data based on two consecutive frames of point cloud data. Figure 2 As shown, the compression method may include the following steps: Step S201, obtaining current point cloud data in the target space, dividing the target space into N subspaces, and obtaining the number of point cloud data in each subspace by counting.
[0026] Among them, the target space may refer to the three-dimensional space to which the current point cloud data belongs. In the present embodiment, it may refer to the three-dimensional space inside the medical building. The current point cloud data may refer to the three-dimensional point cloud data collected in the current frame. The three-dimensional point cloud data usually includes several three-dimensional points. The subspace may refer to a part of the target space. The subspace is also a three-dimensional space. The number of data may refer to the number of three-dimensional points contained in the subspace. N is an integer greater than one.
[0027] Specifically, in this embodiment, N can be set to 8, and the implementer can adjust the value of N according to actual conditions. It should be noted that the N subspaces obtained by equal division do not overlap with each other.
[0028] In the medical building modeling scenario, the target space may refer to the internal space of the medical building, and the current point cloud data may refer to the medical building point cloud data collected in the internal space of the medical building by the point cloud acquisition device at the current moment. The current medical building point cloud data in the internal space of the medical building is obtained, and the internal space of the medical building is divided into N internal subspaces of the medical building. The number of data containing the current medical building point cloud data in each internal subspace of the medical building is obtained by counting.
[0029] The above steps of obtaining the current point cloud data in the target space, dividing the target space into N subspaces, and obtaining the number of data containing point cloud data in each subspace are counted. By dividing the target space, the positions of the three-dimensional points in the current point cloud data are determined in regular subspaces, thereby performing three-dimensional point division of the three-dimensional point cloud data in a relatively simple manner, thereby improving the efficiency of dynamic point cloud data compression.
[0030] Step S202: taking the data quantity of each subspace as the space identifier of the corresponding subspace, sorting all the space identifiers to obtain a primary identifier sequence corresponding to the target space.
[0031] The spatial identifier can be used to represent the information of the three-dimensional points in the subspace, and the primary identifier sequence can be used to represent the position information of the three-dimensional point distribution in the target space.
[0032] In the medical building modeling scenario, the space identifier can be used to represent the information containing the three-dimensional medical building point cloud data in the internal subspace of the medical building. The first-level identifier sequence can be used to represent the location information of the distribution of the three-dimensional medical building point cloud data in the internal space of the medical building. The number of data in each internal subspace of the medical building is used as the space identifier of the corresponding internal subspace of the medical building. All space identifiers are sorted to obtain the first-level identifier sequence corresponding to the internal space of the medical building.
[0033] Optionally, the number of data in each subspace is used as a space identifier of the corresponding subspace, including: For the amount of data in any subspace, if the amount of data is greater than a preset amount threshold, determining a first preset value as a space identifier of the subspace; If the amount of data is less than or equal to the amount threshold, determining a second preset value as a space identifier of the subspace; Traverse the data quantity of all subspaces and obtain the space identification of the corresponding subspace.
[0034] The quantity threshold may be used to measure the distribution of three-dimensional points in a subspace, and the first preset value and the second preset value may be used to distinguish subspaces with different three-dimensional point distributions.
[0035] Specifically, in this embodiment, the quantity threshold can be set to 0, that is, if the subspace contains any three-dimensional point, the spatial identification of the subspace is set to the first preset value; if the subspace does not contain any three-dimensional point, the spatial identification of the subspace is set to the second preset value. The first preset value is set to 1, and the second preset value is set to 0. The above quantity threshold, first preset value and second preset value can be adjusted by the implementer according to actual conditions.
[0036] In this embodiment, by setting a preset value as a space identifier, the space identifier is divided into two categories, thereby reducing the complexity of the subsequent identifier sequence formed based on the space identifier and facilitating the storage of dynamic point cloud data.
[0037] Optionally, all space identifiers are sorted to obtain a primary identifier sequence corresponding to the target space, including: Extract the relative position of each subspace in the target space; According to the preset relative position order, all space identifiers are sorted to obtain the primary identifier sequence corresponding to the target space.
[0038] The relative position may represent the position information of the subspace in the target space, and the relative position sequence may include all relative positions and their corresponding sorted positions.
[0039] Specifically, the target space can be regarded as a three-dimensional structure. For example, integers from 1 to N can be used as relative position marks in the order from top to bottom and from left to right to assign relative positions to each subspace in the target space. For example, the relative position of the subspace in the upper left corner is marked as 1, and the relative position of the subspace in the lower right corner is marked as N. Accordingly, the relative position order can refer to the order of the relative position marks from small to large.
[0040] In this embodiment, the space identifiers are sorted according to the relative positions of the subspaces in the target space, so that the first-level identifier sequence can contain the position association information between the subspaces, thereby improving the description capability of the first-level identifier sequence for the target space.
[0041] The above-mentioned step uses the number of data in each subspace as the spatial identifier of the corresponding subspace, sorts all the spatial identifiers, and obtains the first-level identifier sequence corresponding to the target space. The first-level identifier sequence is used to describe the distribution information of the three-dimensional points in the target space, so that the complex three-dimensional point information is converted into a concise first-level identifier sequence, which simplifies the description method of dynamic point cloud data and improves the compression efficiency of subsequent dynamic point cloud data.
[0042] Step S203, obtaining a preset identification threshold, determining that the subspace corresponding to the spatial identification greater than the preset identification threshold is the target subspace, and determining the sorting position of the target subspace from the primary identification sequence.
[0043] Among them, the preset identification threshold can be used to determine the subspace that needs to be further divided, the target subspace can refer to the subspace that needs to be further divided, and the sorting position can refer to the position of the space identification corresponding to the target subspace in the primary identification sequence.
[0044] Specifically, in this embodiment, following the example of using 0 and 1 as space identifiers in the above embodiment, the preset identification threshold can be set to 0, that is, the subspace containing three-dimensional points is used as the target subspace, and the subspace that does not contain three-dimensional points is not further divided.
[0045] In the medical building modeling scenario, the preset identification threshold can be used to determine the internal subspace of the medical building that needs to be further divided, the target subspace can refer to the internal subspace of the medical building that needs to be further divided, and the sorting position can refer to the position of the space identification corresponding to the internal subspace of the medical building that needs to be further divided in the primary identification sequence.
[0046] The above steps of obtaining a preset identification threshold, determining the subspace corresponding to the spatial identification greater than the preset identification threshold as the target subspace, and determining the sorting position of the target subspace from the primary identification sequence effectively determine the target subspace that needs to be further divided, avoid invalid calculations, and simultaneously determine the sorting position of the target subspace, that is, determine the spatial position information of the target subspace, which is convenient for the subsequent formation of description information of the target subspace.
[0047] Step S204, divide the target subspace into N subspaces, count the number of data containing point cloud data in each subspace, use the number of data in each subspace as the space identifier of the corresponding subspace, sort all the space identifiers, and obtain the secondary identifier sequence corresponding to the target subspace.
[0048] Among them, the secondary identification sequence can be used to represent the position information of the three-dimensional point distribution of the target subspace.
[0049] Specifically, the target subspace is also equally divided into N subspaces to ensure the size consistency of the secondary identification sequence and the primary identification sequence.
[0050] In the medical building modeling scenario, the subspace may be obtained by further averaging the internal subspace of the medical building that needs to be further averaged, and the secondary identification sequence may be used to represent the position information of the three-dimensional point distribution in the internal subspace of the medical building that needs to be further averaged.
[0051] In one embodiment, an iterative method can be used to perform spatial division. That is, after the target subspace is divided into N subspaces and the spatial identifier is determined, the subspace corresponding to the spatial identifier greater than a preset identifier threshold is determined as the target subspace, and the sorting position of the target subspace is determined from the secondary identifier sequence. The target subspace is divided into N subspaces, and the number of data containing point cloud data in each subspace is obtained by counting. The number of data in each subspace is used as the spatial identifier of the corresponding subspace, and all spatial identifiers are sorted to obtain a third-level identifier sequence corresponding to the target subspace. The level of the identifier sequence is related to the number of divisions. At this time, the use of the spatial identifier sequence to describe the target space is more detailed and specific, but it will increase a certain amount of data. The implementer can flexibly determine the number of spatial divisions according to actual conditions, so as to balance the details of the description and the ability to bear the amount of data.
[0052] The above steps divide the target subspace into N subspaces, count the number of data containing point cloud data in each subspace, use the number of data in each subspace as the spatial identifier of the corresponding subspace, sort all the spatial identifiers, and obtain the secondary identifier sequence corresponding to the target subspace. The secondary identifier sequence is used to describe the distribution information of the three-dimensional points in the target subspace, so that the complex three-dimensional point information is converted into a concise secondary identifier sequence, which simplifies the description method of dynamic point cloud data and improves the compression efficiency of subsequent dynamic point cloud data.
[0053] Step S205, forming description information describing the target subspace according to the sorting position of the target subspace and the secondary identification sequence, splicing the description information of all target subspaces according to the sorting position of all target subspaces in the primary identification sequence to obtain a splicing result, and determining the splicing result as the target description information of the current point cloud data.
[0054] The description information may be used to characterize the spatial information of the target subspace, and the target description information may characterize the spatial distribution information of the point cloud data in the target space to which the current point cloud data belongs.
[0055] Specifically, the description information can be represented by a vector of size 1*N+1, that is, a vector of 1 row and N+1 columns, the first column is the sorting position of the target subspace, and the next N columns are the secondary identification sequence of the target subspace. The splicing can be done in a concatenated manner. In this embodiment, the description information of all target subspaces is spliced in the row dimension, and the splicing result can be represented by a vector of size N*N+1.
[0056] In the medical building modeling scenario, the description information can be used to characterize the spatial information of the internal subspace of the medical building that needs to be further divided, and the target description information can characterize the spatial distribution information of the point cloud data in the internal subspace of the medical building to which the current point cloud data belongs.
[0057] Optionally, the description information describing the target subspace is formed according to the sorting position of the target subspace and the secondary identification sequence, including: The secondary identification sequence is converted into a base, and a conversion value of the secondary identification sequence is obtained. The conversion value and the sorting position form description information.
[0058] The conversion value may refer to the result of base conversion of the secondary identification sequence.
[0059] Specifically, in this embodiment, following the example of the spatial identifiers 0 and 1 in the above embodiment, the secondary identifier sequence is composed of 0 and 1. At this time, representing the secondary identifier sequence with a vector will occupy more data bits. Therefore, the secondary identifier sequence can be regarded as a binary number, and the binary number is converted into a decimal number to obtain a conversion value. The conversion value only occupies one data bit, and there is a one-to-one correspondence between the secondary identifier sequence and the conversion value. The implementer can regard it as the corresponding low-base number according to the actual set spatial identifier range, and convert the low-base number into a high-base number.
[0060] In this embodiment, the secondary identification sequence regarded as a low-base number is converted into a high-base number through base conversion, thereby reducing the data bits occupied by the secondary identification sequence, thereby increasing the data volume of the description information of the point cloud data, and improving the efficiency of the current point cloud data compression.
[0061] Optionally, the description information of all target subspaces is spliced to obtain a splicing result, and the splicing result is determined to be the target description information of the current point cloud data, including: According to the primary identification sequence corresponding to the target space and the preset initial position, initial description information describing the target space is formed; The initial description information and the description information of all target subspaces are spliced to obtain a splicing result, and the splicing result is determined to be the target description information of the current point cloud data.
[0062] Among them, the initial position can represent the position information of the target space. The initial position defaults to 1. The initial position is added to make the constructed initial description information and the description information have the same size. The initial description information can be used to describe the spatial domain information of the target space.
[0063] In this embodiment, the initial description information of the target space and the description information of all target subspaces are merged to obtain the target description information, thereby providing richer context information and facilitating improving the accuracy of subsequent encoding processes.
[0064] The above-mentioned steps form description information describing the target subspace according to the sorting position of the target subspace and the secondary identification sequence, splice the description information of all target subspaces according to the sorting position of all target subspaces in the primary identification sequence to obtain the splicing result, and determine the splicing result as the target description information of the current point cloud data, provide context information of the current point cloud data in the spatial domain after averaging, so as to improve the accuracy of the subsequent encoding process.
[0065] Step S206, obtain reference description information of the point cloud data at the previous moment of the current point cloud data, use a preset prediction model to extract the association information between the target description information and the reference description information, and obtain the target probability distribution of the target description information based on the association information, perform entropy encoding on the target probability distribution, obtain the encoding result, and determine that the encoding result is the compression result of the current point cloud data.
[0066] Among them, the point cloud data at the previous moment may refer to the point cloud data that is temporally associated with the current point cloud data and is temporally preceding the current point cloud data, the reference description information may be used to describe the spatial distribution information of the point cloud data at the previous moment, the prediction model may adopt a deep conditional entropy model, the associated information may refer to the joint entropy information of the target description information and the reference description information, and the target probability distribution may characterize the possibility of converting the point cloud data at the previous moment into the current point cloud data.
[0067] In the medical building modeling scenario, the current point cloud data and the point cloud data at the previous moment both correspond to the interior space of the medical building. Accordingly, the reference description information can be used to describe the spatial distribution information of the point cloud data of the interior space of the medical building at the previous moment, and the compression result can be used to represent the compression result of the current point cloud data of the interior space of the medical building, so that the robot used for medical building modeling can store the current point cloud data of the interior space of the medical building with less storage pressure, and further enable the robot used for medical building modeling to achieve modeling of the interior space of the medical building by point cloud splicing, meshing, texture mapping, etc. according to the compression result of the stored current point cloud data of the interior space of the medical building.
[0068] Optionally, the prediction model includes a first encoder, a second encoder and a third encoder, and the first encoder and the second encoder are the same; Using the preset prediction model, the association information between the target description information and the reference description information is extracted, and based on the association information, the target probability distribution of the target description information is obtained, including: Encoding the target description information using a first encoder to obtain first encoded information; Encoding the reference description information using a second encoder to obtain second encoded information; The third encoder is used to predict the probability distribution of the first coded information when the second coded information is used as a condition based on the first coded information and the second coded information to obtain a target probability distribution.
[0069] The first encoding information may represent feature information of the target description information, and the second encoding information may represent feature information of the reference description information.
[0070] Specifically, in this embodiment, the first encoder, the second encoder, and the third encoder may all adopt the encoding structure of the Transformer model, and the parameters of the first encoder and the second encoder are consistent.
[0071] In this embodiment, the dynamic point cloud data is regarded as a Markov process, that is, the current point cloud data of the current frame only depends on the point cloud data at the previous moment, and the point cloud data at the previous moment is equivalent to the known conditional information. The purpose of the prediction model is to predict the probability of occurrence of the current point cloud data under the condition of known conditional information, that is, the purpose of the prediction model is essentially to predict the conditional probability distribution.
[0072] In this embodiment, the spatial and temporal information of the dynamic point cloud data is fully extracted through the prediction model, and the characteristic that the change between frames of the dynamic point cloud data is usually small is effectively utilized in the form of conditional probability distribution, and the temporal redundancy of the dynamic point cloud data is fully utilized, thereby improving the compression efficiency and compression rate of the dynamic point cloud data.
[0073] Optionally, entropy coding is performed on the target probability distribution to obtain a coding result, including: Use arithmetic coding to perform entropy coding on the target probability distribution to obtain a coded decimal, and then obtain the coding result based on the coded decimal.
[0074] The coded decimal may refer to a result of arithmetic coding, and the coding result may be used as a compression result of the current point cloud data.
[0075] Specifically, the decimal point and integer digits of the encoded decimal are removed, and only the decimal digits are retained to obtain the encoded result.
[0076] In this embodiment, the target probability distribution is encoded by arithmetic coding, which can obtain an encoding result with fewer data bits compared to conventional encoding methods, thereby improving the compression rate of dynamic point cloud data.
[0077] The above-mentioned steps of obtaining reference description information of the point cloud data at the previous moment of the current point cloud data, using a preset prediction model, extracting the association information between the target description information and the reference description information, and obtaining the target probability distribution of the target description information based on the association information, performing entropy coding on the target probability distribution to obtain the coding result, and determining that the coding result is the compression result of the current point cloud data, jointly performing distribution prediction on the reference description information and the target description information, fully utilizes the time domain correlation and time domain redundancy of the dynamic point cloud data, thereby improving the compression efficiency and compression ratio of the dynamic point cloud data.
[0078] In this embodiment, the three-dimensional space to which the current point cloud data belongs is spatially divided multiple times to accurately obtain the spatial domain description information of each point in the current point cloud data, and the reference description information and the target description information are combined to perform distribution prediction, thereby fully utilizing the time domain correlation of the dynamic point cloud data, thereby improving the compression efficiency and compression ratio of the dynamic point cloud data, thereby reducing the storage pressure of point cloud modeling in medical scenarios and improving the applicability of intelligent robots in medical scenarios.
[0079] Corresponding to the compression method of dynamic point cloud data in the above embodiment, Figure 3 The structural block diagram of the dynamic point cloud data compression device provided by the second embodiment of the present invention is shown. The compression device is applied to the server. The computer device corresponding to the server is connected to the client to obtain the current point cloud data from the client. The current point cloud data can refer to the three-dimensional point cloud data collected in real time. The client has a certain storage function. The client can store at least two frames of three-dimensional point cloud data. The computer device corresponding to the server is deployed with a trained prediction model. The prediction model can be used to predict the probability distribution of point cloud data based on two consecutive frames of point cloud data. For the convenience of explanation, only the part related to the embodiment of the present invention is shown.
[0080] See also Figure 3 , the compression device comprises: A quantity statistics module 31 is used to obtain the current point cloud data in the target space, divide the target space into N subspaces, and obtain the number of data containing point cloud data in each subspace by statistics, where N is an integer greater than one; A first sorting module 32 is used to use the data quantity of each subspace as the space identifier of the corresponding subspace, sort all the space identifiers, and obtain a primary identifier sequence corresponding to the target space; The position determination module 33 is used to obtain a preset identification threshold, determine that the subspace corresponding to the spatial identification greater than the preset identification threshold is the target subspace, and determine the sorting position of the target subspace from the primary identification sequence; The second sorting module 34 is used to divide the target subspace into N subspaces, count the number of data containing point cloud data in each subspace, use the number of data in each subspace as the space identifier of the corresponding subspace, sort all the space identifiers, and obtain a secondary identifier sequence corresponding to the target subspace; The space description module 35 is used to form description information describing the target subspace according to the sorting position of the target subspace and the secondary identification sequence, splice the description information of all the target subspaces according to the sorting positions of all the target subspaces in the primary identification sequence to obtain a splicing result, and determine the splicing result as the target description information of the current point cloud data; The point cloud compression module 36 is used to obtain the reference description information of the point cloud data at the previous moment of the current point cloud data, use the preset prediction model to extract the association information between the target description information and the reference description information, and obtain the target probability distribution of the target description information based on the association information, perform entropy coding on the target probability distribution, obtain the coding result, and determine the coding result as the compression result of the current point cloud data.
[0081] Optionally, the first sorting module 32 includes: A first identification determination unit is used to determine, for the amount of data in any subspace, a first preset value as a space identification of the subspace if the amount of data is greater than a preset amount threshold; A second identification determination unit, configured to determine a second preset value as a space identification of the subspace if the amount of data is less than or equal to the amount threshold; The subspace traversal unit is used to traverse the data quantity of all subspaces and obtain the space identification of the corresponding subspace.
[0082] Optionally, the first sorting module 32 includes: A position extraction unit, used to extract the relative position of each subspace in the target space; The position sorting unit is used to sort all space identifiers according to a preset relative position order to obtain a primary identifier sequence corresponding to the target space.
[0083] Optionally, the space description module 35 includes: The base conversion unit is used to perform base conversion on the secondary identification sequence to obtain a conversion value of the secondary identification sequence, and the description information is formed by the conversion value and the sorting position.
[0084] Optionally, the space description module 35 includes: An initial description unit, used to form initial description information describing the target space according to the primary identification sequence corresponding to the target space and a preset initial position; The information splicing unit is used to splice the initial description information with the description information of all target subspaces to obtain a splicing result, and determine the splicing result as the target description information of the current point cloud data.
[0085] Optionally, the prediction model includes a first encoder, a second encoder and a third encoder, and the first encoder and the second encoder are the same; The point cloud compression module 36 includes: A first encoding unit, configured to encode the target description information using a first encoder to obtain first encoded information; A second encoding unit, configured to encode the reference description information using a second encoder to obtain second encoded information; The third encoding unit is used to use a third encoder to predict the probability distribution of the first encoding information when the second encoding information is used as a condition according to the first encoding information and the second encoding information, so as to obtain a target probability distribution.
[0086] Optionally, the point cloud compression module 36 includes: The arithmetic coding unit is used to perform entropy coding on the target probability distribution by using arithmetic coding to obtain a coded decimal, and obtain a coding result according to the coded decimal.
[0087] It should be noted that the information interaction, execution process and other contents between the above-mentioned modules and units are based on the same concept as the embodiment of the method of the present invention. Their specific functions and technical effects can be found in the method embodiment part and will not be repeated here.
[0088] Figure 4 This is a schematic diagram of the structure of a computer device provided in Embodiment 3 of the present invention. Figure 4 As shown, the computer device of this embodiment includes: at least one processor ( Figure 4 Only one is shown in the figure), a memory, and a computer program stored in the memory and executable on at least one processor, wherein when the processor executes the computer program, the steps in any of the above-mentioned compression method embodiments are implemented.
[0089] The computer device may include, but is not limited to, a processor and a memory. Those skilled in the art will appreciate that Figure 4 This is merely an example of a computer device and does not constitute a limitation on the computer device. The computer device may include more or fewer components than those shown in the figure, or a combination of certain components, or different components. For example, it may also include a network interface, a display screen, and an input device.
[0090] The processor may be a CPU, or other general-purpose processors, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.
[0091] The memory includes a readable storage medium, an internal memory, etc., wherein the internal memory may be the memory of a computer device, and the internal memory provides an environment for the operation of the operating system and computer-readable instructions in the readable storage medium. The readable storage medium may be a hard disk of a computer device, and in other embodiments, it may also be an external storage device of the computer device, for example, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. equipped on the computer device. Further, the memory may also include both an internal storage unit of the computer device and an external storage device. The memory is used to store an operating system, an application program, a boot loader (BootLoader), data, and other programs, such as the program code of a computer program, etc. The memory may also be used to temporarily store data that has been output or is to be output.
[0092] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of the present invention. The specific working process of the units and modules in the above-mentioned device can refer to the corresponding process in the above-mentioned method embodiment, which will not be repeated here. If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such understanding, the present invention implements all or part of the processes in the above-mentioned embodiment method, which can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a computer-readable storage medium. When the computer program is executed by the processor, the steps of the above-mentioned method embodiment can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may at least include: any entity or device capable of carrying computer program code, recording medium, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk or an optical disk. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electric carrier signals and telecommunication signals.
[0093] The present invention implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by a computer program product. When the computer program product runs on a computer device, the computer device can implement the steps in the above-mentioned method embodiment when executing.
[0094] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0095] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.
[0096] In the embodiments provided by the present invention, it should be understood that the disclosed devices / computer equipment and methods can be implemented in other ways. For example, the device / computer equipment embodiments described above are only schematic, for example, the division of modules or units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units 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 through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0097] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0098] The above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit the same. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention, and should be included in the protection scope of the present invention.
Claims
1. A method for compressing dynamic point cloud data, characterized in that: The compression method comprises: Acquire current point cloud data in the target space, divide the target space into N subspaces, and count the number of data containing point cloud data in each subspace, where N is an integer greater than one; The number of data in each subspace is used as the space identifier of the corresponding subspace, and all space identifiers are sorted to obtain a primary identifier sequence corresponding to the target space; Obtaining a preset identification threshold, determining that a subspace corresponding to a spatial identification greater than the preset identification threshold is a target subspace, and determining a sorting position of the target subspace from the primary identification sequence; The target subspace is equally divided into N subspaces, and the number of data containing point cloud data in each subspace is obtained by counting, and the number of data in each subspace is used as the space identifier of the corresponding subspace, and all space identifiers are sorted to obtain a secondary identifier sequence corresponding to the target subspace; According to the sorting position of the target subspace and the secondary identification sequence, description information describing the target subspace is formed; according to the sorting position of all target subspaces in the primary identification sequence, the description information of all target subspaces is spliced to obtain a splicing result; and the splicing result is determined as the target description information of the current point cloud data; Obtain reference description information of the point cloud data at a previous moment of the current point cloud data, use a preset prediction model to extract association information between the target description information and the reference description information, and obtain a target probability distribution of the target description information based on the association information, perform entropy encoding on the target probability distribution to obtain an encoding result, and determine that the encoding result is a compression result of the current point cloud data.
2. The compression method according to claim 1, characterized in that: The method of using the amount of data in each subspace as a space identifier of the corresponding subspace includes: For the amount of data in any subspace, if the amount of data is greater than a preset amount threshold, determining a first preset value as the space identifier of the subspace; If the data quantity is less than or equal to the quantity threshold, determining a second preset value as the space identifier of the subspace; Traverse the data quantity of all subspaces and obtain the space identification of the corresponding subspace.
3. The compression method according to claim 1, characterized in that: The step of sorting all space identifiers to obtain a primary identifier sequence corresponding to the target space includes: Extracting the relative position of each subspace within the target space; All space identifiers are sorted according to a preset relative position order to obtain a primary identifier sequence corresponding to the target space.
4. The compression method according to claim 1, characterized in that: The description information describing the target subspace is formed according to the sorting position of the target subspace and the secondary identification sequence, including: The secondary identification sequence is converted into a base number to obtain a conversion value of the secondary identification sequence, and the description information is formed by the conversion value and the sorting position.
5. The compression method according to claim 1, characterized in that: The step of splicing the description information of all target subspaces to obtain a splicing result, and determining the splicing result as the target description information of the current point cloud data includes: According to the primary identification sequence corresponding to the target space and the preset initial position, forming initial description information describing the target space; The initial description information and the description information of all target subspaces are spliced to obtain the splicing result, and the splicing result is determined to be the target description information of the current point cloud data.
6. The compression method according to claim 1, characterized in that: The prediction model includes a first encoder, a second encoder and a third encoder, wherein the first encoder and the second encoder are the same; The using of a preset prediction model to extract association information between the target description information and the reference description information, and obtaining a target probability distribution of the target description information according to the association information, includes: Encode the target description information using the first encoder to obtain first encoded information; Encode the reference description information using the second encoder to obtain second encoded information; The third encoder is used to predict the probability distribution of the first coding information when the second coding information is used as a condition based on the first coding information and the second coding information to obtain the target probability distribution.
7. The compression method according to any one of claims 1 to 6, characterized in that: The entropy encoding of the target probability distribution to obtain an encoding result includes: The target probability distribution is entropy encoded using arithmetic coding to obtain a coded decimal, and the encoding result is obtained according to the coded decimal.
8. A dynamic point cloud data compression device, characterized in that: The compression device comprises: A quantity statistics module is used to obtain the current point cloud data in the target space, divide the target space into N subspaces, and obtain the number of data containing point cloud data in each subspace by counting, where N is an integer greater than one; A first sorting module is used to use the data quantity of each subspace as the space identifier of the corresponding subspace, sort all the space identifiers, and obtain a primary identifier sequence corresponding to the target space; A position determination module, used to obtain a preset identification threshold, determine that the subspace corresponding to the spatial identification greater than the preset identification threshold is the target subspace, and determine the sorting position of the target subspace from the primary identification sequence; A second sorting module is used to divide the target subspace into N subspaces, count the number of data containing point cloud data in each subspace, use the number of data in each subspace as the space identifier of the corresponding subspace, sort all the space identifiers, and obtain a secondary identifier sequence corresponding to the target subspace; A space description module, used to form description information describing the target subspace according to the sorting position of the target subspace and the secondary identification sequence, splice the description information of all target subspaces according to the sorting positions of all target subspaces in the primary identification sequence to obtain a splicing result, and determine the splicing result as the target description information of the current point cloud data; The point cloud compression module is used to obtain reference description information of the point cloud data at the previous moment of the current point cloud data, use a preset prediction model to extract the association information between the target description information and the reference description information, and obtain the target probability distribution of the target description information based on the association information, perform entropy coding on the target probability distribution to obtain a coding result, and determine that the coding result is the compression result of the current point cloud data.
9. A computer device, characterized in that: The computer device comprises a processor, a memory, and a computer program stored in the memory and executable on the processor, and the processor implements the compression method according to any one of claims 1 to 7 when executing the computer program.
10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the compression method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Normal vector-based point cloud attribute compression method, apparatus and device, and medium
CN113096200A
Distribution processing method, device and equipment for video streams in cloud edge scene and medium
CN116723194A
Encoding method, decoding method, code stream, encoder, decoder and storage medium
WO2024021089A1