Steel structure digital twin modeling method and system

By comprehensively considering the Euclidean distance between neighboring points, the angle between normal vectors, and the local geometric flatness, initial weights are set, and iterative weighted local surface fitting and robust weight updates are used to solve the problems of outlier suppression and geometric feature preservation in steel structure point cloud processing, generating a digital twin model with correct topology.

CN122289613APending Publication Date: 2026-06-26CHINA CONSTR FIFTH ENG DIV CORP LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
CHINA CONSTR FIFTH ENG DIV CORP LTD
Filing Date
2026-03-24
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

Existing technologies struggle to effectively suppress outliers while preserving the geometric characteristics of steel structures when processing point clouds, especially in edge and corner regions where oversmoothing or underfitting issues are common.

Method used

By comprehensively considering the Euclidean distance between neighboring points, the angle between normal vectors, and the local geometric flatness, initial weights are set, and iterative weighted local surface fitting is used in conjunction with a robust weight update strategy to suppress the influence of outliers and maintain the geometric characteristics of the steel structure.

Benefits of technology

It effectively suppressed noise and outlier interference, maintained the geometric characteristics of the steel structure, and generated a digital twin model with correct topology.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122289613A_ABST
    Figure CN122289613A_ABST
Patent Text Reader

Abstract

This invention provides a method and system for digital twin modeling of steel structures, comprising: acquiring and preprocessing original point cloud data of the steel structure, estimating an initial normal vector for each point; calculating the initial weights of each neighboring point based on the Euclidean distance to the point to be processed, the angle between the normal vectors, and the local flatness represented by the eigenvalues ​​of the neighborhood covariance matrix; performing iterative weighted local surface fitting: a: selecting local polynomial basis functions based on the neighborhood curvature and density; b: solving for weighted least squares based on the current total weight composed of the initial weights and the current robust weights to obtain the local fitted surface; c: calculating the orthogonal projection residuals of each point to the fitted surface, and updating the robust weights to suppress outliers based on the absolute deviation of the median of all residuals; d: repeating steps b and c until convergence; generating an optimized point cloud based on the orthogonal projection coordinates of each point to the fitted surface, and performing mesh reconstruction in conjunction with the normal vectors to construct the digital twin model of the steel structure.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of modeling, and in particular relates to a method and system for digital twin modeling of steel structures. Background Technology

[0002] 3D laser scanning technology generates 3D point cloud data by acquiring geometric information of steel structures and constructing digital twin models. However, due to the influence of scanning equipment accuracy, environmental factors, and surface characteristics of the object being inspected, the original point cloud data contains noise and outliers, and the point cloud density distribution is uneven.

[0003] Moving least squares (MLS) is a surface reconstruction and smoothing method in point cloud processing. It constructs a locally approximate surface by performing weighted least squares fitting on data points in the neighborhood of a given point, and then projects the point onto the fitted surface to achieve smoothing and resampling of the point cloud. However, when processing steel structure point clouds, standard least squares fitting is extremely sensitive to outliers; a single or a few noisy points far from the real surface can cause deviations in the locally fitted surface. MLS only considers the Euclidean distance between neighboring points and the center point in its weight function planning. This single metric is prone to oversmoothing when processing high-frequency feature regions such as edges and corners, blurring or eliminating the geometric features of the structure. Furthermore, traditional methods cannot adjust the expressive power of the fitting function according to the geometric complexity of local point cloud regions, potentially leading to overfitting in flat areas or underfitting in complex areas. Therefore, how to enhance the algorithm's ability to suppress outliers while preserving the geometric features of the steel structure during denoising and handling local geometric changes is a pressing technical challenge in the field of point cloud processing and digital twin modeling. Summary of the Invention

[0004] This invention proposes a digital twin modeling method and system for steel structures, which addresses the problem that existing technologies fail to enhance the algorithm's ability to suppress outliers, while maintaining the geometric features of the steel structure during denoising and dealing with local geometric changes.

[0005] In a first aspect, the present invention provides a method for digital twin modeling of steel structures, comprising the following steps: Obtain the original point cloud data of the steel structure; preprocess the original point cloud data by performing principal component analysis on each point and its neighborhood point set to estimate an initial local surface normal vector for each point; For any point to be processed in the point cloud data, determine the neighborhood point set of the point to be processed, and calculate the initial weight of each neighbor point in the neighborhood point set based on the Euclidean distance between the point to be processed and the neighborhood points, the angle between the estimated initial local surface normal vectors of the two points, and the local geometric flatness represented by the eigenvalues ​​of the covariance matrix of the neighborhood point set. Perform the following iterative weighted local surface fitting process: a: Determine the local polynomial basis function for fitting based on the local curvature change and point cloud density of the neighborhood point set; b: Solve the weighted least squares problem based on a current total weight determined by the initial weight and the current robust weight to obtain a local fitting surface; c: Calculate the orthogonal projection distance from each neighborhood point to the local fitting surface as the fitting residual, and update the robust weight used to suppress the influence of outliers based on the median absolute deviation of the fitting residuals of all neighborhood points; d: Repeat steps b and c until the fitting result converges or the preset number of iterations is reached. After the iteration is completed, the points to be processed are orthogonally projected onto the local fitting surface to obtain the optimized three-dimensional coordinates; the above steps are completed by traversing all the points to be processed to generate a denoised and feature-preserving optimized point cloud; based on the optimized point cloud and the local surface normal vector information obtained by the optimized point cloud during the fitting process, the mesh is reconstructed to build a digital twin model of the steel structure.

