Point cloud processing verification method, device, equipment and storage medium
By acquiring raw point cloud and virtual motion data collected by lidar, and processing the raw point cloud using different point cloud processing algorithms, the problem of low verification accuracy of point cloud processing algorithms is solved, and higher verification accuracy is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-18
- Publication Date
- 2026-04-07
AI Technical Summary
The accuracy of point cloud processing algorithms in the existing technology is low, mainly because motion data is difficult to reproduce, making it difficult for the same vehicle to generate completely identical motion data.
By acquiring raw point cloud and virtual motion data collected by lidar, different point cloud processing algorithms are used to process the raw point cloud to obtain the first point cloud and the second point cloud, which are then compared to verify the correctness of the point cloud processing algorithm.
This improves the accuracy of point cloud processing verification, ensuring that the verification results of point cloud processing algorithms are more reliable and accurate.
Smart Images

Figure CN115908160B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of automatic driving, and in particular to a point cloud processing verification method and device, equipment and a storage medium. BACKGROUND
[0002] Point cloud data is a data set of space points scanned by a laser radar device, which can be used as basic data for environmental perception and for different point cloud processing algorithms, such as point cloud distortion correction algorithms and calibration algorithms.
[0003] In the optimization iteration process of an algorithm, the correctness of the algorithm usually needs to be verified. The existing technology generally generates a set of data through a benchmark algorithm, and then generates another set of data through the algorithm to be verified, and then converts and compares the two sets of data to determine the correctness of the algorithm. However, since motion data is difficult to reproduce, the same vehicle is also difficult to generate completely identical motion data, and therefore the existing technology has the technical problem of low accuracy of algorithm verification. SUMMARY
[0004] The present application provides a point cloud processing verification method, device, equipment and storage medium, which can improve the accuracy of point cloud processing verification.
[0005] The first aspect of the present application provides a point cloud processing verification method, comprising: acquiring original point cloud collected by a laser radar and determining virtual motion data; based on the virtual motion data, processing the original point cloud through a first point cloud processing algorithm to obtain a first point cloud, and processing the original point cloud through a second point cloud processing algorithm to obtain a second point cloud; comparing the first point cloud and the second point cloud to obtain a target comparison result, which is used to verify the first point cloud processing algorithm and / or the second point cloud processing algorithm.
[0006] Optionally, the determining of the virtual motion data comprises: acquiring actual motion data of a vehicle at a collection time of the original point cloud according to the collection time; determining target motion data in the actual motion data according to the first point cloud processing algorithm and the type of the first point cloud processing algorithm, and determining the target motion data as the virtual motion data.
[0007] Optionally, the determining target motion data in the actual motion data according to the first point cloud processing algorithm and the type of the first point cloud processing algorithm, and determining the target motion data as virtual motion data comprises: determining first motion data in the actual motion data according to the type of the first point cloud processing algorithm, and determining the first motion data as virtual motion data corresponding to the first point cloud processing algorithm; determining second motion data in the actual motion data according to the type of the second point cloud processing algorithm, and determining the second motion data as virtual motion data corresponding to the second point cloud processing algorithm.
[0008] Optionally, the first point cloud processing algorithm is used to indicate a first point cloud de-distortion algorithm; and the second point cloud processing algorithm is used to indicate a second point cloud de-distortion algorithm.
[0009] Optionally, the processing the original point cloud through the first point cloud processing algorithm based on the virtual motion data to obtain a first point cloud, and processing the original point cloud through the second point cloud processing algorithm to obtain a second point cloud comprises: publishing the virtual motion data through a preset message publishing mechanism, and performing real-time point cloud de-distortion processing on the original point cloud and the virtual motion data through the first point cloud de-distortion algorithm to obtain a first point cloud; the first point cloud de-distortion algorithm is used to indicate an algorithm for driving real-time processing of point clouds by the laser radar; and performing point cloud de-distortion processing on the original point cloud and the virtual motion data through a second point cloud de-distortion algorithm to obtain a second point cloud; the second point cloud de-distortion algorithm is used to indicate a local algorithm.
[0010] Optionally, the comparing the first point cloud and the second point cloud to obtain a target comparison result comprises: comparing sizes of the first point cloud and the second point cloud to obtain a first comparison result; if the first comparison result indicates that the sizes of the first point cloud and the second point cloud are different, determining that the first comparison result is a target comparison result; the target comparison result is used to indicate that the first point cloud processing algorithm or the second point cloud processing algorithm is abnormal; and if the first comparison result indicates that the sizes of the first point cloud and the second point cloud are the same, comparing target point clouds at the same positions in the first point cloud and the second point cloud to obtain a target comparison result.
[0011] Optionally, the comparing the target point clouds at the same positions in the first point cloud and the second point cloud obtains a target comparison result, and the target comparison result is used to indicate that the first point cloud processing algorithm or the second point cloud processing algorithm is abnormal if the target comparison result is different from the first point cloud and the second point cloud.
[0012] Optionally, the obtaining the original point cloud collected by the laser radar comprises: obtaining a data packet of a unit angle collected by the laser radar based on a user datagram protocol; disassembling the data packet, and performing full-angle splicing on the disassembled data packet according to a heading angle of the laser radar to obtain the original point cloud.
[0013] The second aspect of the present application provides a point cloud processing verification device, comprising:
[0014] The obtaining module is configured to obtain an original point cloud collected by a laser radar and determine virtual motion data.
[0015] The processing module is configured to process the original point cloud by a first point cloud processing algorithm based on the virtual motion data to obtain a first point cloud, and process the original point cloud by a second point cloud processing algorithm to obtain a second point cloud.
[0016] The comparison module is configured to compare the first point cloud and the second point cloud to obtain a target comparison result, and the target comparison result is used to verify the first point cloud processing algorithm and / or the second point cloud processing algorithm.
[0017] Optionally, the obtaining module comprises:
[0018] The obtaining unit is configured to obtain actual motion data of a vehicle at a collection time of the original point cloud according to the collection time.
[0019] The determining unit is configured to determine target motion data in the actual motion data according to the first point cloud processing algorithm and a type of the first point cloud processing algorithm, and determine the target motion data as the virtual motion data.
[0020] Optionally, the determining unit is specifically configured to: determine first motion data in the actual motion data according to a type of the first point cloud processing algorithm, and determine the first motion data as virtual motion data corresponding to the first point cloud processing algorithm; determine second motion data in the actual motion data according to a type of the second point cloud processing algorithm, and determine the second motion data as virtual motion data corresponding to the second point cloud processing algorithm.
[0021] Optionally, the first point cloud processing algorithm is used to indicate a first point cloud de-distortion algorithm; and the second point cloud processing algorithm is used to indicate a second point cloud de-distortion algorithm.
[0022] Optionally, the processing module is further configured to: publish the virtual motion data through a preset message publishing mechanism, and perform real-time point cloud de-distortion processing on the original point cloud and the virtual motion data through the first point cloud de-distortion algorithm to obtain a first point cloud; the first point cloud de-distortion algorithm is used to indicate an algorithm for driving real-time processing of point clouds of the laser radar; and perform point cloud de-distortion processing on the original point cloud and the virtual motion data through a second point cloud de-distortion algorithm to obtain a second point cloud; the second point cloud de-distortion algorithm is used to indicate a local algorithm.
[0023] Optionally, the comparison module includes:
[0024] a first comparison unit, configured to compare sizes of the first point cloud and the second point cloud to obtain a first comparison result;
[0025] a first determining unit, configured to determine, if the first comparison result indicates that the sizes of the first point cloud and the second point cloud are different, that the first comparison result is a target comparison result; the target comparison result is used to indicate that the first point cloud processing algorithm or the second point cloud processing algorithm is abnormal;
[0026] a second comparison unit, configured to, if the first comparison result indicates that the sizes of the first point cloud and the second point cloud are the same, compare target point clouds at the same positions in the first point cloud and the second point cloud to obtain a target comparison result.
[0027] Optionally, the second comparison unit is specifically configured to: obtain target point clouds corresponding to the first point cloud and the second point cloud respectively by respectively obtaining point clouds of a plurality of target lines in the first point cloud and the second point cloud; compare the target point clouds corresponding to the first point cloud and the second point cloud respectively; and determine that the target comparison result indicates that the first point cloud processing algorithm or the second point cloud processing algorithm is abnormal if the target point clouds corresponding to the first point cloud and the second point cloud respectively are different.
[0028] Optionally, the acquisition module is further configured to acquire, based on a user datagram protocol, a data packet of a unit angle collected by the laser radar; disassemble the data packet, and perform full-angle splicing on the disassembled data packet according to a heading angle of the laser radar to obtain an original point cloud.
[0029] The third aspect of the present application provides a point cloud processing verification device, comprising a memory and at least one processor, the memory storing a computer program; the at least one processor invokes the computer program in the memory to enable the point cloud processing verification device to perform the point cloud processing verification method described above.
[0030] The fourth aspect of the present application provides a computer readable storage medium, the computer readable storage medium storing a computer program, when the computer program is run on a computer, enabling the computer to perform the point cloud processing verification method described above.
[0031] In the technical solution provided by the present application, the original point cloud collected by the laser radar is acquired, and virtual motion data is determined; based on the virtual motion data, the original point cloud is processed by a first point cloud processing algorithm to obtain a first point cloud, and the original point cloud is processed by a second point cloud processing algorithm to obtain a second point cloud; the first point cloud and the second point cloud are compared to obtain a target comparison result, and the target comparison result is used to verify the first point cloud processing algorithm and / or the second point cloud processing algorithm. In the embodiment of the present application, the original point cloud collected by the laser radar and the virtual motion data are first acquired, and then the original point cloud and the virtual motion data are processed by different point cloud processing algorithms to obtain different point clouds, and then the different point clouds are compared, so as to verify whether the point cloud processing algorithm is correct relative to the reference algorithm through the comparison result, which can improve the accuracy of point cloud processing verification. BRIEF DESCRIPTION OF DRAWINGS
[0032] Figure 1 An embodiment of the point cloud processing verification method in the present application is shown in the figure;
[0033] Figure 2 Another embodiment of the point cloud processing verification method in the present application is shown in the figure;
[0034] Figure 3 An embodiment of the point cloud processing verification device in the present application is shown in the figure;
[0035] Figure 4 Another embodiment of the point cloud processing verification device in the present application is shown in the figure;
[0036] Figure 5 An embodiment of the point cloud processing verification device in the present application is shown in the figure. DETAILED DESCRIPTION
[0037] The embodiment of the present application provides a point cloud processing verification method and device, equipment and a storage medium, which are used for improving the accuracy of point cloud processing verification.
[0038] The terms "first", "second", "third", "fourth" and the like in the description, claims, and drawings of the present application, and those above (if any), are used to distinguish similar objects, and do not necessarily have to be described in a particular order or sequential order. It should be understood that the data used in this way can be interchanged under appropriate circumstances, so that the embodiments described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "include" or "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device including a series of steps or units does not have to be limited to those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0039] It can be understood that the execution subject of the present application can be a point cloud processing verification device, and can also be a terminal or a server, and the specific embodiments are not limited herein. The embodiment of the present application takes the server as the execution subject for example.
[0040] For ease of understanding, the specific flow of the embodiment of the present application is described below. Please refer to Figure 1 One embodiment of the point cloud processing verification method in the embodiment of the present application includes:
[0041] 101, acquiring original point cloud collected by a laser radar, and determining virtual motion data;
[0042] It should be noted that the original point cloud is a frame of point cloud collected by the lidar at any time, including the data collected by the lidar around a circle, when the lidar collects the original point cloud, the collection time of the original point cloud is recorded, and the vehicle motion data at the collection time is determined as the virtual motion data, therefore, the virtual motion data is used to indicate the motion data of the vehicle at the collection time of the original point cloud. It can be understood that since a frame of point cloud is not generated in an instant, for example, it usually takes 100 milliseconds to collect a frame of point cloud. Therefore, in an embodiment, the virtual motion data is used to indicate the motion data of the vehicle at the end collection time of the original point cloud, for example, assuming that the timestamp of the start collection time of the original point cloud is 1664192637261, 1664192637261+100=1664192637361, then the virtual motion data is the motion data of the vehicle at 1664192637361, which is not limited here. By corresponding the point cloud and the motion data at the millisecond level, the motion state of the vehicle when the point cloud is generated can be accurately obtained, thereby avoiding the error caused by the time difference and improving the accuracy of point cloud processing verification.
[0043] It can be understood that the topic communication mechanism in the autonomous driving system is a kind of point-to-point one-way communication mode, the data producer publishes information, the data consumer subscribes to the data producer and obtains the information published by the data producer, thereby realizing the transmission of data. In the autonomous driving system, different nodes can transmit information through the topic communication mechanism, for example, node A publishes information to topic1, node B subscribes to topic1 to obtain the information published by node A. Based on this, in an embodiment, the virtual motion data is obtained by subscribing to the vehicle motion data (i.e. actual motion data) published by the target node. For example, a node in the robot operating system (ROS) can be used as a target node for publishing vehicle motion data, which is not limited here.
[0044] In an embodiment, the virtual motion data contains all data in the actual motion data, including but not limited to steering wheel data, brake data, gear state data, positioning group data, Global Positioning System (GPS) driving data, Drive By Wire (DBW) data, speed, acceleration, rotation, angular velocity, and other data for representing the motion state of the vehicle. In another embodiment, the virtual motion data contains part of the data in the actual motion data, for example, the virtual motion data only contains the speed, acceleration, and rotation in the actual motion data, and the virtual motion data can also be data obtained after operation or conversion based on the actual motion data, for example, unit conversion of the speed in the actual motion data, which is not limited here.
[0045] 102. Based on the virtual motion data, the original point cloud is processed by a first point cloud processing algorithm to obtain a first point cloud, and the original point cloud is processed by a second point cloud processing algorithm to obtain a second point cloud;
[0046] It can be understood that, since two vehicles cannot or are difficult to produce exactly the same motion data, the virtual motion data is a record of the actual motion data that is fleeting, and is used in point cloud processing mode or point cloud verification. Once the target to be verified is determined, a reference result can be generated by the actual motion data, a test result can be generated by the virtual motion data, and finally the test result and the reference result are compared to verify the target. Based on this, in this step, if the first point cloud is the reference result, then the second point cloud is the test result. This step includes: processing the original point cloud and the actual motion data by the first point cloud processing algorithm to obtain the first point cloud; processing the original point cloud and the virtual motion data by the second point cloud processing algorithm to obtain the second point cloud. If the second point cloud is the reference result, then the first point cloud is the test result. This step includes: processing the original point cloud and the virtual motion data by the first point cloud processing algorithm to obtain the first point cloud; processing the original point cloud and the actual motion data by the second point cloud processing algorithm to obtain the second point cloud. Based on the first point cloud and the second point cloud, the first point cloud and / or the second point cloud can be verified, or the first point cloud processing algorithm and / or the second point cloud processing algorithm can be verified, depending on which data is used as the reference.
[0047] It should be noted that the first point cloud processing algorithm and the second point cloud processing algorithm are used to indicate different processing manners with the same processing purpose, for example, calibration manner, coordinate system conversion manner, motion distortion removal manner, motion distortion addition manner, projection manner, fusion manner, segmentation manner, mapping to image manner, etc. As an example but not limitation, assuming that the first point cloud processing algorithm and the second point cloud processing algorithm are used to indicate different manners of removing motion distortion of the point cloud, then the first point cloud obtained by processing the original point cloud through the first point cloud processing algorithm is the point cloud processed by the motion distortion removal manner corresponding to the first point cloud processing algorithm, the second point cloud obtained by processing the original point cloud through the second point cloud processing algorithm is the point cloud processed by the motion distortion removal manner corresponding to the second point cloud processing algorithm, the different manners of removing motion distortion may produce the same result or different result, thus the processing manner of the point cloud can be verified.
[0048] 103. Comparing the first point cloud and the second point cloud to obtain a target comparison result, the target comparison result being used to verify the first point cloud processing algorithm and / or the second point cloud processing algorithm.
[0049] In this step, the target comparison result obtained by comparing the first point cloud and the second point cloud can be used to indicate whether the first point cloud and the second point cloud are the same, and further can be used to verify the first point cloud and the second point cloud and verify the first point cloud processing algorithm and / or the second point cloud processing algorithm. As an example but not limitation, assuming that the first point cloud is the reference data, and the comparison of the first point cloud and the second point cloud shows that they are not the same, then it is indicated that the second point cloud is incorrect, and further it is indicated that the second point cloud processing algorithm is incorrect, and vice versa, if they are the same, it is indicated that the second point cloud is correct, and further it is indicated that the second point cloud processing algorithm is correct. Similarly, if the second point cloud is the reference data, then the first point cloud and the first point cloud processing algorithm can be verified, and the specific implementation is not limited here.
[0050] In an implementation, in order to improve the comparison efficiency of the point cloud, this step includes: comparing the first point cloud and the second point cloud one by one, if one of the currently compared point clouds is different, it is determined that the first point cloud and the second point cloud are different, and the target comparison result is obtained. For example, in the process of comparing the first point cloud and the second point cloud one by one, when the third point cloud in the third row is compared, the point cloud at this position in the first point cloud is different from the point cloud at this position in the second point cloud, then the comparison can be ended, and it is directly determined that the first point cloud and the second point cloud are different, and the target comparison result is obtained.
[0051] In the embodiment of the present application, first, the original point cloud collected by the laser radar and the virtual motion data are acquired, and then the original point cloud and the virtual motion data are processed by different point cloud processing algorithms respectively to obtain different point clouds, and then the different point clouds are compared to verify whether the point cloud processing algorithm is correct relative to the benchmark algorithm through the comparison result, thereby improving the accuracy of point cloud processing verification.
[0052] Please refer to Figure 2 Another embodiment of the point cloud processing verification method in the embodiment of the present application includes:
[0053] 201. Acquire the original point cloud collected by the laser radar, and determine the virtual motion data;
[0054] In an embodiment, the step 201 of acquiring the original point cloud collected by the laser radar includes: acquiring the data packet of unit angle collected by the laser radar based on the user datagram protocol; disassembling the data packet, and performing full-angle splicing on the disassembled data packet according to the heading angle of the laser radar to obtain the original point cloud. It can be understood that after the laser radar is connected to the host computer, the driver of the laser radar is started, and then the laser radar can collect UDP data packets based on the user datagram protocol (User Datagram Protocol, UDP). The UDP data packets are collected in the form of unit angle, for example, assuming that the unit angle is 0.6 degrees, that is, each UDP data packet contains 0.6 degrees of data, then 360 / 0.6=600 UDP data packets are required for a frame of point cloud. The unit angle UDP data packets collected by the laser radar are disassembled, and then the disassembled UDP data packets are spliced by 360° through the heading angle, so that the original point cloud, that is, the point cloud data of a frame, is obtained. This embodiment can quickly obtain the most original point cloud data, thereby improving the efficiency and accuracy of point cloud processing verification.
[0055] In an embodiment, the determining the virtual motion data comprises: obtaining actual motion data of the vehicle at the collection time of the original point cloud according to the collection time of the original point cloud; determining target motion data in the actual motion data according to the first point cloud processing algorithm and the type of the first point cloud processing algorithm, and determining the target motion data as the virtual motion data. It can be understood that different point cloud processing algorithms require different data, for example, the data required by the algorithm for removing motion distortion of the point cloud can include vehicle speed, rotation angle, gear position, etc., and can also include positioning data, vehicle speed, acceleration, etc. Therefore, in this embodiment, the target motion data is extracted from all actual motion data of the vehicle according to the first point cloud processing algorithm and the type of the first point cloud processing algorithm, and the target motion data is determined as the virtual motion data for subsequent point cloud processing algorithms. In this embodiment, the first point cloud processing algorithm and the type of the first point cloud processing algorithm can be pre-marked, for example, point cloud processing algorithms with the same required data are marked as the same type A, and the specific details are not limited here.
[0056] Further, the determining the target motion data in the actual motion data according to the first point cloud processing algorithm and the type of the first point cloud processing algorithm, and determining the target motion data as the virtual motion data comprises: determining first motion data in the actual motion data according to the type of the first point cloud processing algorithm, and determining the first motion data as the virtual motion data corresponding to the first point cloud processing algorithm; determining second motion data in the actual motion data according to the type of the second point cloud processing algorithm, and determining the second motion data as the virtual motion data corresponding to the second point cloud processing algorithm. It can be understood that the first point cloud processing algorithm and the second point cloud processing algorithm can correspond to different virtual motion data respectively, and when performing point cloud processing, the corresponding processing is performed through the respective corresponding virtual motion data to obtain the respective corresponding point cloud processing results. Therefore, in this embodiment, the first motion data in the actual motion data is determined as the virtual motion data corresponding to the first point cloud processing algorithm according to the type of the first point cloud processing algorithm, and the second motion data in the actual motion data is determined as the virtual motion data corresponding to the second point cloud processing algorithm according to the type of the second point cloud processing algorithm, wherein the first motion data and the second motion data are different, that is, the virtual motion data corresponding to the first point cloud processing algorithm and the virtual motion data corresponding to the second point cloud processing algorithm are different, so that the point cloud processing algorithms with different required data can obtain different virtual motion data, so that the verification of the point cloud processing is suitable for different types of algorithms, and the verification method is more flexible.
[0057] 202. Publish virtual motion data through a preset message publishing mechanism, and perform real-time point cloud distortion removal processing on the original point cloud and virtual motion data through the first point cloud distortion removal algorithm to obtain the first point cloud; the first point cloud processing algorithm is used to instruct the first point cloud distortion removal algorithm; the first point cloud distortion removal algorithm is used to instruct the algorithm for real-time point cloud processing driven by the lidar.
[0058] In this step, to improve the real-time performance of point cloud processing, virtual motion data is published to the target topic based on a message publishing mechanism. Virtual motion data is then acquired in real-time by subscribing to the target topic. A first point cloud distortion correction algorithm is then used to perform real-time point cloud distortion correction on the original point cloud and the virtual motion data, resulting in the first point cloud. In this embodiment, the first point cloud distortion correction algorithm is a real-time point cloud processing algorithm driven by LiDAR. It is an on-board algorithm, which can be understood as a prototype algorithm currently used in a production environment. It is a validated benchmark algorithm. This step uses the first point cloud distortion correction algorithm to perform real-time point cloud distortion correction on the original point cloud and the virtual motion data. The resulting first point cloud serves as the benchmark data for subsequent verification of the second point cloud and the second point cloud distortion correction algorithm.
[0059] 203. The original point cloud and virtual motion data are processed by the second point cloud distortion correction algorithm to obtain the second point cloud; the second point cloud distortion correction algorithm is used to indicate the local algorithm; the second point cloud processing algorithm is used to indicate the second point cloud distortion correction algorithm;
[0060] In contrast to step 203 above, the second point cloud distortion correction algorithm is used to indicate the local algorithm. It is an off-board algorithm, which can be understood as the algorithm used in the test environment. It is the target algorithm to be verified. In this step, the original point cloud and virtual motion data are processed by the second point cloud distortion correction algorithm to obtain the second point cloud as the data to be verified, which is used to compare and verify with the first point cloud.
[0061] 204. Compare the first point cloud and the second point cloud to obtain the target comparison result. The target comparison result is used to verify the first point cloud processing algorithm and / or the second point cloud processing algorithm.
[0062] In an embodiment, the step 204 comprises: comparing the sizes of the first point cloud and the second point cloud to obtain a first comparison result; if the first comparison result indicates that the sizes of the first point cloud and the second point cloud are different, determining that the first comparison result is a target comparison result; the target comparison result is used to indicate that the first point cloud processing algorithm or the second point cloud processing algorithm is abnormal; if the first comparison result indicates that the sizes of the first point cloud and the second point cloud are the same, comparing the target point clouds at the same positions in the first point cloud and the second point cloud to obtain a target comparison result. In this embodiment, since the data amount of the point cloud is large, in order to improve the efficiency of the point cloud comparison, the sizes of the first point cloud and the second point cloud are compared first, for example, the length, width, height, row number, column number, etc. of the two, if the sizes of the two are different, it can be directly determined that the two are different, and the target comparison result is obtained, which indicates that the first point cloud processing algorithm or the second point cloud processing algorithm is abnormal, and whether the first point cloud processing algorithm is abnormal or the second point cloud processing algorithm is abnormal depends on which reference data is, which is not limited here. If the sizes of the first point cloud and the second point cloud are the same, the specific contents of the two need to be further compared, that is, the point clouds at the same positions in the two are compared, so as to obtain the target comparison result. This embodiment can quickly determine the point clouds that are not the same based on the size of the point cloud, so as to quickly obtain the comparison result of the point cloud and improve the efficiency of the point cloud processing verification.
[0063] Further, the target point clouds in the same positions in the first point cloud and the second point cloud are compared to obtain a target comparison result, including: obtaining point clouds of multiple target rows in the first point cloud and the second point cloud respectively to obtain target point clouds corresponding to the first point cloud and the second point cloud respectively; comparing the target point clouds corresponding to the first point cloud and the second point cloud respectively; and if there is a difference between the target point clouds corresponding to the first point cloud and the second point cloud respectively, determining that the target comparison result indicates that the first point cloud processing algorithm or the second point cloud processing algorithm is abnormal. In this embodiment, in the case that the sizes of the first point cloud and the second point cloud are the same, in order to further improve the comparison efficiency of the point clouds of the same size, the point clouds of multiple target rows in the first point cloud and the second point cloud are obtained respectively, wherein the point clouds of multiple target rows in the first point cloud and the second point cloud can be obtained randomly, or the point clouds of multiple target rows in the first point cloud and the second point cloud can be obtained through a preset acquisition rule, for example, odd rows, even rows, the first 100 rows, the last 50 rows, etc., and the specific implementation is not limited here. The target row is used to indicate a row of point clouds of any row number in the first point cloud and the second point cloud, the multiple target rows include target rows of a preset number of rows, and the multiple target rows do not include point clouds of repeated row numbers. By comparing the target point clouds corresponding to the first point cloud and the second point cloud respectively row by row, it is determined whether there is a difference between the target point clouds corresponding to the first point cloud and the second point cloud respectively, if there is a difference between the target point clouds corresponding to the first point cloud and the second point cloud respectively, it is determined that the target comparison result indicates that the first point cloud processing algorithm or the second point cloud processing algorithm is abnormal, and if there is no difference between the target point clouds corresponding to the first point cloud and the second point cloud respectively, it is determined that the target comparison result indicates that the first point cloud processing algorithm or the second point cloud processing algorithm is not abnormal. Similarly, the point clouds of multiple target columns in the first point cloud and the second point cloud can also be compared, and the comparison mode is the same as the comparison mode of the target row described above, and the specific implementation is not repeated here.
[0064] In the embodiment of the present application, first, the original point cloud collected by the laser radar and the virtual motion data are obtained, and then the original point cloud and the virtual motion data are processed by different point cloud distortion removal algorithms to obtain different distortion-free point clouds, and then the different distortion-free point clouds are compared to verify whether the point cloud distortion removal algorithm is correct relative to the reference distortion removal algorithm, thereby improving the accuracy of point cloud distortion removal verification.
[0065] The point cloud processing verification method in the embodiment of the present application is described above, and the point cloud processing verification device in the embodiment of the present application is described below. Please refer to Figure 3 In an embodiment of the point cloud processing verification device in the embodiment of the present application,
[0066] The acquisition module 301 is configured to acquire the original point cloud collected by the laser radar and determine the virtual motion data.
[0067] The processing module 302 is configured to process the original point cloud by a first point cloud processing algorithm based on the virtual motion data to obtain a first point cloud, and process the original point cloud by a second point cloud processing algorithm to obtain a second point cloud.
[0068] The comparison module 303 is configured to compare the first point cloud and the second point cloud to obtain a target comparison result, and the target comparison result is used to verify the first point cloud processing algorithm and / or the second point cloud processing algorithm.
[0069] In the embodiment of the present application, the original point cloud collected by the laser radar and the virtual motion data are first obtained, and then the original point cloud and the virtual motion data are processed by different point cloud processing algorithms to obtain different point clouds, and then the different point clouds are compared, so that whether the point cloud processing algorithm is correct relative to the reference algorithm is verified through the comparison result, and the accuracy of point cloud processing verification can be improved.
[0070] Please refer to Figure 4 Another embodiment of the point cloud processing verification device in the embodiment of the present application includes:
[0071] The acquisition module 301 is configured to acquire the original point cloud collected by the laser radar and determine virtual motion data.
[0072] The processing module 302 is configured to process the original point cloud by a first point cloud processing algorithm based on the virtual motion data to obtain a first point cloud, and process the original point cloud by a second point cloud processing algorithm to obtain a second point cloud.
[0073] The comparison module 303 is configured to compare the first point cloud and the second point cloud to obtain a target comparison result, and the target comparison result is used to verify the first point cloud processing algorithm and / or the second point cloud processing algorithm.
[0074] Optionally, the acquisition module 301 includes:
[0075] The acquisition unit 3011 is configured to acquire actual motion data of the vehicle at the acquisition time according to the acquisition time of the original point cloud.
[0076] The determination unit 3012 is configured to determine target motion data in the actual motion data according to the first point cloud processing algorithm and the type of the first point cloud processing algorithm, and determine the target motion data as the virtual motion data.
[0077] Optionally, the determining unit 3012 is specifically configured to: determine first motion data in the actual motion data according to a type of the first point cloud processing algorithm, and determine the first motion data as virtual motion data corresponding to the first point cloud processing algorithm; determine second motion data in the actual motion data according to a type of the second point cloud processing algorithm, and determine the second motion data as virtual motion data corresponding to the second point cloud processing algorithm.
[0078] Optionally, the first point cloud processing algorithm is used to indicate a first point cloud de-distortion algorithm; and the second point cloud processing algorithm is used to indicate a second point cloud de-distortion algorithm.
[0079] Optionally, the processing module 302 is further configured to: publish the virtual motion data through a preset message publishing mechanism, and perform real-time point cloud de-distortion processing on the original point cloud and the virtual motion data through the first point cloud de-distortion algorithm to obtain a first point cloud; the first point cloud de-distortion algorithm is used to indicate an algorithm for driving the laser radar to process point clouds in real time; and perform point cloud de-distortion processing on the original point cloud and the virtual motion data through a second point cloud de-distortion algorithm to obtain a second point cloud; the second point cloud de-distortion algorithm is used to indicate a local algorithm.
[0080] Optionally, the comparison module 303 includes:
[0081] A first comparison unit 3031 is configured to compare sizes of the first point cloud and the second point cloud to obtain a first comparison result.
[0082] A first determining unit 3032 is configured to determine that the first comparison result is a target comparison result if the first comparison result indicates that the sizes of the first point cloud and the second point cloud are different; the target comparison result is used to indicate that the first point cloud processing algorithm or the second point cloud processing algorithm is abnormal.
[0083] A second comparison unit 3033 is configured to compare target point clouds at the same positions in the first point cloud and the second point cloud to obtain a target comparison result if the first comparison result indicates that the sizes of the first point cloud and the second point cloud are the same.
[0084] Optionally, the second comparison unit 3033 is specifically configured to: obtain target point clouds corresponding to the first point cloud and the second point cloud respectively by respectively obtaining point clouds of a plurality of target rows in the first point cloud and the second point cloud; compare the target point clouds corresponding to the first point cloud and the second point cloud respectively; and determine that a target comparison result indicates that the first point cloud processing algorithm or the second point cloud processing algorithm is abnormal if the target point clouds corresponding to the first point cloud and the second point cloud respectively are different.
[0085] Optionally, the acquisition module 301 is further configured to acquire, based on a user datagram protocol, a data packet of a unit angle collected by the laser radar; disassemble the data packet, and perform full-angle splicing on the disassembled data packet according to a heading angle of the laser radar to obtain an original point cloud.
[0086] In the embodiment of the application, the original point cloud collected by the laser radar and the virtual motion data are first acquired, and then the original point cloud and the virtual motion data are respectively processed by different point cloud de-distortion algorithms to obtain different non-distorted point clouds, and the different non-distorted point clouds are compared to verify whether the point cloud de-distortion algorithm is correct relative to the reference de-distortion algorithm through the comparison result, so that the accuracy of point cloud de-distortion verification can be improved.
[0087] The above Figure 3 And Figure 4 The point cloud processing verification device in the embodiment of the application is described in detail from the perspective of a modular functional entity, and the point cloud processing verification device in the embodiment of the application is described in detail from the perspective of hardware processing.
[0088] Figure 5 Fig. 1 is a structural schematic diagram of a point cloud processing verification device provided by the embodiment of the application. The point cloud processing verification device 500 can be quite different due to different configurations or performances, and can include one or more processors (central processing units, CPUs) 510 (for example, one or more processors) and a memory 520, one or more storage media 530 (for example, one or more mass storage devices) storing application programs 533 or data 532. The memory 520 and the storage media 530 can be temporary storage or persistent storage. The programs stored in the storage media 530 can include one or more modules (not shown in the figure), and each module can include a series of computer program operations in the point cloud processing verification device 500. Furthermore, the processor 510 can be configured to communicate with the storage media 530 and execute a series of computer program operations in the storage media 530 on the point cloud processing verification device 500.
[0089] The point cloud processing verification device 500 can also include one or more power supplies 540, one or more wired or wireless network interfaces 550, one or more input and output interfaces 560, and / or one or more operating systems 531, such as Windows Serve, Mac OS X, Unix, Linux, FreeBSD, etc. Those skilled in the art can understand that Figure 5The illustrated point cloud processing verification device structure does not constitute a limitation on the point cloud processing verification device, and can include more or fewer components than illustrated, or combine certain components, or different component arrangements.
[0090] The application further provides a computer device, comprising a memory and a processor, the memory storing a computer readable computer program, and the computer readable computer program is executed by the processor to make the processor execute the steps of the point cloud processing verification method in each of the embodiments.
[0091] The application further provides a computer readable storage medium, which can be a non-volatile computer readable storage medium or a volatile computer readable storage medium, and the computer readable storage medium stores a computer program, and the computer program makes a computer execute the steps of the point cloud processing verification method when the computer program runs on the computer.
[0092] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described system, device and unit can refer to the corresponding processes in the foregoing method embodiments, which will not be described here.
[0093] The integrated unit, if realized in the form of a software function unit and sold or used as an independent product, can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the application essentially or say the part that contributes to the prior art or the whole or part of the technical solutions can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a plurality of computer programs to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the method described in each embodiment of the application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various program code storage media.
[0094] The above-described embodiments are only used to illustrate the technical solutions of the application, rather than limit them; although the application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement for part of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the application.
Claims
1. A point cloud processing verification method, characterized in that, The point cloud processing verification method includes: Acquire the raw point cloud data collected by the lidar and determine the virtual motion data; the virtual motion data is used to indicate the vehicle's motion data at the time of acquisition of the raw point cloud. Based on the virtual motion data, the original point cloud is processed by a first point cloud processing algorithm to obtain a first point cloud, and the original point cloud is processed by a second point cloud processing algorithm to obtain a second point cloud; the first point cloud processing algorithm and the second point cloud processing algorithm are used to indicate different processing methods with the same processing purpose. The first point cloud and the second point cloud are compared to obtain the target comparison result, which is used to verify the first point cloud processing algorithm and / or the second point cloud processing algorithm.
2. The point cloud processing verification method according to claim 1, characterized in that, The determination of virtual motion data includes: Based on the acquisition time of the original point cloud, obtain the actual motion data of the vehicle at the acquisition time; Based on the first point cloud processing algorithm and the type of the first point cloud processing algorithm, the target motion data in the actual motion data is determined, and the target motion data is determined as virtual motion data.
3. The point cloud processing verification method according to claim 2, characterized in that, The step of determining the target motion data in the actual motion data based on the first point cloud processing algorithm and the type of the first point cloud processing algorithm, and defining the target motion data as virtual motion data, includes: Based on the type of the first point cloud processing algorithm, the first motion data in the actual motion data is determined, and the first motion data is determined as the virtual motion data corresponding to the first point cloud processing algorithm; Based on the type of the second point cloud processing algorithm, the second motion data in the actual motion data is determined, and the second motion data is identified as the virtual motion data corresponding to the second point cloud processing algorithm.
4. The point cloud processing verification method according to claim 1, characterized in that, The first point cloud processing algorithm is used to instruct the first point cloud distortion correction algorithm; the second point cloud processing algorithm is used to instruct the second point cloud distortion correction algorithm.
5. The point cloud processing verification method according to claim 4, characterized in that, The process of processing the original point cloud using a first point cloud processing algorithm to obtain a first point cloud, and then processing the original point cloud using a second point cloud processing algorithm to obtain a second point cloud, based on the virtual motion data, includes: The virtual motion data is published through a preset message publishing mechanism, and the original point cloud and the virtual motion data are processed in real time using the first point cloud distortion correction algorithm to obtain the first point cloud; the first point cloud distortion correction algorithm is used to instruct the algorithm of the lidar driver to process the point cloud in real time. The original point cloud and the virtual motion data are processed by a second point cloud distortion correction algorithm to obtain a second point cloud; the second point cloud distortion correction algorithm is used to instruct the local algorithm.
6. The point cloud processing verification method according to claim 1, characterized in that, The step of comparing the first point cloud and the second point cloud to obtain the target comparison result includes: The dimensions of the first point cloud and the second point cloud are compared to obtain the first comparison result; If the first comparison result indicates that the sizes of the first point cloud and the second point cloud are different, then the first comparison result is determined to be the target comparison result; the target comparison result is used to indicate that there is an anomaly in the first point cloud processing algorithm or the second point cloud processing algorithm. If the first comparison result indicates that the first point cloud and the second point cloud have the same size, then the target point clouds at the same position in the first point cloud and the second point cloud are compared to obtain the target comparison result.
7. The point cloud processing verification method according to claim 6, characterized in that, The step of comparing the target point clouds at the same location in the first point cloud and the second point cloud to obtain the target comparison result includes: The point clouds of multiple target rows in the first point cloud and the second point cloud are obtained respectively to obtain the target point clouds corresponding to the first point cloud and the second point cloud respectively; The target point clouds corresponding to the first point cloud and the second point cloud are compared respectively; If there are differences between the target point clouds corresponding to the first point cloud and the second point cloud, then the target comparison result indicates that there is an anomaly in the first point cloud processing algorithm or the second point cloud processing algorithm.
8. The point cloud processing verification method according to claim 1, characterized in that, The acquisition of the original point cloud collected by the lidar includes: Based on the User Datagram Protocol, data packets per unit angle collected by the lidar are obtained; The data packet is disassembled, and the disassembled data packet is stitched together at all angles according to the heading angle of the lidar to obtain the original point cloud.
9. A point cloud processing verification device, characterized in that, The point cloud processing verification device includes: The acquisition module is used to acquire the raw point cloud collected by the lidar and determine the virtual motion data; the virtual motion data is used to indicate the vehicle's motion data at the time of acquisition of the raw point cloud. The processing module is used to process the original point cloud based on the virtual motion data using a first point cloud processing algorithm to obtain a first point cloud, and to process the original point cloud using a second point cloud processing algorithm to obtain a second point cloud; the first point cloud processing algorithm and the second point cloud processing algorithm are used to indicate different processing methods with the same processing purpose. The comparison module is used to compare the first point cloud and the second point cloud to obtain a target comparison result, which is used to verify the first point cloud processing algorithm and / or the second point cloud processing algorithm.
10. A point cloud processing verification device, characterized in that, The point cloud processing verification device includes: a memory and at least one processor, wherein the memory stores a computer program; The at least one processor invokes the computer program in the memory to cause the point cloud processing verification device to perform the point cloud processing verification method as described in any one of claims 1-8.
11. A computer-readable storage medium storing a computer program thereon, characterized in that, When the computer program is executed by the processor, it implements the point cloud processing verification method as described in any one of claims 1-8.