Network optimization device

The network optimization device addresses the challenge of large 3D modeling data by using a deep learning processor to reduce vertices, enhancing 3D rendering speed and quality in web environments.

DE112023006207T5Pending Publication Date: 2026-03-05HYUNDAI MOTOR CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
DE112023006207
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-07-31
Filing Date
2023-12-14
Publication Date
2026-03-05

AI Technical Summary

Technical Problem

The large volume of 3D modeling data leads to increased device performance load and decreased operating speed, making it difficult to use 3D rendering effectively, especially in web environments.

Method used

A network optimization device utilizing a deep learning processor with an input layer, graph convolution layer, curvature weighting layer, pooling layer, and decoding layer to encode, process, and reconstruct 3D modeling data, reducing the number of vertices while preserving important design elements.

Benefits of technology

The device optimizes 3D modeling by minimizing the number of vertices, enabling seamless 3D rendering on devices with varying specifications and improving rendering speed and quality, particularly in web environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A network optimization device may have an input layer that encodes an original network into a network graph, a graph convolution layer that extracts a property for each vertex by considering a relationship between that vertex and neighboring vertices in the network graph converted by the input layer, a curvature weighting layer that calculates curvature information of the converted network according to the extracted property and determines a curvature weight based on the curvature information, a pooling layer that downscales the converted network according to the curvature weight corresponding to each vertex to produce a low-resolution network, a decoding layer that reconstructs information for each vertex in the low-resolution network to restore a similar network to the original network, and an output layer.which generates a final network corresponding to the original network based on the similar network.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field] REFERENCE TO RELATED REGISTRATION

[0001] This application claims the priority and benefits of Korean patent application No. 10-2023-0049217, filed with the Korean Intellectual Property Office on April 14, 2023, and Korean patent application No. 10-2023-0099478, filed with the Korean Intellectual Property Office on July 31, 2023, the entire contents of which are hereby incorporated by reference.

[0002] The present disclosure relates to a network optimization device. [State of the art]

[0003] In general, 3D modeling data is very large. When a particular device uses 3D modeling data, the load on the device's performance increases, and the operating speed may decrease. Due to such a large volume of 3D modeling data, it is difficult to use 3D rendering in devices. [Revelation][Technical Problem]

[0004] The present disclosure aims to provide a network optimization device. [Technical solution]

[0005] A network optimization device may include: an input layer that encodes an original network into a network graph; a graph convolution layer that extracts a curvature property for each vertex by considering the relationship between each vertex and its neighboring vertices in the network graph converted by the input layer; a curvature weighting layer that computes curvature information of the converted network according to the extracted property and determines a curvature weight based on the curvature information; a pooling layer that downscales the converted network according to the curvature weight corresponding to each vertex to produce a low-resolution network; and a decoding layer that reconstructs information about the vertex in the low-resolution network to restore a similar network to the original network.and an output layer that generates a final network according to the original network based on the similar network.

[0006] The input layer can perform a first preprocessing before encoding the original network, in which the original network is converted into a closed network if the original network is an open network, and a second preprocessing in which a front and a back of the original network are distinguished and the original network is converted so that a normal direction at the front of the original network points outwards for a place where the normal direction from the original network does not point outwards.

[0007] The input layer can perform data enlargement and data splitting preprocessing on a network that corresponds to the original network to generate training data relating to the original network. This training data relating to the original network can then be used for machine learning.

[0008] The input layer can remove an object that is unnecessary for 3D modeling if the object that is unnecessary for 3D modeling is located within the original mesh.

[0009] The input layer can encode network data representing the converted network to generate a graph that has characteristic and curvature information for each of a plurality of vertices that make up the converted network.

[0010] The input layer can classify a region of high curvature in the converted mesh as a property line and can reduce the number of vertices that form a region of low curvature in the converted mesh.

[0011] The curvature weighting layer can calculate a curvature for each of the plurality of vertices that form the converted mesh, assign a large curvature weight to a vertex in an important area where the calculated curvature is large, and assign a low curvature weight to a vertex in an unimportant area where the calculated curvature is low.