[0006] In another aspect, the present invention provides a digital twin modeling system for steel structures, comprising the following modules: The estimation module is used to acquire the original point cloud data of the steel structure; the original point cloud data is preprocessed by performing principal component analysis on each point and its neighborhood point set to estimate an initial local surface normal vector for each point; The calculation module is used to determine the neighborhood point set of any point to be processed in the point cloud data, and calculate the initial weight of each neighbor point in the neighborhood point set based on the Euclidean distance between the point to be processed and the neighbor points, the angle between the estimated initial local surface normal vectors of the two points, and the local geometric flatness represented by the eigenvalues ​​of the covariance matrix of the neighborhood point set. The fitting module is used to perform the following iterative weighted local surface fitting process: a: Determine the local polynomial basis function for fitting based on the local curvature change and point cloud density of the neighborhood point set; b: Solve the weighted least squares problem based on a current total weight determined by the initial weight and the current robust weight to obtain a local fitting surface; c: Calculate the orthogonal projection distance from each neighborhood point to the local fitting surface as the fitting residual, and update the robust weight used to suppress the influence of outliers based on the median absolute deviation of the fitting residuals of all neighborhood points; d: Repeat steps b and c until the fitting result converges or the preset number of iterations is reached. The module is used to orthogonally project the points to be processed onto the local fitting surface after the iteration is completed, so as to obtain the optimized three-dimensional coordinates; to traverse all the points to be processed to complete the above steps, and generate a denoised and feature-preserving optimized point cloud; based on the optimized point cloud and the local surface normal vector information obtained by the optimized point cloud during the fitting process, the mesh is reconstructed to build the digital twin model of the steel structure.

[0007] This invention sets initial weights by integrating the Euclidean distance between neighboring points, the angle between normal vectors, and local geometric flatness. This allows for the identification and preservation of sharp features on the steel structure surface, avoiding edge blunting and corner rounding issues that occur during denoising. During iterative fitting, appropriate polynomial basis functions are selected based on the specific local curvature and point cloud density. A robust weight update strategy based on the absolute deviation of the median suppresses noise and outlier interference in the original point cloud data, enhancing the stability of the processing. By reconstructing the mesh using the optimized point cloud and local normal vectors, a topologically correct digital twin model of the steel structure can be generated. Attached Figure Description

[0008] Figure 1 This is a flowchart of Example 1; Figure 2 A schematic diagram of point cloud fitting for feature-rich and flat sparse regions; Figure 3 This is a schematic diagram of the total weight composition. Detailed Implementation

[0009] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0010] Example 1 In Embodiment 1 of the present invention, as Figure 1 As shown, a method for digital twin modeling of steel structures includes: S1, acquire the original point cloud data of the steel structure; The steel structure is scanned using a 3D laser scanner or structured light scanner to obtain a set of 3D coordinate points on the surface, and stored in PCD, PLY, or LAS standard format files. Point cloud files are loaded into computer memory using point cloud processing libraries, such as the pcl::io::loadPCDFile function in the PCL library or the open3d.io.read_point_cloud function in the Open3D library, to obtain the data structure.

[0011] S2, preprocess the original point cloud data by performing principal component analysis on each point and its neighborhood point set to estimate an initial local surface normal vector for the point; A kd-tree data structure is used to spatially index the point cloud. For each point, the k nearest neighbors or all points within a specified radius r are queried to form a neighborhood point set. The centroid of this neighborhood point set is calculated, and the coordinates of all neighborhood points are subtracted from the centroid coordinates to center the points. A 3×3 covariance matrix of the centered neighborhood point set is constructed. The eigenvalues ​​and eigenvectors of the covariance matrix are solved using singular value decomposition (SVD) or eigenvalue decomposition algorithms. The eigenvector corresponding to the smallest eigenvalue is the initial local surface normal vector of the point. To ensure the consistency of the orientation of all normal vectors, viewpoint propagation or a Riemann diagram is used to uniformly adjust the orientation of the normal vectors.

