Point cloud filtering method and system for laser scanners
By generating a two-dimensional image in spherical coordinates and searching for the filter kernel size and neighbor data points, the problems of large computational load and long time in point cloud filtering are solved, enabling the acquisition of more accurate point cloud data in a short time.
Patent Information
- Application Number
- CN202311078057.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-24
- Publication Date
- 2025-12-19
- Estimated Expiration
- 2043-08-24
AI Technical Summary
In existing technologies, point cloud filtering involves a large amount of computation, a long processing time, and poor filtering effect, making it difficult to obtain accurate point cloud data in a short period of time.
A two-dimensional image processing method based on spherical coordinates is adopted. A two-dimensional image is generated, and the size of the filter kernel is determined according to the depth value and quality parameter of the data points. Neighboring data points are searched for bilateral filtering, and the coordinates of the target data points are updated.
It shortens the computation time for point cloud processing and improves the accuracy and quality of point cloud data.
Smart Images

Figure CN117095038B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to a point cloud filtering method and system for a laser scanner. BACKGROUND
[0002] 3D laser scanners for indoor environment scanning mostly use ToF (Time-of-flight) ranging technology, among which the most common is LiDAR (light detection and ranging). It is an optical remote sensing technology that calculates the distance of an object by measuring the time difference between the transmitted and received pulse signals. Its advantages are high precision and long distance; but it is also limited by the physical properties of light, such as LiDAR's difficulty in measuring the distance from the sensor to the window (light refracts through glass), LiDAR's inability to scan structures behind walls (light travels in a straight line), etc. In addition, the accuracy of LiDAR is affected by the material of the object being photographed, the distance between the object and the scanner, and the angle of incidence.
[0003] 3D laser scanners for indoor environment scanning are mainly divided into handheld and fixed types. Handheld devices are lightweight and portable and have built-in self-positioning functions, so the operator can move them while scanning, and therefore this technical route is not plagued by the problem of occlusion. Fixed scanners are supported by tripods and can collect data for a 360° field of view by rotating the base and collecting data for the light beams that can reach the point as the center of the sphere. Based on the accuracy and timeliness of scene reconstruction, the static stationing of fixed type is usually a better choice.
[0004] Static stationing scanners usually consist of a 2D laser radar rotating in the vertical direction and a rotating platform rotating in the horizontal direction. Through precise control of the digital circuit, based on the given azimuth resolution and zenith resolution, sampling is performed at each combination of azimuth (Azimuth) and zenith (Zenith) to obtain the distance value distance, and finally the spherical coordinate system is converted to the Cartesian coordinate system to obtain the position (x, y, z) of the measured point.
[0005] The accuracy of the laser scanner is reflected in the measurement error of the laser radar for the distance value. Due to the existence of errors, point cloud denoising and filtering processing are usually required. The commonly used bilateral filtering method, for example, considers the spatial distance and gray difference of neighboring points for each point and performs weighted averaging on the coordinates of the point. Pixels that are closer in space and have smaller gray differences will have higher weights, thus better preserving edge information. In this way, the bilateral filtering method can remove noise while preserving image details and edge features. The common point cloud filtering algorithms on the market currently operate in the Cartesian coordinate system, using the Euclidean distance as the evaluation standard to find the neighbors of each point and modify (x, y, z).
[0006] In point cloud processing, an algorithm usually builds an octree, a KD Tree, and sets a distance value d. For each point, all points reaching the point with a distance less than d are considered as neighbors. In practical applications, if the point cloud is not down-sampled, the process of such neighbor searching is very time-consuming. Thus, it leads to long running time and poor processing effect. SUMMARY
[0007] The technical problem solved by the present application is to overcome the defects of large amount of computation, long computation time and poor filtering effect in the point cloud filtering process in the prior art, and to provide a point cloud filtering method and system for a laser scanner, which can shorten the computation time of point cloud processing and obtain more accurate point cloud data in a shorter running time, thereby improving the accuracy of point cloud measurement.
[0008] The present application solves the above technical problems by the following technical solutions:
[0009] A point cloud filtering method for a laser scanner, characterized in that the point cloud filtering method comprises:
[0010] acquiring point cloud data to be processed;
[0011] generating a two-dimensional image according to the spherical coordinates of all data points in the point cloud data, wherein the horizontal coordinate of each pixel of the two-dimensional image corresponds to the azimuth angle of a data point, the vertical coordinate corresponds to the elevation angle of the data point, and the pixel value of the pixel corresponds to the depth value of the data point;
[0012] for each data point, acquiring the size of the filtering kernel of the data point according to the depth value;
[0013] for a target data point, finding the neighbor data points of the target data point on the two-dimensional image according to the size of the filtering kernel;
[0014] obtaining the depth value of the target data point using the neighbor data points, and updating the coordinates of the target data point using the filtered data.
[0015] Preferably, the generating of the two-dimensional image according to the spherical coordinates of all data points in the point cloud data comprises:
[0016] creating an initial image, wherein the size of the initial image is determined according to the elevation angle resolution and the azimuth angle resolution of the laser scanner;
[0017] for each data point, acquiring the pixel position of the data point on the initial image according to the azimuth angle and the elevation angle of the data point, and updating the pixel value of the pixel position using the depth value of the data point;
[0018] acquiring the depth value and the pixel position of all data points to generate the two-dimensional image.
[0019] Preferably, the method for obtaining the depth value and the pixel position of each data point to generate the two-dimensional image comprises:
[0020] For each data point, the pixel position of the data point on the initial image is obtained according to the azimuth and the elevation of the data point, and it is determined whether the pixel position has a gray value,
[0021] If not, the gray value of the data point is written into the pixel position;
[0022] If yes, it is determined whether the difference between the depth value of the current data point and the gray value already existing in the pixel position is less than a preset difference value, if yes, the average value of the current data point and the gray value already existing in the pixel position is written into the pixel position, if not, the gray value of the pixel position is not updated.
[0023] Preferably, the point cloud filtering method comprises:
[0024] For each data point, the quality parameter of the data point is obtained according to the normal angle of the laser beam and the surface of the scanned object, the roughness and the reflectivity of the data point, the smaller the normal angle, the higher the quality of the laser scanning, the higher the roughness, the higher the quality of the laser scanning, and the higher the laser reflectivity, the higher the quality of the laser scanning;
[0025] The quality parameter is associated with the distance value in the spherical coordinates of the data point, wherein, within the effective interval, the closer the distance between the scanning station and the scanned object, the higher the quality parameter;
[0026] It is determined whether the quality parameter score of the data point is less than a parameter threshold value, if yes, the data point is discarded.
[0027] Preferably, the method for obtaining the size of the filtering kernel of the data point according to the depth value comprises:
[0028] For a data point, the size of the filtering kernel of the data point is obtained according to the distance value of the data point and the quality parameter associated with the distance value, the smaller the distance value of the data point, the larger the size of the corresponding filtering kernel.
[0029] Preferably, the point cloud filtering method comprises:
[0030] For a data point, a fitting plane is generated using the data point and surrounding data points;
[0031] The normal of the fitting plane is obtained and the normal angle of the data point is calculated;
[0032] The method for obtaining the size of the filtering kernel of the data point according to the depth value comprises:
[0033] For a data point, the size of the filtering kernel of the data point is obtained according to the spot size of the data point and the parameters of the laser scanner.
[0034] Preferably, the filtering of the target data point using the neighbor data points comprises:
[0035] For a data point, bilateral filtering is performed using the neighbor data points of the data point, and the weight value in the bilateral filtering is obtained according to a quality parameter of the data point, a difference between depth values of the neighbor data points and the data point, and an angular distance between the neighbor data points and the data point, the weight value being larger when the quality parameter is higher, the difference between the depth values is smaller, and the angular distance is smaller.
[0036] The application further provides a point cloud filtering system comprising a processing module and a laser scanner, and the point cloud filtering system is used to implement the point cloud filtering method.
[0037] The application further provides a laser scanner comprising a processing module, and the laser scanner is used to implement the point cloud filtering method.
[0038] On the basis of common sense in the art, the above-mentioned preferred conditions can be combined arbitrarily, thereby obtaining preferred examples of the application.
[0039] The positive progress effect of the application is that:
[0040] The application can shorten the operation time of point cloud processing, obtain more accurate point cloud data in a shorter operation time, and improve the accuracy of point cloud measurement. BRIEF DESCRIPTION OF DRAWINGS
[0041] Figure 1 A flowchart of the point cloud filtering method of embodiment 1 of the application. DETAILED DESCRIPTION
[0042] The application will be further described below by way of examples, but the application is not limited in the scope of the examples.
[0043] Embodiment 1
[0044] The embodiment provides a point cloud filtering system for a laser scanner.
[0045] The processing module can be a processing terminal, such as a PC, a notebook computer, a mobile tablet, and the like, and can also be a server. The server can comprise an independent physical server, a server cluster or a distributed system composed of multiple physical servers, a cloud server providing cloud services, cloud computing, and big data and artificial intelligence platforms, and the like.
[0046] The laser scanner is used to acquire the point cloud data to be processed.
[0047] The processing module is used to:
[0048] Acquire the point cloud data to be processed and the spherical coordinates of the data points in the point cloud data to be processed, and transform all the data points of the point cloud data to be processed from the Cartesian coordinate system (x, y, z) to the spherical coordinate system to obtain its (azimuth, zenith, dist).
[0049] Generate a two-dimensional image according to the spherical coordinates of all the data points, wherein the position of each pixel in the two-dimensional image corresponds to the azimuth and the zenith of a data point;
[0050] Acquire the size of the filter kernel;
[0051] For a target data point, find the neighbor data points of the target data point on the two-dimensional image according to the size of the filter kernel;
[0052] Filter the target data point using the neighbor data points to obtain the filtered data of the target data point, and update the coordinates of the target data point using the filtered data.
[0053] In another embodiment, the processing module is used to:
[0054] Acquire the point cloud data to be processed;
[0055] Generate a two-dimensional image according to the spherical coordinates of all the data points in the point cloud data, wherein the horizontal coordinate of each pixel in the two-dimensional image corresponds to the azimuth of a data point, the vertical coordinate corresponds to the zenith of a data point, and the pixel value of the pixel corresponds to the depth value of the data point;
[0056] For each data point, acquire the size of the filter kernel of the data point according to the depth value;
[0057] For a target data point, find the neighbor data points of the target data point on the two-dimensional image according to the size of the filter kernel;
[0058] Acquire the depth value of the target data point using the neighbor data points, and update the coordinates of the target data point using the filtered data.
[0059] Further, the processing module is further used to:
[0060] Acquire the point cloud data to be processed by the laser scanner, wherein the data points in the point cloud data to be processed are in Cartesian coordinates;
[0061] Acquire the spherical coordinates of the data points in the point cloud data to be processed through coordinate conversion.
[0062] Further, the processing module is further used to:
[0063] creating an initial image, the size of the initial image being determined according to the azimuth resolution and the elevation resolution of the laser scanner;
[0064] for each data point, obtaining a pixel position of the data point on the initial image according to the azimuth and the elevation of the data point, and updating a pixel value of the pixel position with a depth value of the data point;
[0065] obtaining the depth values and the pixel positions of all data points to generate the two-dimensional image.
[0066] In another embodiment, the processing module is configured to:
[0067] creating an initial image, the size of the initial image being determined according to the azimuth resolution and the elevation resolution of the laser scanner;
[0068] for each data point, obtaining a pixel position of the data point on the initial image according to the azimuth and the elevation of the data point, and updating a pixel value of the pixel position with a depth value of the data point;
[0069] obtaining the depth values and the pixel positions of all data points to generate the two-dimensional image.
[0070] According to the angular resolution of the radar scanner, a canvas (initial image) with a proper size is created, and a pixel corresponding to each (azimuth, elevation) on the canvas is obtained, and a distance value corresponding to the azimuth is written into the pixel (gray value).
[0071] The size of the canvas has a direct impact on the running speed of the filter and the filtering effect. Too large a size will slow down the running speed, and too small a size will affect the filtering effect. The size of the canvas is defined according to the horizontal angular resolution and the vertical angular resolution of the device.
[0072] In theory, a laser radar on the market can cover the entire space by rotating 180 degrees horizontally, but based on the density and quality requirements of point clouds for application scenarios, most laser radars will rotate more than 180 degrees horizontally, which may result in multiple sampling in the same direction or sampling at a density less than the actual resolution. Therefore, under the condition that the condition allows, the canvas is enlarged by a multiple of the super-resolution.
[0073] Further, the processing module is further configured to:
[0074] for each data point, obtaining a pixel position of the data point on the initial image according to the azimuth and the elevation of the data point, and determining whether the pixel position has a gray value,
[0075] if not, writing a gray value of the data point into the pixel position;
[0076] If yes, it is judged whether the difference between the gray value of the current data point and the gray value of the existing data point is less than a preset difference value, if yes, the average value of the gray value of the current data point and the gray value of the existing data point is written into the pixel point position, if no, the gray value of one data point is discarded according to a preset rule.
[0077] In another embodiment, the processing module is further configured to:
[0078] For each data point, the pixel point position of the data point on the initial image is obtained according to the azimuth angle and the elevation angle of the data point, and it is judged whether the pixel point position has a gray value,
[0079] If no, the gray value of the data point is written into the pixel point position;
[0080] If yes, it is judged whether the difference between the depth value of the current data point and the gray value of the pixel point position is less than a preset difference value, if yes, the average value of the gray value of the current data point and the gray value of the pixel point position is written into the pixel point position, if no, the gray value of the pixel point position is not updated.
[0081] Each pixel of the canvas can write at most one value, so when the device samples a direction multiple times, a threshold is set according to the standard deviation of the ranging of the laser radar. For a direction with multiple depth values, the first written depth value is taken as the standard, if the difference between the obtained depth value and it is less than the threshold, the points are simply averaged; otherwise, the depth value of the later point or the gray value of the most suspicious data point is discarded.
[0082] Further, the processing module is further configured to:
[0083] For each data point, a quality parameter of the data point is obtained according to the included angle between the laser beam and the surface of the scanned object, the flatness of the scanned object and the reflectivity of the laser, the larger the included angle, the higher the quality of the laser scanning, the higher the flatness, the higher the quality of the laser scanning, and the higher the reflectivity of the laser, the higher the quality of the laser scanning;
[0084] The quality parameter is associated with the distance value in the spherical coordinates of the data point.
[0085] In other embodiments, the processing module is configured to:
[0086] For each data point, a quality parameter of the data point is obtained according to the included angle between the laser beam and the normal of the surface of the scanned object, the roughness and the reflectivity of the data point, the smaller the included angle, the higher the quality of the laser scanning, the higher the roughness, the higher the quality of the laser scanning, and the higher the reflectivity of the laser, the higher the quality of the laser scanning;
[0087] correlate the quality parameter with the distance value in the spherical coordinates of the data point, wherein, within the effective range, the closer the distance between the scanning station and the scanned object, the higher the quality parameter;
[0088] determine whether the quality parameter score of the data point is less than a parameter threshold, and if so, discard the data point.
[0089] Research shows that the precision of the laser radar is affected by the angle between the light beam and the scanned object: the smaller the angle, the greater the error. Therefore, for each data point, a plane is fitted to the data point and its neighbors, and the angle between the plane and the radar light beam is calculated, which is used as the first evaluation criterion for the quality of the data point.
[0090] Then, if the scanned object is flat and rough (high reflectivity), the difference in the distance value in the spherical coordinates will be relatively small. Therefore, we use the variance of the values of its neighbors as the second evaluation criterion for the quality of the data point.
[0091] According to the distance value of the point and the distance values of its neighbors, the quality of the point is evaluated by means such as moving average, RANSAC or evaluating the angle between the fitted plane and the radar light beam. If the quality of the point is acceptable, the point is filtered and the calculation result is used to update the value of the pixel. If the quality of the point is very poor, the point is discarded. This further reduces the amount of calculation and improves the accuracy of the data.
[0092] Further, the processing module is further configured to:
[0093] For a data point, the size of the filter kernel of the data point is obtained according to the distance value of the data point and the quality parameter associated with the distance value, wherein the smaller the distance value of the data point, the larger the size of the filter kernel, and the higher the quality parameter of the data point, the smaller the size of the filter kernel.
[0094] Unlike setting a search radius, this embodiment considers the light beam emitted by the laser radar as parallel light and sets a spot radius d. Based on this setting, for a certain light beam, the closer the scanned object to the radar, the larger the solid angle covered by the light beam, and the more neighbors it has, and the larger the size of its kernel. In practical applications, we can calculate the size of the solid angle covered by the spot within this distance based on the parameters of the device and the size of the spot, and then find all the neighbors.
[0095] In other practical ways, the processing module is further configured to:
[0096] For a data point, the size of the filter kernel of the data point is obtained according to the distance value of the data point and the quality parameter associated with the distance value, wherein the smaller the distance value of the data point, the larger the size of the filter kernel.
[0097] Further, the processing module is further configured to:
[0098] For a data point, a fitting plane is generated using the data point and surrounding data points;
[0099] A flatness of the fitting plane is obtained and an angle between the laser beam and the scanned object is obtained using the fitting plane and the azimuth and elevation of the data point;
[0100] The size of the filter kernel is obtained according to the depth value of the data point, and the size of the filter kernel of the data point is obtained according to the spot size of the data point and the parameters of the laser scanner.
[0101] The size of the filter kernel of the data point is obtained according to the spot size of the data point and the parameters of the laser scanner.
[0102] In other embodiments, the processing module is further configured to:
[0103] For a data point, a fitting plane is generated using the data point and surrounding data points;
[0104] A normal of the fitting plane is obtained and a normal angle of the data point is calculated;
[0105] The size of the filter kernel of the data point is obtained according to the depth value of the data point, and the size of the filter kernel of the data point is obtained according to the spot size of the data point and the parameters of the laser scanner.
[0106] The size of the filter kernel of the data point is obtained according to the spot size of the data point and the parameters of the laser scanner.
[0107] Further, the processing module is further configured to:
[0108] For a data point, bilateral filtering is performed using neighboring data points of the data point, and the weight value in the bilateral filtering is obtained according to a quality parameter of the data point, a difference between the depth values of the neighboring data points and the data point, and an angular distance between the neighboring data points and the data point, the higher the quality parameter, the smaller the weight, the smaller the difference between the depth values, the larger the weight, and the smaller the angular distance, the larger the weight.
[0109] For a point p in the point cloud, there are n neighbors for each neighbor q of p, the degree of the angle between p and its neighbor and the absolute value of the difference between the depth values of p and its neighbor are used as weights to obtain a weighted average of the neighbors of the point, and the distance value of the data point is updated in this way.
[0110] The quality of the data point can not only affect the size of the kernel but also affect the weight of the weighted average.
[0111] In other embodiments, the processing module is further configured to:
[0112] For a data point, bilateral filtering is performed using neighboring data points of the data point, and the weight value in the bilateral filtering is obtained according to a quality parameter of the data point, a difference between the depth values of the neighboring data points and the data point, and an angular distance between the neighboring data points and the data point, the higher the quality parameter, the smaller the weight, the smaller the difference between the depth values, the larger the weight, and the smaller the angular distance, the larger the weight.
[0113] Referring to Figure 1, the embodiment further provides a point cloud filtering method, comprising:
[0114] Step 100, obtaining the to-be-processed point cloud data and the spherical coordinates of the data points in the to-be-processed point cloud data;
[0115] Step 101, generating a two-dimensional image according to the spherical coordinates of all the data points, wherein the position of each pixel in the two-dimensional image corresponds to the azimuth and elevation of a data point;
[0116] Step 102, obtaining the size of the filter kernel;
[0117] Step 103, for a target data point, finding the neighbor data points of the target data point on the two-dimensional image according to the size of the filter kernel;
[0118] Step 104, filtering the target data point by using the neighbor data points to obtain the filtered data of the target data point, and updating the target data point by using the filtered data.
[0119] In the embodiment, step 100 specifically comprises:
[0120] The to-be-processed point cloud data is obtained by a laser scanner, and the data points in the to-be-processed point cloud data are Cartesian coordinates;
[0121] The spherical coordinates of the data points in the to-be-processed point cloud data are obtained by coordinate conversion.
[0122] In the embodiment, step 101 specifically comprises:
[0123] Step 1011, creating an initial image, wherein the size of the initial image is determined according to the elevation resolution and the azimuth resolution of the laser scanner;
[0124] Step 1012, for each data point, obtaining the pixel position of the data point on the initial image according to the azimuth and the elevation of the data point, and taking the gray value of the corresponding pixel as the distance value of the data point;
[0125] Step 1013, obtaining the pixel positions of all the data points to generate the two-dimensional image.
[0126] Step 1013 specifically comprises:
[0127] Step 10131, for each data point, obtaining the pixel position of the data point on the initial image according to the azimuth and the elevation of the data point.
[0128] Step 10132, judging whether the pixel position has a gray value, if not, executing step 10133, and if yes, executing step 10135.
[0129] Step 10133, writing the gray value of the data point into the pixel position.
[0130] After all data points are processed, pixel point positions of all data points are obtained to generate the two-dimensional image. Then step 102 is executed
[0131] In step 10135, it is determined whether the difference between the gray value of the current data point and the existing data point is less than a preset difference value. If yes, step 10136 is executed, and if no, step 10137 is executed.
[0132] In step 10136, the average value of the gray values of the current data point and the existing data point is written into the pixel point position, and then step 10134 is executed.
[0133] In step 10137, the gray value of one data point is discarded according to a preset rule, which can be the last data point or the first data point, or one data point, and then step 10134 is executed.
[0134] The point cloud filtering method comprises:
[0135] For each data point, a quality parameter of the data point is obtained according to an included angle between the laser beam and the scanned object, flatness of the scanned object, and laser reflectivity. The larger the included angle, the higher the laser scanning quality, the higher the flatness, the higher the laser scanning quality, and the higher the laser reflectivity, the higher the laser scanning quality.
[0136] The quality parameter is associated with a distance value in the spherical coordinates of the data point.
[0137] Further, the size of the filtering kernel is obtained, comprising:
[0138] For a data point, the size of the filtering kernel of the data point is obtained according to the distance value of the data point and the quality parameter associated with the distance value. The smaller the distance value of the data point, the larger the size of the corresponding filtering kernel, and the higher the quality parameter of the data point, the smaller the size of the corresponding filtering kernel.
[0139] Further, the point cloud filtering method comprises:
[0140] For a data point, a fitting plane is generated using the data point and surrounding data points.
[0141] The flatness of the fitting plane is obtained, and the included angle between the laser beam and the scanned object is obtained using the fitting plane and the azimuth angle and the elevation angle of the data point.
[0142] The size of the filtering kernel is obtained, comprising:
[0143] For a data point, the size of the filtering kernel of the data point is obtained according to the size of the light spot of the data point and the parameters of the laser scanner.
[0144] Further, step 104 comprises:
[0145] For one data point, bilateral filtering is performed using the neighboring data points of the data point, and the weight value in the bilateral filtering is obtained according to the quality parameter of the data point. The higher the quality parameter is, the smaller the weight is.
[0146] Although the specific embodiments of the present application are described above, those skilled in the art should understand that these are only illustrative, and the protection scope of the present application is defined by the appended claims. Those skilled in the art can make various changes or modifications to these embodiments without departing from the principles and essence of the present application, and these changes and modifications all fall within the protection scope of the present application.
Claims
1. A point cloud filtering method for a laser scanner, characterized in that, The point cloud filtering method comprises: acquiring point cloud data to be processed; generating a two-dimensional image according to spherical coordinates of all data points in the point cloud data, wherein a horizontal coordinate of each pixel of the two-dimensional image corresponds to an azimuth angle of a data point, a vertical coordinate of the pixel corresponds to an elevation angle of the data point, and a pixel value of the pixel corresponds to a depth value of the data point; for each data point, acquiring a size of a filtering kernel of the data point according to the depth value; for a target data point, finding neighbor data points of the target data point on the two-dimensional image according to the size of the filtering kernel; acquiring a depth value of the target data point by using the neighbor data points, and updating a coordinate of the target data point by using the filtered data; The point cloud filtering method comprises: for each data point, acquiring a quality parameter of the data point according to an included angle between a laser beam and a normal of a surface of a scanned object, roughness, and reflectivity of the data point, wherein the smaller the included angle, the higher the quality of laser scanning, the higher the roughness, the higher the quality of laser scanning, and the higher the reflectivity, the higher the quality of laser scanning; associating the quality parameter with a distance value in a spherical coordinate of the data point, wherein the closer the distance between a scanning station and the scanned object, the higher the quality parameter within an effective range; determining whether the quality parameter score of the data point is less than a parameter threshold value, and discarding the data point if yes; The acquiring of the depth value of the target data point by using the neighbor data points, and the updating of the coordinate of the target data point by using the filtered data, comprises: for a data point, performing bilateral filtering processing by using neighbor data points of the data point, wherein a weight value in the bilateral filtering is acquired according to a quality parameter of the data point, a difference between depth values of the neighbor data points and the data point, and an angular distance between the neighbor data points and the data point, wherein the higher the quality parameter, the smaller the weight, the smaller the difference between the depth values, the larger the weight, and the smaller the angular distance, the larger the weight.
2. The point cloud filtering method of claim 1, wherein, The generating of the two-dimensional image according to the spherical coordinates of all data points in the point cloud data comprises: creating an initial image, wherein a size of the initial image is determined according to an elevation angle resolution and an azimuth angle resolution of a laser scanner; for each data point, acquiring a pixel position of the data point on the initial image according to the azimuth angle and the elevation angle of the data point, and updating a pixel value of the pixel position by using the depth value of the data point; acquiring the depth values and the pixel positions of all data points to generate the two-dimensional image.
3. The point cloud filtering method of claim 2, wherein, The acquiring of the depth values and the pixel positions of all data points to generate the two-dimensional image comprises: for each data point, acquiring a pixel position of the data point on the initial image according to the azimuth angle and the elevation angle of the data point, and determining whether the pixel position exists in a gray value, if not, writing the gray value of the data point into the pixel position; if yes, determining whether a difference between the depth value of the current data point and the gray value already existing in the pixel position is less than a preset difference value, if yes, writing an average value of the current data point and the gray value already existing in the pixel position into the pixel position, and if not, not updating the gray value of the pixel position.
4. The point cloud filtering method of claim 1, wherein, The acquiring of the size of the filtering kernel of the data point according to the depth value comprises: For a data point, a size of a filter core of the data point is obtained according to a distance value of the data point and a quality parameter associated with the distance value, and the smaller the distance value of the data point is, the larger the size of the filter core is.
5. The point cloud filtering method of claim 4, wherein, The point cloud filtering method comprises: For a data point, a fitting plane is generated by using the data point and surrounding data points; A normal of the fitting plane is obtained and a normal angle of the data point is calculated; The size of the filter core of the data point is obtained according to the depth value, comprising: For a data point, a size of a filter core of the data point is obtained according to a distance value of the data point, a quality parameter associated with the distance value, a spot size of the data point and a parameter of a laser scanner.
6. A point cloud filtering system, characterized in that, The point cloud filtering system comprises a processing module and a laser scanner, and is used to implement the point cloud filtering method according to any one of claims 1 to 5.
7. A laser scanner characterized by, The laser scanner comprises a processing module, and is used to implement the point cloud filtering method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Point cloud optimization method, apparatus and device
CN112488910A
Detection method and device, electronic equipment and storage medium
CN114862804A