[0012] The decoding layer can perform training to reconstruct the mesh in a direction that minimizes loss. This loss is calculated using a loss function that sums a loss value for a property line region, a loss value for a non-property line region, and a total mesh loss value. The property line region loss value can correspond to a property line deviation between the original mesh and the reconstructed mesh, the non-property line region loss value can correspond to a non-property line deviation between the original mesh and the reconstructed mesh, and the total mesh loss value can correspond to a vertex deviation between the original mesh and the reconstructed mesh.

[0013] The decoding layer can calculate the loss value for the property line area by multiplying a distance difference between a property line of the original network and a property line of the restored network by a weight corresponding to the property line.

[0014] The decoding layer can calculate the loss value for the non-property line area by multiplying a distance difference between a non-property line of the original mesh and a non-property line of the restored mesh by a weight corresponding to the non-property line.

[0015] The decoding layer can calculate the total value of the network loss by multiplying the difference between the number of vertices of the original network and the number of vertices of the restored network by a weight corresponding to the network loss.

[0016] The output layer can generate the final mesh by performing a triangulation for each vertex and adjacent vertices of the vertex, with respect to the vertices of the similar mesh. [Beneficial effects]

[0017] The present disclosure provides a mesh optimization device that can optimize a mesh in 3D modeling. [Description of the drawings] Fig. Figure 1 is a diagram showing a network optimization device according to some embodiments. Fig. Figure 2 is a diagram showing a configuration of a deep learning processor according to some embodiments. Fig. Figure 3 is a diagram showing a network optimization procedure performed by a deep learning processor according to some embodiments. Fig. 4 and Fig. 5 are diagrams that show a labeling procedure. Fig. Figure 6 is a diagram showing a curvature distribution of a mesh to describe a method for normalizing a mesh. Fig. Figure 7 is a diagram illustrating a procedure for learning property lines. Fig. Figure 8 is a flowchart showing a training operation and a normal operation of a network optimization device. [Mode of invention]

[0018] This disclosure relates to a 3D modeling method that enables the seamless use of 3D rendering in a web environment. This requires a method and device for weight reduction to decrease the size of 3D modeling data. Examples of 3D modeling methods include mesh modeling and modeling with non-uniform rational B-splines (NURBS). Mesh modeling is a method for modeling an object in triangular units and is commonly used in animations, videos, and games. Mesh modeling can be applied to low-polygon or high-polygon modeling. Low-polygon modeling is a modeling method in which a shape is created using a minimal number of triangles. Because the minimum number of polygons is used, the quality is low, but the rendering speed is high.High-polygon modeling is a method where a shape is created using a large number of triangles. Because it uses a large number of polygons, the quality is high, but the rendering speed is slow. Programs that offer mesh modeling include Maya, Blender, 3ds Max, and similar programs. NURBS modeling is a method that uses a NURBS equation and offers high data accuracy (length, distance, curvature, numerical values, etc.). It is mainly used in industrial modeling (automobiles, industrial products, parts) and may be suitable for freeform curve modeling. When performing high-quality surface modeling with NURBS, the 3D modeling speed can be slow. Although mesh modeling has relatively lower data accuracy (length, distance, numerical values, etc.) compared to NURBS modeling, it is still a viable option.) exhibits, it can be a method suitable for weight reduction of 3D models.

[0019] Rendering programs like Web Graphics Library (WebGL) and game engines render lighting, environments, materials, and similar elements using mesh modeling. It is necessary to implement 3D modeling that meets the desired level of rendering quality. Since most industrial parts, in particular, are 3D modeled using NURBS, a NURBS-modeled 3D model must be converted into a mesh. Even after converting a NURBS-implemented 3D model into a mesh, numerous post-processing operations are still required.

