A method, device, equipment and medium for processing large-scale point cloud data

By using target aggregated subfiles and target paired subfiles in distributed systems for point cloud frame splicing and relative pose correction, the memory usage and scalability problems in large-scale point cloud data processing are solved, and more efficient point cloud data processing is achieved.

CN113986866BActive Publication Date: 2025-07-15APOLLO INTELLIGENT DRIVING (BEIJING) TECHNOLOGY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111229061.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-21
Publication Date
2025-07-15
Estimated Expiration
2041-10-21

AI Technical Summary

Technical Problem

The prior art has problems such as excessive memory usage, data loading and pose search time in large-scale point cloud data processing, and the point cloud splicing algorithm is low in scalability, making it difficult to adapt to algorithm changes.

Method used

The pose data of sparse point cloud frames is obtained through the first processing node in the distributed system, the target aggregate subfile and the target pairing subfile are used for point cloud frame splicing, the intermediate data is calculated and stored in the distributed file system AFS, and the target pairing items are distributed to the second processing node for relative pose correction, reducing memory usage and data transmission time.

Benefits of technology

It reduces the time-consuming process of large-scale point cloud data, reduces the memory usage of distributed systems, and improves the scalability of point cloud splicing algorithm.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113986866B_ABST
    Figure CN113986866B_ABST
Patent Text Reader

Abstract

The present disclosure provides a method, apparatus, device, and medium for processing large-scale point cloud data, relating to the field of computer technologies, and particularly to the field of autonomous driving technologies, including: obtaining a matching target aggregation sub-file and a target pairing sub-file according to the pose data of each sparse point cloud frame in a point cloud sequence block; splicing each sparse point cloud frame according to the target aggregation sub-file to obtain a dense point cloud frame; calculating intermediate data matching each dense point cloud frame, and storing the intermediate data in a distributed file system AFS; obtaining target pairing items corresponding to each dense point cloud frame according to the target pairing sub-file; and distributing each target pairing item to a second processing node in the distributed system for the second processing node to obtain matching intermediate data from AFS to update the relative pose in the target pairing item. The technical solution of the embodiments of the present disclosure can reduce the processing time of large-scale point cloud data and reduce the memory occupancy rate in the distributed system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, in particular to the field of autonomous driving technology, and specifically relates to a method, apparatus, device, and medium for processing large-scale point cloud data. Background Art

[0002] Point cloud stitching is an important and fundamental step in the process of high-precision map mapping, providing constraint conditions for global pose optimization. These constraint conditions are based on the acquired trajectory poses to construct the relative pose relationships between point cloud frames.

[0003] Currently, in order to reduce the mapping time, a distributed strategy is usually adopted to independently calculate each relative pose to complete point cloud stitching. In the related art, when implementing point cloud stitching in a distributed manner, the acquired point clouds are usually divided into point cloud sequence blocks according to a certain quantity in chronological order, and the data of all point cloud sequence blocks are loaded into the memory at one time, resulting in excessive memory occupation and long data loading and pose search times. Secondly, as the data volume increases, a large amount of intermediate data corresponding to the point cloud frames will be generated by the Mapper nodes in the distributed system, and each piece of the intermediate data is transmitted to the Reducer node through an Input / Output (IO) interface. This may lead to excessive shuffle time of the intermediate data, and when the point cloud stitching algorithm changes, the transmission process of the intermediate data needs to be modified in the related art, resulting in low scalability and high expansion cost of the point cloud stitching algorithm. Summary of the Invention

[0004] The present disclosure provides a method, apparatus, device, and medium for processing large-scale point cloud data.

[0005] According to one aspect of the present disclosure, there is provided a method for processing large-scale point cloud data, which is executed by a first processing node in a distributed system. The method includes:

[0006] Obtain a target aggregated sub-file and a target paired sub-file that match the acquisition area of the point cloud sequence block according to the pose data of each sparse point cloud frame in the point cloud sequence block to be processed;

[0007] Stitch each sparse point cloud frame according to the frame connection relationships between key frames and adjacent frames in the same task recorded in each aggregation item in the target aggregated sub-file to obtain a dense point cloud frame;

[0008] Calculate intermediate data that matches each dense point cloud frame, and store the intermediate data in the distributed file system AFS;

[0009] Obtain a target paired item corresponding to each dense point cloud frame according to the relative poses between pairwise key frames recorded in each paired item in the target paired sub-file;

[0010] Distribute each target pairing item to a second processing node in the distributed system for the second processing node to obtain matching intermediate data from the AFS to update the relative pose in the target pairing item.

[0011] According to another aspect of the present disclosure, there is provided a method for processing large-scale point cloud data, which is executed by a second processing node in a distributed system. The method includes:

[0012] When receiving a target pairing data item sent by a first processing node, extract a first key frame, a second key frame included in the target pairing data item, and a relative pose between the first key frame and the second key frame;

[0013] In a distributed file system AFS, respectively obtain intermediate data corresponding to the first key frame and the second key frame;

[0014] According to the intermediate data, correct and update the relative pose in the target pairing data item to obtain a corrected target pairing data item.

[0015] According to another aspect of the present disclosure, there is provided a device for processing large-scale point cloud data, which is applied to a first processing node in a distributed system. The device includes:

[0016] A file acquisition module, configured to obtain a target aggregation sub-file and a target pairing sub-file that match the acquisition area of the point cloud sequence block according to the pose data of each sparse point cloud frame in the point cloud sequence block to be processed;

[0017] A point cloud frame stitching module, configured to stitch each sparse point cloud frame according to the frame connection relationship between the key frame and the adjacent frame recorded in each aggregation item in the target aggregation sub-file to obtain a dense point cloud frame;

[0018] An intermediate data calculation module, configured to calculate intermediate data that matches each dense point cloud frame and store the intermediate data in the distributed file system AFS;

[0019] A pairing item acquisition module, configured to obtain a target pairing item corresponding to each dense point cloud frame according to the relative pose between two key frames recorded in each pairing item in the target pairing sub-file;

[0020] A pairing item distribution module, configured to distribute each target pairing item to a second processing node in the distributed system for the second processing node to obtain matching intermediate data from the AFS to update the relative pose in the target pairing item.

[0021] According to another aspect of the present disclosure, there is provided a device for processing large-scale point cloud data, which is applied to a second processing node in a distributed system. The device includes:

[0022] A relative pose extraction module, configured to extract a first key frame, a second key frame, and a relative pose between the first key frame and the second key frame included in the target paired data item when receiving the target paired data item sent by a first processing node;

[0023] An intermediate data acquisition module, configured to respectively acquire intermediate data corresponding to the first key frame and the second key frame in a distributed file system AFS;

[0024] A relative pose correction module, configured to correct and update the relative pose in the target paired data item according to the intermediate data to obtain a corrected target paired data item.

[0025] According to another aspect of the present disclosure, there is provided an electronic device, including:

[0026] At least one processor; and

[0027] A memory communicatively connected to the at least one processor; wherein,

[0028] The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method described in any embodiment of the present disclosure.

[0029] According to another aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions, and the computer instructions are used to cause a computer to execute the method described in any embodiment of the present disclosure.

