Point cloud processing method for measured quantities and lidar
By dividing data points into units and evaluating data quality in point cloud processing, and selecting the highest quality data source to generate an optimized model, the error problem in point cloud data processing is solved and the measurement accuracy is improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- UNRE (SHANGHAI) INFORMATION TECHNOLOGY CO LTD
- Filing Date
- 2023-08-24
- Publication Date
- 2026-08-04
AI Technical Summary
In existing technologies, point cloud data processing involves significant errors that severely affect the accuracy of actual measurements, including point cloud stitching errors, lidar ranging errors, and distance errors caused by the lidar incident angle.
By acquiring the point cloud model to be processed and dividing it into data point units, evaluating the quality of each data point, selecting the data source with the highest data quality, and generating an optimized model to reduce error accumulation.
It reduces point cloud stitching errors, lidar ranging errors, and distance errors caused by incident angles, thereby improving the accuracy of point cloud measurements.
Smart Images

Figure CN117092655B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a point cloud processing method and a lidar for actual measurement. Background Technology
[0002] 3D laser scanners suitable for indoor environmental scanning mostly employ Time-of-Flight (ToF) ranging technology, with LiDAR (light detection and ranging) being the most common. LiDAR is an optical remote sensing technology that calculates the distance to an object by measuring the time difference between transmitted and received pulse signals. Its advantages lie in high accuracy and long range; however, it is also limited by the physical properties of light. For example, LiDAR has difficulty measuring the distance from the sensor to a window (light refracts when passing through glass), and it cannot scan structures behind walls (light travels in straight lines). Furthermore, the accuracy of LiDAR is also affected by the material of the object being scanned, the distance between the object and the scanner, and the angle of incidence.
[0003] 3D scanning has become an application in many measurement tasks. The advantage of 3D data is that the data itself can reflect the actual scene in digital format, thus allowing for various measurement tasks on scanned 3D data (also known as point clouds). Since manual on-site measurement is difficult, time-consuming, and sometimes even impossible, 3D data measurement offers greater flexibility and can be automated using various software tools.
[0004] Similar to the construction industry, measurement and inspection are among the most critical procedures in its workflow. Acquiring point clouds of building structures can greatly facilitate various measurement and inspection tasks by transferring them from on-site measurements to comprehensive analysis of point cloud data. Due to the extremely high precision requirements (measured in millimeters) in surveying and inspection during construction, high-precision LiDAR 3D scanners, capable of achieving accuracy down to the millimeter, are typically employed. While the precision of these LiDAR-based 3D scanners may seem sufficient for the applications, various sources of error exist in practice, requiring specialized solutions.
[0005] To capture a point cloud of an entire interior architectural structure composed of numerous walls, stitching together multiple point clouds scanned from different locations is unavoidable. As more and more point clouds are stitched together, stitching errors gradually accumulate. Secondly, in any LiDAR-based scanner, errors increase with scanning distance. Consider capturing the same object through two or more scans; the distance from the object to different scan centers may vary, potentially introducing noise into the entire stitched point cloud. Finally, the angle of incidence of the light emitted by the LiDAR onto a plane (e.g., a wall) affects the accuracy of distance measurements. While different methods exist to minimize these errors, even small, minimized errors can accumulate and impact the measurement.
[0006] Existing technologies often suffer from significant errors during point cloud data processing, severely impacting the accuracy of actual measurements. Summary of the Invention
[0007] The technical problem to be solved by this invention is to overcome the defects of large errors in the point cloud data processing process in the prior art, which seriously affect the accuracy of actual measurement. This invention provides a point cloud processing method and a lidar for actual measurement that can reduce the accumulation of errors, including but not limited to point cloud stitching errors, lidar ranging errors and distance errors caused by lidar incident angle, so as to obtain the best measurement effect, obtain more accurate point cloud data, and improve the accuracy of point cloud measurement.
[0008] The present invention solves the above-mentioned technical problems through the following technical solution:
[0009] A point cloud processing method for actual measurement, characterized in that the point cloud processing method includes:
[0010] Obtain a point cloud model to be processed;
[0011] The point cloud model to be processed is divided into several data point units;
[0012] For a data point unit, obtain the data quality of each data source for the data point unit;
[0013] Obtain all optimal data point units, where the data points in the optimal data point units are the data points from the data source with the highest data quality;
[0014] An optimized model of the point cloud model to be processed is generated using all the best data point units.
[0015] Preferably, the data quality of each data source in the data point acquisition unit includes:
[0016] For a data point of a data point unit, the distance value and the angle value are obtained based on the laser beam propagation distance and the laser beam incident angle of each data point. The higher the score function, the higher the data quality.
[0017] Data quality scores for data points are obtained using distance value subtraction function, distance value subtraction function weight, angle value subtraction function, and angle value subtraction function weight.
[0018] The data quality of a data point unit is obtained by calculating the data quality scores of all data points in the unit.
[0019] Preferably, the larger the laser beam propagation distance value, the smaller the weight of the distance value in the component function; the larger the laser beam incident angle value, the smaller the weight of the angle value in the component function. The data quality of each data source in the data acquisition unit includes:
[0020] For a data point from a data source in a data point unit, obtain the average of the partial function values of the distance values of all data points and the average of the partial function values of the angle values of all data points;
[0021] The data quality score is obtained by using the average of the distance score function values, the weight of the distance score function, the average of the angle score function values, and the weight of the angle score function.
[0022] Preferably, the point cloud processing method includes:
[0023] The point cloud model to be processed is divided into several voxels;
[0024] For a data point of a data source for a voxel, the distance value and the angle value are obtained based on the laser beam propagation distance and the laser beam incident angle value of each data point. The higher the score function, the higher the data quality.
[0025] Data quality scores for data points are obtained using distance value subtraction function, distance value subtraction function weight, angle value subtraction function, and angle value subtraction function weight.
[0026] The data quality of a data source for a voxel is obtained by calculating the data quality score of all data points in the voxel.
[0027] Preferably, the point cloud processing method includes:
[0028] Project the point cloud model to be processed onto a plane to obtain a two-dimensional point set image;
[0029] A number of point set squares are obtained by dividing a two-dimensional point set image with a preset grid as the data point unit;
[0030] For a data point of a data source in a point set grid, obtain the distance value and the angle value of the laser beam propagation distance and the incident angle of the laser beam for each data point. The higher the score function, the higher the data quality.
[0031] Data quality scores for data points are obtained using distance value subtraction function, distance value subtraction function weight, angle value subtraction function, and angle value subtraction function weight.
[0032] The data quality of a data source for a point set grid is obtained based on the data quality scores of all data points in the point set grid.
[0033] Preferably, the step of obtaining a point cloud model to be processed includes:
[0034] Obtain point cloud data from several sites;
[0035] Obtain the transformation matrix of the point cloud data;
[0036] Transform the point cloud data of all stations using a transformation matrix;
[0037] Obtain a point cloud model from the stitched and transformed point cloud data;
[0038] Obtain the point cloud model to be processed from the point cloud model.
[0039] Preferably, the data points on the point cloud model include data source identifiers, and the point cloud processing method includes:
[0040] For a data point unit, determine whether the data point data source in the data point unit is unique. If so, the data point with the unique data source is taken as the optimal data point unit. Otherwise, the optimal data point unit is obtained by using data quality.
[0041] The present invention also provides a point cloud processing device for actual measurement, characterized in that the point cloud processing device is used to implement the point cloud processing method described above.
[0042] The present invention also provides a lidar, which includes a processing module for implementing the point cloud processing method described above.
[0043] The present invention also provides a lidar system, characterized in that the lidar system includes a lidar and a processing unit, wherein the lidar is used to implement the point cloud processing method described above.
[0044] Based on common knowledge in the field, the above-mentioned preferred conditions can be combined arbitrarily to obtain various preferred embodiments of the present invention.
[0045] The positive and progressive effects of this invention are as follows:
[0046] The point cloud processing method and lidar of the present invention can reduce the accumulation of errors, including but not limited to point cloud stitching errors, lidar ranging errors, and distance errors caused by lidar incident angle, so as to obtain the best measurement effect, obtain more accurate point cloud data, and improve the accuracy of point cloud measurement. Attached Figure Description
[0047] Figure 1 This is a schematic diagram of the point cloud processing device according to Embodiment 1 of the present invention.
[0048] Figure 2 This is a flowchart of the point cloud processing method according to Embodiment 1 of the present invention. Detailed Implementation
[0049] The present invention will be further illustrated by way of embodiments below, but the present invention is not limited to the scope of the embodiments described herein.
[0050] Example 1
[0051] See Figure 1 This embodiment provides a point cloud processing device. The point cloud processing device can be a processing terminal, such as a PC, laptop, mobile tablet or other device with computing power, or a server. The server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud computing and big data and artificial intelligence platforms.
[0052] The point cloud processing device includes an acquisition module 11, a partitioning module 12, a calculation module 13, an operation module 14, and a generation module 15.
[0053] The acquisition module is used to acquire a point cloud model to be processed.
[0054] The partitioning module is used to divide the point cloud model to be processed into several data point units.
[0055] For a data point unit, the calculation module is used to obtain the data quality of each data source for the data point unit.
[0056] The running module is used to obtain all optimal data point units, where the data points in the optimal data point units are the data points from the data source with the highest data quality.
[0057] The generation module is used to generate an optimized model of the point cloud model to be processed using all the best data point units.
[0058] Specifically, the computing module is used for:
[0059] For a data point of a data point unit, the distance value and the angle value are obtained based on the laser beam propagation distance and the laser beam incident angle of each data point. The higher the score function, the higher the data quality.
[0060] Data quality scores for data points are obtained using distance value subtraction function, distance value subtraction function weight, angle value subtraction function, and angle value subtraction function weight.
[0061] The data quality of a data point unit is obtained by calculating the data quality scores of all data points in the unit.
[0062] Specifically, the larger the laser beam propagation distance value, the smaller the weight of the distance value in the component function; the larger the laser beam incident angle value, the smaller the weight of the angle value in the component function.
[0063] The calculation module is used for:
[0064] For a data point in a data point unit from a data source, obtain the average of the distance function values and the average of the angle function values of all data points.
[0065] The data quality score is obtained by using the average of the distance score function values, the weight of the distance score function, the average of the angle score function values, and the weight of the angle score function.
[0066] Specifically, the partitioning module is used to divide the point cloud model to be processed into several voxels;
[0067] The calculation module is used for:
[0068] For a data point of a data source for a voxel, the distance value and the angle value are obtained based on the laser beam propagation distance and the laser beam incident angle value of each data point. The higher the score function, the higher the data quality.
[0069] Data quality scores for data points are obtained using distance value subtraction function, distance value subtraction function weight, angle value subtraction function, and angle value subtraction function weight.
[0070] The data quality of a data source for a voxel is obtained by calculating the data quality score of all data points in the voxel.
[0071] The point cloud processing device further includes a preprocessing module 16, used for:
[0072] Obtain point cloud data from several sites;
[0073] Obtain the transformation matrix of the point cloud data;
[0074] Transform the point cloud data of all stations using a transformation matrix;
[0075] Obtain a point cloud model from the stitched and transformed point cloud data;
[0076] Obtain the point cloud model to be processed from the point cloud model.
[0077] The point cloud processing device includes a judgment module 17, used for:
[0078] The data points on the point cloud model include data source identifiers, and the point cloud processing method includes:
[0079] For a data point unit, determine whether the data point data source in the data point unit is unique. If so, the data point with the unique data source is taken as the optimal data point unit. Otherwise, the optimal data point unit is obtained by using data quality.
[0080] The point cloud processing apparatus of this embodiment can achieve the following:
[0081] Select the area to be measured on the stitched point cloud.
[0082] By considering the impact of different error sources on different measurements, the appropriate 3D data source can be selected.
[0083] Specifically, the point cloud (data points) within this range is first queried for the corresponding 3D data source using the 3D voxel method.
[0084] Then, the error contribution of the data source to the measurement is calculated, and the data source with the lowest error contribution value is selected as the data point of the 3D voxel.
[0085] Using the method described above for finding the optimal data source, identify all data with low error contribution values within the measurement range, and then measure the selected 3D data (the range to be measured).
[0086] Point cloud data from multiple sites was collected using a LiDAR scanner. At least two parameters were assigned to each 3D point in the point cloud: (1) beam propagation distance, and (2) beam incident angle. The beam propagation distance was calculated from the distance between the point and its individual origin; the beam incident angle was obtained from the angle between the plane normal vector and the point vector. This yielded the cost function for the data points:
[0087] S(i)=w d f d (i)+w o f o (i)
[0088] Among them, w d ,w o These are the weights of the distance-value sub-function and the angle-value sub-function, respectively.
[0089] f d ,f o These are the scoring functions for calculating the beam propagation distance and the beam incident angle (the scoring function for distance and the scoring function for angle), respectively, where i represents each data point.
[0090] Furthermore, if other parameters contribute to the error of the measurement item, they can also be added together using the above formula.
[0091] By employing various stitching methods, such as but not limited to ICP algorithms, the transformation matrix between point clouds is found, and the identification number of the data source to which each point belongs is marked on the stitched point cloud. Therefore, the corresponding data source within a certain range can be found on the stitched point cloud based on the identification number. After stitching, complete spatial data can be obtained.
[0092] Considering two or more data sources within the measurement range, the entire 3D space is divided into small grids with specific voxels. For grids containing data from two or more data sources, an average cost function for each data source is calculated, and points from the data source with the higher score are selected.
[0093] For voxels containing only one data source, these points will be automatically preserved.
[0094] See Figure 2 Using the point cloud processing device described above, this embodiment also provides a point cloud processing method, including:
[0095] Step 100: Obtain point cloud data for several sites;
[0096] Step 101: Obtain the transformation matrix of the point cloud data;
[0097] Step 102: Transform the point cloud data of all stations using a transformation matrix;
[0098] Step 103: Obtain the point cloud model by splicing and transforming the point cloud data;
[0099] Step 104: Obtain the point cloud model to be processed from the point cloud model.
[0100] Step 105: Divide the point cloud model to be processed into several data point units;
[0101] Step 106: For a data point unit, obtain the data quality of each data source for the data point unit;
[0102] Step 107: For a data point unit, determine whether the data source of the data points in the data point unit is unique. If so, proceed to step 108; otherwise, proceed to step 109.
[0103] Step 108: Select the data point from the unique data source as the optimal data point unit and then execute step 110.
[0104] Step 109: Obtain the optimal data point unit by utilizing data quality.
[0105] Step 110: Obtain all optimal data point units, wherein the data points in the optimal data point units are the data points from the data source with the highest data quality;
[0106] Step 111: Generate an optimized model of the point cloud model to be processed using all the best data point units.
[0107] Step 106 specifically includes:
[0108] For a data point of a data point unit, the distance value and the angle value are obtained based on the laser beam propagation distance and the laser beam incident angle of each data point. The higher the score function, the higher the data quality.
[0109] Data quality scores for data points are obtained using distance value subtraction function, distance value subtraction function weight, angle value subtraction function, and angle value subtraction function weight.
[0110] The data quality of a data point unit is obtained by calculating the data quality scores of all data points in the unit.
[0111] Specifically, the larger the laser beam propagation distance value, the smaller the weight of the distance value in the component function; the larger the laser beam incident angle value, the smaller the weight of the angle value in the component function. Step 106 specifically includes:
[0112] For a data point from a data source in a data point unit, obtain the average of the partial function values of the distance values of all data points and the average of the partial function values of the angle values of all data points;
[0113] The data quality score is obtained by using the average of the distance score function values, the weight of the distance score function, the average of the angle score function values, and the weight of the angle score function.
[0114] Step 105 specifically involves dividing the point cloud model to be processed into several voxels;
[0115] Step 106 specifically includes: for a data point of a data source of a voxel, obtain the distance value subdivision function and the angle value subdivision function based on the laser beam propagation distance value and the laser beam incident angle value of each data point. The higher the subdivision function, the higher the data quality.
[0116] Data quality scores for data points are obtained using distance value subtraction function, distance value subtraction function weight, angle value subtraction function, and angle value subtraction function weight.
[0117] The data quality of a data source for a voxel is obtained by calculating the data quality score of all data points in the voxel.
[0118] Example 2
[0119] This embodiment is basically the same as Embodiment 1, except that:
[0120] Specifically, the partitioning module is used to project the point cloud model to be processed onto a plane to obtain a two-dimensional point set image; and to partition the two-dimensional point set image with a preset grid to obtain a number of point set squares as the data point units.
[0121] The calculation module is used for:
[0122] For a data point of a data source in a point set grid, obtain the distance value and the angle value of the laser beam propagation distance and the incident angle of the laser beam for each data point. The higher the score function, the higher the data quality.
[0123] Data quality scores for data points are obtained using distance value subtraction function, distance value subtraction function weight, angle value subtraction function, and angle value subtraction function weight.
[0124] The data quality of a data source is obtained by calculating the data quality score of all data points in the voxel set.
[0125] Correspondingly, the point cloud processing method includes:
[0126] Project the point cloud model to be processed onto a plane to obtain a two-dimensional point set image;
[0127] A number of point set squares are obtained by dividing a two-dimensional point set image with a preset grid as the data point unit;
[0128] For a data point of a data source in a point set grid, obtain the distance value and the angle value of the laser beam propagation distance and the incident angle of the laser beam for each data point. The higher the score function, the higher the data quality.
[0129] Data quality scores for data points are obtained using distance value subtraction function, distance value subtraction function weight, angle value subtraction function, and angle value subtraction function weight.
[0130] The data quality of a data source for a point set grid is obtained based on the data quality scores of all data points in the point set grid.
[0131] Select the area to be measured on the stitched point cloud and locate the corresponding data source using the identification number. Then, project the points within the area onto the 2D mesh according to the normal plane, and select appropriate data through the following steps:
[0132] Combine all points within the measurement range.
[0133] Define a grid space with a specific grid size.
[0134] For each grid, collect all projected points located within the grid.
[0135] For a grid containing data from two or more data sources, calculate the average cost function for each data source. Points with a larger cost function are retained.
[0136] Points in a grid that contains only a single data source will be preserved.
[0137] Example 3
[0138] This embodiment is basically the same as Embodiment 1, except that:
[0139] This embodiment provides a lidar, which includes a processing module for implementing the functions of the point cloud processing device in Embodiment 1.
[0140] Example 4
[0141] This embodiment is basically the same as Embodiment 1, except that:
[0142] This embodiment provides a lidar system, which includes a lidar and a processing unit. The processing unit is used to implement the functions of the point cloud processing device in Embodiment 1.
[0143] While specific embodiments of the present invention have been described above, those skilled in the art should understand that these are merely illustrative examples, and the scope of protection of the present invention 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 invention, but all such changes and modifications fall within the scope of protection of the present invention.
Claims
1. A method for processing point clouds for actual measurements, characterized in that, The point cloud processing method includes: Obtain a point cloud model to be processed; The point cloud model to be processed is divided into several data point units; For a data point unit, obtain the data quality of each data source for the data point unit; Obtain all optimal data point units, where the data points in the optimal data point units are the data points from the data source with the highest data quality; An optimized model of the point cloud model to be processed is generated using all the best data point units; The process of obtaining a point cloud model to be processed includes: Obtain point cloud data from several sites; Obtain the transformation matrix of the point cloud data; Transform the point cloud data of all stations using a transformation matrix; Obtain a point cloud model from the stitched and transformed point cloud data; Obtain the point cloud model to be processed from the point cloud model.
2. The point cloud processing method as described in claim 1, characterized in that, The data quality of each data source in the data point acquisition unit includes: For a data point of a data point unit, the distance value and the angle value are obtained based on the laser beam propagation distance and the laser beam incident angle of each data point. The higher the score function, the higher the data quality. Data quality scores for data points are obtained using distance value subtraction function, distance value subtraction function weight, angle value subtraction function, and angle value subtraction function weight. The data quality of a data point unit is obtained by calculating the data quality scores of all data points in the unit.
3. The point cloud processing method as described in claim 2, characterized in that, The larger the laser beam propagation distance, the smaller the weight of the distance component function; the larger the laser beam incident angle, the smaller the weight of the angle component function. The data quality of each data source in the data acquisition unit includes: For a data point from a data source in a data point unit, obtain the average of the partial function values of the distance values of all data points and the average of the partial function values of the angle values of all data points; The data quality score is obtained by using the average of the distance score function values, the weight of the distance score function, the average of the angle score function values, and the weight of the angle score function.
4. The point cloud processing method as described in claim 2, characterized in that, The point cloud processing method includes: The point cloud model to be processed is divided into several voxels; For a data point of a data source for a voxel, the distance value and the angle value are obtained based on the laser beam propagation distance and the laser beam incident angle value of each data point. The higher the score function, the higher the data quality. Data quality scores for data points are obtained using distance value subtraction function, distance value subtraction function weight, angle value subtraction function, and angle value subtraction function weight. The data quality of a data source for a voxel is obtained by calculating the data quality score of all data points in the voxel.
5. The point cloud processing method as described in claim 2, characterized in that, The point cloud processing method includes: Project the point cloud model to be processed onto a plane to obtain a two-dimensional point set image; A number of point set squares are obtained by dividing a two-dimensional point set image with a preset grid as the data point unit; For a data point of a data source in a point set grid, obtain the distance value and the angle value of the laser beam propagation distance and the incident angle of the laser beam for each data point. The higher the score function, the higher the data quality. Data quality scores for data points are obtained using distance value subtraction function, distance value subtraction function weight, angle value subtraction function, and angle value subtraction function weight. The data quality of a data source for a point set grid is obtained based on the data quality scores of all data points in the point set grid.
6. The point cloud processing method as described in claim 1, characterized in that, The data points on the point cloud model include data source identifiers, and the point cloud processing method includes: For a data point unit, determine whether the data point data source in the data point unit is unique. If so, the data point with the unique data source is taken as the optimal data point unit. Otherwise, the optimal data point unit is obtained by using data quality.
7. A point cloud processing device for actual measurement, characterized in that, The point cloud processing device is used to implement the point cloud processing method as described in any one of claims 1 to 6.
8. A lidar, characterized in that, The lidar includes a processing module, which is used to implement the point cloud processing method as described in any one of claims 1 to 6.
9. A lidar system, characterized in that, The lidar system includes a lidar and a processing unit, wherein the lidar is used to implement the point cloud processing method as described in any one of claims 1 to 6.