[0020] As the number of vertices in a network increases, a computer requires higher specifications to render quickly. For rendering many 3D models on a computer with typical specifications, the fewer vertices the 3D model has, the more advantageous the rendering process becomes. A large number of boxes and objects located in a logistics warehouse should be able to be arranged on a 3D screen representing the warehouse. The number of 3D models that can be displayed on a screen is determined by the number of vertices in the 3D model. That is, the more the number of vertices in the 3D model is minimized, the more objects can be displayed on the 3D screen. Therefore, the smaller the number of vertices in the 3D model, the larger the logistics warehouse that can be monitored on a single screen.

[0021] When implementing a 3D display on the web, the number of 3D models that can be rendered via WebGL is determined according to the computer's specifications. It is necessary to minimize the number of vertices to enable the rendering of multiple 3D models, even on computers with varying specifications. In other words, to model multiple objects, such as those found in a logistics warehouse, in 3D, the number of 3D modeling vertices for each object must be reduced.

[0022] 3D modeling is subject to varying conditions depending on the modeling program, modeling operator, and modeling purpose. To optimize 3D modeling under these various conditions, weight reduction is necessary. Various methods for reducing the weight of 3D models have the disadvantage that reducing the weight of multiple 3D objects is very time-consuming. If the time required for weight reduction can be reduced, the time needed to develop a process and device for providing a logistics center as a 3D display through 3D modeling can be shortened.

[0023] Fig. Figure 1 is a diagram showing a network optimization device according to some embodiments.

[0024] Fig. Figure 2 is a diagram showing a configuration of a deep learning processor according to some embodiments.

[0025] Fig. Figure 3 is a diagram showing a network optimization procedure performed by a deep learning processor according to some embodiments.

[0026] A deep learning processor 10 according to Fig. 3. The processed net is a net for a 3D rabbit design, which serves as an example to describe an embodiment.

[0027] A network optimization device 1 can comprise 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 train the deep learning processor 10 with data stored in the database 30 or perform the network optimization using the deep learning processor 10. The database 30 can store training data required for training the network optimization. It can also store data required by the network optimization device 1.

[0028] The deep learning processor 10 can be a device that implements a neural network according to a deep learning model, which implements a deep learning method in software and / or hardware. The deep learning processor 10 can be implemented by one or more graphics processing units (GPUs), neural processing units (NPUs), tensor processing units (TPUs), or a combination of two or more of these. The deep learning processor 10 can include memory, such as DRAM, for storing data required for its operation.

[0029] As in Fig. As shown in Figure 1, the deep learning processor 10 can have an input layer 11, a graph convolution layer 12, a curvature weighting layer 13, a pooling layer 14, a decoding layer 15 and an output layer 16.

[0030] Input layer 11 can encode a network into a graph that can be understood using deep learning. For example, input layer 11 can encode the network into a graph using the PyTorch Geometric library. The encoded graph can contain a matrix (point coordinates, curvature) representing characteristic information for each of a plurality of vertices that form the network.

[0031] Input layer 11 can perform multiple preprocessing operations on an original network before encoding. If the original input network is an open network, input layer 11 can perform a first preprocessing operation, converting the original network into a closed network. Input layer 11 can distinguish a front and back side of the original network and perform a second preprocessing operation, converting the original network so that, where the normal direction does not point outwards from the original network, a normal direction is created on the front side of the original network.In the following, the first preprocessed original network, the second preprocessed original network, the first and second preprocessed original network, and the original network that does not require first and second preprocessing are collectively referred to as the “network”.

[0032] Input layer 11 can standardize the direction and size of the mesh by positioning it based on reference coordinates, for example, (0,0,0) in a three-dimensional coordinate system. If an object unnecessary for 3D modeling, such as a specific part or shape, is located within the original mesh, input layer 11 can remove it.

