Point cloud data processing method, device and computer equipment

By using inter-frame and sub-map beam method adjustment and control point optimization in point cloud data processing, the problem of large accumulation errors in point cloud data processing is solved, and higher processing accuracy and map construction accuracy are achieved.

CN116012440BActive Publication Date: 2025-08-22ZG TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310004173.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-01-03
Publication Date
2025-08-22
Estimated Expiration
2043-01-03

AI Technical Summary

Technical Problem

The prior art has the problem of large accumulation errors in point cloud data processing, resulting in poor processing accuracy.

Method used

By storing the multi-frame point cloud data collected by the acquisition device in each voxel in the preset data model, inter-beam adjustment processing is performed on the point cloud data stored in each voxel, the intermediate position information corresponding to the point cloud data of each frame is obtained, and multiple sub-maps are obtained based on the frame point cloud data and the preset frame number. The inter-submap adjustment processing and the control coordinates and closed-loop factors in the control coordinate system of the control point are optimized to obtain the processing point cloud data of the target area.

Benefits of technology

The processing accuracy of point cloud data is improved, the accuracy of point cloud data is ensured, the transmission of accumulated errors is avoided, and the accuracy of map construction is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116012440B_ABST
    Figure CN116012440B_ABST
Patent Text Reader

Abstract

The present application provides a point cloud data processing method, device and computer equipment, belonging to the field of computer technology. The method includes: storing multiple frames of point cloud data of a target area collected by an acquisition device in each voxel in a preset data model; performing inter-frame bundle adjustment processing on the point cloud data stored in each of the voxels to obtain intermediate pose information corresponding to each frame of point cloud data; obtaining multiple sub-maps based on each frame of point cloud data and a preset number of frames; performing inter-sub-map bundle adjustment processing on each sub-map based on the intermediate pose information corresponding to each frame of point cloud data to obtain target pose information corresponding to each point cloud data in each sub-map; optimizing each frame of point cloud data based on the target pose information, the control coordinates of each control point in the control coordinate system, and the closed-loop factor to obtain processed point cloud data of the target area. The present application can achieve the effect of improving the processing accuracy of point cloud data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a point cloud data processing method, apparatus, and computer equipment. Background Art

[0002] With the development of science and technology, people often use vision-based automatic positioning and mapping (Simultaneous Localization and Mapping, referred to as SLAM) technology to build maps.

[0003] In related technologies, technicians typically control the corresponding sensors to move along a path that facilitates positioning and mapping. During this movement, they collect point cloud data of the target area in real time or at very short intervals to obtain multiple frames of point cloud data corresponding to the target area. Back-end processing is then performed on this multi-frame point cloud data to perform filtering and nonlinear optimization on the multi-frame point cloud data.

[0004] However, since the related technical solutions will have certain errors in processing each frame of point cloud data during the back-end processing, when completing the back-end processing of multiple frames of point cloud data, the related technical solutions will cause large accumulated errors. Therefore, this solution has the problem of poor processing accuracy of point cloud data. Summary of the Invention

[0005] The purpose of this application is to provide a point cloud data processing method, device and computer equipment, which can improve the processing accuracy of point cloud data.

[0006] The embodiment of the present application is implemented as follows:

[0007] In a first aspect of an embodiment of the present application, a method for processing point cloud data is provided, the method comprising:

[0008] Storing multi-frame point cloud data of the target area acquired by the acquisition device in each voxel in the preset data model;

[0009] Performing inter-frame bundle adjustment processing on the point cloud data stored in each voxel to obtain intermediate pose information corresponding to each frame of point cloud data;

[0010] Obtaining multiple submaps based on the point cloud data of each frame and a preset number of frames, each submap including the point cloud data of the preset number of frames;

[0011] According to the intermediate pose information corresponding to each frame of point cloud data, each submap is subjected to bundle adjustment processing between submaps to obtain the target pose information corresponding to each point cloud data in each submap;

[0012] The point cloud data of each frame is optimized according to the target posture information, the control coordinates of each control point in the control coordinate system, and the closed-loop factor to obtain the processed point cloud data of the target area, wherein the control coordinate system is established based on the position of the control point, and the acquisition device passes through the control point when acquiring the point cloud data.

[0013] Optionally, performing inter-frame bundle adjustment processing on the point cloud data stored in each voxel to obtain intermediate pose information corresponding to each frame of point cloud data includes:

[0014] determining a plurality of point cloud data sets from the voxels according to a preset sliding step size;

[0015] According to the type of the point cloud data in each of the point cloud data sets, performing inter-frame bundle adjustment processing on the point cloud data in each of the point cloud data sets based on the corresponding cost function, to obtain posture compensation information corresponding to each frame of point cloud data;

[0016] The intermediate pose information corresponding to each frame of point cloud data is determined according to the pose compensation information and the initial pose information of each frame of point cloud data.

[0017] Optionally, obtaining multiple sub-maps according to the point cloud data of each frame and a preset number of frames includes:

[0018] Arrange the point cloud data of each frame in time sequence to obtain the initial point cloud sequence;

[0019] According to the preset number of frames, a plurality of point cloud subsequences are sequentially acquired from the initial point cloud sequence, each of the point cloud subsequences including point cloud data of the preset number of frames;

[0020] Each point cloud subsequence is regarded as a submap.

[0021] Optionally, performing bundle adjustment processing on each submap according to the intermediate pose information corresponding to each frame of point cloud data to obtain target pose information corresponding to each point cloud data in each submap includes:

[0022] Establishing a local coordinate system according to the intermediate pose information corresponding to the reference point cloud data in the submap, wherein the reference point cloud data is any point cloud data in the submap;

[0023] Converting each to-be-converted point cloud data of the submap into the local coordinate system to obtain a preliminarily converted submap, wherein the to-be-converted point cloud data is the point cloud data in the submap excluding the reference point cloud data;

[0024] performing bundle adjustment processing between submaps on the submaps after the preliminary conversion based on the target cost function to obtain overall pose information corresponding to the submaps after the preliminary conversion;

[0025] Converting each to-be-transformed point cloud data in the preliminarily converted submap to an initial coordinate system according to the overall pose information to obtain a target submap, wherein the initial coordinate system is a local coordinate system of the to-be-transformed point cloud data;

[0026] The pose information corresponding to each point cloud data in the target submap is used as the target pose information.

[0027] Optionally, optimizing each frame of point cloud data according to each target pose information, the control coordinates of each control point in the control coordinate system, and a closed-loop factor to obtain processed point cloud data of the target area includes:

[0028] Converting each target pose information into the control coordinate system according to the control coordinates of each control point to obtain converted pose information corresponding to each target pose information;

[0029] The point cloud data of each frame is optimized through the converted posture information, the control coordinates of each control point, and the closed-loop factor to obtain the processed point cloud data of the target area.

