Methods for generating 3D models compatible with open surfaces, electronic devices and storage media

By using a hybrid implicit representation method, combining SDF and UDF, a neural network is trained to generate open and closed surfaces, solving the problem of representing complex topological structures in traditional methods and achieving high-quality 3D model generation and topology control.

CN120707748BActive Publication Date: 2026-03-06BEIJING WAZIDA TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-06-26
Publication Date
2026-03-06

AI Technical Summary

Technical Problem

Existing implicit representation methods are difficult to directly represent open surfaces and non-manifold geometry. Traditional methods are prone to generating holes, noise and artifacts when generating open surfaces, and lack a unified framework for handling both closed and open surfaces simultaneously.

Method used

A hybrid implicit representation method is adopted, which learns the combination of SDF and UDF by training a neural network. The SDF is used to represent closed basic shapes and the UDF is used to adjust them. A threshold Ru is set to delete specified regions to generate open surfaces. The 3D model is generated by combining an encoder-decoder structure and a multilayer perceptron model.

Benefits of technology

It achieves a unified representation of high-quality open and closed surfaces, can precisely control the topology of the generated model, avoids the hole and artifact problems in traditional methods, and provides flexible topology control and efficient generation process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120707748B_ABST
    Figure CN120707748B_ABST
Patent Text Reader

Abstract

This invention discloses a method, electronic device, and storage medium for generating 3D models compatible with open surfaces. It trains a neural network to learn a hybrid implicit representation, uses a Substituent Function (SDF) of the hybrid implicit representation to express the basic shape of the target 3D model, and uses a User-Defined Function (UDF) of the hybrid implicit representation to adjust the basic shape, ultimately obtaining a target 3D model with open surfaces. This invention can represent open surfaces and non-manifold geometries that cannot be directly represented by SDF and occupancy fields, and can more easily extract high-quality surfaces, solving the problem that directly extracting surfaces in UDFs is very difficult.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of three-dimensional model generation technology, and in particular relates to a method, electronic device and storage medium for generating three-dimensional models compatible with open surfaces. Background Technology

[0002] 3D model generation is an important research topic in computer graphics, computer vision, and artificial intelligence, with wide applications in games, movies, virtual reality, augmented reality, industrial design, and medical imaging. Generating high-quality, diverse, and controllable 3D models has always been a research hotspot in this field. Implicit neural representation-based 3D model generation is one of the most popular methods in recent years. Implicit neural representation uses a neural network to represent the shape of an object. This network takes the coordinates of a point in space as input and outputs certain attributes of that point (such as SDF, occupancy rate, etc.).

[0003] Traditional implicit representation methods, such as Signed Distance Field (SDF) and Occupancy Field, are primarily used to represent closed, watertight geometries. These methods are based on the fundamental assumption that the interior and exterior of the model are well-defined and extract surfaces using zero-level isosurfaces. However, for objects with open boundaries or non-manifold geometries, such as clothing or thin structures (e.g., paper, leaves), SDF and occupancy fields cannot directly represent their topology. This is because open surfaces (which can be understood as single-layered surfaces) do not have well-defined "interior" and "exterior," and SDF's zero-level isosurface cannot correctly extract these surfaces. While open surfaces can be approximated as two very thin, closed surfaces, this introduces additional computational complexity and can lead to inaccurate results, such as unwanted holes or artifacts. Unsigned Distance Field (UDF) is a simplified form of distance field that only records the distance from a point to the nearest surface but does not contain sign information. In theory, a Virtual Function (UDF) can represent a surface with arbitrary topology, including open surfaces. However, extracting high-quality surfaces from UDFs is very challenging. Traditional isosurface extraction methods (such as MarchingCubes) encounter many problems when applied to UDFs, such as the generated surfaces potentially containing numerous holes, noise, and artifacts. This is because the zero isosurface of a UDF is usually discontinuous, and the gradient changes drastically near non-manifold regions, leading to instability in isosurface extraction algorithms. Some methods attempt to extract surfaces by calculating the gradient of the UDF, but this is typically computationally expensive and highly sensitive to noise.

