Evaluation method and device of point cloud data, electronic equipment and storage medium

By segmenting point cloud data into multiple point cloud segments and combining pose information for splicing, a local map is built and fitting plane is obtained, the limitations and high computational complexity of traditional point cloud splicing quality evaluation methods are solved, and the problem of high computational complexity is realized. Efficient and accurate point cloud splicing quality evaluation.

CN119444679APending Publication Date: 2025-02-14ZHEJIANG GEELY HLDG GRP CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411444266.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-16
Publication Date
2025-02-14

AI Technical Summary

Technical Problem

The traditional point cloud splicing quality evaluation method has limitations and cannot provide information that deeply and comprehensively reflects the true quality of point cloud splicing. It has high computational complexity and is inefficient in processing large-scale point cloud data, which cannot meet the needs of fast and accurate evaluation. .

Method used

By segmenting the point cloud data into multiple point cloud segments with the same time length, and combining the pose information of the point clouds in each frame for splicing, a local map is built, a fitting plane is obtained, and the splicing is determined based on the distance between the fitting plane and the point cloud. The quality of point clouds.

Benefits of technology

It reduces the computational complexity, improves processing efficiency, and provides more in-depth and accurate point cloud splicing quality information, avoiding surface or one-sided evaluation of traditional methods.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119444679A_ABST
    Figure CN119444679A_ABST
Patent Text Reader

Abstract

The invention relates to the field of data processing, in particular to a point cloud data evaluation method and device, electronic equipment and a storage medium. According to the method provided by the embodiment of the invention, firstly, when a point cloud data file is acquired, the point cloud data file is divided into a plurality of point cloud segments with the same time length, and the target spliced point cloud is obtained by splicing in combination with pose information corresponding to each frame of point cloud, and then a local map is constructed. The fragmentation processing mode avoids one-time processing of large-scale point cloud data, reduces the calculation complexity and improves the processing efficiency. And secondly, a fitting plane obtained by fitting the target point cloud in the local map is obtained, and then the quality condition of the spliced point cloud is determined based on the distance between each point of the spliced point cloud in the local map and the fitting plane. According to the method, the distribution and deviation degree of the point cloud in the space are comprehensively considered from the angle of the relation between the point cloud and the fitting plane, and deeper and more accurate quality information can be provided instead of surface or one-sided quality information of a traditional method.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of data processing, and in particular to a method, device, electronic equipment and storage medium for evaluating point cloud data. Background Art

[0002] There are many problems with traditional point cloud stitching quality evaluation methods. On the one hand, it is necessary to use specialized software or algorithm testing frameworks, which may increase the cost of use and operational complexity in practical applications. On the other hand, although evaluation methods based on point cloud density, resolution, consistency, etc. exist, they all have their own limitations. These methods can only provide surface quality information, which makes it difficult to fully and deeply reflect the true quality of point cloud stitching; or they can only evaluate from a one-sided perspective and cannot give a comprehensive quality judgment. In addition, some evaluation methods have high computational complexity and are very inefficient when processing large-scale point cloud data. They may lead to long waiting times and resource consumption, and cannot meet the needs of practical applications for fast and accurate evaluation of point cloud stitching quality. Summary of the invention

[0003] In view of this, an embodiment of the present invention provides a point cloud data evaluation method, device, electronic device and storage medium to solve the problems that the traditional point cloud splicing quality evaluation method has limitations and can only provide surface or one-sided quality information, and the high computational complexity leads to low efficiency when processing large-scale point clouds.

[0004] In a first aspect, an embodiment of the present invention provides a method for evaluating point cloud data, the method comprising:

[0005] Acquire a point cloud data file, wherein the point cloud data file includes a plurality of point cloud segments and pose information corresponding to each frame of point cloud in the point cloud segments, wherein the time length of each point cloud segment is the same;

[0006] Based on the pose information of the point cloud in each frame, the point clouds in the point cloud fragments are stitched together to obtain target stitched point clouds corresponding to the point cloud fragments, and a local map is constructed using the target stitched point clouds corresponding to each of the point cloud fragments;

[0007] Obtain a fitting plane obtained by fitting the target point cloud in the local map;

[0008] The quality of the spliced ​​point cloud is determined based on the distance between each point of the spliced ​​point cloud in the local map and the fitting plane.

[0009] Furthermore, the step of obtaining the point cloud data file includes:

[0010] Acquire a data packet to be processed, wherein the data packet includes a continuous multi-frame point cloud collected by the collection vehicle within a preset time period;

[0011] Segmenting the data packet according to the length of a preset time period to obtain a plurality of point cloud segments;

[0012] Obtaining a timestamp corresponding to each frame of point cloud in the point cloud segment;

[0013] Using the timestamp, align each frame of point cloud in the point cloud segment with the pose information in the pose information file to obtain the pose information corresponding to each frame of point cloud, wherein the pose information file includes a plurality of pose information and a timestamp corresponding to each pose information;

[0014] The point cloud data file is constructed using the point cloud in each point cloud segment and the pose information corresponding to the point cloud.

[0015] Furthermore, the step of stitching the point clouds in the point cloud segments based on the pose information of the point cloud in each frame to obtain a target stitched point cloud corresponding to the point cloud segments includes:

[0016] Determine the anchor point coordinates using the first frame point cloud in the point cloud data file, and use the anchor point coordinates to initialize the reference point in the local coordinate system;

[0017] Converting the other point clouds except the first point cloud in the point cloud data file to the local coordinate system according to the reference point, and converting the pose information corresponding to each point cloud in the point cloud data file from the original coordinate system to the local coordinate system to determine the pose of the point cloud in the local coordinate system;

