A method for generating surfaces from 3D point clouds based on iterative Poisson surface reconstruction

By iteratively updating the normal vector, the problem of the dependence of the existing three-dimensional surface reconstruction method on the normal vector is solved, and efficient and accurate three-dimensional surface reconstruction in complex models is achieved.

CN115131523BActive Publication Date: 2025-04-08INST OF SOFTWARE - CHINESE ACAD OF SCI
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210766902.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-01
Publication Date
2025-04-08
Estimated Expiration
2042-07-01

AI Technical Summary

Technical Problem

The existing three-dimensional surface reconstruction method based on point cloud requires input of normal vectors with consistent orientation, which makes it difficult to obtain accurate normal vectors in complex models, affecting the reconstruction accuracy.

Method used

The iterative Poisson surface reconstruction method is used to initialize the point cloud normal vector and iteratively update the normal vector until the iteration termination condition is met, thereby removing the dependence on the normal vector and improving the reconstruction accuracy.

Benefits of technology

It realizes efficient reconstruction of three-dimensional surfaces under unknown normal vectors, improves reconstruction accuracy and robustness, reduces time and space complexity, and has good scalability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115131523B_ABST
    Figure CN115131523B_ABST
Patent Text Reader

Abstract

This invention discloses a method for generating 3D point cloud surfaces based on iterative Poisson surface reconstruction: 1) Input a point cloud distributed near the model surface, initialize the point cloud normal vectors, and define a facet list for each point in the point cloud; 2) Reconstruct the point cloud using the Poisson surface reconstruction method to obtain a triangular mesh surface; 3) For each triangular facet on the surface, calculate its area and normal vector facing inwards, and find the k nearest points to the facet in the point cloud, adding the facet index to the corresponding facet list; 4) Based on the facet list for each point in the point cloud, calculate the weighted average of the facet normal vectors corresponding to the facet index, and normalize it to use as the updated value of the normal vector for that point; 5) Iterate through steps 2-4 until the deviation of the normal vector between two adjacent iterations is less than a given threshold, obtaining the correct point cloud normal vector. This invention can achieve Poisson surface reconstruction with unknown normal vectors, and has strong robustness and scalability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of computer graphics, and in particular to a three-dimensional surface reconstruction method based on point clouds, and in particular to a three-dimensional surface reconstruction method for unknown point cloud normal vectors. Background Art

[0002] 3D surface reconstruction technology refers to the process of using input data to construct a 3D model surface that can be recognized by the computer. It is one of the important research directions in the field of computer graphics technology and has become an important technology to meet the needs of production and life. 3D surface reconstruction technology has been applied to many fields, including medical imaging, cultural relics protection, aerospace, unmanned driving, as well as AR, VR, and the metaverse. 3D surface reconstruction is a key technology for visual perception and interaction in these fields and has very important value.

[0003] Point cloud data refers to a set of points in a three-dimensional coordinate system, which represents the two-dimensional manifold surface information of a three-dimensional model. Compared with image data in two-dimensional space, point cloud data has a stronger ability to represent information. It can not only accurately reflect the structural information of the surface of the three-dimensional model, such as spatial information, but also reflect the detailed information of the three-dimensional model. Existing point cloud-based three-dimensional surface reconstruction methods are divided into three-dimensional surface reconstruction methods that require normal vectors and three-dimensional surface reconstruction methods that do not require point cloud normal vectors according to whether point cloud normal vectors are required. Three-dimensional surface reconstruction methods that require normal vectors usually have higher reconstruction accuracy, but have high requirements for the consistency of normal vector orientation. Due to the complexity of the three-dimensional model, for example, when the three-dimensional model has sharp features, self-occlusion, etc., the point cloud normal vector is often not easy to obtain. Three-dimensional surface reconstruction methods that do not require point cloud normal vectors are usually simple, but it is difficult to efficiently reconstruct and obtain reliable results.