[0004] SDFs and occupancy fields cannot directly represent open surfaces and non-manifold geometries as they rely on the distinction between inside and outside. For open surfaces without clear inside and outside boundaries, it is impossible to extract the correct topology through the zero-level set. Extracting high-quality surfaces from UDFs is very difficult. The zero-level sets of UDFs are usually discontinuous and have a sharp gradient change, resulting in a large number of holes, noises, and artifacts in traditional isosurface extraction algorithms (such as Marching Cubes). Existing generative models are difficult to precisely control the topology of the generative model. The relationship between the latent space with implicit representation and the topology is complex and difficult to interpret, and it is difficult to control the topology by adjusting the latent vectors. Moreover, existing methods lack a unified framework for handling both closed surfaces and open surfaces. Most methods either focus on closed surfaces or open surfaces, lacking flexibility. There are indeed techniques for handling open surfaces in existing methods, but there is a lack of a unified framework for handling both closed surfaces and open surfaces. Most methods either focus on closed surfaces or open surfaces, lacking flexibility. Summary of the Invention

[0005] To solve the above problems, this application proposes a three-dimensional model generation method, an electronic device, and a storage medium that are compatible with open surfaces.

[0006] The method includes: A three-dimensional model generation method compatible with open surfaces, including learning a hybrid implicit representation by training a neural network, using the SDF of the hybrid implicit representation to express the basic shape of the target three-dimensional model, and using the UDF of the hybrid implicit representation to adjust the basic shape to finally obtain a target three-dimensional model with an open surface.

[0007] Based on the above method, further, the basic shape expressed by the SDF is a closed shape that is topologically homeomorphic to the target shape but has no open boundary; the UDF is used to delete a specified area on the closed basic shape to generate a target shape with an open boundary.

[0008] Based on the above method, further, the process of using the UDF to delete a specified area on the closed basic shape includes setting a threshold Ru, regarding the area where the unsigned distance u to the target shape is less than Ru as a valid area to be retained, and regarding the area where u >= Ru as an invalid area to be deleted.

[0009] Based on the aforementioned method, further, in the process of learning the hybrid implicit representation through training a neural network, the trained neural network can be one of a multilayer perceptron model (MLP), a convolutional neural network model (CNN), or a Transformer model; the hybrid implicit representation is (s,u)=Network(p;θ), where p=(x,y,z) are the input values ​​of the neural network, representing the three-dimensional coordinates of a point in space; θ represents the parameters of the neural network Network; s is the SDF value, representing the signed distance from the point p in space to the target shape; u is the UDF value, representing the unsigned distance from the point p in space to the target shape.

[0010] Based on the above method, the neural network training process further includes: training the neural network by using multiple three-dimensional models to form training data and combining them with a loss function. Each three-dimensional model contains a surface point cloud P composed of a set of sampling points uniformly sampled from the surface of the three-dimensional model, the SDF value of each sampling point, and the UDF value of each sampling point.

[0011] Furthermore, based on the aforementioned method, the neural network further includes an encoder for supporting conditional generation, the encoder being used to encode the input conditional information into a latent vector z.

[0012] Based on the method described above, the neural network further includes a decoder for supporting conditional generation, which takes the spatial coordinates of point p and the latent vector z as input and outputs the SDF value s and UDF value u of the point.

[0013] Furthermore, based on the aforementioned method, the decoder is a multilayer perceptron model (MLP).

[0014] An electronic device includes a memory and a processor, the memory storing a computer program, the processor being configured to perform any of the methods described above via the computer program.

[0015] A computer-readable storage medium comprising a stored program, wherein the program is executed by a processor to perform any of the methods described above.

