A fast parallel multi-scale smooth signed distance surface reconstruction method and system

By constructing an adaptive octree through Gaussian curvature calculation and introducing multi-threaded parallel computing, the problems of insufficient accuracy and low efficiency in surface reconstruction in existing technologies are solved, and efficient and accurate reconstruction of complex surfaces is achieved.

CN119273873BActive Publication Date: 2025-11-28NORTHWEST UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411202695.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-29
Publication Date
2025-11-28
Estimated Expiration
2044-08-29

AI Technical Summary

Technical Problem

Existing technologies suffer from problems such as loss of geometric details, uneven reconstruction resolution, and high computational overhead when reconstructing curved surfaces, and are particularly inefficient when dealing with complex models and large-scale point cloud data.

Method used

The Gaussian curvature is calculated using the moving least squares method, an adaptive octree for curvature is constructed, global fitting is performed through implicit functions, and multi-threaded parallel computation is introduced to improve reconstruction accuracy and efficiency.

Benefits of technology

It achieves high-precision surface reconstruction, effectively captures complex geometric details, reduces redundant calculations, and significantly improves computational efficiency and storage resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119273873B_ABST
    Figure CN119273873B_ABST
Patent Text Reader

Abstract

The application belongs to the field of computer graphics, and discloses a fast parallel multi-scale smooth signed distance surface reconstruction method and system, adopts a moving least square method to locally fit point cloud data, and calculates to obtain the Gaussian curvature of the point cloud; a curvature adaptive octree is constructed based on the Gaussian curvature, the octree is used for dynamically adjusting local resolution, capturing geometric details to improve surface reconstruction accuracy; global fitting is carried out through an implicit function, and a zero isosurface is obtained through an octree isosurface extraction algorithm; in the process of iteratively solving a linear system, multi-threading is introduced for parallel calculation. The adaptive octree based on the Gaussian curvature can effectively capture complex geometric details, and the algorithm realizes high-precision surface reconstruction under different scales. In addition, parallel calculation significantly improves the local and overall calculation efficiency, ensuring the efficiency of the algorithm in large-scale data processing. The method provided in the paper provides an efficient and accurate solution for complex surface reconstruction.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the field of computer graphics, and particularly relates to a fast parallel multi-scale smooth signed distance surface reconstruction method and system. BACKGROUND

[0002] Currently, surface reconstruction using oriented point cloud data is an important research content in the fields of computer graphics, reverse engineering and three-dimensional modeling, etc. Point cloud data is usually obtained from 3D scanning devices such as laser radar, structured light scanner or time-of-flight (ToF) camera, etc. Surface reconstruction is a classic problem that has been studied for more than 30 years, and it faces major challenges especially in the reconstruction of geometric details of complex models and surface reconstruction of large-scale point cloud data.

[0003] Current technologies lack accuracy in reconstructing models containing complex details, especially when the geometric structure contains more details or noise, the reconstruction result may be distorted or details lost. When dealing with large-scale point cloud data, existing algorithms perform poorly in terms of computational efficiency and storage requirements, which can easily lead to performance bottlenecks. Especially when the data size is large, the reconstruction process may consume a lot of time and computing resources. These problems indicate that further research needs to focus on improving the efficiency of the algorithm and its performance under complex geometric shapes.

[0004] Signed distance function (SDF) is a mathematical tool commonly used for implicit surface reconstruction. It calculates the signed distance of a point to a surface, providing a continuous geometric representation for the reconstruction process. Early work by Hoppe et al. and Curless et al. used tangent planes to define the signed distance function and adopted uniform grids for space partitioning. These uniform grid partitioning methods lack adaptability in dealing with complex details in different regions, and cannot dynamically adjust according to the geometric characteristics or sampling density of the actual data. This kind of method is prone to over-refinement in simple regions and under-refinement in complex regions, ultimately causing uneven reconstruction resolution. Existing methods usually rely on sample point density to determine the reconstruction resolution, but the increase in sample density may reflect data redundancy rather than geometric complexity, which can lead to increased computational overhead in high-density regions.

[0005] Smooth signed distance surface reconstruction (SSD) method achieves zero level set extraction and generates smooth watertight surfaces by forcing the implicit function to be a smooth approximation of the signed distance function to the surface. This method has been widely used due to its simplicity and adaptability. However, the SSD method may lose details, especially in areas with large curvature changes or small structures, it is difficult to preserve the fine structure of the original point cloud.

[0006] Through the above analysis, the problems and defects of the prior art are:

[0007] (1) The existing smooth symbol distance surface reconstruction technology is prone to lose geometric details when reconstructing complex models.

[0008] (2) Uneven reconstruction resolution: The existing symbol distance function (SDF) method usually relies on uniform grids for spatial division. However, this division method lacks adaptability when dealing with complex geometric details in different regions, and cannot dynamically adjust according to the actual geometric characteristics or sampling density of point cloud data

[0009] (3) High computational overhead: In existing methods, the reconstruction resolution usually depends on the density of sample points. High sample point density will significantly increase the computational overhead, especially in the case of large amount of point cloud data and dense sampling. SUMMARY

[0010] In view of the problems existing in the prior art, the present application provides a fast and parallel multi-scale smooth symbol distance surface reconstruction method and system.

[0011] The present application is implemented as follows: a fast and parallel multi-scale smooth symbol distance surface reconstruction method, comprising:

[0012] Step one, using the moving least squares method to locally fit the point cloud data, and calculating the Gaussian curvature of the point cloud;

