Incremental grid reconstruction method based on adaptive parameters
By introducing adaptive parameters and incremental processing methods in point cloud reconstruction, the efficiency and quality problems of existing algorithms when processing large-scale and complex point cloud data are solved, and efficient and stable three-dimensional surface model reconstruction is achieved.
Patent Information
- Application Number
- CN202411430071.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-14
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2044-10-14
AI Technical Summary
When processing large-scale and complex point cloud data, existing greedy triangulation algorithms have low computing efficiency, unstable reconstruction quality, high memory consumption and lack adaptability, making it difficult to meet the needs of real-time processing and high-quality reconstruction.
A method of incremental grid reconstruction based on adaptive parameters is proposed. Through point cloud segmentation and overlapping areas, combined with density estimation, downsampling, normal estimation and incremental triangular grid construction, the reconstruction parameters are dynamically adjusted to Adapt to the local characteristics of point clouds.
It significantly improves the efficiency and quality of grid reconstruction, reduces memory consumption, has good adaptability, and can effectively handle large-scale and complex point cloud data.
Smart Images

Figure CN119478288A_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the field of three-dimensional point cloud processing, and in particular relates to an incremental grid reconstruction method based on adaptive parameters. Background Art
[0002] As an intuitive and accurate way to express three-dimensional spatial information, three-dimensional point cloud data has been widely used in many fields such as reverse engineering, cultural relic protection, medical imaging, and autonomous driving. With the advancement of 3D scanning technology, it has become easier to obtain high-precision, large-scale point cloud data. However, the original point cloud data usually contains a large number of discrete points, which is difficult to use directly for subsequent geometric analysis and visual presentation. Therefore, how to reconstruct a high-quality three-dimensional surface model from point cloud data has become a key issue.
[0003] Among the many surface reconstruction methods, greedy triangulation-based algorithms have attracted widespread attention due to their simplicity, efficiency, and ease of implementation. This type of algorithm gradually adds triangles that meet specific conditions to eventually form a complete triangular mesh model. However, existing greedy triangulation methods still face many challenges when processing large-scale and complex point cloud data:
[0004] Low computational efficiency: As the size of the point cloud increases, the time complexity of the algorithm grows exponentially, making it difficult to meet the needs of real-time processing.
[0005] Unstable reconstruction quality: For point cloud data with complex geometric features or noise, existing algorithms often find it difficult to ensure the geometric accuracy and topological correctness of the reconstruction results.
[0006] Large memory consumption: When processing large-scale point cloud data, a large amount of geometric information and topological relationships need to be maintained in the memory, which can easily lead to memory overflow.
[0007] Lack of adaptability: It is difficult to automatically adjust the reconstruction parameters according to the local characteristics of the point cloud, which makes it difficult to obtain consistent reconstruction quality in different areas of complex models.
[0008] Complicated post-processing: The reconstructed initial mesh model usually requires complex post-processing operations, such as mesh simplification and smoothing, which increases the complexity of processing.
[0009] At present, the industry has proposed some optimization methods to improve the greedy triangulation algorithm, such as optimization based on local geometric features, multi-resolution strategy, parallel computing, etc. However, these methods can only solve part of the problem and it is difficult to comprehensively improve the performance and reconstruction quality of the algorithm. Summary of the invention
[0010] In view of the shortcomings of the prior art, the present invention proposes an incremental mesh reconstruction method based on adaptive parameters, which can significantly improve the efficiency of mesh reconstruction and reduce memory consumption while ensuring the reconstruction quality. It also has good adaptability and can meet the needs of large-scale and complex point cloud data processing.
[0011] The purpose of the present invention is achieved through the following technical solutions:
[0012] An incremental mesh reconstruction method based on adaptive parameters comprises the following steps:
[0013] Step 1: Obtain point cloud data;
[0014] Step 2: The point cloud P obtained in step 1 is linearly segmented based on the point index and divided into m subsets, and adjacent subsets have overlapping areas;
[0015] Step 3: Density estimation of the segmented point cloud subset;
[0016] Step 4: Downsample and estimate normals for each point cloud subset;
[0017] Step 5: Construct a triangular mesh for each point cloud subset using an incremental method.
[0018] Furthermore, in the step 1, by projecting structured light onto the surface of the object, and placing cameras on both sides of the structured light projector, the distance between the two cameras is set to b, and the camera shooting angles are set to α and β, the depth information depth is calculated by the following formula:
[0019]
[0020] The resulting point cloud data is then exported to PCD format and read using the PCL library.
[0021] Furthermore, in step 2, the i-th point cloud subset p after segmentation i The calculation formulas for the starting index start_index and the ending index end_index are as follows:
[0022] start_index=max(1,i*part_size-overlap_size)
[0023] end_index=min(n,(i+1)*part_size+overlap_size)
[0024] Among them, part_size represents the size of each subset after segmentation, overlap_size represents the size of the overlapping part, and n is the number of points in the point cloud P;
[0025] Each subset p i satisfy:
[0026]
[0027] Where k is the overlap ratio of adjacent subsets.
[0028] Furthermore, the step three includes the following sub-steps:
[0029] S3.1: Calculate the point cloud subset p by the following formula i Point cloud density ρ i :
[0030]
[0031] Among them, N i is the number of points in the subset, V i is the bounding box volume of the subset;
[0032] S3.2: According to the point cloud density ρ i Dynamically adjust voxel size L i :
[0033]
[0034] Where L max , L min are the preset maximum and minimum voxels, ρ max , min are the preset maximum and minimum density thresholds respectively.
[0035] Furthermore, the step 4 includes the following sub-steps:
[0036] S4.1: For each non-empty voxel, find all the points that fall within this voxel, calculate the centroid of each non-empty voxel, and construct these centroids into a new point cloud after downsampling; where the centroid P of each non-empty voxel centroid =(X centroid ,Y centroid ,Z centroid ) is calculated as follows:
[0037]
[0038] Where num represents the number of all points in the non-empty voxel;
[0039] S4.2: Calculate the point cloud density ρ of the new point cloud by the following formula i :
[0040]
[0041] Among them, N j is the number of points in the new point cloud, V j is the bounding box volume of the new point cloud;
[0042] S4.3: Perform k-nearest neighbor search on the points in the new point cloud and calculate the number of neighbors K for each point j :
[0043]
[0044] Among them, K max , K min are the preset maximum and minimum number of K nearest neighbors respectively;
[0045] S4.4: According to the number of neighbors K of each point j , find the neighborhood points of each point, group these neighborhood points into a neighborhood point set, and calculate the centroid vector centroid and covariance matrix C of the neighborhood point set p ;
[0046]
[0047] Among them, p j Refers to the three-dimensional vector of the coordinates of the neighborhood points in the neighborhood point set;
[0048] Covariance matrix C p The calculation formula is as follows:
[0049]
[0050] Furthermore, the step five includes the following sub-steps:
[0051] S5.1: Perform eigenvalue decomposition on the covariance matrix to obtain the eigenvector with the smallest eigenvalue, which is used as the normal vector of this point; find points with normal vectors in the same direction to form coplanar points, construct initial triangles, and all initial triangles constitute the initial mesh;
[0052] S5.2: For each point r that has not been constructed into a triangle, find the triangle T closest to the point according to its KD tree index;
[0053] S5.3: Project point r onto the local plane of triangle T and calculate the perpendicular distance from point r to the plane of triangle T;
[0054] S5.4: Move point r along the normal direction by a distance d to obtain a projection point r′, and determine whether the projection point r′ is inside, outside, or on the edge of triangle T;
[0055] S5.5: Calculate the distance from the projection point r′ to the three vertices A, B, and C of the triangle T. If the distance is less than the set threshold, the projection point is considered to be near the vertex and no insertion is performed; otherwise, the projection point is considered to be far away from the vertex and the judgment continues:
[0056] If the projection point falls on the edge of triangle T, the triangle is split into two adjacent sub-triangles whose vertices include the projection point r′; if the projection point r′ falls inside the triangle, the triangle is split into three sub-triangles r′BC, Ar′C, and ABr′; if the projection point falls outside the triangle, the point on the edge of the triangle closest to the projection point is used as the split point, and it is split into two adjacent sub-triangles whose vertices include the split point; thus completing the update of the local topology;
[0057] S5.6: Use the Laplacian smoothing algorithm to adjust vertex positions to improve triangle shapes and merge or split edges to optimize mesh resolution.
[0058] S5.7: Perform vertex merging on all vertices in the m sub-meshes obtained from the m point cloud subsets, and perform patch merging on all patches.
[0059] Furthermore, the S5.3 includes the following sub-steps:
[0060] (1) Calculate the normal vector n = (B-A) × (CA) of the plane where triangle T lies, where A, B, and C are the vertex vectors of the triangle;
[0061] (2) Normalize the normal vector n to obtain the normalized normal vector n normalize =(a,b,c):
[0062]
[0063] (3) The coordinate x of point r r ,y r 、z r Substitute d = -(ax r +by r +cz r ), we can get the perpendicular distance d from point r to the plane of triangle T.
[0064] Furthermore, the specific steps of determining whether the projection point r′ is located inside, outside, or on the edge of the triangle T in S5.4 are as follows:
[0065] Calculate the area S of the triangle ABC and the area S of the three sub-triangles with the projection point r′ as one of the vertices r′BC ,S Ar′C ,S ABr′, the relationship between the projection point r′ and the triangle T is determined by the following rules:
[0066] If the area of one of the sub-triangles is 0, the projection point is on the T side of the triangle;
[0067] If S r′BC +S Ar′C +S ABr′ =S ABC , then the projection point is inside triangle T;
[0068] Otherwise, the projection point r′ falls outside the triangle T, and the point on the edge of the triangle T that is closest to the projection point r′ is found.
[0069] Furthermore, the specific steps of performing vertex merging in S5.7 are as follows:
[0070] Initialize an empty set to store the final vertex set and define a mapping function Map the vertices of all sub-meshes to a set of natural numbers; traverse each vertex of each sub-mesh and check whether there is a vertex in the final vertex set whose distance to the current vertex is less than the merge threshold ε. If so, map the current vertex to the index of the close vertex; if not, add the current vertex to the final vertex set and map it to the new index.
[0071] Furthermore, the specific steps of performing face merging in S5.7 are as follows:
[0072] Compare whether the natural numbers after mapping the three vertices of the triangle of the patch are different. If so, retain the patch, calculate the normal vector of the plane where the triangle of the retained patch is located and the normal vectors of the three vertices of the triangle, and determine whether the two normal vectors are consistent. If not, flip the triangle; when flipping, keep one of the vertices unchanged and swap the positions of the other two vertices to minimize the interference with the original topology and ensure that the normal vectors of all patches are consistent with the average normal vector of the surrounding area, thereby creating a topologically coherent surface.
[0073] The beneficial effects of the present invention are as follows:
[0074] The incremental mesh reconstruction method of the present invention not only solves the problem of computational resource limitation through point cloud segmentation and the introduction of overlapping areas, but also ensures the consistency and continuity of the processing results through the design of overlapping areas;
[0075] The incremental mesh reconstruction method of the present invention improves the processing efficiency and quality of large-scale point cloud data through adaptive preprocessing; the adaptive parameters obtained through density estimation realize dynamic adjustment of downsampling and normal estimation, which not only ensures the retention of important geometric features, but also improves the overall processing efficiency;
[0076] The incremental mesh reconstruction method of the present invention realizes efficient mesh reconstruction by combining efficient mesh indexing and splicing strategies; and realizes dynamic vertex merging and facet reconstruction by defining vertex mapping functions and distance thresholds. BRIEF DESCRIPTION OF THE DRAWINGS
[0077] Figure 1 Flow chart of the incremental mesh reconstruction method of this embodiment.
[0078] Figure 2 Schematic diagram of point cloud segmentation in this embodiment.
[0079] Figure 3 This is a diagram for implementing point cloud segmentation in this embodiment.
[0080] Figure 4 This is an implementation diagram of the adaptive downsampling of this embodiment.
[0081] Figure 5 This is an implementation diagram of the adaptive normal estimation of this embodiment.
[0082] Figure 6 This is a flow chart of incremental mesh reconstruction in step S5 of this embodiment.
[0083] Figure 7 This is an implementation diagram of the incremental reconstruction of this embodiment.
[0084] Figure 8 This is a schematic diagram of the target object after reconstruction in this embodiment. DETAILED DESCRIPTION
[0085] The present invention will be described in detail below based on the accompanying drawings and preferred embodiments, and the purpose and effects of the present invention will become more clear. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.
[0086] like Figure 1 As shown, the incremental grid reconstruction method based on adaptive parameters of this embodiment includes the following steps:
[0087] Step 1: Obtain point cloud data;
[0088] The point cloud data used in this embodiment is obtained by structured light, that is, a pre-prepared structured spectrum is projected onto the surface of the object, cameras are placed on both sides of the structured light projector, the distance between the two cameras is set to b, the camera shooting angles are set to α and β, and the depth information depth is calculated by the following formula:
[0089]
[0090] The resulting point cloud data is then exported to PCD format and read using the PCL library.
[0091] Step 2: The point cloud P obtained in step 1 is linearly segmented based on the point index and divided into m subsets.
[0092] Among them, linear segmentation is to treat the point cloud as a linear sequence without considering the spatial position of the points. The number of points in the point cloud P is n, the overlap rate of adjacent subsets is k, the size of the overlapping part is overlap_size, and the size of each subset after segmentation is part_size. Then, for each point cloud subset p i , its starting index start_index=max(1,i*part_size-overlap_size), and its ending index end_index=min(n,(i+1)*part_size+overlap_size), where overlap_size indicates the size of the overlapping part, and finally the subset point cloud p={p1,p2,p3,…,p m},like Figure 2 and Figure 3 As shown. Each subset p i satisfy:
[0093]
[0094] Step 3: Density estimation of the segmented point cloud subset; Step 3 specifically includes the following sub-steps:
[0095] S3.1: Calculate the point cloud subset p by the following formula i Point cloud density ρ i :
[0096]
[0097] Among them, N i is the number of points in the subset, V i is the bounding box volume of the subset;
[0098] S3.2: According to the point cloud density ρ i Dynamically adjust voxel size L i :
[0099]
[0100] Where L max , L min are the preset maximum and minimum voxels, ρ max , min are the preset maximum and minimum density thresholds respectively.
[0101] Step 4: Downsample and estimate normals for each point cloud subset;
[0102] S4.1: For each non-empty voxel, find all the points that fall within this voxel, calculate the centroid of each non-empty voxel, and construct these centroids into a new point cloud after downsampling (this is equivalent to replacing all the points in each non-empty voxel with the centroid of each voxel); the result after downsampling is as follows Figure 4 shown.
[0103] Among them, the centroid P of each non-empty voxel centroid =(X centroid ,Y centroid ,Z centroid ) is calculated as follows:
[0104]
[0105] Where num represents the number of all points in non-empty voxels.
[0106] S4.2: Calculate the point cloud density ρ of the new point cloud by the following formula i :
[0107]
[0108] Among them, N j is the number of points in the new point cloud, V j is the bounding box volume of the new point cloud;
[0109] S4.3: Perform k-nearest neighbor search on the points in the new point cloud and calculate the number of neighbors K for each point j :
[0110]
[0111] Among them, K max , K min are the preset maximum and minimum number of K nearest neighbors respectively.
[0112] S4.4: According to the number of neighbors K of each point j , find the neighborhood points of each point, group these neighborhood points into a neighborhood point set, and calculate the centroid vector centroid and covariance matrix of the neighborhood point set;
[0113]
[0114] Among them, p j Refers to the three-dimensional vector of the coordinates of the neighborhood points in the neighborhood point set;
[0115] Covariance matrix C p The calculation formula is as follows:
[0116]
[0117] C p is a 3×3 symmetric matrix. The result after adaptive normal estimation is as follows Figure 5 shown.
[0118] Step 5: Use an incremental method to construct a triangular mesh for each point cloud subset. Figure 6 As shown in the figure, the incremental method is used to construct the triangular mesh. Figure 5 , 7 The schematic diagram and implementation diagram of forming a triangular mesh of a point cloud shown in the figure, this method gradually adds points to the existing mesh and dynamically updates the mesh structure; Figure 6 The flowchart introduces in detail its main steps: initialization, point insertion, local reconstruction and mesh optimization.
[0119] Step 5 specifically includes the following sub-steps:
[0120] S5.1: Perform eigenvalue decomposition on the covariance matrix to obtain the eigenvector with the smallest eigenvalue, which is used as the normal vector of this point; find points with normal vectors in the same direction to form coplanar points, construct initial triangles, and all initial triangles constitute the initial mesh;
[0121] S5.2: For each point r that has not been constructed into a triangle, find the triangle T closest to the point according to its KD tree index;
[0122] S5.3: Project the point r onto the local plane where the triangle T is located, and calculate the vertical distance from the point r to the plane of the triangle T; S5.3 specifically includes the following sub-steps:
[0123] (1) Calculate the normal vector n = (B-A) × (CA) of the plane where triangle T lies, where A, B, and C are the vertex vectors of the triangle;
[0124] (2) Normalize the normal vector n to obtain the normalized normal vector n normalize =(a,b,c):
[0125]
[0126] (3) The coordinate x of point r r ,yr 、z r Substitute d = -(ax r +by r +cz r ), we can get the perpendicular distance d from point r to the plane of triangle T.
[0127] S5.4: Move point r along the normal line by a distance d to obtain the projected point r′; then calculate the area S of the triangle ABC and the area S of the three sub-triangles with the projection point r′ as one of the vertices r′BC ,S Ar′C ,S ABr′ , the relationship between the projection point r′ and the triangle T is determined by the following rules:
[0128] If the area of one of the sub-triangles is 0, the projection point is on the T side of the triangle;
[0129] If S r′BC +S Ar′C +S ABr′ =S ABC , then the projection point is inside triangle T;
[0130] Otherwise, the projection point r′ falls outside the triangle T. In this case, find the point on the edge of the triangle T that is closest to the projection point r′.
[0131] S5.5: Calculate the distance from the projection point r′ to the three vertices A, B, and C of the triangle T. If the distance is less than the set threshold, the projection point is considered to be near the vertex and no insertion is performed; otherwise, the projection point is considered to be far away from the vertex and the judgment continues:
[0132] If the projection point falls on the edge of triangle T, the triangle is split into two adjacent sub-triangles whose vertices include the projection point r′; if the projection point r′ falls inside the triangle, the triangle is split into three sub-triangles r′BC, Ar′C, and ABr′; if the projection point falls outside the triangle, the point on the edge of the triangle closest to the projection point is used as the split point, and it is split into two adjacent sub-triangles whose vertices include the split point; thus completing the update of the local topology;
[0133] S5.6: Use the Laplacian smoothing algorithm to adjust vertex positions to improve triangle shape and merge or split edges to optimize mesh resolution:
[0134] S5.7: For the m point cloud subsets, the m sub-grids {M1, M2, M3, …, M m} are used to merge all vertices and all faces; M i =(V i , Fi )V i represents the vertex set of the i-th sub-mesh, F i Represents the face set of the i-th sub-mesh.
[0135] The specific steps of vertex merging are as follows:
[0136] Initialize an empty set to store the final vertex set and define a mapping function Map the vertices of all submeshes to a set of natural numbers; traverse each vertex of each submesh and check whether there is a vertex in the final vertex set whose distance to the current vertex is less than the merge threshold ε. If so, map the current vertex to the index of the close vertex; if not, add the current vertex to the final vertex set and map it to the new index; the merge threshold ε usually takes a value between 0.0001 and 0.01 in the standardized [0,1] range model.
[0137] The specific steps of patch merging are as follows:
[0138] Compare whether the natural numbers of the three vertices of the triangle of the patch are different. If so, keep the patch, calculate the normal vector of the plane where the triangle of the retained patch is located and the normal vectors of the three vertices of the triangle, and determine whether the two normal vectors are consistent. If not, flip the triangle; when flipping, keep one of the vertices unchanged and swap the positions of the other two vertices to minimize the interference with the original topology. This ensures that the normal vectors of all patches are consistent with the average normal vector of the surrounding area, thereby creating a topologically coherent surface. Figure 7 is an implementation diagram of the incremental reconstruction of this embodiment, Figure 8 is the image after reconstructing the target object.
[0139] Those skilled in the art can understand that the above are only preferred examples of the invention and are not intended to limit the invention. Although the invention is described in detail with reference to the above examples, those skilled in the art can still modify the technical solutions recorded in the above examples or replace some of the technical features therein with equivalents. Any modification, equivalent replacement, etc. made within the spirit and principle of the invention shall be included in the protection scope of the invention.
Claims
1. An incremental mesh reconstruction method based on adaptive parameters, characterized in that: The steps include: Step 1: Obtain point cloud data; Step 2: The point cloud P obtained in step 1 is linearly segmented based on the point index and divided into m subsets, and adjacent subsets have overlapping areas; Step 3: Density estimation of the segmented point cloud subset; Step 4: Downsample and estimate normals for each point cloud subset; Step 5: Construct a triangular mesh for each point cloud subset using an incremental method.
2. The incremental mesh reconstruction method based on adaptive parameters according to claim 1, characterized in that: In the step 1, by projecting structured light onto the surface of the object, and placing cameras on both sides of the structured light projector, the distance between the two cameras is set to b, and the camera shooting angles are set to α and β, the depth information depth is calculated by the following formula: The resulting point cloud data is then exported to PCD format and read using the PCL library.
3. The incremental mesh reconstruction method based on adaptive parameters according to claim 2, characterized in that: In the step 2, the i-th point cloud subset p after segmentation i The calculation formulas for the starting index start_index and the ending index end_index are as follows: start_index=max(1,i*part_size-overlap_size) end_index=min(n,(i+1)*part_size+overlap_size) Among them, part_size represents the size of each subset after segmentation, overlap_size represents the size of the overlapping part, and n is the number of points in the point cloud P; Each subset p i satisfy: Where k is the overlap ratio of adjacent subsets.
4. The incremental mesh reconstruction method based on adaptive parameters according to claim 3, characterized in that: The step three includes the following sub-steps: S3.1: Calculate the point cloud subset p by the following formula i Point cloud density ρ i : Among them, N i is the number of points in the subset, V i is the bounding box volume of the subset; S3.2: According to the point cloud density ρ i Dynamically adjust voxel size L i : Where L max , L min are the preset maximum and minimum voxels, ρ max , min are the preset maximum and minimum density thresholds respectively.
5. The incremental mesh reconstruction method based on adaptive parameters according to claim 4, characterized in that: The step 4 includes the following sub-steps: S4.1: For each non-empty voxel, find all the points that fall within this voxel, calculate the centroid of each non-empty voxel, and construct these centroids into a new point cloud after downsampling; where the centroid P of each non-empty voxel centroid =(X centroid ,Y centroid ,Z centroid ) is calculated as follows: Where num represents the number of all points in the non-empty voxel; S4.2: Calculate the point cloud density ρ of the new point cloud by the following formula i : Among them, N j is the number of points in the new point cloud, V j is the bounding box volume of the new point cloud; S4.3: Perform k-nearest neighbor search on the points in the new point cloud and calculate the number of neighbors K of each point j : Among them, K max , K min are the preset maximum and minimum number of K nearest neighbors respectively; S4.4: According to the number of neighbors K of each point j , find the neighborhood points of each point, group these neighborhood points into a neighborhood point set, and calculate the centroid vector centroid and covariance matrix C of the neighborhood point set p ; Among them, p j Refers to the three-dimensional vector of the coordinates of the neighborhood points in the neighborhood point set; Covariance matrix C p The calculation formula is as follows:
6. The incremental mesh reconstruction method based on adaptive parameters according to claim 5, characterized in that: The step five includes the following sub-steps: S5.1: Perform eigenvalue decomposition on the covariance matrix to obtain the eigenvector with the smallest eigenvalue, which is used as the normal vector of this point; find points with normal vectors in the same direction to form coplanar points, construct initial triangles, and all initial triangles constitute the initial mesh; S5.2: For each point r that has not been constructed into a triangle, find the triangle T closest to the point according to its KD tree index; S5.3: Project point r onto the local plane of triangle T and calculate the perpendicular distance from point r to the plane of triangle T; S5.4: Move point r along the normal direction by a distance d to obtain a projection point r′, and determine whether the projection point r′ is inside, outside, or on the edge of triangle T; S5.5: Calculate the distance from the projection point r′ to the three vertices A, B, and C of the triangle T. If the distance is less than the set threshold, the projection point is considered to be near the vertex and no insertion is performed; otherwise, the projection point is considered to be far away from the vertex and the judgment continues: If the projection point falls on the edge of triangle T, the triangle is split into two adjacent sub-triangles whose vertices include the projection point r′; if the projection point r′ falls inside the triangle, the triangle is split into three sub-triangles r′BC, Ar′C, and ABr′; if the projection point falls outside the triangle, the point on the edge of the triangle closest to the projection point is used as the split point, and it is split into two adjacent sub-triangles whose vertices include the split point; thus completing the update of the local topology; S5.6: Use the Laplacian smoothing algorithm to adjust vertex positions to improve triangle shapes and merge or split edges to optimize mesh resolution. S5.7: Perform vertex merging on all vertices in the m sub-meshes obtained from the m point cloud subsets, and perform patch merging on all patches.
7. The incremental mesh reconstruction method based on adaptive parameters according to claim 6, characterized in that: The S5.3 comprises the following sub-steps: (1) Calculate the normal vector n = (B-A) × (CA) of the plane where triangle T lies, where A, B, and C are the vertex vectors of the triangle; (2) Normalize the normal vector n to obtain the normalized normal vector n normalize =(a,b,c): (3) Set the coordinate x of point r r ,y r 、z r Substitute d = -(ax r +by r +cz r ), we can get the perpendicular distance d from point r to the plane of triangle T.
8. The incremental mesh reconstruction method based on adaptive parameters according to claim 7, characterized in that: The specific steps of determining whether the projection point r′ is inside, outside, or on the edge of the triangle T in S5.4 are as follows: Calculate the area S of the triangle ABC and the area S of the three sub-triangles with the projection point r′ as one of the vertices r′BC ,S Ar′C ,S ABr′ , the relationship between the projection point r′ and the triangle T is determined by the following rules: If the area of one of the sub-triangles is 0, the projection point is on the T side of the triangle; If S r′BV +S Ar′C +S ABr′ =S ABC , then the projection point is inside triangle T; Otherwise, the projection point r′ falls outside the triangle T, and the point on the edge of the triangle T that is closest to the projection point r′ is found.
9. The incremental mesh reconstruction method based on adaptive parameters according to claim 8, characterized in that: The specific steps of performing vertex merging in S5.7 are as follows: Initialize an empty set to store the final vertex set and define a mapping function Map the vertices of all sub-grids to a natural number set; traverse each vertex of each sub-grid and check whether there is a vertex in the final vertex set whose distance to the current vertex is less than the merge threshold ε. If so, map the current vertex to the index of the close vertex; If not present, the current vertex is added to the final set of vertices stored and mapped to the new index.
10. The incremental mesh reconstruction method based on adaptive parameters according to claim 9, characterized in that: The specific steps of performing face merging in S5.7 are as follows: Compare whether the natural numbers after mapping the three vertices of the triangle of the patch are different. If so, retain the patch, calculate the normal vector of the plane where the triangle of the retained patch is located and the normal vectors of the three vertices of the triangle, and determine whether the two normal vectors are consistent. If not, flip the triangle; when flipping, keep one of the vertices unchanged and swap the positions of the other two vertices to minimize the interference with the original topology and ensure that the normal vectors of all patches are consistent with the average normal vector of the surrounding area, thereby creating a topologically coherent surface.
Citation Information
Patent Citations
Surface incremental topology reconstruction method based on mass point cloud
CN107610228A
Triangular mesh increment topology splicing method based on Delaunay subdivision
CN109636913A
Incremental three-dimensional reconstruction method based on fused voxel octree and grid rendering
CN118229885A