[0016] This invention can represent open surfaces and non-manifold geometries that cannot be directly represented by SDF and occupancy fields, and can more easily extract high-quality surfaces, solving the problem that direct surface extraction is very difficult in UDF. Compared with explicit representation-based methods such as polygon meshes, this invention can represent objects with arbitrary topologies, while explicit representation methods are usually difficult to handle complex topologies and require a large amount of storage space to represent high-resolution models. Attached Figure Description

[0017] Figure 1 This is a flowchart illustrating a method provided in one embodiment of the present invention. Detailed Implementation

[0018] The technical solution of the present invention will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0019] In the description of this invention, it should be noted that the terms "center," "upper," "lower," "left," "right," "vertical," "horizontal," "inner," and "outer," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing the invention and for simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on the invention. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.

[0020] In the description of this invention, it should be noted that, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal communication of two components. Those skilled in the art can understand the specific meaning of the above terms in this invention based on the specific circumstances. In the following description, specific details such as particular system structures and technologies are presented for illustrative purposes rather than for limiting purposes, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art should understand that this application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of this application with unnecessary details. It should be understood that, when used in this specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or collections thereof. It should also be understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.

[0021] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.

[0022] The present invention will now be described in further detail with reference to the accompanying drawings.

[0023] like Figure 1 As shown, in one embodiment of this application, a hybrid implicit representation is learned by training a neural network. The basic shape of the target 3D model is expressed using the SDF (Sub-Functional Description) of the hybrid implicit representation, and the basic shape is adjusted using the UDF (Underlying Functional Description) of the hybrid implicit representation to ultimately obtain a target 3D model with open surfaces. This invention, based on hybrid implicit neural representation, can simultaneously represent closed and open surfaces and achieve precise control over the topology of the generated model.

[0024] The core idea of ​​this embodiment is to use an SDF to represent a closed, homeomorphic basic shape that is the target shape, and then use a UDF to "sculpt" this basic shape. Based on the requirements of the target shape, the parts that need to be sculpted are located and deleted, thereby generating a target shape with open boundaries.

[0025] The hybrid implicit representation of the present invention includes a signed distance field representation and an unsigned distance field representation, wherein the signed distance field is SignedDistanceField(SDF), s=SDF(x).

[0026] s represents the signed distance from a point p in space to the target shape. s < 0 indicates that point p is inside the target shape. s > 0 indicates that point p is outside the target shape. s = 0 indicates that point p is on the surface of the target shape. SDF is used to represent a closed, watertight base shape that is topologically similar (homeomorphic) to the target shape but has no open boundaries.

[0027] Unsigned Distance Field (UDF): u = UDF(p)

[0028] u represents the unsigned distance from a point p in space to the target shape. u is always non - negative. The UDF is used to "sculpt" the base shape represented by the SDF to generate the target shape with open boundaries. Specifically, by setting a threshold Ru (usually a small positive number, such as 0.1), the embodiments of this application consider the region where u < Ru as the "valid region" and the region where u >= Ru as the "invalid region" (the region to be "sculpted" away). The finally generated surface will be near the isosurface of u = Ru.

[0029] The core of this application is that the SDF is responsible for representing a closed basic shape, and the UDF is responsible for "sculpting" on the basis of the SDF to remove the unnecessary parts of the shape represented by the SDF, thereby creating a shape with open boundaries. By controlling the threshold Ru of the UDF, the degree of sculpting can be controlled, so as to finely control the topological structure of the finally generated model.

[0030] Based on the above embodiments, the present invention is further improved. The neural network of this application is usually a multi - layer perceptron (MLP), but it can also be other types of neural networks, such as a convolutional neural network (CNN) or a Transformer.

[0031] Based on the above embodiments, the present invention is further improved. In this embodiment, the input of the neural network is the three - dimensional coordinates p=(x, y, z) of a point p in space, and the output is the SDF value s and the UDF value u of this point, with the expression form: (s, u)=Network(p;θ), where θ represents the parameters of the neural network Network.