[0013] Step two, constructing a curvature adaptive octree based on the Gaussian curvature, the octree is used to dynamically adjust the local resolution, capture geometric details to improve the surface reconstruction accuracy;

[0014] Step three, global fitting is performed through an implicit function, and the zero isosurface is obtained through the octree isosurface extraction algorithm; multi-threading is introduced in the process of iterative solving of linear system for parallel computing.

[0015] Further, the step one uses the moving least squares (MLS) method to fit a local surface, and a quadratic polynomial is selected as the fitting function. According to the fitted local plane, two principal curvatures κ max ,κ min of the point are calculated, and then the Gaussian curvature κ=κ max ·κ min is obtained; the MLS is used to obtain the surface principal curvatures κ max ,κ min The specific steps are as follows:

[0016] 1. For each sampling point p idetermining its neighborhood, in which a local plane is fitted by MLS method, assuming the surface locally approximates to a 2D plane.

[0017] 2. After getting the local plane, all the neighborhood points are transformed from 3D coordinate system to the local 2D plane coordinate system, usually taking the plane as the new coordinate origin. In the local plane coordinate system, a quadric surface is fitted to the points in the neighborhood. The equation of the quadric surface can be written as:

[0018] z = ax 2 + by 2 + cxy + dx + ey + f

[0019] where (x, y) is the point in the local plane coordinate system, and z is the offset of the point along the normal direction. The equation is fitted by minimizing the error.

[0020] 3. According to the coefficients of the fitted quadric surface, the principal curvatures of the point can be calculated by the formulas in differential geometry. For a quadric surface z = f(x, y), its curvatures in the local can be calculated by the following formulas: the first fundamental form coefficients: E, F, G. The second fundamental form coefficients: e, f, g. According to these coefficients, the principal curvatures κ max , κ min can be obtained by solving the eigenvalue problem of the quadratic equation:

[0021]

[0022] In practice, the maximum and minimum principal curvatures of the point are obtained by solving the eigenvalue problem.

[0023] Further, the step two comprises:

[0024] An adaptive octree is constructed according to the principle of minimizing the reconstruction error, and the local grid interval of the octree is determined by the Gaussian curvature of the point cloud data; the local neighborhood of the point cloud data is approximated as a quadric surface, and for a surface with curvature κ, its local quadratic approximation can be expressed as:

[0025]

[0026] The sampling interval Δx is associated with the curvature radius of the surface, and if the interval between two adjacent sampling points on the surface is Δx, the maximum error will occur at the midpoint x = Δx / 2; the error between the actual value of the surface and the linear interpolation is:

[0027]

[0028] When g(0) = 0, the error is: After simplification, we get:

[0029] The maximum acceptable error is defined as ξ max , ξ max satisfies:

[0030]

[0031] Since, then The maximum error ξ allowed is set to be about 1 / 128 of the minimum radius of curvature R min , and the corresponding octree grid spacing Δh should satisfy:

[0032]

[0033] When the local grid spacing of an octree node is less than 1 / 4 of the minimum radius of curvature of all points inside the node, the octree node terminates subdivision; introduce a multi-resolution parameter μ, so that the local grid spacing of the octree node is less than μR min when subdivision is terminated.

[0034] Further, the step three iteration process of solving the linear system includes:

[0035] respectively, the finite difference discretization of and Hf(x) is carried out, and the energy function is obtained as follows:

[0036]

[0037] Where ω0,...ω7 are trilinear interpolation coordinates of p i , and is the grid corner value of unit α;

[0038]

[0039] Where Δα is the edge length of unit α,

[0040]

[0041] Where α,β are two adjacent leaf nodes of the octree, Δ (α,β) is the Euclidean distance between unit α and unit β, and |V| (α,β) is the area of the common face of unit α and unit β.

[0042] Further, the multi-thread parallel calculation in step three is:

[0043] In the process of solving large sparse linear system by using preconditioned conjugate gradient method, the accumulation of Ap vector needs multiple iterations, where A represents matrix, and p is a direction vector; CPU multi-core parallel scheme is used to accumulate Api vector; specifically, each thread in CPU independently calculates a part of matrix vector product, which corresponds to a subset of rows of matrix A, after all threads complete their respective calculations, partial results Api are accumulated into the final Ap vector, and the multi-core architecture of CPU is used to shorten the calculation time.

[0044] Further, the step three is equal value surface extraction:

[0045] After solving the sparse linear system, a zero equal value surface of the discretized implicit function needs to be constructed in three-dimensional space to approximate the complex topological structure of the implicit surface M, an unconstrained equal value surface extraction algorithm based on octree is used to generate a water-tight level set on any octree grid, and the equal value surface is extracted from the large-scale three-dimensional scalar field through spatial division and adaptive calculation strategy.

[0046] Another object of the present application is to provide a fast and parallel multi-scale smooth signed distance surface reconstruction system, comprising:

[0047] The data acquisition module is used for collecting and inputting point cloud data.

[0048] The curvature calculation module is connected with the data acquisition module, and is used for locally fitting the point cloud data based on the moving least square method, and calculating and acquiring the Gaussian curvature of the point cloud.

[0049] The adaptive octree generation module is connected with the curvature calculation module, and is used for constructing a curvature adaptive octree based on the Gaussian curvature, for dynamically adjusting local resolution, capturing geometric details, and improving surface reconstruction accuracy.

[0050] The multi-thread calculation module is connected with the adaptive octree generation module, and is used for globally fitting by using an implicit function, and introducing multi-thread parallel calculation in the process of iteratively solving the linear system by using an octree equal value surface extraction algorithm.

