A mesh model construction method and related apparatus

By acquiring texture images to create point clouds and using graph convolutional networks to optimize vertex features, the problem of low efficiency in mesh model construction is solved, and automated construction and efficient generation of mesh models that closely resemble 3D structures are achieved.

CN122115702APending Publication Date: 2026-05-29SHENZHEN TENCENT COMP SYST CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SHENZHEN TENCENT COMP SYST CO LTD
Filing Date
2024-11-28
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

In existing technologies, the construction efficiency of mesh models is low and the labor and time costs are high, making it difficult to achieve automated construction.

Method used

By acquiring texture images, point clouds are created based on region complexity. Graph convolutional networks are used to iteratively optimize vertex features and adjust the connectivity between vertices until preset constraints are met, thus generating an optimized mesh model.

Benefits of technology

It achieves automated construction of mesh models, improves construction efficiency, reduces labor and time costs, and generates mesh models that are closer to the three-dimensional structure of texture images.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122115702A_ABST
    Figure CN122115702A_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a grid model construction method and related device, wherein the method comprises: obtaining a texture picture; creating a point cloud corresponding to each region based on the complexity of each region in the texture picture, and using the point cloud corresponding to each region to form an initial model point cloud; establishing a connection relationship between a plurality of vertices included in the initial model point cloud according to a predefined subdivision mechanism of a preset shape, generating an initial grid model; iteratively performing model optimization processing on the initial grid model through a graph convolution network until an optimized grid model satisfying a preset constraint condition is obtained, and taking the optimized grid model satisfying the preset constraint condition as a grid model modeling result. The method can automatically construct a grid model, improve the construction efficiency of the grid model, and reduce the time cost without consuming labor cost.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a mesh model construction method and related apparatus. Background Technology

[0002] A 3D model is a three-dimensional model constructed using 3D software, which can flexibly represent various real or fictional objects. A 3D model typically consists of a mesh model and texture images. The mesh model uses a series of polygons (such as triangles) to represent the three-dimensional structure of the model, while the texture image is a two-dimensional image representing the surface content of the 3D model.

[0003] In 3D modeling tasks, accurately constructing the mesh model is crucial, as the accuracy of the constructed mesh model directly affects whether the final 3D model can accurately represent the corresponding object. In related technologies, mesh models are typically constructed manually based on geometric samples (indicating the style and shape of the object represented by the 3D model). This method is inefficient in mesh model construction and requires significant manual and time costs. Summary of the Invention

[0004] This application provides a mesh model construction method and related apparatus that can automatically construct mesh models, improve the construction efficiency of mesh models, and reduce time costs without incurring manual labor costs.

[0005] The first aspect of this application provides a method for constructing a mesh model, the method comprising:

[0006] Get the texture image;

[0007] Based on the complexity of each region in the texture image, a point cloud corresponding to each region is created, and an initial model point cloud is formed by using the point clouds corresponding to each region.

[0008] According to a predefined partitioning mechanism of a preset shape, the connection relationship between multiple vertices of the initial model point cloud is established to generate an initial mesh model, which contains multiple meshes of the preset shape.

[0009] The initial mesh model is iteratively optimized using a graph convolutional network until an optimized mesh model that satisfies the preset constraints is obtained. The optimized mesh model that satisfies the preset constraints is then used as the mesh modeling result.

[0010] The model optimization process is used to determine the optimized vertex features of the current mesh model through the graph convolutional network, determine the measurement parameters corresponding to the optimized mesh model indicated by the optimized vertex features, and when it is determined that the optimized mesh model does not meet the preset constraints based on the measurement parameters, backpropagation is performed based on the measurement parameters to adjust the connection relationships between vertices in the current mesh model; when the model optimization process is executed for the first time, the current mesh model is the initial mesh model; the optimized vertex features are used to characterize the optimized attributes of each vertex in the current mesh model.

[0011] A second aspect of this application provides a mesh model construction apparatus, the apparatus comprising:

[0012] The texture acquisition module is used to acquire texture images;

[0013] The point cloud creation module is used to create point clouds corresponding to each region based on the complexity of each region in the texture image, and to use the point clouds corresponding to each region to form an initial model point cloud.

[0014] The model building module is used to establish the connection relationship between multiple vertices of the initial model point cloud according to a predefined partitioning mechanism of a preset shape, and generate an initial mesh model, wherein the initial mesh model contains multiple meshes of the preset shape;

[0015] The model optimization module is used to iteratively perform model optimization processing on the initial mesh model through a graph convolutional network until an optimized mesh model that meets the preset constraints is obtained, and the optimized mesh model that meets the preset constraints is used as the mesh model modeling result.

[0016] The model optimization process is used to determine the optimized vertex features of the current mesh model through the graph convolutional network, determine the measurement parameters corresponding to the optimized mesh model indicated by the optimized vertex features, and when it is determined that the optimized mesh model does not meet the preset constraints based on the measurement parameters, backpropagation is performed based on the measurement parameters to adjust the connection relationships between vertices in the current mesh model; when the model optimization process is executed for the first time, the current mesh model is the initial mesh model; the optimized vertex features are used to characterize the optimized attributes of each vertex in the current mesh model.

[0017] A third aspect of this application provides a computer device, the device comprising a processor and a memory:

[0018] The memory is used to store computer programs;

[0019] The processor is configured to perform the steps of the mesh model construction method as described in the first aspect above, according to the computer program.

[0020] A fourth aspect of this application provides a computer-readable storage medium for storing a computer program for performing the steps of the mesh model construction method described in the first aspect.

[0021] A fifth aspect of this application provides a computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the steps of the mesh model construction method described in the first aspect.

[0022] As can be seen from the above technical solutions, the embodiments of this application have the following advantages:

[0023] This application provides a mesh model construction method that can automatically construct a mesh model based on a texture image. The method includes: first, acquiring a texture image; creating point clouds corresponding to each region based on the complexity of each region in the texture image; and using these point clouds to form an initial model point cloud. Specifically, it involves analyzing the complexity of each region in the texture image, generating a point cloud matching the complexity of each region, and then combining the point clouds corresponding to each region to form the initial model point cloud corresponding to the overall texture image. After determining the initial model point cloud corresponding to the texture image, the vertices in the initial model point cloud can be connected according to a predefined partitioning mechanism of a preset shape to form an initial mesh model including multiple meshes of a preset shape. This initial mesh model can roughly reflect the overall three-dimensional structure of the texture image. Then, through a graph convolutional network, iterative model optimization processing is performed on the initial mesh model until an optimized mesh model that meets preset constraints is obtained. This optimized mesh model that meets the preset constraints is then used as the mesh model modeling result. The aforementioned model optimization process is used to determine the optimized vertex features of the current mesh model through a graph convolutional network. Specifically, based on the connectivity between vertices in the current mesh model, the graph convolutional network optimizes the features of each vertex to make the vertex attributes indicated by the optimized vertex features more accurate and closer to the 3D structure corresponding to the texture image. Furthermore, the measurement parameters corresponding to the optimized mesh model indicated by these optimized vertex features can be determined. These parameters reflect the performance of the optimized mesh model. When the optimized mesh model does not meet preset constraints based on the measurement parameters, backpropagation is performed based on the measurement parameters to adjust the connectivity between vertices in the current mesh model. Then, the next round of model optimization can be performed based on the adjusted connectivity and the aforementioned optimized vertex features. It should be understood that when the model optimization process is executed for the first time, the current mesh model is the initial mesh model. When the model optimization process is not executed for the first time, the current mesh model is the mesh model jointly indicated by the optimized vertex features obtained in the previous model optimization process and the optimized connectivity between vertices.

[0024] As can be seen, this application provides a mechanism for automatically constructing mesh models. It creates an initial model point cloud with several vertices based on a texture image; then connects the vertices in the initial model point cloud into a mesh of a preset shape, obtaining an initial mesh model with multiple meshes, used to roughly represent the 3D structure corresponding to the texture image; furthermore, utilizing the graph data attribute of the initial mesh model, a graph convolutional network is used to continuously optimize the vertex features and connections between vertices in the initial mesh model to improve the accuracy of the constructed mesh model, making it closer to the 3D structure corresponding to the texture image, and finally obtaining an optimized mesh model that meets preset constraints as the mesh modeling result. Compared to manually constructing mesh models, this method can significantly improve the efficiency of mesh model construction and reduce time costs without incurring manual labor costs. Attached Figure Description

[0025] Figure 1 This is a schematic diagram illustrating an application scenario of the mesh model construction method provided in the embodiments of this application;

[0026] Figure 2a A flowchart illustrating the mesh model construction method provided in this application embodiment;

[0027] Figure 2b A schematic diagram of the initial mesh model provided in an embodiment of this application;

[0028] Figure 3 This is a schematic diagram of the model optimization process provided in the embodiments of this application;

[0029] Figure 4 A schematic diagram illustrating the process of determining measurement parameters provided in an embodiment of this application;

[0030] Figure 5 This is a schematic diagram of the structure for performing model simplification processing on an initial mesh model, provided in an embodiment of this application.

[0031] Figure 6 This is a schematic diagram of the process for determining the initial mesh model provided in an embodiment of this application;

[0032] Figure 7 This is a schematic diagram of the structure of the mesh model construction method provided in the embodiments of this application;

[0033] Figure 8 This is a schematic diagram of the structure of the mesh model construction device provided in the embodiments of this application;

[0034] Figure 9 This is a schematic diagram of the structure of the terminal device provided in the embodiments of this application;

[0035] Figure 10 This is a schematic diagram of the server structure provided in an embodiment of this application. Detailed Implementation

[0036] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present application.

[0037] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0038] The mesh model construction method provided in this application can be executed by a computer device, which can be a terminal device or a server. The terminal device includes, but is not limited to, mobile phones, computers, smart voice interaction devices, smart home appliances, vehicle terminals, and aircraft. The server can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server.

[0039] It should be noted that the information, data and signals involved in the embodiments of this application are all authorized by the relevant parties or fully authorized by all parties, and the collection, use and processing of the relevant data comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0040] To facilitate understanding of the mesh model construction method provided in this application embodiment, the following example uses a server as the execution subject of the mesh model construction method to illustrate its application scenarios.

[0041] See Figure 1 , Figure 1 This is a schematic diagram illustrating an application scenario of the mesh model construction method provided in the embodiments of this application. For example... Figure 1As shown, this application scenario includes a terminal device 110 and a server 120. The terminal device 110 and the server 120 can communicate directly or indirectly through a wired network or a wireless network.

[0042] Terminal device 110 runs a target application (such as a game application, social application, debugging application, etc.) that supports rendering and displaying 3D models. When the target application running on terminal device 110 fails to render a certain 3D model, terminal device 110 can obtain the texture image corresponding to the 3D model. The texture image is an image that reflects the surface information of the 3D model in a 2D image. The texture image is then sent to server 120 so that server 120 can construct the corresponding mesh model based on the texture image.

[0043] After the server 120 obtains the texture image, it can create point clouds corresponding to each region based on the complexity of each region in the texture image. Figure 1 Taking a texture image comprising regions A, B, and C as an example, server 120 can create point clouds corresponding to regions A, B, and C respectively, based on the complexity of regions A, B, and C in the texture image; and then use the point clouds corresponding to each region to form an initial model point cloud. In other words, server 120 can analyze the complexity of each region in the texture image, generate a point cloud matching the complexity of each region, and then combine the point clouds corresponding to each region to form the initial model point cloud corresponding to the overall texture image.

[0044] Then, server 120 can connect the vertices in the initial model point cloud according to a predefined subdivision mechanism of preset shape to form an initial mesh model including multiple meshes of preset shape. This initial mesh model can roughly reflect the overall three-dimensional structure corresponding to the texture image.

[0045] Finally, the server 120 can iteratively perform model optimization processing on the initial mesh model through a graph convolutional network until an optimized mesh model that meets the preset constraints is obtained, and the optimized mesh model that meets the preset constraints is used as the mesh model modeling result. The aforementioned model optimization process is used to determine the optimized vertex features of the current mesh model through a graph convolutional network. Specifically, based on the connectivity between vertices in the current mesh model, the features of each vertex in the current mesh model are optimized using a graph convolutional network. This optimizes the vertex attributes indicated by the optimized vertex features to be more accurate and closer to the 3D structure corresponding to the texture image. Furthermore, the measurement parameters corresponding to the optimized mesh model indicated by these optimized vertex features can be determined. These parameters reflect the performance of the optimized mesh model. If the optimized mesh model does not meet the preset constraints based on the measurement parameters, backpropagation is performed based on the measurement parameters to adjust the connectivity between vertices in the current mesh model. Then, the next round of model optimization can be performed based on the adjusted connectivity and the aforementioned optimized vertex features. It should be understood that when the model optimization process is executed for the first time, the current mesh model is the initial mesh model. When the model optimization process is not executed for the first time, the current mesh model is the mesh model jointly indicated by the optimized vertex features obtained in the previous model optimization process and the optimized connectivity between vertices.