[0032] Based on the above embodiments, the present invention is further improved. In this embodiment, in order to support conditional generation, for example, generating a 3D model based on text or image, this application adopts an encoder - decoder structure (Encoder - Decoder Structure).

[0033] Among them, the encoder (Encoder): z = Encoder(condition;θ_enc), where θ_enc represents the parameters of the encoder. The encoder is used to encode the conditional information (such as text description, image, etc.) into a latent vector z. The encoder can be any type of neural network. For example, for text conditions, a recurrent neural network (RNN) or a Transformer can be used; for image conditions, a convolutional neural network (CNN) can be used.

[0034] The decoder (s,u) = Decoder(p,z;θ_dec) takes spatial coordinates p and the latent vector z as input and outputs the SDF value s and UDF value u for that point. The decoder is typically an MLP model, and θ_dec represents the decoder's parameters.

[0035] Based on the above embodiments, the present invention further improves upon this invention. In this embodiment, to enhance the expressive power and efficiency of the model, the present application uses a vector set (VecSet) as the latent variable. VecSet represents the model's features as a set of vectors. Compared to traditional single vectors or 3D meshes, VecSet achieves a better balance between representational power and computational efficiency.

[0036] The VecSet encoding process involves encoding the input point cloud (or mesh) into a set of latent vectors, specifically including:

[0037] Input point cloud: P={p1,p2,...,pN};

[0038] Feature extraction: fi = MLP(pi), which yields the feature vector fi for each point;

[0039] Set sampling: Sample K vectors from {f1,f2,...,fN} to obtain VecSet:Z={z1,z2,...,zK}; The above sampling method can use the farthestpointsamplingFPS method.

[0040] The VecSet decoding process involves using the VecSet as a condition to decode SDF and UDF values, specifically including:

[0041] Input spatial coordinates p, VecSetZ={z1,z2,...,zK};

[0042] By concatenating the spatial coordinates with each zi, we obtain K fused feature vectors: [p,z1], [p,z2], ..., [p,zK];

[0043] Each fused feature vector is input into a shared-weight MLP, resulting in K outputs: o1, o2, ..., oK;

[0044] Aggregate the K outputs to obtain the final SDF and UDF values: (s,u)=Aggregation(o1,o2,...,oK).

[0045] Based on the above embodiments, the present invention further improves upon this invention. In this embodiment, training the neural network to learn a hybrid implicit representation is a key step of this application. The neural network is trained using 3D model data. During the training process, a surface point cloud is extracted for each model, and the neural network is trained based on the SDF and UDF values ​​of the surface point cloud. The surface point cloud is a set of points uniformly sampled from the model surface. For each sampled point, its SDF value to the model surface is calculated. The SDF calculation process includes using existing SDF calculation methods for closed surfaces. For open surfaces, they are first converted into a closed, watertight surrogate model, and then the SDF value is calculated. The surrogate model can be constructed using various methods, such as dilation, which expands the open surface a small distance to both sides along the normal direction to form a thin closed body; or boundary completion, which finds the boundaries of the open surface and then uses a triangulation algorithm (such as Delaunay triangulation) to connect the boundaries to form a closed surface. The preferred method adopted in this application further includes finding the boundary of the open surface, grouping the boundary points (boundary points belonging to the same hole are grouped together), calculating a plane for each group of boundary points, projecting the boundary points onto the plane, then triangulating the projected points, and finally adding these triangular patches to the original model to form a closed proxy model.

[0046] Based on the above embodiments, the present invention further improves upon this invention. In this embodiment, the calculation process for calculating the SDF value from each sampling point to the model surface is further improved. The distance from the point to all triangular faces of the model can be directly calculated, and the minimum value is taken as the UDF value. To accelerate the calculation, spatial partitioning data structures (such as octrees and kd-trees) can be used to speed up the nearest neighbor search.