[0018] splicing the point clouds in the local coordinate system according to the poses corresponding to the point clouds to obtain an original spliced ​​point cloud;

[0019] Detecting a first target point that does not need to be downsampled and a second target point that needs to be downsampled in the original spliced ​​point cloud;

[0020] Performing a downsampling operation on the second target point to obtain a downsampled second target point;

[0021] The target spliced ​​point cloud is constructed using the first target points and the downsampled second target points.

[0022] Furthermore, the detecting of the first target point that does not need to be downsampled and the second target point that needs to be downsampled in the original spliced ​​point cloud includes:

[0023] Obtain edge points in the spliced ​​point cloud;

[0024] Constructing a map grid using the edge points, and determining a grid center of the map grid;

[0025] Determine a first distance between each point in the spliced ​​point cloud and the center of the grid in a three-dimensional direction;

[0026] Comparing a first distance of each point from the center of the grid in a three-dimensional direction with a semi-axis length of the map grid;

[0027] Determine a point whose first distance from the center of the grid in the three-dimensional direction is greater than the semi-axis length as a first target point that does not need to be downsampled, and determine a point whose first distance from the center of the grid in any direction in the three-dimensional direction is less than or equal to the semi-axis length as a third target point;

[0028] A second target point that needs to be downsampled is detected among the third target points.

[0029] Further, the detecting the second target point that needs to be downsampled among the third target points includes:

[0030] Acquire an adjacent target point of the third target point, and determine a second distance between the adjacent target point and the center of the grid in a three-dimensional direction;

[0031] If the second distance of the adjacent target point from the center of the grid in the three-dimensional direction is less than the first distance of the third target point from the center of the grid in the three-dimensional direction, it is determined that the third target point is a redundant point that does not need to be downsampled;

[0032] Or, if the second distance of the adjacent target point from the grid center in the three-dimensional direction is greater than or equal to the first distance of the third target point from the grid center in the three-dimensional direction, the third target point is used as the second target point that needs to be downsampled.

[0033] Furthermore, the obtaining of the fitting plane obtained by fitting the target point cloud in the local map includes:

[0034] Selecting a target point cloud from the spliced ​​point cloud in the local map using a point cloud selection box;

[0035] The fitting plane is obtained by fitting using the target point cloud.

[0036] Furthermore, determining the quality of the spliced ​​point cloud based on the distance between each point of the spliced ​​point cloud in the local map and the fitting plane includes:

[0037] Calculating the distance between each point in the spliced ​​point cloud in the local map and the fitting plane;

[0038] Calculating error statistics using the distance between each point and the fitting plane;

[0039] The error statistic is used to determine the quality of the spliced ​​point cloud.

[0040] In a second aspect, an embodiment of the present invention provides a point cloud data evaluation device, the device comprising:

[0041] An acquisition module, used for acquiring a point cloud data file, wherein the point cloud data file includes a plurality of point cloud segments and the pose information corresponding to each frame of point cloud in the point cloud segments, wherein the time length of each point cloud segment is the same;

[0042] A stitching module, used for stitching the point clouds in the point cloud segments based on the pose information of the point cloud in each frame, obtaining target stitching point clouds corresponding to the point cloud segments, and constructing a local map using the target stitching point clouds corresponding to each point cloud segment;

[0043] A processing module, used for obtaining a fitting plane obtained by fitting the target point cloud in the local map;

[0044] The evaluation module is used to determine the quality of the spliced ​​point cloud based on the distance between each point of the spliced ​​point cloud in the local map and the fitting plane.

[0045] In a third aspect, an embodiment of the present invention provides an electronic device, comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, computer instructions being stored in the memory, and the processor executing the method of the first aspect or any corresponding embodiment thereof by executing the computer instructions.

[0046] In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the method of the first aspect or any corresponding embodiment thereof.

[0047] The method provided in the embodiment of the present application first obtains the point cloud data file and divides it into multiple point cloud segments of the same time length, and combines the pose information corresponding to each frame of the point cloud to obtain the target spliced ​​point cloud, and then constructs a local map. This segmented processing method avoids processing large-scale point cloud data at one time, reduces computational complexity, and improves processing efficiency. Secondly, by obtaining the fitting plane obtained by fitting the target point cloud in the local map, the quality of the spliced ​​point cloud is determined based on the distance between each point of the spliced ​​point cloud in the local map and the fitting plane. From the perspective of the relationship between the point cloud and the fitting plane, the distribution and deviation of the point cloud in space are comprehensively considered, which can provide more in-depth and accurate quality information, rather than the superficial or one-sided quality information of traditional methods. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0049] Figure 1 is a schematic flow chart of a method for evaluating point cloud data according to some embodiments of the present invention;

[0050] Figure 2 is a schematic diagram of segmenting a data packet according to some embodiments of the present invention;

[0051] Figure 3 is a schematic diagram of the effect of stitching point clouds according to the first example of the present invention;

[0052] Figure 4 is a visualization diagram of a 3DBox according to a first example of the present invention;

[0053] Figure 5 is a schematic diagram of the effect of stitching point clouds according to the second example of the present invention;

[0054] Figure 6 is a visualization diagram of a 3DBox according to the second example of the present invention

[0055] Figure 7 is a structural block diagram of a point cloud data evaluation device according to an embodiment of the present invention;

[0056] Figure 8 It is a schematic diagram of the hardware structure of the electronic device according to an embodiment of the present invention. DETAILED DESCRIPTION

[0057] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.

[0058] According to an embodiment of the present invention, a method, device, electronic device and storage medium for evaluating point cloud data are provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in an order different from that shown here.

[0059] In this embodiment, a method for evaluating point cloud data is provided. Figure 1 is a flow chart of a method for evaluating point cloud data according to an embodiment of the present invention. Figure 1 As shown, the process includes the following steps:

[0060] Step S101, obtaining a point cloud data file, wherein the point cloud data file includes a plurality of point cloud segments and pose information corresponding to each frame of point cloud in the point cloud segments, wherein the time length of each point cloud segment is the same.

[0061] In an embodiment of the present application, obtaining a point cloud data file includes: obtaining a data packet to be processed, wherein the data packet includes multiple frames of continuous point clouds collected by a collection vehicle within a preset time period; segmenting the data packet according to the length of a preset time period to obtain multiple point cloud fragments; obtaining a timestamp corresponding to each frame of point cloud in the point cloud fragment; aligning each frame of point cloud in the point cloud fragment with the pose information in a pose information file using the timestamp to obtain the pose information corresponding to each frame of point cloud, wherein the pose information file includes multiple pose information and a timestamp corresponding to each pose information; and constructing a point cloud data file using the point cloud in each point cloud fragment and the pose information corresponding to the point cloud.

[0062] Specifically, first, a data packet to be processed is obtained, the data packet including continuous multi-frame point cloud data collected by the collection vehicle within a preset time period. For example, the preset time period may be the duration covered by a collection task within a period of time, such as several hours, several days, etc.

[0063] Divide the data packets according to the preset time period length. Determine an appropriate preset time period length, such as every 10 seconds. Figure 2 As shown, the data packet is divided into multiple point cloud segments based on this preset time period. This can divide large-scale point cloud data into smaller, easier-to-process parts. During the segmentation process, the start time and end time of each point cloud segment are recorded. For each point cloud segment, the timestamp corresponding to each frame of the point cloud is obtained. The timestamp can be a time mark automatically generated by the acquisition system when acquiring point cloud data.

[0064] Then obtain the pose information file, which includes multiple pose information and the timestamp corresponding to each pose information. The pose information usually includes the position, pose and other data of the acquisition vehicle at different time points. For each frame of point cloud in each point cloud fragment, according to its timestamp, find the timestamp of the pose information closest to it in the pose information file. The timestamp of the nearest neighbor can be determined by comparing the difference in timestamps. Once the timestamp of the pose information of the nearest neighbor is found, the pose information is associated with the corresponding point cloud to obtain the pose information corresponding to each frame of point cloud.

[0065] The point cloud data file is constructed using the point clouds in each point cloud fragment and their corresponding pose information. A new data structure or file format can be created to integrate the point cloud data and pose information. Finally, a complete point cloud data file containing point cloud data and pose information is obtained, which can be used for subsequent analysis, processing, visualization and other operations.

[0066] Step S102, splicing the point clouds in the point cloud segments based on the pose information of each frame of the point cloud to obtain the target spliced ​​point clouds corresponding to the point cloud segments, and constructing a local map using the target spliced ​​point clouds corresponding to each point cloud segment.

[0067] In an embodiment of the present application, the point clouds in the point cloud segments are spliced ​​based on the pose information of each frame of the point cloud to obtain the target spliced ​​point cloud corresponding to the point cloud segment, including the following steps A1-A6:

[0068] Step A1, using the first frame point cloud in the point cloud data file to determine the anchor point coordinates, and using the anchor point coordinates to initialize the reference point in the local coordinate system.

[0069] Specifically, first, get the first frame of point cloud from the point cloud data file. Since the input is point cloud data of continuous frames, the first frame of point cloud of the current continuous frame is used as the anchor point. Determine the coordinate information of the anchor point, such as the specific position in the WGS-84 coordinate system (longitude, latitude and altitude coordinate system, including longitude, latitude and altitude). Use the coordinates of this anchor point to initialize the reference point in the local coordinate system. This local coordinate system is a newly established coordinate system, which is formed based on the anchor point and provides a relatively stable reference frame for the subsequent coordinate transformation and processing of the point cloud.

[0070] Step A2, convert the other point clouds in the point cloud data file except the first point cloud to the local coordinate system according to the reference point, and convert the posture information corresponding to each point cloud in the point cloud data file from the original coordinate system to the local coordinate system to determine the posture of the point cloud in the local coordinate system.

[0071] Specifically, according to the determined reference point, the other point clouds except the first point cloud are converted from the original coordinate state to the local coordinate system. This conversion process involves a series of coordinate transformation calculations, that is, it is necessary to perform step-by-step conversions according to the conversion relationship between different coordinate systems. For example, the World Geodetic System—1984 Coordinate System (WGS-84) is first converted to the Earth-Centered, Earth-Fixed (ECEF) coordinate system, and then the ECEF coordinate system is converted to the Northeast Sky Space Cartesian Coordinate System (local coordinate system).

[0072] At the same time, the pose information corresponding to each point cloud in the point cloud data file is also converted from the original coordinate system to the local coordinate system. The pose information is originally in the original coordinate system such as the WGS-84 coordinate system, and is converted to the local coordinate system through a conversion process similar to the point cloud coordinates to determine the accurate pose of the point cloud in the local coordinate system.

[0073] As an example, we first need to convert the geographic coordinates LLA to the ECEF coordinate system, then we have the input latitude, longitude, and altitude (δ, γ, h), and the constant R E =6378137.0m (WGS-84 ellipsoid major semi-axis), f = 1 / 298.257223563 (WGS-84 ellipsoid flattening), e 2 =2f-f 2 (the square of the first eccentricity of the WGS-84 ellipsoid), calculate the radius of the yoke N,

[0074] Then calculate the coordinates in the ECEF coordinate system, we have