[0046] It should be understood that Figure 1 The application scenarios shown are merely examples. In practical applications, the mesh model construction method provided in this application embodiment can also be applied to other scenarios. For example, the mesh model construction method can be executed independently by a terminal device. No limitations are made here on the application scenarios of the mesh model construction method provided in this application embodiment.

[0047] The following describes in detail the mesh model construction method provided in this application through method embodiments.

[0048] Referring to Figure 2, which is a flowchart illustrating the mesh model construction method provided in this embodiment of the application, the mesh model construction method includes the following steps:

[0049] S201: Get texture image.

[0050] Texture images are images that represent the surface content of a three-dimensional model in two-dimensional form. For example, texture images can characterize information such as the texture, color, gloss, reflectivity, and transparency of a three-dimensional model's surface.

[0051] In one possible implementation, the texture image of the 3D model that failed to render can be obtained, and the corresponding mesh model can be reconstructed based on the texture image, thereby improving the rendering success rate of the 3D model. Rendering refers to the process of converting the shape, material, lighting, and other information of a 3D model into a 2D image. The aforementioned 3D model that failed to render can be a 3D model whose rendering time is too long during debugging (e.g., a 3D model whose rendering time exceeds a preset time threshold, which will affect the user experience in practical applications due to excessive rendering time), or a 3D model whose rendering effect differs from the expected effect (e.g., a 3D model with missing special effects or details).

[0052] As an example, during the rendering of a 3D model, the debug toolbox of the real-time rendering engine (Unreal Engine 4, UE4) can be used to extract and export the 3D model in real time. Simultaneously, 3D models exhibiting excessively long rendering times or abnormal rendering effects can be marked as rendering failures. Furthermore, the texture image corresponding to this marked rendering failure can be sent to the server, allowing the server to construct a corresponding mesh model based on the texture image. This mesh model can then be used to reconstruct the rendering failure of the 3D model.

[0053] In another possible implementation, the texture image corresponding to the 3D model to be constructed can be directly obtained. That is, when a new 3D model needs to be constructed, a texture image representing the surface content of the 3D model can be obtained, and then a mesh model representing the solid structure of the 3D model can be constructed based on this image. For example, the texture image corresponding to the 3D model to be constructed can be directly obtained from a database and sent to the server. The server then constructs the corresponding mesh model based on the obtained texture image, and the corresponding 3D model can be obtained by modeling based on the constructed mesh model.

[0054] It should be noted that the texture image is composed of multiple texture fragments, which are used to represent different regions in the 3D model. Taking the 3D model as a game character as an example, the multiple texture fragments may include: an image representing the head of the game character, an image representing the upper limbs of the game character, an image representing the lower limbs of the game character, an image representing the feet of the game character, and an image representing the clothing of the game character, etc. This application does not specifically limit each texture fragment.

[0055] S202: Based on the complexity of each region in the texture image, create point clouds corresponding to each region, and use the point clouds corresponding to each region to form the initial model point cloud.

[0056] Each region in a texture image refers to a texture fragment within the image. Different texture fragments represent the surface content of different areas on a 3D model. Correspondingly, the complexity of each region in a texture image refers to the individual complexity of each texture fragment. The higher the complexity of a region, the more complex its texture or geometry; conversely, the lower the complexity of a region, the simpler its texture or geometry.

[0057] As an example, the complexity of each region in a texture image can be calculated using Formula 1.

[0058]

[0059] Where, ρ I This represents the complexity of region I in the texture image. This represents the gradient of pixel values ​​in region I of the texture image along the horizontal x-axis. This represents the gradient of the pixel value in region I of the texture image along the vertical axis y.

[0060] In a texture image, the gradient of a pixel value in the x-direction represents the rate of change of the pixel value in that region in the horizontal direction. For example, this gradient can be calculated by performing a convolution operation on the region using a gradient operator to obtain the gradient value of each pixel in that region in the horizontal direction. Similarly, the gradient of a pixel value in the y-direction represents the rate of change of the pixel value in that region in the vertical direction. This gradient can also be calculated by performing a convolution operation on the region using a gradient operator to obtain the gradient value of each pixel in that region in the vertical direction.

[0061] Based on Formula 1 above, the complexity of each region in the texture image can be calculated. Then, based on the complexity of each region, the point cloud density corresponding to each region can be determined. Finally, based on the product of the point cloud density corresponding to each region and the area of ​​that region, the number of point clouds in each region can be determined.

[0062] As an example, a random sampling method can be used to randomly deploy a corresponding number of vertices in each region according to the number of point clouds in each region, thereby creating a point cloud for each region. Then, combining the point clouds for each region yields the initial model point cloud. Here, a point cloud is a collection of points with coordinate information in three-dimensional space, where each point represents a location on the texture image. The initial model point cloud refers to the set of vertices representing several locations in the texture image; that is, each vertex in the initial model point cloud has a corresponding position in the texture image. Based on this vertex, a mesh can be further created to indicate the three-dimensional structure corresponding to the content surrounding that position.

[0063] S203: According to the predefined subdivision mechanism of the preset shape, establish the connection relationship between multiple vertices of the initial model point cloud and generate the initial mesh model, which contains multiple meshes of preset shapes.

[0064] The predefined subdivision mechanism of the preset shape is used to subdivide the initial model point cloud into a mesh that conforms to the preset shape. The preset shape can be a triangle, a quadrilateral, or other polygons, etc. In this application embodiment, the preset shape is not specifically limited.

[0065] The predefined meshing mechanism of the preset shape divides the initial model point cloud into multiple meshes that conform to the preset shape by establishing connections between the vertices included in the initial model point cloud. For example, several vertices in the initial model point cloud can be randomly selected and connected. It is then determined whether the shape formed after connecting the vertices conforms to the preset shape. If it does, other vertices can be selected and connected, and the shape formed after connecting the vertices can be determined again, until all vertices in the initial model point cloud are connected. If it does not conform, the shape formed after connecting the vertices can be removed, and vertices can be reselected and connected to form a new shape. The determination of whether it conforms to the preset shape can then be repeated, until all vertices in the initial model point cloud are connected.

[0066] According to the predefined partitioning mechanism of the aforementioned preset shapes, connections can be established between the vertices included in the initial model point cloud, thereby forming multiple meshes with preset shapes. These multiple meshes with preset shapes constitute the initial mesh model. The initial mesh model refers to a mesh model composed of multiple meshes with preset shapes, which is used to roughly represent the three-dimensional structure of the 3D model corresponding to the texture image. For example, Figure 2b This is a schematic diagram of an initial mesh model provided in an embodiment of this application, which includes multiple triangular meshes.

[0067] S204: Through graph convolutional networks, iteratively perform model optimization processing on the initial mesh model until an optimized mesh model that meets the preset constraints is obtained, and use the optimized mesh model that meets the preset constraints as the mesh model modeling result.

[0068] Graph Convolutional Networks (GCNs) are based on the concept of convolutional neural networks and extend convolution operations to graph data. By performing convolution operations on graphs, they capture the complex relationships between nodes and the structural features of the graph. In other words, GCNs are used to handle irregular data structures, such as the initial mesh model described above. In this embodiment, a GCN used for graph generation tasks can be directly used.

[0069] Model optimization refers to the processing mechanism for optimizing mesh models. In model optimization, a graph convolutional network (GCNN) is first used to determine the optimized vertex features of the current mesh model. These optimized vertex features are the output results obtained after the GCNN performs a convolution operation on the data representing the current mesh model. Based on the connectivity between vertices in the current mesh model, the GCNN optimizes the attributes (such as position and normal vectors) of each vertex. These optimized vertex features reflect the optimized attributes (such as position and normal vectors) of each vertex in the current mesh model. Optimizing the attributes of the vertices in the current mesh model makes the current mesh model more accurate, ensuring that the 3D structure represented by the current mesh model more closely matches the 3D structure corresponding to the texture map.

[0070] The current mesh model is the mesh model that needs to be processed in the current model optimization process. When the model optimization process is executed for the first time, the current mesh model is the initial mesh model. When the model optimization process is not executed for the first time, the current mesh model is a mesh model jointly represented by the optimized vertex features and the optimized inter-vertex connectivity obtained in the previous model optimization process.

[0071] In model optimization, after determining the optimized vertex features of the current mesh model, the optimized mesh model can be jointly represented using the optimized vertex features and the connectivity relationships between vertices in the current mesh model. This optimized mesh model refers to the mesh model after replacing the vertex features in the current mesh model with the optimized vertex features; therefore, this optimized mesh model can also be called an optimized mesh model indicated by optimized vertex features.

[0072] Calculations based on the optimized mesh model with optimized vertex feature indicators can determine the corresponding performance parameters. These parameters are used to measure the performance of the optimized mesh model, specifically whether it meets preset constraints. These preset constraints indicate the conditions that the optimized mesh model, as the modeling result, must satisfy. For example, preset constraints may include smoothness constraints, shape preservation constraints, and normal consistency constraints. Smoothness constraints ensure that the surface of the optimized mesh model meets preset smoothness requirements; shape preservation constraints ensure that the shape of the mesh in the optimized mesh model does not change significantly during the model optimization process; and normal consistency constraints control the normal vectors of adjacent meshes in the optimized mesh model to be as consistent as possible, preventing creases or sharp corners from appearing on the surface of the optimized mesh model.

[0073] For example, preset parameter thresholds can be set to indicate the aforementioned preset constraints. For instance, constraint thresholds can be set for smoothness constraints, shape preservation constraints, and normal consistency constraints. Then, these three constraint thresholds are weighted and summed to obtain the preset parameter threshold used to indicate the preset constraint. Furthermore, when the measurement parameter corresponding to the optimized mesh model is less than the preset parameter threshold, the optimized mesh model is considered to satisfy the preset constraints, and this optimized mesh model can be used as the final mesh modeling result. When the measurement parameter corresponding to the optimized mesh model is not less than the preset parameter threshold, the optimized mesh model is considered not to satisfy the preset constraints, and model optimization processing needs to continue. The mesh modeling result is the final constructed mesh model, which is the modeling basis for constructing the 3D model corresponding to the texture image and is used to indicate the three-dimensional structure of the 3D model.

[0074] In model optimization, when the optimized mesh model fails to meet preset constraints based on the evaluation parameters, backpropagation can be performed using these parameters to adjust the connectivity between vertices in the current mesh model, further improving the mesh model's quality from the perspective of vertex connectivity. Backpropagation propagates the evaluation parameters from the output layer of the graph convolutional network back to the input layer, adjusting the connectivity between vertices in the current mesh model based on the propagated parameters. During backpropagation, the evaluation parameters are equivalent to the loss values. Therefore, the gradient of the evaluation parameters with respect to the connectivity between vertices in the current mesh model can be calculated, such as the gradient of the evaluation parameters with respect to the adjacency matrix representing the connectivity between vertices in the current mesh model. Then, using the gradient descent algorithm, this adjacency matrix is ​​updated, thereby updating the connectivity between vertices in the current mesh model.

[0075] It should be noted that the implementation of updating the adjacency matrix, which represents the connection relationship between vertices in the current mesh model, is similar to the implementation of updating model parameters through backpropagation during model training. The difference is that in this embodiment, the roles of the adjacency matrix and the model parameters are swapped during backpropagation, keeping the model parameters unchanged while adjusting the adjacency matrix.

[0076] By using graph convolutional networks, the above model optimization process can be iteratively executed on the initial mesh model until an optimized mesh model that meets the preset constraints is obtained. At this point, the optimized mesh model that meets the preset constraints is composed of the optimized vertex features obtained in this round of model optimization and the connection relationships between vertices in the current mesh model in this round of model optimization. Therefore, the optimized mesh model that meets the preset constraints can be used as the mesh model modeling result.

[0077] In one possible implementation, refer to Figure 3 , Figure 3 This is a schematic diagram of the model optimization process provided in the embodiments of this application. The model optimization process in S204 above may include S301 to S303:

[0078] S301: Input the current vertex features and the current adjacency matrix into the graph convolutional network to obtain the optimized vertex features output by the graph convolutional network; the current vertex features and the current adjacency matrix are used to jointly represent the current mesh model, and the current adjacency matrix is ​​used to indicate the connection relationship between vertices in the current mesh model.