[0004] Poisson surface reconstruction method ([1] Kazhdan M, Bolitho M, Hoppe H. Poisson surface reconstruction. Proceedings of the fourth Eurographics symposium on Geometryprocessing. 2006: 61-70; [2] Kazhdan M, Hoppe H. Screened poisson surface reconstruction. ACM Transactions on Graphics (ToG), 2013, 32 (3): 1-13.) is one of the popular point cloud-based 3D surface reconstruction methods. It has high reconstruction quality, ensuring smooth reconstructed surfaces while retaining rich geometric details; strong robustness, can better handle noisy point cloud models; low time and space complexity, fast reconstruction speed, but the reconstruction process requires the input of point cloud normal vectors with consistent orientation. If the normal vector is unknown, the Poisson reconstruction algorithm cannot be used to reconstruct the model. Summary of the invention

[0005] The technology of the present invention solves the problem: In order to solve the deficiency that Poisson reconstruction requires the input of normal vectors, a three-dimensional point cloud surface generation method based on iterative Poisson surface reconstruction is proposed. According to the initialized point cloud normal vector, the reconstructed surface obtained by the Poisson surface reconstruction method is used to update the normal vector, and the correct normal vector is obtained after multiple iterations, thereby removing the dependence of the Poisson surface reconstruction method on the normal vector, achieving efficient reconstruction and obtaining reliable results; and using Poisson surface reconstruction that does not require normal vectors can significantly improve the accuracy of normal vector estimation, and has strong robustness and scalability.

[0006] The technical solution of the present invention is a method for generating a surface from a three-dimensional point cloud based on iterative Poisson surface reconstruction, the steps comprising:

[0007] Step 1: Input a point cloud distributed near the surface of the 3D model and initialize the point cloud normal vector;

[0008] Step 2: Use Poisson surface reconstruction method to reconstruct the point cloud to obtain a triangular mesh surface;

[0009] Step 3: Use the normal vector of the surface generated by Poisson reconstruction to update the normal vector of the input point cloud, and define a triangle list for each point in the point cloud; for each triangle in the triangular mesh surface, calculate the area and the normal vector with consistent orientation of each triangle, and find the k points closest to the center of the triangle in the point cloud, add the triangle index to the triangle list of the k nearest points, and establish the connection between the triangular mesh surface and the point cloud; the normal vector with consistent orientation means that the normal vectors are all facing the inside of the three-dimensional model or the outside of the three-dimensional model, which is a necessary condition for the Poisson reconstruction method to reconstruct the correct three-dimensional surface of the model; for the triangle list of each point in the point cloud, use the area of ​​the triangle as the weight, calculate the weighted average of the normal vectors of the triangles, and normalize it as the updated value of the normal vector of the point;

[0010] Step 4: Define the iteration termination condition and iterate steps 2-3 multiple times. When the iteration termination condition is met during the iteration process, the iteration is terminated and the correct point cloud normal vector is obtained.

[0011] Step 5: Use the correct normal vector to perform Poisson surface reconstruction to generate a 3D mesh surface of the 3D model.

[0012] The specific implementation steps of step 3 are:

[0013] (1) Construct a kd tree of the input point cloud to facilitate finding neighboring points;

[0014] (2) Define a list of triangles for each point in the point cloud;

[0015] (3) For each triangle in the triangular mesh surface, use the cross product operation to obtain the normal vector of the triangle and calculate the area of ​​the triangle;

[0016] (4) For each triangular patch in the triangular mesh surface, find the k input points closest to the triangular patch in the kd tree, add the patch index to the list of three patches corresponding to the k points, and establish the connection between the triangular mesh surface and the point cloud;

[0017] (5) For each point in the point cloud, calculate the weighted average of the normal vectors of the triangles corresponding to the patch index in its patch list, where the area of ​​the triangle represents the weight. The weighted average is normalized and used as the updated value of the normal vector of the point.

[0018] In step 4, the iteration termination condition is set as: calculating the deviation of the point cloud normal vector of the current iteration and the previous iteration, when the deviation is less than a given threshold, the iteration is terminated, the iteration process converges, and the correct point cloud normal vector is obtained. If the maximum number of iterations is exceeded, the iteration is also terminated.

[0019] The beneficial effects of the present invention compared with the prior art include:

[0020] (1) The present invention improves the traditional Poisson surface reconstruction method and completely eliminates the strong dependence of the Poisson surface reconstruction method on the point cloud normal vector. The normal vector of the point cloud and the reconstructed surface are obtained through an iterative method. When the point cloud normal vector is difficult to estimate, it is still effective and can reconstruct the correct three-dimensional surface when the normal vector is unknown.

[0021] (2) Compared with the existing three-dimensional surface reconstruction methods, the reconstruction accuracy of the present invention is high and the robustness is good. Experiments are conducted on a variety of complex models, such as sparse models, uneven distribution models, models with noise, models with outliers, high genus models, etc., and surfaces with good visual effects can be reconstructed with good robustness;

[0022] (3) Compared with the existing three-dimensional surface reconstruction methods, the present invention has low time and space complexity and good scalability.

[0023] (4) Compared with the existing three-dimensional surface reconstruction methods, the present invention has good application prospects in practice due to its advantages such as strong robustness, fast reconstruction speed, and strong ability to reconstruct large-scale models. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Figure 1 is a schematic diagram of the method of the present invention;

[0025] Figure 2 This is an example of the model convergence process of the present invention. DETAILED DESCRIPTION

[0026] In order to make the purpose, technical solutions and advantages of the present invention more clear, the present invention will be further described in detail below with reference to the accompanying drawings. The described embodiments are only part of the embodiments of the present invention, rather than all the embodiments.

[0027] like Figure 1 As shown, the implementation method of the present invention comprises the following steps:

[0028] Step S1: Initialize the point cloud normal vector. A certain initialization method needs to be used to assign an initial value to the normal vector. Different initialization methods may lead to different optimization results. The present invention adopts a random initialization method. The random initialization method is one of the simplest and most commonly used initialization methods. A more reliable initialization method can also be used, such as estimating the normal vector direction based on visibility ([3] Sagi Katz, Ayellet Tal, and Ronen Basri. 2007. Direct visibility of point sets. ACM Trans. Graph. 26, 3 (July 2007), 24–es.).

[0029] Step S2: Use the (screened) Poisson surface reconstruction method to reconstruct the surface. The present invention uses Poisson reconstruction with Dirichlet boundary conditions to avoid the reconstructed surface extending to the boundary. Two parameters are optional parameters of the present invention, namely the maximum reconstruction depth Depth and the interpolation weight pointWeight. Other experimental parameters use the default values ​​in the Poisson surface reconstruction method. The Poisson surface reconstruction method uses an octree data structure to store point clouds. Depth represents the maximum depth of the octree. The larger the depth value within a certain range, the higher the reconstruction resolution. The present invention uses Depth=10 as the default reconstruction depth.

[0030] pointWeight represents the screened interpolation weight. The larger the interpolation weight, the closer the distance between the reconstructed surface and the point cloud is. The smaller the interpolation weight, the smoother the reconstructed surface is. The present invention uses pointWeight=10 as the default interpolation weight.

[0031] Step S3: Reconstruct the surface normal vector according to the Poisson surface reconstruction method to update the input point cloud normal vector. The updating steps are:

[0032] 1) Construct a kd tree of the input point cloud to facilitate finding neighboring points; in each update, the kd tree is fixed because the input points are unchanged.

[0033] 2) Define a list of patches for each point in the point cloud;

[0034] 3) For each triangle in the triangular mesh surface, use the cross product operation to obtain the normal vector of the triangle and calculate the area of ​​the triangle;

[0035] 4) For each triangular patch in the triangular mesh surface, search the k points closest to the triangular patch in the kd tree. The present invention sets k=10 as the default number of neighbors, and adds the patch index to the patch list corresponding to the k points to establish the connection between the triangular mesh surface and the point cloud.

[0036] 5) For each point in the point cloud, calculate the weighted average of the normal vectors of the triangles corresponding to the patch index in its patch list, where the area of ​​the triangle represents the weight. The weighted average is normalized and used as the updated value of the normal vector of the point.