[0030] According to another aspect of the present disclosure, there is provided a computer program product, including a computer program, and the computer program implements the method described in any embodiment of the present disclosure when executed by a processor.

[0031] The technical solution of the embodiment of the present disclosure can reduce the processing time of large-scale point cloud data, reduce the memory occupancy rate in a distributed system, and improve the scalability of a point cloud stitching algorithm.

[0032] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it used to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] Figure 1a is a flowchart of a method for stitching point cloud data according to an embodiment of the present disclosure;

[0034] Figure 1b is a schematic diagram of a target aggregation sub-file according to an embodiment of the present disclosure;

[0035] Figure 1c It is a schematic diagram of a target pairing sub-file according to an embodiment of the present disclosure;

[0036] Figure 2 It is a schematic flowchart of another method for stitching point cloud data according to an embodiment of the present disclosure;

[0037] Figure 3a It is a schematic flowchart of another method for stitching point cloud data according to an embodiment of the present disclosure;

[0038] Figure 3b It is a schematic diagram of a geographic grid according to an embodiment of the present disclosure;

[0039] Figure 4 It is a schematic flowchart of another method for stitching point cloud data according to an embodiment of the present disclosure;

[0040] Figure 5 It is a schematic structural diagram of a point cloud data stitching device according to an embodiment of the present disclosure;

[0041] Figure 6 It is a schematic structural diagram of another point cloud data stitching device according to an embodiment of the present disclosure;

[0042] Figure 7 It is a block diagram of an electronic device for a method of stitching point cloud data according to an embodiment of the present disclosure. Detailed implementation manners

[0043] The following describes exemplary embodiments of the present disclosure with reference to the accompanying drawings. Various details of the embodiments of the present disclosure are included to assist understanding, and they should be considered merely exemplary. Therefore, those of ordinary skill in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for clarity and conciseness, descriptions of well-known functions and structures are omitted below.

[0044] Figure 1a It is a schematic flowchart of a method for processing large-scale point cloud data according to an embodiment of the present disclosure. This embodiment is applicable to the situation of stitching and processing large-scale point cloud data. This method can be executed by a device for processing large-scale point cloud data. The device is applied to the first processing node in a distributed system. The device can be implemented in software and / or hardware and is generally integrated in a terminal or server with data processing capabilities. Specifically, referring to Figure 1a , the method specifically includes the following steps:

[0045] Step 110: Obtain a target aggregation sub-file and a target pairing sub-file that match the acquisition area of the point cloud sequence block according to the pose data of each sparse point cloud frame in the point cloud sequence block to be processed.

[0046] In this step, the point cloud sequence block is obtained in advance according to the execution result of the acquisition task. The acquisition task can specifically be the acquisition process of the acquisition vehicle for multiple point cloud frames. During the execution of multiple acquisition tasks, multiple sparse point cloud frames will be obtained, and the pose data of each sparse point cloud frame will be recorded in real time. Among them, each acquisition task can correspond to an acquisition area.

[0047] After obtaining multiple sparse point cloud frames corresponding to all acquisition tasks, the multiple sparse point cloud frames can be divided into multiple point cloud sequence blocks according to time sequence and a preset quantity, and each point cloud sequence block is assigned to a corresponding first processing node. Among them, the first processing node can be a Mapper node in a distributed system. Each Mapper node obtains a point cloud sequence block to be processed, and the point cloud sequence block can include multiple sparse point cloud frames.

[0048] In this embodiment, after all acquisition tasks are executed, a standard aggregation file and a standard pairing file will be constructed according to the pose data of each sparse point cloud frame. Each aggregation item in the standard aggregation file records the frame connection relationship between the key frame and multiple adjacent frames in each acquisition task. Each pairing item in the standard pairing file records the relative pose between two key frames of the same or different acquisition tasks. Among them, the aggregation item and the pairing item respectively refer to the data items in the standard aggregation file and the standard pairing file.

[0049] In this step, optionally, after the Mapper node obtains the point cloud sequence block to be processed, it can determine the acquisition area corresponding to each sparse point cloud frame according to the pose data of each sparse point cloud frame in the point cloud sequence block, and then determine the acquisition tasks corresponding to all sparse point cloud frames in this point cloud sequence block according to the acquisition area. Finally, it queries the aggregation file (i.e., the target aggregation sub-file) including this acquisition task in the entire standard aggregation file according to the acquisition task, and queries the pairing file (i.e., the target pairing sub-file) including this acquisition task in the entire standard pairing file according to the acquisition task.

[0050] Step 120: Stitch each sparse point cloud frame according to the frame connection relationship between the key frame and the adjacent frame in the same task recorded by each aggregation item in the target aggregation sub-file to obtain a dense point cloud frame.

[0051] In this embodiment, each aggregation item in the target aggregation sub-file records the frame connection relationship between the key frame and the adjacent point cloud frames in the same task, and each point cloud frame is uniquely determined by the corresponding acquisition task identifier and time stamp. In this step, based on the acquisition task identifier and time stamp corresponding to each sparse point cloud frame, positioning can be performed in the aggregation items in the target aggregation sub-file. According to the positioning result and the frame connection relationship between the key frame and the adjacent frames in the same task recorded by each aggregation item, each sparse point cloud frame is stitched to obtain a dense point cloud frame.

[0052] In a specific embodiment, assume that the target aggregation sub-file is as Figure 1b shown. This target aggregation sub-file includes two aggregation items, namely Submap1 and Submap2. Among them, Submap1 includes the frame connection relationship between the key frame (determined by the acquisition task identifier Task1 and the time stamp Timestamp1) and the adjacent frame (determined by the acquisition task identifier Task1 and the time stamp Timestamp2) in the first acquisition task. Submap2 includes the frame connection relationship between the key frame (determined by the acquisition task identifier Task2 and the time stamp Timestamp1) and the adjacent frame (determined by the acquisition task identifier Task2 and the time stamp Timestamp2) in the second acquisition task.

[0053] Assume that the acquisition task identifier corresponding to a certain sparse point cloud frame in the point cloud sequence block is Task1 and the time stamp is Timestamp1. Then, this sparse point cloud frame can be determined as the key frame in Submap1. Assume that the acquisition task identifier corresponding to another sparse point cloud frame is Task1 and the time stamp is Timestamp2. Then, this sparse point cloud frame can be determined as the adjacent frame of the key frame in Submap1. Then, according to the frame connection relationship between the key frame and the adjacent frame in Submap1, the above two sparse point cloud frames are stitched to obtain a dense point cloud frame.

[0054] Step 130: Calculate the intermediate data matching each dense point cloud frame and store the intermediate data in the distributed file system AFS.

[0055] In this embodiment, the intermediate data matching each dense point cloud frame can be calculated according to the point cloud stitching algorithm pre-configured in the distributed system. The intermediate data can be obtained by transforming the dense point cloud frame and is used to reflect the deep features of the dense point cloud frame.

[0056] In this step, after calculating the intermediate data that matches each dense point cloud frame, the intermediate data can be stored in a distributed file system (Andrew File System, AFS) according to the identification information (i.e., the acquisition task identifier and the timestamp) corresponding to the key frames in the dense frame.