[0047] Based on the above embodiments, the present invention further improves upon the previous one by introducing a loss function to train the neural network. The loss function is mainly obtained through the SDF loss function and the UDF loss function.

[0048] The SDF loss function is: L_SDF = BCE(s_pred, s_gt).

[0049] s_pred is the SDF value predicted by the network.

[0050] s_gt is the actual SDF value (from the training data).

[0051] BCE stands for Binary Cross Entropy Loss.

[0052] UDF loss function: $L_{UDF} = \|u_{pred} - u_{gt}\|_2$

[0053] $u_{pred}$ is the UDF value predicted by the network.

[0054] $u_{gt}$ is the true UDF value (from training data).

[0055] $\|\cdot\|_2$ is the L2 norm.

[0056] According to the SDF loss function and the UDF loss function, the total loss function (TotalLoss) of this application is obtained: $L=\lambda_{SDF}*L_{SDF}+\lambda_{UDF}*L_{UDF}$. $\lambda_{SDF}$ and $\lambda_{UDF}$ are weight coefficients used to balance the importance of the SDF loss and the UDF loss, and usually both are set to 1.

[0057] In the specific training process, the optimizer (Optimizer) of this application usually uses the Adam or AdamW optimizer; the initial learning rate of the learning rate (LearningRate) is usually set to $1e - 3$ or $1e - 4$, and the learning rate decay strategy (such as cosine annealing) is used to gradually reduce the learning rate; the batch size (BatchSize) is usually set to 1024 or 2048; the number of training epochs (Epochs) is usually trained for 1000 or more epochs until the loss function converges; to prevent gradient explosion, gradient clipping (GradientClipping) technology can be used; to prevent overfitting, weight decay (WeightDecay) technology can be used.

[0058] Based on the above embodiments, the present invention is further improved. In order to more effectively utilize UDF information during training, the embodiments of this application can perform binarization processing on the true UDF value $u_{gt}$:

[0059] `u_gt_binary=(u_gt < Ru).float()`

[0060] If `u_gt < Ru`, then `u_gt_binary = 1`

[0061] If `u_gt >= Ru`, then `u_gt_binary = 0`

[0062] Then, the binarized UDF value is used to calculate the UDF loss:

[0063] `L_{UDF}=\|u_{pred}-u_{gt_binary}\|_2`

[0064] The advantage of doing this is that it transforms UDF learning into a binary classification problem, simplifying UDF learning; and it can more clearly indicate which regions of the network should be "carved out".

[0065] Based on the above embodiments, the present invention further improves upon this invention. In this embodiment, to improve training efficiency and the quality of the generated model, a hybrid sampling strategy is adopted, the process of which includes:

[0066] 1. Surface Sampling: Uniformly sample a portion of points from the surface of the model.

[0067] 2. Space Sampling: Uniformly sample a portion of points in the space surrounding the model.

[0068] 3. Near-Surface Sampling: Sampling a subset of points near the model surface.

[0069] Specifically, for each surface sampling point, a new sampling point is generated by randomly offsetting it a small distance along its normal direction. This increases the sampling density near the model surface, improving the model's ability to represent details. The ratio of the three sampling methods can be adjusted according to the specific dataset and task. For example, the ratio of the three sampling methods can be set to 1:1:1 or 2:1:1.

[0070] After training, the neural network of this application can extract the surface of the target 3D model from the hybrid implicit representation. The extraction process includes...

[0071] Initial Surface Extraction: First, an initial surface mesh is extracted from the SDF using the MarchingCubes algorithm. Since the SDF represents a closed, watertight base shape, this step yields a mesh without open boundaries. `mesh_initial = MarchingCubes(SDF);`

[0072] Surface sculpting: The initial surface mesh is then "sculpted" using a UDF to generate a target shape with open boundaries. The steps include:

[0073] 1) Traverse each triangle face of the initial mesh. For each triangle face, obtain the coordinates v1, v2, v3 of its three vertices.