[0079] The current vertex feature X refers to the individual features of each vertex in the current mesh model. For example, assuming that the current mesh model includes N (N is an integer greater than 1) vertices, the current vertex feature X can be an N*D (D is an integer greater than 1) dimensional feature vector, which includes the vertex features of each of the N vertices. The vertex features of each vertex can include the vertex's position features, normal vector features, other geometric features, and the image features corresponding to the vertex in the texture image, etc. In this regard, this application does not specifically limit the content included in the vertex features.

[0080] The current adjacency matrix A is used to indicate the connection relationship between vertices in the current mesh model. Specifically, it indicates the connection relationship between any two vertices in the current mesh model. For example, assuming that the current mesh model includes N (N is an integer greater than 1) vertices, the current adjacency matrix can be an N*N dimensional matrix. The element in the i-th row and j-th column is used to indicate whether there is a connection relationship between the i-th vertex and the j-th vertex in the current mesh model. If the element in the i-th row and j-th column is 0, it means that there is no connection relationship between the i-th vertex and the j-th vertex in the current mesh model. If the element in the i-th row and j-th column is 1, it means that there is a connection relationship between the i-th vertex and the j-th vertex in the current mesh model.

[0081] The current mesh model is jointly represented by the current vertex features and the current adjacency matrix. That is, the mesh structure and vertex features of the current mesh model can be characterized by the current vertex features and the current adjacency matrix.

[0082] By inputting the current vertex features and the current adjacency matrix into the graph convolutional network, forward propagation calculations can be performed through the graph convolutional network to obtain the optimized vertex features output by the graph convolutional network. The forward propagation calculation can be performed using Equation 2.

[0083] H (i+1) =σ(AH (i) W (i) )Formula 2

[0084] The graph convolutional network consists of n convolutional layers, and the above formula represents the processing of the i-th convolutional layer in the graph convolutional network. H (i)H is the vertex feature of the input i-th convolutional layer. (i+1) H represents the vertex features output by the i-th convolutional layer; when i equals 1, H (i) H represents the current vertex feature of the input graph convolutional network. When i is greater than 1 and less than or equal to n, (i) H represents the vertex features output by the (i-1)th convolutional layer; when i is greater than or equal to 1 and less than n, (i+1) H represents the vertex features of the (i+1)th convolutional layer. When i equals n, H (i+1) The graph convolutional network outputs optimized vertex features; A represents the current adjacency matrix, which remains unchanged during forward propagation; W... (i) Let σ represent the weight matrix of the i-th convolutional layer, and σ refer to the activation function in the graph convolutional network. For example, the activation function can be a non-linear activation function (Rectified Linear Unit, ReLU), etc. This application does not specifically limit the activation function in the graph convolutional network.

[0085] S302: Determine the optimized mesh model jointly represented by the optimized vertex features and the current adjacency matrix. Based on the attribute information of vertices and meshes in the optimized mesh model, determine the corresponding measurement parameters of the optimized mesh model.

[0086] After determining the optimized vertex features, these features can be combined with the current adjacency matrix in the current mesh model to determine the optimized mesh model jointly represented by the optimized vertex features and the current adjacency matrix. Then, based on the attribute information of the vertices and meshes in the optimized mesh model, i.e., the vertex-related attributes such as vertex positions, and the mesh-related attributes such as mesh area and mesh normals, the corresponding measurement parameters of the optimized mesh model can be calculated.

[0087] In one possible implementation, refer to Figure 4 , Figure 4 This is a flowchart illustrating the process of determining measurement parameters provided in an embodiment of this application. The step S302 above, "determining the measurement parameters corresponding to the optimized mesh model based on the attribute information of vertices and meshes in the optimized mesh model," can include steps S401 to S404:

[0088] S401: Determine the smoothness parameters of the optimized mesh model based on the positional relationships between vertices with connectivity in the optimized mesh model.

[0089] The smoothness parameter indicates the smoothness of an optimized mesh model. It measures whether the optimized mesh model satisfies the smoothness constraint. The smoothness constraint states that, under normal circumstances, most regions in the optimized mesh model are smooth. This constraint emphasizes that adjacent vertices in the optimized mesh model should be as close as possible to each other, thus making the mesh surface smoother.

[0090] Based on the positional relationships between vertices with connectivity in the optimized mesh model, the smoothness parameters of the optimized mesh model can be determined, as shown in Formula 3.

[0091]

[0092] Wherein, L in the above formula smooth The smoothness parameter, v, represents the optimization of the mesh model. i To optimize any vertex in the mesh model, V represents the set of all vertices in the optimized mesh model; v j Indicates with v i For any vertex with a connection relationship, N(i) represents the vertex in the optimized mesh model that is connected to v. i A set of vertices that are connected; |v i -v j | indicates v i and v j The distance between two vertices can be specifically determined by v. i and v j Each of them calculates its three-dimensional coordinates in the optimized mesh model.

[0093] S402: Determine the corresponding meshes in the optimized mesh model and the initial mesh model, and determine the shape preservation parameters of the optimized mesh model based on the area ratio of the corresponding meshes.

[0094] Shape preservation parameters indicate the shape preservation effect of the optimized mesh model. They are parameters used to measure whether the optimized mesh model meets the shape preservation constraints. Shape preservation constraints refer to adding specific constraints to limit the shape and size of the mesh in the optimized mesh model to maintain its expected effect. These constraints are used to ensure that the shape and size of the mesh in the optimized mesh model do not change significantly during the model optimization process.

[0095] After determining the optimized mesh model, the meshes that correspond to each other in the optimized mesh model and the initial mesh model can be identified. For example, the content corresponding to each mesh in the texture image in the optimized mesh model can be determined. Then, based on the degree of matching (such as similarity) of the corresponding content, the mesh corresponding to each mesh in the optimized mesh model can be determined in the initial mesh model.

[0096] Then, the shape preservation parameters of the optimized mesh model can be determined based on the area ratio of the corresponding meshes, as shown in Formula 4.

[0097]

[0098] Wherein, L in the above formula shape The shape preservation parameter of the optimized mesh model is represented by A(△), the area of ​​a mesh in the optimized mesh model is represented by A0(△), the area of ​​a mesh in the initial mesh model is represented by A0(△), and there is a correspondence between the meshes represented by A(△) and A0(△). T represents the set of meshes in the optimized mesh model.

[0099] S403: Determine the normal consistency parameter of the optimized mesh model based on the normal vectors of the meshes with adjacency relationships in the optimized mesh model.

[0100] The normal consistency parameter indicates the degree of normal consistency of the meshes in an optimized mesh model. It is a parameter used to measure whether the optimized mesh model satisfies the normal consistency constraint. The normal consistency constraint requires that the surface normal vectors of the meshes in the optimized mesh model remain consistent throughout the entire optimized mesh model. This constraint is used to ensure that the normal vectors of adjacent meshes are as consistent as possible, preventing the optimized mesh model from exhibiting creases or sharp corners.

[0101] The normal consistency parameter of the optimized mesh model can be determined based on the normal vectors of the adjacent meshes in the optimized mesh model, as shown in Formula 5.

[0102] L normal =∑ △∈T ∑ △′∈N(△) (1-n △ ·n △′ )Formula 5

[0103] Wherein, L in the above formula normal n represents the normal consistency parameter of the optimized mesh model. △ Let n represent the normal vector of any mesh in the optimized mesh model. △′ Indicates the relationship with n △ The indicated grid's normal vector is the normal vector of the grid adjacent to n. △ The set of adjacent grids of the indicated grid, where T represents the set of grids in the optimized grid model.

[0104] S404: The smoothness parameter, shape preservation parameter, and normal consistency parameter are weighted and summed to obtain the measurement parameters corresponding to the optimized mesh model.

[0105] Finally, referring to Formula 6, the smoothness parameter, shape preservation parameter, and normal consistency parameter can be weighted and summed to obtain the measurement parameters corresponding to the optimized mesh model.

[0106] L=λ smooth L smooth +λ shape L shape +λ normal L normal Formula 6

[0107] Wherein, λ in the above formula smooth λ represents the weighting coefficient corresponding to the smoothness parameter. shape λ represents the weighting coefficient corresponding to the shape preservation parameter. normal The weight coefficients corresponding to the normal consistency parameters are indicated. By adjusting the weight coefficients corresponding to the above parameters, the priority of different constraints can be controlled. In this regard, this application does not specifically limit the weight coefficients corresponding to the above parameters.

[0108] Therefore, by using the above method, the measurement parameters for the optimized mesh model can be calculated from dimensions such as smoothness constraints, shape preservation constraints, and normal consistency constraints. Thus, the mesh model can be optimized from these dimensions to improve the smoothness of the optimized mesh model, ensure that the shape of the mesh in the optimized mesh model does not change significantly, and ensure the normal consistency of the mesh in the optimized mesh model.

[0109] S303: If the measurement parameter belongs to the preset range, it is determined that the optimized mesh model meets the preset constraints; if the measurement parameter does not belong to the preset range, it is determined that the optimized mesh model does not meet the preset constraints. Backpropagation is performed based on the measurement parameter to adjust the current adjacency matrix; the adjusted current adjacency matrix and optimized vertex features are used to jointly represent the current mesh model in the next model optimization process.

[0110] The preset interval is a pre-defined threshold range used to indicate preset constraints. If the measurement parameter falls within the preset interval, the optimized mesh model is determined to meet the preset constraints; if the measurement parameter does not fall within the preset interval, the optimized mesh model is determined not to meet the preset constraints. In this case, backpropagation can be performed based on the measurement parameter to adjust the current adjacency matrix in the optimized mesh model. That is, the gradient of the measurement parameter with respect to the adjacency matrix can be calculated by combining the weight parameters in the graph convolutional network, and the current adjacency matrix can be updated using the gradient descent algorithm. It should be understood that the implementation of updating the current adjacency matrix here is similar to the implementation of updating model parameters through backpropagation in model training. The difference is that in this embodiment, the roles of the current adjacency matrix and the model parameters are exchanged during backpropagation, keeping the model parameters unchanged while adjusting the current adjacency matrix.

[0111] Then, the adjusted current adjacency matrix and optimized vertex features can be used to form the processing objects for the next round of model optimization. That is, the adjusted current adjacency matrix and optimized vertex features are used to jointly represent the current mesh model in the next round of model optimization.

[0112] Therefore, as shown above, a graph convolutional network can be used to optimize the features of each vertex in the current mesh model based on the current adjacency matrix. This makes the vertex attributes indicated by the optimized vertex features more accurate and closer to the 3D structure corresponding to the texture image. Then, the optimized mesh model can be jointly represented based on the optimized vertex features and the current adjacency matrix to determine the corresponding measurement parameters. Furthermore, based on the measurement parameters and the corresponding preset intervals, it can be determined whether the current optimized mesh model meets the preset constraints, i.e., whether it can be used as the final mesh modeling result. If not, backpropagation can be performed based on the measurement parameters to adjust the current adjacency matrix so that the final optimized mesh model meets the preset constraints. Thus, these steps improve the detail of the optimized mesh model and ensure that the final optimized mesh model meets the preset constraints, thereby improving the quality of the optimized mesh model.

[0113] The mesh model construction method provided in this application offers an automated mechanism for constructing mesh models. It creates an initial model point cloud with several vertices based on a texture image; then connects the vertices in the initial model point cloud into a mesh of a preset shape, resulting in an initial mesh model comprising multiple meshes, used to roughly represent the 3D structure corresponding to the texture image. Furthermore, leveraging the graph data attribute of the initial mesh model, a graph convolutional network is used to continuously optimize the vertex features and connections between vertices in the initial mesh model, thereby improving the accuracy of the constructed mesh model and making it closer to the 3D structure corresponding to the texture image. Finally, an optimized mesh model satisfying preset constraints is obtained as the mesh modeling result. Compared to manually constructing mesh models, this method can significantly improve the efficiency of mesh model construction and reduce time costs without incurring manual labor.

[0114] In one possible implementation, when the current mesh model is an initial mesh model, the current vertex features are determined based on the attribute information and texture image features of each vertex in the initial mesh model. The attribute information of each vertex in the initial mesh model may include the position information of each vertex, the depth density of each vertex, and other geometric features of each vertex, such as normal vectors. The aforementioned texture image features can be obtained in the following ways:

[0115] Multiple convolutional blocks in a convolutional neural network are used to extract features from the texture image, resulting in multiple reference image features. These convolutional blocks are used for feature extraction based on convolutional kernels of different sizes. The gradient corresponding to each reference image feature is determined, and the importance weight corresponding to each reference image feature is determined based on the corresponding gradient. The reference image features are then weighted and fused according to their respective importance weights to obtain the texture image features.

[0116] Texture image features are used to characterize key geometric and texture information in texture images, and are used to guide the generation and optimization of initial mesh models.

