A filtering method and filtering system for laser radar point cloud data

By calculating the coordinate point normal vector and the second feature quantity in the lidar point cloud data, judging edge coordinate points and compressing and storing, the problem of excessive data volume is solved and efficient storage and processing is achieved.

CN115239914BActive Publication Date: 2025-05-13CNNC SURVEY DESIGN & RES CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210947213.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-09
Publication Date
2025-05-13
Estimated Expiration
2042-08-09

AI Technical Summary

Technical Problem

The amount of data of lidar point cloud data is too large, resulting in high storage costs and slow processing speeds, and the prior art is difficult to effectively compress storage without affecting the description of the three-dimensional shape of the object surface.

Method used

By calculating the normal vector and the second feature quantity of each coordinate point, we comprehensively judge whether the coordinate point is near the edge of the shape, and compress and store the point cloud data based on the edge coordinate point to reduce the total number of coordinate points.

Benefits of technology

It realizes effective compressed storage of lidar point cloud data, reduces the amount of data, and does not affect the accurate description of the three-dimensional shape of the object surface, and improves storage efficiency and processing speed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115239914B_ABST
    Figure CN115239914B_ABST
Patent Text Reader

Abstract

The present invention discloses a filtering method and a filtering system for laser radar point cloud data. The filtering method comprises: S1, encoding processing for each coordinate point in the laser radar point cloud data; S2, respectively determining the normal calculation area of ​​each coordinate point in the laser radar point cloud data, and calculating the normal vector of each coordinate point; S3, respectively determining the edge extraction area of ​​each coordinate point in the laser radar point cloud data, and calculating the first feature quantity of each coordinate point at the same time, and also calculating the second feature quantity of each coordinate point, and determining the edge coordinate point in the laser radar point cloud data according to the first feature quantity and the second feature quantity; S4, compressing and storing all the coordinate points in the laser radar point cloud data according to the edge coordinate points in the laser radar point cloud data. The present invention reduces the data volume of the laser radar point cloud data without affecting the description of the three-dimensional shape of the surface of the object by the laser radar point cloud data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of point cloud data filtering, and in particular relates to a method and a system for filtering laser radar point cloud data. Background Art

[0002] Airborne laser radar transmits laser signals to the ground and then collects the laser signals reflected by the ground. Since the speed of light is known, the propagation time of the laser can be converted into a distance measurement. Combined with the height and scanning angle of the airborne laser radar, the three-dimensional coordinates of each ground measurement point can be accurately calculated. A large number of three-dimensional coordinate points constitute the laser radar point cloud data.

[0003] LiDAR point cloud data can describe the three-dimensional shape of the surface of an object. Before using the LiDAR point cloud data to build a three-dimensional model of the object surface, it is usually necessary to filter the LiDAR point cloud data. Filtering can remove noise points, outliers, smooth the point cloud, and compress data. With the improvement of the accuracy of airborne LiDAR and the expansion of the target area where LiDAR point cloud data needs to be generated, the problem of excessive data volume of LiDAR point cloud data has become particularly prominent. In order to reduce the storage cost of LiDAR point cloud data and improve the processing speed of LiDAR point cloud data, a filtering method and filtering system for LiDAR point cloud data are studied to compress and store a large amount of LiDAR point cloud data without affecting the description of the three-dimensional shape of the object surface by LiDAR point cloud data. This has very important practical significance. Summary of the invention

[0004] The present invention calculates the normal vector of each coordinate point in the laser radar point cloud data, and then calculates the first feature value of each coordinate point. The present invention further calculates the second feature value of each coordinate point based on the coordinate value of each coordinate point. The first feature value and the second feature value of each coordinate point are combined to comprehensively judge whether each coordinate point is an edge coordinate point located near the edge of the shape. Finally, based on the edge coordinate points, the laser radar point cloud data is compressed and stored, thereby greatly reducing the total number of coordinate points of the laser radar point cloud data.

[0005] In order to achieve the above-mentioned purpose of the invention, a filtering method for laser radar point cloud data is provided as follows, which mainly includes the following steps:

[0006] S1. Encoding each coordinate point in the laser radar point cloud data. Each coordinate point in the laser radar point cloud data corresponds to a number, and a number can be used to uniquely identify a coordinate point in the laser radar point cloud data;