[0074] 2) For each vertex, query its UDF value: u1=UDF(v1), u2=UDF(v2), u3=UDF(v3);

[0075] 3) Determine if clipping is needed. If u1, u2, and u3 are all less than the threshold Ru, keep the triangle face; if u1, u2, and u3 are all greater than or equal to the threshold Ru, remove the triangle face. If u1, u2, and u3 contain both values ​​less than Ru and values ​​greater than or equal to Ru, then clipping the triangle face is necessary.

[0076] 4) Clipping Triangle Faces, the process includes:

[0077] If one vertex is inside the "valid region" and two vertices are outside the "invalid region" (OneVertexInside, TwoVertexOutside):

[0078] Find the vertex v_in within the "valid region" and the two vertices v_out1 and v_out2 outside the "invalid regions". Calculate the intersection point v_intersect1 of the edge between v_in and v_out1 with the u=Ru isosurface, and calculate the intersection point v_intersect2 of the edge between v_in and v_out2 with the u=Ru isosurface. Generate a new triangle face with vertices v_in, v_intersect1, and v_intersect2.

[0079] Linear interpolation can be used to calculate the intersection points.

[0080] v_intersect1=v_in+(v_out1-v_in)*(Ru-u_in) / (u_out1-u_in)

[0081] v_intersect2=v_in+(v_out2-v_in)*(Ru-u_in) / (u_out2-u_in).

[0082] If two vertices are inside the "valid region" and one vertex is outside the "invalid region" (TwoVerticesInside, OneVertexOutside):

[0083] Find the vertex v_out outside the "invalid region" and the two vertices v_in1 and v_in2 within the two "valid regions". Calculate the intersection point v_intersect1 of the edge between v_out and v_in1 with the u=Ru isosurface, and calculate the intersection point v_intersect2 of the edge between v_out and v_in2 with the u=Ru isosurface, generating two new triangular facets. The vertices of the first triangular facet are v_in1, v_intersect1, and v_intersect2. The vertices of the second triangular facet are v_in1, v_intersect2, and v_in2. The intersection point is calculated using the same method.

[0084] 5) Repeat steps 1)-4) until all the triangle faces of the initial mesh have been processed.

[0085] Based on the above embodiments, the present invention further improves upon this invention. In this embodiment, in order to further improve the quality of the generated surface and eliminate the error introduced by the UDF threshold Ru, the present invention performs boundary shrinkage on the clipped mesh, the process of which includes:

[0086] Extracting Boundary Edges: Identify all edges belonging to a single triangular facet; these edges form the boundaries of the clipped mesh. Calculating the UDF Gradient of Boundary Points: For each boundary point, calculate its UDF gradient. Since the gradient of the UDF is not directly learned, numerical methods can be used to approximate the gradient. For example, the central difference method can be used: ∇UDF(p)≈(UDF(p+ε*n)-UDF(p-ε*n)) / (2ε) where n is the normal vector at the boundary point (obtained by averaging the normal vectors of adjacent triangular faces), and ε is a small positive number. Moving Boundary Points Along the UDF Gradient Direction: Move each boundary point a small distance along the negative direction of the UDF gradient. The distance moved can be proportional to the magnitude of the UDF gradient, or set to a fixed value: v_new=v_old-α*∇UDF(v_old) where v_old is the original boundary point, v_new is the moved boundary point, and α is the step size. Retriangulation: The moved boundary points are retriangulated to obtain a new mesh. Algorithms such as Delaunay triangulation can be used.

[0087] Based on the above embodiments, the present invention further improves upon this invention. In this embodiment, after clipping and boundary shrinkage, some small holes or artifacts may still remain. Post-processing techniques are used to further improve the quality of the generated model, such as: Hole Filling: using mesh repair algorithms (e.g., MeshFix) to fill small holes; Smoothing: using mesh smoothing algorithms (e.g., Laplacian Smoothing) to smooth the surface; Remeshing: using mesh re-meshing algorithms (e.g., InstantMeshes) to improve mesh quality. These steps further enhance the quality of the generated target 3D model.