[0030] Optionally, the optimizing the point cloud data of each frame by using the transformed pose information, the control coordinates of each control point, and the closed-loop factor to obtain the processed point cloud data of the target area includes:

[0031] The transformed pose information, the control coordinates of the control points, and the closed-loop factors are input into a pre-built factor graph optimization model to obtain processed point cloud data of the target area.

[0032] Optionally, converting each target pose information into the control coordinate system according to the control coordinates of each control point to obtain converted pose information corresponding to each target pose information includes:

[0033] Convert the local coordinates of each control point into a global coordinate system to obtain the global coordinates of each control point;

[0034] Determining a transformation relationship between the global coordinate system and the control coordinate system according to the global coordinates and the control coordinates of each control point;

[0035] The target posture information is converted into a control coordinate system according to the transformation relationship to obtain converted posture information corresponding to each target posture information.

[0036] According to a second aspect of an embodiment of the present application, a point cloud data processing device is provided, the point cloud data processing device comprising:

[0037] A storage module, configured to store multi-frame point cloud data of a target area acquired by an acquisition device in each voxel in a preset data model;

[0038] a first bundle adjustment module, configured to perform inter-frame bundle adjustment processing on the point cloud data stored in each of the voxels to obtain intermediate pose information corresponding to each frame of point cloud data;

[0039] a processing module, configured to obtain a plurality of sub-maps according to the point cloud data of each frame and a preset number of frames, wherein each sub-map includes the point cloud data of the preset number of frames;

[0040] The second bundle adjustment module is used to perform bundle adjustment processing between sub-maps according to the intermediate pose information corresponding to each frame of point cloud data, and obtain the target pose information corresponding to each point cloud data in each sub-map;

[0041] An optimization module is used to optimize each frame of point cloud data according to the target pose information, the control coordinates of each control point in the control coordinate system, and the closed-loop factor to obtain processed point cloud data of the target area, wherein the control coordinate system is established based on the position of the control point, and the acquisition device passes through the control point when acquiring point cloud data.

[0042] In a third aspect of an embodiment of the present application, a computer device is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the computer program is executed by the processor, the point cloud data processing method described in the first aspect is implemented.

[0043] In a fourth aspect of an embodiment of the present application, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the point cloud data processing method described in the first aspect is implemented.

[0044] The beneficial effects of the embodiments of the present application include:

[0045] An embodiment of the present application provides a point cloud data processing method, which stores multi-frame point cloud data of a target area collected by an acquisition device in each voxel in a preset data model, performs inter-frame bundle adjustment processing on the point cloud data stored in each voxel to obtain intermediate pose information corresponding to each frame of point cloud data, obtains multiple sub-maps based on each frame of point cloud data and a preset number of frames, performs inter-sub-map bundle adjustment processing on each sub-map based on the intermediate pose information corresponding to each frame of point cloud data to obtain target pose information corresponding to each point cloud data in each sub-map, optimizes each frame of point cloud data based on the target pose information, the control coordinates of each control point in the control coordinate system, and the closed-loop factor to obtain processed point cloud data of the target area.

[0046] Among them, since the bundle adjustment can correct or optimize the posture error caused by collecting point cloud data, by performing inter-frame bundle adjustment on the point cloud data stored in each voxel, it can be ensured that the intermediate posture information obtained is more accurate than the posture information of the directly collected point cloud data.

[0047] By performing bundle adjustment on each submap based on the intermediate pose information corresponding to each frame of point cloud data, the transmission of accumulated errors generated by multiple inter-frame bundle adjustment processes between submaps can be reduced or minimized. In other words, in this way, no accumulated errors will be generated between two adjacent submaps, thereby improving the accuracy of the target pose information corresponding to each frame of point cloud data.

[0048] Since the coordinates or positions of other objects or areas can be calculated through the control coordinates of each control point, and the target pose information and the closed-loop factor are obtained after the sub-maps are subjected to bundle adjustment between sub-maps, then, by optimizing the point cloud data of each frame through the target pose information, the control coordinates of each control point in the control coordinate system, and the closed-loop factor, it can be ensured that the processed point cloud data of the target area does not have accumulated errors and has high accuracy.

[0049] In this way, the processing accuracy of point cloud data can be improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without creative work.

[0051] Figure 1 A flowchart of the first point cloud data processing method provided in an embodiment of the present application;

[0052] Figure 2 A flowchart of a second point cloud data processing method provided in an embodiment of the present application;

[0053] Figure 3 A flowchart of a third point cloud data processing method provided in an embodiment of the present application;

[0054] Figure 4 A flowchart of a fourth point cloud data processing method provided in an embodiment of the present application;

[0055] Figure 5 A flowchart of a fifth point cloud data processing method provided in an embodiment of the present application;

[0056] Figure 6 A flowchart of a sixth point cloud data processing method provided in an embodiment of the present application;

[0057] Figure 7 A schematic structural diagram of a point cloud data processing device provided in an embodiment of the present application;

[0058] Figure 8 A schematic diagram of the structure of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0059] To make the objectives, technical solutions, and advantages of the embodiments of the present application more clear, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the accompanying drawings of the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Generally, the components of the embodiments of the present application described and shown in the drawings herein can be arranged and designed in various different configurations.

[0060] Therefore, the following detailed description of the embodiments of the present application provided in the accompanying drawings is not intended to limit the scope of the present application for protection, but merely represents selected embodiments of the present application. All other embodiments obtained by persons of ordinary skill in the art based on the embodiments in the present application without creative work are within the scope of protection of the present application.

[0061] It should be noted that similar reference numerals and letters denote similar items in the following drawings, and therefore, once an item is defined in one drawing, it does not need to be further defined or explained in subsequent drawings.

[0062] In the description of this application, it should be noted that the terms "first", "second", "third", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.

[0063] In the related art, technicians generally control the corresponding sensors to move along a path that is convenient for positioning and mapping, and collect point cloud data of the target area in real time or at very short intervals during the movement to obtain multi-frame point cloud data corresponding to the target area. Then, back-end processing is performed based on the collected multi-frame point cloud data to filter and nonlinearly optimize the multi-frame point cloud data. However, since the related art solution has a certain error in the processing of each frame of point cloud data during the back-end processing, when the back-end processing of the multi-frame point cloud data is completed, the related art solution will cause a large accumulated error problem. Therefore, this solution has the problem of poor processing accuracy of point cloud data.