[0075] Calculate the anchor point coordinate system conversion matrix so that the longitude and latitude of the first frame are used as the anchor point reference point. Then, calculate the conversion matrix from the ECEF coordinate system to the local coordinate system. This matrix is ​​calculated based on the longitude and latitude of the anchor point.

[0076] The coordinate system of the input anchor point is (δ0, γ0, h0).

[0077] in,

[0078] Finally, the calculated transformation matrix is ​​used to transform the coordinates of the ECEF coordinate system into the coordinates of the northeast sky rectangular coordinate system. Among them, the coordinates of the anchor point in the ECEF coordinate system are: The ECEF coordinates of the target point are: P ECEF =(X,Y,Z).

[0079] Then there is a conversion relationship:

[0080] Step A3: stitching the point clouds in the local coordinate system according to the corresponding positions and poses of the point clouds to obtain the original stitched point clouds.

[0081] Specifically, after completing the conversion of all point clouds and their pose information to the local coordinate system, the point cloud stitching operation is performed in the local coordinate system. Specifically, according to the pose corresponding to the point cloud, each point cloud is accurately aligned and fused in the local coordinate system. In this process, the position and pose information of the point cloud in the local coordinate system is used to perform reasonable stitching algorithm processing to ensure seamless connection and accurate matching between point clouds. Finally, the original stitched point cloud is obtained. This point cloud is the result of stitching processing in the local coordinate system and can be used for subsequent map construction.

[0082] Step A4: Detecting the first target point that does not need to be downsampled and the second target point that needs to be downsampled in the original spliced ​​point cloud.

[0083] In the embodiment of the present application, detecting a first target point that does not need to be downsampled and a second target point that needs to be downsampled in the original spliced ​​point cloud includes the following steps A401-A405:

[0084] Step A401, obtaining edge points in the spliced ​​point cloud.

[0085] Specifically, the most edge points are determined from the stitched point cloud, which are recorded as point_min_x (minimum x coordinate point), point_max_x (maximum x coordinate point), point_min_y (minimum y coordinate point), point_max_y (maximum y coordinate point), point_min_z (minimum z coordinate point), and point_max_z (maximum z coordinate point). These edge points represent the boundary range of the stitched point cloud in all directions.

[0086] Step A402: construct a map grid using edge points and determine the grid center of the map grid.

[0087] Specifically, the obtained edge points are used to construct a map grid. The size of the grid block map_size is set to a fixed size of 0.5. The range and division method of the map grid can be determined by the coordinate range of the edge points and the grid size. The coordinates of the center of the grid can be determined by averaging the coordinates of the edge points or using a specific calculation method.

[0088] Step A403, determining a first distance between each point in the spliced ​​point cloud and the center of the grid in a three-dimensional direction.

[0089] Specifically, for each point in the spliced ​​point cloud, the distance between the point and the grid center in the three directions of x, y, and z is calculated respectively. The distance from each point to the grid center can be determined using the Euclidean distance formula or other suitable distance calculation methods.

[0090] Step A404, comparing the first distance of each point from the center of the grid in the three-dimensional direction with the semi-axis length of the map grid.

[0091] Specifically, the semi-axis length of the map grid is calculated, which is half of the map_size. For each point, its distance from the center of the grid in the x, y, and z directions is compared with the semi-axis length of the map grid.

[0092] Step A405, determines the points whose first distances from the grid center in the three-dimensional direction are greater than the semi-axis length as the first target points that do not need to be downsampled, and determines the points whose first distances from the grid center in any direction in the three-dimensional direction are less than or equal to the semi-axis length as the third target points.

[0093] Specifically, if the distance between a point and the center of the grid in the x, y, and z directions is greater than the semi-axis length of the map grid, then this point is determined as the first target point that does not need to be downsampled. These points are relatively far away from the center of the grid in space, have high uniqueness and importance, and do not need to be downsampled. If the distance between a point and the center of the grid in any of the three directions of x, y, and z is less than or equal to the semi-axis length, then this point is determined as the third target point. These points may be close to other points, and further judgment is needed to determine whether downsampling is required.

[0094] Step A406 detects the second target point that needs to be downsampled among the third target points.

[0095] In an embodiment of the present application, detecting a second target point that needs to be downsampled among the third target points includes: acquiring adjacent target points of the third target point, and determining a second distance between the adjacent target point and the center of the grid in the three-dimensional direction; if the second distance of the adjacent target point from the center of the grid in the three-dimensional direction is less than the first distance of the third target point from the center of the grid in the three-dimensional direction, determining that the third target point is a redundant point that does not need to be downsampled; or, if the second distance of the adjacent target point from the center of the grid in the three-dimensional direction is greater than or equal to the first distance of the third target point from the center of the grid in the three-dimensional direction, treating the third target point as the second target point that needs to be downsampled.

[0096] Specifically, first, for those points marked as the third target points, whose distance from the grid center in at least one direction in the three-dimensional direction is less than or equal to the semi-axis length, their adjacent target points need to be obtained. Adjacent points can be determined according to certain rules, such as taking points within a fixed radius as adjacent points, or determining them according to the proximity relationship of spatial positions. For each adjacent target point, the distance between them and the grid center in the three directions of x, y, and z is calculated respectively. This distance is called the second distance.

[0097] Next, a first distance between the third target point and the grid center in the three-dimensional direction is compared with a second distance between the adjacent target point and the grid center in the three-dimensional direction.

[0098] If it is found that the second distance of a neighboring target point from the grid center in the three-dimensional direction is less than the first distance of the third target point from the grid center in the three-dimensional direction, it means that the neighboring point is closer to the grid center than the current third target point. In this case, it can be determined that the third target point is a redundant point that does not need to be downsampled. This is because there is a closer point, and the third target point is relatively less important and can be considered redundant.