[0012] S3. For any point to be processed in the point cloud data, determine the neighborhood point set of the point to be processed, and calculate the initial weight of each neighbor point in the neighborhood point set based on the Euclidean distance between the point to be processed and the neighborhood points, the angle between the estimated initial local surface normal vectors of the two points, and the local geometric flatness represented by the eigenvalues ​​of the covariance matrix of the neighborhood point set. Points to be processed A kd-tree is used to search for the set of neighboring points within a radius r; for any neighboring point in the set... The initial weights are obtained by multiplying three parts: First, the distance weight, calculated using a Gaussian kernel function, has a value of... ,in for and The Euclidean distance between them The first is the preset distance influence factor; the second is the weight of the angle between the normal vectors, which is also calculated using the Gaussian kernel function, and its value is... ,in and These are the normal vectors of two points, The first step is to determine the pre-defined normal vector influence factor; the second step is to calculate the flatness weight, starting with the points to be processed. eigenvalues ​​of the covariance matrix of the neighborhood point set The local geometric flatness C is calculated as follows: The flatness weight is then... ,in The three weight values ​​are multiplied together to obtain the neighborhood points, which are preset flatness influence factors. The initial weights.

[0013] In an optional embodiment, calculating the initial weights of each neighboring point in the neighboring point set based on the Euclidean distance between the point to be processed and its neighboring points, the angle between the estimated initial local surface normal vectors of the two points, and the local geometric flatness represented by the eigenvalues ​​of the covariance matrix of the neighboring point set includes: For any neighboring point in the neighborhood point set, calculate the point distance weight, the normal vector angle weight, and the flatness weight respectively; The distance weights are calculated using a Gaussian kernel function, and the formula is as follows: Where d is the Euclidean distance between the neighboring points and the point to be processed. Distance is the influencing factor; The formula for calculating the weight of the included angle of the normal vector is as follows: ,in Let be the initial local surface normal vector of the point to be processed. The initial local surface normal vector of the neighboring points; The flatness weight is calculated by measuring the eigenvalues ​​of the covariance matrix of the neighborhood point set. And according to the formula To obtain; The initial weights of the neighborhood points are obtained by multiplying the distance weight, the angle between the normal vectors, and the flatness weight.

[0014] For points to be processed and neighborhood point set any neighborhood point in Calculate the Euclidean distance between the two. Distance Influence Factor The value of is very important for weight calculation. Set the neighborhood search radius to R. For example, if the neighborhood search radius R is set to 50mm, then... Also set to 50mm. At this point, the distance weight... This setting causes the weights of distant neighboring points to decay in a Gaussian manner, with the decay rate determined by the size of the neighborhood.

[0015] Using the results obtained in the preprocessing step and initial local surface normal vector and Both normal vectors are unit vectors. Their dot product is calculated. This yields the cosine of the angle between the two normal vectors. (The weight of the angle between the normal vectors is then calculated.) The dot product result is linearly mapped to the interval [0,1]. The weight is 1 when the two normal vectors are in the same direction and 0 when they are in opposite directions. A neighborhood point set is constructed. The three-dimensional coordinate covariance matrix is ​​obtained by performing eigenvalue decomposition. Flatness weight By utilizing the relationship between eigenvalues ​​and local geometry, for flat regions, Approaching 0, Approaching 1; for corners or edges, Relatively large This reduces the weight of points in non-flat regions. Multiplying these three weights together... We obtain the initial weights for spatial proximity, normal consistency, and geometric flatness.

[0016] S4, perform the following iterative weighted local surface fitting process: a: Determine the local polynomial basis function for fitting based on the local curvature change and point cloud density of the neighborhood point set; b: Solve the weighted least squares problem based on a current total weight determined by the initial weight and the current robust weight to obtain a local fitting surface; c: Calculate the orthogonal projection distance from each neighborhood point to the local fitting surface as the fitting residual, and update the robust weight used to suppress the influence of outliers based on the median absolute deviation of the fitting residuals of all neighborhood points; d: Repeat steps b and c until the fitting result converges or the preset number of iterations is reached.

[0017] Local curvature can be calculated from the eigenvalues ​​of the covariance matrix; for example, the change in curvature is defined as... The local point cloud density is defined as the number of neighboring points divided by the volume or area of ​​the neighborhood. A decision rule is established, for example, if the curvature is greater than threshold A and the density is greater than or equal to threshold B, it is determined to be a non-flat region with rich features, and a second-order polynomial is selected as the fitting basis function; conversely, if the curvature factor is small or the neighborhood point density is insufficient, it is determined to be a flat or sparse region, and a first-order polynomial is selected as the fitting basis function. The variables u and v in the basis function are the coordinates of the point in the local tangent plane coordinate system defined by the point to be processed and the normal vector.

[0018] The coordinates of all neighboring points are transformed to a local coordinate system with the point to be processed as the origin and the normal vector as the z-axis. An overdetermined linear equation system Ac=z is constructed, where c is the polynomial coefficient vector to be solved, z is the vector composed of the z-coordinates of all neighboring points in the local coordinate system, and A is a Vandermonde matrix, where each row of the matrix consists of the local u and v coordinates of the corresponding neighboring point under the selected polynomial basis function. A diagonal weight matrix W is then constructed, with diagonal elements being the product of the initial weight and the current robust weight of each neighboring point. The normal equations are then solved. To obtain the coefficient vector c; the solution of the system of equations adopts the SVD singular value decomposition method or QR decomposition method with high numerical stability, which can be implemented using the Eigen or LAPACK linear algebra library.