[0064] To this end, an embodiment of the present application provides a point cloud data processing method, which stores multi-frame point cloud data of the target area collected by the acquisition device in each voxel in a preset data model, performs inter-frame bundle adjustment processing on the point cloud data stored in each voxel, and obtains intermediate pose information corresponding to each frame of point cloud data. A plurality of sub-maps are obtained based on each frame of point cloud data and a preset number of frames. Inter-sub-map bundle adjustment processing is performed on each sub-map based on the intermediate pose information corresponding to each frame of point cloud data to obtain target pose information corresponding to each point cloud data in each sub-map. Each frame of point cloud data is optimized based on the target pose information, the control coordinates of each control point in the control coordinate system, and the closed-loop factor to obtain the processed point cloud data of the target area, thereby achieving the effect of improving the processing accuracy of the point cloud data.

[0065] The present application embodiment is described by taking the point cloud data processing method applied in SLAM technology as an example, but it does not mean that the present application embodiment can only be applied to point cloud data processing in SLAM technology.

[0066] The point cloud data processing method provided in the embodiment of the present application is explained in detail below.

[0067] Figure 1 This is a flowchart of a point cloud data processing method provided by this application. This method can be applied to a computer device, which can be any terminal device or server with processing capabilities. Figure 1 , an embodiment of the present application provides a point cloud data processing method, comprising:

[0068] Step 1001: storing multiple frames of point cloud data of a target area acquired by an acquisition device in each voxel in a preset data model.

[0069] Optionally, the acquisition device may refer to a device that can acquire point cloud data, such as a Rigel SLAM device, or any other device.

[0070] Optionally, the target area may refer to an area where SLAM map construction is required.

[0071] The point cloud data refers to a set of vectors in a three-dimensional coordinate system. These vectors can represent the outer surface shape of an object and / or the geometric position information of the object.

[0072] The types of point cloud data in each frame include plane feature point cloud and line feature point cloud.

[0073] Generally, when collecting point cloud data of the target area, the acquisition device may circle the target area along a specific path. That is, after the acquisition device completes collecting point cloud data of the target area, it will circle the target area at least once and return to the location where point cloud data collection was started. This embodiment of the present application is not limited to this.

[0074] Optionally, the preset data model may be an octree structured data model or a quadtree structured data model, which is not limited in the embodiments of the present application.

[0075] For example, an octree is a tree-like data structure used to describe three-dimensional space. Each node in the octree represents a cubic volume element, also known as a voxel. Each node has eight child nodes, and the sum of the volume elements represented by these eight child nodes equals the volume of the parent node.

[0076] In addition, the plane feature point cloud and line feature point cloud in each frame of point cloud data can be stored in different voxels. It is understandable that multiple frames of point cloud data can also be stored in one voxel, and this embodiment of the application does not limit this.

[0077] It is worth noting that in this way, the point cloud data of each frame can be stored through a preset data model, and the plane feature point cloud and the line feature point cloud can be stored in different voxels respectively, which facilitates the subsequent processing of the point cloud data stored in different voxels.

[0078] Step 1002: Perform inter-frame bundle adjustment processing on the point cloud data stored in each voxel to obtain intermediate pose information corresponding to each frame of point cloud data.

[0079] Optionally, the inter-frame bundle adjustment processing operation may refer to utilizing continuous multi-frame point cloud data to perform bundle adjustment operations on the plane feature point clouds and line feature point clouds stored in each voxel corresponding to each frame of point cloud data in the continuous multi-frame point cloud data.

[0080] That is, the inter-frame bundle adjustment processing can be performed based on any two adjacent frames of point cloud data in the continuous multi-frame point cloud data.

[0081] In addition, bundle adjustment can be performed in any possible manner, and the embodiments of the present application do not limit this.

[0082] Optionally, the intermediate pose information may refer to the pose of each frame of point cloud data after being adjusted and optimized after performing inter-frame bundle adjustment processing on each frame of point cloud data.

[0083] It is worth noting that, since bundle adjustment can correct or optimize the pose errors caused by collecting point cloud data, by performing inter-frame bundle adjustment on the point cloud data stored in each voxel, it can be ensured that the intermediate pose information obtained is more accurate than the pose information of the directly collected point cloud data.

[0084] Step 1003: Obtain multiple sub-maps according to the point cloud data of each frame and the preset number of frames.

[0085] Optionally, the preset number of frames can be set by relevant technical personnel according to actual needs. The preset number of frames can be any positive integer less than the total number of point cloud data in each frame, and the embodiment of the present application does not limit this.

[0086] Each sub-map includes the point cloud data of the preset number of frames. In other words, each sub-map is obtained by combining the point cloud data of the preset number of consecutive frames into a point cloud data set.

[0087] Any sub-map can be used to represent a portion of the target area.

[0088] It is worth noting that, in this way, the point cloud data of each frame can be divided into multiple sub-maps for representing a part of the target area. That is to say, the continuous preset number of frames can be regarded as a whole, which can facilitate the subsequent corresponding processing of each sub-map.

[0089] Step 1004: performing bundle adjustment processing between sub-maps based on the intermediate pose information corresponding to each frame of point cloud data to obtain target pose information corresponding to each point cloud data in each sub-map.

[0090] Optionally, the bundle adjustment operation between submaps may refer to using a plurality of consecutive submaps to perform a bundle adjustment operation on the overall position and posture of each of the plurality of consecutive submaps.

[0091] Optionally, the target pose information may refer to the pose of each frame of point cloud data after adjustment and optimization, obtained after performing bundle adjustment processing on each submap.

[0092] It is worth noting that since there may still be a small amount of error after the inter-frame bundle adjustment processing of each frame of point cloud data, when the inter-frame bundle adjustment processing is continuously performed on many frames of point cloud data, the errors generated after each bundle adjustment will be accumulated. Then, this will lead to a large accumulated error between the final submap including the last frame of point cloud data and the initial submap including the first frame of point cloud data, which may cause the final submap and the initial submap to not overlap, thus leading to a large error in mapping the target area.

[0093] It is worth noting that since each submap includes the preset number of frames of point cloud data, that is, each submap is a collection of the preset number of frames of point cloud data, then by performing inter-submap bundle adjustment processing on each submap based on the intermediate pose information corresponding to each frame of point cloud data, it is possible to reduce or minimize the transmission of accumulated errors generated by multiple inter-frame bundle adjustments between submaps. In other words, this can prevent accumulated errors from occurring between two adjacent submaps, thereby improving the accuracy of the target pose information corresponding to each frame of point cloud data. In this way, the processing accuracy of the point cloud data can be improved.

[0094] Step 1005: Optimize each frame of point cloud data according to the target pose information, the control coordinates of each control point in the control coordinate system, and the closed-loop factor to obtain processed point cloud data of the target area.

[0095] Alternatively, each control point may be a point set by relevant technical personnel according to actual needs on the path of the acquisition device when acquiring point cloud data of the target area. That is, the acquisition device passes through each control point when acquiring point cloud data.

[0096] In addition, each control point can be used as a measurement mark, and the coordinates or positions of other objects or areas can be calculated through the control coordinates of each control point.