[0099] On the other hand, if the second distances of all adjacent target points from the grid center in the three-dimensional direction are greater than or equal to the first distance of the third target point from the grid center in the three-dimensional direction, it means that there is no closer point to replace the current third target point. At this time, the third target point is used as the second target point that needs to be downsampled. Because it is neither a point that is obviously far away from the grid center and does not need to be downsampled, nor is it replaced by a closer point and becomes a redundant point, it is necessary to consider downsampling it to reduce the amount of data while maintaining the key features of the point cloud.

[0100] Step A5: perform a downsampling operation on the second target point to obtain a downsampled second target point.

[0101] Specifically, select a suitable downsampling method, such as random sampling, uniform sampling, distance-based sampling, etc. Different downsampling methods are suitable for different scenarios and data characteristics. For the second target point set determined to be required to be downsampled, the operation is performed according to the selected downsampling method. If it is random sampling, a part of the points can be randomly selected to be retained, and the rest of the points can be discarded. If it is uniform sampling, points can be selected to be retained according to a certain spatial interval or data ratio. If it is distance-based sampling, the points can be sorted according to the distance from a reference point or center, and the points with a farther distance can be selected to be retained.

[0102] Step A6: construct a target spliced ​​point cloud using the first target point and the downsampled second target point.

[0103] Specifically, the first target point that does not need to be downsampled and the second target point that has been downsampled are merged together to form a new point set. This merged point set is the target spliced ​​point cloud. It contains the screened and processed point cloud data, which not only retains important points far from the center of the grid, but also processes possible redundant points through downsampling, making the point cloud data more concise and effective.

[0104] This application first uses the first frame point cloud to determine the coordinates of the anchor point and initialize the reference point of the local coordinate system, so that the point cloud conversion and splicing have a clear reference frame, which helps to improve the accuracy and consistency of the processing. Converting other point clouds and posture information except the first point cloud to the local coordinate system can better meet the needs of specific scenes and reduce the problems caused by the complexity and diversity of the original coordinate system. Point cloud splicing is performed in the local coordinate system to obtain the original spliced ​​point cloud, which can be more efficiently fused to highlight local features. Detecting and distinguishing the first target point that does not need to be downsampled and the second target point that needs to be downsampled can process point cloud data in a targeted manner, and downsampling operations are performed on redundant or less important points, which not only reduces the amount of data, reduces the computational burden of subsequent processing, but also retains key information and improves processing efficiency. Finally, the target spliced ​​point cloud is constructed using the first target point and the second target point after downsampling, so that the final point cloud has both high quality and meets the requirements of data simplicity and accuracy for practical applications.

[0105] Step S103, obtaining a fitting plane obtained by fitting the target point cloud in the local map.

[0106] In the embodiment of the present application, obtaining a fitting plane obtained by fitting the target point cloud in the local map includes the following steps B1-B2:

[0107] Step B1, using a point cloud selection box to select a target point cloud from the spliced ​​point cloud in the local map.

[0108] Specifically, first, specify a 3D box for selecting the target point cloud. It is known that the point cloud coordinate axes transferred to the local coordinate system are x-forward, y-rightward, and z-upward. Set the position of the box to (50,0,0) as the center of the box. At the same time, the size of the box needs to be determined, which can be set according to the specific application scenario and data characteristics. By clarifying the position and size of the box, it can be ensured that the selected target point cloud has a certain degree of representativeness and validity.

[0109] Use the determined point cloud selection box to select in the stitched point cloud in the local map. If the coordinates of a point are within the range of the point cloud selection box, then the point is selected as part of the target point cloud.

[0110] It should be noted that when determining the size of the 3D box, it is necessary to fully consider different traffic conditions and data characteristics. The requirements are different for different traffic conditions. For example, in the highway scene, due to the high speed of vehicles, the field of vision is relatively wide, and the point cloud data coverage is large, a larger 3D box may need to be set at this time to cover the point cloud information of a longer section of the road for analyzing road conditions, vehicle distribution, and potential obstacles. In the urban street scene, the road is relatively narrow, the surrounding buildings are dense, and the point cloud data is more complex. At this time, a relatively small box can be set according to factors such as the width of the street and the height of the building, focusing on the point cloud data of a specific area, such as the traffic conditions at the intersection, the interaction between pedestrians and vehicles, etc.

[0111] From the perspective of data characteristics, if the point cloud data has a high density in the traffic scene, that is, the distance between points is small, it means that the data is relatively rich. At this time, a relatively small frame can be set, because even if the frame is small, enough points can be selected for accurate analysis, such as detecting the specific shape and position of the vehicle. If the point cloud data is relatively sparse, it may be due to the limitations of the acquisition equipment or environmental factors. At this time, a larger frame needs to be set to ensure that a sufficient number of point clouds can be selected to fully understand the traffic conditions. In addition, if the data is noisy, such as interference from weather or other electronic devices, setting a smaller frame can reduce the impact of noise points and improve the accuracy of the target point cloud; if the noise is small, a slightly larger frame can obtain more extensive traffic information and provide a more comprehensive basis for traffic planning and management. In short, determining the size of the frame according to different traffic scenes and data characteristics can make the selected target point cloud better meet the needs of traffic analysis and provide strong support for decision-making and safety assurance in the transportation field.

[0112] Step B2: fitting the target point cloud to obtain a fitting plane.

[0113] Specifically, since the ground equation to be fitted is ax+by+cz+d=0, and c cannot be 0, a suitable fitting method needs to be selected to determine the coefficients a, b, c, and d in the equation. Common fitting methods include least squares method and principal component analysis. Since c cannot be 0 in the ground equation, we have

[0114]

[0115] After derivation, a'x+b'x+z+d'=0, so:

[0116]

[0117] Ax=b.

[0118] x=(A TA) -1 A T b.

[0119] According to the characteristics of the point cloud data and the requirements of the fitting plane, a method that can accurately fit the target point cloud is selected. The target point cloud is processed using the selected fitting method. The coordinates of the target point cloud are substituted into the fitting equation, and the values ​​of coefficients a, b, c, and d are continuously adjusted through the optimization algorithm so that the fitting plane can be as close to the target point cloud as possible.

[0120] During the fitting process, it is necessary to ensure that the condition that c cannot be 0 is met to ensure that the fitted plane has practical significance. After the fitting operation, the values ​​of the coefficients a, b, c, and d in the equation are determined, and the fitting plane is obtained. This fitting plane can be expressed by the equation ax+by+cz+d=0, which can better describe the plane characteristics of the target point cloud. The obtained fitting plane can be used for subsequent point cloud quality evaluation and other operations.

[0121] Step S104, determining the quality of the spliced ​​point cloud based on the distance between each point of the spliced ​​point cloud in the local map and the fitting plane.

[0122] In an embodiment of the present application, determining the quality of the spliced ​​point cloud based on the distance between each point of the spliced ​​point cloud in the local map and the fitting plane includes the following steps C1-C3:

[0123] Step C1, calculate the distance between each point in the spliced ​​point cloud in the local map and the fitting plane.

[0124] Specifically, the equation of the fitting plane is ax+by+cz+d=0. Wherein, a, b, c, and d are coefficients obtained by fitting the target point cloud.

[0125] For each point (x, y, z) in the stitched point cloud in the local map, the distance from the point to the fitted plane is calculated according to the point-to-plane distance formula. q ,y q ,c q ) to the plane ax+by+cz+d=0 is:

[0126]

[0127] Traverse all the points in the spliced ​​point cloud in the local map, substitute the coordinates of each point into the above distance formula, and calculate the distance between each point and the fitting plane.

[0128] Step C2, calculating the error statistic using the distance between each point and the fitting plane.

[0129] Specifically, the error statistics include: mean square error, standard error, and maximum error. Mean square error (MSE) is the average of the squares of the distance from each point to the plane. First, the distance from each point to the plane is squared, then the squared distances of all points are added, and finally divided by the total number of points to get the mean square error. The standard error is the square root of the mean square error, which reflects the degree of dispersion of the sample statistic (here is the distance). The maximum error value is the maximum value of all the distances from the point to the plane. By traversing the distances from all points to the plane, find the maximum value.

[0130] Step C3: using error statistics to determine the quality of the spliced ​​point cloud.

[0131] Specifically, the calculated mean square error, standard error and maximum error value are compared with the set quality evaluation standard. If the mean square error, standard error and maximum error values ​​are within an acceptable range, then the quality of the spliced ​​point cloud can be considered feasible. If the error statistic exceeds the set standard, it may be necessary to readjust the point cloud splicing process or perform further data processing to improve the quality of the spliced ​​point cloud. For example, if the mean error is set to be within 20cm, the quality of this spliced ​​point cloud is feasible. The mean error here can be the square root of the mean square error or other error-related statistics.

[0132] As an example, Figure 3-Figure 4 As shown in the figure, when the stitched point cloud is visualized, the distribution and structure of the point cloud can be clearly seen, and there are no obvious anomalies or errors. This shows that the point cloud stitching process is visually successful, and the position and shape of the point cloud are as expected. For example, specific point cloud visualization software or tools can be used to display the stitched point cloud in the form of a three-dimensional graphic to observe its overall appearance and details.

[0133] A 3D box (as shown in Table 1) is specified according to specific requirements to select the target point cloud or perform other operations. In the visualization, the position and size of this 3D box are displayed correctly without deviation or error. The visualized 3D box can help users intuitively understand the scope and position of the box selection to ensure that it meets the intended purpose.

[0134]

[0135] Table 1-3Dbox information

[0136] The calculated mean square error is about 10cm, and the standard deviation is about 16cm. According to the set quality evaluation standard, this error range indicates that the quality of the stitched point cloud is acceptable. The mean square error reflects the average deviation of the point cloud from the fitting plane, and the standard deviation reflects the discrete degree of the distance from the point cloud to the fitting plane. In this example, the relatively small error value indicates that the point cloud fits the fitting plane well, and the quality of the point cloud is within an acceptable range and can be used for subsequent operations.

[0137] As another example, Figure 5-Figure 6 As shown in the figure, the explanation of the normal visualization of the point cloud stitching and the normal visualization of the 3Dbox (as shown in Table 2) is similar to the above. The mean square error is about 2 cm, and the standard deviation is about 6 cm. Compared with the above example, this error is smaller, indicating that the point cloud fits the fitting plane more closely. The smaller error value indicates that the quality of the stitched point cloud is better, and the accuracy and consistency of the point cloud are higher. This makes the stitched point cloud likely to show better performance and effect in subsequent operations.

[0138]

[0139] Table 2-3Dbox information

[0140] In summary, by analyzing the point cloud stitching visualization effect, 3D box visualization result and error result of the two examples, we can judge whether the quality of the stitched point cloud is acceptable and whether it is suitable for subsequent operations. Smaller error values ​​usually mean better quality and higher reliability.

[0141] The method provided in the embodiment of the present application first obtains the point cloud data file and divides it into multiple point cloud segments of the same time length, and combines the pose information corresponding to each frame of the point cloud to obtain the target spliced ​​point cloud, and then constructs a local map. This segmented processing method avoids processing large-scale point cloud data at one time, reduces computational complexity, and improves processing efficiency. Secondly, by obtaining the fitting plane obtained by fitting the target point cloud in the local map, the quality of the spliced ​​point cloud is determined based on the distance between each point of the spliced ​​point cloud in the local map and the fitting plane. Starting from the perspective of the relationship between the point cloud and the fitting plane, this method comprehensively considers the distribution and deviation of the point cloud in space, and can provide more in-depth and accurate quality information, rather than the superficial or one-sided quality information of traditional methods.