[0117] A Convolutional Neural Network (CNN) is a deep learning model used to process image data. It consists of convolutional layers, pooling layers, and fully connected layers. Convolutional layers are used to extract local features from textured images step by step through convolutional kernels; pooling layers are used to reduce the size of the feature map corresponding to the texture image, thereby reducing the amount of computation and parameters; and fully connected layers are used to flatten the feature map into a one-dimensional vector and further extract global features from the feature map.

[0118] It should be noted that the convolutional neural network provided in this application includes multiple parallel convolutional blocks. Each convolutional block may include convolutional layers and pooling layers. These multiple convolutional blocks are used for feature extraction based on convolutional kernels of different sizes. That is, features can be extracted from the texture image using multiple convolutional blocks to extract reference image features with different feature extraction dimensions. For example, convolutional blocks with larger kernels are used to extract low-level features from the texture image, such as edges and corners, while convolutional blocks with smaller kernels are used to extract high-level features from the texture image, such as shape and texture patterns. The reference image features refer to the output results obtained by feature extraction from the texture image using convolutional blocks, which are used to characterize local features in the texture image.

[0119] In this application, different reference image features can be generated through multiple convolutional blocks. Taking a single convolutional block as an example, the feature extraction process for the reference image features may include:

[0120] The input layer of a convolutional neural network receives a texture image with dimensions H*W*C, where H represents the height, W represents the width, and C represents the number of channels. Then, the input texture image is convolved using kernels (filters) in the convolutional layers, thus extracting features and obtaining the corresponding feature map, as shown in Equation 7.

[0121]

[0122] In the above formula, X represents the input texture image, K represents the convolution kernel, F(i,j) represents the feature map obtained after convolution, M represents the height of the convolution kernel, and N represents the width of the convolution kernel.

[0123] Afterwards, activation functions can be applied to enhance the expressive power of the feature maps after the convolutional layers output feature maps. For example, the non-linear activation function ReLU can be applied, as shown in Equation 8.

[0124] ReLU(x) = max(0,x) (Formula 8)

[0125] In the above formula, x represents the feature map.

[0126] Then, the size of the feature map can be reduced by pooling layers. For example, the size of the feature map can be reduced by max pooling or average pooling. Taking max pooling as an example, refer to Formula 9.

[0127]

[0128] In the above formula, P(i,j) represents the element value of the i-th row and j-th column in the feature map, i.e., i and j represent the coordinates in the feature map, and m and n represent the offsets within the local window around these coordinates.

[0129] Finally, the feature map output by the pooling layer can be used as a feature map for the reference image.

[0130] The convolutional neural network provided in this application embodiment, based on the above feature extraction process, can extract features from texture images separately, obtaining multiple different reference image features. Through this multi-layered feature extraction process, information in the texture image can be captured more comprehensively, thus providing rich data support for the subsequent generation of corresponding texture image features.

[0131] After feature extraction, the extracted reference image features can be fused. After identifying multiple distinct reference image features, a fully connected layer can be used to flatten each feature into a one-dimensional vector, and then global features can be extracted to obtain the one-dimensional vector Z corresponding to each reference image feature. For each reference image feature, a one-dimensional vector z is generated. i It is possible to calculate its gradient with respect to the objective function (i.e., the loss function L). For example, the difference between two adjacent elements in the one-dimensional vector corresponding to the reference image feature can be calculated until the difference between all elements in the one-dimensional vector corresponding to the reference image feature is calculated. Then, the calculated difference values ​​can be averaged, and the averaged result can be used as the gradient of the one-dimensional vector corresponding to the reference image feature with respect to the objective function. Following the above method, the gradient of the one-dimensional vector corresponding to each reference image feature with respect to the objective function can be determined.

[0132] It should be understood that the larger the absolute value of the gradient, the greater the influence of the reference image feature on the objective function, and the greater the importance of the reference image feature; conversely, the smaller the absolute value of the gradient, the smaller the influence of the reference image feature on the objective function, and the less important the reference image feature.

[0133] Therefore, the importance weight of each reference image feature can be determined based on the gradient of the one-dimensional vector corresponding to each reference image feature with respect to the objective function. That is, the larger the absolute value of the gradient of the one-dimensional vector corresponding to the reference image feature with respect to the objective function, the greater the importance weight of that reference image feature. For example, the correspondence between the absolute value of the gradient and the importance weight can be preset. Then, the importance weight of the reference image feature can be determined based on the correspondence and the calculated gradient. The sum of the importance weights corresponding to all reference image features is 1. This application does not specifically limit the value of the importance weight corresponding to each reference image feature.

[0134] After determining the importance weight of each reference image feature, the reference image features can be weighted and fused according to their respective importance weights, as shown in Formula 10.

[0135]

[0136] Wherein, Z in the above formula fused α represents the feature vector after feature fusion, i.e., the texture image features. i Z represents the importance weight of each feature in the reference image. i Let represent the i-th reference image feature, and k be the number of reference image features output by the convolutional neural network after passing through multiple convolutional blocks.

[0137] Therefore, using the aforementioned feature extraction method, convolutional neural networks can automatically learn and extract features containing more geometric and textural information from texture images at multiple levels. Correspondingly, optimizing the mesh model based on these texture image features helps the mesh model more quickly conform to the 3D structure indicated by the texture image. Furthermore, by learning the gradients of different reference image features with respect to the objective function, the importance of different reference image features is determined. Then, according to the importance weights of each different reference image feature, the various reference image features are weighted and fused to determine the texture image features that fuse multiple reference image features. This allows the initial mesh model generated based on the texture image features to better reflect the important information in the texture image, enhancing the generation effect and adaptability of the initial mesh model while reducing the interference of redundant features.

[0138] In one possible implementation, the texture image can be preprocessed before feature extraction to improve its usability and feature extraction effect, and reduce the impact of interference information on feature extraction. The method provided in this application embodiment may further include:

[0139] The texture image is preprocessed to obtain a normalized texture image; the preprocessing includes at least one of the following: image normalization, noise reduction, and edge enhancement.

[0140] Correspondingly, the aforementioned "extracting features from a texture image by using multiple parallel convolutional blocks in a convolutional neural network to obtain features from multiple reference images" can include:

[0141] By using multiple convolutional blocks, features are extracted from the standardized texture image to obtain features from multiple reference images.

[0142] Specifically, texture images can be preprocessed to obtain standardized texture images. This preprocessing includes at least one of the following methods: image normalization, noise reduction, and edge enhancement. Standardized texture images refer to the preprocessed result of a texture image, and are used to represent higher-quality texture images.

[0143] Image normalization is used to map pixel values ​​in a texture image to a uniform range. For example, pixel values ​​can be scaled to the range of [0, 1] or [-1, 1], as shown in Formula 11. Image normalization can improve the accuracy of feature extraction and the convergence speed of convolutional neural networks.

[0144]

[0145] In the above formula, I(x, y) represents the pixel value of the texture image at position (x, y), min(I) represents the minimum pixel value in the texture image, and max(I) represents the maximum pixel value in the texture image. norm (x, y) represents the normalized pixel value at position (x, y). The normalized texture image helps to better capture important information in the texture image during the feature extraction stage.

[0146] Noise is inevitably introduced during the acquisition of texture images. Therefore, denoising processing can be performed on texture images to remove noise and improve their quality. For example, denoising can be achieved through methods such as Gaussian filtering and bilateral filtering. Taking Gaussian filtering as an example, refer to Formula 12.

[0147]

[0148] Wherein, I in the above formula filtered (x, y) represents the pixel value at position (x, y) of the filtered texture image, k represents the filter kernel, which is the smallest processing unit of Gaussian filtering, and G(i, j) represents the Gaussian kernel function.

[0149] The Gaussian kernel function in the Gaussian filtering process can be found in Formula 13.

[0150]

[0151] In the above formula, i and j represent the row index and column index in the filter kernel, respectively, and 2πσ 2 σ represents the normalization factor of the Gaussian kernel function, and σ represents the standard deviation of the Gaussian kernel, which determines the smoothness of the Gaussian filter. By choosing an appropriate standard deviation value, high-frequency noise in textured images can be effectively removed while preserving important details such as edges.

[0152] Edge enhancement processing refers to methods that highlight or emphasize the brightness or hue of edge regions in a textured image. Here, the edge region can be understood as the boundary between multiple texture fragments in the textured image. Edge enhancement processing methods can achieve the highlighting and sharpening of textured image edges through differential operations; for example, gradient operators can be used to calculate the gradient value of each pixel in the textured image. The magnitude of the gradient value represents the rate of change of brightness value at that pixel, and the gradient direction indicates the direction of the fastest change in brightness value. In other words, by calculating the gradient value of each pixel in the textured image, the edge regions in the textured image can be determined, i.e., edge detection can be achieved, and then the brightness or hue of the detected edge regions can be highlighted.

[0153] By preprocessing the texture image using at least one of the following methods—image normalization, denoising, and edge enhancement—a standardized texture image can be obtained. Then, multiple parallel convolutional blocks in a convolutional neural network can be used to extract features from the standardized texture image, resulting in multiple reference image features. The feature extraction process is similar to the one described above and will not be elaborated further here.

[0154] Therefore, as can be seen from the above methods, the texture image can be preprocessed before feature extraction. Preprocessing methods can improve the texture image from different perspectives, reduce the influence of interference information, and improve the quality of the texture image, providing a good foundation for subsequent feature extraction based on the texture image. Furthermore, feature extraction based on the preprocessed texture image helps to improve the speed and effectiveness of feature extraction.

[0155] In one possible implementation, when the current mesh model is the initial mesh model, the current vertex features can be determined based on the vertex attribute information in the initial mesh model and the texture image features extracted by the convolutional neural network as described above:

[0156] For each vertex in the initial mesh model, based on the vertex's position in the texture image, determine the image feature element corresponding to the vertex in the texture image features; and concatenate the vertex's attribute information data with the image feature element corresponding to the vertex to obtain the vertex feature element corresponding to the vertex.

[0157] The current vertex features are formed by using the vertex feature elements corresponding to each vertex in the initial mesh model.

[0158] In texture image features, the image feature elements corresponding to vertices are used to represent the pixel-level features of that vertex in the texture image features. The vertices in the initial mesh model are determined based on the texture image. For example, vertices are deployed based on the region complexity of the texture image, thereby determining the horizontal and vertical coordinates of the vertices. Then, the vertical coordinates of the vertex are determined, resulting in the vertex coordinates (including the horizontal, vertical, and angular coordinates) in the initial mesh model. Based on this, the coordinate positions of the vertices in the initial mesh model corresponding to the texture image can be determined in reverse. Furthermore, based on the positions of the vertices in the texture image, the image feature elements corresponding to the vertices in the texture image features can be determined.

[0159] During feature extraction, features are extracted based on the regions of pixels in the texture image. Each region of a specific size in the texture image corresponds to one image feature element. Therefore, based on the position of a vertex in the texture image, the region to which the vertex belongs can be determined. Furthermore, the image feature element corresponding to that region can be identified as the image feature element corresponding to that vertex in the texture image.

[0160] Vertex attribute information data is used to indicate relevant information about the vertex, such as the vertex's coordinate position, vertex's normal vector, and other geometric features of the vertex, such as the depth density of the vertex in the point cloud space. This depth density is used to reflect the internal structural features of the object represented by the vertex, as shown in Formula 14.

[0161] m=f(x,y)=α·I(x,y)+βFormula 14

[0162] Where m represents the depth density of a vertex in the point cloud space, I(x, y) represents the pixel value at coordinates (x, y) in the texture image, and the vertex's position in the texture image is (x, y). α is a parameter used to adjust the depth, specifically controlling the magnitude of depth changes, and β is another parameter used to adjust the depth, specifically controlling the overall depth offset. Using the above formula, the brightness or color information in the texture image can be used to infer the corresponding 3D structure. For example, if the texture image represents a mountain range, the brighter parts of the texture image may represent the top of the mountain, where the corresponding vertices have a higher depth density, while the darker parts of the texture image represent the lower parts of the mountain range, where the corresponding vertices have a lower depth density.

[0163] The attribute information of the aforementioned vertices can be directly determined based on the initial mesh model. Therefore, after determining the attribute information of the vertices, the attribute information of the vertices can be concatenated with the corresponding image feature elements of the vertices according to channels to obtain the corresponding vertex feature elements. The corresponding vertex feature elements are used to characterize the feature information possessed by the vertex in the initial mesh model.