[0097] The control coordinates may be calculated by relevant technicians using a total station to measure the distance, horizontal angle, and vertical angle between each control point, and then performing an adjustment solution on the distance, horizontal angle, and vertical angle between each control point.

[0098] The total station may be a TM30 total station.

[0099] Optionally, the control coordinate system is established based on the position of the control point. The control coordinate system can be used as a reference coordinate system.

[0100] Optionally, the closed-loop factor may be used to correct an error between the last frame of point cloud data and the first frame of point cloud data, or may be used to correct an error between the final submap and the initial submap.

[0101] For example, intelligent process control (ICP) can be used to align the initial submap and the final submap that have undergone bundle adjustment between submaps to obtain a pose transformation matrix, and the pose transformation matrix can be used to update the pose corresponding to the last frame of point cloud data to obtain the closed-loop factor. This embodiment of the present application is not limited to this.

[0102] Optionally, the processed point cloud data may refer to point cloud data obtained after processing is completed, or may refer to point cloud data with no accumulated errors and higher precision.

[0103] It is worth noting that the closed-loop factor is obtained after performing inter-submap bundle adjustment on each submap. Performing inter-submap bundle adjustment on each submap can reduce the accumulated error caused by multiple inter-frame bundle adjustment processes, thus ensuring the reliability and availability of the closed-loop factor.

[0104] It is worth noting that since the coordinates or positions of other features or areas can be inferred from the control coordinates of each control point, and the target pose information and the closed-loop factor are obtained after performing bundle adjustment on each submap, optimizing each frame of point cloud data using this target pose information, the control coordinates of each control point in the control coordinate system, and the closed-loop factor ensures that the processed point cloud data of the target area is free of accumulated errors and has high accuracy. This can improve the processing accuracy of point cloud data.

[0105] In an embodiment of the present application, multi-frame point cloud data of the target area collected by the acquisition device is stored in each voxel in a preset data model, and inter-frame bundle adjustment processing is performed on the point cloud data stored in each voxel to obtain intermediate pose information corresponding to each frame of point cloud data. A plurality of sub-maps are obtained based on each frame of point cloud data and a preset number of frames. Inter-sub-map bundle adjustment processing is performed on each sub-map based on the intermediate pose information corresponding to each frame of point cloud data to obtain target pose information corresponding to each point cloud data in each sub-map. Each frame of point cloud data is optimized based on the target pose information, the control coordinates of each control point in the control coordinate system, and the closed-loop factor to obtain processed point cloud data of the target area.

[0106] Among them, since the bundle adjustment can correct or optimize the posture error caused by collecting point cloud data, by performing inter-frame bundle adjustment on the point cloud data stored in each voxel, it can be ensured that the intermediate posture information obtained is more accurate than the posture information of the directly collected point cloud data.

[0107] By performing bundle adjustment on each submap based on the intermediate pose information corresponding to each frame of point cloud data, the transmission of accumulated errors generated by multiple inter-frame bundle adjustment processes between submaps can be reduced or minimized. In other words, in this way, no accumulated errors will be generated between two adjacent submaps, thereby improving the accuracy of the target pose information corresponding to each frame of point cloud data.

[0108] Since the coordinates or positions of other objects or areas can be calculated through the control coordinates of each control point, and the target pose information and the closed-loop factor are obtained after the sub-maps are subjected to bundle adjustment between sub-maps, then, by optimizing the point cloud data of each frame through the target pose information, the control coordinates of each control point in the control coordinate system, and the closed-loop factor, it can be ensured that the processed point cloud data of the target area does not have accumulated errors and has high accuracy.

[0109] In this way, the processing accuracy of point cloud data can be improved.

[0110] In one possible implementation, storing multiple frames of point cloud data of a target area acquired by an acquisition device in each voxel in a preset data model includes:

[0111] The plane feature point cloud and the line feature point cloud in each frame of point cloud data are determined, and the plane feature point cloud and the line feature point cloud are converted into a global coordinate system.

[0112] The converted plane feature point cloud and the converted line feature point cloud are respectively stored in different voxels in the preset data model.

[0113] Since the preset data model can be an octree data model, and two octree data models can be used to store the plane feature point cloud and the line feature point cloud respectively, the octree data model can be used to split the plane feature point cloud and the line feature point cloud of each frame into different voxels, making it easier to perform bundle adjustment processing on different types of point cloud data in different ways.

[0114] The eigenvalue information of the covariance matrix of each voxel is calculated, and each voxel is split according to the eigenvalue information until the resolution of each split voxel meets the preset conditions.

[0115] Exemplarily, the initial resolution of the octree data model can be defined first and an initial split can be performed, and then the ratio m1 of the maximum eigenvalue to the minimum eigenvalue of the covariance matrix of each voxel in the octree data model storing the planar feature point cloud after the initial split can be calculated.

[0116] And calculate the ratio m2 of the maximum eigenvalue to the middle eigenvalue of the covariance matrix of each voxel in the octree data model storing the wired feature point cloud after the initial split.

[0117] If m1 or m2 is less than a specific threshold, the corresponding octree data model will not be split into the next step. Otherwise, the corresponding voxels will continue to be split until the resolution of the voxels of the split octree data model reaches the minimum resolution, and then the splitting will stop.

[0118] In addition, for each new point cloud data, the point cloud data can also be stored in the corresponding voxel in the octree data model. If there are some point clouds in the point cloud data that cannot be stored in the existing octree data model, a new voxel can be recreated to store this part of the point cloud.

[0119] In this way, it can be ensured that each point cloud in all point cloud data can be stored in the preset data model according to type.

[0120] In one possible implementation, see Figure 2 , perform inter-frame bundle adjustment processing on the point cloud data stored in each voxel to obtain the intermediate pose information corresponding to each frame of point cloud data, including:

[0121] Step 1006: Determine multiple point cloud data sets from the voxel according to a preset sliding step size.

[0122] Optionally, the sliding step size may be a step size for creating a sliding window set by relevant technical personnel according to actual needs.

[0123] The point cloud data set may be a collection of point cloud data of a number of frames indicated by the sliding step size. Each frame of point cloud data in each point cloud data set is continuous.

[0124] For example, assume there are 10 frames of point cloud data, represented by numbers 1-10, and the sliding step is set to 3. Then, the created sliding window can include 3 frames of point cloud data. Then, the point cloud data sets determined from these 10 frames can include (1, 2, 3), (2, 3, 4), ... (7, 8, 9), (8, 9, 10), respectively.

[0125] Step 1007: According to the type of point cloud data in each point cloud data set, inter-frame bundle adjustment processing is performed on the point cloud data in each point cloud data set based on the corresponding cost function to obtain the posture compensation information corresponding to each frame of point cloud data.

