Mesh optimization device
The mesh optimization device addresses the challenge of large 3D modeling data by using a deep learning processor to reduce vertex count and complexity, enabling efficient 3D rendering on web environments.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- HYUNDAI MOTOR CO LTD
- Filing Date
- 2023-12-14
- Publication Date
- 2026-04-14
AI Technical Summary
The large size of 3D modeling data leads to increased device performance load and decreased operating speed, making it difficult to utilize 3D rendering effectively, particularly in web environments.
A mesh optimization device utilizing a deep learning processor that includes an input layer for preprocessing and encoding, a graph convolution layer for extracting vertex characteristics, a curvature weighting layer for calculating curvature information, a pooling layer for downsampling, and a decoding layer for reconstructing a low-resolution mesh, with an output layer generating a final mesh.
The device optimizes meshes in 3D modeling, reducing the number of vertices and complexity, enabling efficient 3D rendering even with common computer specifications, thus enhancing the ability to render a larger number of 3D models on a single screen.
Smart Images

Figure 2026511569000001_ABST
Abstract
Description
Technical Field
[0001] Cross-reference of related applications This application claims the benefit of priority based on Korean Patent Application No. 10-2023-0049217 filed on April 14, 2023 and Korean Patent Application No. 10-2023-0099478 filed on July 31, 2023, and all the contents disclosed in the documents of the Korean patent applications are included as part of this specification.
[0002] This disclosure relates to a mesh optimization device.
Background Art
[0003] Generally, 3D modeling data is very large in size. When a device uses 3D modeling data, the load added to the performance of the device is increased, and the operating speed may decrease. Due to the high volume of 3D modeling data like this, it is difficult to utilize 3D rendering in the device.
Summary of the Invention
Problems to be Solved by the Invention
[0004] This disclosure attempts to provide a mesh optimization device.
Means for Solving the Problems
[0005] The mesh optimization device may include an input layer that encodes the original mesh into a mesh graph, a graph convolution layer that extracts characteristics of each vertex from the mesh graph transformed by the input layer, considering the relationship between each vertex and its neighboring vertices, a curvature weighting layer that calculates curvature information of the transformed mesh based on the extracted characteristics and determines curvature weighting values based on the curvature information, a pooling layer that downsamples the transformed mesh based on the curvature weighting values corresponding to each vertex to generate a low-resolution mesh, a decoding layer that reconstructs the information of each vertex in the low-resolution mesh to restore a similar mesh similar to the original mesh, and an output layer that generates a final mesh corresponding to the original mesh based on the similar mesh.
[0006] The input layer can perform a first preprocessing step before encoding the original mesh, which converts the original mesh into a closed mesh if the original mesh is an open mesh, and a second preprocessing step that divides the original mesh into a front and back, and converts the original mesh so that the normal direction of the front of the original mesh, where the normal direction does not point outwards from the original mesh, points outwards from the original mesh.
[0007] The input layer can perform data augmentation and preprocessing on the mesh corresponding to the original mesh to generate training data related to the original mesh. The training data related to the original mesh is used for machine learning.
[0008] The input layer can remove unnecessary objects from the 3D model if they are located within the original mesh.
[0009] The input layer can encode mesh data representing the converted mesh and generate a graph containing characteristic information and curvature information for each of the multiple vertices constituting the converted mesh.
[0010] The input layer can classify areas with high curvature in the transformed mesh into character lines and reduce the number of vertices that make up areas with low curvature in the transformed mesh.
[0011] The curvature weighting layer can calculate the curvature for each of the multiple vertices constituting the transformed mesh, assign a high curvature weight to the vertices in important regions with high calculated curvature, and assign a low curvature weight to the vertices in non-important regions with low calculated curvature.
[0012] The decoding layer can learn to reconstruct the mesh in a direction that minimizes the loss calculated through a loss function that sums the loss value for the character line region, the loss value for the non-character line region, and the overall mesh loss value. The loss value for the character line region may correspond to the difference in character lines between the original mesh and the reconstructed mesh, the loss value for the non-character line region may correspond to the difference in non-character lines between the original mesh and the reconstructed mesh, and the overall mesh loss value may correspond to the difference in vertices between the original mesh and the reconstructed mesh.
[0013] The decoding layer can calculate a loss value for the character line region by multiplying the distance difference between the character lines of the restored mesh with respect to the character lines of the original mesh by a weight corresponding to the character line.
[0014] The decoding layer can calculate a loss value for the non-character line region by multiplying the distance difference between non-character lines of the restored mesh with respect to the non-character lines of the original mesh by a weight corresponding to the non-character line.
[0015] The decoding layer can calculate the overall mesh loss value by multiplying the difference between the number of vertices in the original mesh and the number of vertices in the restored mesh by a weight corresponding to the mesh loss.
[0016] The output layer can generate the final mesh by performing triangulation on each vertex and the surrounding vertex of each vertex of the similar mesh. [Effects of the Invention]
[0017] This disclosure provides a mesh optimization device capable of optimizing meshes in 3D modeling. [Brief explanation of the drawing]
[0018] [Figure 1] This figure shows a mesh optimization device according to one embodiment. [Figure 2] This figure shows the configuration of a deep learning processor according to one embodiment. [Figure 3] This figure illustrates a mesh optimization method performed by a deep learning processor according to one embodiment. [Figure 4] This diagram shows a labeling method. [Figure 5] This diagram shows a labeling method. [Figure 6] This figure shows the curvature distribution of the mesh to explain the mesh normalization method. [Figure 7] This is a diagram to explain the character line learning method. [Figure 8]It is a flowchart showing the learning operation and normal operation of a mesh optimization device.
Embodiments for Carrying out the Invention
[0019] The present disclosure relates to a 3D modeling method that can smoothly use 3D rendering in a Web environment. For this purpose, a lightweighting method and device for reducing the size of 3D modeling data are required. Examples of 3D modeling methods include mesh modeling and Non-Uniform Rational B-Splines (NURBS) modeling. Mesh modeling is a method of modeling an object in triangle units and is widely used in animation, video, and games. Mesh modeling can be applied to low polygon modeling or high polygon modeling. Low polygon modeling is a modeling method that creates a shape with the minimum number of triangles. Although the quality is inferior due to the use of the minimum number of polygons, the rendering speed is fast. High polygon modeling is a modeling method that creates a shape by utilizing a large number of triangles. Although the quality is high due to the use of a large number of polygons, the rendering speed is slow. Software for providing mesh modeling includes Maya, Blender, 3D max, etc. NURBS modeling is a modeling method that utilizes NURBS equations and has high data accuracy (length, distance, curvature, numerical values, etc.). It is mainly used in industrial modeling (automobiles, industrial products, parts) and is suitable for free-form curve modeling. When performing high-quality surface modeling with NURBS modeling, the rendering speed of 3D modeling may be slow. Mesh modeling may be a modeling method suitable for lightweighting 3D modeling, although it is relatively inferior in data accuracy (length, distance, numerical values, etc.) compared to NURBS modeling.
[0020] Rendering programs such as WebGL (Web Graphics Library) and game engines utilize mesh modeling to render light, environment, materials, etc. It is necessary to achieve 3D modeling that meets the desired level of rendering quality. In particular, industrial parts are mostly 3D modeled by nurbs modeling, and 3D models modeled by nurbs need to be changed to meshes. Even after changing the 3D model realized by nurbs modeling to a mesh, a lot of post-processing is required.
[0021] The more the number of vertices (points) of the mesh increases, the faster the rendering is possible only by raising the computer specifications. In order to render many 3D models with common computer specifications, it is more advantageous for rendering if the number of vertices of the 3D modeling is smaller. Multiple boxes and objects located in a logistics warehouse must be arranged on a 3D screen showing the logistics warehouse. The number of 3D models that can be represented on one screen is determined by the number of vertices of the 3D modeling. That is, the fewer the number of vertices of the 3D modeling, the more objects can be represented within the 3D screen. Therefore, the fewer the number of vertices of the 3D modeling, the larger logistics warehouse can be monitored on one screen.
[0022] In realizing a 3D screen on the web, the number of 3D models that can be rendered through WebGL is determined by the computer specifications. It is necessary to minimize the number of vertices in order to enable rendering of a large number of 3D models even with various computer specifications. That is, in order to 3D model a large number of objects that make up a logistics warehouse, it is necessary to reduce the number of 3D modeling vertices of each object.
[0023] 3D modeling has different conditions depending on the modeling program, the modeler, and the modeling purpose. To optimize 3D modeling considering these diverse conditions, optimization of the 3D model is required. Various methods for achieving 3D model optimization have the disadvantage of requiring long processing times for optimizing a large number of 3D objects. Reducing the time required for 3D model optimization would shorten the time required to develop methods and equipment for providing logistics centers on a 3D screen through 3D modeling.
[0024] Figure 1 shows a mesh optimization device according to one embodiment.
[0025] Figure 2 shows the configuration of a deep learning processor according to one embodiment.
[0026] Figure 3 shows a mesh optimization method performed by a deep learning processor according to one embodiment.
[0027] The mesh processed by the deep learning processor 10 shown in Figure 3 is a mesh for a 3D rabbit design and is an example to illustrate the embodiment.
[0028] The mesh optimization device 1 may include a deep learning processor 10, a control processor 20, and a database 30. The deep learning processor 10 is a device that implements a deep learning model, and the control processor 20 can either train the deep learning processor 10 with data stored in the database 30, or perform mesh optimization using the deep learning processor 10. The database 30 can store the training data necessary for mesh optimization training. It can also store other data necessary for the mesh optimization device 1.
[0029] The deep learning processor 10 may be a device that implements a neural network using a deep learning model that implements a deep learning method, in software and / or hardware. The deep learning processor 10 can be implemented using one or more of, or a combination of, a GPU (Graphics Processing Unit), an NPU (Neural Processing Unit), a TPU (Tensor Processing Unit), etc. The deep learning processor 10 may include memory such as DRAM to store the data necessary for its operation.
[0030] As shown in Figure 1, the deep learning processor 10 may include an input layer 11, a graph convolution layer 12, a curvature-weighted layer 13, a pooling layer 14, a decoding layer 15, and an output layer 16.
[0031] The input layer 11 can encode the mesh into a graph that deep learning can understand. For example, the input layer 11 can encode the mesh into a graph using the PyTorch Geometric library. The encoded graph can include matrices (point coordinates, curvature) that show the feature information of each of the multiple vertices that make up the mesh.
[0032] Input layer 11 can perform multiple preprocessing steps on the original mesh before encoding. If the input original mesh is an open mesh, input layer 11 can perform a first preprocessing step to convert the original mesh into a closed mesh. Input layer 11 can distinguish between the front and back of the original mesh and perform a second preprocessing step to convert the original mesh so that the normal direction points outwards from the original mesh where it does not point outwards from the original mesh. Hereinafter, the original mesh that has undergone the first preprocessing step, the original mesh that has undergone the second preprocessing step, the original mesh that has undergone both the first and second preprocessing steps, and the original mesh that does not require the first or second preprocessing steps will all be collectively referred to as 'mesh'.
[0033] Input layer 11 can position the mesh relative to a reference coordinate, for example, (0,0,0) in a 3D coordinate system, and standardize the direction and size of the mesh. Input layer 11 can remove unnecessary objects from the 3D model if they are present in the original mesh, such as parts or shapes.
[0034] The input layer 11 can perform data augmentation / splitting preprocessing on the mesh or original mesh. The mesh or original mesh is collectively referred to as the mesh corresponding to the original mesh. For example, the input layer 11 can achieve data augmentation through data deformation such as rotating the mesh corresponding to the original mesh, adjusting the size of the mesh corresponding to the original mesh, and twisting the shape of the mesh corresponding to the original mesh. The input layer 11 can also generate diverse meshes by splitting the mesh corresponding to the original mesh. Through data augmentation and splitting, training data related to the original mesh can be generated. The deep learning processor 10 can perform machine learning using the training data. This allows the deep learning processor 10 to improve the mesh recognition rate.
[0035] Input layer 11 can encode mesh data representing the mesh and generate a graph containing characteristic information and curvature information for each of the multiple vertices that make up the mesh. Input layer 11 can obtain curvature information for the mesh by utilizing the MeshLab and open3D libraries. Input layer 11 can extract the initial characteristics of each of the multiple vertices that make up the mesh from the mesh. The initial characteristics can include vertex coordinates, vertex vectors (face direction), etc. Input layer 11 can set the initial characteristics of each of the multiple vertices as characteristic information. Input layer 11 can provide the graph derived from the encoding result to graph convolution layer 12.
[0036] Additionally, input layer 11 can label the lines necessary to construct surfaces in 3D modeling as character lines.
[0037] Figures 4 and 5 show the labeling method.
[0038] Input layer 11 can label the mesh lines necessary for 3D modeling the 3D vehicle design shown in Figure 4 as character lines. For example, input layer 11 can label lines 31 and 32 as character lines in the 3D vehicle design. Polygons may be more concentrated in character lines 31 and 32 compared to other areas. Along with labeling, input layer 11 can display removable shapes 33 that are unnecessary for 3D modeling, along with faces 34 that are not associated with character lines. Faces 34 may have polygons that are relatively large in size and uniform in shape.
[0039] The input layer 11 can label the mesh lines necessary for 3D modeling the 3D part design shown in Figure 5 as character lines. For example, the input layer 11 can label line 41 as a character line in the 3D part design. Along with the labeling, the input layer 11 can display removable shapes 42 that are unnecessary for 3D modeling.
[0040] Through this type of labeling, the learning effect of the deep learning processor 10 can be enhanced, improving the accuracy of 3D modeling.
[0041] The input layer 11 can normalize the mesh based on the mesh curvature distribution.
[0042] Figure 6 shows the curvature distribution of the mesh to illustrate the mesh normalization method.
[0043] The input layer 11 can derive a curvature distribution using a mesh as shown in Figure 6. The colored bars 51 indicate the color corresponding to the curvature. In the colored bars 51, the direction from bottom to top indicates an increase in curvature. The more the curvature of a region in the mesh increases, the closer that region is to an edge, and the less the curvature of a region in the mesh decreases, the closer that region is to a plane.
[0044] The input layer 11 can classify areas with high mesh curvature into character lines. Specifically, the input layer 11 recognizes the curvature of mesh areas (e.g., 52) shown in red in Figure 6, and if the recognized curvature is greater than or equal to a predetermined threshold value, it can classify area 52 into a character line. This preserves the multiple vertices that make up area 52. The curvature of areas shown in yellow and green in Figure 5 may be areas with lower mesh curvature compared to area 52. The input layer 11 recognizes the curvature of areas that are not red, such as yellow and green, and if the recognized curvature is less than a predetermined threshold value, it can classify these areas into areas with low mesh curvature. For areas with low mesh curvature, the input layer 11 can apply the QEM (Quadric Error Metrics) algorithm to reduce the number of vertices that make up the area. The QEM algorithm is one of the mesh simplification methods, and the invention is not limited to it. In addition to the QEM algorithm, other algorithms that can maintain the original shape while reducing the number of vertices in the mesh can be applied.
[0045] The input layer 11 can encode multiple vertices that make up a normalized mesh to generate a graph, and provide the generated graph to the graph convolution layer 12. This graph will be referred to as the mesh graph below.
[0046] The graph convolution layer 12 can be implemented using multiple graph convolution layers to learn regional information about the mesh. The graph convolution layer 12 can learn various properties of the mesh using the mesh graph. For multiple vertices that make up the mesh graph, the graph convolution layer 12 can extract properties for each vertex by considering the relationship between each vertex and its surrounding adjacent vertices. For example, the graph convolution layer 12 can extract properties for each vertex by convolving each vertex and its surrounding adjacent vertices. By obtaining regional information about the mesh using the extracted properties, the graph convolution layer 12 can learn various patterns and structures on the mesh surface. Through learning, the graph convolution layer 12 will be able to recognize important regions such as character lines of the mesh. The graph convolution layer 12 can transmit the extracted properties to the curvature weighting layer 13.
[0047] Figure 7 is a diagram illustrating the character line learning method.
[0048] Figure 7 shows the mesh of a flattened sheet metal part. As shown in Figure 7, the graph convolution layer 12, in its learning operation, fills in the perforated areas located within the mesh 61 to form surfaces, and after deleting shapes below a certain size, it can form surfaces. For example, in its learning operation, the graph convolution layer 12 can convert perforated areas like region 62 into surfaces. After the above processing, the graph convolution layer 12 can recognize regions 63 with high curvature, classify region 63 as character edges, recognize regions 64 that represent the shape of the mesh 61, and classify region 62 as the outline line of the mesh 61. Character edges, outline lines, etc., are examples of character lines and must be maintained as design elements.
[0049] The graph convolution layer 12 can distinguish between character lines and non-character regions based on mesh curvature information during its learning process. The graph convolution layer 12 can be trained to recognize areas with high mesh curvature as character lines and areas with low mesh curvature as non-character regions. For example, the graph convolution layer 12 can recognize the areas shown in green in Figure 6 as non-character regions that are close to a plane, and the areas shown in red in Figure 6 as character lines.
[0050] The curvature weighting layer 13 can use curvature information to measure the importance of vertices. The curvature weighting layer 13 can calculate curvature information for each vertex of a mesh using the normal vectors of the surrounding triangles. Curvature is an indicator of how much the surface of the mesh is curved, and the curvature value will be larger in characteristic parts of the mesh, such as character lines. Based on the calculated curvature information, the curvature weighting layer 13 learns to assign high weights to vertices in high-importance regions (e.g., high curvature) and low weights to vertices in relatively low-importance regions (e.g., low curvature), and can operate as learned. Hereinafter, high-importance regions will be called important regions, low-importance regions will be called unimportant regions, and the weights based on the curvature information of each vertex will be called curvature weights. In this way, the curvature weighting layer 13 can assign curvature weights corresponding to the characteristics of each vertex to the curvature of each vertex, and preserve important regions, such as character lines, which are design elements. This ensures that important regions (e.g., character lines) are preferentially preserved in the mesh, while unnecessary vertices are removed. The curvature weighting information obtained by the curvature weighting layer 13 is transmitted to the pooling layer 14, enabling optimization that preserves vertices in important regions (hereinafter referred to as important vertices) to the maximum extent possible and removes vertices in non-important regions (hereinafter referred to as non-important vertices).
[0051] The pooling layer 14 can utilize curvature weighting to reduce the number of vertices while preserving important vertices. Based on the curvature weighting of the mesh, the pooling layer 14 can downsample the mesh while preserving important vertices and removing unimportant vertices. As the mesh is downsampled as a low-resolution mesh through the pooling layer 14, the number of vertices is reduced and the complexity of the mesh is decreased. Important vertices are preferentially preserved and unimportant vertices are removed during the downsampling process by the pooling layer 14, thus preserving important information of the mesh (such as character lines). This prevents overfitting. For clarity, below, the original mesh can refer to the mesh before downsampling based on the importance of vertices, and the low-resolution mesh can refer to the mesh after the original mesh has been downsampled through the pooling layer 14.
[0052] The decoding layer 15 can reconstruct vertex information from a low-resolution mesh to restore a mesh similar to the original mesh (hereinafter referred to as a similar mesh). The decoding layer 15 can repeatedly restore the low-resolution mesh to generate a mesh with progressively increasing resolution. The decoding layer 15 can learn to restore the vertex position information of the original mesh based on the vertex information from the low-resolution mesh. At this time, the decoding layer 15 can learn to restore character lines from the low-resolution mesh and restore the mesh by minimizing the number of mesh vertices.
[0053] During the learning process, the loss function of the decoding layer 15 can be determined in a direction that optimizes the number of vertices while minimizing the difference between the original mesh and the decoded mesh. During the learning process, the decoding layer 15 can learn to reconstruct the mesh in a direction that minimizes the loss calculated through a loss function that sums the loss value for character line regions, the loss value for non-character line regions, and the overall mesh loss value. For example, the decoding layer 15 can learn to further subdivide the faces that make up the mesh as the loss increases. The decoding layer 15 can calculate the loss value for character line regions by multiplying the distance difference between character lines in the mesh reconstructed by the decoding layer 15 and the character lines of the original mesh by a weight value corresponding to the character line. A larger distance difference indicates a larger shape difference between the original mesh and the mesh output by the decoding layer 15. When the distance difference is large, the decoding layer 15 can reconstruct the mesh in a direction that reduces the distance difference by further subdividing the faces containing character lines. The decoding layer 15 can calculate a loss value for the non-character line region by multiplying the distance difference between non-character lines of the original mesh and the non-character lines of the mesh reconstructed by the decoding layer 15 by a weight corresponding to the non-character lines. A larger distance difference indicates a greater difference in shape between the original mesh and the mesh output by the decoding layer 15. If the distance difference is large, the decoding layer 15 can further subdivide the faces containing the non-character lines to reconstruct the mesh in a way that reduces the distance difference. The decoding layer 15 can calculate the difference between the number of vertices in the original mesh and the number of vertices in the mesh reconstructed by the decoding layer 15, and calculate the overall mesh loss value by multiplying this difference by a weight corresponding to the mesh loss.
[0054] The weights corresponding to character lines, non-character lines, and mesh loss can be adjusted to strike a balance between the goal of maximizing the preservation of character lines and the goal of minimizing the number of vertices. The values of the three weights in the loss function can be updated during the learning process. The decoding layer 15 can learn in a direction that minimizes the loss function. After learning, the decoding layer 15 can decode low-resolution meshes to generate similar meshes.
[0055] Output layer 16 can generate a final mesh corresponding to the original mesh based on the vertices of a similar mesh reconstructed by decoding layer 15. For example, output layer 16 can generate the final mesh by applying the Delaunay Triangulation algorithm to the vertices of a similar mesh. Delaunay Triangulation is an algorithm that triangulates points, and output layer 16 can generate the final mesh by performing an operation on all the vertices of the similar mesh to generate the optimal triangle, taking into account the relationship between each vertex and its surrounding vertices. Output layer 16 can output the final mesh in a usable file format (OBJ, STL, FBX, Collada (DAE)). This allows the lightweight 3D model to be used in other programs (e.g., Unreal).
[0056] Figure 8 is a flowchart showing the learning operation and normal operation of the mesh optimization device.
[0057] As shown in Figure 8, the learning process can include the operation of the deep learning device 1 receiving training data as input, learning on the training data, and setting up a deep learning model. The training data can be updated. The deep learning model set up by the deep learning device 1 through learning is tested and evaluated, and the deep learning model is modified based on the test and evaluation results. Deep learning model modification can include adding labels to the training data, modifying labels, adjusting weights, and modifying the loss function. In this way, accuracy and optimization of mesh modeling can be achieved through iterative and diverse data learning.
[0058] The deep learning device 1 can update the deep learning model to reflect modifications to the deep learning model. The deep learning model, updated through this learning process, can process the input mesh data and output optimized mesh modeling data.
[0059] Although embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements by those skilled in the art using the basic concepts of the present invention as defined in the following claims also fall within the scope of the present invention.
Claims
1. An input layer that encodes the original mesh into a mesh graph; A graph convolution layer that extracts characteristics for each vertex from the mesh graph transformed by the input layer, taking into account the relationship between each vertex and its neighboring vertices; A curvature weighting layer that calculates curvature information of the transformed mesh based on the extracted characteristics and determines curvature weighting values based on the curvature information; A pooling layer that generates a low-resolution mesh by downsampling the transformed mesh using the curvature weighting value corresponding to each of the vertices; A decoding layer that reconstructs the information of each vertex in the low-resolution mesh to restore a similar mesh similar to the original mesh; and Includes an output layer that generates a final mesh corresponding to the original mesh based on the similar mesh, Mesh optimization device.
2. The aforementioned input layer is Before encoding the original mesh, if the original mesh is an open mesh, a first preprocessing step is performed to convert the original mesh so that it becomes a closed mesh; and a second preprocessing step is performed to separate the front and back of the original mesh, and convert the original mesh so that the normal direction of the front of the original mesh does not point outwards from the original mesh. The mesh optimization apparatus according to claim 1.
3. The aforementioned input layer is Data augmentation and preprocessing are performed on the mesh corresponding to the original mesh to generate training data related to the original mesh. The training data related to the aforementioned original mesh is used for machine learning. The mesh optimization apparatus according to claim 2.
4. The aforementioned input layer is If there are objects in the original mesh that are unnecessary for the 3D model, remove the unnecessary objects from the 3D model. The mesh optimization apparatus according to claim 1.
5. The aforementioned input layer is The mesh data representing the converted mesh is encoded to generate a graph containing characteristic information and curvature information for each of the multiple vertices constituting the converted mesh. The mesh optimization apparatus according to claim 1.
6. The aforementioned input layer is In the converted mesh, regions with high curvature are classified into character lines, and the number of vertices constituting regions with low curvature in the converted mesh is reduced. The mesh optimization apparatus according to claim 5.
7. The aforementioned curvature weighted value layer is The curvature is calculated for each of the multiple vertices constituting the transformed mesh, a high curvature weight is assigned to the vertices in the important regions with high calculated curvature, and a low curvature weight is assigned to the vertices in the non-important regions with low calculated curvature. The mesh optimization apparatus according to claim 1.
8. The decoding layer is, The mesh is reconstructed in a way that minimizes the loss calculated through a loss function that sums the loss value for the character line region, the loss value for the non-character line region, and the overall mesh loss value. The loss value for the character line region corresponds to the difference in character lines between the original mesh and the restored mesh. The loss value for the non-character line region corresponds to the difference in non-character lines between the original mesh and the restored mesh. The overall mesh loss value corresponds to the vertex difference between the original mesh and the restored mesh. The mesh optimization apparatus according to claim 1.
9. The decoding layer is, The loss value for the character line region is calculated by multiplying the distance difference between the character lines of the restored mesh with respect to the character lines of the original mesh by a weight value corresponding to the character line. The mesh optimization apparatus according to claim 8.
10. The decoding layer is, The loss value for the non-character line region is calculated by multiplying the distance difference between non-character lines in the restored mesh with respect to the non-character lines in the original mesh by a weight corresponding to the non-character line. The mesh optimization apparatus according to claim 8.
11. The decoding layer is, The overall mesh loss value is calculated by multiplying the difference between the number of vertices in the original mesh and the number of vertices in the restored mesh by a weighting value corresponding to the mesh loss. The mesh optimization apparatus according to claim 8.
12. The aforementioned output layer is The final mesh is generated by performing triangulation on each vertex of the aforementioned similar mesh and on the surrounding vertex of each vertex. The mesh optimization apparatus according to claim 1.