Techniques for training machine learning models to automate tasks associated with 3D cad objects
In various embodiments, a training application trains machine learning models to perform tasks associated with 3D CAD objects that are represented using B-reps. In operation, the training application computes a preliminary result via a machine learning model based on a representation of a 3D CAD object that includes a graph and multiple 2D UV-grids. Based on the preliminary result, the training application performs one or more operations to determine that the machine learning model has not been trained to perform a first task. The training application updates at least one parameter of a graph neural network included in the machine learning model based on the preliminary result to generate a modified machine learning model. The training application performs one or more operations to determine that the modified machine learning model has been trained to perform the first task.
1 . A computer-implemented method for training machine learning models to perform tasks associated with three-dimensional (3D) computer-aided design (CAD) objects that are represented using boundary-representations (B-reps), the method comprising:
computing a first preliminary result via a machine learning model based on a first representation of a first 3D CAD object that includes a first graph, a plurality of one-dimensional (1D) UV grids, and a plurality of two-dimensional (2D) UV-grids;
performing one or more operations to determine that the machine learning model has not been trained to perform a first task based on the first preliminary result;
updating at least one parameter of a graph neural network included in the machine learning model based on the first preliminary result to generate a modified machine learning model; and
performing one or more operations to determine that the modified machine learning model has been trained to perform the first task.
2 . The computer-implemented method of claim 1 , wherein updating the at least one parameter of the graph neural network comprises:
computing an error based on the first preliminary result and one or more labels associated with the first representation; and
performing at least one of a backpropagation operation or a gradient descent operation on the machine learning model based on the error to update a plurality of parameters of the machine learning model.
3 . The computer-implemented method of claim 2 , wherein the plurality of parameters includes the at least one parameter of the graph neural network and at least one parameter of at least one convolutional neural network included in the machine learning model.
4 . The computer-implemented method of claim 1 , wherein computing the first preliminary result comprises:
performing one or more transformation operations on the first representation to generate a second representation of a transformed 3D CAD object for contrastive learning; and
mapping the transformed 3D CAD object to the first preliminary result via the machine learning model.
5 . The computer-implemented method of claim 4 , wherein performing the one or more transformation operations comprises at least one of extracting a connected patch, dropping a node, or dropping an edge from the first representation.
6 . The computer-implemented method of claim 1 , wherein updating the at least one parameter of the graph neural network comprises:
computing a contrastive loss based on the first preliminary result and a second preliminary result, wherein the first preliminary result and the second preliminary result are associated with a positive pair of views derived from the first representation; and
performing at least one of a backpropagation operation or a gradient descent operation on the machine learning model based on the contrastive loss.
7 . The computer-implemented method of claim 1 , wherein computing the first preliminary result comprises:
mapping the plurality of 2D UV-grids to a plurality of node feature vectors via a first convolutional neural network included in the machine learning model;
mapping the plurality of one-dimensional (1D ) UV-grids to a plurality of edge feature vectors via a second convolution neural network included in the machine learning model; and
mapping the first graph, the plurality of node feature vectors, and the plurality of edge feature vectors to at least one of a plurality of node embeddings or a shape embedding via the graph neural network.
8 . The computer-implemented method of claim 7 , wherein computing the first preliminary result further comprises mapping the at least one of the plurality of node embeddings or the shape embedding to at least one of a plurality of face results or a shape result via a task-specific machine learning model.
9 . The computer-implemented method of claim 1 , further comprising:
rotating a training B-rep of a training 3D CAD object to generate a first B-rep of the first 3D CAD object; and
computing the first representation based on the first B-rep.
10 . The computer-implemented method of claim 1 , wherein the first task comprises classifying shapes of 3D objects, segmenting faces of 3D objects, classifying faces of 3D objects, or clustering shape embeddings of multiple 3D objects.
11 . One or more non-transitory computer readable media including instructions that, when executed by one or more processors, cause the one or more processors to train machine learning models to perform tasks associated with three-dimensional (3D ) computer-aided design (CAD) objects that are represented using boundary-representations (B-reps) by performing the steps of:
computing a first preliminary result via a machine learning model based on a first representation of a first 3D CAD object that includes a first graph, a plurality of one-dimensional (1D ) UV grids, and a plurality of two-dimensional (2D) UV-grids;
performing one or more operations to determine that the machine learning model has not been trained to perform a first task based on the first preliminary result;
updating at least one parameter of a graph neural network included in the machine learning model based on the first preliminary result to generate a modified machine learning model; and
performing one or more operations to determine that the modified machine learning model has been trained to perform the first task.
12 . The one or more non-transitory computer readable media of claim 11 , wherein updating the at least one parameter of the graph neural network comprises:
computing an error based on the first preliminary result and one or more labels associated with the first representation; and
performing at least one of a backpropagation operation or a gradient descent operation on the machine learning model based on the error to update a plurality of parameters of the machine learning model.
13 . The one or more non-transitory computer readable media of claim 12 , wherein the one or more labels comprise at least one of a plurality of labels associated with a plurality of faces included in a B-rep of the first 3D CAD object or a shape label associated with the B-rep.
14 . The one or more non-transitory computer readable media of claim 11 , wherein computing the first preliminary result comprises:
performing one or more transformation operations on the first representation to generate a second representation of a transformed 3D CAD object for contrastive learning; and
mapping the transformed 3D CAD object to the first preliminary result via the machine learning model.
15 . The one or more non-transitory computer readable media of claim 14 , wherein performing the one or more transformation operations comprises at least one of extracting a connected patch, dropping a node, or dropping an edge from the first representation.
16 . The one or more non-transitory computer readable media of claim 11 , wherein updating the at least one parameter of the graph neural network comprises:
computing a contrastive loss based on the first preliminary result and a second preliminary result, wherein the first preliminary result and the second preliminary result are associated with a positive pair of views derived from the first representation; and
performing at least one of a backpropagation operation or a gradient descent operation on the machine learning model based on the contrastive loss.
17 . The one or more non-transitory computer readable media of claim 11 , wherein computing the first preliminary result comprises:
mapping the plurality of 2D UV-grids to a plurality of node feature vectors via a first convolutional neural network included in the machine learning model;
mapping the plurality of one-dimensional (1D ) UV-grids to a plurality of edge feature vectors via a second convolution neural network included in the machine learning model; and
mapping the first graph, the plurality of node feature vectors, and the plurality of edge feature vectors to at least one of a plurality of node embeddings or a shape embedding via the graph neural network.
18 . The one or more non-transitory computer readable media of claim 17 , wherein the first convolutional neural network includes a plurality of weights that are shared between the plurality of 2D UV-grids, and wherein a second convolutional neural network includes a second plurality of weights that are shared between the plurality of 1D UV-grids.
19 . The one or more non-transitory computer readable media of claim 11 , further comprising computing the first representation based on a B-rep of the first 3D CAD object.
20 . A system comprising:
one or more memories storing instructions; and
one or more processors coupled to the one or more memories that, when executing the instructions, perform the steps of:
computing a preliminary result via a machine learning model based on a representation of a three-dimensional computer-aided design object that includes a first graph, a plurality of one-dimensional (1D ) UV grids, and a plurality of two-dimensional (2D) UV-grids;
performing one or more operations to determine that the machine learning model has not been trained to perform a task based on the preliminary result;
updating at least one parameter of a graph neural network included in the machine learning model based on the preliminary result to generate a modified machine learning model; and
performing one or more operations to determine that the modified machine
learning model has been trained to perform the task.
21 . The computer-implemented method of claim 1 , wherein each of the plurality of 1D UV grids comprises a regular 1D grid of samples associated with a uniform step size.
22 . The computer-implemented method of claim 1 , wherein each of the plurality of 1D UV grids comprises a plurality of samples in a parameter domain of a corresponding parametric curve.