[0057] Step 140: Obtain the target pairing items corresponding to each dense point cloud frame according to the relative poses between the paired key frames recorded in each pairing item in the target pairing sub-file.

[0058] In this embodiment, each pairing item in the target pairing sub-file records the relative pose between two key frames of the same or different acquisition tasks, and each key frame is uniquely determined by the corresponding acquisition task identifier and timestamp. In this step, according to the acquisition task identifier and timestamp corresponding to the key frame in the dense point cloud frame, a pairing item including the acquisition task identifier and timestamp can be found in the target pairing sub-file, and this pairing item is used as the target pairing item corresponding to the dense point cloud frame.

[0059] In a specific embodiment, assume that the target pairing sub-file is as Figure 1c shown. The target pairing sub-file includes two pairing items, namely Frame Pair1 and Frame Pair2. Among them, Frame Pair1 includes the relative pose Relative Pose1 between the key frame in the first acquisition task (determined by the acquisition task identifier Task1 and the timestamp Timestamp1) and the key frame in the second acquisition task (determined by the acquisition task identifier Task2 and the timestamp Timestamp2). Frame Pair2 includes the relative pose Relative Pose2 between the key frame in the third acquisition task (determined by the acquisition task identifier Task3 and the timestamp Timestamp3) and the key frame in the fourth acquisition task (determined by the acquisition task identifier Task4 and the timestamp Timestamp4).

[0060] Assume that the acquisition task identifier and timestamp corresponding to the key frame in the dense point cloud frame are Task2 and Timestamp2 respectively, then all pairing items including the task identifier and timestamp can be used as the target pairing items (i.e., Frame Pair1).

[0061] Step 150: Distribute each target pairing item to the second processing node in the distributed system for the second processing node to obtain the matching intermediate data from the AFS and update the relative pose in the target pairing item.

[0062] In this step, the second processing node may be a Reducer node in a distributed system. When receiving the target paired data item, the Reducer node may extract the first key frame, the second key frame, and the relative pose between the first key frame and the second key frame included in the target paired data item, and respectively obtain the intermediate data corresponding to the first key frame and the second key frame from the AFS. Then, according to the intermediate data, the relative pose in the target paired data item is corrected and updated to obtain the corrected target paired data item.

[0063] In this embodiment, by obtaining the target aggregated sub-file and the target paired sub-file that match the point cloud sequence block, it is possible to avoid each Mapper node from repeatedly reading and searching a large number of data files, thereby reducing the memory occupancy rate and reducing the processing time of large-scale point cloud data. Secondly, by storing the intermediate data calculated by the Mapper node in the AFS, compared with the method of transmitting through the IO interface, on the one hand, the shuffle time of the intermediate data can be reduced, and on the other hand, when the point cloud stitching algorithm changes, only the intermediate data stored in the AFS needs to be adjusted, without modifying the transmission process of the intermediate data. Thus, the scalability of the point cloud stitching algorithm can be improved.

[0064] The technical solution of the embodiment of the present disclosure, by obtaining the target aggregated sub-file and the target paired sub-file that match the point cloud sequence block according to the pose data of each sparse point cloud frame in the point cloud sequence block; stitching each sparse point cloud frame into a dense point cloud frame according to the frame connection relationship between the key frame and the adjacent frame in the same task recorded in each aggregation item in the target aggregated sub-file; calculating the intermediate data that matches each dense point cloud frame and storing the intermediate data in the AFS; obtaining the target paired item corresponding to each dense point cloud frame according to the relative pose between two key frames recorded in each paired item in the target paired sub-file; distributing each target paired item to the second processing node in the distributed system for the second processing node to obtain the matching intermediate data from the AFS to update the relative pose in the target paired item, can reduce the processing time of large-scale point cloud data, reduce the memory occupancy rate in the distributed system, and improve the scalability of the point cloud stitching algorithm.

[0065] Figure 2 is a flowchart of another method for processing large-scale point cloud data according to an embodiment of the present disclosure. This embodiment is a further refinement of the above technical solution, and the technical solution in this embodiment can be combined with one or more of the above embodiments. Specifically, referring to Figure 2 , the method specifically includes the following steps:

[0066] Step 210: Calculate the geographical grid identifiers of each sparse point cloud frame according to the pose data of each sparse point cloud frame in the point cloud sequence block to be processed and the preset geographical grid division span.

[0067] In this step, optionally, assuming that the pose data of the sparse point cloud frame is (Pos_X, Pos_Y), and the preset geographical grid division spans are BlockSize_X and BlockSize_Y respectively, the geographical grid identifier Block ID of this sparse point cloud frame can be calculated through the following formula:

[0068]

[0069] Among them, BlockSize_X is the geographical grid division span in the horizontal axis direction, BlockSize_Y is the geographical grid division span in the vertical axis direction, and both BlockSize_X and BlockSize_Y can be 1024 meters. The specific values are preset according to the actual situation, and this embodiment does not limit this.

[0070] Step 220: Determine the target geographical grid identifier that matches the point cloud sequence block according to the geographical grid identifiers of each sparse point cloud frame.

[0071] In this step, the geographical grid identifiers of all sparse point cloud frames in the point cloud sequence block can be determined as the target geographical network identifier that matches the point cloud sequence block.

[0072] In a specific embodiment, assume that the point cloud sequence block includes three sparse point cloud frames. The geographical grid identifier of the first sparse point cloud frame is (1, 1), and the geographical grid identifiers of the second and third sparse point cloud frames are both (0.5, 0.5). Then the target geographical network identifiers that match the point cloud sequence block are (1, 1) and (0.5, 0.5).

[0073] Step 230: Obtain the target aggregated sub-file and the target paired sub-file that match the target geographical grid identifier.

[0074] In this step, optionally, after determining the target geographical grid identifier that matches the point cloud sequence block according to the geographical grid identifiers of each sparse point cloud frame, the acquisition area of the point cloud sequence block can be determined according to the target geographical grid identifier, and then the acquisition tasks corresponding to all sparse point cloud frames in the point cloud sequence block can be determined according to the acquisition area. Finally, according to the acquisition tasks, query the aggregated file (i.e., the target aggregated sub-file) including this acquisition task in the entire standard aggregated file, and query the paired file (i.e., the target paired sub-file) including this acquisition task in the entire standard paired file.

[0075] The advantage of such a setting is that by determining the target geographical grid identifier that matches the point cloud sequence block, the acquisition area of the point cloud sequence block can be quickly determined, thereby ensuring the accuracy of the acquisition results of the target aggregation sub-file and the target pairing sub-file.

[0076] In an implementation manner of this embodiment, before calculating the geographical grid identifier of each sparse point cloud frame according to the pose data of each sparse point cloud frame in the point cloud sequence block to be processed and the preset geographical grid division span, it further includes: identifying the acquisition task identifier corresponding to the point cloud sequence block, and obtaining a pose description file that matches the acquisition task identifier; wherein, the pose description file stores the pose data of each sparse point cloud frame obtained for the same acquisition task, and different sparse point cloud frames are distinguished by timestamps; according to the pose description file, obtain the pose data of each sparse point cloud frame in the point cloud sequence block.

