A three-dimensional point cloud data processing method and system
By combining single-line or low-line LiDAR with IMU and GPS, 3D point cloud data is generated and processed, solving the problems of large data volume and high cost in autonomous driving systems. This enables efficient and flexible point cloud data processing and utilization, and is suitable for training deep learning and reinforcement learning algorithms.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHANDONG UNIV
- Filing Date
- 2023-07-07
- Publication Date
- 2026-05-05
AI Technical Summary
In existing autonomous driving systems, environmental perception technology based on multi-line lidar suffers from problems such as large data volume, high cost, and high implementation difficulty. Furthermore, low-quality point cloud data can affect the training effect of neural network models, leading to system instability.
By using single-line or low-line LiDAR combined with high-precision IMU and GPS data, a large-scale 3D point cloud data is generated. By constructing a list of start and end point cloud frames, the point cloud data is segmented into small-sized image fragments, which are then cleaned and normalized to generate point cloud image fragments with high information content and low redundancy.
It improves the effectiveness and flexibility of point cloud data, reduces hardware and time costs, enhances the processing and utilization efficiency of point cloud data, expands the detection range of LiDAR, reduces interference, and is suitable for training deep learning and reinforcement learning algorithms.
Smart Images

Figure CN116823668B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of three-dimensional point cloud data acquisition and processing technology, and in particular to a three-dimensional point cloud data processing method and system. Background Technology
[0002] The statements in this section merely refer to the background art related to this invention and do not necessarily constitute prior art.
[0003] In recent years, with the continuous development of sensor technology, information processing technology, and integrated circuit manufacturing technology, the field of autonomous driving has begun to receive widespread attention. Three-dimensional point cloud data, characterized by its high stability and large information content, has become crucial data for autonomous driving systems to achieve functions such as environmental perception, path decision-making, and emergency response.
[0004] Multi-line lidar features fast acquisition speed, abundant redundant data, and a relatively fixed field of view. Existing autonomous driving systems mostly employ data processing methods based on deep learning or reinforcement learning algorithms to process lidar point cloud data containing environmental information, thereby achieving environmental perception and high-precision map matching. Deep learning or reinforcement learning-based data processing algorithms are highly sensitive to factors such as the organization, quantity, and information content of the input lidar point cloud data. The quality of the lidar point cloud data is often directly related to the training effect of the deep neural network model. Using low-quality point cloud data to train the neural network model will significantly reduce the operational performance of the autonomous driving system, and may even cause the entire system to malfunction.
[0005] Training autonomous driving systems using deep learning or reinforcement learning algorithms requires a large amount of high-quality 3D point cloud data. However, current point cloud data acquisition methods suffer from problems such as wide acquisition scope, high labor costs, and significant workload and difficulty in post-processing. Furthermore, real-time processing and transmission of massive amounts of data places extremely high demands on backend information processing algorithms and supporting hardware. Currently, commercially available multi-line LiDAR and high-speed data processing and transmission platforms are generally expensive, making it difficult to implement environmental perception and path decision-making technologies based on multi-line LiDAR at a lower cost, thus limiting the development and widespread adoption of autonomous driving technology to some extent.
[0006] Based on the above problems, this study investigates methods and systems for generating 3D point cloud data with large information content, low redundancy, and wide perception range at low cost. This has significant theoretical and practical implications for the automated and efficient construction of 3D point cloud data with high information density and low data volume. Summary of the Invention
[0007] To address the shortcomings of existing technologies, this invention provides a method and system for processing three-dimensional point cloud data, solving problems such as large data volume, high cost, and high implementation difficulty in environmental perception technology based on multi-line lidar. This disclosure utilizes single-line or low-line lidar in conjunction with high-precision IMU (Inertial Measurement Unit) and GPS data to generate large-scale three-dimensional point cloud data. According to different needs, the large-scale point cloud data can be segmented into several smaller point cloud images at certain time or spatial intervals. Simultaneously, the three-dimensional point cloud images are cleaned according to certain standards to remove invalid data and standardize the output data, further increasing the information capacity of the data, improving data utilization efficiency, and saving time and hardware costs.
[0008] In a first aspect, the present invention provides a method for processing three-dimensional point cloud data;
[0009] A method for processing 3D point cloud data, comprising:
[0010] Acquire 3D point cloud data collected by the vehicle-mounted LiDAR at each moment, obtain the real-time pose of the vehicle-mounted LiDAR and the real-time coordinates of the vehicle; construct a list of point cloud frames to be processed based on the acquired data.
[0011] Based on the list of point cloud frames to be processed, construct an initial list of starting point cloud frames with equal or equal intervals.
[0012] Based on the initial starting point cloud frame list and the point cloud frame list to be processed, an ending point cloud frame list is constructed. At the same time, the initial starting point cloud frame list is updated to obtain an updated starting point cloud frame list, and a starting point cloud frame list and an ending point cloud frame list with the same distance or time interval are obtained.
[0013] From the list of end point cloud frames and the updated list of start point cloud frames, take out the corresponding end point cloud frames and start point cloud frames one by one; from the list of point cloud frames to be processed, take out all point cloud frames whose acquisition time is between the corresponding start point cloud frames and end point cloud frames, and merge the corresponding start point cloud frames and end point cloud frames as well as all point cloud frames between the corresponding start point cloud frames and end point cloud frames to obtain the original three-dimensional point cloud image fragment.
[0014] Denoising is performed on each original 3D point cloud image fragment to obtain a processed 3D point cloud image fragment, and unusable 3D point cloud image fragments are removed.
[0015] A data index table is constructed based on the processed 3D point cloud image fragments.
[0016] Secondly, the present invention provides a three-dimensional point cloud data processing system;
[0017] A three-dimensional point cloud data processing system, comprising:
[0018] The first module is configured to: acquire 3D point cloud data collected by the vehicle-mounted LiDAR at each moment, acquire the real-time pose of the vehicle-mounted LiDAR and the real-time coordinates of the vehicle; and construct a list of point cloud frames to be processed based on the acquired data.
[0019] The second module is configured to: construct an initial starting point cloud frame list with equal or time intervals based on the point cloud frame list to be processed;
[0020] Based on the initial starting point cloud frame list and the point cloud frame list to be processed, an ending point cloud frame list is constructed. At the same time, the initial starting point cloud frame list is updated to obtain an updated starting point cloud frame list, and a starting point cloud frame list and an ending point cloud frame list with the same distance or time interval are obtained.
[0021] From the list of end point cloud frames and the updated list of start point cloud frames, retrieve the corresponding end point cloud frames and start point cloud frames one by one; from the list of point cloud frames to be processed, retrieve all point cloud frames whose acquisition time is between the start point cloud frame and the end point cloud frame, merge the corresponding start point cloud frame and end point cloud frame and all point cloud frames between the corresponding start point cloud frame and end point cloud frame to obtain the original 3D point cloud image fragments; perform denoising processing on each original 3D point cloud image fragment to obtain the processed 3D point cloud image fragments, and remove unusable 3D point cloud image fragments.
[0022] The third module is configured to: construct a data index table based on the processed 3D point cloud image fragments, and upload the data index table and the processed 3D point cloud image fragments to the fourth module via wireless transmission.
[0023] The fourth module is configured to receive and store data.
[0024] Furthermore, the first, second, third, and fourth modules can each operate independently, and one or more modules can constitute different systems to perform different data processing tasks, including but not limited to:
[0025] Scenario 1: The first module, the second module, and the third module are combined to form a 3D point cloud data processing system. The 3D point cloud data processing system is used to realize the automated acquisition and processing of 3D point cloud data and generate 3D point cloud image fragments and index tables.
[0026] Scenario 2: The first module, the second module, and the third module are combined into a three-dimensional point cloud data processing subsystem. There are one or more three-dimensional point cloud data processing subsystems. Each three-dimensional point cloud data processing subsystem uploads its own data to the fourth module. The fourth module is responsible for the centralized storage and distribution of data. The fourth module and all the three-dimensional point cloud data processing subsystems together form a three-dimensional point cloud data processing system.
[0027] Scenario 3: The second and third modules are combined to form a 3D point cloud data processing system. The 3D point cloud data processing system directly processes the data stored in a computer-readable storage medium to generate 3D point cloud image fragments and an index table. The data stored in the computer-readable storage medium includes: 3D point cloud data, the real-time pose of the vehicle-mounted LiDAR, and the real-time coordinates of the vehicle.
[0028] Compared with the prior art, the beneficial effects of the present invention are:
[0029] 1. This invention increases the information content of point cloud image fragments, improving the effectiveness of point cloud data. It proposes a method for processing 3D point cloud data. By using a large amount of 2D or low-density 3D point cloud data, several 3D point cloud image fragments with high information content, small file size, low redundancy, and wide sensing range are generated. These 3D point cloud image fragments can be used directly or after simple processing for training algorithms such as deep learning and reinforcement learning. This method significantly increases the information content of a single point cloud image fragment, reduces the overall size of the point cloud data file, and improves the application efficiency of the original point cloud data in algorithms such as deep learning and reinforcement learning.
[0030] 2. Improved flexibility in point cloud data construction. This invention proposes a method for constructing 3D point cloud image segments using a "starting point cloud frame list" and an "ending point cloud frame list." This allows for the construction of various point cloud image segments based on different "starting point cloud frame lists" and "ending point cloud frame lists," thereby increasing the flexibility of point cloud data construction.
[0031] 3. Improved efficiency in processing and utilizing raw point cloud data. This invention can automatically complete multiple processes such as point cloud data acquisition, point cloud image fragment construction, data cleaning, and data index table generation. It can directly generate a well-structured data package containing point cloud image fragments and a file index table from the raw data. The data package can be directly utilized by algorithms such as deep learning and reinforcement learning, significantly improving the efficiency in processing and utilizing raw point cloud data.
[0032] 4. Improved flexibility in point cloud data acquisition and processing. This invention provides a 3D point cloud data processing system that can realize multiple functions such as automated acquisition and processing of 3D environmental information, distributed parallel acquisition and processing of large-scale environmental information, and centralized storage.
[0033] 5. Improved integrity of point cloud data. This invention can automatically clean point cloud image segments, detect and remove point cloud image segments with corrupted data, thereby improving the integrity of point cloud data.
[0034] 6. Expanded lidar detection range and reduced interference. This invention provides a variable-angle lidar device that expands the effective detection range of the lidar and reduces interference from factors such as vibration. Attached Figure Description
[0035] The accompanying drawings, which form part of this invention, are used to provide a further understanding of the invention. The illustrative embodiments of the invention and their descriptions are used to explain the invention and do not constitute an improper limitation of the invention.
[0036] Figure 1 This is a flowchart of "A Three-Dimensional Point Cloud Data Processing Method" of the present invention.
[0037] Figure 2 This is a flowchart of the starting point cloud frame list construction process of the present invention;
[0038] Figure 3 This is a flowchart of the process for constructing the end point cloud frame list in this invention;
[0039] Figure 4(a) and Figure 4(b) are schematic diagrams of three-dimensional point cloud image segments containing roughly equal amounts of environmental information, Example 1;
[0040] Figures 5(a) and 5(b) are schematic diagrams of three-dimensional point cloud image segments containing roughly equal amounts of environmental information, Example 2;
[0041] Figures 6(a)-6(c) This is a structural block diagram of a three-dimensional point cloud data processing system according to the present invention;
[0042] Figure 7 This is a schematic diagram of the data index table structure of the present invention;
[0043] Figure 8 This is a schematic diagram of the structure of a variable-angle lidar device according to the present invention.
[0044] Figures 9(a)-9(d) This is a schematic diagram of a fragment of the original 3D point cloud image;
[0045] Figures 10(a)-10(d) This is a schematic diagram of a 3D point cloud image fragment with the ground removed;
[0046] Figures 11(a)-11(d) This is a schematic diagram of a 3D point cloud image fragment that failed to be sampled;
[0047] Figures 12(a)-12(d) It is a schematic diagram of a point cloud image segment that is uniform in size, evenly distributed, and rich in detail;
[0048] In this diagram, 001 represents a 3D lidar, 002 represents an inertial sensor, 003 represents a reducer, 004 represents a drive motor, 005 represents a fixed base, 006 represents a bracket, 007 represents a rotating shaft, and 008 represents a load-bearing platform. Detailed Implementation
[0049] It should be noted that the following detailed descriptions are exemplary and intended to provide further illustration of the invention. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains.
[0050] It should be noted that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the exemplary embodiments of the present invention. As used herein, unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. Furthermore, it should be understood that the terms “comprising” and “having”, and any variations thereof, are intended to cover non-exclusive inclusion, for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0051] Example 1
[0052] This embodiment provides a method for processing three-dimensional point cloud data;
[0053] A method for processing 3D point cloud data, such as Figure 1 As shown, it includes:
[0054] S101: Acquire the 3D point cloud data collected by the vehicle-mounted LiDAR at each moment, obtain the real-time pose of the vehicle-mounted LiDAR and the real-time coordinates of the vehicle; construct a list of point cloud frames to be processed based on the acquired data.
[0055] S102: Based on the list of point cloud frames to be processed, construct an initial starting point cloud frame list with equal distances or time intervals.
[0056] S103: Based on the initial starting point cloud frame list and the point cloud frame list to be processed, construct the ending point cloud frame list. At the same time, update the initial starting point cloud frame list to obtain the updated starting point cloud frame list, and obtain the starting point cloud frame list and the ending point cloud frame list with the same distance or time interval.
[0057] S104: From the list of end point cloud frames and the updated list of start point cloud frames, take out the corresponding end point cloud frames and start point cloud frames one by one; from the list of point cloud frames to be processed, take out all point cloud frames whose acquisition time is between the start point cloud frame and the end point cloud frame, merge the corresponding start point cloud frame and end point cloud frame and all point cloud frames between the corresponding start point cloud frame and end point cloud frame to obtain the original three-dimensional point cloud image fragment.
[0058] S105: Denoise each original 3D point cloud image fragment to obtain a processed 3D point cloud image fragment, and remove unusable 3D point cloud image fragments.
[0059] S106: Construct a data index table based on the processed 3D point cloud image fragments.
[0060] Further, in step S101: acquire the 3D point cloud data collected by the vehicle-mounted LiDAR at each moment, acquire the real-time pose of the vehicle-mounted LiDAR and the real-time coordinates of the vehicle; construct a list of point cloud frames to be processed based on the acquired data, wherein the list of point cloud frames to be processed includes:
[0061] Several data points, each data point being a set of point cloud frame data. Each set of point cloud frame data includes: the point cloud frame data collected by the lidar at the i-th time, the timestamp of the lidar generating the point cloud frame data, the pose of the lidar, and the coordinates of the vehicle.
[0062] It should be understood that vehicle-mounted single-line or low-line LiDAR is used to acquire real-time two-dimensional or low-density three-dimensional point cloud data of the surrounding environment, vehicle-mounted high-precision IMU is used to acquire the real-time pose of the vehicle-mounted LiDAR, and vehicle-mounted high-precision GPS is used to acquire the real-time coordinates of the vehicle.
[0063] For example, suppose that all the data collected by the lidar at a certain moment after a complete working cycle is a point cloud frame, and the lidar automatically records the timestamp of this point cloud frame as... Similarly, suppose that at a certain moment, after the IMU sensor and GPS sensor have completed a full working cycle, the timestamps of the attitude data and coordinate data automatically recorded by the sensors are... After each data acquisition, the lidar will retrieve the closest match from the database. of The corresponding pose and coordinate data are used as The pose and coordinates of point cloud frame data.
[0064] The matched raw data is stored in the form of a list and sorted in ascending order according to the timestamp. This list is called the "list of point cloud frames to be processed", and a data item in the list is called a "point cloud frame". A set of point cloud frames contains point cloud frame data collected by the lidar at a certain moment, the timestamp generated by the lidar, and the matched pose and coordinate data.
[0065] Further, step S102: Constructing an initial starting point cloud frame list with equal distances or time intervals based on the list of point cloud frames to be processed, specifically includes:
[0066] S102a-1: Specifies the distance interval D between two adjacent starting point cloud frames. begin ;
[0067] S102a-2: Create an empty list named "Initial Starting Point Cloud Frame List";
[0068] S102a-3: Add the first set of point cloud frame data from the list of point cloud frames to be processed to the initial starting point cloud frame list.
[0069] S102a-4: Begin traversing the list of point cloud frames to be processed, calculate the coordinate distance δd between each group of point cloud frame data and the latest group of point cloud frame data in the initial starting point cloud frame list, and select the first group of point cloud frame data whose coordinate distance δd is greater than or equal to δd. begin The point cloud frame data is added to the initial starting point cloud frame list;
[0070] S102a-5: Repeat S102a-4 until all elements of the point cloud frame list to be processed have been traversed, thus obtaining an initial starting point cloud frame list with equal intervals.
[0071] For example, the distance interval D between two adjacent starting point cloud frames is set. begin .like Figure 2 As shown, first create an empty list named "Starting Point Cloud Frame List". Place the first set of point cloud frame data from the list of point cloud frames to be processed into the starting point cloud frame list. Then, iterate through the list of point cloud frames to be processed sequentially, calculating the coordinate distance δd between each set of point cloud frames and the latest set of point cloud frames in the starting point cloud frame list. Then, select the first set of point cloud frames whose coordinate distance δd equals D. begin Or δd>D begin Add the point cloud frames to the starting point cloud frame list. Repeat the above operation until all elements in the point cloud frame list to be processed are traversed to obtain a starting point cloud frame list with equal intervals.
[0072] Optionally, step S102: Constructing an initial starting point cloud frame list based on the list of point cloud frames to be processed, specifically includes:
[0073] S102b-1: Specifies the time interval T between two adjacent starting point cloud frames.begin ;
[0074] S102b-2: Create an empty list named "Initial Starting Point Cloud Frame List";
[0075] S102b-3: Add the first set of point cloud frame data from the list of point cloud frames to be processed to the initial starting point cloud frame list.
[0076] S102b-4: Begin traversing the elements of the point cloud frame list to be processed, calculate the time interval δt between each group of point cloud frame data traversed and the latest group of point cloud frame data in the initial starting point cloud frame list, and select the first group that satisfies the time interval δt greater than or equal to T. begin The point cloud frame data is added to the initial starting point cloud frame list;
[0077] S102b-5: Repeat S102b-4 until all elements of the point cloud frame list to be processed have been traversed, thus obtaining the initial starting point cloud frame list with equal time intervals.
[0078] For example, the time interval T between two adjacent starting point cloud frames is set. begin First, create an empty list named "Starting Point Cloud Frame List". Add the first set of point cloud frame data from the list of point cloud frames to be processed to the starting point cloud frame list. Then, iterate through the list of point cloud frames to be processed, calculating the time interval δt between each set of point cloud frames and the latest set of point cloud frames in the starting point cloud frame list. The first set of frames whose time interval δt equals T is selected. begin Or δt>T begin Add the point cloud frames to the starting point cloud frame list. Repeat the above operation until all elements in the point cloud frame list to be processed are traversed to obtain a starting point cloud frame list with equal time intervals.
[0079] For example, users can also use the FPS (Farthest Point Sampling) algorithm or other algorithms to generate a list of starting point cloud frames.
[0080] Further, in step S103: based on the initial starting point cloud frame list and the point cloud frame list to be processed, an ending point cloud frame list is constructed. Simultaneously, the initial starting point cloud frame list is updated to obtain an updated starting point cloud frame list, thus obtaining a starting point cloud frame list and an ending point cloud frame list with corresponding distances or time intervals equal. Specifically, this includes:
[0081] S103-a1: Set the distance interval D between the starting point cloud frame and the corresponding ending point cloud frame. step ;
[0082] S103-a2: Create an empty list named "End Point Cloud Frame List";
[0083] S103-a3: Traverse the initial starting point cloud frame list in ascending order of timestamp, and for each element P in the initial starting point cloud frame list... q Iterate through the list of point cloud frames to be processed. Let P be a set of point cloud frames taken from the list of point cloud frames to be processed. k The collection time will be in P q The first set of subsequent sets satisfies the coordinate spacing δd equal to D. step Or δd>D step P k Add to the end point cloud frame list; where δd is P q With P k The coordinate spacing, P k The timestamp is greater than P q timestamp;
[0084] If after traversing the list of point cloud frames to be processed, no frame satisfying δd>D is found. step P k Then it is believed that from P q Initially, it was unable to generate a distance that met the set interval D. step The point cloud image fragment, P q Remove from the starting point cloud frame list;
[0085] S103-a4: Repeat S103-a3 until all elements in the initial starting point cloud frame list have been traversed, thereby obtaining the ending point cloud frame list and the updated starting point cloud frame list.
[0086] For example, the distance interval D between the starting point cloud frame and the corresponding ending point cloud frame is set. step First, create an empty list named "End Point Cloud Frame List", then... Figure 3 The diagram shows the process of traversing the list of starting point cloud frames in ascending order of timestamps. For each element P in the list of starting point cloud frames... q Iterate through all the unprocessed point cloud frames once. Let P be a set of point cloud frames taken from the list of unprocessed point cloud frames at a certain time. k The collection time will be in P q After that (P) k The timestamp is greater than P q The first group of timestamps satisfies δd (δd is P) q With P k The coordinate spacing is equal to D. step Or δd>D step P k Add to the end point cloud frame list. If, after traversing the list of point cloud frames to be processed, no P that meets the above requirements is found... k Then it is considered that from P q Initially, point cloud image fragments that meet the user-specified distance intervals cannot be generated. Therefore, this P... qRemove from the starting point cloud frame list. Repeat the above operation until all elements in the starting point cloud frame list have been traversed to obtain a list of starting point cloud frames and a list of ending point cloud frames with equal distance intervals.
[0087] Optionally, step S103: constructing an ending point cloud frame list based on the initial starting point cloud frame list and the point cloud frame list to be processed, and simultaneously updating the initial starting point cloud frame list to obtain an updated starting point cloud frame list, specifically including:
[0088] S103-b1: Set the time interval T between the starting point cloud frame and the corresponding ending point cloud frame. step ;
[0089] S103-b2: Create an empty list named "End Point Cloud Frame List";
[0090] S103-b3: Traverse the initial starting point cloud frame list in ascending order of timestamp, and for each element P in the initial starting point cloud frame list... q Iterate through the list of point cloud frames to be processed. Let P be a set of point cloud frames taken from the list of point cloud frames to be processed. k The collection time will be in P q The first group afterwards satisfies δt equal to T. step Or δt>T step P k Add to the end point cloud frame list; where δt is P q With P k timestamp difference, P k The timestamp is greater than P q timestamp;
[0091] If after traversing the list of point cloud frames to be processed, no frame is found that satisfies δt>T step P k Then it is believed that from P q Initially, it was unable to generate a value that met the set time interval T. step The point cloud image fragment, P q Remove from the starting point cloud frame list;
[0092] S103-b4: Repeat S103-b3 until all elements in the initial starting point cloud frame list have been traversed, thereby obtaining the ending point cloud frame list and the updated starting point cloud frame list.
[0093] For example, a time interval T is set between each starting point cloud frame and its corresponding ending point cloud frame. step In this step, first create an empty list named "End Point Cloud Frame List". Then, traverse the Starting Point Cloud Frame List in ascending order of timestamps, and for each element P in the Starting Point Cloud Frame List... qIterate through all the unprocessed point cloud frames once. Let P be a set of point cloud frames taken from the list of unprocessed point cloud frames at a certain time. k The collection time will be in P q After that (P) k The timestamp is greater than P q The first group of timestamps satisfies δt (δt is P) q With P k The timestamp difference equals T. step Or δt>T step P k Add to the end point cloud frame list. If, after traversing the list of point cloud frames to be processed, no frame satisfying δt>T is found... step P k Then it is considered that from P q Initially, point cloud image fragments that meet the user-specified time intervals cannot be generated. Therefore, P... q Remove from the starting point cloud frame list. Repeat the above operation until all elements in the starting point cloud frame list have been traversed to obtain the starting point cloud frame list and the ending point cloud frame list with corresponding time intervals.
[0094] Optionally, users can also use other algorithms to construct the end point cloud frame list and update the start point cloud frame list.
[0095] Further, in step S104: from the list of end point cloud frames and the updated list of start point cloud frames, sequentially extract the corresponding end point cloud frames and start point cloud frames; from the list of point cloud frames to be processed, extract all point cloud frames whose acquisition time is between each set of start and end point cloud frames; merge the corresponding start and end point cloud frames and all point cloud frames between the corresponding start and end point cloud frames to obtain the original 3D point cloud image fragment. Prior to this, the process also includes:
[0096] Let t i At any given moment, the two-dimensional or low-density three-dimensional point cloud frames acquired by the lidar are... The coordinates of a single point are p = {x, y, z} T The total number of points is n, and the Euler angle attitude data collected by the inertial sensor is α. i β i and γ i The coordinate data collected by the GPS sensor is x i y i and z i .
[0097] The rotation matrix M can be calculated from the attitude data. i for:
[0098]
[0099] Through Mi Can be calculated The actual coordinates of the point in the middle are A 3D point set can be generated by combining multiple transformed point cloud data. 3D point set It is referred to as a "3D point cloud image fragment" or "point cloud image fragment".
[0100] Determine the start position of the point cloud image segment, construct an initial starting point cloud frame list, and then determine the end position of the point cloud image segment according to the method of equal distance or equal time interval, construct an ending point cloud frame list.
[0101] Based on the corresponding start and end positions, the two-dimensional or low-density three-dimensional point cloud data is reconstructed into several sets of large-size three-dimensional point cloud image fragments (referred to as "point cloud image fragments"). Each three-dimensional point cloud image fragment contains approximately the same amount of environmental information.
[0102] The "roughly equal amount of environmental information" varies depending on the construction method of the starting and ending point cloud frame lists, including but not limited to:
[0103] (1) As shown in Figure 4(a), the starting position distance between adjacent cloud image segments is the same (assumed to be 2.0m). Each point cloud image segment is composed of all two-dimensional or low-density three-dimensional point cloud data within the same distance length after the starting position (assumed to be 3.0m).
[0104] (2) As shown in Figure 4(b), the starting position distance between adjacent cloud image segments is the same (assumed to be 2.0m). Each point cloud image segment is composed of all two-dimensional or low-density three-dimensional point cloud data within the same time range after the starting position (assumed to be 6.0s).
[0105] (3) As shown in Figure 5(a), the time interval between the start positions of adjacent cloud image segments is the same (assumed to be 2.0s). Each point cloud image segment is composed of all two-dimensional or low-density three-dimensional point cloud data within the same time range after the start position (assumed to be 3.0s).
[0106] (4) As shown in Figure 5(b), the acquisition time interval between the start positions of adjacent cloud image segments is the same (assumed to be 2.0s). Each point cloud image segment is composed of all two-dimensional or low-density three-dimensional point cloud data within the same distance length (assumed to be 6.0m) after the start position.
[0107] After obtaining the original point cloud image fragments, further optimization algorithms such as ghosting removal and portrait removal can be applied to obtain, for example... Figures 9(a)-9(d) The image shown is a fragment of the original 3D point cloud.
[0108] Further, step S105: Denoising each original 3D point cloud image segment to obtain a processed 3D point cloud image segment, removing unusable 3D point cloud image segments, specifically including:
[0109] S105-1: Perform histogram analysis on the Z-axis coordinates of all points in each original 3D point cloud image fragment to determine whether each point belongs to a discrete point or the ground. If it belongs to either, remove the point from the point set.
[0110] S105-2: Calculate the variance of each axial coordinate of each original 3D point cloud image segment in turn. If the variance of one or more axial coordinates of the 3D point cloud image segment is less than the set threshold, it is determined that the current 3D point cloud image segment has serious loss of detail and is an unusable 3D point cloud image segment. The current 3D point cloud image segment is then removed.
[0111] S105-3: Determine whether the total number of points in the 3D point cloud image segment is greater than a set threshold. If it is greater, downsample the current 3D point cloud image segment. If it is less than the threshold, upsample the current 3D point cloud image segment to obtain a 3D point cloud image segment of uniform size.
[0112] Understandably, the generated 3D point cloud image fragments are cleaned to remove ground information and discrete points from each fragment. Statistical information on the coordinates of points along each axis is calculated for each 3D point cloud image, and feature-rich image fragments are selected based on this statistical information. The point cloud image fragments are then downsampled or upsampled according to the required size to obtain 3D point cloud image fragments of uniform size.
[0113] For example, S105-1: Perform histogram analysis on the Z-axis coordinates of all points in each original 3D point cloud image fragment to determine whether each point belongs to a discrete point or the ground. If it belongs to either, remove the point from the point set, including:
[0114] Perform histogram analysis on the z-axis coordinates of all points in each original 3D point cloud image fragment, and let the maximum value of the z-axis coordinates of all points be z. max The minimum value is z min It is assumed that the z-axis coordinate is less than z. min +(z max -z min 10% of the points belong to the ground. Let the maximum x-axis coordinate of all points in an original 3D point cloud image fragment be x. max The minimum value is x min The maximum value of the y-axis coordinate is y max The minimum value is y min It is assumed that when the coordinates of the point x i y iA point is not considered a discrete point if it meets the following conditions.
[0115]
[0116] Statistical analysis was performed on each constructed original 3D point cloud image fragment, and all points in each point set were examined. When a point was determined to belong to a discrete point or the ground, it was removed from the point set, resulting in the following: Figures 10(a)-10(d) The point cloud image fragment shown.
[0117] For example, S105-2: Calculate the variance of each axial coordinate of the 3D point cloud image segment. If the variance of one or more axial coordinates of the 3D point cloud image segment is less than a set threshold, it is determined that the current 3D point cloud image segment has severe detail loss and is an unusable 3D point cloud image segment. The current 3D point cloud image segment is then removed, including:
[0118] like Figures 11(a)-11(d) As shown, lidar may experience occasional acquisition failures due to interference factors such as obstruction and strong light, resulting in phenomena such as loss of detail in the output data and accumulation of a large number of points over a period of time. To remove 3D point cloud image segments that have failed sampling, this implementation step calculates the variance of each axial coordinate of the 3D point cloud image segment according to the following formula. If a 3D point cloud image segment has one or more axial coordinate variances less than 0.1, it is considered that the 3D point cloud image segment has suffered severe loss of detail and is considered an unusable 3D point cloud image segment, and is removed from the database.
[0119]
[0120]
[0121]
[0122] For example, S105-3: Since data processing algorithms based on deep learning or reinforcement learning are highly sensitive to the organization and quantity of the input point cloud data, after obtaining a 3D point cloud image fragment with rich details, it is determined whether the total number of points in the 3D point cloud image fragment is greater than a set threshold. If it is greater, voxel downsampling is used to downsample the current 3D point cloud image fragment. If it is less, point cloud image fragments with a total number of points less than the user-specified value are removed, ultimately obtaining the following... Figures 12(a)-12(d) The image fragments shown are point cloud images of uniform size, even distribution, and rich detail.
[0123] Optionally, this step can also employ other sampling algorithms, such as random sampling, to downsample the point cloud image fragments.
[0124] Optionally, this step can also be implemented by upsampling point cloud image segments with a total number of points less than the user-specified value.
[0125] To improve the integrity of point cloud data, after completing the above operations, this step reads all point cloud image fragments again to check for file corruption and removes any corrupted files.
[0126] Optionally, this step can be accelerated using CPU multithreading or GPU parallel computing.
[0127] Further, step S106: Constructing a data index table based on the processed 3D point cloud image fragments, including:
[0128] S106-1: Store uniformly sized 3D point cloud image fragments to a user-specified storage location;
[0129] S106-2: Read the storage path, timestamp, and coordinates of a 3D point cloud image fragment, and generate a data packet containing the index information of the stored point cloud image fragment based on the read information;
[0130] The data packet includes a list of point cloud image segments. Each element of the point cloud image list includes: the storage path of the point cloud image segment, the timestamp and coordinates of the start point cloud frame, the timestamp and coordinates of the end point cloud frame, and the coordinates of all point cloud frames of the current point cloud image segment.
[0131] For example, to facilitate the use of point cloud image fragments generated in the above steps of this disclosure for training, searching, and other operations by autonomous driving systems built based on algorithms such as deep learning and reinforcement learning, this step first stores point cloud image fragments of uniform size in a user-specified storage location, then reads the storage path, timestamp, coordinates, and other information of the generated point cloud image fragments, and finally generates a data packet with a uniformly formatted index information for the stored point cloud image fragments. Figure 7 As shown, the data packet consists of a list of point cloud image fragments. Each element of the point cloud image fragment list contains information such as the storage path of the corresponding point cloud image fragment, the timestamp and coordinates of the starting point cloud frame, the timestamp and coordinates of the ending point cloud frame, and a list of coordinates of all point cloud frames that construct the point cloud image fragment. The data packet can be directly invoked by algorithms such as deep learning and reinforcement learning, significantly improving the processing and utilization efficiency of raw point cloud data.
[0132] It should be understood that, in order to facilitate the use of the generated point cloud image fragments by other programs, after generating point cloud image fragments of uniform size, an index table (hereinafter referred to as the "index table") is generated, which records information such as the data acquisition time, coordinates and storage location of all point cloud image fragments.
[0133] The generated point cloud image fragments are automatically stored in the corresponding locations of the memory according to certain rules, or transmitted to other devices via wireless or wired communication devices.
[0134] This embodiment reconstructs two-dimensional or low-density three-dimensional point cloud data into large-size three-dimensional point cloud image fragments based on high-precision IMU and GPS data, and cleans the point cloud image fragment data to finally generate several three-dimensional point cloud image fragments of equal size with large information content, low redundancy, and wide sensing range.
[0135] Example 2
[0136] This second embodiment provides a three-dimensional point cloud data processing system;
[0137] A three-dimensional point cloud data processing system, comprising:
[0138] The first module is configured to: acquire 3D point cloud data collected by the vehicle-mounted LiDAR at each moment, acquire the real-time pose of the vehicle-mounted LiDAR and the real-time coordinates of the vehicle; and construct a list of point cloud frames to be processed based on the acquired data.
[0139] The second module is configured to: construct an initial starting point cloud frame list based on the list of point cloud frames to be processed; construct an ending point cloud frame list based on the initial starting point cloud frame list and the list of point cloud frames to be processed, and simultaneously update the initial starting point cloud frame list to obtain an updated starting point cloud frame list; extract corresponding ending point cloud frames and starting point cloud frames from the ending point cloud frame list and the updated starting point cloud frame list; extract all point cloud frames whose acquisition time is between the starting point cloud frame and the ending point cloud frame from the list of point cloud frames to be processed, merge all point cloud frames between the starting point cloud frame and the ending point cloud frame, as well as the starting point cloud frame and the ending point cloud frame, to obtain an original 3D point cloud image fragment; and perform denoising processing on each original 3D point cloud image fragment to obtain a processed 3D point cloud image fragment.
[0140] The third module is configured to: construct a data index table based on the processed 3D point cloud image fragments, and upload the data index table and the processed 3D point cloud image fragments to the fourth module via wireless transmission.
[0141] The fourth module is configured to receive and store data.
[0142] Furthermore, the first, second, third, and fourth modules can each operate independently, and one or more modules can constitute different systems to perform different data processing tasks, including but not limited to:
[0143] As shown in Figure 6(a), Example 1: The first module, the second module and the third module are combined to form a three-dimensional point cloud data processing system. The three-dimensional point cloud data processing system is used to realize the automated acquisition and processing of three-dimensional point cloud data and generate three-dimensional point cloud image fragments and index tables.
[0144] As shown in Figure 6(b), Example 2: The first module, the second module and the third module are combined to form a three-dimensional point cloud data processing subsystem. There are one or more three-dimensional point cloud data processing subsystems. Each three-dimensional point cloud data processing subsystem uploads its own data to the fourth module. The fourth module is responsible for the centralized storage and distribution of data. The fourth module and all the three-dimensional point cloud data processing subsystems together form a three-dimensional point cloud data processing system to realize the distributed parallel acquisition, processing and centralized storage of three-dimensional point data of large-area real environment.
[0145] As shown in Figure 6(c), Example 3: The second module and the third module are combined to form a three-dimensional point cloud data processing system. The three-dimensional point cloud data processing system directly processes the data stored in the computer-readable storage medium to generate three-dimensional point cloud image fragments and index tables. The data stored in the computer-readable storage medium includes: three-dimensional point cloud data, real-time pose of the vehicle-mounted lidar, and real-time coordinates of the vehicle.
[0146] For example, the first module acquires real-time two-dimensional or low-density three-dimensional point cloud data, pose data, and coordinate data. This module consists of a two-dimensional or low-line-count three-dimensional LiDAR submodule, a high-precision IMU submodule, and a GPS sensor submodule. This module is installed on the vehicle body; when the vehicle is in motion, the LiDAR can acquire environmental data over a wide angular range by utilizing the vehicle's swaying motion.
[0147] The lidar submodule in the first module consists of a variable-angle lidar device (hereinafter referred to as "lidar device") proposed in this disclosure. Figure 8As shown, the lidar device can vary considerably depending on its configuration or performance. It may include one or more two-dimensional or low-line-count three-dimensional lidar units 001, one or more high-precision inertial sensors 002, a reducer 003 equipped with an angle sensor, a drive motor 004, a fixed base 005 with the high-precision inertial sensor, a bracket 006, a rotating shaft 007, and a support platform 008. The two-dimensional or low-line-count three-dimensional lidar units 001 and the high-precision inertial sensors 002 are stacked on the support platform 008 to minimize relative motion between them, facilitating accurate measurement of the real-time attitude of the two-dimensional or low-line-count three-dimensional lidar units 001 by the high-precision IMU sensor 002. In the reducer 003 equipped with the angle sensor, the angle sensor is installed at the connection between the reducer and the rotating shaft 007, allowing direct measurement of the rotation angle of the rotating shaft and reducing measurement errors caused by factors such as reducer backlash. The drive motor 004 can control the support platform 008 to reciprocate within a large angle range through the reducer 003 equipped with the angle sensor and the rotating shaft 007. Those skilled in the art will understand that, Figure 8 The variable-angle lidar device structure shown does not constitute a limitation on the variable-angle lidar device, and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0148] The lidar device is fixed to the vehicle body via a mounting base 005. A high-precision IMU sensor mounted on the mounting base 005 measures the vehicle's attitude in real time (referred to as "real-time vehicle attitude"). Negative feedback is achieved through a drive motor 004 and an angle sensor in a reducer 003, controlling the support platform 008 to perform high-precision reciprocating motion based on the vehicle's real-time attitude and user settings. When the vehicle's sway amplitude is small, the lidar device can control the support platform 008 to sway with a relatively large amplitude, increasing the radar's detection range. When the vehicle's sway amplitude is large and the swaying speed is fast, the lidar device can control the support platform 008 to sway uniformly within a relatively fixed angle range relative to the surrounding environment, reducing interference from violent vehicle swaying on the lidar. Furthermore, the lidar device can also control the support platform 008 to perform high-precision rotation according to other user-specified methods to collect environmental information under specific attitudes.
[0149] The second module processes point cloud, pose, and coordinate data in real time according to the three-dimensional point cloud data processing method described in this disclosure, and constructs point cloud image fragments with uniform size, even distribution, and rich details.
[0150] The third module stores the 3D point cloud data, constructs a corresponding index table according to the 3D point cloud data processing method described in this disclosure, and temporarily stores the corresponding files in a memory or transmits them to other devices through a transmission device.
[0151] The fourth module is a centralized data storage and processing device, capable of simultaneously receiving and storing data uploaded by multiple 3D point cloud data processing subsystems composed of the first, second, and third modules. It may include one or more power modules, one or more wired transmission devices (such as network cables, fiber optics, etc.), one or more wireless transmission modules (such as Wi-Fi, Bluetooth, Zigbee, etc.), one or more data storage modules (such as hard disks, magnetic tapes, floppy disks, etc.), one or more processors (Central Processing Units, CPUs), and one or more operating systems (such as Windows Server, macOS, Linux, etc.). Furthermore, the processor can utilize the wireless or wired transmission modules to transmit data with other subsystems. Under the control of the processor, the fourth module can receive data packets uploaded by other devices via the wireless or wired transmission modules and store the data packets in a designated location within the storage module.
[0152] Each module can work independently, and one or more modules can form different subsystems to perform different data processing tasks, which may include, but are not limited to:
[0153] As shown in Figure 6(a), the first, second and third modules constitute the three-dimensional point cloud data processing system example 1. The first module can collect three-dimensional point cloud data, GPS data and attitude data in real time. The second module can process the raw data collected by the first module in real time to generate point cloud image fragments. The third module can store the point cloud image fragments to a specified location and generate a corresponding index table, thereby realizing the automated collection and processing of three-dimensional point cloud data.
[0154] As shown in Figure 6(b), one or more three-dimensional point cloud data processing subsystems composed of the first, second, and third modules and the fourth module constitute a three-dimensional point cloud data processing system example 2. One or more of the subsystems simultaneously collect environmental information from different areas, generate corresponding data packets, and synchronize the data packets to the fourth module through wired or wireless transmission devices, thereby realizing distributed parallel acquisition, processing, and centralized storage of three-dimensional point data of a large area of real environment.
[0155] As shown in Figure 6(c), the second and third modules form a three-dimensional point cloud data processing subsystem example 3, which can directly process two-dimensional or low-density three-dimensional point cloud data, pose data and coordinate data stored in the storage medium, and generate corresponding point cloud image fragments and index tables.
[0156] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A method for processing three-dimensional point cloud data, characterized in that, include: Acquire 3D point cloud data collected by the vehicle-mounted LiDAR at each moment, obtain the real-time pose of the vehicle-mounted LiDAR and the real-time coordinates of the vehicle; construct a list of point cloud frames to be processed based on the acquired data. Based on the list of point cloud frames to be processed, construct an initial list of starting point cloud frames with equal or equal intervals. Based on the initial starting point cloud frame list and the point cloud frame list to be processed, an ending point cloud frame list is constructed. At the same time, the initial starting point cloud frame list is updated to obtain an updated starting point cloud frame list, and a starting point cloud frame list and an ending point cloud frame list with the same distance or time interval are obtained. Based on the initial starting point cloud frame list and the point cloud frame list to be processed, an ending point cloud frame list is constructed. Simultaneously, the initial starting point cloud frame list is updated to obtain an updated starting point cloud frame list. This results in a starting point cloud frame list and an ending point cloud frame list with corresponding equal distance intervals. Specifically, this includes: 3-a1: Set the distance interval between the starting point cloud frame and the corresponding ending point cloud frame. ; 3-a2: Create an empty list named "End Point Cloud Frame List"; 3-a3: Traverse the initial starting point cloud frame list in ascending order of timestamp, and for each element in the initial starting point cloud frame list... Iterate through the list of point cloud frames to be processed. Assume a set of point cloud frames is taken from the list of point cloud frames to be processed. The collection time is in The first group after that satisfied of Add to the end point cloud frame list; where, for and coordinate spacing, timestamp greater than timestamp; If a satisfactory result is not found after iterating through the list of point cloud frames to be processed. of Then it is believed that from Initially, it was unable to generate data that met the set distance interval. The point cloud image fragment, Remove from the starting point cloud frame list; 3-a4: Repeat 3-a3 until all elements in the initial starting point cloud frame list have been traversed, thus obtaining the ending point cloud frame list and the updated starting point cloud frame list; Alternatively, based on the initial starting point cloud frame list and the point cloud frame list to be processed, an ending point cloud frame list is constructed. Simultaneously, the initial starting point cloud frame list is updated to obtain an updated starting point cloud frame list. This results in a starting point cloud frame list and an ending point cloud frame list with corresponding time intervals. Specifically, this includes: 3-b1: Set the time interval between the starting point cloud frame and the corresponding ending point cloud frame. ; 3-b2: Create an empty list named "End Point Cloud Frame List"; 3-b3: Traverse the initial starting point cloud frame list in ascending order of timestamp, and for each element in the initial starting point cloud frame list... Iterate through the list of point cloud frames to be processed. Assume a set of point cloud frames is taken from the list of point cloud frames to be processed. The collection time is in The first group after that satisfied of Add to the end point cloud frame list; where, for and timestamp difference, timestamp greater than timestamp; If after iterating through the list of point cloud frames to be processed, no matching frame is found... of Then it is believed that from Initially, it was unable to generate data that met the set time interval. The point cloud image fragment, Remove from the starting point cloud frame list; 3-b4: Repeat 3-b3 until all elements in the initial starting point cloud frame list have been traversed, thus obtaining the ending point cloud frame list and the updated starting point cloud frame list. From the list of end point cloud frames and the updated list of start point cloud frames, retrieve the corresponding end point cloud frames and start point cloud frames one by one; from the list of point cloud frames to be processed, retrieve all point cloud frames whose acquisition time is between the start point cloud frame and the end point cloud frame, merge the corresponding start point cloud frame and end point cloud frame and all point cloud frames between the corresponding start point cloud frame and end point cloud frame to obtain the original three-dimensional point cloud image fragment. Denoising is performed on each original 3D point cloud image fragment to obtain a processed 3D point cloud image fragment, and unusable 3D point cloud image fragments are removed. A data index table is constructed based on the processed 3D point cloud image fragments.
2. The three-dimensional point cloud data processing method as described in claim 1, characterized in that, Based on the list of point cloud frames to be processed, construct an initial starting point cloud frame list with equal intervals, specifically including: 2a-1: Specifies the distance interval between two adjacent starting point cloud frames. ; 2a-2: Create an empty list named "Initial Starting Point Cloud Frame List"; 2a-3: Add the first set of point cloud frame data from the list of point cloud frames to be processed to the initial starting point cloud frame list; 2a-4: Begin traversing the elements of the point cloud frame list to be processed, and calculate the coordinate distance between each set of point cloud frame data traversed and the latest set of point cloud frame data in the initial starting point cloud frame list. The first one to satisfy the coordinate spacing Greater than or equal to The point cloud frame data is added to the initial starting point cloud frame list; 2a-5: Repeat 2a-4 until all elements of the point cloud frame list to be processed have been traversed, thus obtaining an initial starting point cloud frame list with equal intervals.
3. The three-dimensional point cloud data processing method as described in claim 1, characterized in that, Based on the list of point cloud frames to be processed, construct an initial starting point cloud frame list with equal time intervals, specifically including: 2b-1: Specifies the time interval between two adjacent starting point cloud frames. ; 2b-2: Create an empty list named "Initial Starting Point Cloud Frame List"; 2b-3: Add the first set of point cloud frame data from the list of point cloud frames to be processed to the initial starting point cloud frame list; 2b-4: Begin traversing the elements of the point cloud frame list to be processed, and calculate the time interval between each set of point cloud frame data traversed and the latest set of point cloud frame data in the initial starting point cloud frame list. The first time interval to be satisfied Greater than or equal to The point cloud frame data is added to the initial starting point cloud frame list; 2b-5: Repeat 2b-4 until all elements of the point cloud frame list to be processed have been traversed, thus obtaining the initial starting point cloud frame list with equal time intervals.
4. The three-dimensional point cloud data processing method as described in claim 1, characterized in that, From the list of end point cloud frames and the updated list of start point cloud frames, retrieve the corresponding end point cloud frames and start point cloud frames one by one. Retrieve all point cloud frames whose acquisition time falls between the start and end point cloud frames from the list of point cloud frames to be processed. Merge the corresponding start and end point cloud frames, as well as all point cloud frames between them, to obtain the original 3D point cloud image fragment. This also includes: Suppose At any given moment, the two-dimensional or low-density three-dimensional point cloud frames acquired by the lidar are... The coordinates of a single point are The total number of points is The Euler angle attitude data collected by the inertial sensor is , and The coordinate data collected by the GPS sensor is , and ; The rotation matrix can be calculated from the attitude data. for: pass Can be calculated The actual coordinates of the point in the middle are A three-dimensional point set can be generated by combining multiple transformed point cloud data. 3D point set It is referred to as a "3D point cloud image fragment" or "point cloud image fragment".
5. The three-dimensional point cloud data processing method as described in claim 1, characterized in that, Denoising is performed on each original 3D point cloud image fragment to obtain a processed 3D point cloud image fragment. Unusable 3D point cloud image fragments are removed. Specifically, this includes: Perform histogram analysis on the Z-axis coordinates of all points in each original 3D point cloud image fragment to determine whether each point belongs to a discrete point or the ground. If it belongs to either, remove the point from the point set. Calculate the variance of each axis coordinate of the 3D point cloud image segment. If the variance of one or more axis coordinates of the 3D point cloud image segment is less than the set threshold, it is determined that the current 3D point cloud image segment has serious loss of detail and is an unusable 3D point cloud image segment. The current 3D point cloud image segment is then removed. Determine whether the total number of points in a 3D point cloud image segment is greater than a set threshold. If it is greater, downsample the current 3D point cloud image segment. If it is less than the threshold, remove the current 3D point cloud image segment or upsample the current 3D point cloud image segment to obtain a 3D point cloud image segment of uniform size.
6. The three-dimensional point cloud data processing method as described in claim 1, characterized in that, Based on the processed 3D point cloud image fragments, a data index table is constructed, including: Store uniformly sized 3D point cloud image fragments to the user-specified storage location; Read the storage path, timestamp, and coordinates of a 3D point cloud image fragment, and generate a data packet containing the index information of the stored point cloud image fragment based on the read information; The data packet includes a list of point cloud image segments. Each element of the point cloud image list includes: the storage path of the point cloud image segment, the timestamp and coordinates of the start point cloud frame, the timestamp and coordinates of the end point cloud frame, and the coordinates of all point cloud frames of the current point cloud image segment.
7. A three-dimensional point cloud data processing system, characterized in that, include: The first module is configured to: acquire 3D point cloud data collected by the vehicle-mounted LiDAR at each moment, acquire the real-time pose of the vehicle-mounted LiDAR and the real-time coordinates of the vehicle; and construct a list of point cloud frames to be processed based on the acquired data. The second module is configured to: construct an initial starting point cloud frame list based on the list of point cloud frames to be processed; construct an ending point cloud frame list based on the initial starting point cloud frame list and the list of point cloud frames to be processed, and update the initial starting point cloud frame list to obtain an updated starting point cloud frame list; and extract the corresponding ending point cloud frame and starting point cloud frame from the ending point cloud frame list and the updated starting point cloud frame list. Extract all point cloud frames whose acquisition time is between the start point cloud frame and the end point cloud frame from the list of point cloud frames to be processed. Merge all point cloud frames between the start point cloud frame and the end point cloud frame, and merge the start point cloud frame and the end point cloud frame to obtain the original 3D point cloud image fragments. Perform denoising processing on each original 3D point cloud image fragment to obtain the processed 3D point cloud image fragments. Based on the initial starting point cloud frame list and the point cloud frame list to be processed, an ending point cloud frame list is constructed. Simultaneously, the initial starting point cloud frame list is updated to obtain an updated starting point cloud frame list. This results in a starting point cloud frame list and an ending point cloud frame list with corresponding equal distance intervals. Specifically, this includes: 3-a1: Set the distance interval between the starting point cloud frame and the corresponding ending point cloud frame. ; 3-a2: Create an empty list named "End Point Cloud Frame List"; 3-a3: Traverse the initial starting point cloud frame list in ascending order of timestamp, and for each element in the initial starting point cloud frame list... Iterate through the list of point cloud frames to be processed. Assume a set of point cloud frames is taken from the list of point cloud frames to be processed. The collection time is in The first group after that satisfied of Add to the end point cloud frame list; where, for and coordinate spacing, timestamp greater than timestamp; If a satisfactory result is not found after iterating through the list of point cloud frames to be processed. of Then it is believed that from Initially, it was unable to generate data that met the set distance interval. The point cloud image fragment, Remove from the starting point cloud frame list; 3-a4: Repeat 3-a3 until all elements in the initial starting point cloud frame list have been traversed, thus obtaining the ending point cloud frame list and the updated starting point cloud frame list; Alternatively, based on the initial starting point cloud frame list and the point cloud frame list to be processed, an ending point cloud frame list is constructed. Simultaneously, the initial starting point cloud frame list is updated to obtain an updated starting point cloud frame list. This results in a starting point cloud frame list and an ending point cloud frame list with corresponding time intervals. Specifically, this includes: 3-b1: Set the time interval between the starting point cloud frame and the corresponding ending point cloud frame. ; 3-b2: Create an empty list named "End Point Cloud Frame List"; 3-b3: Traverse the initial starting point cloud frame list in ascending order of timestamp, and for each element in the initial starting point cloud frame list... Iterate through the list of point cloud frames to be processed. Assume a set of point cloud frames is taken from the list of point cloud frames to be processed. The collection time is in The first group after that satisfied of Add to the end point cloud frame list; where, for and timestamp difference, timestamp greater than timestamp; If after iterating through the list of point cloud frames to be processed, no matching frame is found... of Then it is believed that from Initially, it was unable to generate data that met the set time interval. The point cloud image fragment, Remove from the starting point cloud frame list; 3-b4: Repeat 3-b3 until all elements in the initial starting point cloud frame list have been traversed, thus obtaining the ending point cloud frame list and the updated starting point cloud frame list. The third module is configured to: construct a data index table based on the processed 3D point cloud image fragments, and upload the data index table and the processed 3D point cloud image fragments to the fourth module via wireless transmission. The fourth module is configured to receive and store data.
8. A three-dimensional point cloud data processing system as described in claim 7, characterized in that, The first, second, third, and fourth modules can each work independently, and one or more modules can constitute different subsystems to perform different data processing tasks, including but not limited to: Example 1: The first, second and third modules are combined to form a 3D point cloud data processing system. The 3D point cloud data processing system is used to realize the automated acquisition and processing of 3D point cloud data and generate 3D point cloud image fragments and index tables. Example 2: The first module, the second module, and the third module are combined to form a three-dimensional point cloud data processing subsystem. There are one or more three-dimensional point cloud data processing subsystems. Each three-dimensional point cloud data processing subsystem uploads its own data to the fourth module. The fourth module is responsible for the centralized storage and distribution of data. The fourth module and all three-dimensional point cloud data processing devices together form a three-dimensional point cloud data processing system. Example 3: The second and third modules are combined to form a 3D point cloud data processing system. The 3D point cloud data processing system directly processes the data stored in a computer-readable storage medium to generate 3D point cloud image fragments and an index table. The data stored in the computer-readable storage medium includes: 3D point cloud data, the real-time pose of the vehicle-mounted LiDAR, and the real-time coordinates of the vehicle.
Citation Information
Patent Citations
Point cloud data processing method and device and storage medium
CN111273314A
Lane line extraction method and device based on laser radar, medium and equipment
CN115372987A