[0019] For each neighboring point, the shortest distance from that point to the current polynomial surface, i.e., the orthogonal projection distance, is calculated using Newton's iteration method or a geometric approximation method, and is used as the fitting residual. Calculate all residuals the median of And calculate the median absolute deviation (MAD), i.e., all The median; the robust weights are updated using the Tukey double-weight function, and for each neighborhood point, the absolute value of the residual is... If the weight is less than a constant c multiplied by MAD, then the new robust weight is: Otherwise, the robust weight is 0, and the constant c is usually taken as 4.685.

[0020] Set a maximum number of iterations, for example, 15, and a convergence threshold. ,For example After each iteration, calculate the currently obtained coefficient vector. The coefficient vector obtained from the previous iteration The difference between Norm; if the norm If the number of iterations has reached its maximum value, the fitting is considered to have converged, and the iteration process is terminated.

[0021] In one embodiment, determining the local polynomial basis function for fitting based on the local curvature change of the neighborhood point set and the point cloud density includes: Calculate the eigenvalues ​​of the covariance matrix of the neighborhood point set. and will The result is used as a curvature factor to represent the local curvature change; Set preset curvature threshold and preset density threshold; When the curvature factor is greater than the preset curvature threshold and the local point cloud density is not less than the preset density threshold, the region is determined to be a feature-rich non-flat region, and a second-order polynomial is selected as the fitting basis function. In other cases, including regions where the curvature factor is less than or equal to the preset curvature threshold or the local point cloud density is less than the preset density threshold, the region is determined to be a flat or sparse region, and a first-order polynomial is selected as the fitting basis function.

[0022] Calculate the covariance matrix and eigenvalues ​​of the neighborhood point set of the point to be processed. And calculate the curvature factor. The curvature factor C has a range of [0, 1 / 3], with smaller values ​​indicating a flatter local surface. A preset curvature threshold is also available. Based on the typical geometric characteristics of the steel structure components, the preferred range is 0.01 to 0.03; for example, it can be set to... For a spherical neighborhood of radius R, calculate the local point cloud density. Where R is the set neighborhood search radius. A preset density threshold is set. The value should ensure that the second-order polynomial fitting has sufficient data support, and is preferably set according to the average density of the point cloud, for example, it can be set to . =0.01 points / mm 3 Or adjust according to the actual scanning resolution.

[0023] When determining the fitting basis function, the following judgment logic is executed: if the curvature factor C of the current neighborhood is greater than 0.02 and the local point cloud density ρ is greater than or equal to 0.01, then the local region is determined to be a high curvature or edge feature region, and the data points are sufficient to support surface fitting. In this case, a second-order polynomial is selected. As a locally fitted surface, it detects geometric details such as bolted joints and weld edges. Conversely, if C ≤ 0.02 or ρ < 0.01, a first-order polynomial is used. As a fitted surface, such as Figure 2 As shown, this avoids overfitting in flat or data-scarce regions.

[0024] In one embodiment, calculating the orthogonal projection distance from each neighboring point to the local fitted surface as the fitting residual, and updating the robust weights for suppressing the influence of outliers based on the median absolute deviation of the fitting residuals of all neighboring points, includes: Calculate the fitting residuals from all neighboring points to the current local fitted surface. ; Calculate the median of all fitted residuals. ; Calculate the median absolute deviation of all fitted residuals. ; when hour, ,when hour, , where c is a preset adjustment constant.

[0025] For each point in the neighborhood set Calculate the orthogonal projection distance from the point to the currently fitted local surface S; this distance is the fitting residual. Collect the residuals of all neighboring points to form a set. And calculate the median of the set. Calculate the absolute value of the difference between each residual and the median to obtain a new set. The median of the new set is calculated, yielding the median absolute deviation (MAD). MAD is a scaling estimator that is insensitive to outliers and represents the degree of dispersion of data points.

[0026] A preset adjustment constant c is chosen to ensure statistical efficiency, with a preferred value of 4.685. This value provides approximately 95% estimation efficiency when the data follows a normal distribution. Using the calculated MAD and the set c, the estimation efficiency can be calculated for each neighborhood point. Update robust weights Calculate the absolute value of the residual. and with threshold Compare. If Points less than or equal to this threshold are considered normal points. Robust weights are calculated using Tukey's biweight function; the farther the point is from the surface, the smaller the weight. If the value is greater than the threshold, it indicates that the point is an outlier. The robust weight is reset to 0, thus eliminating the influence of the outlier in the next iteration of the least squares solution.