[0077] In this embodiment, during the execution of multiple acquisition tasks, pose description files respectively matching each acquisition task will be constructed in real time. Before calculating the geographical grid identifier of each sparse point cloud frame, it is possible to identify the acquisition task identifier of each sparse point cloud frame in the point cloud sequence block, and search for a matching pose description file in all pose description files according to the acquisition task identifier. Finally, in the matching pose description file, according to the timestamp of the sparse point cloud frame, obtain the pose data of the sparse point cloud frame.

[0078] The advantage of such a setting is that by constructing pose description files respectively matching each acquisition task, the pose data of sparse point cloud frames can be quickly queried, thereby improving the processing efficiency of large-scale point cloud data.

[0079] Step 240: According to the frame connection relationship between the key frame and the adjacent frame in the same task recorded in each aggregation item in the target aggregation sub-file, splice each sparse point cloud frame to obtain a dense point cloud frame.

[0080] Step 250: Calculate intermediate data that matches each dense point cloud frame, and store the intermediate data in the distributed file system AFS.

[0081] In an implementation manner of this embodiment, calculating intermediate data matching each dense point cloud frame includes: if it is determined that the point cloud stitching algorithm configured in the distributed system is the Generalized Iterative Closest Point (GICP), calculating voxel downsampling data corresponding to each dense point cloud frame as intermediate data; if it is determined that the point cloud stitching algorithm configured in the distributed system is the end-to-end point cloud stitching algorithm DeepVCP based on deep learning, calculating key points, features, and downsampled point clouds corresponding to each dense point cloud frame respectively as intermediate data.

[0082] Among them, the voxel downsampling data of the point cloud can be the data obtained by downsampling after voxelizing the dense point cloud frame. The key points can be the position points where key actions occur during the movement of the character or object in the dense point cloud frame; the downsampled point cloud can be the point cloud data obtained by downsampling the dense point cloud frame.

[0083] The advantage of such a setting is that for different point cloud stitching algorithms, by using feature data in different dimensions in the dense point cloud frame as matching intermediate data, the determination method of the intermediate data can be more appropriate for the point cloud stitching algorithm, so as to improve the accuracy of the subsequent point cloud frame stitching result.

[0084] Step 260: Obtain target pairing items corresponding to each dense point cloud frame according to the relative poses between pairwise key frames recorded in each pairing item in the target pairing sub-file.

[0085] Step 270: Distribute each target pairing item to the second processing node in the distributed system for the second processing node to obtain matching intermediate data from the AFS and update the relative pose in the target pairing item.

[0086] In the technical solution of the embodiment of the present disclosure, by calculating the geographical grid identifiers of each sparse point cloud frame according to the pose data of each sparse point cloud frame in the point cloud sequence block and the geographical grid division span, determining the target geographical grid identifier according to the geographical grid identifiers of each sparse point cloud frame, obtaining the target aggregated sub-file and the target paired sub-file that match the target geographical grid identifier, splicing each sparse point cloud frame into a dense point cloud frame according to the frame connection relationship between the key frame and the adjacent frame in the same task recorded in each aggregation item in the target aggregated sub-file, calculating the intermediate data matching each dense point cloud frame and storing it in the AFS, and obtaining the target paired item corresponding to each dense point cloud frame according to the relative pose between two key frames recorded in each paired item in the target paired sub-file, and distributing each target paired item to the second processing node for the second processing node to obtain the matching intermediate data from the AFS to update the relative pose in the target paired item, the processing time of large-scale point cloud data can be reduced, the memory occupancy rate in the distributed system can be reduced, and the scalability of the point cloud stitching algorithm can be improved.

[0087] Figure 3a FIG. is a flowchart of another method for processing large-scale point cloud data according to an embodiment of the present disclosure. This embodiment is a further refinement of the above technical solution, and the technical solution in this embodiment can be combined with one or more of the above embodiments. Specifically, referring to Figure 3a ,the method specifically includes the following steps:

[0088] Step 301, obtain a standard aggregation file and a standard pairing file.

[0089] Step 302, calculate the geographical grid identifier corresponding to each aggregation item according to the pose data of the key frame in each aggregation item in the standard aggregation file and the preset geographical grid division span.

[0090] In this step, the geographical grid identifier of the key frame in each aggregation item can be calculated in the same manner as in step 210, and this geographical grid identifier is used as the geographical grid identifier corresponding to the aggregation item.

[0091] Step 303, divide all the aggregation items in the standard aggregation file into multiple aggregation sub-files according to the geographical grid identifier, and different aggregation sub-files correspond to different geographical grid identifiers.

[0092] In this embodiment, the geographical grid identifier corresponding to the aggregation sub-file is the geographical grid identifier of the aggregation item in the aggregation sub-file.

[0093] In a specific embodiment, it is assumed that the standard aggregation file includes three aggregation items, namely Submap1, Submap2, and Submap3. Among them, the geographical grid identifier of Submap1 is (0.5, 0.5), the geographical grid identifier of Submap2 is (1, 1), and the geographical grid identifier of Submap3 is (0.7, 0.8). Then, Submap1 can be divided into the first aggregation sub-file, Submap2 can be divided into the second aggregation sub-file, and Submap3 can be divided into the third aggregation sub-file.

[0094] Step 304: According to the pose data of the left frame in each pairing item in the standard pairing file and the preset geographical grid division span, calculate the geographical grid identifier corresponding to each pairing item respectively.

[0095] In this embodiment, the left frame can be the key frame with the left position in the pairing item. Taking Figure 1c the pairing item Frame Pair1 as an example, the left frame in this pairing item is the key frame in the first acquisition task (determined by the acquisition task identifier Task1 and the timestamp Timestamp1).

[0096] In this step, the geographical grid identifier of the left frame in each pairing item can be calculated in the same way as in step 210, and this geographical grid identifier is used as the geographical grid identifier corresponding to the pairing item.

[0097] Step 305: Divide all the pairing items in the standard pairing file into multiple pairing sub-files according to the geographical grid identifier, and different pairing sub-files correspond to different geographical grid identifiers.

[0098] In this embodiment, the geographical grid identifier corresponding to the pairing sub-file is the geographical grid identifier of the pairing items in this pairing sub-file.

[0099] Step 306: According to the pose data of each sparse point cloud frame in the point cloud sequence block to be processed and the preset geographical grid division span, calculate the geographical grid identifier of each sparse point cloud frame.

[0100] Step 307: Determine the target geographical grid identifier that matches the point cloud sequence block according to the geographical grid identifiers of each sparse point cloud frame.

[0101] Step 308: Obtain the target aggregation sub-file and the target pairing sub-file that match the target geographical grid identifier.

[0102] In this embodiment, optionally, among all the aggregated sub-files, an aggregated sub-file whose geographical grid identifier is the same as the target geographical grid identifier may be obtained as the target aggregated sub-file; among all the paired sub-files, a paired sub-file whose geographical grid identifier is the same as the target geographical grid identifier may be obtained as the target paired sub-file.