[0051] The equal value surface extraction module is connected with the multi-thread calculation module, and is used for constructing a zero equal value surface of the discretized implicit function in three-dimensional space, and approximating the complex topological structure of the implicit surface.

[0052] Further, the system further comprises:

[0053] The local surface fitting submodule is included in the curvature calculation module, and is used for fitting a local surface by using the moving least square method, the fitting function is a quadratic polynomial, the principal curvature of the point is calculated according to the fitted local plane, and the Gaussian curvature is further calculated.

[0054] The adaptive grid generation submodule is configured to construct an adaptive octree according to a minimum reconstruction error principle, wherein a local grid interval of the octree is determined by a Gaussian curvature of the point cloud data, and when the local grid interval of an octree node is less than 1 / 4 of a minimum curvature radius of all points inside the node, the octree node is terminated from subdivision.

[0055] Another object of the present application is to provide a computer device, characterized in that the computer device comprises a memory and a processor, the memory stores a computer program, and the computer program is executed by the processor to make the processor execute the steps of the fast parallel multi-scale smooth signed distance surface reconstruction method.

[0056] Another object of the present application is to provide a computer-readable storage medium storing a computer program, and the computer program is executed by a processor to make the processor execute the steps of the fast parallel multi-scale smooth signed distance surface reconstruction method.

[0057] In combination with the above technical solutions and the technical problems solved, the advantages and positive effects of the technical solutions to be protected by the present application are analyzed from the following aspects:

[0058] First, in view of the technical problems existing in the prior art and the difficulty of solving the problems, the technical solutions to be protected by the present application and the results and data in the research and development process are closely combined to analyze in detail and profoundly how the technical solutions solve the technical problems and bring some creative technical effects after solving the problems. The specific description is as follows:

[0059] The adaptive octree based on the Gaussian curvature can effectively capture complex geometric details, and the algorithm realizes high-precision surface reconstruction at different scales. In addition, parallel computing significantly improves the local and overall computing efficiency, ensuring the efficiency of the algorithm in large-scale data processing. The method proposed in this paper provides an efficient and accurate solution for complex surface reconstruction.

[0060] The present application proposes a surface reconstruction algorithm based on improved octree. By deriving the relationship between the octree grid interval and the minimum curvature radius, it is ensured that the sampling interval is small enough during the reconstruction process. Based on smooth signed distance surface reconstruction, the present application constructs a multi-scale adaptive octree based on Gaussian curvature to improve the surface reconstruction accuracy of complex models. The proposed method avoids excessive smoothing operations and produces fewer pseudo-curves. Experimental results show that the proposed method has global adaptivity and significantly higher reconstruction accuracy than the SSD algorithm, and can preserve complex geometric details in the point cloud, such as concave and convex regions and small structures. In the linear system operation, multi-thread technology is introduced, and 8 cores are used to achieve 4 times acceleration.

[0061] Secondly, from the perspective of the product as a whole, the technical effects and advantages of the technical solution to be protected by the present application are described as follows:

[0062] The present application introduces a fast and parallel multi-scale smooth signed distance surface reconstruction method, solves the problems of insufficient surface reconstruction accuracy, low computational efficiency and performance bottleneck when processing large-scale point cloud data in the prior art, and brings the following technical effects and significant technical progress:

[0063] Improve the accuracy of surface reconstruction: by using the moving least squares method (MLS) to locally fit the point cloud data and calculating the Gaussian curvature to guide the construction of adaptive octree, the local resolution can be dynamically adjusted to accurately capture geometric details, thereby significantly improving the accuracy of surface reconstruction. Compared with the traditional uniform grid method, the present application can effectively reduce redundant calculations while preserving important geometric features.

[0064] Enhance computational efficiency: the present application introduces a multi-thread parallel computing module, especially when solving large sparse linear systems iteratively, the CPU multi-core parallel processing of matrix-vector multiplication significantly shortens the calculation time. This parallel computing strategy greatly improves the efficiency of large-scale point cloud data processing, so that the reconstruction process can be completed in a shorter time.

[0065] Adapt to complex topological structure: using the unconstrained isosurface extraction algorithm based on octree, the system can generate a water-tight level set on any octree grid, extract isosurfaces of complex topological structure from large-scale three-dimensional scalar fields, and realize efficient reconstruction of implicit surfaces, with better adaptability and effect.

[0066] Reduce storage and computing resource consumption: the construction of adaptive octree and the introduction of multi-resolution strategy enable the present application to reasonably allocate computing resources and storage space while ensuring accuracy. Especially between high-curvature and low-curvature regions, the adaptive adjustment of grid density effectively reduces unnecessary computation and storage overhead.

[0067] Thirdly, as the creative auxiliary evidence of the claims of the present application, it is also embodied in the following important aspects:

[0068] (1) The expected income and commercial value of the technical solution of the present application after transformation are:

[0069] The application has important application value in the field of cultural relic reconstruction based on the adaptive octree technology of Gaussian curvature. Through high-precision surface reconstruction technology, this method can capture the complex geometric details of the cultural relic surface, such as carved texture and subtle damage structure, and realize a highly realistic reconstruction effect. This efficient reconstruction scheme can significantly improve the speed and accuracy of cultural relic digitization, reduce manual repair and data processing time, and bring significant commercial value.

[0070] (2) The technical scheme of the application fills the technical gap in the industry at home and abroad:

[0071] The technical scheme is based on Gaussian curvature to construct a multi-scale adaptive octree, solving the problem of insufficient reconstruction accuracy in previous algorithms and the inability to effectively capture complex geometric details, thereby filling the technical gap in complex surface reconstruction algorithms at home and abroad. There has been a long-standing technical problem in the field of cultural relic reconstruction: how to accurately capture the complex surface structure of cultural relics without damaging them. The application can solve this problem by constructing an adaptive octree based on Gaussian curvature, which can fill the technical gap in the field of cultural relic digital reconstruction at home and abroad.

[0072] (3) Does the technical scheme of the application solve the technical problem that people have long been eager to solve but have always failed to succeed:

[0073] The application solves the problem of how to avoid over-smoothing and pseudo-surface generation while maintaining accuracy in the complex surface reconstruction process, and significantly improves the computing efficiency through parallel computing, which has been a technical difficulty in the field of surface reconstruction.

[0074] (4) Does the technical scheme of the application overcome technical bias:

[0075] The application overcomes the dependence on over-smoothing operations in traditional technology and can avoid the bias of over-simplifying the details of cultural relics. Through multi-scale construction of adaptive octree, the technology can provide a globally adaptive solution, effectively preserving the complex geometric details of cultural relics, improving reconstruction accuracy and ensuring the integrity and authenticity of historical relics. BRIEF DESCRIPTION OF DRAWINGS

[0076] Figure 1 is a flowchart of the fast parallel multi-scale smooth signed distance surface reconstruction method provided by the embodiment of the application;

[0077] Figure 2 is a reconstruction model diagram of the Happy Buddha model (input points: 543652) under different scale parameters mu provided by the embodiment of the application;

[0078] Figure 3is a curve graph of (a) RMS error, (b) Hausdorff distance, (c) output point number and (d) running time corresponding to different parameters μ provided by the embodiment of the present application;

[0079] Figure 4 is a visualization graph of Armadillo model octree with different depths provided by the embodiment of the present application;

[0080] Figure 5 is a surface reconstruction result graph of a small statue model, (a) SSD (RMS error = 0.000304), (b) Ours (RMS error = 0.000158) provided by the embodiment of the present application;

[0081] Figure 6 is a surface reconstruction result graph of a Bunny model and a Gargoyole model (depth = 9) provided by the embodiment of the present application;

[0082] Figure 7 is a root mean square error and Hausdorff distance of several surface reconstruction Bunny and Gargoyole provided by the embodiment of the present application;

[0083] Figure 8 is a calculation time under different thread numbers, (a) average time of calculating Ap, (b) algorithm running time provided by the embodiment of the present application. DETAILED DESCRIPTION

[0084] In order to make the objects, technical solutions and advantages of the present application clearer, the following further describes the present application with reference to the embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application, and are not used to limit the present application.

[0085] I. Explanation of Embodiments. In order to enable those skilled in the art to fully understand how the present application is specifically implemented, this part is an explanation of the embodiments of the technical solutions of the claims.

[0086] As Figure 1 shown is a fast parallel multi-scale smooth signed distance surface reconstruction method flowchart provided by the embodiment of the present application.

[0087] S101, locally fitting the point cloud data by using a moving least square method, and calculating to obtain the Gaussian curvature of the point cloud;

[0088] S102, constructing a curvature adaptive octree based on the Gaussian curvature, the octree being used for dynamically adjusting local resolution, capturing geometric details to improve surface reconstruction accuracy;

[0089] S103, global fitting is performed through an implicit function, and a zero isosurface is obtained through an octree isosurface extraction algorithm; multi-threading is introduced in the process of iteratively solving a linear system to perform parallel computation.

[0090] Embodiments of the application give a set of directed point sets D={(p1,n1),...,(p N ,n N )}, wherein p i ∈R 3 is a three-dimensional sample point, and n i ∈R 3 is a normal vector of the sample point consistently oriented outward. In the entire paper, M represents an entity enclosed by a watertight surface, and then is a 2D closed surface to be reconstructed. For the discrete directed point set D, the implicit surface M is defined as the zero level set of the implicit function f(x), that is, {x|f(x,y,z)=0}. It should be noted that the proposed surface reconstruction method relies on the point cloud normal vector, and for the point cloud data that cannot be vectorized, the normal estimation and orientation are performed by using an iterative update normal (iPSR) method, so that the global consistent normal direction of the sample point is obtained.

[0091] SSD algorithm

[0092] For sample points p i ∈R 3 (i=1,...,N), the SSD surface reconstruction algorithm requires that two interpolation conditions f(x)=0 and are satisfied in the least square sense. Therefore, the global fitting of the adaptive smooth signed distance field can be expressed as function minimization, and the implicit function f(x) that minimizes the following energy is found:

[0093] E(f)=λ0E P (f)+λ1E D (f) (1)

[0094] Wherein, However, minimizing E(f) may cause overfitting problem, so that the implicit function f(x) oscillates at high frequency, resulting in a pseudo-surface of the reconstruction result far away from the data points. In order to avoid this problem, the following regularization term is introduced in the energy function:

[0095]

[0096] Wherein, |V|=∫ V dx, Hf(x) is the Hessian matrix of f(x), which is a 3x3 matrix of the second derivative of f(x), that is The norm of the matrix is the Frobenius matrix norm. In the specific implementation process, V is set to be the volume completely containing the adaptive octree.

[0097] After adding the regularization term, the total energy function E(f) is the weighted sum of the energy term and the regularization term:

[0098] E(f) = λ0E P (f) + λ1E D (f) + λ2E R (f) (3)

[0099] where λ0, λ1, λ2 are positive constants, which are set to 1.0, 1.0, 1.0 in the experiment, respectively.

[0100] The function f(x) is discretized using finite elements, and the and Hf(x) are discretized using finite difference, and the energy equation is simplified to a linear system AF = b for solving.

[0101] Constructing curvature-adaptive octree

[0102] The MLS method is a technique for calculating curvature by fitting a local plane in point cloud data. It is necessary to perform local fitting or global fitting before curvature estimation. In this study, we use MLS to fit a local surface for each point in the neighborhood, and the fitting function is a quadratic polynomial. According to the fitted local plane, we calculate the two principal curvatures κ max ,κ min of the point. Further calculation gives the Gaussian curvature κ = κ max · κ min , which is used for the next step of adaptive octree partitioning. Note that MLS local fitting is only used for point cloud Gaussian curvature estimation, not for point cloud data preprocessing and surface reconstruction algorithm. The input point data remains unchanged after local fitting operation.

[0103] Next, we construct an adaptive octree according to the principle of minimizing reconstruction error. The local grid spacing of the octree is determined by the Gaussian curvature of the point cloud data estimated in the previous section. If the grid spacing is too large, the details cannot be accurately captured, which will lead to an increase in surface reconstruction error. To ensure accurate reconstruction of the surface in high curvature areas, the local grid spacing of the octree must be small enough.

[0104] In the previous section, we approximated the local neighborhood of the point cloud data as a quadratic surface. For a surface with curvature κ, its local quadratic approximation can be expressed as:

[0105]

[0106] To ensure more complex geometric details on the surface are captured, the sampling interval Δx should be related to the radius of curvature of the surface. Assuming the interval between two adjacent sampling points on the surface is Δx, the maximum error will occur at the midpoint, i.e., x = Δx / 2. At this point, the error between the actual value of the surface and the linear interpolation is:

[0107]

[0108] If g(0) = 0 (assuming 0 at the origin in our local approximation), the error is: After simplification, we get:

[0109] To reconstruct the geometric details of a complex surface in an octree, we want the error to be within an acceptable range. Assuming the maximum acceptable error is ξ max , we need to satisfy:

[0110]

[0111] Since, we have, We set the maximum error ξ allowed to be about 1 / 128 of the minimum radius of curvature R min . The corresponding octree grid interval Δh should satisfy:

[0112]

[0113] In summary, the adaptive strategy of our octree is: when the local grid interval of an octree node is less than 1 / 4 of the minimum radius of curvature of all points inside the node, the octree node terminates subdivision. We choose the Stanford happy buddha model to verify our hypothesis. Introduce a multi-resolution parameter μ, so that the local grid interval of the octree node is less than μR min when subdivision is terminated. The pseudo-code for constructing an adaptive octree is given in Algorithm 1. Figure 2 The reconstruction results of the happy buddha model under different values of the resolution parameter μ are shown. Figure 3 The statistical results of the root mean square error, Hausdorff distance, number of output points, and running time corresponding to the surface reconstruction results of different parameters μ are shown. As Figure 3 shown, when μ = 1 / 4, the root mean square error begins to converge. The experimental results verify the effectiveness of our adaptive octree strategy. In subsequent experiments, we use the local grid interval of the octree node being less than 1 / 4 of the minimum radius of curvature of all points inside the node as the octree division criterion. As the depth of the octree increases, subdivision only occurs at the adaptive resolution, preserving the complex geometric details of the point cloud while saving space.

[0114]

[0115]

[0116] Solving linear systems and multithreaded acceleration

[0117] The finite element discretization is applied to f(x) respectively, and the finite difference discretization is applied to and Hf(x). The energy functions can be obtained as follows:

[0118]

[0119] where ω0,..., ω7are the trilinear interpolation coordinates of p i , and is the mesh corner value of element α.

[0120]

[0121] where Δαis the edge length of element α,

[0122] where α, β are two adjacent leaf nodes of octree, Δ (α,β) is the Euclidean distance between element α and element β, and |V| (α,β) is the area of the common face of element α and element β.

[0123] The energy formula is simplified to the solution of the linear system AF = b. The matrix A and the vector b are accumulated by traversing the leaf nodes of the octree. The first two terms of the matrix A are the contribution of E P (f) and E D (f) respectively, and the last two terms are the regularization E R (f) contribution. The vector b is the contribution of expanding E D (f).

[0124]

[0125] where is the set of data points in the leaf node α of the octree, Φ α (x) is a K × 1 sparse vector with 8 non-zero elements, is a K × 3 sparse matrix quantity with 24 non-zero elements,

[0126] Directly solving the above linear system would result in a large amount of time and space consumption. Given the multi-resolution structure of the adaptive octree constructed in the previous section, we solve the above linear system using a multigrid method. Specifically, starting from a coarse grid, we first find a coarse solution using a preconditioned conjugate gradient solver. Then, we use this coarse solution to initialize the solution on the next finer grid, thus refining and improving the accuracy of the solution layer by layer.

[0127] Multi-threading acceleration