[0027] In some implementations, the current total weight, determined jointly by the initial weight and the current robust weight, includes: The initial weight obtained for each neighboring point in the initial weight calculation step is multiplied point by point with the robust weight obtained in the robust weight update step of the current iteration to obtain the total weight of the neighboring point for the current iteration.

[0028] Before solving the weighted least squares problem in each iteration, it is necessary to consider the neighborhood points in the neighborhood set. Determine a total weight for this iteration. The total weight consists of two parts: one part is a fixed initial weight that has been calculated before the iteration begins. The other part is the robust weights updated after the previous iteration. This reflects the consistency of a point relative to the currently fitted surface, such as... Figure 3 As shown.

[0029] The calculation process involves processing each neighboring point. , set the initial weight of the point With robust weights Multiplication, that is For example, a certain neighborhood point The initial weight is 0.85. After the k-th iteration, the fitting residual is large but still within the threshold, and the calculated robust weight is 0.4. Therefore, the total weight used in the (k+1)-th iteration is 0.34. If another point... If it is an outlier and its robustness weight is 0, then no matter how large the initial weight is, the total weight will be 0.

[0030] It should be noted that, "until the fitting result converges or the preset number of iterations is reached" means that the iteration will terminate when any of the following conditions are met: Condition 1: The Euclidean distance between the projected coordinates of the point to be processed obtained from two consecutive iterations is less than the preset convergence threshold; Condition 2: The number of iterations reaches the preset maximum number of iterations.

[0031] After each iteration, such as the k-th iteration, the points to be processed will be... Orthogonally projected onto the newly fitted surface, a new three-dimensional coordinate system is obtained. .

[0032] Condition 1 is to calculate after the k-th iteration. The projection points obtained from the previous iteration Euclidean distance between This distance is compared with a preset convergence threshold. A comparison is then performed. The threshold should be set based on the accuracy and resolution of the point cloud data, with a preferred range being [range missing]. m to m, for example, can be set to m. If If the fit is stable, the iteration terminates. Condition two is a safeguard mechanism to prevent non-convergence or slow convergence due to special data distributions. A maximum number of iterations is set before the iteration begins. The preferred range is 5 to 15 times, for example, it can be set to If the number of iterations reaches... If condition one is still not met, the iteration is forcibly terminated. If any condition is met, the fitting process for the current point ends.

[0033] S5. After the iteration is completed, the points to be processed are orthogonally projected onto the local fitting surface to obtain the optimized three-dimensional coordinates. Pending processing points At the origin of the local coordinate system, i.e., u=0, v=0, the local coordinates of the projection point on the fitted local polynomial surface are (0,0,f(0,0)), where the value of f(0,0) is equal to the constant term in the obtained polynomial coefficient vector. Transform the local coordinates of the projection point back to the global coordinate system to obtain the optimized 3D coordinates. The calculation method is as follows ,in Let be the initial normal vector, and let be the unit vector.

[0034] S6. Iterate through all points to be processed to complete the above steps and generate a denoised and feature-preserving optimized point cloud. The process involves iterating through each point in the original point cloud using a for loop, treating each point as a point to be processed, and performing the entire process of neighborhood search, weight calculation, iterative fitting, and projection optimization. The optimized 3D coordinates of all points are then stored in a new point cloud data structure. To improve computational efficiency, parallel computing techniques can be used to distribute the point cloud data to multiple CPU cores for simultaneous processing.

[0035] S7. Based on the optimized point cloud and the local surface normal vector information obtained during the fitting process, the mesh is reconstructed to build a digital twin model of the steel structure.

[0036] By fitting a polynomial surface to each point, the gradient of that point at the local coordinate origin is calculated, thus obtaining the surface normal vector. Using the optimized point cloud coordinates and the corresponding normal vector as input, a Poisson surface reconstruction algorithm is applied. A three-dimensional scalar field is defined by solving a Poisson equation. This scalar field φ approaches 1 inside space and approaches 0 outside. The isosurface with a value of 0.5 is the fitted surface. This 0.5 isosurface is extracted to generate a triangular mesh model with good topology and watertightness. Texture mapping and shading rendering are performed on the generated mesh model to obtain a visually realistic digital twin model of the steel structure.

[0037] In some implementations, the step of reconstructing the mesh based on the optimized point cloud and the local surface normal vector information obtained during the fitting process of the optimized point cloud to construct a digital twin model of the steel structure includes: The optimized point cloud and the corresponding local surface normal vector are used as input; The Poisson surface reconstruction algorithm is adopted, which constructs an implicit function by solving the Poisson equation, so that the difference between the gradient field of the function and the input normal vector field at the data point is minimized. The moving cube algorithm is used to extract isosurfaces from the implicit function to generate a closed triangular mesh model, which serves as a digital twin model.

