Feature-Preserving Mesh Processing Methods and Systems Based on High-Performance Parallel Computing
By using a high-performance parallel computing approach, a multimodal network coding structure based on point clouds and meshes is employed. Self-supervised tasks and CUDA kernel functions are used to generate redundant structure labels, which solves the problem of low efficiency in removing redundant patches in traditional methods and achieves efficient and accurate mesh clipping.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SUN YAT SEN UNIV
- Filing Date
- 2023-03-22
- Publication Date
- 2026-05-26
AI Technical Summary
Existing technologies struggle to efficiently remove redundant patches from mesh models, and traditional methods rely on manual operation and cannot be effectively transferred to real-world scenarios. Existing neural network methods lack redundant structure annotation data, resulting in an inability to effectively trim meshes.
We employ a high-performance parallel computing approach, utilizing point cloud and grid-based multimodal network coding structures. We train a Transformer point cloud feature generator and prediction head through a self-supervised task to generate semantic segmentation and redundant structural labels for sparse point clouds. Furthermore, we generate redundant structural labels by adding noise using a CUDA kernel function, achieving efficient pruning.
This technology enables efficient removal of redundant faces from mesh models in real-world scenarios, improving the accuracy and efficiency of clipping, reducing reliance on manual operations, and enhancing the model's generalization ability and computational efficiency.
Smart Images