[0126] Optionally, the type of point cloud data may include the above-mentioned plane feature point cloud and line feature point cloud.

[0127] Optionally, the cost function may refer to a cost function used for performing inter-frame bundle adjustment processing. Generally, the cost function corresponding to a plane feature point cloud is different from the cost function corresponding to a line feature point cloud.

[0128] Optionally, the posture compensation information can be used to correct the posture of each frame of point cloud data collected. Each frame of point cloud data can correspond to a posture compensation information, which is not limited in this embodiment of the present application.

[0129] Step 1008: Determine the intermediate pose information corresponding to each frame of point cloud data based on the pose compensation information and the initial pose information of each frame of point cloud data.

[0130] Optionally, the initial pose information refers to the pose information corresponding to the point cloud data collected by the above-mentioned acquisition device, and the initial pose information has not been corrected.

[0131] For example, the sum of the posture compensation information corresponding to any frame of point cloud data and the initial posture information can be used as the intermediate posture information corresponding to any frame of point cloud data. This embodiment of the present application does not limit this.

[0132] It is worth noting that since each point cloud data set includes multiple frames of continuous point cloud data, performing inter-frame bundle adjustment processing on the point cloud data in each point cloud data set can ensure that the obtained pose compensation information is calculated based on the point cloud data of multiple points that are closest to the target area. In this way, the accuracy of each pose compensation information can be improved, thereby improving the accuracy of the intermediate pose information.

[0133] In one possible manner, the characteristic value of each voxel in the preset data model may be calculated in the following manner.

[0134] For all point cloud data Pi{i=1,…,Np} in any voxel, there may be new point cloud data when the above sliding window moves, so it can be divided into the existing point set Wi{i=1,…,Nwq} and the new point set Qi{i=1,…,Nq}. The sum of all point cloud data in the point set Wi is recorded as Swq, and the covariance matrix of any voxel is Mwq. Mwq is a 3×3 matrix. Pi, Wi, Qi, and Swq can be a 3×1 vector.

[0135] When Qi is added, the sum of the latest point cloud data Sw, the number of points Nw and the latest covariance matrix Mw can be obtained through the following formula.

[0136]

[0137] N w =Nwp+N q

[0138]

[0139] Here, T represents the transpose symbol.

[0140] Then, the centroid G and the normalized covariance matrix M of all point cloud data in the point set Wi can be updated by the following formula, where G is a 3×1 vector and M is a 3×3 matrix.

[0141]

[0142]

[0143] The covariance matrix M is a matrix actually used to calculate eigenvalues ​​obtained based on Mw.

[0144] Then, the covariance matrix M can be decomposed into eigenvalues ​​using the following formula to obtain the eigenvector matrix Q and the diagonal matrix D, where the diagonal of the matrix D is the eigenvalue.

[0145] M=QDQ T

[0146] It is worth noting that for the matrix storing the plane feature point cloud, the eigenvalues ​​are two large and one small, and the eigenvector corresponding to the smallest eigenvalue is the plane normal np. For the corresponding line features, the eigenvalues ​​are one large and two small, and the largest eigenvalue corresponds to the direction of the line ne.

[0147] In one possible implementation, based on the type of point cloud data in each point cloud dataset, inter-frame bundle adjustment processing is performed on the point cloud data in each point cloud dataset based on a corresponding cost function to obtain pose compensation information, including:

[0148] Determine the type of point cloud data in each point cloud dataset.

[0149] In this way, it is possible to accurately determine which point cloud data are plane feature point clouds and which point cloud data are line feature point clouds, so that different cost functions can be used to perform bundle adjustment processing on different types of point cloud data.

[0150] If the type of the point cloud data in each point cloud data set is a plane feature point cloud, inter-frame bundle adjustment processing is performed on the distance from the point cloud data in each point cloud data set to the target plane based on the first cost function to obtain the posture compensation information.

[0151] Optionally, the target plane may refer to a plane closest to the local point cloud data in each point cloud dataset, that is, the target plane may be a plane closest to or most similar to the surface formed by the local point cloud data in each point cloud dataset.

[0152] Exemplarily, the first cost function may be expressed as follows:

[0153]

[0154] Where Np is the number of points within a voxel, np is the plane normal of the target plane, Pi is the point cloud data corresponding to any point within the voxel, and G is the center of gravity of the point cloud data within the voxel. The result of the first cost function is equivalent to finding the minimum eigenvalue of the covariance matrix M of the voxel. In addition, this voxel is used to store the plane feature point cloud.

[0155] Then, the minimum value of ε3(M) is solved by the LM (Levenberg-Marquart) algorithm to obtain the posture compensation information.

[0156] If the type of the point cloud data in each point cloud data set is a line feature point cloud, inter-frame bundle adjustment processing is performed on the distance from the point cloud data in each point cloud data set to the target straight line based on the second cost function to obtain the posture compensation information.

[0157] Optionally, the target straight line may refer to a straight line that is closest to the point cloud data in each point cloud data set, that is, the target straight line may be a straight line that is closest to or most similar to the curve formed by the point cloud data in each point cloud data set.

[0158] Exemplarily, the second cost function may be expressed as follows:

[0159]

[0160] Where Ne is the number of points within a voxel, ne is the direction of the voxel, Pi is the point cloud data corresponding to any point within the voxel, G is the center of gravity of the point cloud data within the voxel, and ε3(M) is the minimum two eigenvalues ​​of the covariance matrix M of any voxel. The result of this second cost function is equivalent to solving for the minimum of the minimum eigenvalue of the covariance matrix M of the line voxel. In addition, this voxel is used to store the line feature point cloud.

[0161] Then, the minimum value of ε3(M) is solved by the LM (Levenberg-Marquart) algorithm to obtain the posture compensation information.

[0162] It is worth noting that, in this way, different cost functions can be used for bundle adjustment processing on different types of point cloud data to ensure that the pose compensation information of different types of point cloud data can be accurately obtained, thereby improving the processing accuracy of point cloud data.

[0163] In one possible implementation, see Figure 3 , according to the point cloud data of each frame and the preset number of frames, multiple sub-maps are obtained, including:

[0164] Step 1009: Arrange the point cloud data of each frame in time sequence to obtain an initial point cloud sequence.

[0165] Optionally, arranging the frames of point cloud data in time sequence may be arranging the frames of point cloud data in order of their acquisition time, and generally, the first frame of point cloud data obtained may be arranged first.

[0166] Optionally, the initial point cloud sequence may refer to a sequence including all frame point cloud data.

[0167] It is worth noting that step 1009 can also be performed before step 1006, and this embodiment of the present application does not limit this.

[0168] Step 1010: Acquire multiple point cloud subsequences from the initial point cloud sequence in sequence according to the preset number of frames.