[0088] The hybrid implicit representation of this invention can control the topology of the generated model in multiple ways. By adjusting the UDF threshold Ru, the degree of "carving" can be controlled, thereby changing the model's topology. The larger Ru is, the more parts are "carved away," and the more "open" the generated model is. The smaller Ru is, the less parts are "carved away," and the more "closed" the generated model is. In the encoder-decoder structure, the topology of the generated model can be controlled by adding topological information to the conditional input. For example, an additional text label can be used to indicate whether the model should be closed or open, or an additional vector can be used to represent the model's genus. Multiple UDFs can be used to control the topology of different parts of the model separately. For example, one UDF can be used to control whether the cuffs of a garment are open, and another UDF can control whether the collar of a garment is open. The threshold Ru of the UDF can be set to a learnable parameter, allowing the network to automatically learn the optimal threshold. After the model is generated, the topology can be explicitly edited by manually editing the UDF field. For example: connection: connecting two originally separate surfaces can create a "bridge" between the two surfaces, and the UDF value of the "bridge" region can be set to be less than Ru. Disconnect: Disconnect a previously connected surface. A "barrier" can be created at the point of disconnection, and the UDF value of the "barrier" region can be set to greater than or equal to Ru. Add / Delete Holes: Adding or deleting holes in the model can be achieved by modifying the UDF value of the hole region.

[0089] This application's method overcomes the limitations of implicit representation, enabling the representation of open surfaces and non-manifold geometry. Traditional implicit representation methods (such as SDF and occupancy fields) are mainly used to represent closed, watertight geometry, and struggle to handle open surfaces and non-manifold geometry. The hybrid implicit representation method proposed in this invention, by combining the advantages of SDF and UDF, can simultaneously represent closed and open surfaces, overcoming this limitation. This is because SDF is responsible for representing a basic shape (usually closed), while UDF is responsible for "sculpting" the SDF, removing unnecessary parts to create a shape with open boundaries. This representation naturally supports various topologies.

[0090] The method proposed in this application achieves high-quality surface extraction, avoiding the problem of zero isosurfaces in UDFs: Extracting high-quality surfaces from UDFs has always been a challenge, as traditional zero isosurface-based methods are prone to producing holes and artifacts. The extraction method based on non-zero isosurfaces in UDFs proposed in this invention cleverly avoids the discontinuity problem of zero isosurfaces by setting a threshold Ru, enabling the generation of smooth, continuous, and artifact-free surfaces. Furthermore, the proposed boundary shrinkage algorithm further improves the quality of the generated surface.

[0091] This application provides a flexible topology control mechanism capable of generating 3D models with controllable topology structures. The invention offers various methods for controlling the topology of generated models, including adjusting the UDF threshold Ru, using conditional input, multiple UDFs, learnable UDF thresholds, and explicit topology editing methods. These methods allow users to precisely control the topology of the generated model as needed, for example, specifying whether the model is closed or open, or controlling the number and location of holes in the model.

[0092] The method in this application provides a unified framework that simplifies the generation process of complex models: This invention provides a unified framework that can handle both closed and open surfaces simultaneously, avoiding the complexity of training multiple models separately. This makes generating 3D models with complex topologies simpler and more efficient. For example, when generating a human body model wearing clothes, only one model needs to be trained to simultaneously generate the human body (closed surface) and the clothes (open surface).

[0093] The method proposed in this application is easy to integrate and highly scalable: It can be easily integrated into existing SDF-based generative models by simply adding an additional UDF output. Furthermore, this invention can be extended to various application scenarios, such as image-to-3D model generation, text-to-3D model generation, and part-based generation.