[0103] The advantage of such a setting is that by splitting a large-scale standard aggregated file and a standard paired file into multiple small-scale aggregated sub-files and paired sub-files according to the geographical grid identifier, and constructing the target geographical grid identifier of the point cloud sequence block and the geographical grid identifiers corresponding to each aggregated sub-file and paired sub-file, on the one hand, the target aggregated sub-file and the target paired sub-file that match the acquisition area of the point cloud sequence block can be accurately and quickly obtained; on the other hand, it can be avoided that the Mapper node repeatedly reads and searches a large number of data files, thereby reducing the memory occupancy rate and reducing the processing time of large-scale point cloud data.

[0104] In an implementation manner of this embodiment, obtaining the target aggregated sub-file and the target paired sub-file that match the target geographical grid identifier includes: obtaining a plurality of adjacent grid identifiers adjacent to the target geographical grid identifier; obtaining an aggregated sub-file whose geographical grid identifier is the same as the target geographical grid identifier as the target aggregated sub-file; obtaining a paired sub-file whose geographical network identifier is the same as the target geographical grid identifier and the plurality of adjacent grid identifiers as the target paired sub-file.

[0105] In this embodiment, the geographical grid identifiers in a preset domain around the grid where the target geographical grid identifier is located may be obtained as the adjacent grid identifiers. In a specific implementation manner, as Figure 3b shown, assuming that the target geographical grid identifier is located in grid A, then the geographical grid identifiers in grids B, C, D, E, F, G, H, I in the 8-neighborhood around grid A may be obtained as the adjacent grid identifiers.

[0106] In this embodiment, after obtaining a plurality of adjacent grid identifiers, a paired sub-file whose geographical network identifier is the same as the target geographical grid identifier and the plurality of adjacent grid identifiers may be obtained as the target paired sub-file. The advantage of such a setting is that the target paired sub-file that matches the point cloud sequence block can be comprehensively obtained, avoiding omissions in the acquisition result of the target paired sub-file, thereby improving the accuracy of the subsequent point cloud frame stitching result.

[0107] Step 309: Stitch each sparse point cloud frame according to the frame connection relationship between the key frame and the adjacent frame in the same task recorded in each aggregation item in the target aggregated sub-file to obtain a dense point cloud frame.

[0108] Step 310: Calculate intermediate data that matches each dense point cloud frame, and store the intermediate data in the distributed file system AFS.

[0109] Step 311: Obtain target pairing items corresponding to each dense point cloud frame according to the relative poses between pairwise key frames recorded in each pairing item in the target pairing sub-file.

[0110] Step 312: Distribute each target pairing item to the second processing node in the distributed system for the second processing node to obtain matching intermediate data from AFS and update the relative poses in the target pairing items.

[0111] The technical solution of the embodiment of the present disclosure can reduce the processing time of large-scale point cloud data, reduce the memory occupancy rate in the distributed system, and improve the scalability of the point cloud stitching algorithm by obtaining a standard aggregation file and a standard pairing file, calculating the geographical grid identifiers respectively corresponding to each aggregation item, dividing all aggregation items in the standard aggregation file into multiple aggregation sub-files according to the geographical grid identifiers, calculating the geographical grid identifiers respectively corresponding to each pairing item, dividing all pairing items in the standard pairing file into multiple pairing sub-files according to the geographical grid identifiers, calculating the geographical grid identifiers of each sparse point cloud frame, determining the target geographical grid identifier that matches the point cloud sequence block according to the geographical grid identifiers of each sparse point cloud frame, obtaining the target aggregation sub-file and the target pairing sub-file that match the target geographical grid identifier, stitching each sparse point cloud frame according to the target aggregation sub-file to obtain a dense point cloud frame, calculating intermediate data that matches each dense point cloud frame, storing the intermediate data in AFS, obtaining target pairing items corresponding to each dense point cloud frame according to the target pairing sub-file, and distributing each target pairing item to the second processing node in the distributed system for the second processing node to obtain matching intermediate data from AFS and update the relative poses in the target pairing items.

[0112] Figure 4 It is a schematic flowchart of a method for processing large-scale point cloud data according to an embodiment of the present disclosure. This embodiment is applicable to the situation of stitching and processing large-scale point cloud data. This method can be executed by a processing device for large-scale point cloud data. The device is applied to the second processing node in the distributed system. The device can be implemented in software and / or hardware and is generally integrated in a terminal or server with data processing capabilities. Specifically, referring to Figure 4 , the method specifically includes the following steps:

[0113] Step 410: When receiving the target pairing data item sent by the first processing node, extract the first key frame, the second key frame, and the relative pose between the first key frame and the second key frame included in the target pairing data item.

[0114] In this embodiment, the second processing node may be a Reducer node in a distributed system.

[0115] Step 420: In the distributed file system AFS, obtain the intermediate data corresponding to the first key frame and the second key frame respectively.

[0116] In this step, the corresponding intermediate data can be obtained in the distributed file system AFS according to the identification information (i.e., the acquisition task identifier and the time stamp) corresponding to the first key frame and the second key frame respectively.

[0117] Step 430: According to the intermediate data, correct and update the relative pose in the target paired data item to obtain a corrected target paired data item.

[0118] In this step, the target relative pose between the first key frame and the second key frame can be recalculated according to the intermediate data corresponding to the first key frame and the second key frame respectively, and the original relative pose in the target paired data item is updated to the target relative pose to obtain a corrected target paired data item.

[0119] By means of the technical solution of extracting the first key frame, the second key frame and the relative pose between the first key frame and the second key frame included in the target paired data item when receiving the target paired data item sent by the first processing node, obtaining the intermediate data corresponding to the first key frame and the second key frame respectively in the AFS, and correcting and updating the relative pose in the target paired data item according to the intermediate data to obtain a corrected target paired data item, the embodiments of the present disclosure can reduce the processing time of large-scale point cloud data and improve the scalability of the point cloud stitching algorithm.

[0120] On the basis of the above embodiment, after correcting and updating the relative pose in the target paired data item according to the intermediate data to obtain a corrected target paired data item, it further includes: distributing the corrected target paired data item to a third processing node; wherein, the third processing node aggregates and stores the corrected target paired data items sent by each second processing node.

[0121] Wherein, the third processing node may be another Reducer node in the distributed system. After aggregating each corrected target paired data item, the third processing node may store the aggregation result at a specified location in the AFS.

[0122] The advantage of such a setting is that other processing nodes in the distributed system can directly obtain the aggregation result of all corrected target paired data items through the AFS, reducing the complexity of the data transmission process and improving the data transmission efficiency.

[0123] An embodiment of the present disclosure also provides a processing device for large-scale point cloud data, which is applied to a first processing node in a distributed system and is used to execute the above-mentioned processing method for large-scale point cloud data.

[0124] Figure 5 FIG. 500 is a structural diagram of a processing device for large-scale point cloud data provided by an embodiment of the present disclosure. The device includes: a file acquisition module 510, a point cloud frame stitching module 520, an intermediate data calculation module 530, a pairing item acquisition module 540, and a pairing item distribution module 550.