[0169] Optionally, each point cloud subsequence includes point cloud data of the preset number of frames.

[0170] Generally, each frame of point cloud data included in each point cloud subsequence may have some repetition or no repetition.

[0171] For example, if the frames of point cloud data included in each point cloud subsequence are completely non-repetitive, assuming that there are 12 frames of point cloud data in the initial point cloud sequence, these 12 frames of point cloud data are represented by numbers 1-12 respectively. If the preset number of frames is 4, then the obtained point cloud subsequences can include (1, 2, 3, 4), (5, 6, 7, 8), and (9, 10, 11, 12) respectively.

[0172] If there is some duplication in the point cloud data of each frame included in each point cloud subsequence, then the point cloud subsequences obtained based on these 12 frames of point cloud data may include (1, 2, 3, 4), (4, 5, 6, 7), (7, 8, 9, 10), and (9, 10, 11, 12) respectively.

[0173] This is merely a possible example provided by the embodiment of the present application, and does not mean that each point cloud subsequence in the embodiment of the present application can only be obtained in this way.

[0174] Step 1011: Each point cloud subsequence is treated as a submap.

[0175] In this way, submaps representing partial areas in the target area can be obtained.

[0176] In one possible implementation, see Figure 4 , perform bundle adjustment on each submap based on the intermediate pose information corresponding to each frame of point cloud data, and obtain the target pose information corresponding to each point cloud data in each submap, including:

[0177] Step 1012: Establish a local coordinate system based on the intermediate pose information corresponding to the reference point cloud data in the sub-map.

[0178] Optionally, the reference point cloud data is any point cloud data in the sub-map.

[0179] It can be understood that the local coordinate system can be used to represent the pose information of the reference point cloud data.

[0180] In addition, when executing step 1012, corresponding initial coordinate systems can also be established based on the intermediate pose information corresponding to other frame point cloud data in the submap except the reference point cloud data. The initial coordinate system is the local coordinate system corresponding to other frame point cloud data.

[0181] Step 1013: converting each to-be-converted point cloud data of the sub-map into the local coordinate system to obtain a preliminarily converted sub-map.

[0182] Optionally, the point cloud data to be converted is point cloud data in the sub-map excluding the reference point cloud data.

[0183] Optionally, the preliminarily converted submap may refer to a point cloud data set including the reference point cloud data and each point cloud data to be converted. In other words, all the point cloud data of each frame in the preliminarily converted submap are based on the local coordinate system.

[0184] Step 1014: performing bundle adjustment between submaps on the preliminarily transformed submap based on the target cost function to obtain overall position information corresponding to the preliminarily transformed submap.

[0185] Optionally, the overall pose information may refer to the optimized pose of each preliminarily transformed submap obtained after performing bundle adjustment on each preliminarily transformed submap. In other words, the overall pose information may be used to represent the pose information of each frame of point cloud data in the preliminarily transformed submap.

[0186] Optionally, the target cost function is a function for performing bundle adjustment between submaps. The bundle adjustment between submaps can be performed by inputting the pose information, plane feature point cloud, line feature point cloud, etc. of the submap after the preliminary transformation into the target cost function.

[0187] Step 1015: transform each to-be-transformed point cloud data in the preliminarily transformed sub-map into an initial coordinate system according to the overall pose information to obtain a target sub-map.

[0188] Optionally, the initial coordinate system is a local coordinate system of the point cloud data to be converted.

[0189] Optionally, the target submap may refer to the preliminarily converted submap after each point cloud data to be converted is converted into an initial coordinate system.

[0190] Specifically, the operation of converting each to-be-converted point cloud data in the preliminarily converted sub-map into the initial coordinate system may refer to converting the position and pose of each to-be-converted point cloud data in the preliminarily converted sub-map into the initial coordinate system.

[0191] It is worth noting that since the overall pose information is obtained by performing bundle adjustment on each submap after preliminary conversion and is used to represent the pose information of each frame of point cloud data in the submap after preliminary conversion, the accumulated errors of each point cloud data to be converted in the submap after preliminary conversion can be reduced after converting it to the initial coordinate system. However, since the reference point cloud data is originally in the local coordinate system established based on the pose of the reference point cloud data, there is no need to convert the coordinate system of the reference point cloud data. In this way, the processing accuracy of the point cloud data can be improved.

[0192] Step 1016: The pose information corresponding to each point cloud data in the target sub-map is used as the target pose information.

[0193] In this way, the accumulated error generated by multiple inter-frame bundle adjustment processes can be reduced or minimized, thereby improving the accuracy of the target pose information corresponding to each frame of point cloud data. In this way, the processing accuracy of point cloud data can be improved.

[0194] For example, it is assumed that there are N frames of point cloud data, and these N frames of point cloud data are represented by S i {i=1, ..., N}, where i is the order of each frame of point cloud data. The number of preset frames is K, so each submap can include K frames of point cloud data, and each submap can be represented by Ri{i=1, ..., K}.

[0195] The pose R of the point cloud data to be transferred in the i-th frame in each sub-map can be calculated by the following formula: i Go to this local coordinate system.

[0196]

[0197] Among them, R is the pose of the i-th frame of the point cloud data to be converted after being converted to the local coordinate system, R k is the pose of the reference point cloud data.

[0198] In addition, the target cost function applicable to the plane feature point cloud can be:

[0199]

[0200] The target cost function applicable to line feature point cloud can be:

[0201]

[0202] In this way, bundle adjustment can be performed between submaps after each preliminary conversion.

[0203] R→R optimise

[0204] Among them, R refers to the submap before the bundle adjustment between submaps, R optimise It refers to the submap after the bundle adjustment between submaps.

[0205] Then, the pose of the point cloud data to be converted in the i-th frame in each submap can be converted to the initial coordinate system using the following formula.

[0206]

[0207] Among them, R i is the pose of the point cloud data to be transferred in the local coordinate system of the i-th frame, R i new is the pose of the i-th frame of the point cloud data to be converted back to the initial coordinate system.

[0208] In one possible implementation, see Figure 5 , optimize the point cloud data of each frame according to the pose information of each target, the control coordinates of each control point in the control coordinate system, and the closed-loop factor to obtain the processed point cloud data of the target area, including:

[0209] Step 1017: convert each target pose information into the control coordinate system according to the control coordinates of each control point to obtain converted pose information corresponding to each target pose information.

[0210] Optionally, the transformed posture may refer to the posture information of each frame of point cloud data in the control coordinate system after bundle adjustment processing.

[0211] It is worth noting that since the pose information of each target is the pose information corresponding to each point cloud data in the above-mentioned target sub-map, it can ensure that the cumulative error of each target pose information is small, and then it can ensure that the cumulative error of each converted pose information is small, which can improve the processing accuracy of the point cloud data.