[0007] S2. Based on the laser radar point cloud data, respectively determine the normal calculation area of ​​each coordinate point in the laser radar point cloud data, and generate corresponding calculation matrices according to the coordinate values ​​of all coordinate points in the normal calculation area of ​​each coordinate point, and also calculate the normal vector of each coordinate point by the calculation matrix, and store the corresponding relationship between the normal vector of each coordinate point and the number of each coordinate point;

[0008] S3. Based on the laser radar point cloud data, edge extraction areas of each coordinate point in the laser radar point cloud data are determined respectively, and at the same time, a first feature value of each coordinate point is calculated according to the normal vectors of all coordinate points in the edge extraction area of ​​each coordinate point, and a second feature value of each coordinate point is calculated according to the coordinate values ​​of all coordinate points in the edge extraction area of ​​each coordinate point, and edge coordinate points in the laser radar point cloud data are determined according to the first feature value and the second feature value, and the corresponding relationship between the edge coordinate points and the numbers of the coordinate points is stored;

[0009] S4. Based on all edge coordinate points in the laser radar point cloud data, all coordinate points in the laser radar point cloud data are compressed and stored.

[0010] As a preferred technical solution of the present invention, S2 specifically includes the following steps:

[0011] S21, selecting a coordinate point whose normal vector has not been calculated in the laser radar point cloud data, and taking it as the target coordinate point, and determining a spherical normal calculation area of ​​the target coordinate point with the target coordinate point as the center and a preset first length value as the radius;

[0012] S22, based on the normal calculation area of ​​the target coordinate point, the coordinate values ​​of all coordinate points are calculated, and the variance var(x), variance var(y), and variance var(z), as well as the covariance cov(x, y), covariance cov(y, z), and covariance cov(z, x) are calculated respectively, and the calculation matrix H of the target coordinate point is generated. The calculation matrix H is described as follows:

[0013]

[0014] S23, obtaining each eigenvalue of the calculation matrix H through mathematical calculation, and calculating the eigenvector corresponding to each eigenvalue at the same time, and selecting an eigenvector corresponding to the minimum eigenvalue of the calculation matrix H from all the eigenvectors of the calculation matrix H, using it as the normal vector of the target coordinate point, and storing the corresponding relationship between the normal vector and the number of the coordinate point;

[0015] S24. When the normal vector of each coordinate point in the laser radar point cloud data has been calculated, the calculation of the normal vector of the coordinate point is stopped; otherwise, the step S21 is jumped.

[0016] As a preferred technical solution of the present invention, S3 specifically includes the following steps:

[0017] S31, selecting a coordinate point that has not been selected in the laser radar point cloud data and using it as the object coordinate point, and determining a spherical edge extraction area of ​​the object coordinate point with the object coordinate point as the center and a preset second length value as the radius;

[0018] S32, respectively calculating the angles between the normal vector of the object coordinate point and the normal vectors of other coordinate points in the edge extraction area of ​​the object coordinate point, and counting the number of angles less than a preset angle threshold, and taking the number of angles as the first feature quantity of the object coordinate point, and storing the corresponding relationship between the first feature quantity and the number of the coordinate point;

[0019] S33, calculating the coordinate value of the centroid of all coordinate points in the edge extraction area of ​​the object coordinate point, and calculating the distance value between the coordinate value of the object coordinate point and the coordinate value of the centroid, and further using the distance value as the second feature value of the object coordinate point, and storing the corresponding relationship between the second feature value and the number of the coordinate point;

[0020] S34, determining whether the first feature value of the object coordinate point is less than a preset first feature value threshold value, if the first feature value is less than the first feature value threshold value, determining the object coordinate point as an edge coordinate point, and storing the corresponding relationship between the information marking the object coordinate point as an edge coordinate point and the number of the coordinate point, otherwise, proceeding to the next step;

[0021] S35, continue to determine whether the second feature value of the object coordinate point is greater than a preset second feature value threshold value, if the second feature value is greater than the second feature value threshold value, determine the object coordinate point as an edge coordinate point, and store the corresponding relationship between the information marking the object coordinate point as an edge coordinate point and the number of the coordinate point, otherwise, proceed to the next step;