[0128] In solving large sparse linear systems using the preconditioned conjugate gradient method, the accumulation of Ap vectors requires multiple iterations, where A represents the matrix and p is the direction vector. This process accounts for more than 90% of the total time required for the entire solution process. To improve computational efficiency, a CPU multi-core parallel scheme is used to accumulate the Api vectors. Specifically, each thread within the CPU independently calculates a portion of the matrix-vector product corresponding to a subset of rows of the matrix A. After all threads complete their respective calculations, the partial results Api are accumulated into the final Ap vector. This parallelization method significantly shortens the computation time by utilizing the multi-core architecture of the CPU. The parallel accumulation of Api vectors is particularly important during the iteration process, as it allows for efficient utilization of computational resources, minimizes overhead, and ensures faster convergence of the conjugate gradient method to the solution.

[0129] Isosurface extraction

[0130] After solving the sparse linear system, it is necessary to construct the zero isosurface of the discretized implicit function in three-dimensional space to approximate the complex topological structure of the implicit surface M. Generally, the Marching Cubes algorithm can be used to extract the isosurface This method relies on uniform grids, which means that its resolution is fixed throughout the domain, which can lead to inefficiency in areas that require more or less detail.

[0131] II. Application Examples. In order to demonstrate the creativity and technical value of the technical solutions of the present application, this part is an application example of the technical solutions of the claims on specific products or related technologies.

[0132] Example 1: Surface reconstruction of complex industrial parts

[0133] In the reverse engineering of complex parts (such as turbine blades, free-form molds, etc.) in industrial manufacturing, accurately reconstructing the three-dimensional surface is a crucial step. Traditional surface reconstruction methods are prone to problems such as loss of detail or insufficient accuracy when dealing with these complex surfaces.

[0134] Data acquisition: Use a three-dimensional scanning device to obtain point cloud data of industrial parts, which contains detailed geometric information of the part surface.

[0135] Curvature computation and octree construction: With the method of the present application, first, the point cloud data is locally fitted using the moving least squares method, and the Gaussian curvature of the point cloud is calculated. Then, based on the Gaussian curvature information, an adaptive octree is constructed, and the area with large curvature is subdivided to improve the local resolution to capture geometric details.

[0136] Multi-thread parallel computation: In the surface reconstruction process, global fitting is performed through an implicit function, and multi-thread parallel computation strategy is used to speed up the calculation during the iterative solution of the linear system.

[0137] Isosurface extraction: Finally, the accurate surface model of the part is obtained through the octree isosurface extraction algorithm.

[0138] This embodiment uses the method of the present application to dynamically adjust the resolution using an adaptive octree, so that details can be better captured when processing complex surfaces. At the same time, multi-thread parallel computation significantly improves the efficiency of large-scale point cloud data processing, and the final generated three-dimensional surface model has high precision and high fidelity.

[0139] Example 2: Three-dimensional reconstruction of medical image data

[0140] In medical image processing (such as CT or MRI scanning), three-dimensional reconstruction technology is widely used for visualization of organs or diseased tissues. Traditional reconstruction methods often require a large amount of computing resources and time when processing high-resolution image data.

[0141] Data acquisition: Obtain the tomographic image data of human organs or diseased tissues through CT or MRI equipment, which are usually large-scale three-dimensional scalar fields.

[0142] Curvature computation and octree construction: The moving least squares method of the present application is used to locally fit the tomographic data and calculate the Gaussian curvature. Based on this curvature information, an adaptive octree is constructed, especially in the high-curvature area of the organ edge or diseased area, to increase the resolution to ensure the accuracy of the reconstruction.

[0143] Multi-thread parallel computation: In the reconstruction process, the entire scalar field is globally fitted through an implicit function, and multi-thread parallel computation is introduced during the iterative solution process to speed up the processing.

[0144] Isosurface extraction: The zero isosurface of the target organ or diseased tissue is extracted from the large-scale three-dimensional scalar field using the octree-based isosurface extraction algorithm, realizing high-precision three-dimensional reconstruction.

[0145] Example 3: Three-dimensional reconstruction of cultural relics

[0146] In the field of cultural relic restoration and protection, three-dimensional reconstruction technology is widely used for accurate reproduction and digital preservation of cultural relic surface structures. Traditional reconstruction methods often require a large amount of computing resources when dealing with complex geometries and subtle damage, and have deficiencies in detail processing. The present invention provides an innovative technical solution to solve these problems.

[0147] Data acquisition: Obtain point cloud data or surface texture information of cultural relics through 3D scanning equipment or photogrammetry technology. These data usually have high complexity and details, such as carved patterns, natural weathering traces or human damage.

[0148] Curvature calculation and octree construction: Use the moving least squares method of the invention to locally fit the point cloud data of cultural relics and calculate the Gaussian curvature of the cultural relic surface. According to the curvature information, an adaptive octree is constructed, especially in the fine carving or damaged areas of the cultural relic, to improve the resolution, thereby ensuring accurate reconstruction of the complex details of the cultural relic surface and preserving its original historical characteristics.

[0149] Multi-thread parallel computing: In the reconstruction process, implicit functions are used to globally fit the cultural relic surface, and multi-thread parallel computing technology is introduced in the iterative solution process. This scheme can significantly improve the processing speed of large-scale cultural relic data, enabling high-resolution cultural relic reconstruction to be completed in a relatively short time, adapting to the needs of large-scale cultural heritage restoration projects.

[0150] Isosurface extraction: Use an octree-based isosurface extraction algorithm to extract the zero isosurface of the cultural relic surface from large-scale point cloud or texture data. This process can accurately reconstruct the three-dimensional structure of the cultural relic, truly restore its complex geometry, and maximize the preservation of the historical traces of the cultural relic.