[0125] Among them, the file acquisition module 510 is configured to obtain a target aggregated sub-file and a target pairing sub-file that match the acquisition area of the point cloud sequence block according to the pose data of each sparse point cloud frame in the point cloud sequence block to be processed;

[0126] The point cloud frame stitching module 520 is configured to stitch each sparse point cloud frame according to the frame connection relationship between the key frame and the adjacent frame in the same task recorded in each aggregation item in the target aggregated sub-file to obtain a dense point cloud frame;

[0127] The intermediate data calculation module 530 is configured to calculate intermediate data that matches each dense point cloud frame and store the intermediate data in a distributed file system AFS;

[0128] The pairing item acquisition module 540 is configured to obtain a target pairing item corresponding to each dense point cloud frame according to the relative pose between two key frames recorded in each pairing item in the target pairing sub-file;

[0129] The pairing item distribution module 550 is configured to distribute each target pairing item to a second processing node in the distributed system for the second processing node to obtain matching intermediate data from the AFS and update the relative pose in the target pairing item.

[0130] The technical solution of the embodiment of the present disclosure can reduce the processing time of large-scale point cloud data, reduce the memory occupancy rate in the distributed system, and improve the scalability of the point cloud stitching algorithm by obtaining a target aggregated sub-file and a target pairing sub-file that match the point cloud sequence block according to the pose data of each sparse point cloud frame in the point cloud sequence block; stitching each sparse point cloud frame according to the frame connection relationship between the key frame and the adjacent frame in the same task recorded in each aggregation item in the target aggregated sub-file to obtain a dense point cloud frame; calculating intermediate data that matches each dense point cloud frame and storing the intermediate data in the AFS; obtaining a target pairing item corresponding to each dense point cloud frame according to the relative pose between two key frames recorded in each pairing item in the target pairing sub-file; and distributing each target pairing item to a second processing node in the distributed system for the second processing node to obtain matching intermediate data from the AFS and update the relative pose in the target pairing item.

[0131] Based on the above embodiments, the file acquisition module 510 includes:

[0132] A grid identifier calculation unit, configured to calculate the geographical grid identifier of each sparse point cloud frame according to the pose data of each sparse point cloud frame in the point cloud sequence block to be processed and a preset geographical grid division span;

[0133] A target identifier determination unit, configured to determine a target geographical grid identifier matching the point cloud sequence block according to the geographical grid identifiers of each sparse point cloud frame;

[0134] A sub-file acquisition unit, configured to acquire a target aggregated sub-file and a target paired sub-file matching the target geographical grid identifier.

[0135] Among them, the sub-file acquisition unit includes:

[0136] A grid identifier acquisition sub-unit, configured to acquire a plurality of adjacent grid identifiers adjacent to the target geographical grid identifier;

[0137] An aggregated file acquisition sub-unit, configured to acquire an aggregated sub-file with a geographical grid identifier consistent with the target geographical grid identifier as the target aggregated sub-file;

[0138] A paired file acquisition sub-unit, configured to acquire a paired sub-file with a geographical network identifier consistent with the target geographical grid identifier and the plurality of adjacent grid identifiers as the target paired sub-file.

[0139] The apparatus further includes:

[0140] A standard file acquisition module, configured to acquire a standard aggregated file and a standard paired file;

[0141] A first identifier calculation module, configured to calculate the geographical grid identifier corresponding to each aggregation item according to the pose data of the key frames in each aggregation item in the standard aggregated file and a preset geographical grid division span;

[0142] An aggregated file division module, configured to divide all the aggregation items in the standard aggregated file into a plurality of aggregated sub-files according to the geographical grid identifiers, and different aggregated sub-files correspond to different geographical grid identifiers;

[0143] A second identifier calculation module, configured to calculate the geographical grid identifier corresponding to each pairing item according to the pose data of the left frame in each pairing item in the standard paired file and a preset geographical grid division span;

[0144] The paired file division module is used to divide all paired items in the standard paired file into multiple paired sub-files according to the geographical grid identifier, and different paired sub-files correspond to different geographical grid identifiers;

[0145] The identification recognition module is used to recognize the acquisition task identifier corresponding to the point cloud sequence block and obtain the pose description file matching the acquisition task identifier;

[0146] Among them, the pose description file stores the pose data of each sparse point cloud frame obtained for the same acquisition task, and different sparse point cloud frames are distinguished by timestamps;

[0147] The pose data acquisition module is used to obtain the pose data of each sparse point cloud frame in the point cloud sequence block according to the pose description file.

[0148] The intermediate data calculation module 530 includes:

[0149] The first data calculation unit is used to calculate the voxel downsampling data of the point cloud corresponding to each dense point cloud frame as intermediate data if it is determined that the point cloud stitching algorithm configured in the distributed system is the Generalized Iterative Closest Point algorithm;

[0150] The second data calculation unit is used to calculate the key points, features, and downsampled point cloud corresponding to each dense point cloud frame respectively as intermediate data if it is determined that the point cloud stitching algorithm configured in the distributed system is an end-to-end point cloud stitching algorithm based on deep learning.

[0151] The large-scale point cloud data processing device provided by the embodiments of the present disclosure can execute the large-scale point cloud data processing method provided by any embodiment of the present disclosure, and has the corresponding functional modules and beneficial effects for executing the method.

[0152] The embodiments of the present disclosure also provide another large-scale point cloud data processing device, which is applied to the second processing node in the distributed system and is used to execute the above-mentioned large-scale point cloud data processing method.

[0153] Figure 6 It is a structural diagram of a large-scale point cloud data processing device 600 provided by the embodiments of the present disclosure. The device includes: a relative pose extraction module 610, an intermediate data acquisition module 620, and a relative pose correction module 630.

[0154] Among them, the relative pose extraction module 610 is used to extract the first key frame, the second key frame, and the relative pose between the first key frame and the second key frame included in the target paired data item when receiving the target paired data item sent by the first processing node;

[0155] An intermediate data acquisition module 620, configured to respectively acquire intermediate data corresponding to the first key frame and the second key frame in the distributed file system AFS;

[0156] A relative pose correction module 630, configured to correct and update the relative pose in the target paired data item according to the intermediate data, so as to obtain a corrected target paired data item.

[0157] The technical solution of the embodiment of the present disclosure extracts the first key frame, the second key frame, and the relative pose between the first key frame and the second key frame included in the target paired data item when receiving the target paired data item sent by the first processing node, respectively acquires the intermediate data corresponding to the first key frame and the second key frame in AFS, and corrects and updates the relative pose in the target paired data item according to the intermediate data to obtain a corrected target paired data item. By means of this technology, the processing time of large-scale point cloud data can be reduced, and the scalability of the point cloud stitching algorithm can be improved.

[0158] Based on the above embodiments, the device further includes:

[0159] A paired data item distribution module, configured to distribute the corrected target paired data item to a third processing node;

[0160] Wherein, the third processing node aggregates and stores the corrected target paired data items sent by each second processing node.

[0161] The large-scale point cloud data processing device provided by the embodiment of the present disclosure can execute the large-scale point cloud data processing method provided by any embodiment of the present disclosure, and has corresponding functional modules and beneficial effects for executing the method.