[0022] S36. When each coordinate point in the laser radar point cloud data has been processed from S31 to S35, the extraction of edge coordinate points from the laser radar point cloud data is terminated; otherwise, the process jumps to S31.

[0023] As a preferred technical solution of the present invention, S4 specifically includes the following steps:

[0024] S41, selecting a coordinate point that has not been selected in the laser radar point cloud data, and determining whether the selected coordinate point is an edge coordinate point, if the selected coordinate point is an edge coordinate point, storing the selected coordinate point, otherwise, proceeding to the next step;

[0025] S42, when the selected coordinate point is a non-edge coordinate point, continue to determine whether the total number of non-edge coordinate points that have been stored has reached the storage number threshold of non-edge coordinate points. If it has reached the storage number threshold, proceed to the next step. Otherwise, determine whether to store the non-edge coordinate point in a random manner. In the case of storing the non-edge coordinate point, the total number of non-edge coordinate points that have been stored is increased by one, and proceed to the next step.

[0026] S43, determine whether each coordinate point in the laser radar point cloud data has been processed by S41 and S42. If so, complete the compressed storage of all coordinate points in the laser radar point cloud data. Otherwise, jump to S41.

[0027] The present invention also provides a filtering system for laser radar point cloud data, comprising the following modules:

[0028] The coding processing module is used to encode each coordinate point in the laser radar point cloud data and generate a unique number for each coordinate point;

[0029] The normal calculation module is used to determine the normal calculation area of ​​each coordinate point in the laser radar point cloud data, and generate corresponding calculation matrices according to the coordinate values ​​of all coordinate points in the normal calculation area of ​​each coordinate point, and also calculate the normal vector of each coordinate point from the calculation matrix;

[0030] An edge extraction module is used to determine an edge extraction region of each coordinate point in the laser radar point cloud data, and calculate a first feature quantity of each coordinate point according to the normal vectors of all coordinate points in the edge extraction region of each coordinate point, and is also used to calculate a second feature quantity of each coordinate point according to the coordinate values ​​of all coordinate points in the edge extraction region of each coordinate point, and determine the edge coordinate point according to the first feature quantity and the second feature quantity;

[0031] The compression storage module is used to compress and store all the coordinate points in the laser radar point cloud data according to the edge coordinate points in the laser radar point cloud data.

[0032] Compared with the prior art, the beneficial effects of the present invention are at least as follows:

[0033] 1. The present invention first performs encoding processing on each coordinate point in the laser radar point cloud data; secondly, the normal calculation area of ​​each coordinate point in the laser radar point cloud data is determined respectively, and the normal vector of each coordinate point is calculated; again, the edge extraction area of ​​each coordinate point in the laser radar point cloud data is determined respectively, and the first feature quantity of each coordinate point is calculated at the same time, and the second feature quantity of each coordinate point is calculated, and the edge coordinate point in the laser radar point cloud data is determined according to the first feature quantity and the second feature quantity; finally, according to the edge coordinate point in the laser radar point cloud data, all the coordinate points in the laser radar point cloud data are compressed and stored;

[0034] 2. The present invention solves the difficulties in storing and processing point cloud data due to the excessive amount of laser radar point cloud data. The present invention can not only greatly reduce the amount of laser radar point cloud data, but also does not affect the description of the surface shape of the object by the laser radar point cloud data. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 A flowchart of the steps of a method for filtering laser radar point cloud data of the present invention;

[0036] Figure 2 This is a structural diagram of the composition of a filtering system for laser radar point cloud data of the present invention. DETAILED DESCRIPTION

[0037] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.

[0038] It is understood that the terms "first", "second", etc. used in this application may be used herein to describe various elements, but unless otherwise specified, these elements are not limited by these terms. These terms are only used to distinguish a first element from another element. For example, without departing from the scope of this application, a first xx script may be referred to as a second xx script, and similarly, a second xx script may be referred to as a first xx script.

[0039] References Figure 1 As shown, the present invention provides a method for filtering laser radar point cloud data, which is mainly achieved by executing the following steps:

[0040] S1. Encode each coordinate point in the laser radar point cloud data. Each coordinate point in the laser radar point cloud data corresponds to a number, and a number can be used to uniquely identify a coordinate point in the laser radar point cloud data. Specifically, this embodiment assigns a unique number to each coordinate point in the laser radar point cloud data, which not only facilitates the identification of each coordinate point, but also enables convenient recording of the correspondence between each coordinate point and the process data generated in subsequent steps S2 and S3.

[0041] S2. Based on the laser radar point cloud data, respectively determine the normal calculation area of ​​each coordinate point in the laser radar point cloud data, and generate corresponding calculation matrices according to the coordinate values ​​of all coordinate points in the normal calculation area of ​​each coordinate point, and also calculate the normal vector of each coordinate point by the calculation matrix, and store the corresponding relationship between the normal vector of each coordinate point and the number of each coordinate point;

[0042] Furthermore, the above S2 specifically performs the following steps to calculate the normal vector of each coordinate point in the laser radar point cloud data:

[0043] S21, selecting a coordinate point whose normal vector has not been calculated in the laser radar point cloud data, and taking it as the target coordinate point, and determining a spherical normal calculation area of ​​the target coordinate point with the target coordinate point as the center and a preset first length value as the radius;

[0044] S22, based on the normal calculation area of ​​the target coordinate point, the coordinate values ​​of all coordinate points are calculated, and the variance var(x), variance var(y), and variance var(y), as well as the covariance cov(x, y), covariance cov(y, z), and covariance cov(z, x) are calculated respectively, and the calculation matrix H of the target coordinate point is generated. The calculation matrix H is described as follows:

[0045]

[0046] S23, obtaining each eigenvalue of the calculation matrix H through mathematical calculation, and calculating the eigenvector corresponding to each eigenvalue at the same time, and selecting an eigenvector corresponding to the minimum eigenvalue of the calculation matrix H from all the eigenvectors of the calculation matrix H, using it as the normal vector of the target coordinate point, and storing the corresponding relationship between the normal vector and the number of the coordinate point;

[0047] S24, when the normal vector of each coordinate point in the laser radar point cloud data has been calculated, the calculation of the normal vector of the coordinate point is stopped, otherwise, the above S21 is jumped;

[0048] Specifically, the variance var(x), variance var(y), and variance var(z), as well as the covariance cov(x,y), covariance cov(y,z), and covariance cov(z,x), are calculated by the following formulas:

[0049]

[0050]

[0051]

[0052]

[0053]

[0054]

[0055] Among them, x i ,y i , z i is the X coordinate value, Y coordinate value, and Z coordinate value of all coordinate points in the normal calculation area of ​​the target coordinate point, n is the total number of all coordinate points in the normal calculation area of ​​the target coordinate point, and x, y, z are the average values ​​of the X coordinate value, Y coordinate value, and Z coordinate value of all coordinate points in the normal calculation area of ​​the target coordinate point;

[0056] In the execution process of the above S2, firstly, a coordinate point in the laser radar point cloud data is selected as the target coordinate point, and the normal calculation area of ​​the target coordinate point is determined. The coordinate points in the normal calculation area are coordinate points located near the target coordinate point. Then, the calculation matrix is ​​calculated based on the coordinate values ​​of each coordinate point in the normal calculation area, and different eigenvalues ​​of the calculation matrix and eigenvectors corresponding to different eigenvalues ​​are obtained. According to the properties of the calculation matrix, the different eigenvectors calculated are mutually orthogonal. The eigenvector corresponding to the smallest eigenvalue can be used as the normal vector of the target coordinate point. Finally, other coordinate points in the laser radar point cloud data are continued to be used as target coordinate points, and the normal vector of the target coordinate point is calculated. The execution process of the above S2 mainly regards the target coordinate point and other coordinate points near the target coordinate point as being approximately located on the same plane, and uses the normal vector of the plane as the normal vector of the target coordinate point. The normal vector of the coordinate point is used to extract edge coordinate points in subsequent steps, which is the basis for carrying out subsequent steps.