Figure CN116258862B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the fields of computer graphics and 3D mesh processing, and specifically to a feature-preserving mesh processing method and system based on high-performance parallel computing. Background Technology
[0002] Computer graphics is a discipline that studies how to represent and process graphical data using computers. Its applications are wide-ranging, including computer animation and computer-aided geometric design. There are many forms of graphical data representation, such as mesh representation and point cloud representation. Among these, mesh representation is the most commonly used due to its data efficiency and good compatibility with physics engines and graphics rendering engines. Mesh editing technology refers to transforming the local geometry of a mesh into another different mesh, ensuring the pipeline production of 3D models. Therefore, how to deform the mesh to achieve efficient directional editability while preserving the local and global features of the original 3D model is a key issue that mesh-related technologies need to consider. However, traditional mesh creation requires manual work, and the artist's skill directly determines the quality of the mesh. Meshes often contain redundant facet structures that are not needed for the target application scenario. Therefore, geometric clipping of mesh data becomes a necessary tool in the post-processing stage of mesh editing, and the data distribution processed varies greatly in different application scenarios.
[0003] Early mesh trimming was done entirely manually. In 3D modeling software such as Blender, designers typically ensured that the number of faces and local topology of key semantic parts of the mesh met the requirements of the actual application, according to the project specifications. Therefore, it was time-consuming and inefficient, and the trimmed mesh could not guarantee that redundant structures were completely removed.
[0004] Deep learning-based 3D mesh semantic segmentation methods offer a feasible solution for mesh trimming. Compared to the manual feature construction of traditional machine learning, features learned directly from the training set by neural networks are more representative of the data distribution of generalized mesh model features in high-dimensional space, thus exhibiting better generalization ability. As the scale of 3D mesh data increases, its data distribution becomes more comprehensive than the data required for application scenarios in mesh processing, including numerous mesh models of everyday vehicles, industrial parts, and electronic components. One of the challenges that data-driven methods need to address is how to utilize this massive amount of clean mesh data that characterizes the general properties of target objects to provide learnable knowledge for mesh segmentation and mesh trimming tasks targeting redundant structures.
[0005] Supervised 3D mesh semantic segmentation methods require a large amount of 3D mesh semantically labeled data to ensure that the data distribution of target mesh features learned by the neural network through iterative optimization is as complete as possible. However, despite the large amount of 3D mesh model data, semantically labeled data still constitutes only a small portion, and each dataset exhibits a very strong bias effect, making it difficult for the trained model to be transferred to richer downstream mesh semantic segmentation tasks. Furthermore, almost all semantic segmentation labeled datasets do not include the category of redundant faces in the mesh, thus making them unsuitable for mesh clipping tasks in industrial scenarios.
[0006] One current technique involves designers manually trimming the mesh model containing the topology to be optimized within a 3D modeling tool. Tools like Blender allow direct editing of vertices and faces within the mesh model. Designers, relying on domain knowledge, identify redundant structures and different semantic regions of the mesh model faces, then trim and annotate them. The drawbacks of this technique are its reliance on the designer's skill level and mastery of domain knowledge, and its inherently repetitive and mechanical nature. Prolonged work can lead to decreased designer efficiency and compromises the accuracy of mesh trimming and redundant structure removal.
[0007] The second existing technology is the 3D mesh semantic segmentation method based on the MeshNet neural network in the paper "Meshnet: Mesh neural network for 3d shape representation". This method designs spatial and structural descriptors for the mesh model to extract its topological features. The neural network built on these basic modules can directly learn mesh clipping and semantic segmentation information under semantically labeled supervision. The drawback of this technology is that direct segmentation of the mesh model requires semantic annotation of mesh patches. Therefore, the datasets available for it are limited to datasets such as ModelNet40 and ShapeNetPart, which contain both point cloud segmentation and mesh segmentation annotations. It cannot achieve good transfer kernel generalization performance on mesh or point cloud data in real scenes. In addition, these semantically labeled mesh datasets, as well as other point cloud datasets that can be used for network-assisted training, usually do not contain labels such as redundant structures of the segmented object, so they cannot be applied to mesh clipping tasks that remove redundant patches. Summary of the Invention
[0008] The purpose of this invention is to overcome the shortcomings of existing methods and propose a feature-preserving mesh processing method and system based on high-performance parallel computing. The main problems addressed by this invention are: first, how to utilize the multimodal network coding structure of point clouds and meshes to preserve the feature information of the original mesh as much as possible and fully utilize the mature architecture of existing point cloud encoders; second, how to ensure that the entire data computation process runs on the GPU to save data transmission time and achieve a high-performance parallel training process, given that noise is added to the input training samples in real time during training to characterize the redundant structure required for mesh pruning, especially for the mesh noise addition part that cannot be directly called via the PyTorch interface.
[0009] To address the aforementioned problems, this invention proposes a feature-preserving mesh processing method based on high-performance parallel computing, the method comprising:
[0010] The Transformer point cloud feature generator and prediction head MLP are trained on an MAE model that encodes point cloud features using an unlabeled point cloud dataset as input and a point cloud reconstruction task. α ;
[0011] The input is a grid dataset with semantic segmentation labels. The grid surfaces in the dataset are sampled to generate a sparse point cloud. Then, the trained prediction head MLP is removed. α Freeze the parameters of the Transformer point cloud feature generator part of the MAE model and train the prediction head MLP. β ;
[0012] Based on the grid dataset with semantic segmentation labels, noise is added to the grids in the dataset to represent redundant structures for the grid geometry clipping task. Then, a prediction head MLP is trained with the added redundant structure categories. γ ;
[0013] The user inputs a mesh to be processed. First, all its vertices are converted into a sparse point cloud. Then, the Transformer point cloud feature generator of the MAE model is used in conjunction with the trained prediction head MLP. β The semantic segmentation label for each point in the sparse point cloud is generated; then, the Transformer point cloud feature generator of the MAE model is used in conjunction with the trained prediction head MLP. γ The semantic segmentation label and redundant structure category label of each point in the sparse point cloud are generated; finally, the point marked as redundant structure is removed, and its adjacent vertices form a new mesh patch, thus completing the mesh clipping.
[0014] Preferably, the input point cloud is an unlabeled dataset, and the MAE model encoding point cloud features is trained using a point cloud reconstruction task to generate a Transformer point cloud feature generator and a prediction head MLP. α Specifically:
[0015] Seed points are set using the farthest point sampling algorithm. A fixed number of point cloud points within the neighborhood of the seed point are calculated as point cloud blocks based on the nearest neighbor algorithm. Each block is input into the PointNet++ point cloud encoding network to generate a point cloud block code T. i , where i is the seed point index, which corresponds one-to-one with the point cloud block index;
[0016] Mask off a portion of block T in the point cloud block set proportionally. m m∈M, where M is the set of indices of the masked point cloud blocks, and the unmasked portion is input into the Transformer point cloud feature generator to generate the encoding of visible blocks.
[0017] The decoding process uses a mask token, i.e., T. M The process of filling in invisible blocks with placeholders and reconstructing the original point cloud involves a loss function L. r It can be expressed as the following formula:
[0018] L r =CD(MLP) α (Decoder(Cat(T′ j T M ))), p j )
[0019] Where CD represents the chamfer distance, MLP α Indicates the prediction head, p j This represents the original masked point cloud block, and cat represents the tensor concatenation operation.
[0020] Preferably, the input is a grid dataset with semantic segmentation labels, the grid surfaces in the dataset are sampled to generate a sparse point cloud, and then the trained prediction head MLP is removed. α Freeze the parameters of the Transformer point cloud feature generator part of the MAE model and train the prediction head MLP. β Specifically:
[0021] Input a grid dataset with semantic segmentation labels, sample it evenly on the grid surface to obtain a point cloud corresponding to the original grid, and the semantic segmentation label of the point cloud is the same as the label of the grid patch.
[0022] Remove the prediction head MLP after training αThe Transformer point cloud feature generator is used to generate point cloud patch features, and the Transformer parameters are set to not record gradients. Then, a new prediction head MLP is used. β Encoding features to predict point cloud semantic segmentation results;
[0023] The semantic segmentation results and label values are used to optimize the MLP using cross-entropy loss. β The parameters of the network module and the pointwise form of the loss function can be expressed as follows:
[0024]
[0025] Where y c p represents the labeled value for semantic segmentation of category c. c This is the predicted value for 3D point semantic segmentation.
[0026] Preferably, the step involves adding noise to the grid in the dataset based on the semantically segmented grid dataset to represent the redundant structure of the grid geometry clipping task, and then training a prediction head MLP with the added redundant structure categories. γ Specifically:
[0027] For the grid dataset with semantic segmentation labels, redundant structural labels are first generated manually through data augmentation. This process involves adding noise to selected vertices using a CUDA kernel function.
[0028] Remove the prediction head MLP after training α The Transformer point cloud feature generator is used to generate point cloud patch features, and the Transformer parameters are set to not record gradients. Then, a new prediction head MLP is used. γ Encoding features to predict point cloud semantic segmentation results;
[0029] The semantic segmentation results and label values are used to optimize the MLP using cross-entropy loss. γ The parameters of the network module and the pointwise form of the loss function can be expressed as follows:
[0030]
[0031] Where y c p represents the labeled value for semantic segmentation of category c. c This is the predicted value for 3D point semantic segmentation.
[0032] Preferably, the noise addition process of the CUDA kernel function on the selected vertex is as follows:
[0033] For input data with batch size B, select N grid vertices as noise-adding vertices;
[0034] Store mesh topology data, vertex position data, and triangle facet data in GPU shared memory for fast access;
[0035] For each vertex, the kernel function calculates the discrete Gaussian curvature of the vertex based on the information in the shared memory. The calculation method can be expressed as follows:
[0036]
[0037] Where A is the area of the polygonal region formed by connecting the circumcenters and edges of k triangular faces sharing the same vertex, and θ i Let the angle of the vertex be the angle of a certain face.
[0038] Calculate the curvature of each polygon facet, which is the average curvature of all vertices;
[0039] For patches with curvature greater than the threshold λ, an offset is added to their centroid coordinates as noise according to a Gaussian distribution with a variance of 0.1σ; for patches with curvature less than the threshold λ, noise is added with a variance of σ.
[0040] The newly generated point is adjacent to all vertices of the face, and this point is marked as a redundant structure.
[0041] Preferably, the user inputs a mesh to be processed, first converting all its vertices into a sparse point cloud, and then using the Transformer point cloud feature generator of the MAE model and the trained prediction head MLP. β The semantic segmentation label for each point in the sparse point cloud is generated; then, the Transformer point cloud feature generator of the MAE model is used in conjunction with the trained prediction head MLP. γ This process generates semantic segmentation labels for each point in the sparse point cloud and redundancy structure category labels. Finally, points marked as redundant structures are culled, and their adjacent vertices form new mesh patches, completing the mesh trimming process.
[0042] Step 1: For the input mesh to be processed, convert all its vertices into sparse point cloud data;
[0043] Step 2: Utilize the Transformer point cloud feature generator of the MAE model and the trained prediction head MLP β Generate semantic segmentation labels for each point in the sparse point cloud, that is, output the probability value of each point belonging to each category, and take the maximum probability as the predicted category;
[0044] Step 3: Utilize the Transformer point cloud feature generator of the MAE model and the trained prediction head MLP γGenerate semantic segmentation labels and redundant structure category labels for each point in the sparse point cloud, that is, output the probability value of each point belonging to each category and the redundant structure category, and take the maximum probability as the predicted category.
[0045] Step 4: For vertices whose prediction results are redundant structures, if their probability value is less than the largest category probability value in Step 2, then re-label the vertex as the prediction result of Step 2; otherwise, label it as a redundant structure.
[0046] Step 5: Perform a culling operation on the points marked as redundant structures, delete the vertex and all edges corresponding to the vertex, and the adjacent vertices form a new mesh patch, thus completing the mesh trimming.
[0047] Accordingly, the present invention also provides a feature-preserving grid processing system based on high-performance parallel computing, comprising:
[0048] Point cloud feature generator and prediction head MLP α The training unit is used to train the Transformer point cloud feature generator and prediction head MLP of the MAE model that encodes point cloud features from an unlabeled point cloud dataset as input, and to reconstruct the point cloud features using a point cloud task. α ;
[0049] Predictive Head MLP β The training unit, which takes a grid dataset with semantic segmentation labels as input, samples the grid surfaces in the dataset to generate a sparse point cloud, and then removes the trained prediction head MLP. α Freeze the parameters of the Transformer point cloud feature generator part of the MAE model and train the prediction head MLP. β ;
[0050] Predictive Head MLP γ The training unit is used to add noise to the grids in the dataset with semantic segmentation labels to represent the redundant structure of the grid geometry clipping task, and then train the prediction head MLP with the added redundant structure categories. γ ;
[0051] The mesh processing unit, used for user-input meshes, first converts all vertices into sparse point clouds, then utilizes the Transformer point cloud feature generator of the MAE model and the trained prediction head MLP. β The semantic segmentation label for each point in the sparse point cloud is generated; then, the Transformer point cloud feature generator of the MAE model is used in conjunction with the trained prediction head MLP. γThe semantic segmentation label and redundant structure category label of each point in the sparse point cloud are generated; finally, the point marked as redundant structure is removed, and its adjacent vertices form a new mesh patch, thus completing the mesh clipping.
[0052] Implementing this invention has the following beneficial effects:
[0053] This invention, based on data-driven and deep learning methods, effectively understands the structural and spatial features in grid data. Compared to traditional machine learning algorithms, it offers a more robust and representative feature extraction process, resulting in more accurate semantic segmentation. Based on a self-supervised task and utilizing a large amount of unlabeled dataset, this invention ensures that the feature distribution generated by the feature encoder is sufficiently complete and exhibits stronger generalization. Furthermore, this invention utilizes a random noise-adding process during training to generate redundant structure category labels in grid clipping. This allows it to not only output semantic segmentation results but also perform geometric clipping of redundant grid structures in practical applications. The noise-adding process employs a CUDA parallel computing architecture to ensure the high efficiency of the entire computation process. Attached Figure Description
[0054] Figure 1 This is an overall flowchart of a feature-preserving grid processing method based on high-performance parallel computing according to an embodiment of the present invention;
[0055] Figure 2 This is a structural diagram of a feature-preserving grid processing system based on high-performance parallel computing, according to an embodiment of the present invention. Detailed Implementation
[0056] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0057] Figure 1 This is a general flowchart of a feature-preserving grid processing method based on high-performance parallel computing according to an embodiment of the present invention, as shown below. Figure 1 As shown, the method includes:
[0058] S1, Input unlabeled point cloud dataset, and use the point cloud reconstruction task to train a Transformer point cloud feature generator and prediction head MLP for the MAE model that encodes point cloud features. α ;
[0059] S2, Input a grid dataset with semantic segmentation labels, sample the grid surfaces in the dataset to generate a sparse point cloud, and then remove the trained prediction head MLP. α Freeze the parameters of the Transformer point cloud feature generator part of the MAE model and train the prediction head MLP. β ;
[0060] S3, Based on the grid dataset with semantic segmentation labels, noise is added to the grids in the dataset to represent the redundant structures of the grid geometry clipping task, and then the prediction head MLP with the added redundant structure categories is trained. γ ;
[0061] S4, the user inputs the mesh to be processed. First, all its vertices are converted into a sparse point cloud. Then, the Transformer point cloud feature generator of the MAE model is used in conjunction with the trained prediction head MLP. β The semantic segmentation label for each point in the sparse point cloud is generated; then, the Transformer point cloud feature generator of the MAE model is used in conjunction with the trained prediction head MLP. γ The semantic segmentation label and redundant structure category label of each point in the sparse point cloud are generated; finally, the point marked as redundant structure is removed, and its adjacent vertices form a new mesh patch, thus completing the mesh clipping.
[0062] Step S1 is as follows:
[0063] S1-1: Set seed points according to the farthest point sampling algorithm, and calculate a fixed number of point cloud points in the neighborhood of the seed point as point cloud blocks. Each block is input into the PointNet++ point cloud encoding network to generate point cloud block encoding T. i , where i is the seed point index, which corresponds one-to-one with the point cloud block index;
[0064] S1-2, proportionally mask out some blocks T from the point cloud block set. m m∈M, where M is the set of indices of the masked point cloud blocks, and the unmasked portion is input into the Transformer point cloud feature generator to generate the encoding of visible blocks.
[0065] S1-3, the decoding process uses a mask Token, i.e., T. M The process of filling in invisible blocks with placeholders and reconstructing the original point cloud involves a loss function L. r It can be expressed as the following formula:
[0066] L r =CD(MLP) α (Decoder(cat(T′ j TM ))), p j )
[0067] Where CD represents the chamfer distance, MLP α Indicates the prediction head, p j This represents the original masked point cloud block, and cat represents the tensor concatenation operation.
[0068] Step S2 is as follows:
[0069] S2-1: Input a grid dataset with semantic segmentation labels, sample it evenly on the grid surface to obtain a point cloud corresponding to the original grid, and the semantic segmentation label of the point cloud is the same as the label of the grid patch.
[0070] S2-2, Remove the trained prediction head MLP α The Transformer point cloud feature generator is used to generate point cloud patch features, and the Transformer parameters are set to not record gradients. Then, a new prediction head MLP is used. β Encoding features to predict point cloud semantic segmentation results;
[0071] S2-3, Use the semantic segmentation results and label values to perform cross-entropy loss optimization of the MLP. β The parameters of the network module and the pointwise form of the loss function can be expressed as follows:
[0072]
[0073] Where y c p represents the labeled value for semantic segmentation of category c. c This is the predicted value for 3D point semantic segmentation.
[0074] Step S3 is as follows:
[0075] S3-1, For the grid dataset with semantic segmentation labels, redundant structural labels are first generated manually through data augmentation. This process is a noise-adding process on selected vertices in the CUDA kernel function.
[0076] The noise addition process for selected vertices by the CUDA kernel function is as follows:
[0077] S3-1-1, For input data with batch size B, select N grid vertices as noise-adding vertices:
[0078] S3-1-2 stores mesh topology data, vertex position data, and triangle facet data into GPU shared memory for fast access.
[0079] S3-1-3, for each vertex, the kernel function calculates the discrete Gaussian curvature of the vertex based on the information in the shared memory. The calculation method can be expressed as follows:
[0080]
[0081] Where A is the area of the polygonal region formed by connecting the circumcenters and edges of k triangular faces sharing the same vertex, and θ i Let the angle of the vertex be the angle of a certain face.
[0082] S3-1-4, calculate the curvature of each polygon facet, which is the average curvature of all vertices;
[0083] S3-1-5, for patches with curvature greater than the threshold λ, add an offset as noise to their centroid coordinates according to a Gaussian distribution with a variance of 0.1σ; for those with curvature less than the threshold λ, set the variance to σ to add noise.
[0084] S3-1-6, the newly generated point is adjacent to all vertices of the face, and this point is marked as a redundant structure.
[0085] S3-2, Remove the trained prediction head MLP α The Transformer point cloud feature generator is used to generate point cloud patch features, and the Transformer parameters are set to not record gradients. Then, a new prediction head MLP is used. γ Encoding features to predict point cloud semantic segmentation results;
[0086] S3-3, Use the semantic segmentation results and label values to perform cross-entropy loss optimization of the MLP. γ The parameters of the network module and the pointwise form of the loss function can be expressed as follows:
[0087]
[0088] Where y c p represents the labeled value for semantic segmentation of category c. c This is the predicted value for 3D point semantic segmentation.
[0089] Step S4 is as follows:
[0090] S4-1, For the input mesh to be processed, take all its vertices and convert them into sparse point cloud data;
[0091] S4-2, Utilize the Transformer point cloud feature generator of the MAE model and the trained prediction head MLP β Generate semantic segmentation labels for each point in the sparse point cloud, that is, output the probability value of each point belonging to each category, and take the maximum probability as the predicted category;
[0092] S4-3, Utilize the Transformer point cloud feature generator of the MAE model and the trained prediction head MLP γ Generate semantic segmentation labels and redundant structure category labels for each point in the sparse point cloud, that is, output the probability value of each point belonging to each category and the redundant structure category, and take the maximum probability as the predicted category.
[0093] S4-4: For vertices whose prediction results are redundant structures, if their probability value is less than the largest class probability value in S4-2, then the vertex is re-marked as the prediction result of S4-2; otherwise, it is marked as a redundant structure.
[0094] S4-5: Perform a culling operation on the points marked as redundant structures, delete the vertex and all edges corresponding to the vertex, and the adjacent vertices form a new mesh patch, thus completing the mesh trimming.
[0095] Accordingly, the present invention also provides a feature-preserving grid processing system based on high-performance parallel computing, such as... Figure 2 As shown, it includes:
[0096] Point cloud feature generator and prediction head MLP α Training Unit 1 is used to train the Transformer point cloud feature generator and prediction head MLP of the MAE model that encodes point cloud features using the point cloud reconstruction task, taking the unlabeled point cloud dataset as input. α ;
[0097] Predictive Head MLP β Training unit 2 is used to input a grid dataset with semantic segmentation labels, sample the grid surfaces in the dataset to generate a sparse point cloud, and then remove the trained prediction head MLP. α Freeze the parameters of the Transformer point cloud feature generator part of the MAE model and train the prediction head MLP. β ;
[0098] Predictive Head MLP γ Training unit 3 is used to add noise to the grids in the dataset with semantic segmentation labels to represent the redundant structure of the grid geometry clipping task, and then train the prediction head MLP with the added redundant structure categories. γ ;
[0099] Mesh processing unit 4 is used for user-input meshes to be processed. First, it converts all vertices of the mesh into a sparse point cloud. Then, it uses the Transformer point cloud feature generator of the MAE model and the trained prediction head MLP. βThe semantic segmentation label for each point in the sparse point cloud is generated; then, the Transformer point cloud feature generator of the MAE model is used in conjunction with the trained prediction head MLP. γ The semantic segmentation label and redundant structure category label of each point in the sparse point cloud are generated; finally, the point marked as redundant structure is removed, and its adjacent vertices form a new mesh patch, thus completing the mesh clipping.
[0100] Therefore, the data-driven and deep learning-based method of this invention can effectively understand the structural and spatial features in grid data. Compared with traditional machine learning algorithms, it has a more robust and representative feature extraction process, resulting in more accurate semantic segmentation results. This invention is based on a self-supervised task and utilizes a large amount of unlabeled datasets to ensure that the feature distribution generated by the feature encoder is sufficiently complete and has stronger generalization ability. Furthermore, this invention uses a random noise addition process during training to generate redundant structure category labels in grid clipping. This allows it to not only output semantic segmentation results but also perform geometric clipping of redundant grid structures when transferred to practical applications. The noise addition process employs a CUDA parallel computing architecture to ensure the high efficiency of the entire computation process.
[0101] The foregoing has provided a detailed description of a feature-preserving grid processing method and system based on high-performance parallel computing provided by the embodiments of the present invention. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention.
Claims
1. A feature-preserving grid processing method based on high-performance parallel computing, characterized in that, The method includes: The Transformer point cloud feature generator and prediction head are used to train an MAE model that encodes point cloud features on an unlabeled point cloud dataset as input and a point cloud reconstruction task. ; Input a grid dataset with semantic segmentation labels, sample the grid surfaces in the dataset to generate a sparse point cloud, and then remove the trained prediction head. Freeze the parameters of the Transformer point cloud feature generator part of the MAE model and train the prediction head. ; Based on the grid dataset with semantic segmentation labels, noise is added to the grids in the dataset to represent redundant structures for the grid geometry clipping task. Then, a prediction head with the newly added redundant structure categories is trained. ; The user inputs a mesh to be processed. First, all its vertices are converted into a sparse point cloud. Then, the Transformer point cloud feature generator of the MAE model is used in conjunction with the trained prediction head. The semantic segmentation label for each point in the sparse point cloud is generated; then, the Transformer point cloud feature generator of the MAE model is used in conjunction with the trained prediction head. The semantic segmentation label and redundant structure category label of each point in the sparse point cloud are generated; finally, the point marked as redundant structure is removed and its adjacent vertices form a new mesh patch, thus completing the mesh trimming. Specifically, the input point cloud is an unlabeled dataset, and the MAE model encoding point cloud features is trained using a point cloud reconstruction task to generate a Transformer point cloud feature generator and a prediction head. Specifically: Seed points are set using the farthest point sampling algorithm. A fixed number of point cloud points within the neighborhood of the seed point are calculated as point cloud blocks. Each block is input into the PointNet++ point cloud encoding network to generate point cloud block encoding. , where i is the seed point index, which corresponds one-to-one with the point cloud block index; Mask off a portion of the point cloud block set proportionally. , The set of indexes for the masked point cloud blocks is used as the input for encoding visible blocks in the Transformer point cloud feature generator, where the unmasked portions are input. ; The decoding process uses a mask token, i.e. The process of filling in invisible blocks with placeholders and reconstructing the original point cloud involves a loss function. It can be expressed as the following formula: ; in Indicates the chamfer distance. Indicates the prediction head, This represents the original masked point cloud block. This indicates a tensor splicing operation.
2. The feature-preserving grid processing method based on high-performance parallel computing as described in claim 1, characterized in that, The input is a grid dataset with semantic segmentation labels. The grid surfaces in the dataset are sampled to generate a sparse point cloud. Then, the trained prediction head is removed. Freeze the parameters of the Transformer point cloud feature generator part of the MAE model and train the prediction head. Specifically: Input a grid dataset with semantic segmentation labels, sample it evenly on the grid surface to obtain a point cloud corresponding to the original grid, and the semantic segmentation label of the point cloud is the same as the label of the grid patch. Remove the prediction head after training The Transformer point cloud feature generator is used to generate point cloud patch features, and the Transformer parameters are set to not record gradients. Then, a new prediction head is used. Encoding features to predict point cloud semantic segmentation results; The semantic segmentation results and label values are used to optimize the cross-entropy loss. The parameters of the network module and the pointwise form of the loss function can be expressed as follows: ; in For semantic segmentation, the labeled values for category c are... This is the predicted value for 3D point semantic segmentation.
3. The feature-preserving grid processing method based on high-performance parallel computing as described in claim 1, characterized in that, The process involves adding noise to the grids in the dataset with semantic segmentation labels to represent redundant structures in the grid geometry trimming task, and then training a prediction head with the added redundant structure categories. Specifically: For the grid dataset with semantic segmentation labels, redundant structural labels are first generated manually through data augmentation. This process involves adding noise to selected vertices using a CUDA kernel function. Remove the prediction head after training The Transformer point cloud feature generator is used to generate point cloud patch features, and the Transformer parameters are set to not record gradients. Then, a new prediction head is used. Encoding features to predict point cloud semantic segmentation results; The semantic segmentation results and label values are used to optimize the cross-entropy loss. The parameters of the network module and the pointwise form of the loss function can be expressed as follows: ; in For semantic segmentation, the labeled values for category c are... This is the predicted value for 3D point semantic segmentation.
4. The feature-preserving grid processing method based on high-performance parallel computing as described in claim 3, characterized in that, The noise addition process of the CUDA kernel function on the selected vertex is as follows: For input data with batch size B, select N grid vertices as noise-adding vertices; Store mesh topology data, vertex position data, and triangle facet data in GPU shared memory for fast access; For each vertex, the kernel function calculates the discrete Gaussian curvature of the vertex based on the information in the shared memory. The calculation method can be expressed as follows: ; Where A is the area of the polygonal region formed by connecting the circumcenters and edges of k triangular faces sharing the same vertex. For this vertex in the face Angle; Calculate the curvature of each polygon facet, which is the average curvature of all vertices; For curvature greater than the threshold The face pieces, with variance as The Gaussian distribution adds an offset to its centroid coordinates as noise, which is less than a threshold. Then set the variance as Add noise; The newly generated point is adjacent to all vertices of the face, and this point is marked as a redundant structure.
5. The feature-preserving mesh processing method based on high-performance parallel computing as described in claim 1, characterized in that, The user-input mesh is first converted into a sparse point cloud, and then its vertices are combined with the trained prediction head using the Transformer point cloud feature generator of the MAE model. The semantic segmentation label for each point in the sparse point cloud is generated; then, the Transformer point cloud feature generator of the MAE model is used in conjunction with the trained prediction head. This process generates semantic segmentation labels for each point in the sparse point cloud and redundancy structure category labels. Finally, points marked as redundant structures are culled, and their adjacent vertices form new mesh patches, completing the mesh trimming. Specifically: Step 1: For the input mesh to be processed, convert all its vertices into sparse point cloud data; Step two, using the Transformer point cloud feature generator of the MAE model and the trained prediction head Generate semantic segmentation labels for each point in the sparse point cloud, that is, output the probability value of each point belonging to each category, and take the maximum probability as the predicted category; Step 3: Utilize the Transformer point cloud feature generator of the MAE model and the trained prediction head... Generate semantic segmentation labels and redundant structure category labels for each point in the sparse point cloud, that is, output the probability value of each point belonging to each category and the redundant structure category, and take the maximum probability as the predicted category. Step 4: For vertices whose prediction results are redundant structures, if their probability value is less than the largest category probability value in Step 2, then re-label the vertex as the prediction result of Step 2; otherwise, label it as a redundant structure. Step 5: Perform a culling operation on the points marked as redundant structures, delete the vertex and all edges corresponding to the vertex, and the adjacent vertices form a new mesh patch, thus completing the mesh trimming.
6. A feature-preserving grid processing system based on high-performance parallel computing, characterized in that, The system includes: Point cloud feature generator and prediction head The training unit is used to train the Transformer point cloud feature generator and prediction head of the MAE model that encodes point cloud features from an unlabeled point cloud dataset as input, and to reconstruct the point cloud features using a point cloud task. ; Predicting Head The training unit, which takes a grid dataset with semantic segmentation labels as input, samples the grid surfaces in the dataset to generate a sparse point cloud, and then removes the trained prediction head... Freeze the parameters of the Transformer point cloud feature generator part of the MAE model and train the prediction head. ; Predicting Head The training unit is used to add noise to the grids in the dataset with semantic segmentation labels to represent the redundant structures of the grid geometry clipping task, and then train the prediction head after adding the redundant structure categories. ; The mesh processing unit, used for user-input meshes, first converts all vertices into sparse point clouds, then utilizes the MAE model's Transformer point cloud feature generator and the trained prediction head. The semantic segmentation label for each point in the sparse point cloud is generated; then, the Transformer point cloud feature generator of the MAE model is used in conjunction with the trained prediction head. The semantic segmentation label and redundant structure category label of each point in the sparse point cloud are generated; finally, the point marked as redundant structure is removed and its adjacent vertices form a new mesh patch, thus completing the mesh trimming. Specifically, the point cloud feature generator and prediction head The training unit is specifically: Seed points are set using the farthest point sampling algorithm. A fixed number of point cloud points within the neighborhood of the seed point are calculated as point cloud blocks. Each block is input into the PointNet++ point cloud encoding network to generate point cloud block encoding. , where i is the seed point index, which corresponds one-to-one with the point cloud block index; Mask off a portion of the point cloud block set proportionally. , The set of indexes for the masked point cloud blocks is used as the input for encoding visible blocks in the Transformer point cloud feature generator, where the unmasked portions are input. ; The decoding process uses a mask token, i.e. The process of filling in invisible blocks with placeholders and reconstructing the original point cloud involves a loss function. It can be expressed as the following formula: ; in Indicates the chamfer distance. Indicates the prediction head, This represents the original masked point cloud block. This indicates a tensor splicing operation.