[0037] Step S4: Repeat steps S2 and S3 until the iteration termination condition is met. The iteration termination condition is: calculate the normal vector deviation (the two-norm difference of two unit normal vectors) of each point in the current iteration and the previous iteration, and calculate the deviation mean of the normal vector with the largest deviation of 1 / 1000. When the deviation is less than the given threshold (0.175), the iteration is terminated and the correct point cloud normal vector is obtained. If the maximum number of iterations (set to 30) is exceeded, the iteration is also terminated.

[0038] Figure 2 A model convergence process using randomly initialized normal vectors is given.

[0039] Step S5: Use the correct normal vector to perform Poisson surface reconstruction to generate a three-dimensional mesh surface of the three-dimensional model.

[0040] like Figure 2 As shown in Figure 2, the convergence process is the process in which the normal vector gradually becomes correct with each update. Figure 2 The effectiveness of the method for updating the normal vector of the present invention is demonstrated. As the normal vector is updated, the normal vector becomes gradually correct. The present invention can process not only dense point cloud data, but also sparse point cloud data, and has high efficiency and robustness.

[0041] The present invention has wide applications in the metaverse, virtual reality, digital twins, etc. For example, it can be used for character modeling and prop modeling in film and television production, so as to facilitate subsequent film animation production and movie special effects generation.

[0042] Although the specific implementation methods of the present invention are described above, those skilled in the art should understand that these are only examples, and that various changes or modifications may be made to these implementation methods without departing from the principles and implementations of the present invention. Therefore, the scope of protection of the present invention is limited by the appended claims.

Claims

1. A method for generating a surface from a three-dimensional point cloud based on iterative Poisson surface reconstruction, characterized in that the steps include: Step 1: Input a point cloud distributed near the surface of the 3D model and initialize the point cloud normal vector; Step 2: Use Poisson surface reconstruction method to reconstruct the point cloud to obtain a triangular mesh surface; Step 3: Use the normal vector of the surface generated by Poisson reconstruction to update the normal vector of the input point cloud, and define a list of triangles for each point in the point cloud; for each triangle in the triangular mesh surface, calculate the area and the normal vector with the same orientation of each triangle, and find the point cloud closest to the center of the triangle. k points, add the triangle patch index to each of these k The connection between the triangular mesh surface and the point cloud is established in the triangular facet list of the nearest points; the normal vectors with consistent orientation refer to the normal vectors that are all oriented toward the inside of the three-dimensional model or toward the outside of the three-dimensional model, which is a necessary condition for the Poisson reconstruction method to reconstruct the correct three-dimensional surface of the model; for the triangular facet list of each point in the point cloud, the weighted average of the normal vectors of the triangular facets is calculated with the area of ​​the triangular facets as the weight, and the normalized value is used as the update value of the normal vector of the point; Step 4: Define the iteration termination condition and iterate steps 2-3 multiple times. When the iteration termination condition is met during the iteration process, the iteration is terminated and the correct point cloud normal vector is obtained. Step 5: Use the correct normal vector to perform Poisson surface reconstruction to generate a three-dimensional mesh surface of the three-dimensional model; In step 4, the iteration termination condition is set as: calculating the deviation of the point cloud normal vector between the current iteration and the previous iteration. When the deviation is less than a given threshold, the iteration is terminated, the iterative process converges, and the correct point cloud normal vector is obtained; if the maximum number of iterations is exceeded, the iteration is also terminated.

2. The method for generating a surface from a three-dimensional point cloud based on iterative Poisson surface reconstruction according to claim 1, characterized in that: The specific implementation steps of step 3 are: (1) Construct a kd tree of the input point cloud to facilitate finding neighboring points; (2) Define a list of triangles for each point in the point cloud; (3) For each triangle in the triangular mesh surface, use the cross product operation to obtain the normal vector of the triangle and calculate the area of ​​the triangle; (4) For each triangle in the triangular mesh surface, find the closest triangle in the kd tree. k input points, add the patch indices to k In the list of three faces corresponding to each point, the connection between the triangular mesh surface and the point cloud is established; (5) For each point in the point cloud, calculate the weighted average of the normal vectors of the triangles corresponding to the patch index in the patch list, where the area of ​​the triangle represents the weight. The weighted average is normalized and used as the updated value of the normal vector of the point.