[0162] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium, and a computer program product.

[0163] Figure 7 A schematic block diagram of an exemplary electronic device 700 that can be used to implement the embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as, a laptop computer, a desktop computer, a workbench, a personal digital assistant, a server, a blade server, a mainframe computer, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as, a personal digital processor, a cellular phone, a smart phone, a wearable device, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples, and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0164] As Figure 7As shown, device 700 includes a computing unit 701, which can perform various appropriate actions and processes according to computer programs stored in a read-only memory (ROM) 702 or computer programs loaded from a storage unit 708 into a random access memory (RAM) 703. In the RAM 703, various programs and data required for the operation of device 700 can also be stored. The computing unit 701, ROM 702, and RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.

[0165] Multiple components in device 700 are connected to the I / O interface 705, including: an input unit 706, such as a keyboard, mouse, etc.; an output unit 707, such as various types of displays, speakers, etc.; a storage unit 708, such as a magnetic disk, optical disc, etc.; and a communication unit 709, such as a network card, modem, wireless communication transceiver, etc. The communication unit 709 allows device 700 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0166] The computing unit 701 can be various general-purpose and / or dedicated processing components with processing and computing capabilities. Some examples of the computing unit 701 include but are not limited to a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing AI chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 701 executes the various methods and processes described above, such as the method for processing large-scale point cloud data. For example, in some embodiments, the method for processing large-scale point cloud data can be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as the storage unit 708. In some embodiments, part or all of the computer program can be loaded and / or installed onto device 700 via the ROM 702 and / or the communication unit 709. When the computer program is loaded into the RAM 703 and executed by the computing unit 701, one or more steps of the method for processing large-scale point cloud data described above can be executed. Alternatively, in other embodiments, the computing unit 701 can be configured to execute the method for processing large-scale point cloud data by any other appropriate means (e.g., by means of firmware).

[0167] The various embodiments of the systems and techniques described above in this document can be implemented in digital electronic circuitry, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on a chip (SOCs) for AI chips, complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special or general programmable processor that receives data and instructions from a storage system, at least one input device, and at least one output device, and transmits the data and instructions to the storage system, the at least one input device, and the at least one output device.

[0168] The program code for implementing the methods of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general purpose computer, a special purpose computer, or other programmable data processing device, such that when the program codes are executed by the processor or controller, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The program codes can be executed entirely on the machine, partially on the machine, as a stand-alone software package partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0169] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0170] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and a pointing device (e.g., a mouse or a trackball) through which the user can provide input to the computer. Other kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, speech input, or tactile input).

[0171] The systems and techniques described herein can be implemented in a computing system including backend components (e.g., as a data server), or a computing system including middleware components (e.g., an application server), or a computing system including frontend components (e.g., a user computer having a graphical user interface or a web browser through which the user can interact with an implementation of the systems and techniques described herein), or a computing system including any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected by digital data communication in any form or medium (e.g., a communication network). Examples of communication networks include: local area network (LAN), wide area network (WAN), blockchain network, and the Internet.

[0172] A computer system can include a client and a server. The client and the server are generally far from each other and usually interact through a communication network. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or a cloud host, which is a host product in the cloud computing service system, solving the defects of difficult management and weak business scalability existing in traditional physical hosts and VPS services.

[0173] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps recited in this disclosure can be executed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions provided in this disclosure can be achieved, and this is not limited herein.

[0174] The above specific embodiments do not constitute a limitation on the protection scope of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure shall be included within the protection scope of this disclosure.

Claims

1. A method for processing large-scale point cloud data, which is executed by a first processing node in a distributed system, wherein, The method includes: Obtaining a target aggregation sub - file and a target pairing sub - file that match the acquisition area of the point cloud sequence block according to the pose data of each sparse point cloud frame in the point cloud sequence block to be processed; Stitching each sparse point cloud frame according to the frame connection relationship between the key frame and the adjacent frame in the same task recorded in each aggregation item in the target aggregation sub - file to obtain a dense point cloud frame; Calculating intermediate data matching each dense point cloud frame and storing the intermediate data in the distributed file system AFS; Obtaining target pairing items corresponding to each dense point cloud frame according to the relative poses between pairwise key frames recorded in each pairing item in the target pairing sub - file; Distributing each target pairing item to the second processing node in the distributed system for the second processing node to obtain the matching intermediate data from AFS and update the relative pose in the target pairing item.

2. The method according to claim 1, wherein Obtaining a target aggregation sub - file and a target pairing sub - file that match the acquisition area of the point cloud sequence block according to the pose data of each sparse point cloud frame in the point cloud sequence block to be processed, including: Calculating the geographical grid identifier of each sparse point cloud frame according to the pose data of each sparse point cloud frame in the point cloud sequence block to be processed and the preset geographical grid division span; Determining the target geographical grid identifier that matches the point cloud sequence block according to the geographical grid identifiers of each sparse point cloud frame; Obtaining the target aggregation sub - file and the target pairing sub - file that match the target geographical grid identifier.

3. According to the method described in claim 1, the method further includes: Obtaining a standard aggregation file and a standard pairing file; Calculating the geographical grid identifier corresponding to each aggregation item according to the pose data of the key frame in each aggregation item in the standard aggregation file and the preset geographical grid division span; Dividing all the aggregation items in the standard aggregation file into multiple aggregation sub - files according to the geographical grid identifier, and different aggregation sub - files correspond to different geographical grid identifiers; Calculating the geographical grid identifier corresponding to each pairing item according to the pose data of the left frame in each pairing item in the standard pairing file and the preset geographical grid division span; Dividing all the pairing items in the standard pairing file into multiple pairing sub - files according to the geographical grid identifier, and different pairing sub - files correspond to different geographical grid identifiers.

4. The method according to claim 1, wherein Calculating the intermediate data matching each dense point cloud frame, including: If it is determined that the point cloud stitching algorithm configured in the distributed system is the Generalized Iterative Closest Point algorithm, calculating the point cloud voxel down - sampling data corresponding to each dense point cloud frame as the intermediate data; If it is determined that the point cloud stitching algorithm configured in the distributed system is an end - to - end point cloud stitching algorithm based on deep learning, calculating the key points, features, and down - sampled point cloud corresponding to each dense point cloud frame as the intermediate data.

5. According to the method described in claim 1, the method further includes: Identifying the acquisition task identifier corresponding to the point cloud sequence block and obtaining the pose description file that matches the acquisition task identifier; Wherein, the pose description file stores the pose data of each sparse point cloud frame obtained for the same acquisition task, and different sparse point cloud frames are distinguished by timestamps. Obtain the pose data of each sparse point cloud frame in the point cloud sequence block according to the pose description file.

6. The method according to claim 2, wherein, Obtain a target aggregation sub-file and a target pairing sub-file that match the target geographical grid identifier, including: Obtain a plurality of adjacent grid identifiers adjacent to the target geographical grid identifier; Obtain an aggregation sub-file whose geographical grid identifier is the same as the target geographical grid identifier as the target aggregation sub-file; Obtain a pairing sub-file whose geographical network identifier is the same as the target geographical grid identifier and the plurality of adjacent grid identifiers as the target pairing sub-file.