[0142] In this embodiment, a point cloud data evaluation device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and will not be repeated hereafter. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0143] This embodiment provides a point cloud data evaluation device, such as Figure 7 As shown, including:

[0144] An acquisition module 701 is used to acquire a point cloud data file, wherein the point cloud data file includes a plurality of point cloud segments and position information corresponding to each frame of point cloud in the point cloud segments, wherein the time length of each point cloud segment is the same;

[0145] A stitching module 702 is used to stitch the point clouds in the point cloud segments based on the pose information of each frame of the point cloud to obtain a target stitched point cloud corresponding to the point cloud segment, and to construct a local map using the target stitched point cloud corresponding to each point cloud segment;

[0146] Processing module 703, used to obtain a fitting plane obtained by fitting the target point cloud in the local map;

[0147] The evaluation module 704 is used to determine the quality of the spliced ​​point cloud based on the distance between each point of the spliced ​​point cloud in the local map and the fitting plane.

[0148] In an embodiment of the present application, an acquisition module 701 is used to acquire a data packet to be processed, wherein the data packet includes a continuous multi-frame point cloud collected by a collection vehicle within a preset time period; the data packet is segmented according to the preset time period length to obtain a plurality of point cloud segments; a timestamp corresponding to each frame of the point cloud in the point cloud segment is acquired; each frame of the point cloud in the point cloud segment is aligned with the pose information in the pose information file using the timestamp to obtain the pose information corresponding to each frame of the point cloud, wherein the pose information file includes a plurality of pose information and a timestamp corresponding to each pose information; a point cloud data file is constructed using the point cloud in each point cloud segment and the pose information corresponding to the point cloud.

[0149] In an embodiment of the present application, the stitching module 702 is used to determine the anchor point coordinates using the first frame point cloud in the point cloud data file, and initialize the reference point in the local coordinate system using the anchor point coordinates; convert the other point clouds except the first point cloud in the point cloud data file to the local coordinate system according to the reference point, and convert the posture information corresponding to each point cloud in the point cloud data file from the original coordinate system to the local coordinate system to determine the posture of the point cloud in the local coordinate system; stitch the point clouds in the local coordinate system according to the posture corresponding to the point clouds to obtain the original stitched point cloud; detect the first target point that does not need to be downsampled and the second target point that needs to be downsampled in the original stitched point cloud; perform a downsampling operation on the second target point to obtain the second target point after downsampling; and construct a target stitched point cloud using the first target point and the second target point after downsampling.

[0150] In an embodiment of the present application, the stitching module 702 is used to obtain edge points in the stitched point cloud; construct a map grid using the edge points, and determine the grid center of the map grid; determine the first distance of each point in the stitched point cloud from the grid center in the three-dimensional direction; compare the first distance of each point from the grid center in the three-dimensional direction with the semi-axis length of the map grid; determine the points whose first distances from the grid center in the three-dimensional direction are greater than the semi-axis length as the first target points that do not need to be downsampled, and determine the points whose first distances from the grid center in any direction in the three-dimensional direction are less than or equal to the semi-axis length as the third target points; and detect the second target points that need to be downsampled among the third target points.

[0151] In an embodiment of the present application, the stitching module 702 is used to obtain adjacent target points of the third target point, and to determine a second distance between the adjacent target point and the center of the grid in the three-dimensional direction; if the second distance between the adjacent target point and the center of the grid in the three-dimensional direction is less than the first distance between the third target point and the center of the grid in the three-dimensional direction, then it is determined that the third target point is a redundant point that does not require downsampling; or, if the second distance between the adjacent target point and the center of the grid in the three-dimensional direction is greater than or equal to the first distance between the third target point and the center of the grid in the three-dimensional direction, then the third target point is used as the second target point that needs to be downsampled.

[0152] In the embodiment of the present application, the processing module 703 is used to select a target point cloud from the spliced ​​point cloud in the local map using a point cloud selection box; and to fit the target point cloud to obtain a fitting plane.

[0153] In the embodiment of the present application, the evaluation module 704 is used to calculate the distance between each point in the spliced ​​point cloud in the local map and the fitting plane; calculate the error statistics using the distance between each point and the fitting plane; and determine the quality of the spliced ​​point cloud using the error statistics.

[0154] See also Figure 8 , Figure 8 is a schematic diagram of the structure of an electronic device provided by an optional embodiment of the present invention, such as Figure 8 As shown, the electronic device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. The various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process instructions executed in the electronic device, including instructions stored in or on the memory to display graphical information of the GUI on an external input / output device (such as a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple electronic devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 8 A processor 10 is taken as an example.

[0155] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.

[0156] The memory 20 stores instructions executable by at least one processor 10, so that the at least one processor 10 executes the method shown in the above embodiment.

[0157] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created by the use of an electronic device based on the presentation of a small program landing page, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the electronic device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0158] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.

[0159] The input device 30 can receive input digital or character information, and generate key signal input related to the user settings and function control of the electronic device, such as a touch screen, a keypad, a mouse, a track pad, a touch pad, an indicator rod, one or more mouse buttons, a trackball, a joystick, etc. The output device 40 may include a display device, an auxiliary lighting device (e.g., an LED) and a tactile feedback device (e.g., a vibration motor), etc. The above-mentioned display device includes but is not limited to a liquid crystal display, a light emitting diode, a display and a plasma display. In some optional embodiments, the display device can be a touch screen.