[0057] S3. Based on the laser radar point cloud data, edge extraction areas of each coordinate point in the laser radar point cloud data are determined respectively, and at the same time, a first feature value of each coordinate point is calculated according to the normal vectors of all coordinate points in the edge extraction area of ​​each coordinate point, and a second feature value of each coordinate point is calculated according to the coordinate values ​​of all coordinate points in the edge extraction area of ​​each coordinate point, and edge coordinate points in the laser radar point cloud data are determined according to the first feature value and the second feature value, and the corresponding relationship between the edge coordinate points and the numbers of the coordinate points is stored;

[0058] Furthermore, the above S3 specifically performs the following steps to achieve the purpose of detecting edge coordinate points in the laser radar point cloud data:

[0059] S31, selecting a coordinate point that has not been selected in the laser radar point cloud data and using it as the object coordinate point, and determining a spherical edge extraction area of ​​the object coordinate point with the object coordinate point as the center and a preset second length value as the radius;

[0060] S32, respectively calculating the angles between the normal vector of the object coordinate point and the normal vectors of other coordinate points in the edge extraction area of ​​the object coordinate point, and counting the number of angles less than a preset angle threshold, and taking the number of angles as the first feature quantity of the object coordinate point, and storing the corresponding relationship between the first feature quantity and the number of the coordinate point;

[0061] S33, calculating the coordinate value of the centroid of all coordinate points in the edge extraction area of ​​the object coordinate point, and calculating the distance value between the coordinate value of the object coordinate point and the coordinate value of the centroid, and further using the distance value as the second feature value of the object coordinate point, and storing the corresponding relationship between the second feature value and the number of the coordinate point;

[0062] S34, determining whether the first feature value of the object coordinate point is less than a preset first feature value threshold value, if the first feature value is less than the first feature value threshold value, determining the object coordinate point as an edge coordinate point, and storing the corresponding relationship between the information marking the object coordinate point as an edge coordinate point and the number of the coordinate point, otherwise, proceeding to the next step;

[0063] S35, continue to determine whether the second feature value of the object coordinate point is greater than a preset second feature value threshold value, if the second feature value is greater than the second feature value threshold value, determine the object coordinate point as an edge coordinate point, and store the corresponding relationship between the information marking the object coordinate point as an edge coordinate point and the number of the coordinate point, otherwise, proceed to the next step;

[0064] S36. When each coordinate point in the laser radar point cloud data has been processed from S31 to S35, the extraction of edge coordinate points from the laser radar point cloud data is terminated. Otherwise, jump to S31.

[0065] Specifically, in the execution process of the above S3, first, a coordinate point is selected from the laser radar point cloud data as the object coordinate point, and the edge extraction area of ​​the object coordinate point is determined, and the other coordinate points in the edge extraction area are all located near the object coordinate point; then, according to the normal vectors of each coordinate point calculated in the above S2, the angle between the normal vectors of the object coordinate point and the other coordinate points is calculated, and the number of angles less than the angle threshold is counted, which is used as the first feature value of the object coordinate point; then the distance value between the object coordinate point and the center of gravity of all coordinate points in the above edge extraction area is calculated, and the distance value can be calculated from the coordinate values ​​of the object coordinate point and the center of gravity, and the distance value is used as the second feature value of the object coordinate point; secondly, when the above first feature value is less than the first feature value threshold, it is considered that the object coordinate point is located near the shape edge of the object surface. The shape edge is usually the place where the shape changes the most on the object surface, and can generally connect different planes. It can be seen from the calculation of the normal vector in the above S2 that the object coordinate point and other coordinate points in the same plane are The angle between the normal vectors is 0, while the angle between the normal vectors of the object coordinate point and other coordinate points in different planes is generally greater than a certain angle. Therefore, for other coordinate points near the object coordinate point, when the number of angles between other coordinate points and the normal vectors of the object coordinate point that are less than a certain angle is less than a certain number, then the probability that the object coordinate point is an edge coordinate point is relatively large; again, when the above-mentioned first feature quantity is greater than or equal to the first feature quantity threshold, if the above-mentioned second feature quantity is greater than the second feature quantity threshold, then it is also considered that the object coordinate point is located near the shape edge of the object surface. This is because the second feature quantity represents the distance value between the object coordinate point and the center of gravity of the area near it. The larger the distance value, the farther the object coordinate point is from the center of gravity of the area near it, that is, the greater the probability that the object coordinate point is an edge coordinate point; finally, other coordinate points are selected from the laser radar point cloud data to become object coordinate points, and it is determined whether they are edge coordinate points. The edge coordinate points are used to compress and store all coordinate points in the laser radar point cloud data in subsequent steps.