[0151] III. Evidence of the effects of the embodiments. The embodiments of the invention have achieved some positive effects during research and development or use, and indeed have great advantages compared with the prior art. The following content is described in combination with data, charts, etc. during the test process.

[0152] The embodiments of the present application provide evaluation results in terms of precision and efficiency. Comparison with several advanced algorithms is also made, including PSR, SSD and Neural-pull (NP). Except for the Neural-pull algorithm, the rest of the experiments are carried out on a desktop computer with Intel(R) Core(TM) i7-6700K CPU @ 4.00 GHz and Nvidia GeForce RTX 2070 GPU 16 GB memory. The Neural-pull algorithm is carried out on a desktop computer with Intel Core i7-13700KF CPU and Nvidia GeForce RTX 4090 GPU 64 GB. For fairness, we set the maximum depth D = 9, and the parameters of the comparative algorithms are set to the provided default values unless otherwise specified. We use the distance error between the reconstructed mesh and the original mesh in the Metro tool as the quality indicator.

[0153] Surface reconstruction accuracy

[0154] In order to compare the accuracy of the present application and the SSD method, the statuette model (5M points) is reconstructed, Figure 5 The results of the reconstruction of this model by SSD and our method (depth = 10) are shown, and the details of the visualization of the reconstruction results on the right side of the model. The RMS error of the method in this paper is smaller, and it can be observed that the surface reconstruction result of our method is smoother and has more geometric details than the SSD method. This proves that the curvature adaptive method is more suitable for surface reconstruction of complex models.

[0155] In order to compare the accuracy of different algorithms, the Stanford Bunny model (0.69M points) and the Gargoyole model (0.21M points) are selected for testing. All models contain scaled geometric details, Figure 6 The reconstruction results of several methods are shown. Overall, the four methods can all better reconstruct the model. Figure 7 RMS error and Hausdorff distance are used to quantitatively compare all methods. It is specially pointed out that the histogram is double-y-axis to distinguish the RMS error values of several algorithms, and PSR, SSD and ours use the left scale, and NP uses the scale of the right y-axis. Table 1 describes the performance of each method. Note that the time of the NP method is the pre-trained mesh plus the generation time of the mesh, and the rest of the time represents the overall running time of the algorithm, which is distinguished in the table. The experimental results show that the method in this paper generates a relatively smooth surface, and the generated surface has more geometric details and smaller RMS error than other algorithms. Table 1 shows the accuracy

[0156]

[0157] Algorithm running speed

[0158] In order to accelerate the speed of reconstructing large-scale data by the algorithm, OpenMP is used for multi-thread parallel implementation in the process of accumulating Ap vector when solving large sparse linear system. In the reconstruction process of lucy model (octree depth is 10), single core accumulates Ap vector and takes an average of 600 ms, while 8-core executes the process and takes an average of only 200 ms, and about 3 times speedup ratio is achieved by using CPU multi-core parallel implementation. About 2.4 times speedup ratio is achieved in the whole surface reconstruction process.

[0159] It should be noted that the embodiments of the present application can be realized by hardware, software or a combination of software and hardware. The hardware part can be realized by special logic; the software part can be stored in a memory and executed by a suitable instruction execution system, such as a microprocessor or a specially designed hardware. Those skilled in the art can understand that the above-mentioned devices and methods can be realized by computer executable instructions and / or included in processor control code, such as carrier media, such as magnetic disk, CD or DVD-ROM, programmable memory, such as read-only memory (firmware), or data carrier, such as optical or electronic signal carrier. The device of the present application and its modules can be realized by hardware circuit, such as very large scale integrated circuit or gate array, semiconductor, such as logic chip, transistor, etc., or programmable hardware device, such as field programmable gate array, programmable logic device, etc., or by software executed by various types of processors, or by a combination of the above-mentioned hardware circuit and software, such as firmware.

[0160] The above is only a specific embodiment of the present application, but the protection scope of the present application is not limited thereto, any modification, equivalent replacement and improvement made by those skilled in the art within the technical range disclosed by the present application, as long as it is within the spirit and principle of the present application, should be covered within the protection scope of the present application.

Claims