[0164] Therefore, following the method described above, the vertex feature elements corresponding to each vertex in the initial mesh model can be determined. Then, the current vertex feature can be constructed using the vertex feature elements corresponding to each vertex in the initial mesh model; that is, the current vertex feature includes the vertex feature elements corresponding to each vertex in the initial mesh model. For example, if the vertex feature elements corresponding to a vertex are D-dimensional features, and the initial mesh model includes N vertices, then the current vertex feature is an N*D-dimensional feature.

[0165] As can be seen, the vertex feature elements obtained through the above method can more comprehensively represent the feature information of vertices in the initial mesh model. Furthermore, these vertex feature elements contain the corresponding image feature elements, allowing them to fit the texture image. Subsequently, by combining the vertex feature elements corresponding to each vertex in the initial mesh model, the current vertex features representing the feature information of all vertices in the initial mesh model can be obtained. This allows the current vertex features to represent the global features of all vertices, facilitating better optimization of vertex features by the graph convolutional network.

[0166] In one possible implementation, before performing model optimization on the initial mesh model using a graph convolutional mesh, the initial mesh model can be simplified to reduce its complexity. This allows the graph convolutional network to perform model optimization based on a less complex mesh model, reducing the computational resources consumed in the model optimization process. Based on this, the method provided in this application embodiment may further include:

[0167] The initial mesh model is iteratively simplified until a simplified mesh model with a number of meshes less than a preset threshold is obtained.

[0168] The model simplification process is used to determine the importance of each edge in the current model to be simplified, determine the secondary edges based on the importance of each edge, fold the secondary edges, and update the meshes related to the secondary edges in the current model to be simplified to obtain a simplified mesh model. When the model simplification process is executed for the first time, the current model to be simplified is the initial mesh model. When the model simplification process is executed for the second time, the current model to be simplified is the simplified mesh model obtained in the previous model simplification process.

[0169] Correspondingly, the above-mentioned "iteratively performing model optimization processing on the initial mesh model through graph convolutional networks" includes:

[0170] The graph convolutional network iteratively optimizes simplified mesh models with fewer than a preset threshold number of meshes.

[0171] Since the complexity of the initial mesh model directly affects the complexity of the final optimized mesh model, and consequently the rendering speed and quality of the optimized mesh model, this embodiment adaptively adjusts the complexity of the initial mesh model by controlling the number of its triangle faces. This embodiment primarily reduces the number of triangle faces in the initial mesh model by iteratively performing model simplification processing.

[0172] Model simplification refers to reducing the complexity of the initial mesh model by decreasing the number of meshes. A simplified mesh model is the result of simplifying the initial mesh model, and it has lower complexity compared to the original mesh model.

[0173] The preset number threshold is used to indicate the termination condition of the model simplification iteration process. The iteration process can only end when the number of meshes in the simplified mesh model is less than the preset number threshold, and this simplified mesh model with fewer meshes can be taken as the final output. Conversely, if the number of meshes in the simplified mesh model is not less than the preset number threshold, the model simplification process needs to continue iterating until a simplified mesh model with fewer meshes than the preset number threshold is obtained. Furthermore, the preset number threshold can be dynamically adjusted according to actual application needs to meet specific requirements and improve the performance of the final optimized mesh model.

[0174] Since determining the simplified mesh model is an iterative process, the following description will take one model simplification process as an example.

[0175] For reference Figure 5 , Figure 5 This is a schematic diagram illustrating the structure of model simplification processing performed on an initial mesh model according to an embodiment of this application. The current model to be simplified is the processing object of this round of model simplification processing. When model simplification processing is executed for the first time, the current model to be simplified is the initial mesh model. When model simplification processing is not executed for the first time, the current model to be simplified is the simplified mesh model obtained in the previous model simplification processing. That is, when model simplification processing is executed for the first time, the current model to be simplified is the initial mesh model. After performing model simplification processing on the initial mesh model, the simplification result of this round can be obtained, namely the simplified mesh model of the first round. If the number of meshes included in the simplified mesh model of the first round is not less than a preset number threshold, model simplification processing can continue to be performed based on the simplified mesh model of the first round. The simplified mesh model of the first round is the current model to be simplified in the second round of model simplification processing, and so on, until a simplified mesh model with a number of meshes less than the preset number threshold is obtained.

[0176] Model simplification is used to determine the importance of each edge in the current model to be simplified, so as to determine secondary edges based on the importance of each edge. Secondary edges refer to edges whose importance meets preset conditions, such as edges whose importance is lower than a preset importance threshold, or edges with the lowest importance among all edges. Secondary edges have a smaller impact on the overall shape of the current mesh model to be simplified and can be collapsed.

[0177] In one possible implementation, the above-mentioned "determining the importance of each edge in the current model to be simplified" may include:

[0178] For each vertex in the current model to be simplified, the importance of the vertex is determined based on the positional relationship between the vertex and other vertices connected to it, as well as the normal vector of the mesh to which the vertex belongs.

[0179] For each edge in the current model to be simplified, the importance of the edge is obtained by weighted summation of the importance of the two vertices of the edge.

[0180] Since each edge consists of two vertices, the importance of the edge to which that vertex belongs can be determined based on the importance of the vertex. Formula 15 can be used to determine the importance of vertices in the current model to be simplified.

[0181]

[0182] In the above formula, E(V) represents the importance of vertex v, v i Let n represent the vertices adjacent to vertex v (i.e., vertices connected to v), and let N represent the total number of vertices adjacent to v. i Represent v and v i The normal vector of the grid to which the edge is formed.

[0183] Based on Formula 15 above, for each vertex in the current model to be simplified, the importance of all vertices in the current model to be simplified can be calculated according to the positional relationship between the vertex and other vertices connected to it (i.e., the coordinate positions of the two vertices that constitute an edge) and the normal vector of the mesh to which the vertex belongs.

[0184] Then, for each edge in the current model to be simplified, a weighted sum can be calculated based on the importance of each of the two vertices of the edge, and the final sum can be used as the importance of the edge. For example, the weight coefficients corresponding to the two vertices can be 0.5. Then, the product of the importance of each of the two vertices and the weight coefficient can be determined separately. Finally, the importance of the edge can be obtained by adding the products corresponding to the importance of the two vertices.

[0185] Therefore, the above method can determine the importance of vertices in the current model to be simplified, and then determine the importance of edges based on the importance of the two vertices of an edge, thus ensuring the accuracy of the determined importance of edges. Based on this, edges connecting important vertices can be retained to ensure the geometric features of the current model to be simplified, while reducing edges connecting unimportant vertices, thereby enabling more effective model simplification.

[0186] After determining the importance of each edge in the current model to be simplified according to the above formula, secondary edges, that is, edges with lower importance compared to other edges, can be determined based on the importance of each edge in the current model to be simplified.

[0187] After identifying the secondary edges, they can be folded, and the meshes related to the secondary edges in the current model to be simplified can be updated. That is, the meshes connected to the secondary edges in the current model to be simplified are updated to obtain a simplified mesh model. Here, edge folding refers to merging the two vertices connected by the edge into a new vertex, as shown in Equation 16.

[0188] Formula 16: y = αv1 + (1 - α)v2

[0189] In the above formula, y represents the new vertex after folding, α represents the weight coefficient corresponding to vertex v1, and 1-α represents the weight coefficient corresponding to vertex v2. This weight coefficient can be adjusted according to the importance of the vertex or the length of the edge. For example, when the importance of vertex v1 is greater than a preset vertex importance threshold, the weight coefficient corresponding to vertex v1 can be appropriately increased. This application does not specifically limit the aforementioned weight coefficient. As an example, the weight coefficient corresponding to vertex v1 can be 0.5, so that the midpoint between v1 and v2 can be used as the new vertex of the folded edge.

[0190] According to the above model simplification process, the initial mesh model is iteratively simplified until a simplified mesh model with a number of meshes less than a preset threshold is obtained. The order of magnitude of the meshes included in the initial mesh model determines the number of meshes that need to be reduced during the model simplification process. That is, with the preset threshold unchanged, the larger the order of magnitude of the meshes in the initial mesh model, the larger the number of meshes that need to be reduced. Thus, the above method achieves adaptive adjustment of the complexity of the initial mesh model.

[0191] Furthermore, through graph convolutional networks, model optimization processing can be iteratively performed on simplified mesh models with fewer than a preset threshold number of meshes. The model optimization process is similar to the process in step S204 above. It only requires replacing the initial mesh model when the model optimization process is first executed with a simplified mesh model with fewer than a preset threshold number of meshes. The remaining steps are similar and will not be described again here.

[0192] Therefore, the above method allows for iterative model simplification of the initial mesh model before optimization using a graph convolutional network, reducing the number of meshes and thus lowering its complexity. During simplification, edges with minimal impact on the overall shape are identified and collapsed based on their importance. Mesh elements related to these minor edges are then updated, keeping the impact on the overall shape within acceptable limits while preserving important geometric features. This ensures that simplified mesh models with fewer meshes than a preset threshold maintain good performance during optimization, reducing computational resource consumption while preserving local detail accuracy. The resulting optimized mesh model performs efficiently at different resolutions. Furthermore, the lower complexity of the simplified mesh model improves subsequent rendering success rate and speed.

[0193] In one possible implementation, the step S202 above, "creating point clouds corresponding to each region based on the complexity of each region in the texture image," may include:

[0194] For each region in the texture image, the complexity of the region is determined based on the gradient of the pixel values ​​in the region in the horizontal and vertical directions.

[0195] For each region in the texture image, determine the ratio of the region's complexity to the sum of its complexities, and determine the point cloud density corresponding to the region based on the ratio; the sum of complexities is the sum of the individual complexities of each region in the texture image.

[0196] In each region of the texture image, vertices are deployed in the region according to the point cloud density corresponding to the region. The horizontal and vertical coordinates of the deployed vertices are determined, and the vertical coordinates of the vertices are determined by UV mapping. The deployed vertices form the point cloud corresponding to the region.

[0197] For each region in the texture image, we can refer to Formula 1 to determine the complexity of each region based on the gradient of the pixel values ​​in the horizontal and vertical directions, that is, based on the gradient of the pixel values ​​in the x-direction and the gradient in the y-direction.

[0198] After determining the complexity of each region, for each region in the texture image, determine the ratio of the region's complexity to the sum of the complexities, and determine the point cloud density corresponding to the region based on this ratio, as shown in Formula 17.

[0199]

[0200] Wherein, λ in the above formula I ρ represents the ratio of the complexity of each region to the total complexity. I Let ∑ represent the complexity of region I in a texture image. Taking a texture image containing K regions as an example, ∑ K ρ K This represents the sum of the complexities of each region in the texture image.

[0201] After determining the ratio of the complexity of each region to the total complexity, for example, the point cloud density of each region can be determined based on the ratio of the ratio and the point cloud density according to a preset correspondence between the ratio and the point cloud density. The point cloud density is used to indicate the density of vertices that need to be generated in the region.

[0202] Then, the number of point clouds in each region can be determined based on the product of the point cloud density and the area of ​​that region. As an example, in each region of the texture image, vertices of the corresponding number of point clouds can be randomly deployed in the region according to the point cloud density of each region, thereby determining the horizontal and vertical coordinates of the deployed vertices, i.e., the x-axis coordinates and y-axis coordinates.

[0203] Furthermore, UV mapping can be used to determine the vertical coordinates (z-axis coordinates) of the deployed vertices, thus allowing the formation of a point cloud for that region based on the deployed vertices. UV mapping is a process of unfolding the surface of a 3D model onto a 2D plane and applying a texture image to the 3D model surface. Through UV mapping, the vertical coordinates of a vertex in the 3D model can be determined based on its horizontal and vertical coordinates.

[0204] Therefore, the complexity of each region in the texture image can be determined using the above method. Based on the complexity of each region, the corresponding point cloud density can be determined, ensuring that more vertices are generated in high-complexity regions to capture more geometric details, while fewer points are generated in low-complexity regions to reduce redundancy. Furthermore, based on the point cloud density of each region, the corresponding number of vertices can be deployed in that region to determine the horizontal and vertical coordinates of the vertices. Further, based on UV mapping, the vertical coordinates of the vertices can be determined, thus forming the point cloud corresponding to the region based on these vertices.

[0205] In one possible implementation, the step S203 above, "establishing the connection relationships between multiple vertices included in the initial model point cloud according to a predefined partitioning mechanism of a preset shape, and generating an initial mesh model," may include:

[0206] Triangulation is performed on the initial model point cloud to establish connections between the vertices of the initial model point cloud, forming multiple triangular meshes to obtain the initial mesh model. For each triangular mesh included in the initial mesh model, the circumcircle of the triangular mesh includes only the three vertices of the triangular mesh.