[0033] The input layer 11 can perform data enlargement / data splitting preprocessing on the mesh or the original mesh. The mesh or the original mesh are collectively referred to as a mesh corresponding to the original mesh. For example, the input layer 11 can perform data enlargement through data transformation, such as rotating the mesh corresponding to the original mesh, adjusting the size of the mesh corresponding to the original mesh, and distorting the shape of the mesh corresponding to the original mesh. Furthermore, the input layer 11 can split the mesh corresponding to the original mesh to generate different meshes. Training data relating to the original mesh can be generated through data enlargement and splitting. The deep learning processor 10 can perform machine learning using this training data.This allows the Deep Learning Processor 10 to improve the network detection rate.

[0034] Input layer 11 can encode mesh data representing the mesh to generate a graph containing characteristic and curvature information for each of a plurality of vertices forming the mesh. Input layer 11 can capture curvature information for the mesh using MeshLab and Open3D libraries. Input layer 11 can extract an output property from each of the plurality of vertices forming the mesh. The output property can be vertex coordinates, a vertex vector (direction of a surface), and the like. Input layer 11 can specify the output property of each of the plurality of vertices as characteristic information. Input layer 11 can provide the graph derived as a result of the encoding to graph convolution layer 12.

[0035] Additionally, the input layer can designate 11 lines, which are required to form a surface in 3D modeling, as property lines.

[0036] Fig. 4 and Fig. 5 are diagrams that show a labeling procedure.

[0037] Input layer 11 can define the lines of the mesh used for 3D modeling of the in Fig. The four 3D vehicle designs shown are required and can be marked as property lines. For example, input layer 11 can mark line 31 and line 32 in the 3D vehicle design as property lines. Along with this marking, input layer 11 can also mark a removable shape 33, which is not required for the 3D modeling, and a surface 34, which is not associated with a property line. The polygons on surface 34 can be of a relatively large size and a uniform shape.

[0038] Input layer 11 can define the lines of the mesh used for 3D modeling of the in Fig. The 5 3D part designs shown are required and can be marked as property lines. For example, input layer 11 can mark line 41 in the 3D part design as a property line. Along with the marking, input layer 11 can also mark a removable shape 42 that is not required for 3D modeling.

[0039] Such labeling can improve the learning effect of the deep learning processor 10, thereby increasing the accuracy of the 3D modeling.

[0040] The input layer 11 can normalize the mesh according to the curvature distribution of the mesh.

[0041] Fig. Figure 6 is a diagram showing a curvature distribution of a net to explain a method for normalizing a net.

[0042] The input layer 11 can process a curvature distribution from a mesh such as in Fig. 6. Derive. A color bar 51 displays colors according to the curvature. In color bar 51, the bottom-to-top direction is one in which the curvature increases. If the curvature of a particular region of the mesh increases, that region is closer to an edge, and if the curvature of a particular region of the mesh decreases, that region is closer to a plane.

[0043] Input layer 11 can classify a region of the mesh with high curvature as a property line. In particular, input layer 11 can classify the curvature of a mesh region (e.g., 52) that is in Fig. 6, shown in red, can be recognized, and if the detected curvature is equal to or greater than a predetermined reference value, it can classify area 52 as a property line. Then, a plurality of vertices forming area 52 can be retained. Fig. 5. The curvature of the area shown in yellow and green rows can be an area where the mesh curvature is less than that of area 52. The input layer 11 can detect the curvature for a non-red area, such as yellow or green, and, if the detected curvature is less than a predetermined reference value, it can classify the corresponding area as having low mesh curvature. The input layer 11 can reduce the number of vertices forming the low mesh curvature area by applying a Quadric Error Metrics (QEM) algorithm. The QEM algorithm is one of the methods for mesh simplification, but the invention is not limited to it.

[0044] In addition to the QEM algorithm, other algorithms can be used that maintain the original shape while reducing the number of vertices of the net.

[0045] The input layer 11 can encode a plurality of vertices that form the normalized mesh to generate a graph and can provide the generated graph to the graph convolution layer 12. This graph is referred to hereafter as a mesh graph.