[0038] Denoising and feature-preserving optimized point cloud and for each point during the iterative fitting process Determined local surface normal vector This serves as the input data for the Poisson surface reconstruction algorithm. The normal vector is the fitted surface on... The normal vector at that location is more accurate and consistent than the initially estimated normal vector.

[0039] An octree data structure is constructed, discretizing the input points and normal vectors onto the nodes of the octree. The depth of the octree determines the level of detail in the reconstructed model. A vector field V is defined, which is composed of the input normal vector field. Interpolation is obtained. Solve a Poisson equation. Find a scalar field , make gradient The closest approximating vector field V. The solution process of the equations transforms the normal vector information into a globally consistent definition of the inner and outer spaces. The solution yields a scalar field. Subsequently, since the value range of φ is approximately [0,1], and the surface is located at φ=0.5, the 0.5 isosurface of this field is extracted using the moving cube algorithm. This isosurface is the reconstructed 3D surface. The output is a closed triangular mesh model with a good topological structure. This model represents the geometric shape of the steel structure and can be used as a digital twin model.

[0040] Example 2 In a second embodiment of the present invention, a digital twin modeling system for steel structures includes the following modules: An estimation module is used to acquire the original point cloud data of the steel structure; the original point cloud data is preprocessed by performing principal component analysis on each point and its neighborhood point set to estimate an initial local surface normal vector for each point; The calculation module is used to determine the neighborhood point set of any point to be processed in the point cloud data, and calculate the initial weight of each neighbor point in the neighborhood point set based on the Euclidean distance between the point to be processed and the neighbor points, the angle between the estimated initial local surface normal vectors of the two points, and the local geometric flatness represented by the eigenvalues ​​of the covariance matrix of the neighborhood point set. The fitting module is used to perform the following iterative weighted local surface fitting process: a: Determine the local polynomial basis function for fitting based on the local curvature change and point cloud density of the neighborhood point set; b: Solve the weighted least squares problem based on a current total weight determined by the initial weight and the current robust weight to obtain a local fitting surface; c: Calculate the orthogonal projection distance from each neighborhood point to the local fitting surface as the fitting residual, and update the robust weight used to suppress the influence of outliers based on the median absolute deviation of the fitting residuals of all neighborhood points; d: Repeat steps b and c until the fitting result converges or the preset number of iterations is reached. The module is used to orthogonally project the points to be processed onto the local fitting surface after the iteration is completed, so as to obtain the optimized three-dimensional coordinates; to traverse all the points to be processed to complete the above steps, and generate a denoised and feature-preserving optimized point cloud; based on the optimized point cloud and the local surface normal vector information obtained by the optimized point cloud during the fitting process, the mesh is reconstructed to build the digital twin model of the steel structure.

[0041] In some implementations, calculating the initial weights of each neighboring point in the neighborhood point set based on the Euclidean distance between the point to be processed and its neighboring points, the angle between the estimated initial local surface normal vectors of the two points, and the local geometric flatness represented by the eigenvalues ​​of the covariance matrix of the neighborhood point set includes: For any neighboring point in the neighborhood point set, calculate the point distance weight, the normal vector angle weight, and the flatness weight respectively; The distance weights are calculated using a Gaussian kernel function, and the formula is as follows: Where d is the Euclidean distance between the neighboring points and the point to be processed. Distance is the influencing factor; The formula for calculating the weight of the included angle of the normal vector is as follows: ,in Let be the initial local surface normal vector of the point to be processed. The initial local surface normal vector of the neighboring points; The flatness weight is calculated by measuring the eigenvalues ​​of the covariance matrix of the neighborhood point set. And according to the formula To obtain; The initial weights of the neighborhood points are obtained by multiplying the distance weight, the angle between the normal vectors, and the flatness weight.

[0042] In an optional embodiment, determining the local polynomial basis function for fitting based on the local curvature change of the neighborhood point set and the point cloud density includes: Calculate the eigenvalues ​​of the covariance matrix of the neighborhood point set. and will The result is used as a curvature factor to represent the local curvature change; Set preset curvature threshold and preset density threshold; When the curvature factor is greater than the preset curvature threshold and the local point cloud density is not less than the preset density threshold, the region is determined to be a feature-rich non-flat region, and a second-order polynomial is selected as the fitting basis function. In other cases, including regions where the curvature factor is less than or equal to the preset curvature threshold or the local point cloud density is less than the preset density threshold, the region is determined to be a flat or sparse region, and a first-order polynomial is selected as the fitting basis function.

[0043] In some implementations, the calculation of the orthogonal projection distance from each neighboring point to the local fitted surface is used as the fitting residual, and the updating of the robust weights used to suppress the influence of outliers based on the median absolute deviation of the fitting residuals of all neighboring points includes: Calculate the fitting residuals from all neighboring points to the current local fitted surface. ; Calculate the median of all fitted residuals. ; Calculate the median absolute deviation of all fitted residuals. ; when At that time, robust weight ,when hour, , where c is a preset adjustment constant.

