A Method for Analyzing the Error of the Surface Model Based on the Partitioned ICP Algorithm
The partitioned ICP algorithm uses the chunk matching and transformation matrix superposition of the point cloud model, which solves the problem of insufficient point cloud error analysis accuracy in the existing technology, and realizes high-precision error calculation, which is suitable for error analysis in complex situations.
Patent Information
- Application Number
- CN202311180340.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-13
- Publication Date
- 2025-07-29
- Estimated Expiration
- 2043-09-13
AI Technical Summary
The existing point cloud error analysis methods have problems of insufficient accuracy and insufficient applicability when calculating the error of the three-dimensional surface modeled by drone models, especially in the case of point cloud distortion, which is difficult to accurately calculate the error.
The partitioned ICP algorithm is used to match the point cloud model in blocks, and the spatial transformation matrix is calculated through ICP registration, and the transformation matrix is gradually divided and superimposed to obtain the error value of the point cloud block centroid to achieve overall error analysis.
It improves the accuracy and applicability of point cloud error analysis, and can accurately calculate the errors between point clouds in complex situations, significantly improving the accuracy of error analysis.
Smart Images

Figure CN117351048B_ABST
Abstract
Description
Technical Field
[0001] The present invention provides a method for analyzing the error of a surface model based on a partitioned ICP algorithm. Background Art
[0002] In recent years, non-contact monitoring technologies represented by terrestrial laser scanning (TLS) and unmanned aerial vehicle (UAV) aerial photography technology have developed rapidly. Compared with traditional monitoring methods, non-contact monitoring technologies have great advantages, and there are significant improvements in terms of efficiency, safety, and operating costs compared with traditional means such as total stations, and they have been widely used in engineering. In actual use, UAV modeling has high integrity, but due to the lack of sufficient ground control points, its shape always undergoes a certain distortion. In order to obtain high-precision UAV modeling results, it is necessary to compare the accuracies of using different methods for UAV modeling and analyze the errors of the modeling results.
[0003] The point cloud obtained by three-dimensional laser scanning has limited integrity but high accuracy. Therefore, this error analysis can be carried out by comparing and calculating the UAV modeling point cloud with the three-dimensional laser scanning point cloud. It is very difficult to calculate the error generated by the point cloud because the point cloud has no features other than spatial properties, which makes it difficult to find the corresponding parts between two different point clouds and correctly measure the gap when analyzing the differences between the two point clouds. Currently, commonly used point cloud error analysis methods include shortest distance (SD), DEM of difference (DoD), Multiscale Model to Model Cloud Comparison (M3C2), etc., but they all have their own limitations and cannot calculate the error of UAV modeling distortion well.
[0004] In the prior art, there is the shortest distance method (SD), which selects an error calculation point and calculates the shortest distance from this point to the reference point cloud, and uses this distance as the error calculation result. However, in many cases, the calculated error is quite different from the true error and is only accurate in a small number of cases.
[0005] There is also the vertical distance method (DoD), which, based on DEM data, uses the difference between the two-phase DEM data at the calculation point as the error calculation result for this point. This method is only applicable when the direction of error generation is the vertical direction. When the direction of error generation includes a horizontal component, the calculation result will deviate.
[0006] In addition, there is also the M3C2 algorithm. This algorithm first needs to select the core point cloud. For a core point, the point cloud data within the specified radius R of its neighborhood is fitted into a plane, and a cylinder with a radius of r is made along the normal direction of this plane. The average positions of the error calculation point cloud and the reference point cloud data within the cylinder are calculated respectively, and the distance between the average positions is used as the error calculation result. The M3C2 algorithm has good applicability when the direction of point cloud error generation is along the normal direction, but when there is a large dislocation of the point cloud in the direction perpendicular to the normal direction, its calculation result will have a large deviation. Summary of the Invention
[0007] In order to verify the accuracy of the three-dimensional surface model, it is necessary to calculate the error generated by the model, and such an error in three-dimensional space is difficult to calculate. How to achieve high-precision error analysis of the three-dimensional model.
[0008] The present invention provides a method for analyzing the error of a surface model based on the partition ICP algorithm. This method uses a point cloud matching algorithm: the Iterative closest point (ICP) algorithm, including the following steps:
[0009] S1. The point cloud model to be subjected to error analysis is divided into blocks, and each point cloud block is respectively registered with the reference point cloud by the point cloud matching algorithm ICP to obtain a spatial transformation matrix;
[0010] S2. The point cloud block is further divided into blocks, and ICP registration is continued to obtain a further spatial transformation matrix. When the displacement of the point cloud block in a single registration process is less than the set threshold, the division of blocks is stopped, and the spatial transformation matrices obtained each time are superimposed to obtain the error value of the centroid of the point cloud block relative to the reference point cloud, thereby completing the error analysis of the overall model.
[0011] Specifically, S1 uses the point cloud matching algorithm ICP to register the point cloud block with the reference point cloud, specifically including the following steps:
[0012] By calculating the rotation and translation amounts generated during the point cloud matching process, the calculation of the error is completed. The matching between different point clouds is regarded as the process of one piece of point cloud coinciding with another piece of point cloud through rotation and translation, and this change is represented by a rotation matrix and a translation vector; through the ICP algorithm, the spatial rotation matrix M and the spatial translation vector from the point cloud P to be matched to the reference point cloud Q are obtained.
[0013]
[0014]
[0015] In the point cloud P to be matched and the reference point cloud Q respectively, according to certain constraint conditions, find the nearest points (p i , q i ), calculate the distance between the corresponding point pairs, and continuously iterate the rotation matrix and translation vector by minimizing this distance. If the distance between the corresponding points is less than the given threshold setting, the algorithm ends.
[0016] In each iteration process, a spatial rotation matrix M n and a spatial translation vector are obtained. In order to obtain the transformation from the original matching point cloud P to P n after the nth iteration, unify M n and into 4×4 homogeneous matrices R n and T n :
[0017]
[0018] Then the spatial rotation matrix and spatial translation vector of each iteration are combined into the same spatial transformation matrix M RT n :
[0019]
[0020] Multiply the M RT n obtained in each iteration to get the spatial transformation matrix M n from the original matching point cloud P to P RT after the nth iteration.
[0021]
[0022] The displacement amount in the point cloud matching process is obtained through this spatial transformation matrix.
[0023] S2 adopts multiple blockings and superimposes the calculation results of each time, specifically including the following steps:
[0024] Using the ICP algorithm to register the matching point cloud with the reference point cloud changes the overall position of the point cloud, and the shape of the point cloud will not be changed during the registration process. When there is a shape difference between the matching point cloud and the reference point cloud, it is impossible to register each part of the point cloud separately. Therefore, the final registration result is only an overall optimal solution, and it is impossible to make each local part accurately registered. Therefore, it is necessary to use the method of dividing into blocks to make each local part accurately registered separately. And there may still be problems with local non-registration after dividing into blocks. Therefore, multiple divisions are adopted. When the displacement of the block during the ICP registration process after one division is less than the set threshold τ, it is considered that the block has been completely registered. At this time, by superimposing the spatial transformation matrices in each registration process, the spatial transformation matrix of the point cloud block from the original position to the registered position can be obtained, and the error at the centroid of the point cloud block can be obtained from this.
[0025] The present invention proposes an error analysis method based on the partition ICP algorithm, which can be mainly used for the following problems:
[0026] The error generated by the three-dimensional point cloud model is difficult to calculate, and the limitations of traditional methods are relatively large. Using these methods often cannot obtain ideal results. The method proposed by this technology can better find the relationship between corresponding point pairs between different point clouds by dividing the point cloud into blocks and performing matching, accurately calculate the error generated by the point cloud, and has strong applicability even in complex situations, greatly improving the accuracy of point cloud error analysis. Brief Description of the Drawings
[0027] Figure 1 is the flow chart of the present invention;
[0028] Figure 2a is a schematic diagram of the rotation center not being at the centroid of the point cloud;
[0029] Figure 2b is a schematic diagram of the rotation center being at the centroid of the point cloud;
[0030] Figure 3 is a schematic diagram of the layout of control points for UAV modeling in the embodiment;
[0031] Figure 4a is the UAV point cloud block division process in the embodiment;
[0032] Figure 4b is the UAV point cloud block division process in the embodiment;
[0033] Figure 4c is the UAV point cloud block division process in the embodiment;
[0034] Figure 4d is the three-dimensional laser scanning point cloud in the embodiment;
[0035] Figure 5aIt is the horizontal error distribution map of the model established using the control points obtained by RTK in the embodiment;
[0036] Figure 5b It is the vertical error distribution map of the model established using the control points obtained by RTK in the embodiment;
[0037] Figure 6a The horizontal error distribution map of the model established jointly using the control points obtained by RTK and the control points obtained by TLS;
[0038] Figure 6b The vertical error distribution map of the model established jointly using the control points obtained by RTK and the control points obtained by TLS. Detailed implementation manners
[0039] The specific technical solutions of the present invention will be described in conjunction with the accompanying drawings.
[0040] A method for analyzing the error of a surface model based on a partitioned ICP algorithm, characterized in that, as Figure 1 shown, it includes the following steps:
[0041] S1. Divide the point cloud model to be analyzed for error into blocks, and let each point cloud block be respectively registered with the reference point cloud by the point cloud matching algorithm ICP to obtain a spatial transformation matrix;
[0042] S2. Further divide the point cloud block, and continue with ICP registration to obtain a further spatial transformation matrix. When the displacement of the point cloud block in a single registration process is less than the set threshold, stop dividing the block, and the error value of the centroid of the point cloud block relative to the reference point cloud can be obtained by superimposing the spatial transformation matrices obtained each time, thereby completing the overall error analysis of the model.
[0043] The core of using ICP registration for error analysis is that a transformation matrix can be obtained after ICP registration, so as to obtain the translation amount and rotation amount during the process of registering the matching point cloud to the reference point cloud. However, the matrix transformation method of the ICP algorithm takes the coordinate origin as the rotation center of the matching point cloud. When the coordinate origin is not at the centroid of the point cloud block, as Figure 2a , the rotation matrix will cause the displacement of the point cloud centroid, as Figure 2b, if the origin of coordinates is too far from the centroid of the point cloud block, even a tiny rotation amount will cause a large displacement of the centroid of the point cloud block, which will make the iteration of the ICP algorithm difficult and affect the final registration result. At the same time, in the finally obtained transformation matrix, the translation vector is not equal to the true displacement amount of the centroid of the point cloud block. To obtain the true displacement amount of the centroid of the point cloud, further calculation is required. Therefore, during the registration process, the centroid of the point cloud block is used as the origin of coordinates. In this case, the rotation center of the point cloud block is the centroid of the point cloud block, and the rotation amount and the translation amount do not interfere with each other, which is beneficial to the iterative registration of the ICP algorithm. And after obtaining the transformation matrix in the ICP registration process, the translation amount directly obtained through this transformation matrix is the accurate displacement value of the centroid of the point cloud block during the registration process, which can be directly used for error analysis.
[0044] The following is illustrated with specific embodiments: Yeba Tan Hydropower Station is located in the upper reaches of the Jinsha River and is the 7th level in the 13-level development plan. The power station is located on about 350m of the main stream of the Jinsha River below the Jiangqu Estuary at the junction of Baiyu County, Sichuan Province and Gongjue County, Tibet Autonomous Region. The mountain bodies on both sides of the dam area of Yeba Tan Hydropower Station are thick and the terrain is steep. The elevation of the mountaintop is greater than 4000m and the relative height difference is greater than 1000m, belonging to the alpine landform. For the smooth construction of the project, unmanned aerial vehicle (UAV) aerial photography was used for surface modeling, and 3D laser scanner was used to collect surface point cloud data. To verify the accuracy of the UAV modeling, error analysis was carried out on it.
[0045] As Figure 3 , two control point setting methods were adopted for UAV modeling. One is to only use the control points obtained by RTK for modeling, and the other is to jointly use the control points obtained by RTK and the control points obtained by TLS for modeling.
[0046] After obtaining the modeling results, the UAV modeling point cloud was divided into blocks multiple times, such as Figures 4a to 4c , and was respectively subjected to ICP registration with the 3D laser scanning point cloud as shown in Figure 4d , and then the error of the centroid of each point cloud block was calculated.
[0047] Four measurement points were selected in the UAV model obtained by the first method, and the positions of the measurement points are as shown in Figure 4c . Their errors were calculated using different methods, and the actual errors were calculated manually for comparison. The obtained results are shown in Table 1. It can be seen from Table 1 that at different measurement points, the results obtained by the error calculation method proposed by the present invention are quite close to the actual errors, and its overall effect is significantly better than the other several methods.
[0048] Table 1 Error calculation results of different error calculation methods
[0049]
[0050] According to the transformation matrix obtained after the matching calculation for each point cloud block, the horizontal direction error and vertical direction error of the centroid of each point cloud are decomposed, and the inverse distance weighting method is used for differencing to obtain the error distribution map as Figure 5a and Figure 5b shown.
[0051] By using this error analysis method, the error distributions of the modeling results obtained by the two UAV modeling methods are accurately analyzed. It can be compared that the overall error of the method of using the control points obtained by RTK and the control points obtained by TLS together for modeling is smaller as shown in Figure 6a and Figure 6b shown, and its accuracy is verified, proving its usability.
Claims
1. A method for analyzing the error of a surface model based on the partitioned ICP algorithm, characterized in that, The steps include the following: S1. Segment the point cloud model to be subjected to error analysis, and perform ICP registration, a point cloud matching algorithm, on each point cloud segment with a reference point cloud to obtain a spatial transformation matrix; S2. Further segment the point cloud segments, and continue with ICP registration to obtain further spatial transformation matrices; when the displacement of a point cloud segment during a single registration process is less than a set threshold, stop segmenting, and superimpose the spatial transformation matrices obtained each time to obtain the error value of the centroid of the point cloud segment relative to the reference point cloud, thereby completing the error analysis of the entire model.
2. The method for analyzing the surface model error based on the partitioned ICP algorithm according to claim 1, wherein S1 uses the ICP algorithm, a point cloud matching algorithm, to register the point cloud segments with the reference point cloud, which specifically includes the following steps: Calculate the rotation and translation amounts generated during the point cloud matching process to complete the error calculation; the matching between different point clouds is regarded as a process in which one point cloud coincides with another point cloud through rotation and translation, and this change is represented by a rotation matrix and a translation vector; through the ICP algorithm, obtain the spatial rotation matrix M and the spatial translation vector from the point cloud P to be matched to the reference point cloud Q In the point cloud to be matched P and the reference point cloud Q, respectively, according to certain constraints, find the nearest point (p i ,q i ), calculate the distance between the corresponding point pairs, and continuously iterate the rotation matrix and translation vector by minimizing the distance. If the distance between the corresponding points is less than the given threshold setting, the algorithm ends; Each iteration process yields a spatial rotation matrix M n and a spatial translation vector To obtain the transformation from the original matching point cloud P to P after the nth iteration n transform M n and into a 4×4 homogeneous matrix R n and T n as follows: Then the spatial rotation matrix and the spatial translation vector for each iteration are combined into the same spatial transformation matrix M RT n : Multiply the M obtained in each iteration RT n to obtain the spatial transformation matrix M of the original matching point cloud P to P after the nth iteration n we are looking for RT ; The displacement amount during the point cloud matching process is obtained through this spatial transformation matrix.
3. A method for analyzing the error of a surface model based on a partitioned ICP algorithm according to claim 1, characterized in that, S2 adopts multiple segmentations and superimposes the calculation results each time, which specifically includes the following steps: Use the segmentation method to enable precise registration of each local part separately; adopt multiple segmentations. When the displacement amount of a segment during the ICP registration process after a single segmentation is less than the set threshold τ, it is considered that the segment has been fully registered; At this time, superimpose the spatial transformation matrices during each registration process to obtain the spatial transformation matrix of the point cloud segment from the original position to the registered position, and the error at the centroid of the point cloud segment can be obtained therefrom.
Citation Information
Patent Citations
Precise registration method of multilook point cloud
CN101645170A
Dangerous rock body rotating displacement monitoring method based on three-dimensional laser scanning
CN110426001A