[0066] S4. Compress and store all the coordinate points in the laser radar point cloud data according to all the edge coordinate points in the laser radar point cloud data;

[0067] Furthermore, the above S4 specifically performs the following steps to compress and store the laser radar point cloud data:

[0068] S41, selecting a coordinate point that has not been selected in the laser radar point cloud data, and determining whether the selected coordinate point is an edge coordinate point, if the selected coordinate point is an edge coordinate point, storing the selected coordinate point, otherwise, proceeding to the next step;

[0069] S42, when the selected coordinate point is a non-edge coordinate point, continue to determine whether the total number of non-edge coordinate points that have been stored has reached the storage number threshold of non-edge coordinate points. If it has reached the storage number threshold, proceed to the next step. Otherwise, determine whether to store the non-edge coordinate point in a random manner. In the case of storing the non-edge coordinate point, the total number of non-edge coordinate points that have been stored is increased by one, and proceed to the next step.

[0070] S43, determine whether each coordinate point in the laser radar point cloud data has been processed by the above S41 and S42. If so, complete the compressed storage of all coordinate points in the laser radar point cloud data. Otherwise, jump to the above S41.

[0071] Specifically, in the execution process of the above S4, for the edge coordinate points in the laser radar point cloud data, because they play an important role in describing the shape edge of the object surface, all edge coordinate points need to be stored. If the edge coordinate points are missing, the laser radar point cloud data will not be able to accurately describe the shape of the object surface. For the non-edge coordinate points in the laser radar point cloud data, the total number of non-edge coordinate points allowed to be stored can be determined according to the total number of coordinate points in the laser radar point cloud data, and when the total number of non-edge coordinate points stored is less than the total number of non-edge coordinate points allowed to be stored, it is determined whether to store a non-edge coordinate point in a random manner. This not only greatly reduces the total number of coordinate points in the laser radar point cloud data, but also can make the coordinate points in the stored laser radar point cloud data distributed relatively evenly by randomly storing non-edge coordinate points.

[0072] References Figure 2 As shown, the present invention also provides a laser radar point cloud data filtering system, which is used to implement a laser radar point cloud data filtering method as described above. Specifically, the functions of each module are described as follows:

[0073] The coding processing module is used to encode each coordinate point in the laser radar point cloud data and generate a unique number for each coordinate point;

[0074] The normal calculation module is used to determine the normal calculation area of ​​each coordinate point in the laser radar point cloud data, and generate corresponding calculation matrices according to the coordinate values ​​of all coordinate points in the normal calculation area of ​​each coordinate point, and also calculate the normal vector of each coordinate point from the calculation matrix;

[0075] An edge extraction module is used to determine an edge extraction region of each coordinate point in the laser radar point cloud data, and calculate a first feature quantity of each coordinate point according to the normal vectors of all coordinate points in the edge extraction region of each coordinate point, and is also used to calculate a second feature quantity of each coordinate point according to the coordinate values ​​of all coordinate points in the edge extraction region of each coordinate point, and determine the edge coordinate point according to the first feature quantity and the second feature quantity;

[0076] The compression storage module is used to compress and store all the coordinate points in the laser radar point cloud data according to the edge coordinate points in the laser radar point cloud data.

[0077] To summarize, the present invention first performs encoding processing on each coordinate point in the laser radar point cloud data; secondly, the normal calculation area of ​​each coordinate point in the laser radar point cloud data is determined respectively, and the normal vector of each coordinate point is calculated; again, the edge extraction area of ​​each coordinate point in the laser radar point cloud data is determined respectively, and the first feature value of each coordinate point is calculated at the same time, and the second feature value of each coordinate point is calculated, and the edge coordinate points in the laser radar point cloud data are determined according to the first feature value and the second feature value; finally, according to the edge coordinate points in the laser radar point cloud data, all the coordinate points in the laser radar point cloud data are compressed and stored; the present invention solves the difficulties in point cloud data storage and point cloud data processing caused by the excessive amount of laser radar point cloud data. The present invention can not only greatly reduce the amount of laser radar point cloud data, but also does not affect the description of the surface shape of the object by the laser radar point cloud data.