[0044] In one possible implementation, the step of basing the current total weight on a combination of the initial weight and the current robust weight includes: The initial weight obtained for each neighboring point in the initial weight calculation step is multiplied point by point with the robust weight obtained in the robust weight update step of the current iteration to obtain the total weight of the neighboring point for the current iteration.

[0045] In an optional embodiment, the step of "until the fitting result converges or the preset number of iterations is reached" means terminating the iteration when any of the following conditions are met: Condition 1: The Euclidean distance between the projected coordinates of the point to be processed obtained from two consecutive iterations is less than the preset convergence threshold; Condition 2: The number of iterations reaches the preset maximum number of iterations.

[0046] In some implementations, the step of reconstructing the mesh based on the optimized point cloud and the local surface normal vector information obtained during the fitting process of the optimized point cloud to construct a digital twin model of the steel structure includes: The optimized point cloud and the corresponding local surface normal vector are used as input; The Poisson surface reconstruction algorithm is adopted, which constructs an implicit function by solving the Poisson equation, so that the difference between the gradient field of the function and the input normal vector field at the data point is minimized. The moving cube algorithm is used to extract isosurfaces from the implicit function to generate a closed triangular mesh model, which serves as a digital twin model.

[0047] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.

[0048] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A method for digital twin modeling of steel structures, characterized in that, Includes the following steps: Obtain the original point cloud data of the steel structure; preprocess the original point cloud data by performing principal component analysis on each point and its neighborhood point set to estimate an initial local surface normal vector for each point; For any point to be processed in the point cloud data, determine the neighborhood point set of the point to be processed, and calculate the initial weight of each neighbor point in the neighborhood point set based on the Euclidean distance between the point to be processed and the neighborhood points, the angle between the estimated initial local surface normal vectors of the two points, and the local geometric flatness represented by the eigenvalues ​​of the covariance matrix of the neighborhood point set. Perform the following iterative weighted local surface fitting process: a: Determine the local polynomial basis function for fitting based on the local curvature change and point cloud density of the neighborhood point set; b: Solve the weighted least squares problem based on a current total weight determined by the initial weight and the current robust weight to obtain a local fitted surface. c: Calculate the orthogonal projection distance from each neighboring point to the local fitted surface as the fitting residual, and update the robust weights used to suppress the influence of outliers based on the median absolute deviation of the fitting residuals of all neighboring points. d: Repeat steps b and c until the fitting result converges or the preset number of iterations is reached; After the iteration is completed, the points to be processed are orthogonally projected onto the local fitting surface to obtain the optimized three-dimensional coordinates; the above steps are completed by traversing all the points to be processed to generate a denoised and feature-preserving optimized point cloud; based on the optimized point cloud and the local surface normal vector information obtained by the optimized point cloud during the fitting process, the mesh is reconstructed to build a digital twin model of the steel structure.

2. The method according to claim 1, characterized in that, The calculation of the initial weights of each neighboring point in the neighborhood point set, based on the Euclidean distance between the point to be processed and its neighboring points, the angle between the estimated initial local surface normal vectors of the two points, and the local geometric flatness represented by the eigenvalues ​​of the covariance matrix of the neighborhood point set, includes: For any neighboring point in the neighborhood point set, calculate the point distance weight, the normal vector angle weight, and the flatness weight respectively; The distance weights are calculated using a Gaussian kernel function, and the formula is as follows: Where d is the Euclidean distance between the neighboring points and the point to be processed. Distance is the influencing factor; The formula for calculating the weight of the included angle of the normal vector is as follows: ,in Let be the initial local surface normal vector of the point to be processed. The initial local surface normal vector of the neighboring points; The flatness weight is calculated by measuring the eigenvalues ​​of the covariance matrix of the neighborhood point set. And according to the formula To obtain; The initial weights of the neighborhood points are obtained by multiplying the distance weight, the angle between the normal vectors, and the flatness weight.

3. The method according to claim 1, characterized in that, The step of determining the local polynomial basis function for fitting based on the local curvature change and point cloud density of the neighborhood point set includes: Calculate the eigenvalues ​​of the covariance matrix of the neighborhood point set. and will The result is used as a curvature factor to represent the local curvature change; Set preset curvature threshold and preset density threshold; When the curvature factor is greater than the preset curvature threshold and the local point cloud density is not less than the preset density threshold, the region is determined to be a feature-rich non-flat region, and a second-order polynomial is selected as the fitting basis function. In other cases, including regions where the curvature factor is less than or equal to the preset curvature threshold or the local point cloud density is less than the preset density threshold, the region is determined to be a flat or sparse region, and a first-order polynomial is selected as the fitting basis function.

4. The method according to claim 3, characterized in that, The calculation of the orthogonal projection distance from each neighboring point to the local fitted surface is used as the fitting residual. The robust weights used to suppress the influence of outliers are updated based on the median absolute deviation of the fitting residuals for all neighboring points, including: Calculate the fitting residuals from all neighboring points to the current local fitted surface. ; Calculate the median of all fitted residuals. ; Calculate the median absolute deviation of all fitted residuals. ; when At that time, robust weight ,when hour, , where c is a preset adjustment constant.