[0046] Graph Convolution Layer 12 can be implemented as a plurality of graph convolution layers to learn local information about the network. Graph Convolution Layer 12 can learn various properties about the network using the network graph. It can extract a property for each vertex by considering the relationship between each vertex and its surrounding neighboring vertices for a plurality of vertices that make up the network graph. For example, Graph Convolution Layer 12 can extract the property for each vertex by convolving each vertex and its surrounding neighboring vertices. Graph Convolution Layer 12 can learn various patterns and structures on a network surface by acquiring local information about the network according to the extracted property.The graph convolution layer 12 is trained to recognize an important region, such as a property line of the network. The graph convolution layer 12 can then transfer the extracted property to the curvature weighting layer 13.

[0047] Fig. Figure 7 is a diagram illustrating a procedure for learning property lines.

[0048] Fig. Figure 7 shows a mesh of a flattened sheet metal part. As in Fig. As shown in Figure 7, the graph convolution layer 12, during a training operation, can fill a perforated region within a mesh 61 to form a surface, and delete a shape of a certain size or smaller and then form a surface. For example, during a training operation, the graph convolution layer 12 can convert a perforated section, such as a region 62, into a surface. Following the process described above, the graph convolution layer 12 can detect a region 63 with high curvature, classify region 63 as a property edge, detect a region 64 representing the shape of mesh 61, and classify region 62 as the outline of mesh 61. Property edges, outlines, and the like are examples of property lines and must be retained as design elements.

[0049] During training, graph convolution layer 12 can distinguish between a property line and a non-property region based on mesh curvature information. Graph convolution layer 12 can learn to recognize a property line when the mesh curvature is high and a non-property region when the mesh curvature is low. For example, graph convolution layer 12 can distinguish the in Fig. 6. Recognize the area shown in green as a non-property area near a plane and the area shown in Fig. 6. Recognize the area shown in red as a property line.

[0050] Curvature Weighting Layer 13 can use curvature information to measure the importance of a vertex. Curvature Weighting Layer 13 can calculate the curvature information for each vertex of the mesh using the normal vectors of the surrounding triangles. Curvature is an indicator of how curved the surface of the mesh is, and the curvature value may appear large in a characteristic part of the mesh, such as a property line. Based on the calculated curvature information, Curvature Weighting Layer 13 can learn to assign a high weight to a vertex in an area of ​​high importance (e.g., high curvature) and a low weight to a vertex in an area of ​​relatively low importance (e.g., low curvature), and act accordingly.In the following, an area of ​​high importance is referred to as an important area, an area of ​​low importance as an unimportant area, and a weight based on the curvature information of each vertex is referred to as a curvature weight. In this way, the curvature weighting layer 13 can preserve an important area, which is a design element such as a property line, by assigning a curvature weight to the curvature of each vertex that corresponds to the property of that vertex. This allows the important area (e.g., the property line) to be preferentially preserved in the mesh, and unnecessary vertices can be removed.The curvature weighting information captured by the curvature weighting layer 13 is passed to the pooling layer 14 so that an optimization can be carried out in which a vertex of the important area (hereinafter referred to as "important vertex") is preserved as much as possible and a vertex of the unimportant area (hereinafter referred to as "unimportant vertex") is removed.

[0051] Pooling layer 14 can use curvature weighting to reduce the number of vertices while preserving one important vertex. Pooling layer 14 can downsample the mesh, retaining the important vertex and removing the unimportant one based on the mesh's curvature weighting. Because the mesh is downsampled to a lower resolution by pooling layer 14, the number of vertices can be reduced, thus decreasing the mesh's complexity. During the downsample process, pooling layer 14 preferentially retains an important vertex and removes an unimportant one, thereby preserving important information (a property line, etc.) of the mesh. This prevents overfitting.To clarify the explanation, the original network can be a network before downsampling according to the importance of the vertices, and the low-resolution network can be a network that was downsampled from the original network by pooling layer 14.