[0160] The electronic device further comprises a communication interface 30 for the electronic device to communicate with other devices or a communication network.

[0161] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.

[0162] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the appended claims.

Claims

1. A method for evaluating point cloud data, characterized in that: The method comprises: Acquire a point cloud data file, wherein the point cloud data file includes a plurality of point cloud segments and pose information corresponding to each frame of point cloud in the point cloud segments, wherein the time length of each point cloud segment is the same; Based on the pose information of the point cloud in each frame, the point clouds in the point cloud fragments are stitched together to obtain target stitched point clouds corresponding to the point cloud fragments, and a local map is constructed using the target stitched point clouds corresponding to each of the point cloud fragments; Obtain a fitting plane obtained by fitting the target point cloud in the local map; The quality of the spliced ​​point cloud is determined based on the distance between each point of the spliced ​​point cloud in the local map and the fitting plane.

2. The method according to claim 1, characterized in that The step of obtaining a point cloud data file comprises: Acquire a data packet to be processed, wherein the data packet includes a continuous multi-frame point cloud collected by the collection vehicle within a preset time period; Segmenting the data packet according to the length of a preset time period to obtain a plurality of point cloud segments; Obtaining a timestamp corresponding to each frame of point cloud in the point cloud segment; Using the timestamp, align each frame of point cloud in the point cloud segment with the pose information in the pose information file to obtain the pose information corresponding to each frame of point cloud, wherein the pose information file includes a plurality of pose information and a timestamp corresponding to each pose information; The point cloud data file is constructed using the point cloud in each point cloud segment and the pose information corresponding to the point cloud.

3. The method according to claim 1, characterized in that The step of stitching the point clouds in the point cloud segments based on the pose information of the point cloud in each frame to obtain a target stitched point cloud corresponding to the point cloud segments includes: Determine the anchor point coordinates using the first frame point cloud in the point cloud data file, and use the anchor point coordinates to initialize the reference point in the local coordinate system; Converting the other point clouds except the first point cloud in the point cloud data file to the local coordinate system according to the reference point, and converting the pose information corresponding to each point cloud in the point cloud data file from the original coordinate system to the local coordinate system to determine the pose of the point cloud in the local coordinate system; splicing the point clouds in the local coordinate system according to the poses corresponding to the point clouds to obtain an original spliced ​​point cloud; Detecting a first target point that does not need to be downsampled and a second target point that needs to be downsampled in the original spliced ​​point cloud; Performing a downsampling operation on the second target point to obtain a downsampled second target point; The target spliced ​​point cloud is constructed using the first target points and the downsampled second target points.

4. The method according to claim 3, characterized in that: The detecting of the first target point that does not need to be downsampled and the second target point that needs to be downsampled in the original spliced ​​point cloud includes: Obtain edge points in the spliced ​​point cloud; Constructing a map grid using the edge points, and determining a grid center of the map grid; Determine a first distance between each point in the spliced ​​point cloud and the center of the grid in a three-dimensional direction; Comparing a first distance of each point from the center of the grid in a three-dimensional direction with a semi-axis length of the map grid; Determine a point whose first distance from the center of the grid in the three-dimensional direction is greater than the semi-axis length as a first target point that does not need to be downsampled, and determine a point whose first distance from the center of the grid in any direction in the three-dimensional direction is less than or equal to the semi-axis length as a third target point; A second target point that needs to be downsampled is detected among the third target points.

5. The method according to claim 4, characterized in that The detecting a second target point that needs to be downsampled among the third target points includes: Acquire an adjacent target point of the third target point, and determine a second distance between the adjacent target point and the center of the grid in a three-dimensional direction; If the second distance of the adjacent target point from the center of the grid in the three-dimensional direction is less than the first distance of the third target point from the center of the grid in the three-dimensional direction, it is determined that the third target point is a redundant point that does not need to be downsampled; Or, if the second distance of the adjacent target point from the grid center in the three-dimensional direction is greater than or equal to the first distance of the third target point from the grid center in the three-dimensional direction, the third target point is used as the second target point that needs to be downsampled.

6. The method according to claim 1, characterized in that The obtaining of the fitting plane obtained by fitting the target point cloud in the local map includes: Selecting a target point cloud from the spliced ​​point cloud in the local map using a point cloud selection box; The fitting plane is obtained by fitting using the target point cloud.

7. The method according to claim 1, characterized in that The determining the quality of the spliced ​​point cloud based on the distance between each point of the spliced ​​point cloud in the local map and the fitting plane includes: Calculating the distance between each point in the spliced ​​point cloud in the local map and the fitting plane; Calculating error statistics using the distance between each point and the fitting plane; The error statistic is used to determine the quality of the spliced ​​point cloud.

8. A point cloud data evaluation device, characterized in that: The device comprises: An acquisition module, used for acquiring a point cloud data file, wherein the point cloud data file includes a plurality of point cloud segments and the pose information corresponding to each frame of point cloud in the point cloud segments, wherein the time length of each point cloud segment is the same; A stitching module, used for stitching the point clouds in the point cloud segments based on the pose information of the point cloud in each frame, obtaining target stitching point clouds corresponding to the point cloud segments, and constructing a local map using the target stitching point clouds corresponding to each point cloud segment; A processing module, used for obtaining a fitting plane obtained by fitting the target point cloud in the local map; The evaluation module is used to determine the quality of the spliced ​​point cloud based on the distance between each point of the spliced ​​point cloud in the local map and the fitting plane.

9. An electronic device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the method according to any one of claims 1 to 7 by executing the computer instructions.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the method according to any one of claims 1 to 7.