7. A method for processing large-scale point cloud data, which is executed by a second processing node in a distributed system, wherein, The method includes: When receiving a target pairing data item sent by a first processing node, extract a first key frame, a second key frame, and a relative pose between the first key frame and the second key frame included in the target pairing data item; Among them, the target pairing item is obtained according to the relative poses between pairwise key frames recorded in each pairing item in the target pairing sub-file. The target pairing item corresponds to a dense point cloud frame. The dense point cloud frame is obtained by splicing each sparse point cloud frame in the point cloud sequence block according to the frame connection relationship between the key frame and the adjacent frame in the same task recorded in each aggregation item in the target aggregation sub-file. The target pairing sub-file and the target aggregation sub-file are obtained according to the pose data of each sparse point cloud frame in the point cloud sequence block; In the distributed file system AFS, obtain intermediate data corresponding to the first key frame and the second key frame respectively; wherein, the intermediate data is calculated according to each dense point cloud frame; According to the intermediate data, correct and update the relative pose in the target pairing data item to obtain a corrected target pairing data item.

8. The method according to claim 7, the method further includes: Distribute the corrected target pairing data item to a third processing node; Among them, the third processing node summarizes and stores the corrected target pairing data items sent by each second processing node.

9. A processing device for large-scale point cloud data, which is applied to a first processing node in a distributed system, wherein, The device includes: A file acquisition module, configured to obtain a target aggregation sub-file and a target pairing sub-file that match the acquisition area of the point cloud sequence block according to the pose data of each sparse point cloud frame in the point cloud sequence block to be processed; A point cloud frame splicing module, configured to splice each sparse point cloud frame according to the frame connection relationship between the key frame and the adjacent frame in the same task recorded in each aggregation item in the target aggregation sub-file to obtain a dense point cloud frame; An intermediate data calculation module, configured to calculate intermediate data matching each dense point cloud frame and store the intermediate data in the distributed file system AFS; A pairing item acquisition module, configured to obtain a target pairing item corresponding to each dense point cloud frame according to the relative poses between pairwise key frames recorded in each pairing item in the target pairing sub-file; A pairing item distribution module, configured to distribute each target pairing item to a second processing node in the distributed system for the second processing node to obtain matching intermediate data from AFS to update the relative pose in the target pairing item.

10. The apparatus according to claim 9, wherein, The file acquisition module includes: A grid identifier calculation unit, configured to calculate the geographical grid identifier of each sparse point cloud frame according to the pose data of each sparse point cloud frame in the point cloud sequence block to be processed and a preset geographical grid division span; A target identification determination unit, configured to determine a target geographical grid identification that matches the point cloud sequence block according to the geographical grid identifications of each sparse point cloud frame; A sub-file acquisition unit, configured to acquire a target aggregated sub-file and a target paired sub-file that match the target geographical grid identification.

11. The apparatus according to claim 9, wherein the apparatus further comprises: A standard file acquisition module, configured to acquire a standard aggregated file and a standard paired file; A first identification calculation module, configured to calculate geographical grid identifications respectively corresponding to each aggregation item according to the pose data of key frames in each aggregation item in the standard aggregated file and a preset geographical grid division span; An aggregated file division module, configured to divide all the aggregation items in the standard aggregated file into multiple aggregated sub-files according to the geographical grid identifications, where different aggregated sub-files correspond to different geographical grid identifications; A second identification calculation module, configured to calculate geographical grid identifications respectively corresponding to each pairing item according to the pose data of the left frame in each pairing item in the standard paired file and a preset geographical grid division span; A paired file division module, configured to divide all the pairing items in the standard paired file into multiple paired sub-files according to the geographical grid identifications, where different paired sub-files correspond to different geographical grid identifications.

12. The apparatus according to claim 9, wherein, The intermediate data calculation module includes: A first data calculation unit, configured to calculate voxel down-sampled data corresponding to each dense point cloud frame as intermediate data if it is determined that the point cloud stitching algorithm configured in the distributed system is a generalized iterative closest point algorithm; A second data calculation unit, configured to calculate key points, features, and down-sampled point clouds respectively corresponding to each dense point cloud frame as intermediate data if it is determined that the point cloud stitching algorithm configured in the distributed system is an end-to-end point cloud stitching algorithm based on deep learning.

13. The device according to claim 9, wherein, The apparatus further comprises: An identification recognition module, configured to recognize a collection task identification corresponding to the point cloud sequence block and acquire a pose description file that matches the collection task identification; wherein pose data of each sparse point cloud frame obtained for the same collection task is stored in the pose description file, and different sparse point cloud frames are distinguished by timestamps; A pose data acquisition module, configured to acquire the pose data of each sparse point cloud frame in the point cloud sequence block according to the pose description file.

14. The apparatus according to claim 10, wherein, The sub-file acquisition unit includes: A grid identification acquisition sub-unit, configured to acquire a plurality of adjacent grid identifications adjacent to the target geographical grid identification; An aggregated file acquisition sub-unit, configured to acquire an aggregated sub-file whose geographical grid identification is the same as the target geographical grid identification as the target aggregated sub-file; A paired file acquisition sub-unit, configured to acquire a paired sub-file whose geographical network identification is the same as the target geographical grid identification and the plurality of adjacent grid identifications as the target paired sub-file.

15. A processing device for large-scale point cloud data, which is applied to a second processing node in a distributed system, wherein, The apparatus includes: A relative pose extraction module, configured to extract a first key frame, a second key frame, and a relative pose between the first key frame and the second key frame included in the target paired data item when receiving the target paired data item sent by the first processing node; Among them, the target pairing items are obtained according to the relative poses between pairwise key frames recorded in each pairing item of the target pairing sub-file. The target pairing items correspond to the dense point cloud frames. The dense point cloud frames are obtained by stitching each sparse point cloud frame in the point cloud sequence block according to the frame connection relationship between the key frames and adjacent frames in the same task recorded in each aggregation item of the target aggregation sub-file. The target pairing sub-file and the target aggregation sub-file are obtained according to the pose data of each sparse point cloud frame in the point cloud sequence block; An intermediate data acquisition module, configured to respectively acquire intermediate data corresponding to the first key frame and the second key frame in a distributed file system AFS; among them, the intermediate data is calculated according to each dense point cloud frame; A relative pose correction module, configured to correct and update the relative pose in the target pairing data item according to the intermediate data to obtain a corrected target pairing data item.

16. The apparatus according to claim 15, wherein the apparatus further comprises: A paired data item distribution module, configured to distribute the corrected target paired data item to a third processing node; Among them, the third processing node summarizes and stores the corrected target paired data items sent by each second processing node.

17. An electronic device, wherein, Comprising: At least one processor; And A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method according to any one of claims 1-6 or 7-8.

18. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to execute the method according to any one of claims 1-6 or 7-8.

19. A computer program product, comprising a computer program which, when executed by a processor, implements the method according to any one of claims 1-8.

Citation Information

Patent Citations

  • Performance estimation method and device for point cloud splicing algorithm

    CN111461980A