[0212] For example, the target pose information after bundle adjustment optimization can be converted into the control coordinate system using the following formula.

[0213]

[0214] Among them, R c Represents the pose rotation matrix in the control coordinate system, R g,cRepresents the rotation matrix used to transform the point cloud pose from the global coordinate system to the control coordinate system, λ represents the scaling factor between the control coordinate system and the global coordinate system, R g Represents the pose rotation matrix in the global coordinate system, T c Represents the pose translation vector in the control coordinate system, T g,c Represents the translation vector that transforms the point cloud pose from the global coordinate system to the control point coordinate system, T g Represents the pose translation vector in the global coordinate system.

[0215] Step 1018: Optimize each frame of point cloud data using the transformed pose information, the control coordinates of each control point, and the closed-loop factor to obtain processed point cloud data of the target area.

[0216] One possible implementation is to optimize the point cloud data of each frame through the transformed pose information, the control coordinates of each control point, and the closed-loop factor to obtain the processed point cloud data of the target area, including:

[0217] The transformed pose information, the control coordinates of each control point, and the closed-loop factor are input into a pre-built factor graph optimization model to obtain the processed point cloud data of the target area.

[0218] Optionally, the factor graph is an undirected graph, and the factor graph may be composed of two types of nodes: variable nodes representing optimization variables and factor nodes representing factors.

[0219] The factor graph optimization model can be a model established based on a corresponding factor graph algorithm, and the transformed pose information, the control coordinates of each control point, and the closed-loop factor can be used as optimization variables of the factor graph optimization model.

[0220] It is worth noting that the operation based on factor graph optimization refers to the operation of maximizing the product of the factors of each optimization variable by adjusting the value of each optimization variable.

[0221] Then, by optimizing each frame of point cloud data through the transformed pose information, the control coordinates of each control point in the control coordinate system, and the closed-loop factor, we can ensure that the processed point cloud data of the target area has no accumulated errors and is highly accurate. This can improve the processing accuracy of the point cloud data.

[0222] In one possible implementation, see Figure 6 , transform each target pose information into the control coordinate system according to the control coordinates of each control point, and obtain the transformed pose information corresponding to each target pose information, including:

[0223] Step 1019: Convert the local coordinates of each control point into the global coordinate system to obtain the global coordinates of each control point.

[0224] Optionally, the global coordinate system may refer to the local coordinate system corresponding to the aforementioned reference point cloud data. Specifically, the local coordinate system corresponding to the first frame of point cloud data may be used as the common coordinate system for all subsequent frames, and all frame point cloud data may be transformed to the common coordinate system through the corresponding pose. In other words, the local coordinate system corresponding to the first frame of point cloud data is the global coordinate system.

[0225] Exemplarily, the global coordinates of each control point can be obtained by the following formula.

[0226] P global =R i,g P imu +T i,g

[0227] Among them, P global Represents the global coordinates of each control point, P imu Represents the local coordinates of each control point, R i,g Represents the pose rotation matrix from the local coordinate system to the global coordinate system, T i,g Represents the pose translation vector from the local coordinate system to the global coordinate system.

[0228] Step 1020: Determine the transformation relationship between the global coordinate system and the control coordinate system according to the global coordinates and the control coordinates of each control point.

[0229] Optionally, the coordinates or posture of any point in the global coordinate system can be determined as the coordinates or posture of any point in the control coordinate system through the transformation relationship.

[0230] Exemplarily, the transformation relationship between the global coordinate system and the control coordinate system may be determined by the following formula.

[0231] P ctp =λR g,c P global +T g,c

[0232] Among them, P ctp Represents the point cloud coordinates in the control coordinate system, P global Represents the point cloud coordinates in the global coordinate system, R g,c Represents the rotation matrix used to transform the point cloud coordinates from the global coordinate system to the control coordinate system, T g,c Represents the translation vector used to transform the point cloud coordinates from the global coordinate system to the control point coordinate system.

[0233] Step 1021: transform each target pose information into the control coordinate system according to the transformation relationship to obtain the transformed pose information corresponding to each target pose information.

[0234] In this way, the conversion between the global coordinate system and the control coordinate system can be accurately achieved, thereby improving the accuracy of the processed point cloud data of the target area.

[0235] The following describes the apparatus, device, and computer-readable storage medium used to execute the point cloud data processing method provided in this application. The specific implementation process and technical effects are described above and will not be repeated below.

[0236] Figure 7 This is a schematic diagram of the structure of a point cloud data processing device provided in an embodiment of the present application, see Figure 7 , the device comprises:

[0237] The storage module 201 is used to store the multi-frame point cloud data of the target area acquired by the acquisition device in each voxel in the preset data model.

[0238] The first bundle adjustment module 202 is used to perform inter-frame bundle adjustment processing on the point cloud data stored in each voxel to obtain intermediate pose information corresponding to each frame of point cloud data.

[0239] The processing module 203 is used to obtain multiple sub-maps according to the point cloud data of each frame and a preset number of frames.

[0240] Each sub-map includes point cloud data of the preset number of frames.

[0241] The second bundle adjustment module 204 is used to perform bundle adjustment processing between sub-maps according to the intermediate pose information corresponding to each frame of point cloud data, so as to obtain the target pose information corresponding to each point cloud data in each sub-map.

[0242] The optimization module 205 is used to optimize each frame of point cloud data according to the target pose information, the control coordinates of each control point in the control coordinate system, and the closed-loop factor to obtain processed point cloud data of the target area.

[0243] The control coordinate system is established based on the position of the control point, and the acquisition device passes through the control point when acquiring point cloud data.

[0244] The above-mentioned device is used to execute the method provided in the above-mentioned embodiment. Its implementation principle and technical effect are similar and will not be repeated here.

[0245] The above modules can be one or more integrated circuits configured to implement the above methods, such as one or more application-specific integrated circuits (ASICs), one or more microprocessors, or one or more field programmable gate arrays (FPGAs). For another example, when a module is implemented by scheduling program code through a processing element, the processing element can be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call program code. For another example, these modules can be integrated together and implemented in the form of a system-on-a-chip (SOC).

[0246] Figure 8 This is a schematic diagram of the structure of a computer device provided in an embodiment of the present application. Figure 8 The computer device includes: a memory 301 and a processor 302. The memory 301 stores a computer program that can be run on the processor 302. When the processor 302 executes the computer program, the steps in any of the above method embodiments are implemented.

[0247] An embodiment of the present application further provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments can be implemented.

[0248] Optionally, the present application also provides a program product, such as a computer-readable storage medium, comprising a program, which is used to execute any of the above-mentioned point cloud data processing method embodiments when executed by a processor.

[0249] In the several embodiments provided by the present invention, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be through some interface, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0250] Units described as separate components may or may not be physically separate, and components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0251] In addition, the functional units in various embodiments of the present invention may be integrated into a single processing unit, each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or hardware plus software functional units.