[0052] Decoding layer 15 can reconstruct a mesh similar to the original mesh (hereafter referred to as the similar mesh) by reconstructing the vertex information in the low-resolution mesh. Decoding layer 15 can repeatedly reconstruct the low-resolution mesh to produce a mesh with gradually increasing resolution. Decoding layer 15 can perform learning to reconstruct the vertex position information of the original mesh based on the vertex information in the low-resolution mesh. In this case, decoding layer 15 can learn to reconstruct a property line from the low-resolution mesh and reconstruct the mesh by minimizing the number of mesh vertices.

[0053] During the learning process, the loss function of decoding layer 15 can be determined in a direction that optimizes the number of vertices while minimizing the difference between the original and decoded meshes. During the learning process, decoding layer 15 can be trained to reconstruct the mesh in a direction that minimizes loss calculated by a loss function that sums a loss value for a property line region, a loss value for a non-property line region, and a total mesh loss value. For example, decoding layer 15 can be trained to further subdivide an area forming the mesh as the loss increases.Decoding layer 15 can calculate the loss value for the property line area by multiplying the distance difference between a property line in the original mesh and a property line in the mesh reconstructed by decoding layer 15 by a weight corresponding to the property line. A larger distance difference may indicate a greater difference in shape between the original mesh and the mesh output by decoding layer 15. If the distance difference is large, decoding layer 15 can reconstruct the mesh in one direction to reduce the distance difference by further subdividing the area containing the property line.Decoding layer 15 can calculate the loss value for the non-property line area by multiplying the distance difference between a non-property line in the original mesh and a non-property line in the mesh reconstructed by decoding layer 15 by a weight equal to that of the non-property line. A larger distance difference may indicate a greater shape difference between the original mesh and the mesh output by decoding layer 15. If the distance difference is large, decoding layer 15 can reconstruct the mesh in one direction to reduce the distance difference by further subdividing the area containing the non-property line.The decoding layer 15 can calculate the total network loss value by calculating a difference between the number of vertices of the original network and the number of vertices of the network recovered by the decoding layer 15, and multiplying the corresponding difference by a weight corresponding to a network loss.

[0054] The weights corresponding to the property line, the non-property line, and the network loss can be adjusted to balance the goal of preserving the property line as much as possible with the goal of minimizing the number of vertices. The three weight values ​​in the loss function can be updated during the learning process. Decoding layer 15 can perform learning in a direction that minimizes the loss function. After learning, decoding layer 15 can generate a similar network by decoding the low-resolution network.

[0055] Output layer 16 can generate a final mesh that matches the original mesh, based on the vertices of the similar mesh recovered by decoding layer 15. For example, output layer 16 can generate the final mesh by applying the Delaunay triangulation algorithm to the vertices of the similar mesh. Delaunay triangulation is an algorithm for triangulating points, and output layer 16 can generate the final mesh by performing an operation to create an optimal triangle, taking into account a relationship between each vertex and its surrounding vertices for all vertices of the similar mesh. Output layer 16 can output the final mesh in a usable file format (OBJ, STL, FBX, Collada (DAE)). The simplified 3D model can then be used in other programs (e.g., Unreal).

[0056] Fig. Figure 8 is a flowchart showing a training process and a normal operation of a network optimization device.

[0057] As in Fig.As shown in Figure 8, the training operation can include a process in which the deep learning device 1 receives training data and uses this data to train a deep learning model. The training data can be updated. The deep learning model established by the deep learning device 1 through training is tested and evaluated, and the model can be modified based on the test and evaluation results. Modifying the deep learning model can involve adding labels to the training data, modifying existing labels, adjusting weights, modifying the loss function, and similar actions. In this way, accuracy and optimization of the network modeling can be achieved through repeated and varied data training.

[0058] Deep learning device 1 can update the deep learning model by incorporating modifications to the model. The deep learning model updated through such training can process input network data and output optimized network modeling data.