[0207] For reference Figure 6 , Figure 6 This is a flowchart illustrating the process of determining the initial mesh model provided in an embodiment of this application. After obtaining the initial model point cloud, the discrete points in the initial model point cloud can be connected to form meshes. Then, the initial mesh model can be obtained based on the formed meshes. Taking the formed mesh as a triangular mesh as an example, triangulation processing can be performed on the initial model point cloud, that is, triangulation of the point cloud, which is to connect the discrete points in the initial model point cloud to form a triangular mesh.

[0208] By performing triangulation on the initial model point cloud, connections can be established between the vertices included in the initial model point cloud. In other words, multiple triangular meshes can be formed by connecting the vertices in the initial model point cloud. Based on the obtained multiple triangular meshes, the initial mesh model can be composed.

[0209] Specifically, for each triangular mesh included in the initial mesh model, the circumcircle of the triangular mesh includes only the three vertices of the triangular mesh. That is, the condition that the triangular mesh included in the initial mesh model must satisfy is that the circumcircle of the triangular mesh cannot contain any other vertices, but can only contain the three vertices that constitute the triangular mesh.

[0210] Therefore, as can be seen from the above method, in the process of constructing the corresponding initial mesh model based on the initial model point cloud, the initial model point cloud can be triangulated to establish connections between the vertices of the initial model point cloud to form multiple triangular meshes. Furthermore, a triangular mesh can only be considered a qualified triangular mesh if its circumcircle contains only the three vertices of the triangle. Thus, the initial mesh model can be constructed based on the qualified triangular meshes. Through the above triangulation method, the minimum angle can be maximized, avoiding the generation of elongated triangles, and making the triangular meshes that make up the initial mesh model have better geometric stability.

[0211] In one possible implementation, the aforementioned "performing triangulation based on the initial model point cloud, establishing connections between the vertices of the initial model point cloud to form multiple triangular meshes, thereby obtaining an initial mesh model" may include:

[0212] Select three vertices in the initial model point cloud and use these three vertices to construct an initial triangular mesh;

[0213] Incremental insertion is performed iteratively based on the initial triangular mesh. The incremental insertion process is used to detect whether the circumcircle of the current triangular mesh includes other vertices in the initial model point cloud. Other vertices are vertices other than the three vertices of the current triangular mesh. If they do not include them, the current triangular mesh is determined to be a qualified triangular mesh. If they do include them, the current triangular mesh is determined to be unqualified, and a new current triangular mesh is constructed using the other vertices and the three vertices of the current triangular mesh. When the incremental insertion process is executed for the first time, the current triangular mesh is the initial triangular mesh.

[0214] When each vertex in the initial model point cloud is inserted into a qualified triangular mesh through incremental insertion processing, the initial mesh model is obtained.

[0215] As an example, the specific process of triangulation of the initial model point cloud may include: selecting three vertices in the initial model point cloud and connecting the three vertices to construct an initial triangular mesh. For example, three vertices located on the boundary of the initial model point cloud, i.e., the three farthest vertices, can be selected and connected to form the initial triangular mesh. This application does not specifically limit the positions of the three selected vertices.

[0216] Then, incremental insertion processing can be performed iteratively based on the initial triangular mesh. The following is an example of an incremental insertion process.

[0217] Incremental insertion processing is used to detect whether the circumcircle of the current triangular mesh includes vertices other than the three vertices of the current triangular mesh. If not, the current triangular mesh is determined to be a valid triangular mesh, which is used to form the initial mesh model. If it does include vertices, the current triangular mesh is determined to be invalid, indicating that the current triangular mesh still needs to undergo incremental insertion processing. Other vertices, i.e., vertices located within the circumcircle of the current triangular mesh, can be connected to the three vertices of the current triangular mesh to form a new current triangular mesh, and the detection continues. For example, the current triangular mesh is △O. j O k O f That is, the current triangular mesh is formed by vertex O j Vertex O k and vertex O f If the connection is formed by vertex O i Located in △O j O k O f If the current triangle mesh △O is inside the circumcircle, then remove it. j O k O fRe-based on other vertices, i.e., vertex O i , respectively with vertex O j Vertex O k and vertex O f Connect the points to form a new current triangle mesh, and continue the detection process until all eligible triangle meshes corresponding to the initial model point cloud are identified. It should be understood that when the incremental insertion process is executed for the first time, the current triangle mesh is the initial triangle mesh.

[0218] Therefore, incremental insertion processing can be performed iteratively based on the initial triangular mesh until all qualified triangular meshes corresponding to the initial model point cloud are determined. That is, when each vertex in the initial model point cloud is inserted into a qualified triangular mesh through the above incremental insertion processing, the initial mesh model can be formed based on all qualified triangular meshes corresponding to the initial model point cloud.

[0219] As can be seen, the above method allows for iterative incremental insertion of the initial triangular mesh, gradually identifying qualified triangular meshes within the initial model point cloud. This enables the construction of an initial mesh model including triangular meshes based on the initial model point cloud. Furthermore, if the circumcircle of the current triangular mesh includes vertices other than those of the current triangular mesh, the current triangular mesh can be removed, and a new current triangular mesh can be formed based on these other vertices and the three vertices of the current triangular mesh. This ensures the stability of the triangular meshes and facilitates rapid triangulation of irregular initial model point clouds to identify all qualified triangular meshes corresponding to the initial model point cloud. Ultimately, an initial mesh model can be constructed based on these stable qualified triangular meshes.

[0220] In one possible implementation, the method provided in this application embodiment may further include:

[0221] By adjusting the positions of the vertices in the initial mesh model using the Laplace smoothing algorithm, a smooth mesh model is obtained.

[0222] Correspondingly, the above-mentioned "iteratively performing model optimization processing on the initial mesh model through graph convolutional networks" includes:

[0223] Graph convolutional networks are used to iteratively optimize smooth mesh models.

[0224] The Laplace smoothing algorithm is a smoothing algorithm used to process mesh models. It aims to reduce the noise and irregularity of the mesh. It mainly achieves the smoothing effect by weighting the position of each vertex with the positions of its neighboring vertices, making the mesh smoother and more uniform.

[0225] After determining the initial mesh model, the positions of the vertices in the initial mesh model can be adjusted using the Laplacian smoothing algorithm, as shown in Formula 18.

[0226]

[0227] Wherein, p′ in the above formula i P represents the smoothed position of the i-th vertex in the initial mesh model. j Let N(i) represent the position of the j-th vertex in the initial mesh model, and let N(i) represent the set of vertices adjacent to the i-th vertex in the initial mesh model.

[0228] The Laplace smoothing algorithm described above can be used to adjust each vertex in the initial mesh model. Then, the algorithm can be iteratively executed to continue adjusting the adjusted vertices in the initial mesh model until each vertex is evenly distributed in its neighborhood center, thereby improving the quality of the initial mesh model. For example, the process of adjusting each vertex in the initial mesh model can be considered as one round of smoothing. When the number of smoothing rounds reaches a preset number of iterations, the iteration process can end. The mesh model determined based on the adjusted vertex positions obtained after the last round of smoothing can be considered as the smoothed mesh model. This smoothed mesh model refers to the mesh model composed of vertices iteratively adjusted by the Laplace smoothing algorithm, and it is used to indicate a smoother, higher-quality initial mesh model.

[0229] Furthermore, through graph convolutional mesh, model optimization processing can be iteratively performed on the smooth mesh model. The model optimization process is similar to the process in step S204 above. Only the initial mesh model when the model optimization process is executed for the first time is replaced with the smooth mesh model. The remaining steps are similar and will not be described in detail here.

[0230] In addition, the above model simplification process can be performed on the smooth mesh model obtained by the above method, that is, the smooth mesh model can be iteratively simplified.

[0231] As can be seen, the Laplacian smoothing algorithm can adjust the vertex positions in the initial mesh model, making the vertices more uniform and smooth. Through multiple iterations, it can be ensured that each vertex in the final mesh model is more evenly distributed in its neighborhood center, thus obtaining a high-quality smooth mesh model. Furthermore, a graph convolutional network can be used to iteratively optimize the high-quality smooth mesh model, allowing it to learn more complex geometric structures from the smooth mesh model and further improve the quality of the optimized mesh model.

[0232] In one possible implementation, the method provided in this application embodiment may further include:

[0233] The Hough transform is used to detect reference shapes included in the texture image.

[0234] Based on the correspondence between vertices in the initial mesh model and pixels in the texture image, a reference region corresponding to the reference shape is determined in the initial mesh model, and the shape represented by the reference region is checked to see if it matches the reference shape.

[0235] If there is a mismatch, the positions and / or connections of the vertices in the reference region are adjusted to make the shape represented by the reference region match the reference shape.

[0236] The mesh in the initial mesh model is usually a simple surface. It is necessary to expand the table in the initial mesh model from a simple surface into a three-dimensional structure with a certain geometric thickness and shape. At this time, texture images are needed. Texture images contain rich geometric information, which can be used to deduce the basic geometric shapes in the initial mesh model. For example, texture images include circles and rectangles, and correspondingly, the initial mesh model should also have corresponding geometric shapes.

[0237] The Hough transform can be used to detect the geometric shapes contained in a texture image. The Hough transform is a method that uses a voting algorithm to detect specific shapes in a texture image, as shown in Formula 19.

[0238] Formula 19: ρ = xcosθ + ysinθ

[0239] In the above formula, ρ represents the distance between the straight line in the texture image and the origin, θ represents the angle of the straight line, x and y represent the horizontal and vertical coordinates of a pixel in the texture image, respectively, and the origin refers to the pixel in the lower left corner of the texture image.

[0240] Furthermore, it is also possible to detect whether a texture image contains a circular geometric shape based on the circle detection formula, as shown in Formula 20.

[0241] (xa) 2 +(yb) 2 =r 2 Formula 20

[0242] In the above formula, a and b represent the coordinates of the center of the circle, r is the radius of the center of the circle, and x and y represent the horizontal and vertical coordinates of several pixels in the texture image, respectively.

[0243] Therefore, the geometric shapes included in the texture image can be detected by the above Hough transform, and the detected geometric shapes are the reference shapes. The reference shapes refer to the geometric shapes included in the texture image after the Hough transform.

[0244] Based on the correspondence between vertices in the initial mesh model and pixels in the texture image, this correspondence is based on the coordinate positions of the vertices and pixels. Specifically, based on the coordinate positions of the vertices in the initial mesh model, pixels in the texture image that share the same horizontal and vertical coordinates as the vertices can be identified as corresponding to those vertices. Based on this correspondence, a reference region corresponding to the reference shape can be determined in the initial mesh model. That is, the coordinate position of the reference shape in the texture image is the same as the coordinate position of the reference region in the initial mesh model. This reference region is used to indicate the corresponding area of ​​the reference shape in the initial mesh model.

[0245] After determining the reference region, it is possible to check whether the shape represented by the reference region matches the reference shape. For example, it is possible to check whether the shape represented by the reference region is the same as the reference shape. If the shape represented by the reference region is a circle and the reference shape is a rectangle, then they do not match; if the shape represented by the reference region is a circle and the reference shape is a circle, then they match.

[0246] If there is a mismatch, the positions of the vertices in the reference region and / or the connections between the vertices are adjusted to make the shape represented by the reference region match the reference shape. In other words, the shape represented by the reference region can be made the same as the reference shape by adjusting the positions of the vertices in the reference region and / or the connections between the vertices.

[0247] Furthermore, if the initial mesh model is smoothed using the Laplacian algorithm before detecting geometry in the texture image via Hough transform, the aforementioned detection method based on Hough transform can be performed on the obtained smoothed mesh model; that is, the initial mesh model in the Hough transform process can be replaced with the smoothed mesh model. Moreover, the aforementioned model simplification process can be performed on the mesh model obtained through the Hough transform process.

[0248] Therefore, the above method can detect the geometric shape in the texture image through Hough transform, and deduce the geometric shape in the initial mesh model based on the rich geometric information in the texture image. Then, based on the correspondence between the vertices in the initial mesh model and the pixels in the texture image, the reference region in the initial mesh model corresponding to the reference shape can be determined to determine whether the shape represented in the reference region matches the reference shape. If they do not match, the position and / or connection relationship of the vertices in the reference region can be adjusted to make the shape represented by the reference region match the reference shape. This ensures that the 3D model structure represented by the optimized mesh model obtained based on the initial mesh model can fit the texture image.

[0249] Finally, a general example of the mesh model construction method is provided, which can be found in [reference]. Figure 7 , Figure 7 This is a schematic diagram of the structure of the mesh model construction method provided in the embodiments of this application. The method includes:

[0250] As an example, a texture image can be acquired and preprocessed to obtain a normalized texture image. This preprocessing method can include at least one of image normalization, denoising, and edge enhancement methods. Then, features can be extracted from the normalized texture image using multiple parallel convolutional blocks in a convolutional neural network, resulting in multiple reference image features. Further, the importance weight of each reference image feature can be determined based on its gradient. By weighted fusion of these reference image features according to their respective importance weights, the texture image features can be obtained.

[0251] In the initial mesh model construction process, point clouds corresponding to each region in the texture image can be created based on the complexity of each region, and these point clouds are used to form the initial model point cloud. Then, triangulation can be performed on the initial model point cloud to form an initial mesh model containing multiple qualified triangular meshes. Further, the positions of vertices in the initial mesh model can be adjusted using the Laplacian smoothing algorithm to obtain a smooth mesh model. Additionally, Hough transform can be used to detect reference shapes included in the texture image, ensuring that the shapes represented by the reference regions in the smooth mesh model match the reference shapes, thereby guaranteeing that the constructed mesh model fits the texture image perfectly.

[0252] Then, the model simplification process can be iteratively performed on the mesh model obtained after the Hough transform until a simplified mesh model with a number of meshes less than a preset threshold is obtained, so as to reduce the complexity of the mesh model by reducing the number of meshes in the mesh model.

[0253] Finally, a graph convolutional network can be used to iteratively perform model optimization on simplified mesh models with fewer than a preset threshold number of meshes until an optimized mesh model that meets the preset constraints is obtained. The optimized mesh model that meets the preset constraints is then used as the mesh modeling result. The above model optimization process is used to determine the optimized vertex features of the current mesh model through the graph convolutional network, and to determine the measurement parameters corresponding to the optimized mesh model indicated by the optimized vertex features. When it is determined that the optimized mesh model does not meet the preset constraints based on the measurement parameters, backpropagation is performed based on the measurement parameters to adjust the connection relationship between vertices in the current mesh model. When the model optimization process is executed for the first time, the current mesh model is a simplified mesh model with fewer than a preset threshold number of meshes.

[0254] It should be noted that when the current mesh model is a simplified mesh model with less than a preset threshold number of meshes, the current vertex features and the current adjacency matrix are used to jointly represent the simplified mesh model. For each vertex in the simplified mesh model, the image feature element corresponding to the vertex in the texture image features can be determined according to the vertex's corresponding position in the texture image. By concatenating the vertex's attribute information data with the image feature element corresponding to the vertex, the vertex feature element corresponding to the vertex can be obtained. The current vertex features can be formed by using the vertex feature elements corresponding to each vertex in the simplified mesh model.

[0255] Based on the mesh model construction method provided in the preceding embodiments, this application also provides a mesh model construction apparatus. The following, in conjunction with... Figure 8 To explain, Figure 8 This is a schematic diagram of the structure of the mesh model building device 800 provided in an embodiment of this application. The device includes:

[0256] Texture acquisition module 801 is used to acquire texture images;

[0257] The point cloud creation module 802 is used to create point clouds corresponding to each region based on the complexity of each region in the texture image, and to use the point clouds corresponding to each region to form an initial model point cloud.

[0258] The model building module 803 is used to establish the connection relationship between multiple vertices of the initial model point cloud according to a predefined partitioning mechanism of a preset shape, and generate an initial mesh model, wherein the initial mesh model contains multiple meshes of the preset shape;

[0259] The model optimization module 804 is used to iteratively perform model optimization processing on the initial mesh model through a graph convolutional network until an optimized mesh model that meets the preset constraints is obtained, and the optimized mesh model that meets the preset constraints is used as the mesh model modeling result.

[0260] The model optimization process is used to determine the optimized vertex features of the current mesh model through the graph convolutional network, determine the measurement parameters corresponding to the optimized mesh model indicated by the optimized vertex features, and when it is determined that the optimized mesh model does not meet the preset constraints based on the measurement parameters, backpropagation is performed based on the measurement parameters to adjust the connection relationships between vertices in the current mesh model; when the model optimization process is executed for the first time, the current mesh model is the initial mesh model; the optimized vertex features are used to characterize the optimized attributes of each vertex in the current mesh model.

[0261] Optionally, the model optimization process in the model optimization module 804 includes the following units:

[0262] An input unit is used to input the current vertex features and the current adjacency matrix into the graph convolutional network to obtain the optimized vertex features output by the graph convolutional network; the current vertex features and the current adjacency matrix are used to jointly represent the current mesh model, and the current adjacency matrix is ​​used to indicate the connection relationship between vertices in the current mesh model;

[0263] A measurement parameter determination unit is used to determine the optimized mesh model jointly characterized by the optimized vertex features and the current adjacency matrix, and to determine the measurement parameters corresponding to the optimized mesh model based on the attribute information of vertices and meshes in the optimized mesh model.

[0264] The backpropagation unit is used to determine that the optimized mesh model satisfies the preset constraint if the measurement parameter belongs to the preset interval; and to determine that the optimized mesh model does not satisfy the preset constraint if the measurement parameter does not belong to the preset interval. Backpropagation is then performed based on the measurement parameter to adjust the current adjacency matrix. The adjusted current adjacency matrix and the optimized vertex features are used to jointly represent the current mesh model in the next model optimization process.

[0265] Optionally, the unit for determining the measurement parameters includes:

[0266] A smoothness parameter determination unit is used to determine the smoothness parameters of the optimized mesh model based on the positional relationships between vertices with connectivity in the optimized mesh model.

[0267] A shape preservation parameter unit is used to determine the corresponding meshes in the optimized mesh model and the initial mesh model, and to determine the shape preservation parameters of the optimized mesh model based on the area ratio of the corresponding meshes;

[0268] The normal consistency parameter determination unit is used to determine the normal consistency parameter of the optimized mesh model based on the normal vectors of the meshes with adjacency relationships in the optimized mesh model.

[0269] The weighted summation unit is used to perform a weighted summation of the smoothness parameter, the shape preservation parameter, and the normal consistency parameter to obtain the measurement parameter corresponding to the optimized mesh model.

[0270] Optionally, when the current mesh model is the initial mesh model, the current vertex features are determined based on the attribute information and texture image features of each vertex in the initial mesh model; the texture image features are obtained through the following units:

[0271] The first feature extraction unit is used to extract features from the texture image by using multiple parallel convolutional blocks in a convolutional neural network to obtain multiple reference image features; the multiple convolutional blocks are used to extract features based on convolutional kernels of different sizes;

[0272] An importance weight determination unit is used to determine the gradient corresponding to each of the reference image features, and to determine the importance weight corresponding to each of the reference image features based on the corresponding gradient;

[0273] The weighted fusion unit is used to perform weighted fusion on each of the reference image features according to the importance weights corresponding to each of the reference image features, so as to obtain the texture image features.

[0274] Optionally, the device further includes:

[0275] The preprocessing unit is used to preprocess the texture image to obtain a normalized texture image; the preprocessing includes at least one of image normalization, noise reduction, and edge enhancement.

[0276] Correspondingly, the first feature extraction unit includes:

[0277] The second feature extraction unit is used to extract features from the standard texture image through multiple convolutional blocks to obtain multiple reference image features.

[0278] Optionally, when the current mesh model is the initial mesh model, the current vertex features are determined by the following units:

[0279] The splicing unit is used to determine the image feature element corresponding to the vertex in the texture image features for each vertex in the initial mesh model, based on the position of the vertex in the texture image; and splice the attribute information data of the vertex with the image feature element corresponding to the vertex to obtain the vertex feature element corresponding to the vertex.

[0280] The combination unit is used to compose the current vertex feature by utilizing the vertex feature elements corresponding to each vertex in the initial mesh model.

[0281] Optionally, the device further includes:

[0282] A simplification processing unit is used to iteratively perform model simplification processing on the initial mesh model until a simplified mesh model with a number of meshes less than a preset threshold is obtained;

[0283] The model simplification process is used to determine the importance of each edge in the current model to be simplified, determine secondary edges based on the importance of each edge, fold the secondary edges, and update the meshes related to the secondary edges in the current model to be simplified to obtain a simplified mesh model. When the model simplification process is executed for the first time, the current model to be simplified is the initial mesh model. When the model simplification process is not executed for the first time, the current model to be simplified is the simplified mesh model obtained in the previous model simplification process.

[0284] Correspondingly, the model optimization module 804 includes:

[0285] The first optimization processing unit is used to iteratively perform the model optimization processing on a simplified mesh model whose number of meshes is less than the preset number threshold through the graph convolutional network.

[0286] Optionally, the simplified processing unit includes:

[0287] A vertex importance determination unit is used to determine the importance of each vertex in the current model to be simplified, based on the positional relationship between the vertex and other vertices connected to it, and the normal vector of the mesh to which the vertex belongs.

[0288] The weighted summation unit is used to perform a weighted summation of the importance of each of the two vertices of each edge in the current model to be simplified, so as to obtain the importance of the edge.

[0289] Optionally, the point cloud creation module 802 includes:

[0290] A region complexity unit is defined for determining the complexity of each region in the texture image based on the gradient of pixel values ​​in the region in the horizontal and vertical directions.

[0291] A point cloud density unit is defined for determining the ratio of the complexity of each region to the sum of the complexities in the texture image, and determining the point cloud density corresponding to the region based on the ratio; the sum of the complexities is the sum of the complexities of each region in the texture image.

[0292] A vertex unit is deployed to deploy vertices in each region of the texture image according to the point cloud density corresponding to the region, determine the horizontal and vertical coordinates of the deployed vertices, and determine the vertical coordinates of the vertices through UV mapping; the deployed vertices constitute the point cloud corresponding to the region.

[0293] Optionally, the model building module 803 includes:

[0294] The triangulation processing unit is used to perform triangulation processing based on the initial model point cloud, establish connection relationships between the vertices included in the initial model point cloud, form multiple triangular meshes, and obtain the initial mesh model; for each triangular mesh included in the initial mesh model, the circumcircle of the triangular mesh includes only the three vertices of the triangular mesh.

[0295] Optionally, the triangulation processing unit includes:

[0296] Selecting vertex units is used to select three vertices in the initial model point cloud and construct an initial triangular mesh using the selected three vertices;

[0297] An incremental insertion processing unit is used to iteratively perform incremental insertion processing based on the initial triangular mesh. The incremental insertion processing is used to detect whether the circumcircle of the current triangular mesh includes other vertices in the initial model point cloud. The other vertices are vertices other than the three vertices of the current triangular mesh. If they do not include them, the current triangular mesh is determined to be a qualified triangular mesh. If they do include them, the current triangular mesh is determined to be unqualified, and a new current triangular mesh is constructed using the other vertices and the three vertices of the current triangular mesh. When the incremental insertion processing is executed for the first time, the current triangular mesh is the initial triangular mesh.

[0298] An initial mesh model unit is obtained, which is used to obtain the initial mesh model when each vertex in the initial model point cloud is inserted into the qualified triangle mesh through the incremental insertion process.

[0299] Optionally, the device further includes:

[0300] The vertex position adjustment unit is used to adjust the position of the vertices in the initial mesh model using the Laplacian smoothing algorithm to obtain a smooth mesh model;

[0301] The model optimization module 804 includes:

[0302] The second optimization processing unit is used to iteratively perform the model optimization processing on the smooth mesh model through the graph convolutional network.

[0303] Optionally, the device further includes:

[0304] A detection unit is used to detect reference shapes included in the texture image by means of Hough transform;

[0305] A reference region unit is defined to determine a reference region corresponding to the reference shape in the initial mesh model based on the correspondence between vertices in the initial mesh model and pixels in the texture image, and to detect whether the shape represented by the reference region matches the reference shape.

[0306] An adjustment unit is used to adjust the position and / or connection relationship of vertices in the reference region if there is a mismatch, so that the shape represented by the reference region matches the reference shape.

[0307] This application also provides a computer device, which may specifically be a terminal device or a server. The terminal device and server provided in this application will be described below from the perspective of hardware implementation.

[0308] See Figure 9 , Figure 9 This is a schematic diagram of the structure of the terminal device provided in the embodiments of this application. For example... Figure 9 As shown, for ease of explanation, only the parts related to the embodiments of this application are shown. For specific technical details not disclosed, please refer to the method section of the embodiments of this application. The terminal can be any terminal device including mobile phones, tablets, personal digital assistants (PDAs), point-of-sale (POS) terminals, in-vehicle computers, etc. Taking a computer as an example:

[0309] Figure 9 This is a block diagram illustrating a portion of the structure of a computer associated with the terminal provided in an embodiment of this application. (Reference) Figure 9The computer includes: a radio frequency (RF) circuit 1210, a memory 1220, an input unit 1230 (including a touch panel 1231 and other input devices 1232), a display unit 1240 (including a display panel 1241), a sensor 1250, an audio circuit 1260 (connected to a speaker 1261 and a microphone 1262), a wireless fidelity (WiFi) module 1270, a processor 1280, and a power supply 1290, etc. Those skilled in the art will understand that... Figure 9 The computer architecture shown does not constitute a limitation on the computer and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0310] The memory 1220 can be used to store software programs and modules. The processor 1280 executes various computer functions and data processing by running the software programs and modules stored in the memory 1220. The memory 1220 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the computer (such as audio data, telephone directory, etc.). In addition, the memory 1220 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0311] The processor 1280 is the control center of the computer, connecting various parts of the computer through various interfaces and lines. It performs various computer functions and processes data by running or executing software programs and / or modules stored in the memory 1220, and by calling data stored in the memory 1220. Optionally, the processor 1280 may include one or more processing units; preferably, the processor 1280 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the modem processor may also not be integrated into the processor 1280.

[0312] In this embodiment, the processor 1280 included in the terminal is used to execute the steps in the mesh model construction method described in the foregoing embodiments.

[0313] See Figure 10 , Figure 10This is a schematic diagram of the structure of a server 1300 provided in an embodiment of this application. The server 1300 can vary significantly due to different configurations or performance, and may include one or more central processing units (CPUs) 1322 (e.g., one or more processors) and memory 1332, and one or more storage media 1330 (e.g., one or more mass storage devices) for storing application programs 1342 or data 1344. The memory 1332 and storage media 1330 can be temporary or persistent storage. The program stored in the storage media 1330 may include one or more modules (not shown in the diagram), each module including a series of instruction operations on the server. Furthermore, the CPU 1322 may be configured to communicate with the storage media 1330 and execute the series of instruction operations stored in the storage media 1330 on the server 1300.

[0314] Server 1300 may also include one or more power supplies 1326, one or more wired or wireless network interfaces 1350, one or more input / output interfaces 1358, and / or one or more operating systems, such as Windows Server. TM Mac OS X TM Unix TM Linux TM FreeBSD TM etc.

[0315] The steps performed by the server in the above embodiments can be based on this Figure 10 The server structure shown is illustrated. The CPU 1322 is used to execute the steps in the mesh model construction methods described in the foregoing embodiments.

[0316] This application also provides a computer-readable storage medium for storing a computer program that performs the steps in the mesh model construction method described in the foregoing embodiments.

[0317] This application also provides a computer program product or computer program that includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the steps in the mesh model construction method described in the foregoing embodiments.

[0318] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0319] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.

[0320] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0321] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0322] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing computer programs, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0323] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.

[0324] In this application embodiment, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.

[0325] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.

Claims

1. A method for constructing a mesh model, characterized in that, The method includes: Get the texture image; Based on the complexity of each region in the texture image, a point cloud corresponding to each region is created, and an initial model point cloud is formed by using the point clouds corresponding to each region. According to a predefined partitioning mechanism of a preset shape, the connection relationship between multiple vertices of the initial model point cloud is established to generate an initial mesh model, which contains multiple meshes of the preset shape. The initial mesh model is iteratively optimized using a graph convolutional network until an optimized mesh model that satisfies the preset constraints is obtained. The optimized mesh model that satisfies the preset constraints is then used as the mesh modeling result. The model optimization process is used to determine the optimized vertex features of the current mesh model through the graph convolutional network, determine the measurement parameters corresponding to the optimized mesh model indicated by the optimized vertex features, and when it is determined that the optimized mesh model does not meet the preset constraints based on the measurement parameters, backpropagation is performed based on the measurement parameters to adjust the connection relationships between vertices in the current mesh model; when the model optimization process is executed for the first time, the current mesh model is the initial mesh model; the optimized vertex features are used to characterize the optimized attributes of each vertex in the current mesh model.

2. The method according to claim 1, characterized in that, The model optimization process includes: The current vertex features and the current adjacency matrix are input into the graph convolutional network to obtain the optimized vertex features output by the graph convolutional network; the current vertex features and the current adjacency matrix are used to jointly represent the current mesh model, and the current adjacency matrix is ​​used to indicate the connection relationship between vertices in the current mesh model; Determine the optimized mesh model jointly characterized by the optimized vertex features and the current adjacency matrix, and determine the measurement parameters corresponding to the optimized mesh model based on the attribute information of vertices and meshes in the optimized mesh model; If the measurement parameter belongs to a preset range, the optimized mesh model is determined to satisfy the preset constraint condition; if the measurement parameter does not belong to the preset range, the optimized mesh model is determined to not satisfy the preset constraint condition, backpropagation is performed based on the measurement parameter, and the current adjacency matrix is ​​adjusted; the adjusted current adjacency matrix and the optimized vertex features are used to jointly represent the current mesh model in the next model optimization process.

3. The method according to claim 2, characterized in that, The step of determining the measurement parameters corresponding to the optimized mesh model based on the attribute information of vertices and meshes in the optimized mesh model includes: Based on the positional relationships between vertices with connectivity in the optimized mesh model, the smoothness parameters of the optimized mesh model are determined. Identify the corresponding meshes in the optimized mesh model and the initial mesh model, and determine the shape preservation parameters of the optimized mesh model based on the area ratio of the corresponding meshes; Based on the normal vectors of the adjacent meshes in the optimized mesh model, determine the normal consistency parameter of the optimized mesh model; The smoothness parameter, the shape preservation parameter, and the normal consistency parameter are weighted and summed to obtain the measurement parameter corresponding to the optimized mesh model.

4. The method according to claim 2 or 3, characterized in that, When the current mesh model is the initial mesh model, the current vertex features are determined based on the attribute information and texture image features of each vertex in the initial mesh model; the texture image features are obtained in the following way: Multiple convolutional blocks in a convolutional neural network are used to extract features from the texture image to obtain multiple reference image features; the multiple convolutional blocks are used to extract features based on convolutional kernels of different sizes; Determine the gradient corresponding to each of the reference image features, and determine the importance weight corresponding to each of the reference image features based on the corresponding gradient; According to the importance weight of each of the reference image features, the reference image features are weighted and fused to obtain the texture image features.

5. The method according to claim 4, characterized in that, The method further includes: The texture image is preprocessed to obtain a normalized texture image; the preprocessing includes at least one of image normalization, noise reduction, and edge enhancement. The process involves extracting features from the texture image using multiple parallel convolutional blocks in a convolutional neural network, resulting in multiple reference image features, including: By using multiple convolutional blocks, feature extraction is performed on the standardized texture image to obtain multiple reference image features.

6. The method according to claim 4 or 5, characterized in that, When the current mesh model is the initial mesh model, the current vertex features are determined in the following way: For each vertex in the initial mesh model, based on the position of the vertex in the texture image, determine the image feature element corresponding to the vertex in the texture image features; and concatenate the attribute information data of the vertex with the image feature element corresponding to the vertex to obtain the vertex feature element corresponding to the vertex. The current vertex features are formed by using the vertex feature elements corresponding to each vertex in the initial mesh model.

7. The method according to any one of claims 1 to 6, characterized in that, The method further includes: The initial mesh model is iteratively simplified until a simplified mesh model with a number of meshes less than a preset threshold is obtained. The model simplification process is used to determine the importance of each edge in the current model to be simplified, determine secondary edges based on the importance of each edge, fold the secondary edges, and update the meshes related to the secondary edges in the current model to be simplified to obtain a simplified mesh model. When the model simplification process is executed for the first time, the current model to be simplified is the initial mesh model. When the model simplification process is not executed for the first time, the current model to be simplified is the simplified mesh model obtained in the previous model simplification process. The iterative model optimization process performed on the initial mesh model using a graph convolutional network includes: The graph convolutional network iteratively performs model optimization processing on simplified mesh models with a number of meshes less than the preset threshold.

8. The method according to claim 7, characterized in that, Determining the importance of each edge in the current model to be simplified includes: For each vertex in the current model to be simplified, the importance of the vertex is determined based on the positional relationship between the vertex and other vertices connected to it, and the normal vector of the mesh to which the vertex belongs. For each edge in the current model to be simplified, the importance of the edge is obtained by weighted summation of the importance of the two vertices of the edge.

9. The method according to any one of claims 1 to 8, characterized in that, The step of creating point clouds corresponding to each region based on the complexity of each region in the texture image includes: For each region in the texture image, the complexity of the region is determined based on the gradient of the pixel values ​​in the region in the horizontal and vertical directions. For each region in the texture image, the ratio of the complexity of that region to the sum of the complexities is determined, and the point cloud density corresponding to that region is determined based on the ratio; the sum of the complexities is the sum of the individual complexities of each region in the texture image. In each region of the texture image, vertices are deployed in the region according to the point cloud density corresponding to the region. The horizontal and vertical coordinates of the deployed vertices are determined, and the vertical coordinates of the vertices are determined by UV mapping. The deployed vertices constitute the point cloud corresponding to the region.

10. The method according to any one of claims 1 to 9, characterized in that, The step of establishing the connection relationships between multiple vertices in the initial model point cloud according to a predefined partitioning mechanism of a preset shape to generate an initial mesh model includes: Based on the initial model point cloud, triangulation processing is performed to establish connection relationships between the vertices included in the initial model point cloud, forming multiple triangular meshes to obtain the initial mesh model; for each triangular mesh included in the initial mesh model, the circumcircle of the triangular mesh includes only the three vertices of the triangular mesh.

11. The method according to claim 10, characterized in that, The process of triangulation based on the initial model point cloud, establishing connections between the vertices of the initial model point cloud to form multiple triangular meshes, to obtain the initial mesh model, includes: Select three vertices from the initial model point cloud and use these three vertices to construct an initial triangular mesh; Incremental insertion processing is performed iteratively based on the initial triangular mesh. The incremental insertion processing is used to detect whether the circumcircle of the current triangular mesh includes other vertices in the initial model point cloud. The other vertices are vertices other than the three vertices of the current triangular mesh. If they do not include them, the current triangular mesh is determined to be a qualified triangular mesh. If they do include them, the current triangular mesh is determined to be unqualified, and a new current triangular mesh is constructed using the other vertices and the three vertices of the current triangular mesh. When the incremental insertion processing is executed for the first time, the current triangular mesh is the initial triangular mesh. When each vertex in the initial model point cloud is inserted into the qualified triangle mesh through the incremental insertion process, the initial mesh model is obtained.

12. The method according to any one of claims 1 to 11, characterized in that, The method further includes: By adjusting the positions of the vertices in the initial mesh model using the Laplace smoothing algorithm, a smooth mesh model is obtained. The iterative model optimization process performed on the initial mesh model using a graph convolutional network includes: The graph convolutional network is used to iteratively perform model optimization on the smooth mesh model.

13. The method according to any one of claims 1 to 12, characterized in that, The method further includes: The reference shape included in the texture image is detected by Hough transform; Based on the correspondence between vertices in the initial mesh model and pixels in the texture image, a reference region corresponding to the reference shape is determined in the initial mesh model, and it is detected whether the shape represented by the reference region matches the reference shape. If there is a mismatch, the positions and / or connections of the vertices in the reference region are adjusted to make the shape represented by the reference region match the reference shape.

14. A mesh model construction device, characterized in that, The device includes: The texture acquisition module is used to acquire texture images; The point cloud creation module is used to create point clouds corresponding to each region based on the complexity of each region in the texture image, and to use the point clouds corresponding to each region to form an initial model point cloud. The model building module is used to establish the connection relationship between multiple vertices of the initial model point cloud according to a predefined partitioning mechanism of a preset shape, and generate an initial mesh model, wherein the initial mesh model contains multiple meshes of the preset shape; The model optimization module is used to iteratively perform model optimization processing on the initial mesh model through a graph convolutional network until an optimized mesh model that meets the preset constraints is obtained, and the optimized mesh model that meets the preset constraints is used as the mesh model modeling result. The model optimization process is used to determine the optimized vertex features of the current mesh model through the graph convolutional network, determine the measurement parameters corresponding to the optimized mesh model indicated by the optimized vertex features, and when it is determined that the optimized mesh model does not meet the preset constraints based on the measurement parameters, backpropagation is performed based on the measurement parameters to adjust the connection relationship between vertices in the current mesh model; when the model optimization process is executed for the first time, the current mesh model is the initial mesh model.

15. A computer device, characterized in that, The device includes a processor and a memory; The memory is used to store computer programs; The processor is configured to execute the mesh model construction method according to any one of claims 1 to 13 according to the computer program.

16. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store a computer program that, when executed by an electronic device, implements the mesh model construction method according to any one of claims 1 to 13.

17. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the mesh model construction method according to any one of claims 1 to 13.