5. The method according to claim 1, characterized in that, The current total weight, determined by the initial weight and the current robust weight, includes: The initial weight obtained for each neighboring point in the initial weight calculation step is multiplied point by point with the robust weight obtained in the robust weight update step of the current iteration to obtain the total weight of the neighboring point for the current iteration.

6. The method according to claim 1, characterized in that, The phrase "until the fitting result converges or the preset number of iterations is reached" means that the iteration is terminated when any of the following conditions are met: Condition 1: The Euclidean distance between the projected coordinates of the point to be processed obtained from two consecutive iterations is less than the preset convergence threshold; Condition 2: The number of iterations reaches the preset maximum number of iterations.

7. The method according to claim 1, characterized in that, The process of reconstructing a digital twin model of the steel structure based on the optimized point cloud and the local surface normal vector information obtained during the fitting process includes: The optimized point cloud and the corresponding local surface normal vector are used as input; The Poisson surface reconstruction algorithm is adopted, which constructs an implicit function by solving the Poisson equation, so that the difference between the gradient field of the function and the input normal vector field at the data point is minimized. The moving cube algorithm is used to extract isosurfaces from the implicit function to generate a closed triangular mesh model, which serves as a digital twin model.

8. A digital twin modeling system for steel structures, characterized in that, Includes the following modules: The estimation module is used to acquire the original point cloud data of the steel structure; the original point cloud data is preprocessed by performing principal component analysis on each point and its neighborhood point set to estimate an initial local surface normal vector for each point; The calculation module is used to determine the neighborhood point set of any point to be processed in the point cloud data, and calculate the initial weight of each neighbor point in the neighborhood point set based on the Euclidean distance between the point to be processed and the neighbor points, the angle between the estimated initial local surface normal vectors of the two points, and the local geometric flatness represented by the eigenvalues ​​of the covariance matrix of the neighborhood point set. The fitting module is used to perform the following iterative weighted local surface fitting process: a: determine the local polynomial basis function for fitting based on the local curvature change and point cloud density of the neighborhood point set; b: solve the weighted least squares problem based on a current total weight determined by the initial weight and the current robust weight to obtain a local fitted surface. c: Calculate the orthogonal projection distance from each neighboring point to the local fitted surface as the fitting residual, and update the robust weights used to suppress the influence of outliers based on the median absolute deviation of the fitting residuals of all neighboring points. d: Repeat steps b and c until the fitting result converges or the preset number of iterations is reached; The module is used to orthogonally project the points to be processed onto the local fitting surface after the iteration is completed, so as to obtain the optimized three-dimensional coordinates; to traverse all the points to be processed to complete the above steps, and generate a denoised and feature-preserving optimized point cloud; based on the optimized point cloud and the local surface normal vector information obtained by the optimized point cloud during the fitting process, the mesh is reconstructed to build the digital twin model of the steel structure.

9. The system according to claim 8, characterized in that, The calculation of the initial weights of each neighboring point in the neighborhood point set, based on the Euclidean distance between the point to be processed and its neighboring points, the angle between the estimated initial local surface normal vectors of the two points, and the local geometric flatness represented by the eigenvalues ​​of the covariance matrix of the neighborhood point set, includes: For any neighboring point in the neighborhood point set, calculate the point distance weight, the normal vector angle weight, and the flatness weight respectively; The distance weights are calculated using a Gaussian kernel function, and the formula is as follows: Where d is the Euclidean distance between the neighboring points and the point to be processed. Distance is the influencing factor; The formula for calculating the weight of the included angle of the normal vector is as follows: ,in Let be the initial local surface normal vector of the point to be processed. The initial local surface normal vector of the neighboring points; The flatness weight is calculated by measuring the eigenvalues ​​of the covariance matrix of the neighborhood point set. And according to the formula To obtain; The initial weights of the neighborhood points are obtained by multiplying the distance weight, the angle between the normal vectors, and the flatness weight.

10. The system according to claim 8, characterized in that, The step of determining the local polynomial basis function for fitting based on the local curvature change and point cloud density of the neighborhood point set includes: Calculate the eigenvalues ​​of the covariance matrix of the neighborhood point set. and will The result is used as a curvature factor to represent the local curvature change; Set preset curvature threshold and preset density threshold; When the curvature factor is greater than the preset curvature threshold and the local point cloud density is not less than the preset density threshold, the region is determined to be a feature-rich non-flat region, and a second-order polynomial is selected as the fitting basis function. In other cases, including regions where the curvature factor is less than or equal to the preset curvature threshold or the local point cloud density is less than the preset density threshold, the region is determined to be a flat or sparse region, and a first-order polynomial is selected as the fitting basis function.