[0059] Although the embodiments of the present invention have been described in detail above, the scope of the rights of the present invention is not limited thereto, and various modifications and improvements by the person skilled in the art, using the basic concept of the present invention as defined in the following claims, also fall within the scope of the rights of the present invention. QUOTES INCLUDED IN THE DESCRIPTION

[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature

[0000] KR 10-2023-0049217

[0001] KR 10-2023-0099478

[0001]

Claims

[1] A network optimization device comprising: an input layer that is set up to encode an original network into a network graph; a graph convolution layer that is set up to extract a property for each vertex by taking into account a relationship between each vertex and neighboring vertices of the vertex in the mesh graph converted by the input layer; a curvature weighting layer that is set up to calculate curvature information of the converted mesh according to the extracted properties and to determine a curvature weighting according to the curvature information; a pooling layer that is set up to downsample the converted mesh according to the curvature weighting corresponding to each vertex, in order to produce a low-resolution mesh; a decoding layer set up to reconstruct low-resolution information from each vertex in the network in order to restore a similar network to the original network; and an output layer that is set up to generate a final network based on the similar network, which is identical to the original network. [2] The network optimization device according to claim 1, wherein: the input layer is set up to, before encoding the original network, to perform a first preprocessing to convert the original net into a closed net if the original net is an open net, and a second preprocessing to distinguish a front and a back of the original net and to convert the original net so that a normal direction at the front of the original net points outwards for a place where the normal direction from the original net does not point outwards. [3] The network optimization device according to claim 2, wherein: the input layer is set up to perform data augmentation and data splitting preprocessing on a network that corresponds to the original network in order to generate training data relating to the original network, and The training data relating to the original network will be used for machine learning. [4] The network optimization device according to claim 1, wherein: The input layer is set up to remove an object unnecessary for 3D modeling if the object unnecessary for 3D modeling is located within the original mesh. [5] The network optimization device according to claim 1, wherein: The input layer is set up to encode network data representing the converted network in order to generate a graph that has characteristic information and curvature information for each of a plurality of vertices that form the converted network. [6] The network optimization device according to claim 5, wherein: The input layer is set up to classify a region of high curvature in the converted mesh as a property line and to reduce the number of vertices that form a region of low curvature in the converted mesh. [7] The network optimization device according to claim 1, wherein: The curvature weighting layer is set up to calculate a curvature for each of a plurality of vertices that form the converted mesh, assigning a large curvature weight to a vertex in an important region where the calculated curvature is large, and assigning a low curvature weight to a vertex in an unimportant region where the calculated curvature is low. [8] The network optimization device according to claim 1, wherein: the decoding layer is set up to perform training to restore a mesh in a direction that minimizes loss calculated by a loss function that sums a loss value for a property line area, a loss value for a non-property line area, and a total mesh loss value. The loss value for the property line area corresponds to a property line difference between the original network and the restored network. The loss value for the non-property line area corresponds to a non-property line difference between the original mesh and the restored mesh. The total loss value of the network corresponds to a corner point difference between the original network and the restored network. [9] The network optimization device according to claim 8, wherein: The decoding layer is set up to calculate the loss value for the property line area by multiplying a distance difference between a property line of the original network and a property line of the restored network by a weight corresponding to the property line. [10] The network optimization device according to claim 8, wherein: The decoding layer is set up to calculate the loss value for the non-property line area by multiplying a distance difference between a non-property line of the original mesh and a non-property line of the restored mesh by a weight corresponding to the non-property line. [11] The network optimization device according to claim 8, wherein: The decoding layer is set up to calculate the total network loss value by multiplying the difference between a number of vertices of the original network and a number of vertices of the restored network by a weight corresponding to the network loss. [12] The network optimization device according to claim 1, wherein: the output layer is set up to generate the final mesh by performing a triangulation for each vertex and adjacent vertices of the vertex with respect to vertices of the similar mesh.

Citation Information

Patent Citations

  • KOREANISCHENPATENTANMELDUNGNR.10-2023-0049217

  • KOREANISCHENPATENTANMELDUNGNR.10-2023-0099478