[0078] It should be understood that, although each step in the flow chart of each embodiment of the present invention is shown in sequence according to the indication of the arrow, these steps are not necessarily performed in sequence according to the order indicated by the arrow. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be performed in other orders. Moreover, at least a portion of the steps in each embodiment may include a plurality of sub-steps or a plurality of stages, and these sub-steps or stages are not necessarily performed at the same time, but can be performed at different times, and the execution order of these sub-steps or stages is not necessarily performed in sequence, but can be performed in turn or alternately with at least a portion of other steps or sub-steps or stages of other steps.

[0079] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program. The above-mentioned program can be stored in a non-volatile computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).

[0080] The technical features of the above-mentioned embodiments can be combined arbitrarily. In order to make the description concise, not all possible combinations of the technical features in the above-mentioned embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0081] The above-mentioned embodiments only express several implementation methods of the present invention, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the patent of the present invention. It should be pointed out that, for ordinary technicians in this field, several variations and improvements can be made without departing from the concept of the present invention, and these all belong to the protection scope of the present invention. Therefore, the protection scope of the patent of the present invention shall be subject to the attached claims.

[0082] The above are only preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the present invention.

Claims

1. A method for filtering laser radar point cloud data, characterized in that: The steps include: S1. Encoding each coordinate point in the laser radar point cloud data. Each coordinate point in the laser radar point cloud data corresponds to a number, and a number can be used to uniquely identify a coordinate point in the laser radar point cloud data; S2. Based on the laser radar point cloud data, respectively determine the normal calculation area of ​​each coordinate point in the laser radar point cloud data, and generate corresponding calculation matrices according to the coordinate values ​​of all coordinate points in the normal calculation area of ​​each coordinate point, and also calculate the normal vector of each coordinate point by the calculation matrix, and store the corresponding relationship between the normal vector of each coordinate point and the number of each coordinate point; S3. Based on the laser radar point cloud data, edge extraction areas of each coordinate point in the laser radar point cloud data are determined respectively, and at the same time, a first feature value of each coordinate point is calculated according to the normal vectors of all coordinate points in the edge extraction area of ​​each coordinate point, and a second feature value of each coordinate point is calculated according to the coordinate values ​​of all coordinate points in the edge extraction area of ​​each coordinate point, and edge coordinate points in the laser radar point cloud data are determined according to the first feature value and the second feature value, and the corresponding relationship between the edge coordinate points and the numbers of the coordinate points is stored; S4. Based on all edge coordinate points in the laser radar point cloud data, all coordinate points in the laser radar point cloud data are compressed and stored.

2. The method for filtering laser radar point cloud data according to claim 1, characterized in that: The S2 specifically includes the following steps: S21, selecting a coordinate point whose normal vector has not been calculated in the laser radar point cloud data, and taking it as the target coordinate point, and determining a spherical normal calculation area of ​​the target coordinate point with the target coordinate point as the center and a preset first length value as the radius; S22, based on the normal calculation area of ​​the target coordinate point, the coordinate values ​​of all coordinate points are calculated, and the variance var(x), variance var(y), and variance var(z), as well as the covariance cov(x, y), covariance cov(y, z), and covariance cov(z, x) are calculated respectively, and the calculation matrix H of the target coordinate point is generated. The calculation matrix H is described as follows: S23, obtaining each eigenvalue of the calculation matrix H through mathematical calculation, and calculating the eigenvector corresponding to each eigenvalue at the same time, and selecting an eigenvector corresponding to the minimum eigenvalue of the calculation matrix H from all the eigenvectors of the calculation matrix H, using it as the normal vector of the target coordinate point, and storing the corresponding relationship between the normal vector and the number of the coordinate point; S24. When the normal vector of each coordinate point in the laser radar point cloud data has been calculated, the calculation of the normal vector of the coordinate point is stopped; otherwise, the step S21 is jumped.