1. A fast parallel multi-scale smooth signed distance surface reconstruction method, characterized in that, Comprise: Step one, using three-dimensional scanning equipment to obtain the point cloud data of industrial parts, the point cloud data contains detailed geometric information of the part surface, using moving least squares method to locally fit the point cloud data, calculate the Gaussian curvature of the point cloud; Step two, based on the Gaussian curvature to construct the curvature adaptive octree, the octree is used to dynamically adjust the local resolution, capture geometric details to improve the accuracy of surface reconstruction; Step three, through the global fitting of implicit function and through the octree isosurface extraction algorithm to obtain zero isosurface; In the process of iterative solution of linear system, multi-thread parallel computing is introduced, through the octree isosurface extraction algorithm, the accurate surface model of the part surface is obtained; The step one uses a moving least square (MLS) method to fit a local surface, and a quadratic polynomial is selected as the fitting function; and the main curvature of the surface is obtained by using the MLS The specific steps are as follows: (1) For each sample point , determine its neighborhood, in which a local plane is fitted by the MLS method, assuming that the surface locally approximates a two-dimensional plane; (2) after getting the local plane, all the neighborhood points are converted from three-dimensional coordinate system to local two-dimensional plane coordinate system, usually taking the plane as the new coordinate origin; In the local plane coordinate system, the points in the neighborhood are fitted using quadratic surface; The equation of the quadratic surface can be written as: ; where (x,y) are the points in the local plane coordinate system, z is the offset of these points along the normal vector direction; the equation is fitted by minimizing the error; two principal curvatures of the point are calculated according to the fitted local plane , and then the Gaussian curvature is obtained (3) According to the obtained quadratic surface coefficients, the principal curvatures of the point can be calculated by the formula in differential geometry. For a quadratic surface z = f(x, y), the curvature can be calculated locally by the following formula: the first fundamental form coefficients: E, F, G, the second fundamental form coefficients: e, f, g. According to these coefficients, the principal curvatures can be obtained by solving the quadratic equation eigenvalue problem: ; The maximum and minimum principal curvatures of the point are obtained by solving the eigenvalue problem; The step two comprises: An adaptive octree is constructed according to the principle of minimizing reconstruction error, and local grid spacing of the octree is determined by the Gaussian curvature of the point cloud data; a local neighborhood of the point cloud data is approximated as a quadric surface, and for a surface with curvature , its local quadratic approximation can be expressed as: (4), Sampling interval With respect to the radius of curvature of a curved surface, if the interval between two adjacent sampling points on the curved surface is , then the maximum error will occur at the midpoint ; the error between the actual value of the curved surface and the linear interpolation is: (5), The time error is: After simplification, we get: ; The maximum acceptable error is defined as , satisfies: (6), Since, then ; the maximum allowed error is set to be about 1 / 128 of the minimum radius of curvature R min , the corresponding octree grid spacing should satisfy: (7), An octree node terminates being subdivided when the local grid spacing of the octree node is smaller than 1 / 4 of the smallest radius of curvature among all points inside the node; a multi-resolution parameter is introduced such that the subdivision terminates when the local grid spacing of the octree node is smaller than 1 / 4 of the smallest radius of curvature among all points inside the node; The step three iterative solution of linear system process comprises: The finite element discretization is performed on The finite difference discretization is performed on and The energy functions are as follows: (8), wherein is a trilinear interpolation coordinate of is a grid corner value of a cell . (9), wherein is the side length of the unit cell of the unit cell , (10), wherein, is the Euclidean distance between two leaf nodes of the octree, , is the area of the common face between the cells and the cell , is the area of the common face between the cells and the cell . The multi-thread parallel computing in the step three is: When using the preconditioned conjugate gradient method to solve large sparse linear systems, the accumulation of Ap vector needs multiple iterations, where A represents the matrix and p is the direction vector; CPU multi-core parallel scheme is adopted to accumulate Api vector; Specifically, each thread in the CPU independently calculates a part of the matrix vector product, corresponding to a subset of rows of the matrix A, after all threads complete their calculations, the partial result Api is accumulated into the final Ap vector, and the multi-core architecture of the CPU is used to shorten the calculation time.

2. The fast parallel multi-scale smooth signed distance surface reconstruction method of claim 1, wherein, The isosurface extraction in the step three is: After the solution of sparse linear system, the zero isosurface of the discretized implicit function needs to be constructed in three-dimensional space to approximate the complex topological structure of the implicit surface M, and the unconstrained isosurface extraction algorithm based on octree is used to generate water-tight level set on any octree grid, and through the space division and adaptive calculation strategy, the isosurface is extracted from the large-scale three-dimensional scalar field.

3. A fast parallel multi-scale smooth signed distance surface reconstruction system of the method as claimed in claim 1, characterized by, Comprise: Data acquisition module, used for collecting and inputting point cloud data; Curvature calculation module, connected with the data acquisition module, based on moving least squares method to locally fit the point cloud data, calculate and obtain the Gaussian curvature of the point cloud; Adaptive octree generation module, connected with the curvature calculation module, based on the Gaussian curvature to construct the curvature adaptive octree, used to dynamically adjust the local resolution, capture geometric details to improve the accuracy of surface reconstruction; Multi-thread calculation module, connected with the adaptive octree generation module, through the global fitting of implicit function and through the octree isosurface extraction algorithm to introduce multi-thread parallel computing in the process of iterative solution of linear system; Isosurface extraction module, connected with the multi-thread calculation module, used for constructing the zero isosurface of the discretized implicit function in three-dimensional space, approximating the complex topological structure of the implicit surface.

4. The fast parallel multi-scale smooth signed distance surface reconstruction system of claim 3, wherein, Further comprise: The curvature calculation module comprises a local surface fitting sub-module, which is configured to fit a local surface by using a moving least square method, the fitting function is a quadratic polynomial, the principal curvature of the point is calculated according to the fitted local surface, and then the Gaussian curvature is calculated; The adaptive grid generation sub-module comprises an adaptive octree generation module, which is configured to construct an adaptive octree according to a reconstruction error minimization principle, the local grid interval of the octree is determined by the Gaussian curvature of the point cloud data, and the octree node is terminated from subdivision when the local grid interval of the octree node is less than 1 / 4 of the minimum curvature radius of all points in the node.

5. A computer device, comprising: The computer device comprises a memory and a processor, the memory stores a computer program, and the computer program is executed by the processor to enable the processor to perform the steps of the fast parallel multi-scale smooth signed distance surface reconstruction method according to claim 1. 6.A computer readable storage medium, storing a computer program, the computer program is executed by a processor to enable the processor to perform the steps of the fast parallel multi-scale smooth signed distance surface reconstruction method according to claim 1.

Citation Information

Patent Citations

  • Octree parallel constructing method based on GPU

    CN101840565A

  • Three-dimensional point cloud reconstruction method based on improved shield poisson algorithm

    CN106780751A