[0252] The above-mentioned integrated unit implemented in the form of a software functional unit can be stored in a computer-readable storage medium. The above-mentioned software functional unit is stored in a storage medium and includes a number of instructions for causing a computer device (which can be a personal computer, server, or network device, etc.) or a processor (English: processor) to perform some steps of the methods of various embodiments of the present invention. The aforementioned storage medium includes: a USB flash drive, a mobile hard disk, a read-only memory (English: Read-Only Memory, abbreviated: ROM), a random access memory (English: Random Access Memory, abbreviated: RAM), a magnetic disk or an optical disk, and other media that can store program code.

[0253] The above are only specific embodiments of the present application, but the scope of protection of this application is not limited to them. Any changes or substitutions that can be easily conceived by any person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.

[0254] The above description is merely a preferred embodiment of the present application and is not intended to limit the present application. Various modifications and variations are possible for those skilled in the art. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of the present application shall be included within the scope of protection of the present application.

Claims

1. A point cloud data processing method, characterized in that: include: Storing multi-frame point cloud data of the target area acquired by the acquisition device in each voxel in the preset data model; Performing inter-frame bundle adjustment processing on the point cloud data stored in each voxel to obtain intermediate pose information corresponding to each frame of point cloud data; Obtaining multiple submaps based on the point cloud data of each frame and a preset number of frames, each submap including the point cloud data of the preset number of frames; Establishing a local coordinate system according to the intermediate pose information corresponding to the reference point cloud data in the submap, wherein the reference point cloud data is any point cloud data in the submap; Converting each to-be-converted point cloud data of the submap into the local coordinate system to obtain a preliminarily converted submap, wherein the to-be-converted point cloud data is the point cloud data in the submap excluding the reference point cloud data; Performing bundle adjustment processing between submaps on the submaps after the preliminary conversion based on the target cost function to obtain overall pose information corresponding to the submaps after the preliminary conversion; Converting each to-be-transformed point cloud data in the preliminarily converted submap to an initial coordinate system according to the overall pose information to obtain a target submap, wherein the initial coordinate system is a local coordinate system of the to-be-transformed point cloud data; The pose information corresponding to each point cloud data in the target submap is used as the target pose information; Converting each target pose information into a control coordinate system according to the control coordinates of each control point to obtain converted pose information corresponding to each target pose information; The point cloud data of each frame is optimized through the transformed posture information, the control coordinates of each control point, and the closed-loop factor to obtain the processed point cloud data of the target area, wherein the control coordinate system is established based on the position of the control point, and the acquisition device passes through the control point when collecting point cloud data.

2. The point cloud data processing method according to claim 1, wherein: The inter-frame bundle adjustment processing is performed on the point cloud data stored in each voxel to obtain the intermediate pose information corresponding to each frame of point cloud data, including: determining a plurality of point cloud data sets from the voxels according to a preset sliding step size; According to the type of the point cloud data in each of the point cloud data sets, performing inter-frame bundle adjustment processing on the point cloud data in each of the point cloud data sets based on the corresponding cost function, to obtain posture compensation information corresponding to each frame of point cloud data; The intermediate pose information corresponding to each frame of point cloud data is determined according to the pose compensation information and the initial pose information of each frame of point cloud data.

3. The point cloud data processing method according to claim 1, wherein: The method of obtaining multiple sub-maps based on the point cloud data of each frame and the preset number of frames includes: Arrange the point cloud data of each frame in time sequence to obtain the initial point cloud sequence; According to the preset number of frames, a plurality of point cloud subsequences are sequentially acquired from the initial point cloud sequence, each of the point cloud subsequences including point cloud data of the preset number of frames; Each point cloud subsequence is regarded as a submap.

4. The point cloud data processing method according to claim 1, wherein: The step of optimizing the point cloud data of each frame by using the transformed pose information, the control coordinates of each control point, and the closed-loop factor to obtain the processed point cloud data of the target area includes: The transformed pose information, the control coordinates of the control points, and the closed-loop factors are input into a pre-built factor graph optimization model to obtain processed point cloud data of the target area.

5. The point cloud data processing method according to claim 1, wherein: The step of converting the target pose information into the control coordinate system according to the control coordinates of the control points to obtain converted pose information corresponding to the target pose information includes: Convert the local coordinates of each control point into a global coordinate system to obtain the global coordinates of each control point; Determining a transformation relationship between the global coordinate system and the control coordinate system according to the global coordinates and the control coordinates of each control point; The target posture information is converted into a control coordinate system according to the transformation relationship to obtain converted posture information corresponding to each target posture information.

6. A point cloud data processing device, characterized in that: The device comprises: A storage module, configured to store multi-frame point cloud data of a target area acquired by an acquisition device in each voxel in a preset data model; a first bundle adjustment module, configured to perform inter-frame bundle adjustment processing on the point cloud data stored in each of the voxels to obtain intermediate pose information corresponding to each frame of point cloud data; a processing module, configured to obtain a plurality of sub-maps according to the point cloud data of each frame and a preset number of frames, wherein each sub-map includes the point cloud data of the preset number of frames; The second bundle adjustment module is used to establish a local coordinate system according to the intermediate pose information corresponding to the reference point cloud data in the submap, wherein the reference point cloud data is any point cloud data in the submap; each point cloud data to be converted in the submap is converted into the local coordinate system to obtain a preliminarily converted submap, and the point cloud data to be converted is the point cloud data in the submap other than the reference point cloud data; based on the target cost function, the submap after the preliminarily conversion is subjected to bundle adjustment between submaps to obtain the overall pose information corresponding to the preliminarily converted submap; according to the overall pose information, each point cloud data to be converted in the preliminarily converted submap is converted into an initial coordinate system to obtain a target submap, and the initial coordinate system is the local coordinate system of the point cloud data to be converted; the pose information corresponding to each point cloud data in the target submap is used as the target pose information; according to the control coordinates of each control point, each target pose information is converted into the control coordinate system to obtain the converted pose information corresponding to each target pose information; The optimization module is used to optimize each frame of point cloud data through each converted pose information, the control coordinates of each control point, and the closed-loop factor to obtain the processed point cloud data of the target area, wherein the control coordinate system is established based on the position of the control point, and the acquisition device passes through the control point when acquiring point cloud data.

7. A computer device, characterized in that: include: A memory and a processor, wherein the memory stores a computer program that can be run on the processor, and when the processor executes the computer program, the steps of the point cloud data processing method according to any one of claims 1 to 5 are implemented.

8. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps of the point cloud data processing method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Client-based point cloud map updating optimization method and system, medium and equipment

    CN113255600A

  • Map construction method and device

    CN113819914A