3. The method for filtering laser radar point cloud data according to claim 1, characterized in that: The S3 specifically includes the following steps: S31, selecting a coordinate point that has not been selected in the laser radar point cloud data and using it as the object coordinate point, and determining a spherical edge extraction area of ​​the object coordinate point with the object coordinate point as the center and a preset second length value as the radius; S32, respectively calculating the angles between the normal vector of the object coordinate point and the normal vectors of other coordinate points in the edge extraction area of ​​the object coordinate point, and counting the number of angles less than a preset angle threshold, and taking the number of angles as the first feature quantity of the object coordinate point, and storing the corresponding relationship between the first feature quantity and the number of the coordinate point; S33, calculating the coordinate value of the centroid of all coordinate points in the edge extraction area of ​​the object coordinate point, and calculating the distance value between the coordinate value of the object coordinate point and the coordinate value of the centroid, and further using the distance value as the second feature value of the object coordinate point, and storing the corresponding relationship between the second feature value and the number of the coordinate point; S34, determining whether the first feature value of the object coordinate point is less than a preset first feature value threshold value, if the first feature value is less than the first feature value threshold value, determining the object coordinate point as an edge coordinate point, and storing the corresponding relationship between the information marking the object coordinate point as an edge coordinate point and the number of the coordinate point, otherwise, proceeding to the next step; S35, continue to determine whether the second feature value of the object coordinate point is greater than a preset second feature value threshold value, if the second feature value is greater than the second feature value threshold value, determine the object coordinate point as an edge coordinate point, and store the corresponding relationship between the information marking the object coordinate point as an edge coordinate point and the number of the coordinate point, otherwise, proceed to the next step; S36. When each coordinate point in the laser radar point cloud data has been processed from S31 to S35, the extraction of edge coordinate points from the laser radar point cloud data is terminated; otherwise, the process jumps to S31.

4. The method for filtering laser radar point cloud data according to claim 1, characterized in that: The S4 specifically includes the following steps: S41, selecting a coordinate point that has not been selected in the laser radar point cloud data, and determining whether the selected coordinate point is an edge coordinate point, if the selected coordinate point is an edge coordinate point, storing the selected coordinate point, otherwise, proceeding to the next step; S42, when the selected coordinate point is a non-edge coordinate point, continue to determine whether the total number of non-edge coordinate points that have been stored has reached the storage number threshold of non-edge coordinate points. If it has reached the storage number threshold, proceed to the next step. Otherwise, determine whether to store the non-edge coordinate point in a random manner. In the case of storing the non-edge coordinate point, the total number of non-edge coordinate points that have been stored is increased by one, and proceed to the next step. S43, determine whether each coordinate point in the laser radar point cloud data has been processed by S41 and S42. If so, complete the compressed storage of all coordinate points in the laser radar point cloud data. Otherwise, jump to S41.

5. A filtering system for laser radar point cloud data, used to implement the method according to any one of claims 1 to 4, characterized in that: Includes the following modules: The coding processing module is used to encode each coordinate point in the laser radar point cloud data and generate a unique number for each coordinate point; The normal calculation module is used to determine the normal calculation area of ​​each coordinate point in the laser radar point cloud data, and generate corresponding calculation matrices according to the coordinate values ​​of all coordinate points in the normal calculation area of ​​each coordinate point, and also calculate the normal vector of each coordinate point from the calculation matrix; An edge extraction module is used to determine an edge extraction region of each coordinate point in the laser radar point cloud data, and calculate a first feature quantity of each coordinate point according to the normal vectors of all coordinate points in the edge extraction region of each coordinate point, and is also used to calculate a second feature quantity of each coordinate point according to the coordinate values ​​of all coordinate points in the edge extraction region of each coordinate point, and determine the edge coordinate point according to the first feature quantity and the second feature quantity; The compression storage module is used to compress and store all the coordinate points in the laser radar point cloud data according to the edge coordinate points in the laser radar point cloud data.

Citation Information

Patent Citations

  • progressive encryption triangulation network LiDAR point cloud filtering method under the assistance of waveform information

    CN109872281A

  • Camera-to-lidar calibration and validation

    US20210192788A1