[0094] In summary, the method proposed in this invention outperforms existing technologies in terms of representation capability, surface extraction quality, topology control capability, generation process, and scalability, providing a more powerful, flexible, and easier-to-use tool for the field of 3D model generation.

[0095] This application also discloses an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the method described in any of the above embodiments through the computer program.

[0096] This application also discloses a computer-readable storage medium comprising a stored program, wherein the program, when executed by a processor, performs the methods described in any of the embodiments.

[0097] This application implements all or part of the processes in the above embodiments, which can be accomplished by a computer program instructing related hardware. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include at least: any entity or device capable of carrying computer program code to a device / electronic device, recording media, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media. Examples include USB flash drives, portable hard drives, magnetic disks, or optical disks. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electrical carrier signals or telecommunication signals.

[0098] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0099] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0100] In the embodiments provided in this application, it should be understood that the disclosed devices / electronic devices and methods can be implemented in other ways. For example, the device / electronic device controller embodiments described above are merely illustrative. For instance, the division of modules or 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 displayed or discussed mutual couplings or direct couplings or communication connections may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.

[0101] 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.

[0102] 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, and should all be included within the protection scope of this application.

[0103] The scope of protection of this invention is not limited thereto. Any variations or substitutions of technical solutions that can be conceived without inventive effort should be included within the scope of protection of this invention. The scope of protection of this invention is determined by the claims.

Claims

1. A method of generating a three-dimensional model compatible with an open surface, characterized by , including, learning a hybrid implicit representation by training a neural network, representing a base shape of the target 3D model using the SDF of the hybrid implicit representation, adjusting the base shape using the UDF of the hybrid implicit representation to finally obtain the target 3D model with open surfaces; The SDF-represented base shape is a closed shape that is topologically homeomorphic to the target shape but has no open boundary; the UDF is used to delete a specified region on the closed base shape to generate the target shape with an open boundary; The process of deleting a specified region on the closed base shape using the UDF includes setting a threshold Ru, regarding the region with a non-negative distance u < Ru to the target shape as a valid region to be retained, and regarding the region with u >= Ru as an invalid region to be deleted.

2. The method of claim 1, wherein, In the process of learning a hybrid implicit representation by training a neural network, the trained neural network is one of a multilayer perceptron model MLP, a convolutional neural network model CNN, or a Transformer model. The hybrid implicit representation form is (s, u) = Network(p; θ), where p = (x, y, z) is the input value of the neural network, representing the three-dimensional coordinates of the point in space; θ represents the parameters of the neural network Network; s is the SDF value, representing the signed distance from the point p in space to the target shape; u is the UDF value, representing the non-negative distance from the point p in space to the target shape.

3. The method of claim 2, wherein, The neural network training process includes training the neural network by combining a plurality of three-dimensional models into training data and a loss function, wherein each three-dimensional model includes a surface point cloud P composed of a set of uniformly sampled sampling points from the surface of the three-dimensional model, an SDF value of each sampling point, and a UDF value of each sampling point.

4. The method of claim 2, wherein, The neural network further includes an encoder for supporting conditional generation, which encodes the input condition information into a latent vector z.

5. The method of claim 4, wherein, The neural network further includes a decoder for supporting conditional generation, which takes the point p spatial coordinates and the latent vector z as input and outputs the SDF value s and the UDF value u of the point.

6. The method of claim 5, wherein, The decoder is a multilayer perceptron model MLP.

7. An electronic device comprising a memory and a processor, characterized in that The memory stores a computer program, and the processor is configured to execute the method of any one of claims 1-6 by the computer program.

8. A computer readable storage medium, characterized in that, The computer-readable storage medium includes a stored program, wherein the program is executed by the processor to perform the method of any one of claims 1-6.

Citation Information

Patent Citations

  • Monocular three-dimensional model generation method and device based on undirected distance function

    CN119006745A

  • Acoustic boundary element method combined with nerve implicit three-dimensional reconstruction

    CN119888080A