Three-dimensional data processing method and device based on Beidou differential positioning
By using a 3D data processing method based on BeiDou differential positioning, the problems of noise and moving object identification in point cloud data processing during substation construction were solved, generating a 3D model with centimeter-level accuracy, which meets the requirements of rapid modeling and BIM delivery at the construction site.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-30
- Publication Date
- 2026-03-27
AI Technical Summary
Existing technologies for 3D digital management during substation construction suffer from problems such as high noise, uneven density, misalignment of overlapping areas, and missing parts of local occlusions in point cloud data processing. These issues result in insufficient model accuracy, failing to meet the real-time requirements of centimeter-level accuracy and minute-level processing during construction.
A 3D data processing method based on BeiDou differential positioning is adopted, including denoising, moving object identification and removal, Poisson reconstruction and texture enhancement. Point cloud data is processed through temporal analysis and optical flow to generate a 3D model with centimeter-level accuracy.
It significantly improves the quality and modeling efficiency of substation construction point cloud data, and realizes highly automated 3D model generation, meeting the needs of rapid on-site acceptance and seamless BIM integration.
Smart Images

Figure CN121746629A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of point cloud data processing technology, and more specifically, to a three-dimensional data processing method and apparatus based on BeiDou differential positioning. Background Technology
[0002] In current 3D digital management of substation construction, LiDAR (Light Detection and Ranging) multi-point cloud scanning is commonly used to acquire on-site geometric information. However, massive point clouds (up to hundreds of millions of points in a single scene) suffer from common problems such as high noise, uneven density, misalignment of overlapping areas, and missing parts due to dust, reflections, dynamic equipment, and personnel interference. Traditional manual denoising and ICP serial registration processes take hours, which cannot meet the real-time requirements of "centimeter-level accuracy + minute-level processing" for construction progress. Furthermore, moving objects entering the reconstruction stage without being removed by the system result in false geometry in the model; Poisson surface reconstruction over-smooths occluded areas and lacks prior construction constraints; texture mapping and multi-sensor fusion lack specular suppression and global color consistency optimization, ultimately resulting in a model with geometric errors >2 cm and obvious texture seams, making it unsuitable for direct BIM delivery or collision detection. Therefore, there is an urgent need for a 3D data processing technology solution that is suitable for the substation construction environment, automates the entire process from denoising to registration to reconstruction to texture, and is feasible for engineering implementation. Summary of the Invention
[0003] The technical problem to be solved by the present invention is to provide a three-dimensional data processing method and apparatus based on BeiDou differential positioning, which aims to solve at least one of the above-mentioned technical problems.
[0004] In a first aspect, the technical solution of the present invention to solve the above-mentioned technical problems is as follows: a three-dimensional data processing method based on BeiDou differential positioning, the method comprising: Multiple raw point cloud data were acquired from different scanning stations at different times in the construction area. The multiple scanning stations were located at different locations in the construction area. Denoising is performed on each original point cloud data to obtain the denoised point cloud data corresponding to each original point cloud data. Based on multiple denoised point cloud data, the target point cloud data is obtained by combining time series analysis or optical flow method to identify and remove the point cloud data corresponding to moving objects in the construction area. Poisson reconstruction is performed based on the target point cloud data to generate a triangular mesh surface model; Texture enhancement is performed on each triangular facet in the triangular mesh surface model to obtain the three-dimensional model corresponding to the construction area.
[0005] The beneficial effects of this invention are as follows: Through an integrated process of "denoising, moving target removal, Poisson reconstruction, and texture enhancement," the data quality and modeling efficiency of substation construction point clouds are significantly improved. First, noise is removed to eliminate false points such as dust and reflections. Then, moving objects such as personnel and vehicles are automatically removed using temporal / optical flow methods to avoid pseudo-geometry in the model. Subsequently, Poisson reconstruction is performed using the target point cloud with normals to directly generate a watertight and smooth triangular mesh without the need for manual repair of small holes. Finally, texture enhancement is performed on the triangular facets to obtain a 3D model with centimeter-level geometric accuracy. The entire process is highly automated, reducing processing time from hours to minutes, meeting the application requirements of rapid acceptance at construction sites, seamless BIM integration, and subsequent collision detection and progress visualization.
[0006] Based on the above technical solution, the present invention can be further improved as follows.
[0007] Furthermore, based on multiple denoised point cloud data sets, and combined with temporal analysis or optical flow methods to identify and remove the point cloud data corresponding to moving objects in the construction area, the target point cloud data is obtained, including: Point cloud data from different times and locations in multiple denoised point cloud datasets are registered to the same global coordinate system to obtain registered point cloud data. Discrete points representing moving objects in the registered point cloud data are identified, and clustering is performed on all discrete points to obtain point clusters corresponding to suspected moving objects in the construction area. Based on the point clusters corresponding to each suspected moving object, the target moving object in the construction area is determined by time series analysis or optical flow method. The target point cloud data is obtained by removing the point cloud data corresponding to the moving target object from the registered point cloud data and repairing it.
[0008] The beneficial effects of adopting the above-mentioned further scheme are that, through the refined steps of "global registration - discrete point clustering - temporal / optical flow recognition - removal and repair", the automatic and accurate removal of moving objects is achieved: first, the multi-time point clouds are unified to the same coordinate system, and then the clustering and temporal consistency verification can accurately distinguish between the real moving targets and the artifacts caused by the registration error, avoiding the accidental deletion of static structures; after removal, the occlusion holes are repaired from multiple perspectives to ensure the integrity of the target point cloud, thereby significantly improving the geometric accuracy and reliability of the subsequent reconstruction model and meeting the centimeter-level accuracy requirements in the substation construction environment.
[0009] Furthermore, the above-mentioned point cloud data from different times and locations in multiple denoised point cloud datasets are registered to the same global coordinate system to obtain registered point cloud data, including: For any two denoised point cloud data corresponding to any two scanning stations in multiple denoised point cloud data, coarse registration is performed on any two denoised point cloud data to obtain the preliminary rigid body transformation matrix and the two point cloud data that are initially aligned. For each point in the source point cloud of any pair of initially aligned point cloud data, determine the nearest point to each local fitting plane of the target point cloud, and determine the directed distance and projection point of the local fitting plane containing the nearest point. Each local fitting plane is the plane corresponding to multiple points of the nearest distance to a point in the target point cloud. For any pair of initially aligned point cloud data, adjust all preliminary rigid body transformation matrices based on the directed distances and projection points corresponding to all points, and determine the target rigid body transformation matrix and the registered point cloud data that minimizes the weighted sum of squares of all directed distances. The target rigid body transformation matrix is the transformation matrix corresponding to the same global coordinate system.
[0010] The beneficial effects of adopting the above-mentioned further scheme are that by using "neighborhood statistical outlier removal + intensity / color / geometric weighting" to denoise the original point cloud point by point, the noise rate is reduced while preserving the real surface details. Furthermore, the weighting mechanism allows high-confidence points (high intensity, clear color, high density) to obtain larger coefficients in the subsequent Poisson linear equation, thereby significantly suppressing the interference of dust, reflections, and edge flying points on the reconstructed surface. This results in fewer burrs in the final triangular mesh, self-healing of small voids, and a reduction in overall geometric error, providing a high-cleanliness data foundation for high-precision BIM delivery and collision detection.
[0011] Furthermore, the above-mentioned point cloud data from different times and locations in multiple denoised point cloud datasets are registered to the same global coordinate system to obtain registered point cloud data, including: For any two denoised point cloud data corresponding to any two scanning stations in multiple denoised point cloud data, coarse registration is performed on any two denoised point cloud data to obtain the preliminary rigid body transformation matrix and the two point cloud data that are initially aligned. For each point in the source point cloud of any pair of initially aligned point cloud data, determine the target point in the target point cloud that is closest to the point, thus forming a point pair; For any pair of point cloud data that are initially aligned, based on the distance between each pair of points, remove all point pairs whose distance is greater than a set distance, and determine the weight of each pair of points after removal to obtain a set of point pairs. For any pair of point cloud data that are initially aligned, based on the distance and weight of each point pair in the point pair set, determine the target rigid body transformation matrix and the registered point cloud data that are minimized when the weighted sum of the distances of all point pairs in the point pair set is minimized.
[0012] The beneficial effects of adopting the above-mentioned further scheme are that, through two registration processes of coarse matching and fine matching, far-distance mismatched point pairs are automatically screened out and close-distance reliable point pairs are given higher weights, so that the ICP iteration always revolves around the high-confidence region, thereby reducing the registration error and achieving millimeter-level seamless fusion of multi-station data; at the same time, the weighted objective function effectively suppresses the influence of sparse regions and edge noise on the transformation solution, significantly improving the alignment accuracy and robustness of the overlapping areas of point clouds in the complex environment of substations, and laying a reliable coordinate foundation for subsequent global optimization and centimeter-level model reconstruction.
[0013] Furthermore, after obtaining the target rigid body transformation matrix and the registered point cloud data corresponding to any pair of initially aligned point cloud data, the above method also includes: Based on all target rigid body transformation matrices and the registered point cloud data, a pose graph is constructed. Each node in the pose graph represents a target rigid body transformation matrix, and each edge represents the registration result between the corresponding two nodes, including the first relative transformation matrix and uncertainty between the two nodes. The first relative transformation matrix between the two nodes is obtained through registration. Based on the target rigid body transformation matrix corresponding to all nodes, determine the second relative transformation matrix between every two nodes; Based on the first and second relative transformation matrices between every two nodes, determine multiple final rigid body transformation matrices that minimize the total error. The total error is the sum of the errors between the first and second relative transformation matrices between every two nodes.
[0014] The beneficial effect of adopting the above-mentioned further scheme is that, through a global optimization mechanism that minimizes the total error corresponding to the first and second relative transformation matrices obtained from the nodes and edges in the pose graph, the accumulated error still existing after fine registration of each station is distributed to the pose of all nodes at once, so that the relative transformation of any path in the closed loop is consistent with the direct registration observation. This reduces the multi-station registration error from the centimeter level of chain accumulation to the millimeter level after the loop is closed, ensuring that the entire substation scene is undistorted and unlayered in the global coordinate system, meeting the absolute accuracy requirements of subsequent BIM alignment, progress comparison and digital twin applications.
[0015] Furthermore, the above-mentioned Poisson reconstruction based on the target point cloud data to generate a triangular mesh surface model includes: For each point in the target point cloud data, determine the point's normal; The weight of each point is determined based on the attribute information of each point in the target point cloud data; Poisson reconstruction is performed based on the weight and normal of each point in the target point cloud data to generate a triangular mesh surface model.
[0016] The beneficial effects of adopting the above-mentioned further scheme are that "point-level attribute weights" are introduced in the Poisson reconstruction stage. Reflection intensity, color signal-to-noise ratio, or local density are used as reliability indicators. High-confidence points are given greater weight and directly written into the Poisson linear equation. This allows regions with high intensity, clear color, and consistent geometry to occupy a higher proportion in the solution of the indicator function, thereby significantly suppressing false surfaces caused by dust, reflection, and edge noise, and improving the detail fidelity and dimensional accuracy of the reconstructed mesh. At the same time, the reconstruction process can generate centimeter-level smooth and watertight triangular meshes without additional manual intervention, providing a highly reliable geometric basis for subsequent BIM delivery and collision detection.
[0017] Furthermore, the above methods also include: If the geometry corresponding to any sub-region in the construction area is missing or the existing geometry is unreasonable, the triangular mesh surface model is completed based on the triangular mesh surface model and the point cloud data corresponding to any sub-region to obtain the target mesh model.
[0018] The beneficial effects of adopting the above-mentioned further scheme are that by adding a "structure-aware completion" step after Poisson reconstruction, the geometric error of the completed mesh model is small and the structural semantics are correct; at the same time, it avoids the "false surface" generated by Poisson smoothing, and can be directly used for automatic alignment of BIM models, construction quantity statistics and digital twin visualization, significantly improving the integrity, usability and downstream application efficiency of substation construction models.
[0019] Secondly, in order to solve the above-mentioned technical problems, the present invention also provides a three-dimensional data processing device based on BeiDou differential positioning, the device comprising: The acquisition module is used to acquire multiple raw point cloud data collected from the construction area by different scanning stations at different times. The multiple scanning stations are located in different locations within the construction area. The denoising module is used to denoise each original point cloud data to obtain the denoised point cloud data corresponding to each original point cloud data. The moving object removal module is used to identify and remove the point cloud data corresponding to moving objects in the construction area based on multiple denoised point cloud data, combined with time series analysis or optical flow method, to obtain target point cloud data. The Poisson reconstruction module is used to perform Poisson reconstruction based on the target point cloud data and generate a triangular mesh surface model. The 3D model generation module is used to enhance the texture of each triangular facet in the triangular mesh surface model to obtain the 3D model corresponding to the construction area.
[0020] Thirdly, in order to solve the above-mentioned technical problems, the present invention also provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the three-dimensional data processing method based on BeiDou differential positioning of the present application.
[0021] Fourthly, in order to solve the above-mentioned technical problems, the present invention also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the three-dimensional data processing method based on BeiDou differential positioning of this application.
[0022] Additional aspects and advantages of this application will be set forth in part in the description which follows, and will become apparent from the description or may be learned by practice of this application. Attached Figure Description
[0023] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments of the present invention will be briefly introduced below.
[0024] Figure 1 This is a flowchart illustrating a three-dimensional data processing method based on BeiDou differential positioning, provided as an embodiment of the present invention. Figure 2 This is a schematic diagram of a registration process provided in one embodiment of the present invention; Figure 3 A schematic diagram of an overall process provided for one embodiment of the present invention; Figure 4 This is a schematic diagram of an acceleration strategy process provided in one embodiment of the present invention; Figure 5 A schematic diagram of a three-dimensional data processing device based on BeiDou differential positioning is provided in one embodiment of the present invention; Figure 6 This is a schematic diagram of the structure of an electronic device provided in one embodiment of the present invention. Detailed Implementation
[0025] The principles and features of the present invention are described below. The examples given are only for explaining the present invention and are not intended to limit the scope of the present invention.
[0026] The technical solution of the present invention and how the technical solution of the present invention solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of the present invention will now be described with reference to the accompanying drawings.
[0027] The solution provided in this invention can be applied to any application scenario that requires the construction of a three-dimensional model of the construction area. The solution provided in this invention can be executed by any electronic device, such as a user's terminal device, including at least one of the following: smartphone, tablet, laptop, desktop computer, smart speaker, smartwatch, smart TV, or smart in-vehicle device.
[0028] This invention provides a possible implementation, such as... Figure 1 The diagram shows a flowchart of a three-dimensional data processing method based on BeiDou differential positioning. This method can be executed by any electronic device, such as a terminal device, or jointly executed by a terminal device and a server. For ease of description, the method provided in this embodiment will be described below using a terminal device as the execution subject as an example. Figure 1 The flowchart shown indicates that the method may include the following steps: S10: Acquire multiple raw point cloud data collected from different scanning stations at different times in the construction area. The multiple scanning stations are located at different locations in the construction area. S20, Denoise each original point cloud data to obtain the denoised point cloud data corresponding to each original point cloud data; S30: Based on multiple denoised point cloud data, combined with time series analysis or optical flow method, identify and remove the point cloud data corresponding to moving objects in the construction area to obtain target point cloud data; S40: Perform Poisson reconstruction based on the target point cloud data to generate a triangular mesh surface model; S50 performs texture enhancement processing on each triangular facet in the triangular mesh surface model to obtain the three-dimensional model corresponding to the construction area.
[0029] The method of this invention significantly improves the data quality and modeling efficiency of substation construction point clouds through an integrated process of "denoising, moving target removal, Poisson reconstruction, and texture enhancement": First, noise is removed to eliminate false points such as dust and reflections. Then, moving objects such as personnel and vehicles are automatically removed using temporal / optical flow methods to avoid pseudo-geometry in the model. Subsequently, Poisson reconstruction is performed using the target point cloud with normals to directly generate a watertight and smooth triangular mesh without the need for manual repair of small holes. Finally, texture enhancement is performed on the triangular facets to obtain a 3D model with centimeter-level geometric accuracy. The entire process is highly automated, reducing processing time from hours to minutes, meeting the application requirements of rapid acceptance at construction sites, seamless BIM integration, and subsequent collision detection and progress visualization.
[0030] The following specific embodiments further illustrate the solution of the present invention. In this embodiment, the purpose of the solution is to use a high-precision laser scanning device to collect all equipment and environmental data around the construction area and quickly form a point cloud. Then, the point cloud data is processed by noise reduction, registration, and other data processing to form a three-dimensional model with centimeter-level accuracy.
[0031] Therefore, the three-dimensional data processing method based on BeiDou differential positioning provided in this embodiment may include the following steps: S10: Acquire multiple raw point cloud data collected from different scanning stations at different times in the construction area. The multiple scanning stations are located at different locations in the construction area. In this context, a scanning station refers to a single location of a LiDAR / scanner fixedly erected at the construction site. Each scanning station performs a 360° rotation scan at that location to acquire local 3D point cloud data from the corresponding viewpoint. That is, for each scanning station, it can acquire raw point cloud data at different times and using different postures.
[0032] S20, Denoise each original point cloud data to obtain the denoised point cloud data corresponding to each original point cloud data; Statistical filtering can be used for noise reduction. The raw point cloud data obtained by scanning at the scanning station contains two types of points: Signal point: A reflection point on the surface of a real object. Noise point: An erroneous reflection point caused by dust, fog, raindrops, insects, scanner errors, or distant, irrelevant floating objects (such as birds).
[0033] These noise points can severely interfere with subsequent modeling and analysis. This solution employs statistical filtering for denoising. The core idea of statistical filtering is to intelligently distinguish and remove these outlier noise points based on the local statistical characteristics of point clouds, while preserving as many true signal points as possible. Each point in each original point cloud dataset contains three-dimensional coordinates (X, Y, Z), and sometimes also information such as intensity and color (RGB). The denoising process for each original point cloud dataset is as follows: Step 1: Neighborhood Analysis For each point P in the original point cloud data, calculate the distance from point P to all its neighboring points. The range of these "neighboring points" is typically defined by a parameter: K-Nearest Neighbors: Finds the K nearest neighbors to a point P. For example, K=50 means analyzing the 50 points closest to P.
[0034] Radius R: Find all points inside a sphere with center P and radius R. For example, R = 0.1 (meters).
[0035] Step 2: Calculate the statistic: Calculate the average distance (μ) from all points in the neighborhood to point P.
[0036] Calculate the standard deviation (σ) for all distances.
[0037] The standard deviation σ measures the dispersion of distances between neighboring points. A large σ value indicates that the points around point P are widely distributed; a small σ value indicates that the points around point P are closely distributed.
[0038] Step 3: Set the threshold and make a judgment: The algorithm sets a global threshold, usually expressed as μ±n×σ, where n is a multiplier (e.g., 1.0, 2.0, 3.0).
[0039] Judgment logic: If the distance from point P to its neighborhood center is much greater than μ+n×σ, that is, distance(P)>μ+n×σ, then point P is considered an outlier (noise).
[0040] Because in a compact surface area, most points should be uniformly distributed and not too far from the average value. If a point is unusually far from the average distance of all its neighbors, it is likely an isolated noise point.
[0041] Step 4: Perform filtering: Remove all data points marked as outliers from the original point cloud data.
[0042] The remaining point cloud data is then output, which is the denoised point cloud data.
[0043] Therefore, the denoised result is the output data: a denoised point cloud dataset. Data characteristics: the denoised point cloud dataset contains fewer points than the original point cloud dataset (noise points have been removed). It only includes points on the object surface that are considered meaningful. The original high-precision coordinate information is preserved without any loss of accuracy (because only points are deleted, and their coordinates are not modified).
[0044] After noise reduction processing, it has the following effects: Improving data quality lays a solid foundation for subsequent processing steps. Noise, like "snowflakes" in an image, can interfere with all subsequent analysis.
[0045] Ensuring modeling accuracy: Noise points can cause burrs, voids, or incorrect protrusions on the surface of the generated 3D model, affecting centimeter-level accuracy. Denoising is a key preprocessing step to achieve this goal.
[0046] Improving registration results: When stitching (registering) point clouds from multiple scans, noise points can create incorrect correspondences, leading to decreased registration accuracy. After denoising, the registration algorithm can more accurately find the corresponding points on the surface of the real object.
[0047] Reduce data volume: Eliminate useless data to reduce the storage and computational overhead of subsequent calculations.
[0048] This solution can also employ deep learning for denoising. Specifically, a 3D CNN or PointNet++ network can be trained to distinguish between noise and real point clouds. The denoising network used in this solution can be a network obtained by specifically adjusting and fine-tuning existing denoising networks, such as PointNet++, DGCNN, PCT, etc.
[0049] S30: Based on multiple denoised point cloud data, combined with time series analysis or optical flow method, identify and remove the point cloud data corresponding to moving objects in the construction area to obtain target point cloud data; Alternatively, one implementation of S30 above is as follows: S301 involves registering point cloud data from different times and locations within multiple denoised point cloud datasets to the same global coordinate system, resulting in registered point cloud data. In other words, point cloud data from different perspectives (different coordinate systems) are spatially transformed and uniformly aligned to the same global coordinate system. The specific implementation process of this step will be described in detail later and will not be repeated here.
[0050] S302, identify discrete points representing moving objects in the registered point cloud data, perform clustering on all discrete points to obtain point clusters corresponding to suspected moving objects in the construction area. Specifically, in step S302 above, identifying discrete points representing moving objects in the registered point cloud data can be achieved using two different processing methods: First processing method: Voxelization comparison method: The entire scene space corresponding to multiple denoised point cloud data sets is divided into multiple 3D cubic voxels. For each voxel, the presence of points in the denoised point cloud data at different time points is checked. The logic is: if a voxel is occupied (has a point) at time point A but empty at time point B, or vice versa, then the region containing this voxel is marked as "potentially changed". These changed regions contain the trajectories of dynamic objects. Based on these voxels with existing points, discrete points corresponding to suspected moving objects can be identified.
[0051] The second processing method: distance threshold method: For each point in the registered point cloud data corresponding to time point B, find its nearest neighbor in the registered point cloud data corresponding to time point A. Calculate the distance between the two points. If the distance exceeds a threshold (e.g., 5 cm), the point is considered "suspicious" because it cannot be found in a static scene at another time point. This point is likely from a moving object. Therefore, points with distances exceeding the threshold can be identified as discrete points representing moving objects.
[0052] After obtaining the discrete points representing moving objects in the registered point cloud data, clustering and semantic analysis can be used to cluster all discrete points to obtain the point clusters corresponding to suspected moving objects in the construction area. Specifically, Euclidean clustering algorithms (such as DBSCAN) can be used to cluster these discrete points into independent point clusters, with each suspected moving object corresponding to a point cluster.
[0053] As an example: a worker (clustered into a roughly humanoid cluster of dots).
[0054] A construction vehicle (clustered into a large, structured cluster of points).
[0055] Fluttering flags (clustered into a small, linear cluster of dots).
[0056] S303. Based on the point clusters corresponding to each suspected moving object, the target moving object in the construction area is determined by time series analysis or optical flow method. The specific implementation of S303 includes two implementation methods: The first method is multi-time period consistency checking: If a suspected moving object is identified from point cloud data from more than two scanning stations (e.g., station A, station B, and station C), a true moving object will not appear in all scanning stations. For example, a car might be present when scanned at station A, driven away when scanned at station B, and absent when scanned at station C. The point cluster corresponding to the car will only appear in station A. By analyzing the appearance / disappearance of this point cluster over time, it can be ultimately confirmed that it is a moving object.
[0057] The second method is geometric shape analysis: checking whether the shape corresponding to each cluster of points conforms to the characteristics of a known moving object (such as a vehicle or pedestrian), which can usually be identified with the help of machine learning models.
[0058] S304. Remove the point cloud data corresponding to the moving target object from the registered point cloud data and repair it to obtain the target point cloud data.
[0059] The specific implementation process of S304 above is as follows: (1) Removal: The point clusters identified as target moving objects are directly deleted from the registered point cloud data.
[0060] (2) Repair (hole filling): After the point clusters of the moving target are removed, they may occlude the static scene behind the moving target (such as walls or equipment). These occluded areas will form a "hole" in the current point cloud. For models with centimeter-level accuracy, it is sometimes necessary to retain these holes because this truly reflects the occlusion situation during scanning. If repair is necessary, interpolation algorithms (such as radial basis function interpolation) or by fusing multi-view data ("borrowing" points from data from other scanning stations to fill the hole) can be used to reconstruct the occluded static surface.
[0061] Optionally, S301 above includes two different implementations. Both implementations include two processing steps: coarse registration and fine registration. (See [link to relevant documentation]). Figure 2 The first implementation method specifically includes: S3011, For any two denoised point cloud data corresponding to any two scanning stations in multiple denoised point cloud data, perform coarse registration on any two denoised point cloud data to obtain the preliminary rigid body transformation matrix and the two point cloud data that are initially aligned. The goal of coarse registration is to provide a good initial estimate by aligning two denoised point cloud datasets with significant differences in angle and position, so that they can enter the convergence domain of the fine registration algorithm.
[0062] For any two denoised point cloud data points from multiple denoised point cloud datasets, i.e., two completely misaligned point clouds P (source point cloud) and point cloud Q (target point cloud) with unknown overlap, the following coarse matching process is used: (1) Downsampling: Point clouds P and Q are downsampled using a voxel grid filter. The purpose is to reduce the amount of subsequent computation while preserving the shape characteristics of the point clouds.
[0063] (2) Normal estimation: Calculate the normal direction for each point in the downsampled point cloud P and the downsampled point cloud Q. PCA (Principal Component Analysis) or nearest neighbor search is typically used to fit the local plane. Normals are the basis for feature description.
[0064] (3) Feature description: Calculate the FPFH (Fast Point Feature Histogram) descriptor for each point.
[0065] Among them, FPFH is a high-dimensional vector that describes the statistical distribution of geometric properties (such as differences in normal direction) between a point and its neighbors, and is invariant to rotation and translation of the point cloud. It encodes the local geometric features of a point into a comparable numerical vector, becoming the point's "fingerprint".
[0066] (4) Feature matching: Find point pairs with similar FPFH descriptors in the downsampled point clouds P and Q. Nearest neighbor search is usually used (e.g., using a kd-tree for acceleration). The matching results will contain many outliers.
[0067] (5) Removing incorrectly matched point pairs: This is implemented using the RANSAC (Random Sample Consensus) algorithm, specifically including: A small number of matching point pairs are randomly selected, a transformation matrix is calculated, and this transformation matrix is then used to test other matching point pairs. The number of interior points that conform to this transformation matrix is counted. This process is repeated multiple times, and the transformation matrix T_rough with the highest number of interior points is finally retained. Alternatively, a matcher based on a similarity threshold (such as Euclidean distance) can be used to initially filter the denoised point cloud data corresponding to any two scanning stations from multiple denoised point cloud datasets to obtain matching point pairs. These matching point pairs are then fed into RANSAC to improve efficiency.
[0068] After coarse registration, we obtain a preliminary rigid body transformation matrix T_rough (containing the rotation matrix R0 and the translation vector T0) and two initially aligned point cloud datasets. This preliminary rigid body transformation matrix T_rough will be used as the initial conjecture for the ICP algorithm to ensure that ICP converges to the correct local extrema.
[0069] S3012, for each point in the source point cloud of any pair of initially aligned point cloud data, determine the nearest point to each local fitting plane of the target point cloud, and determine the directed distance and projection point of the point to the local fitting plane containing the nearest point. Each local fitting plane is a plane corresponding to multiple points of the nearest distance to a point in the target point cloud. This can provide faster convergence speed and higher accuracy because it utilizes the continuous surface information of the target.
[0070] S3013, for any pair of initially aligned point cloud data, adjust all preliminary rigid body transformation matrices according to the directed distances and projection points corresponding to all points, and determine the target rigid body transformation matrix and the registered point cloud data that minimizes the weighted sum of squares of all directed distances. The target rigid body transformation matrix is the transformation matrix corresponding to the same global coordinate system. That is, based on the target cylinder transformation matrix, point clouds in other coordinate systems can be transformed to the corresponding point clouds in the global coordinate system.
[0071] In this process, each point in the source point cloud of any pair of initially aligned point cloud data forms a point pair with its nearest corresponding point in the target point cloud. Each point pair is assigned a weight to measure the reliability of the registration. The larger the weight, the more reliable the point pair is, and the higher its contribution is given to the error term of the point pair when solving the rigid body transformation matrix in the subsequent process. Conversely, the smaller the weight, the lower its influence or the point pair is removed.
[0072] Therefore, the aforementioned S3013 specifically includes: For any pair of initially aligned point cloud data, each point in the source point cloud is paired with the nearest point in the target point cloud to form a point pair; Determine the weight corresponding to each point pair; Based on the weight corresponding to each point pair, remove point pairs that are too far apart from the two initially aligned point cloud data to obtain multiple target point pairs; For all target point pairs and their corresponding directed distances and projection points, adjust all preliminary rigid body transformation matrices to determine the target rigid body transformation matrix and the registered point cloud data that minimizes the weighted sum of squared directed distances. Specifically, the optimal transformation matrix T_i that minimizes the sum of directed distances for all corresponding point pairs can be calculated using singular value decomposition (SVD) or quaternion methods, and used as the target rigid body transformation matrix.
[0073] The weight of each point pair can be determined based on directed distance. If any pair of initially aligned point cloud data contains RGB color information, color similarity can be added as a weight term in the determination of the weight of each point pair. That is, the weight of each point pair is determined based on directed distance and color information. For example, the weight of point pairs that are geometrically close but have large color differences is reduced, thereby using texture information to improve registration accuracy.
[0074] Optionally, the weight of each pair of points can also be calculated based on the directed distance, normal consistency, color similarity, or a combination thereof.
[0075] The above steps S3012 to S3013 are the fine registration process. Fine registration is based on the initial alignment provided by coarse registration, and performs high-precision iterative optimization to maximize the overlap between the two point clouds.
[0076] Optionally, the second implementation of S301 specifically includes: The coarse matching process is the same as the coarse matching process described above, and will not be repeated here.
[0077] The fine registration process can also employ the following procedures: For each point in the source point cloud of any pair of initially aligned point cloud data, determine the target point in the target point cloud that is closest to the point, thus forming a point pair; For any pair of point cloud data that are initially aligned, based on the distance (which can be Euclidean distance) between each pair of points, remove all point pairs whose distance is greater than a set distance, and determine the weight of each of the removed point pairs to obtain a set of point pairs; where the weight of each point pair can be determined based on the corresponding distance, the smaller the distance, the greater the weight.
[0078] For any pair of point cloud data that are initially aligned, based on the distance and weight of each point pair in the point pair set, determine the target rigid body transformation matrix and the registered point cloud data that are minimized when the weighted sum of the distances of all point pairs in the point pair set is minimized.
[0079] As an example, for any pair of initially aligned point cloud data, the ICP (Iterative Closest Point) algorithm can also be used for fine registration: (1) Nearest point search: For each point in the source point cloud P, find the nearest point (Euclidean distance is closest) in the target point cloud Q to form a corresponding point pair.
[0080] (2) Weighting: Assign a weight to each pair of points.
[0081] (3) Eliminate incorrect pairs: Eliminate pairs of points that are too far apart (e.g., using the 3σ principle).
[0082] (4) Calculate the transformation: Calculate the optimal transformation matrix T_i that minimizes the weighted sum of the distances between all corresponding point pairs using singular value decomposition (SVD) or quaternion method, and use it as the target rigid body transformation matrix.
[0083] (5) Apply transformation: Apply the optimal transformation matrix T_i to the source point cloud P.
[0084] (6) Iteration: Repeat steps 1-5 until the change in the transformation parameters is less than a certain threshold or the maximum number of iterations is reached.
[0085] After fine registration, a high-precision rigid body transformation matrix T_fine (target rigid body transformation matrix) and two closely aligned point clouds are obtained, namely the registered point cloud data (also the finely registered point cloud data), whose alignment error (such as RMSE) reaches the centimeter level or even the millimeter level.
[0086] It should be noted that for continuous registration of point clouds after multiple initial correspondences (e.g., scanning stations 1→2, 2→3, 3→4), cumulative errors begin to appear. That is, the error of station 4 relative to station 1 is the accumulation of the errors of the previous three registrations, which may cause distortion of the global model.
[0087] Therefore, after obtaining the target rigid body transformation matrix and the registered point cloud data corresponding to any pair of initially aligned point cloud data, the method further includes: Based on all target rigid body transformation matrices and the registered point cloud data, a pose graph is constructed. Each node in the pose graph represents a target rigid body transformation matrix, and each edge represents the registration result between the corresponding two nodes, including the first relative transformation matrix between the two nodes and the uncertainty (covariance matrix, which can be estimated from the fitting error of ICP). The first relative transformation matrix between the two nodes is obtained through registration. Accumulated errors lead to inconsistencies in the pose graph. For example, the transformation chain from scan station 1 → scan station 2 → scan station 3 → scan station 4 is not equal to the direct transformation from scan station 1 → scan station 4 (if it exists). Therefore, optimization can be performed using the following methods.
[0088] Based on the target rigid body transformation matrix corresponding to all nodes, determine the second relative transformation matrix between every two nodes; based on the first and second relative transformation matrices between every two nodes, determine multiple final rigid body transformation matrices with the minimum total error, where the total error is the sum of the errors between the first and second relative transformation matrices between every two nodes.
[0089] Optionally, multiple final rigid body transformation matrices that minimize the total error can be solved based on the SLAM framework. The backend of SLAM (Simultaneous Localization and Mapping) essentially solves a large-scale graph optimization problem. Nonlinear least squares optimizers such as the Gauss-Newton method and the Levenberg-Marquardt algorithm are used for this solution. Open-source optimization libraries such as g2o, Ceres Solver, and GTSAM are commonly used for implementation.
[0090] After optimization, a set of globally optimized and highly consistent global poses for the scanning station {T_1, T_2,..., T_n} is obtained, which consists of multiple final rigid body transformation matrices. These final rigid body transformation matrices are used as the final output of the entire registration process. Using this optimized pose, all original point clouds are transformed to the same global coordinate system, resulting in a globally consistent, error-free, and centimeter-level accurate complete 3D point cloud model. This model will be used for all subsequent applications, including 3D modeling, analysis, and measurement.
[0091] Optionally, kernel functions can be used to reduce the impact of larger error terms and increase robustness of the estimation.
[0092] S40: Perform Poisson reconstruction based on the target point cloud data to generate a triangular mesh surface model; Step S40 primarily involves Poisson reconstruction, which generates implicit surfaces from the point cloud to fill small-scale holes. Combined with... Figure 3 The specific implementation process includes: S401: For each point in the target point cloud data, determine the point's normal and ensure that the normal direction of all points points is consistently pointing outwards (or inwards) of the object. Poisson reconstruction is highly sensitive to this. Typically, scan position or global optimization methods are used to unify the normal direction. S402, determine the weight of each point based on the attribute information of each point in the target point cloud data; for example, points with higher intensity or clearer color may represent more reliable surfaces and can be given higher weights, thus having greater importance in the reconstruction.
[0093] S403 performs Poisson reconstruction based on the weight and normal of each point in the target point cloud data to generate a triangular mesh surface model.
[0094] The specific implementation process of S403 above is as follows: Constructing an octree structure: The point cloud space is divided into a deep octree structure. The depth of the tree is a key parameter that determines the level of detail in the reconstruction (the greater the depth, the more detail, but the greater the computational cost).
[0095] Define the indicator function: Solve a Poisson equation, treating the target point cloud data and normals as samples of a vector field based on the weights and normals of each point in the object. By solving this equation, we obtain an implicit function that is 1 inside the object and 0 outside. This function describes the surface boundary of the object.
[0096] Isosurface extraction: For the calculated implicit function, an isosurface is extracted using a threshold value (usually 0) (similar to extracting the bone surface from a CT scan). This isosurface is a triangular mesh surface model. The moving cube algorithm is commonly used for this purpose.
[0097] One of them is a continuous triangular mesh surface model (.obj, .ply, .stl format). It can fill small-scale holes and gaps to form a smooth, watertight surface, which is very suitable for organic shapes and complex curved surfaces.
[0098] Optionally, a higher resolution octree can be automatically used in areas with high point cloud density, while a lower resolution can be used in sparse areas to balance performance and efficiency.
[0099] The triangular mesh surface model is the basic geometry. While complete, it may have two issues: (1) For large-scale missing areas (such as severely occluded parts), Poisson reconstruction will generate “unreasonable” smooth filling surfaces.
[0100] (2) Lacking semantic information, it is impossible to guarantee that the reconstructed structure (such as the right angle of the wall or the cylindrical shape of the pipe) conforms to the geometric rules of the physical world.
[0101] Therefore, this application also includes: S41. If the geometry corresponding to any sub-region in the construction area is missing or the existing geometry is unreasonable, the triangular mesh surface model is completed based on the triangular mesh surface model and the point cloud data corresponding to any sub-region to obtain the target mesh model.
[0102] Specifically, the above process can be called structure-aware completion-rule-based intelligent repair. This process aims to address the shortcomings of Poisson reconstruction by using prior knowledge of the construction scenario (rules, straightness, symmetry) to repair large-scale missing parts and correct unreasonable geometric structures.
[0103] The specific implementation process of S41 is as follows: Using RANSAC, region growing, or machine learning segmentation algorithms, the triangular mesh surface model is segmented into different geometric primitives. This process identifies which geometric primitives are planes (e.g., walls, floors), cylinders (e.g., pipes, insulators), and cuboids (e.g., cabinets, transformer boxes). The identified primitives are then analyzed to extract geometric constraints. For example, multiple planes may be found to be parallel or perpendicular; multiple cylinders may be collinear or have the same radius. Different completion processes are then applied based on these different cases. Scenario 1: The missing part has clues. For example, a large section of a wall is missing, but its boundaries are clear. The algorithm will extend the plane based on the plane primitive it is located in to fill the hole, while ensuring perpendicular constraints with other walls.
[0104] Scenario 2: Missing section with no clues. For example, a section of pipe is completely obscured. The algorithm will infer the collinearity and equal radius constraints of the two existing pipe primitives and automatically generate a cylinder to connect them.
[0105] The completion process described above is usually transformed into an optimization problem: under the condition of satisfying the extracted geometric constraints, generate new geometric patches and make them smoothly transition with the boundary of the triangular mesh surface model.
[0106] Optionally, during the completion process, BIM model libraries or design drawings can be introduced as strong priors. For example, if a specific type of transformer is known to exist in the scene, the standard CAD model can be directly aligned with the scanned data to perfectly complete the occluded parts. This is the highest level of "structure awareness".
[0107] The final target mesh model is a more geometrically accurate mesh model. In it, walls are flat, pipes are straight, and right angles are 90 degrees, conforming to the rules of the physical world and the design intent. A geometrically complete and accurate "white model" is obtained. It has the correct shape, but may lack a realistic visual appearance (texture), and the texture details need to be enhanced next.
[0108] S50 performs texture enhancement processing on each triangular facet in the triangular mesh surface model to obtain the three-dimensional model corresponding to the construction area.
[0109] The goal of S50 is to attach high-resolution, high-fidelity texture maps to geometric models (triangular mesh surface models or target mesh models) to achieve photorealistic quality for final display and fine measurement.
[0110] The specific implementation process of the above S50 is as follows: For each triangular facet in the triangular mesh surface model, identify all camera photos that can see that facet. Then, based on perspective projection relationships, project the pixel colors from the camera photos onto the triangular facet to achieve texture enhancement.
[0111] This can lead to the following problem: a single area may be illuminated by multiple photographs, potentially resulting in inconsistent colors. Therefore, a weighted average method can be used. This method involves merging the colors of multiple photographs based on factors such as the angle between the camera and the area (higher weight for more positive angles) and the distance (higher weight for closer distances), to generate a final color and avoid seams.
[0112] Alternatively, texture mapping can be viewed as a global energy optimization problem, aiming to minimize color differences and seams between all adjacent faces. Tools such as OpenDR and MeshLab's filterparametrization module can be used.
[0113] Alternatively, highlight / reflection processing can be performed: by using different lighting conditions in multiple photos, the material information of the surface (such as diffuse reflection and specular reflection) can be deduced, thereby synthesizing a realistic texture under any lighting conditions and eliminating the highlight spots in the original photo.
[0114] The final 3D model is a 3D mesh model with high-precision texture maps (usually in .obj+.jpg / png or .dae format).
[0115] After obtaining the 3D model, the following follow-up processing can be performed: (1) Visualization and presentation: Generate photorealistic visualization effects for reporting and presentation.
[0116] (2) Refined measurement: The color, markings and instrument readings of the equipment can be measured directly on the model.
[0117] (3) Simulation and training: As a digital twin, it is used for advanced applications such as virtual inspection and safety simulation training.
[0118] Through this three-stage progressive model processing flow, a geometrically accurate and visually realistic 3D digital model of the construction scene can be obtained from the original point cloud, providing a unique and reliable data foundation for subsequent digital delivery, intelligent operation and maintenance, and safety management.
[0119] The entire processing of this application can be carried out in a parallel or hierarchical manner to improve processing speed.
[0120] Parallel processing includes GPU-based KD-Tree acceleration for nearest neighbor search (e.g., CUDA implementation). Hierarchical processing involves initial downsampling for coarse processing, followed by fine-tuning of local regions.
[0121] When processing massive point clouds, the core idea for accelerating computation is to avoid unnecessary calculations and efficiently execute necessary ones. These two strategies are typically applied throughout the entire processing flow (denoising, registration, reconstruction, etc.), and their application order and collaborative relationship can be found in [reference needed]. Figure 4 .
[0122] (I) Acceleration Strategy 1: Parallelization Processing (GPU-based KD-Tree). This strategy aims to utilize the many-core architecture of GPUs to transfer the computational bottleneck steps from the CPU to the GPU for parallel execution, thereby achieving a speedup of tens or even hundreds of times.
[0123] This strategy can be applied throughout the entire process. Once an algorithm step (such as denoising, ICP, or reconstruction) requires frequent nearest neighbor searches, it is time to introduce GPU parallelization.
[0124] Application scenarios for acceleration strategy one include: (1) Statistical filtering for noise reduction: Search for K nearest neighbors for each point to calculate the average distance.
[0125] (2) ICP registration: For each point in the source point cloud, search for the nearest neighbor in the target point cloud to establish a correspondence.
[0126] (3) Normal estimation: Search for neighboring points for each point to fit the local plane.
[0127] (4) Surface reconstruction: Constructing a spatial octree in Poisson reconstruction also requires a lot of spatial queries.
[0128] Conventional methods utilize libraries such as FLANN and PCL's KdTree for nearest neighbor search on the CPU. However, this becomes a significant bottleneck when dealing with large amounts of point cloud data. This application's solution utilizes GPU and CUDA architectures to construct and search KD-Trees. Specifically: A. Data transfer: Copying point cloud data from host memory to GPU video memory.
[0129] B. Parallel KD-Tree Construction: An algorithm for parallelizing the construction of KD-Trees on the GPU. Unlike traditional CPU recursive construction, the GPU adopts a hierarchical parallel construction method, allocating the construction tasks of tree nodes to different thread blocks, making full use of the GPU's parallel capabilities.
[0130] C. Parallel Search: For N query points (any point in the point cloud) requiring a search, N CUDA threads are launched. Each thread independently and in parallel traverses the KD-Tree on the GPU, finding the nearest neighbor for one of the query points. This is the key to the speed improvement, achieving a "mass search" effect.
[0131] D. Result feedback: Copy the search results (index and distance of the nearest neighbor) from video memory back to host memory.
[0132] Nearest neighbor search results are completed at extremely high speeds. For example, finding the K nearest neighbors for all points in a point cloud of tens of millions of points may take several minutes or even longer on a CPU, while it may only take a few seconds after GPU optimization.
[0133] This result forms the basis for subsequent calculations. For example: (1) Only after quickly obtaining the nearest neighbor distance can it be determined whether it is a noise point.
[0134] (2) Only after quickly establishing the point correspondence can the transformation matrix of ICP be calculated.
[0135] (3) Therefore, it directly accelerates the iterative process of almost all core algorithms such as denoising, registration, and reconstruction. (II) Acceleration Strategy Two: Hierarchical Processing. This strategy employs a "coarse-to-fine" multi-resolution analysis approach, avoiding expensive calculations directly on the original massive dataset. It quickly converges to the vicinity of the optimal solution before refining. This can be applied within an algorithm's workflow. Typically, the first step is coarse processing, followed by a second step of fine processing based on the results of the coarse processing.
[0136] Step 1: Downsampling and coarse processing: (1) Input: Original high-resolution point cloud.
[0137] (2) Method: Volume mesh downsampling is used. The space is divided into large voxels, and only one point (such as the centroid) is retained in each voxel. A low-resolution, low-data-volume point cloud that retains the basic shape is generated.
[0138] (3) Objective: To execute computationally expensive algorithms on low-resolution point clouds.
[0139] (4) Example: In registration, after downsampling both the source point cloud and the target point cloud, FPFH+RANSAC coarse registration and ICP fine registration are performed. Due to the drastic reduction in the number of points (e.g., from 10 million points to 100,000 points), the speed of feature calculation, matching, and ICP iteration will be greatly improved.
[0140] (5) Obtain the result: a preliminary, low-precision result. For example, a preliminary transformation matrix T_low.
[0141] Step 2: Refinement of local areas: (1) Input: the coarse result obtained in the previous step (such as T_low) and the original high-resolution point cloud.
[0142] (2) Method: A. Apply initial results: Apply the transformation T_low obtained from coarse processing to the original high-resolution point cloud so that it is initially aligned with the target point cloud.
[0143] B. Determine the refined region: At this point, the two point clouds are very close, and a global search is no longer needed. The scope of the nearest neighbor search can be narrowed (e.g., the search distance of ICP can be set from 10 meters to 0.1 meters).
[0144] C. Execute the refinement algorithm: On the point cloud at the original resolution or medium resolution, execute the final algorithm steps.
[0145] (3). Objective: To use high-resolution data to calculate the final high-precision result based on the good initial estimate provided by coarse registration.
[0146] (4) Obtain the result: a high-precision final result. For example, a high-precision transformation matrix T_fine.
[0147] Using acceleration strategy two can significantly shorten the overall computation time while maintaining accuracy almost identical to directly processing the original data. This is because the most time-consuming iterative process is completed on low-resolution data. This is a strategy for optimizing the algorithm flow itself. Its output (such as the transformation matrix and the denoised point cloud) is directly used in the next step of the process. For example, T_fine obtained from hierarchical ICP will be used to transform the point cloud, and then used for 3D reconstruction.
[0148] (iii) Synergistic effect, that is, the two strategies always work together: 1. In the "coarse processing" stage of hierarchical processing, the amount of data has been reduced, but GPU acceleration can still be combined to further speed up the computation on low-resolution data.
[0149] 2. In the "refining" stage, although high-resolution data is being processed, the computational load is significantly reduced thanks to the good initial values provided by the coarse processing. At this point, using a GPU to accelerate the nearest neighbor search can complete the final high-precision iteration extremely quickly.
[0150] Only through this combination of "hierarchical reduction of computation" and "parallelization to improve computational efficiency" can we efficiently process point clouds of hundreds of millions generated in large-scale scenarios such as substations, and ultimately generate 3D models with centimeter-level accuracy within an acceptable time.
[0151] Therefore, the solution proposed in this application has the following advantages compared to the prior art: 1. Accuracy meets standards: The output model has an absolute accuracy of ≤2cm (meeting the requirements for construction layout and collision detection), and the accuracy of key areas (such as equipment interfaces) reaches 5mm.
[0152] 2. Integrity and Robustness: The noise removal rate is >95%, and the model structure remains intact after the interference from dynamic objects is eliminated.
[0153] Registration error <0.5cm / m, seamless integration of multiple sites and cloud.
[0154] 3. Efficiency Improvement: The processing time for point clouds with hundreds of millions of points has been reduced from hours to minutes (single server + GPU).
[0155] Supports real-time preview (e.g., updating a local model every 10 seconds).
[0156] 4. Application Value: Construction planning: Accurately simulate equipment layout to avoid spatial conflicts.
[0157] Progress monitoring: Automatically detects construction deviations by comparing time-series point clouds.
[0158] Digital delivery: Generate BIM-compatible lightweight models (such as OBJ format).
[0159] Based on and Figure 1 Using the same principle as the method shown, this embodiment of the invention also provides a three-dimensional data processing device 20 based on BeiDou differential positioning, such as... Figure 5 As shown, the 3D data processing device 20 based on BeiDou differential positioning may include an acquisition module 210, a denoising module 220, a moving object removal module 230, a Poisson reconstruction module 240, and a 3D model generation module 250, wherein: The acquisition module 210 is used to acquire multiple raw point cloud data collected from the construction area by different scanning stations at different times. The multiple scanning stations are located at different locations in the construction area. The denoising module 220 is used to denoise each original point cloud data to obtain the denoised point cloud data corresponding to each original point cloud data. The moving object removal module 230 is used to identify and remove the point cloud data corresponding to moving objects in the construction area based on multiple denoised point cloud data, combined with time series analysis or optical flow method, to obtain target point cloud data. Poisson reconstruction module 240 is used to perform Poisson reconstruction based on target point cloud data and generate a triangular mesh surface model. The 3D model generation module 250 is used to perform texture enhancement processing on each triangular facet in the triangular mesh surface model to obtain the 3D model corresponding to the construction area.
[0160] Optionally, when the aforementioned moving object removal module 230 identifies and removes the point cloud data corresponding to moving objects in the construction area based on multiple denoised point cloud data and combines temporal analysis or optical flow methods to obtain target point cloud data, it is specifically used for: Point cloud data from different times and locations in multiple denoised point cloud datasets are registered to the same global coordinate system to obtain registered point cloud data. Discrete points representing moving objects in the registered point cloud data are identified, and clustering is performed on all discrete points to obtain point clusters corresponding to suspected moving objects in the construction area. Based on the point clusters corresponding to each suspected moving object, the target moving object in the construction area is determined by time series analysis or optical flow method. The target point cloud data is obtained by removing the point cloud data corresponding to the moving target object from the registered point cloud data and repairing it.
[0161] Furthermore, when the aforementioned moving object removal module 230 registers point cloud data from different times and locations in multiple denoised point cloud datasets to the same global coordinate system to obtain registered point cloud data, it is specifically used for: For any two denoised point cloud data corresponding to any two scanning stations in multiple denoised point cloud data, coarse registration is performed on any two denoised point cloud data to obtain the preliminary rigid body transformation matrix and the two point cloud data that are initially aligned. For each point in the source point cloud of any pair of initially aligned point cloud data, determine the nearest point to each local fitting plane of the target point cloud, and determine the directed distance and projection point of the local fitting plane containing the nearest point. Each local fitting plane is the plane corresponding to multiple points of the nearest distance to a point in the target point cloud. For any pair of initially aligned point cloud data, adjust all preliminary rigid body transformation matrices based on the directed distances and projection points corresponding to all points, and determine the target rigid body transformation matrix and the registered point cloud data that minimizes the weighted sum of squares of all directed distances. The target rigid body transformation matrix is the transformation matrix corresponding to the same global coordinate system.
[0162] Furthermore, when the aforementioned moving object removal module 230 registers point cloud data from different times and locations in multiple denoised point cloud datasets to the same global coordinate system to obtain registered point cloud data, it is specifically used for: For any two denoised point cloud data corresponding to any two scanning stations in multiple denoised point cloud data, coarse registration is performed on any two denoised point cloud data to obtain the preliminary rigid body transformation matrix and the two point cloud data that are initially aligned. For each point in the source point cloud of any pair of initially aligned point cloud data, determine the target point in the target point cloud that is closest to the point, thus forming a point pair; For any pair of point cloud data that are initially aligned, based on the distance between each pair of points, remove all point pairs whose distance is greater than a set distance, and determine the weight of each pair of points after removal to obtain a set of point pairs. For any pair of point cloud data that are initially aligned, based on the distance and weight of each point pair in the point pair set, determine the target rigid body transformation matrix and the registered point cloud data that are minimized when the weighted sum of the distances of all point pairs in the point pair set is minimized.
[0163] Furthermore, after obtaining the target rigid body transformation matrix and the registered point cloud data corresponding to any pair of initially aligned point cloud data, the above-mentioned device further includes: The error optimization module is used to construct a pose graph based on all target rigid body transformation matrices and the registered point cloud data. Each node in the pose graph represents a target rigid body transformation matrix, and each edge represents the registration result between the corresponding two nodes, including the first relative transformation matrix between the two nodes and the uncertainty. The first relative transformation matrix between the two nodes is obtained through registration. Based on the target rigid body transformation matrix corresponding to all nodes, determine the second relative transformation matrix between every two nodes; based on the first and second relative transformation matrices between every two nodes, determine multiple final rigid body transformation matrices with the minimum total error, where the total error is the sum of the errors between the first and second relative transformation matrices between every two nodes.
[0164] Furthermore, when the aforementioned 3D model generation module 250 performs Poisson reconstruction based on the target point cloud data to generate a triangular mesh surface model, it is specifically used for: For each point in the target point cloud data, determine the point's normal; The weight of each point is determined based on the attribute information of each point in the target point cloud data; Poisson reconstruction is performed based on the weight and normal of each point in the target point cloud data to generate a triangular mesh surface model.
[0165] Furthermore, the aforementioned device also includes: The completion module is used to complete the triangular mesh surface model when the geometry corresponding to any sub-region in the construction area is missing or the existing geometry is unreasonable, based on the triangular mesh surface model and the point cloud data corresponding to any sub-region, to obtain the target mesh model.
[0166] The three-dimensional data processing device based on BeiDou differential positioning in this embodiment of the invention can execute the three-dimensional data processing method based on BeiDou differential positioning provided in this embodiment of the invention. The implementation principle is similar. The actions performed by each module and unit in the three-dimensional data processing device based on BeiDou differential positioning in each embodiment of the invention correspond to the steps in the three-dimensional data processing method based on BeiDou differential positioning in each embodiment of the invention. For detailed functional descriptions of each module of the three-dimensional data processing device based on BeiDou differential positioning, please refer to the descriptions in the corresponding three-dimensional data processing methods based on BeiDou differential positioning shown above, which will not be repeated here.
[0167] The aforementioned three-dimensional data processing device based on BeiDou differential positioning can be a computer program (including program code) running on a computer device. For example, the three-dimensional data processing device based on BeiDou differential positioning is an application software. The device can be used to execute the corresponding steps in the method provided in the embodiments of the present invention.
[0168] In some embodiments, the three-dimensional data processing device based on BeiDou differential positioning provided in this invention can be implemented using a combination of hardware and software. As an example, the three-dimensional data processing device based on BeiDou differential positioning provided in this invention can be a processor in the form of a hardware decoding processor, which is programmed to execute the three-dimensional data processing method based on BeiDou differential positioning provided in this invention. For example, the processor in the form of a hardware decoding processor can be one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), or other electronic components.
[0169] In other embodiments, the three-dimensional data processing device based on BeiDou differential positioning provided in this invention can be implemented in software. Figure 5 A three-dimensional data processing device based on BeiDou differential positioning, stored in a memory, is shown. It can be software in the form of programs and plug-ins, and includes a series of modules, including an acquisition module 210, a noise reduction module 220, a moving object removal module 230, a Poisson reconstruction module 240, and a three-dimensional model generation module 250, for implementing the three-dimensional data processing method based on BeiDou differential positioning provided in the embodiments of the present invention.
[0170] The modules described in the embodiments of the present invention can be implemented in software or hardware. The names of the modules are not, in some cases, limiting the scope of the module itself.
[0171] Based on the same principles as the methods shown in the embodiments of the present invention, the embodiments of the present invention also provide an electronic device, which may include, but is not limited to: a processor and a memory; the memory for storing computer programs; and the processor for executing the methods shown in any embodiment of the present invention by invoking the computer programs.
[0172] In one alternative embodiment, an electronic device is provided, such as Figure 6 As shown, Figure 6The illustrated electronic device 4000 includes a processor 4001 and a memory 4003. The processor 4001 and the memory 4003 are connected, for example, via a bus 4002. Optionally, the electronic device 4000 may further include a transceiver 4004, which can be used for data interaction between the electronic device and other electronic devices, such as sending and / or receiving data. It should be noted that in practical applications, the transceiver 4004 is not limited to one type, and the structure of the electronic device 4000 does not constitute a limitation on the embodiments of the present invention.
[0173] Processor 4001 may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this invention. Processor 4001 may also be a combination that implements computational functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.
[0174] Bus 4002 may include a pathway for transmitting information between the aforementioned components. Bus 4002 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. Bus 4002 can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 6 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0175] The memory 4003 may be ROM (Read Only Memory) or other types of static storage devices capable of storing static information and instructions, RAM (Random Access Memory) or other types of dynamic storage devices capable of storing information and instructions, or EEPROM (Electrically Erasable Programmable Read Only Memory), CD-ROM (Compact Disc Read Only Memory) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto.
[0176] The memory 4003 stores application code (computer program) for executing the present invention, and its execution is controlled by the processor 4001. The processor 4001 executes the application code stored in the memory 4003 to implement the content shown in the foregoing method embodiments.
[0177] Among these, electronic devices can also be terminal devices. Figure 6 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments of the present invention.
[0178] This invention provides a computer-readable storage medium storing a computer program that, when run on a computer, enables the computer to execute the corresponding content in the aforementioned method embodiments.
[0179] According to another aspect of the present invention, a computer program product or computer program is also provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the methods provided in the various embodiments described above.
[0180] Computer program code for performing the operations of this invention can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, and conventional procedural programming languages such as C or similar languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0181] It should be understood that the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of methods and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0182] The computer-readable storage medium provided in this invention can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this invention, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0183] The aforementioned computer-readable storage medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to perform the method shown in the above embodiments.
[0184] The above description is merely a preferred embodiment of the present invention and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of disclosure in this invention is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-disclosed concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features with similar functions disclosed in this invention.
Claims
1. A three-dimensional data processing method based on BeiDou differential positioning, characterized in that, include: Multiple raw point cloud data were acquired from different scanning stations at different times in the construction area. The multiple scanning stations were located at different locations in the construction area. Denoising is performed on each of the original point cloud data to obtain the denoised point cloud data corresponding to each of the original point cloud data. Based on multiple denoised point cloud data, the point cloud data corresponding to moving objects in the construction area are identified and removed by combining time series analysis or optical flow method to obtain target point cloud data; Poisson reconstruction is performed based on the target point cloud data to generate a triangular mesh surface model; Each triangular facet in the triangular mesh surface model is texture-enhanced to obtain a three-dimensional model corresponding to the construction area.
2. The method according to claim 1, characterized in that, The step of identifying and removing point cloud data corresponding to moving objects in the construction area based on multiple denoised point cloud data sets, combined with time-series analysis or optical flow methods, to obtain target point cloud data includes: Point cloud data from different times and locations in multiple denoised point cloud datasets are registered to the same global coordinate system to obtain registered point cloud data. Discrete points representing moving objects in the registered point cloud data are identified, and clustering is performed on all discrete points to obtain point clusters corresponding to suspected moving objects in the construction area. Based on the point clusters corresponding to each suspected moving object, the target moving object in the construction area is determined by time series analysis or optical flow method. The target point cloud data is obtained by removing the point cloud data corresponding to the target moving object from the registered point cloud data and repairing it.
3. The method according to claim 2, characterized in that, The step of registering point cloud data from different times and locations in multiple denoised point cloud datasets to the same global coordinate system to obtain registered point cloud data includes: For any two denoised point cloud data corresponding to any two scanning stations in the plurality of denoised point cloud data, coarse registration is performed on the two denoised point cloud data to obtain the preliminary rigid body transformation matrix and the two point cloud data that are initially aligned. For each point in the source point cloud of any pair of initially aligned point cloud data, determine the nearest point to each local fitting plane of the target point cloud, and determine the directed distance and projection point of the point to the local fitting plane where the nearest point is located. Each local fitting plane is a plane corresponding to multiple points of the nearest distance to a point in the target point cloud. For any pair of initially aligned point cloud data, all the initial rigid body transformation matrices are adjusted according to the directed distances and projection points corresponding to all points to determine the target rigid body transformation matrix and the registered point cloud data that minimizes the weighted sum of squares of all directed distances. The target rigid body transformation matrix is the transformation matrix corresponding to the same global coordinate system.
4. The method according to claim 2, characterized in that, The step of registering point cloud data from different times and locations in multiple denoised point cloud datasets to the same global coordinate system to obtain registered point cloud data includes: For any two denoised point cloud data corresponding to any two scanning stations in the plurality of denoised point cloud data, coarse registration is performed on the two denoised point cloud data to obtain the preliminary rigid body transformation matrix and the two point cloud data that are initially aligned. For each point in the source point cloud of any pair of initially aligned point cloud data, determine the target point in the target point cloud that is closest to the point, thus forming a point pair; For any pair of point cloud data that are initially aligned, based on the distance between each pair of points, remove all point pairs whose distance is greater than a set distance, and determine the weight of each pair of points after removal to obtain a set of point pairs. For any pair of point cloud data that are initially aligned, the target rigid body transformation matrix and the registered point cloud data are determined based on the distance and weight of each point pair in the set of point pairs, when the weighted sum of the distances of all point pairs in the set of point pairs is minimized.
5. The method according to claim 3 or 4, characterized in that, After obtaining the target rigid body transformation matrix and the registered point cloud data corresponding to any pair of initially aligned point cloud data, the method further includes: Based on all target rigid body transformation matrices and the registered point cloud data, a pose graph is constructed. Each node in the pose graph represents a target rigid body transformation matrix, and each edge represents the registration result between the corresponding two nodes, including the first relative transformation matrix and uncertainty between the two nodes. The first relative transformation matrix between the two nodes is obtained through registration. Based on the target rigid body transformation matrix corresponding to all nodes, determine the second relative transformation matrix between every two nodes; Based on the first relative transformation matrix and the second relative transformation matrix between every two nodes, determine a plurality of final rigid body transformation matrices with the minimum total error, wherein the total error is the sum of the errors between the first relative transformation matrix and the second relative transformation matrix between every two nodes.
6. The method according to any one of claims 1 to 4, characterized in that, The step of performing Poisson reconstruction based on the target point cloud data to generate a triangular mesh surface model includes: For each point in the target point cloud data, determine the normal of that point; The weight of each point is determined based on the attribute information of each point in the target point cloud data; Poisson reconstruction is performed based on the weight and normal of each point in the target point cloud data to generate a triangular mesh surface model.
7. The method according to any one of claims 1 to 4, characterized in that, The method further includes: If the triangular mesh surface model is missing any geometric shape corresponding to any sub-region in the construction area, or if the existing geometric shape is unreasonable, the triangular mesh surface model is completed based on the triangular mesh surface model and the point cloud data corresponding to any sub-region to obtain the target mesh model.
8. A three-dimensional data processing device based on BeiDou differential positioning, characterized in that, include: The acquisition module is used to acquire multiple raw point cloud data collected from the construction area by different scanning stations at different times, with the multiple scanning stations located at different locations in the construction area. The denoising module is used to denoise each of the original point cloud data to obtain the denoised point cloud data corresponding to each of the original point cloud data. The moving object removal module is used to identify and remove the point cloud data corresponding to the moving objects existing in the construction area based on multiple denoised point cloud data, combined with time series analysis or optical flow method, to obtain target point cloud data. The Poisson reconstruction module is used to perform Poisson reconstruction based on the target point cloud data and generate a triangular mesh surface model. The 3D model generation module is used to perform texture enhancement processing on each triangular facet in the triangular mesh surface model to obtain the 3D model corresponding to the construction area.
9. An electronic device, characterized in that, It includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the computer program, implements the method of any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method of any one of claims 1-7.
Citation Information
Cited By
Multi-workpiece positioning method, device and computer equipment
CN122156273A
A point cloud completion method and system for the medical field
CN122335626A