Improved graph neural network model for dental three-dimensional model
Patent Information
- Application Number
- CN202580020606.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-01-11
- Filing Date
- 2025-01-09
- Publication Date
- 2026-10-13
AI Technical Summary
使用GNN模型的一个挑战在于计算与图的边和/或节点相关联的权重,并且这些边和/或节点通常可能以CNN模型看待像素的方式被看待,即作为具有相同形状和面积的元素
[0069]另一方面,本公开的计算机实施的方法能够训练一种GNN模型,该GNN模型可以有效地准确检测与牙弓相关联的各种病症,并分割不同类型的牙齿。根据本公开的GNN模型利用反映与三维(3D)网格相关联的图的节点的特征之间的关系的权重集合。以这种方式,可以获得自适应GNN模型,该GNN模型可以基于图中相邻节点和边之间的关系来计算其自身的权重。实际上,可以提高GNN模型的可预测性。在一些实施例中,计算机实施的方法提供了多种方法来确定GNN模型的一组卷积层中的每个层的多个权重。GNN模型的每个层可以被训练以确定要应用于相应卷积层的不同权重集合。本公开的经训练的GNN模型对于对象识别和分割任务可能只需要单个图。通过本公开的计算机实施的方法训练的GNN模型能够准确且高效地检测与牙弓相关联的各种病症,并分割不同类型的牙齿。
Smart Images

Figure CN122910490A_ABST
Abstract
Description
Technical Field
[0001] The exemplary embodiments of this disclosure generally relate to graph neural network models, and more specifically to computer-implemented methods and systems for segmenting and / or classifying 3D models based on improved graph neural network models. Background Technology
[0002] Recent technological advancements have led to innovation across various industries, including dentistry. Typically, users (such as dentists) can use different types of tools and software to acquire images of a patient's dental arch. The acquired images and / or 3D models constructed based on them can be processed to identify various conditions, such as unhealthy tissue in the gums, gum disease, cavities, etc. Furthermore, this processing can be performed to segment different types of teeth based on, for example, molars, premolars, incisors, and canines. Moreover, the acquired images can be processed to determine whether the teeth in the acquired images are deciduous teeth or adult teeth (such as permanent teeth).
[0003] A common approach to analyzing 3D models of dental arches involves using convolutional neural networks (CNNs) on 2D images obtained from the 3D model for object recognition and segmentation tasks. The acquired images can be fed into a CNN model, which can then be used to detect various conditions associated with the dental arch and segment different types of teeth. CNN models cannot directly use the 3D model as input; instead, specific data sampling, such as creating 2D images, is required. Therefore, if a CNN model is to be applied to a 3D model, multiple 2D images need to be obtained from the 3D model. These 2D images can then be fed into the CNN model to perform tasks such as segmentation. This process can be cumbersome, especially since the results need to be back-projected onto the 3D model to obtain the segmentation in 3D format. Therefore, a method that directly processes the 3D model is desired, as this would improve the efficiency, speed, and overall simplicity of processing 3D models (e.g., 3D dental models). To this end, it has been found that graph neural network (GNN) models can be used on 3D models represented by graphs for object recognition and / or segmentation tasks. 3D models can be constructed from scanned images obtained by scanning an object of interest. Images can be processed to generate three-dimensional (3D) meshes, and these meshes can be further mapped to graphs. Graphs can be fed into GNN models to detect various conditions associated with the dental arch and to segment different types of teeth. One challenge with GNN models is computing the weights associated with the edges and / or nodes of the graph, which are often viewed in the same way that CNN models view pixels—as elements with the same shape and area. While pixels carry information about the same parts, the edges and / or nodes of a graph can include different amounts of information. Therefore, novel methods for weight computation using a given graph representation are desired.
[0004] Therefore, improved systems and methods for processing three-dimensional models of dental arches could be beneficial. Summary of the Invention
[0005] A computer-implemented method and system for training a graph neural network (GNN) model are provided. Further, a computer-implemented method and system for predicting label values associated with patches of a three-dimensional (3D) mesh representing at least a portion of a dental arch are provided. Additionally, the use of this computer-implemented method and system for predicting label values is provided.
[0006] In one aspect, a computer-implemented method for training a graph neural network (GNN) model is provided, the method comprising:
[0007] - Generate a graph corresponding to a three-dimensional (3D) mesh, wherein the 3D mesh is associated with surface information of at least a portion of the dental arch.
[0008] - Obtain ground truth data, which indicates the features of the 3D mesh that the GNN model wants to predict.
[0009] - The 3D mesh graph and ground truth data are fed as input to the GNN model, which consists of a set of convolutional layers.
[0010] - Apply a set of weights to each convolutional layer in this group, where the set of weights corresponds to the differences between nodes in the graph.
[0011] - Receives output data indicating predicted features of the 3D mesh, which is the output of a GNN model to which a weight set has been applied.
[0012] - The trainable parameters of the GNN model are iteratively updated by comparing the output data with the ground truth data until a predefined loss function threshold is reached.
[0013] Differences between nodes in a graph can involve geometric relationships between nodes and / or geometric relationships between features of nodes.
[0014] In a method according to one embodiment, the weight set can explain the variability of the nodes and / or edges of the graph.
[0015] In some embodiments, the computer-implemented method may further include receiving surface information of at least that portion of the dental arch from a handheld intraoral scanning device.
[0016] In some embodiments, the computer-implemented method may further include generating a 3D mesh based on the captured surface information.
[0017] In some embodiments, the computer-implemented method may further include generating a graph corresponding to the 3D mesh based on a direct mapping technique. The direct mapping technique may include transforming the vertices of each facet of the 3D mesh into nodes of the graph, and transforming the edges of each facet of the 3D mesh into edges of the graph, to generate the graph.
[0018] In some embodiments, the computer-implemented method may further include generating a graph corresponding to the 3D mesh based on edge mapping techniques. Edge mapping techniques may include transforming the edges of each facet of the 3D mesh into nodes of the graph. If two edges of the 3D mesh belong to the same facet, the corresponding nodes in the graph are connected to form the edges of the graph.
[0019] In some embodiments, the computer-implemented method may further include generating a graph corresponding to a 3D mesh based on a patch mapping technique. The patch mapping technique may include transforming each patch of the 3D mesh into a corresponding node of the graph. If two patches of the 3D mesh are connected, then the two corresponding nodes of the graph are connected. If patches of the 3D mesh share a common edge, then these patches are connected.
[0020] According to the above techniques, a graph corresponding to a 3D mesh can be generated based on the 2D surface of the 3D mesh, particularly based on the connectivity of the 3D mesh's patches. In this way, information about the 3D mesh is distributed across the 2D surface. These graph generation methods allow each node of the graph to have up to a maximum of four neighboring nodes. This relatively small neighbor node density improves the efficiency of covering large surface areas of the 3D mesh according to the methods of this disclosure. Therefore, the methods of this disclosure may be particularly useful for detecting features and / or feature variations on the surface of a 3D mesh.
[0021] The ground truth data can include the label values for each facet of the 3D mesh. In this case, the output data can include the predicted label values for each facet of the 3D mesh. Thus, the GNN model can perform classification tasks for each facet of the 3D mesh, such as segmenting a jaw into individual teeth.
[0022] In one example, ground truth data could include the label values of a 3D mesh. In this case, the output data could include the predicted label values of a 3D mesh. Thus, the GNN model could perform classification tasks across the entire 3D mesh, such as classifying a jaw as maxillary or mandibular.
[0023] In one embodiment, the weight set can be determined in the following way:
[0024] For each node in the graph, the associated edges are sorted according to a criterion to obtain a sorted sequence of edges, and a weight is assigned to each sorted edge based on its position in the sequence. Thus, the same weight can be assigned to edges at the same position across different sorted sequences. For example, all edges at the first position across different sorted sequences will be assigned the same weight. In this case, the weight set can be the edge weight set.
[0025] The criteria used to sort the edges associated with a node can be, for example, edge size or the area of adjacent faces. The criteria used to sort the edges can differ for different convolutional layers in a GNN model, which can improve flexibility during the design of the GNN model.
[0026] In another embodiment, the weight set can be determined in the following way:
[0027] For each node in the graph, a first machine learning algorithm is applied to the corresponding node features, and weights are assigned to the corresponding node based on the output of the applied first machine learning algorithm, such that the weights have the same value whenever the corresponding node is used in a convolutional layer of this set of convolutional layers. Each convolutional layer of the GNN model can utilize a different first machine learning algorithm. In this case, the weight set can be the set of node weights.
[0028] The first machine learning algorithm can be included in the GNN model. Therefore, the first machine learning algorithm can be trained together with the GNN model. Alternatively, the first machine learning algorithm can be a separate algorithm from the GNN model. The output of the first machine learning algorithm can be provided as input to the GNN model, and thus is not part of the GNN model training.
[0029] In another embodiment, the weight set can be determined in the following way:
[0030] For each oriented neighbor pair in the graph, a second machine learning algorithm is applied to the features of the corresponding neighbor, and weights are assigned to the edges including the corresponding neighbor based on the output of the applied second machine learning algorithm. In this case, the weight set can be the edge weight set. Each neighbor pair can be oriented from the first neighbor to the second neighbor, or vice versa. For example, neighboring nodes A and B can form an oriented neighbor pair AB or BA. The orientation of the neighboring nodes defines the input order to the second machine learning algorithm. Thus, depending on the orientation of the neighboring nodes that define an edge, different weights can be assigned to an edge. Each convolutional layer of the GNN model can include a separate second machine learning algorithm.
[0031] The second machine learning algorithm can be included in the GNN model. Therefore, the second machine learning algorithm can be trained together with the GNN model. Alternatively, the second machine learning algorithm can be a separate algorithm from the GNN model. The output of the second machine learning algorithm can be provided as input to the GNN model, and thus is not part of the GNN model training. The second machine learning algorithm can be the same as the first machine learning algorithm.
[0032] In another embodiment, the weight set can be determined in the following way:
[0033] - For each node in the graph, the associated edges are sorted according to a criterion to obtain a sorted sequence of edges.
[0034] - Provide the features corresponding to the sorted associated edges to a third machine learning algorithm, and
[0035] - Weights are assigned to each sorted edge based on the output of a third machine learning algorithm. In this case, the set of weights can be the set of edge weights. Each convolutional layer of the GNN model can include a different third machine learning algorithm.
[0036] A third machine learning algorithm can be included in the GNN model. Therefore, the third machine learning algorithm can be trained together with the GNN model. Alternatively, the third machine learning algorithm can be provided as input to the GNN model, and thus is not part of the GNN model training. The third machine learning algorithm can be the same as the first and / or second machine learning algorithm.
[0037] The weight set can be trainable parameters of the GNN model. Therefore, the weight set is adjustable during GNN model training. Alternatively, the weight set can be predetermined and can form part of the input to the GNN model.
[0038] The method according to this disclosure may also include assigning a set of weights to nodes to obtain the maximum convolution value. The same weights can be used for each node. The number of weights may be less than the maximum number of neighbors, and in this case, the weight assignment may include selecting the nodes to which the weight set is assigned.
[0039] A GNN model may include histogram pooling layers. A method according to one embodiment may include:
[0040] - Determine the distribution of node features across the nodes of the graph.
[0041] - Histogram pooling layers are generated by discretizing the determined distribution, where the histogram pooling layers are defined by histogram pooling layer parameters.
[0042] According to one embodiment, a computer-implemented method is disclosed for predicting label values associated with patches of a three-dimensional (3D) mesh representing at least a portion of a dental arch, the method comprising:
[0043] - Generate a first 3D mesh associated with first surface information of at least a portion of the first dental arch.
[0044] - Generate a first image based on the received first 3D mesh.
[0045] - The generated first graph is fed as input to the trained graph neural network (GNN) model.
[0046] - Receive as output a first set of predicted label values associated with patches of a first 3D mesh, wherein a trained GNN model is trained according to any of the presented embodiments. This embodiment may relate to patch classification of a 3D mesh, such as identifying patches belonging to a single tooth or gingiva, or identifying the presence of dental conditions.
[0047] A trained graph neural network (GNN) model may include histogram pooling layers determined in the following manner:
[0048] - Determine the distribution of node features across the nodes of the graph.
[0049] - Histogram pooling layers are generated by discretizing the determined distribution, where the histogram pooling layers are defined by histogram pooling layer parameters.
[0050] According to one embodiment, a computer-implemented method is disclosed for predicting label values associated with a three-dimensional (3D) mesh representing at least a portion of a dental arch, the method comprising:
[0051] - Generate a first 3D mesh associated with first surface information of at least a portion of the first dental arch.
[0052] - Generate a first image based on the received first 3D mesh.
[0053] - The generated first graph is fed as input to the trained graph neural network (GNN) model.
[0054] - Receive as output a first set of predicted label values associated with a first 3D mesh, wherein a trained GNN model is trained according to any of the presented embodiments. This embodiment may involve the classification of a complete 3D mesh, such as classifying a 3D mesh as maxilla and / or mandible.
[0055] Generating a first graph based on the received first 3D mesh can be performed by transforming the faces of the first 3D mesh into nodes and edges of the first graph.
[0056] The computer-implemented method for predicting label values can be used for any of the following:
[0057] a) Divide at least a portion of the dental arch into a 3D mesh of at least one of the gingiva or teeth.
[0058] b) Detect one or more objects based on a 3D mesh of at least a portion of the dental arch.
[0059] c) Detecting and scoring one or more diseases associated with dental conditions in at least a portion of the dental arch, based on a 3D mesh of at least a portion of the dental arch.
[0060] d) Identify the type of one or more teeth based on a 3D mesh of at least a portion of the dental arch, and / or
[0061] e) Determine tooth wear based on a 3D mesh of at least a portion of the dental arch and score the tooth wear.
[0062] In another aspect, a system is provided that includes a non-transitory computer-readable medium having computer-executable instructions stored thereon. These instructions, when executed by processing circuitry, can cause the processing circuitry to perform any computer-implemented method.
[0063] The system may include a computer capable of performing methods according to any computer implementation.
[0064] Non-transitory computer-readable media may include instructions that, when executed by a computer, cause the computer to perform a method according to one or more embodiments of the present disclosure.
[0065] A computer program product may be embodied in a non-transitory computer-readable medium. The computer program product may include instructions that, when executed by a computer, cause the computer to perform a method according to any embodiment of this disclosure.
[0066] The foregoing description of the invention is merely illustrative and is not intended to be limiting in any way. Other aspects, embodiments, and features will become apparent from the accompanying drawings and the following detailed description, in addition to the illustrative aspects, embodiments, and features described above.
[0067] According to this disclosure, a computer-implemented method, system, and uses of the computer-implemented method and system are provided. One object of this disclosure is to provide an improved architecture for a graph neural network (GNN) model, a corresponding training method, and its use for object recognition and segmentation. Another object of this disclosure is to utilize a trained GNN model to predict label values associated with a three-dimensional (3D) mesh of at least a portion of the dental arch. A further object of this disclosure is to use the predicted label values for various applications in the field of dentistry.
[0068] Conventional methods can be based on object recognition and segmentation using Convolutional Neural Network (CNN) or Graph Neural Network (GNN) models. CNN models can be applied to two-dimensional (2D) images of dental arches, and their output can be used for object recognition and segmentation. However, a drawback of CNN models is that they cannot be directly applied to 3D models. On the other hand, GNN models can be applied to graphs associated with 3D models obtained from dental arch images. The output of GNN models can be used to detect various conditions associated with dental arches and / or segment different types of teeth. However, in conventional GNN models, the weights associated with the edges and nodes of the graph (if calculated) may be calculated in a suboptimal manner, for example, by treating the edges and / or nodes of the graph in the same way that CNN models treat pixels when processing 2D images. Weights calculated in this conventional manner do not reflect the relationships between adjacent edges and / or nodes of the graph. In other words, weights calculated using conventional methods do not account for the variability of nodes and / or edges.
[0069] On the other hand, the computer-implemented method of this disclosure is capable of training a GNN model that can efficiently and accurately detect various conditions associated with the dental arch and segment different types of teeth. The GNN model according to this disclosure utilizes a set of weights that reflect the relationships between features of nodes in a graph associated with a three-dimensional (3D) mesh. In this way, an adaptive GNN model can be obtained, which can compute its own weights based on the relationships between adjacent nodes and edges in the graph. In practice, the predictability of the GNN model can be improved. In some embodiments, the computer-implemented method provides multiple methods to determine multiple weights for each layer in a set of convolutional layers of the GNN model. Each layer of the GNN model can be trained to determine different sets of weights to be applied to the corresponding convolutional layer. The trained GNN model of this disclosure may only require a single graph for object recognition and segmentation tasks. The GNN model trained by the computer-implemented method of this disclosure can accurately and efficiently detect various conditions associated with the dental arch and segment different types of teeth. Attached Figure Description
[0070] This disclosure is illustrated by way of example, not limitation, in the accompanying drawings, wherein similar reference numerals denote similar elements, and wherein:
[0071] Figure 1 This is a diagram illustrating the network environment of a system for training a graph neural network (GNN) model and utilizing the trained GNN model according to an example embodiment;
[0072] Figure 2 The illustration shows an example embodiment. Figure 1 A block diagram of the system;
[0073] Figure 3This is a schematic diagram illustrating a three-dimensional (3D) mesh of a dental arch according to an example embodiment;
[0074] Figure 4A , Figure 4B and Figure 4C The illustrations together depict schematic diagrams of generating maps using 3D meshes according to an example embodiment;
[0075] Figure 5 This is a schematic diagram illustrating multiple weights of an application graph according to an example embodiment for training a GNN model;
[0076] Figure 6 It is a flowchart depicting the training of a GNN model according to an example embodiment;
[0077] Figure 7 It is a diagram depicting a prediction task using a trained GNN model according to an example embodiment;
[0078] Figure 8 This is a schematic diagram illustrating a classification task using a GNN model with histogram pooling layers according to an example embodiment; and
[0079] Figure 9A , Figure 9B and Figure 9C The illustration shows example diagrams depicting various applications of a trained GNN model according to another example embodiment. Detailed Implementation
[0080] In the following description, numerous specific details are set forth for purposes of explanation in order to provide a thorough understanding of this disclosure. However, it will be apparent to those skilled in the art that this disclosure may be practiced without these specific details. In other instances, systems and methods are shown only as block diagrams to avoid obscuring this disclosure.
[0081] In this specification, references to "an embodiment" or "an embodiment" mean that a particular feature, structure, or characteristic described in connection with that embodiment is included in at least one embodiment of this disclosure. The phrase "in an embodiment" appearing in various places throughout this specification does not necessarily refer to the same embodiment, nor is it a single or alternative embodiment mutually exclusive with other embodiments. Furthermore, the terms "a" and "an" as used herein do not indicate a limitation on quantity, but rather indicate the presence of at least one of the mentioned items. Moreover, various features are described that may be exhibited by some embodiments but not by others. Similarly, various requirements are described that may be required by some embodiments but not by others.
[0082] Some embodiments of this disclosure will now be described more fully below with reference to the accompanying drawings, which illustrate some, but not all, embodiments of this disclosure. In fact, various embodiments of this disclosure may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided to enable this disclosure to meet applicable legal requirements. Similar reference numerals refer to similar elements throughout. As used herein, the terms “data,” “content,” “information,” and similar terms are used interchangeably to refer to data capable of being transmitted, received, and / or stored according to embodiments of this disclosure. Furthermore, the terms “processor,” “controller,” and “processing circuitry,” and similar terms are used interchangeably to refer to a processor capable of processing information according to embodiments of this disclosure. Additionally, the terms “electronic device,” “electronic apparatus,” and “device” are used interchangeably to refer to an electronic device monitored by a system according to embodiments of this disclosure. Therefore, the use of any such terms should not be construed as limiting the spirit and scope of the embodiments of this disclosure.
[0083] The embodiments described herein are for illustrative purposes and may be varied. It should be understood that various substitutions of omissions and equivalents are contemplated, as circumstances may suggest or facilitate, but these are intended to cover applications or implementations that do not depart from the spirit or scope of this disclosure. Furthermore, it should be understood that the wording and terminology used herein are for descriptive purposes and should not be considered restrictive. Any headings used in this description are for convenience only and have no legal or limiting effect.
[0084] As used in this specification and claims, the terms “for example,” “for instance,” and “such as,” as well as the verbs “comprising,” “having,” “including,” and other verb forms thereof, when used in conjunction with a list of one or more components or other items, shall each be construed as open-ended, meaning that the list should not be interpreted as excluding other, additional components or items. Other terms shall be interpreted using their broadest reasonable meaning unless they are used in a context that requires a different interpretation.
[0085] A computer-implemented method and system for training a graph neural network (GNN) model are provided. Furthermore, a computer-implemented method and system for predicting label values associated with patches of a three-dimensional (3D) mesh representing at least a portion of a dental arch are provided. Additionally, the use of this computer-implemented method and system for predicting label values is also provided.
[0086] For example, refer to the following Figure 1 An exemplary network environment is provided for training GNN models and for utilizing trained GNN models.
[0087] Figure 1This is a diagram illustrating an exemplary network environment 100 for training a GNN model and utilizing the trained GNN model according to an example embodiment. The network environment 100 may include the system 102 and a handheld intraoral scanning device 104. The system 102 may also include a GNN model 106. The network environment 100 may also include a communication network 108. In one embodiment, the GNN model 106 may be communicatively coupled to the system 102 via the communication network 108. Furthermore, one or more components may be rearranged, altered, added, and / or removed without departing from the scope of this disclosure.
[0088] System 102 may include processing power to train GNN model 106 and use the trained GNN model 106 for various applications. System 102 can be configured to train GNN model 106 for prediction tasks. System 102 can also be configured to use the trained GNN model 106 in various dental applications, such as detecting tooth type (e.g., molars or incisors), segmenting to identify tooth and gingival tissues, detecting gingival and / or dental diseases, etc.
[0089] In example embodiments, system 102 may be embodied in one or more of several ways, depending on the desired implementation. For example, system 102 may be embodied as a cloud-based service or a cloud-based platform. In each such embodiment, system 102 may be communicatively coupled to... Figure 1 The components shown are for implementing the desired operation and can be modified within the scope of this disclosure if necessary. System 102 can be a standalone unit configured to train GNN model 106 and use the trained GNN model 106 for various applications. In one embodiment, system 102 can be implemented in a user equipment (UE) that can be used by a user (e.g., a dentist). Examples of system 102 include, but are not limited to, mobile phones, smartphones, laptops, etc., which are portable themselves or as part of another portable / mobile object. System 102 may include a processing unit, a storage unit, and a communication interface. Additional, different, or fewer components may be provided. For example, system 102 may be configured to execute and run mobile applications, such as dental applications for use by dentists, etc. Details of the components of system 102 are provided, for example, in […]. Figure 2 Further details will be provided in China.
[0090] The handheld intraoral scanner 104 may include enhanced processing capabilities, which may be necessary to capture surface information of a user's (e.g., a patient's) dental arch. For example, surface information may be captured as one or more images of the dental arch. The handheld intraoral scanner 104 may be configured to capture one or more images during a dental arch scan. The one or more images may include images of the patient's dental arch from various angles. The one or more images may be captured by a dentist using the handheld intraoral scanner 104 during a scan of the user's dental arch. The handheld intraoral scanner 104 may also be configured to transmit surface information to system 102.
[0091] A GNN model 106 can typically be a neural network configured to process data represented by graphs. A GNN model 106 can include a set of convolutional layers to process the graph received as input. Each set of convolutional layers can be used to compute nodal features of the graph using nodes of interest (e.g., convolution centers) and their neighboring nodes. Utilizing nodes of interest in the convolutions is not mandatory; if done, it can be called a self-loop. Each of these convolutional layers can be described as follows:
[0092] (1)
[0093] Where H i (k) H is the feature vector of node "I" in the graph, which is the input of the k-th convolutional layer. i (k+1) σ is the feature vector of node "I", which is the output of the k-th convolutional layer. Furthermore, σ is the activation function, such as the Rectified Linear Unit (ReLU) activation function. In the standard GNN model, F... (k) is the weight vector of the convolutional layer, called the trainable parameters. Furthermore, b (k) It is the bias vector of the convolutional layer (such as trainable parameters). It is a summation of neighboring nodes, and in some embodiments includes the node of interest. In one embodiment, using the node of interest may be optional. When the node of interest is used for convolution, the term (1 / N) is a normalization factor, such as the number of neighboring nodes plus the value "1".
[0094] For the eigenvector H i (k+1) A technically effective addition could be to introduce a set of weights W for the nodes and / or edges of the graph at each of the convolutional layers in that group. For the feature vector H... i (k+1) The additional equation can be expressed as:
[0095] (2)
[0096] Among them W ij This refers to the weights of the corresponding edges or node connections between nodes "I" and "J". The weights W explain the differences between adjacent nodes. ij This will also be referred to as the weight W. In one embodiment, the weight W does not necessarily have to be symmetric (e.g., W0). ij It may not be equal to W ji If all edge weights associated with a node are equal, they are called node weights. The weights W of the improved GNN model according to this disclosure reflect the relationships between the edges and / or nodes of the graph and account for the variability of the nodes and / or edges of the graph. Therefore, these weights W can help to accurately represent 3D meshes when processing them internally within the GNN model. The weights W can be input into the GNN model 106. In some embodiments, the weights W can be trainable parameters. The weights W as trainable parameters can be calculated together with other trainable parameters, for example, by minimizing the log loss with backpropagation. The parameter A in equation (2) is a normalization factor and can be, for example, the sum of the weights Wij. .
[0097] GNN model 106 can have a set of convolutional layers, and the outputs of this set of convolutional layers can be combined or concatenated. In one embodiment, each set of convolutional layers can use the same edge weights W. Details of the output of GNN model 106 are as follows: Figure 5 Further details are provided below. Since the weights W can be trainable parameters, the GNN model can be configured to adaptively learn and adjust the weights W through training, allowing specific characteristics of the information presented in the 3D mesh to influence the GNN model's performance, such as predicting dental conditions. For example, in the case of tooth wear, the GNN model can adjust its weights W to include relationships between adjacent nodes and / or edges, where curvature or surface normals represent the most significant contributors to tooth wear. In the case of dental caries, texture color values can represent the most significant contributor to weight determination.
[0098] In some embodiments, the GNN model 106 may further include a histogram pooling layer 802A. The histogram pooling layer 802A can be configured to reduce the size of the data input to the GNN model 106. Specifically, the histogram pooling layer 802A can reduce the number of features generated by the convolutional layers. Typically, the input to the GNN model 106 is a graph with an arbitrary number of nodes. Therefore, the histogram pooling layer can reduce the size of the data from any arbitrary size to a well-defined size. Details of an exemplary GNN model with a histogram pooling layer are provided, for example, in […]. Figure 8 Further details will be provided in China.
[0099] The communication network 108 can be any combination of wired, wireless, or wired and wireless communication networks, such as cellular, Wi-Fi, the Internet, local area networks, etc. According to one embodiment, the communication network 108 can be one or more wireless full-duplex communication channels. In one embodiment, the communication network 108 can include one or more networks, such as a data network, a wireless network, a telephone network, or any combination thereof. It is contemplated that the data network can be any local area network (LAN), metropolitan area network (MAN), wide area network (WAN), public data network (e.g., the Internet), short-range wireless network, or any other suitable packet-switched network, such as a commercially owned proprietary packet-switched network, for example, a proprietary cable or fiber optic network, or any combination thereof. Furthermore, the wireless network can be, for example, a cellular network and can employ various technologies, including Enhanced Data Rate for Global Evolution (EDGE), General Packet Radio Service (GPRS), Global System for Mobile Communications (GSM), Internet Protocol Multimedia Subsystem (IMS), Universal Mobile Telecommunications System (UMTS), and any other suitable wireless medium, such as Global Interoperable Microwave Access (WiMAX), Long Term Evolution (LTE) networks (e.g., LTE-Advanced Pro), 5G New Radio networks, ITU-IMT 2020 networks, Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Wi-Fi, Wireless LAN (WLAN), Bluetooth, Internet Protocol (IP) data broadcasting, satellite, Mobile Ad Hoc Networks (MANET), and any combination thereof. The handheld intraoral scanning device 104 can be configured to communicate with one or more client devices 106 via a communication network 108.
[0100] In operation, the GNN model 106 can be trained for object recognition and / or 3D object segmentation tasks in the dental field. To train the GNN model 106, the system 102 can receive surface information of at least a portion of the dental arch of a subject (e.g., a patient). In some embodiments, the surface information can be received from a handheld intraoral scanning device 104. For example, the surface information may correspond to a two-dimensional (2D) image of the dental arch captured using the handheld intraoral scanning device 104. Furthermore, the system 102 can generate multiple three-dimensional (3D) meshes based on the surface information of the captured 2D image. Details regarding the reception of the surface information and the generation of the multiple 3D meshes are provided, for example, in... Figure 3 Further details will be provided in China.
[0101] System 102 can also be configured to obtain label values corresponding to each of the multiple 3D meshes. For example, the label values can be manually assigned by a user (e.g., a dentist or any other clinical professional) for each part (polygon group) of the dental arch in the multiple 3D meshes. Based on the multiple 3D meshes, system 102 can be configured to generate multiple graphs. The multiple graphs and the obtained label values (e.g., manually assigned) for each of the multiple 3D meshes can be used to generate a training dataset for GNN model 106, since the annotated data can constitute a ground truth dataset for supervising the training process. The training dataset can represent a target population, which can be defined by age range, type of handheld intraoral scanning device 104, or scan quality. In some embodiments, the training dataset can be the result of a clinical study, and annotation does not necessarily have to be performed on a dental scan or the 3D mesh being scanned. Details of the generation of the multiple graphs are provided, for example, in... Figure 4A , Figure 4B and Figure 4C Further details will be provided in China.
[0102] System 102 can also be configured to provide each of the multiple graphs and its corresponding label value, along with the corresponding 3D mesh included in the training dataset, as input to the GNN model 106. For example, system 102 can provide each graph and its corresponding label value one after another or sequentially to the GNN model 106 for training. System 102 can also compute multiple weights W for each of the multiple graphs. System 102 can apply a set of weights W from the determined multiple weights W of the input graph to each convolutional layer in the set of convolutional layers of the GNN model 106. The set of weights W applied to each convolutional layer can be associated with a set of nodes or a set of edges of the input graph to be processed by the corresponding convolutional layer. Details of determining the multiple weights W and applying the set of weights W to the set of convolutional layers are provided, for example, in […]. Figure 5 Further details will be provided in China.
[0103] System 102 can also receive a set of predicted label values as the output of GNN model 106. The set of predicted label values can be associated with input features corresponding to patches of a 3D mesh. The 3D mesh can correspond to a graph input to GNN model 106. The set of predicted label values can indicate different segments of the dental arch, or a portion of the dental arch associated with the 3D mesh. Based on the output of GNN model 106, system 102 can train GNN model 106. The output of GNN model 106 can be verified as correct by a dental professional. System 102 can iteratively update the weight set W and / or other trainable parameters based on the set of predicted label values until a predefined loss function threshold is reached. The predefined loss function can be calculated based on the set of predicted label values and the obtained label values. Details of the iterative training of GNN model 106 are provided, for example, in […]. Figure 6 Further details will be provided in China.
[0104] The trained GNN model 106 can be used by system 102 for various applications. In an example scenario, a subject (e.g., a patient) may require dental treatment. In this case, system 102 can be used by a dentist to provide dental treatment to the patient. To initiate dental treatment, the dentist can utilize a handheld intraoral scanning device 104 to capture 2D images of the patient's first dental arch. Based on the captured multiple 2D images, the handheld intraoral scanning device 104 can provide first surface information. Details of the capture of multiple 2D images 110 and the provision of surface information are as follows: Figure 7 Further details will be provided in China.
[0105] System 102 can also generate a first 3D mesh associated with first surface information of at least a portion of the patient's first dental arch. System 102 can also be configured to generate a first graph based on the received first 3D mesh, for example, based on transforming the faces of the first 3D mesh into nodes and edges of the first graph. The first graph can be provided as input to a trained GNN model 106. System 102 can also receive, as output, a first set of predicted label values associated with the faces of the first 3D mesh. The first set of predicted label values can indicate different segments of at least that portion of the first dental arch, such as tooth or gingival regions. Therefore, the trained GNN model 106 can be used for a segmentation task of the first dental arch. Details of the use of the trained GNN model 106 for the segmentation task are provided, for example, in... Figure 7 Further details will be provided in China.
[0106] In some embodiments, the trained GNN model 106 can be used for 3D mesh or graph classification tasks. In this case, the GNN model 106 may include additional histogram pooling layers (an exemplary architecture of such a GNN model is described in...). Figure 8 (Depicted in the text). For 3D mesh or graph classification tasks, system 102 can provide a graph (e.g., a first graph corresponding to a first 3D mesh) to GNN model 106. System 102 also determines the probability distribution of node features on the nodes of the first graph and generates a histogram pooling layer by discretizing the determined distribution, wherein the histogram pooling layer is defined by histogram pooling layer parameters. System 102 can also provide the probability distribution of features to the histogram pooling layer. System 102 can also be configured to receive probability values as output, which indicate the type (or classification) of the first 3D mesh. Details of the GNN model with histogram pooling layers are shown in the text. Figure 8 Further details are provided below. The type of 3D mesh can be a type of tooth, such as a molar, premolar, canine, or incisor. Additionally, the type of 3D mesh can be mandibular or maxillary.
[0107] Figure 2 A block diagram 200 of system 102 according to an example embodiment is shown. Figure 2 Combination Figure 1 The components will be described below. System 102 may include at least one processing unit (hereinafter also referred to as "processing unit 202"), a storage unit 204, and a communication interface 208.
[0108] Processing unit 202 can be embodied in a variety of different ways. For example, processing unit 202 can be embodied as one or more of a variety of hardware processing devices, such as a coprocessor, microprocessor, controller, digital signal processor (DSP), processing element with or without an accompanying DSP, or various other processing circuits, including integrated circuits such as ASICs (Application-Specific Integrated Circuits), FPGAs (Field-Programmable Gate Arrays), microcontroller units (MCUs), hardware accelerators, application-specific computer chips, etc. In one embodiment, processing unit 202 can be embodied as a high-performance microprocessor with a series of system-on-chips (SoCs) including relatively powerful and power-efficient graphics processing units (GPUs) and central processing units (CPUs) and a small form factor. Therefore, in some embodiments, processing unit 202 may include one or more processing cores configured to execute independently. Multi-core processors can implement multiprocessing within a single physical package. Additionally or alternatively, processing unit 202 may include one or more processors configured in series via a bus to enable independent instruction execution, pipelining, and / or multithreading.
[0109] In some embodiments, processing unit 202 may be configured to train GNN model 106. Processing unit 202 may also provide a graph as input to GNN model 106 and receive output from GNN model 106. Processing unit 202 may also provide a segmented or classified 3D mesh or graph based on the output of GNN model 106.
[0110] Additionally or alternatively, processing unit 202 may include one or more processors capable of handling large workloads and operations to provide support for big data analytics. In an example embodiment, processing unit 202 may communicate with storage unit 204 via a bus to transfer information between components of system 102.
[0111] Storage cell 204 may be non-transitory and may include, for example, one or more volatile and / or non-volatile memories. In other words, storage cell 204 may be, for example, an electronic storage device (e.g., a computer-readable storage medium) including gates configured to store data (e.g., bits) that can be retrieved by a machine (e.g., a computing device like processing unit 202). Storage cell 204 may be configured to store information, data, content, applications, instructions, etc., to enable the device to perform various functions according to exemplary embodiments of this disclosure. For example, storage cell 204 may be configured to store surface information, multiple 3D meshes, and / or multiple graphs. Figure 2 As illustrated in the exemplary diagram, storage unit 204 can be configured to store instructions for execution by processing unit 202. Therefore, whether configured by hardware, software methods, or a combination thereof, processing unit 202 can represent an entity capable of performing operations according to embodiments of this disclosure (e.g., physically embodied in a circuit) and be configured accordingly. Thus, for example, when processing unit 202 is embodied as a microprocessor, processing unit 202 can be hardware specifically configured to perform the operations described herein. Alternatively, as another example, when processing unit 202 is embodied as an executor of software instructions, the instructions can specifically configure processing unit 202 to perform the algorithms and / or operations described herein when executed. Processing unit 202 may include a clock, an arithmetic logic unit (ALU), and logic gates configured to support the operations of processing unit 202.
[0112] Communication interface 208 may include input and output interfaces for supporting communication to and from system 102. Communication interface 208 may be a device or circuit embodied in hardware or a combination of hardware and software, configured to receive and / or transmit data to system 102. In this regard, communication interface 208 may include, for example, an antenna (or multiple antennas) and supporting hardware and / or software for enabling communication with a wireless communication network. Additionally or alternatively, communication interface 208 may include circuitry for interacting with one or more antennas to induce signal transmission via or process signals received via one or more antennas. In some environments, communication interface 208 may alternatively or additionally support wired communication. Thus, for example, communication interface 208 may include a communication modem and / or other hardware and / or software for supporting communication via cable, Digital Subscriber Line (DSL), Universal Serial Bus (USB), or other mechanisms.
[0113] Figure 3 This is a schematic diagram 300 illustrating a three-dimensional (3D) mesh of a subject's dental arch according to an example embodiment. Figure 3 Combination Figure 1 and Figure 2The components are described below. Schematic diagram 300 may include a 3D mesh 302 and facets 304 of the 3D mesh 302.
[0114] In some embodiments, system 102 may be configured to receive surface information of at least a portion of a subject's dental arch. Surface information can be generated using a handheld intraoral scanning device 104. For example, surface information may be captured in the form of one or more images of the dental arch. During the scanning process, a user (e.g., a dentist) may use the handheld intraoral scanning device 104 to scan the subject's dental arch to capture one or more images of the dental arch. In one embodiment, the dentist may scan a portion of the dental arch to capture one or more images of the dental arch. For example, it may be necessary to capture data associated with a tooth with a cavity. In this case, the dentist may use the handheld intraoral scanning device 104 to scan the tooth with the cavity and the surrounding area within the dental arch. Surface information may refer to data captured in one or more images of the dental arch. In one or more embodiments, surface information may be extracted from one or more images of the dental arch. In some embodiments, one or more images of the dental arch may be retrieved from an existing database. The database may include one or more images of the dental arches of multiple subjects. System 102 may receive surface information from one or more images from the database.
[0115] In some embodiments, system 102 may also be configured to generate a 3D mesh 302 based on captured surface information. The 3D mesh 302 may be the initial structure required to generate a 3D model of an object. The 3D mesh 302 may consist of multiple polygons having faces, vertices, and edges. The 3D mesh 302 may utilize coordinates in 3D space to represent surface information, such as the height, width, and depth of the object. Typically, the multiple polygons may be, for example, triangles, quadrilaterals, or other types of convex polygons. For example, a 3D mesh 302 of a portion of a dental arch may represent the surface information of that portion of the dental arch in 3D. In one example, the 3D mesh 302 may have triangles as polygons. The faces of the triangles may be referred to as patches. The patches 304 of the 3D mesh 302 may represent the shape of an object, such as a dental arch in 3D. The patches 304 collectively form the 3D mesh 302 of surface information.
[0116] System 102 can utilize transformation techniques and software to generate a 3D mesh 302 based on captured surface information. In one embodiment, system 102 can utilize open-source software that can generate a 3D mesh 302 from captured surface information (e.g., one or more images) using artificial intelligence (AI) techniques. In this case, the surface information can be provided to the open-source software, and the transformed 3D mesh 302 can be obtained from the open-source software. Based on the 3D mesh 302, system 102 can be configured to generate a graph. Details of graph generation are provided, for example, in... Figure 4A , Figure 4B and Figure 4C Further details will be provided in China.
[0117] Figure 4A , Figure 4B and Figure 4C The illustration shows a schematic diagram of a graph generated using a 3D mesh 302 according to an example embodiment. Figure 4A , Figure 4B and Figure 4C Combination Figure 1 , Figure 2 and Figure 3 The components will be explained. Figure 4A A schematic diagram 400A is shown. Schematic diagram 400A may include facets 304 of a 3D mesh 302. Schematic diagram 400A may also include Figure 402 corresponding to the facets 304 of the 3D mesh 302.
[0118] System 302 can generate a graph 402 corresponding to the 3D mesh 302 based on the faces 304 of the 3D mesh 302. In some embodiments, system 102 can be configured to generate a graph 402 corresponding to the 3D mesh 302 based on a direct mapping technique. The direct mapping technique may include transforming the vertices of each face of the 3D mesh 302 into nodes of graph 402. For example, system 102 may transform each vertex of face 304 into a node, such as node 402A of graph 402. Furthermore, the direct mapping technique may include transforming the edges of each face of the 3D mesh 302 into edges of graph 402 to generate graph 402. For example, system 302 may transform each edge of face 304 into an edge, such as edge 402B of graph 402. In this direct mapping technique for generating graph 402, nodes of graph 402 can have any number of neighboring nodes. The node labels may be the result of a voting scheme that uses the labels of faces, including those mapped to the vertices of the node, as input. The predicted label of a node can be converted back to the face label by averaging the predictions of all nodes associated with the corresponding face.
[0119] Figure 4BA schematic diagram 400B is shown. Schematic diagram 400B may include patches 304 of a 3D mesh 302. Schematic diagram 400B may also include a graph 404 corresponding to the patches 304 of the 3D mesh 302. System 102 can generate a graph 404 corresponding to the 3D mesh 302 based on the patches 304 of the 3D mesh 302. In some embodiments, system 102 may be configured to generate a graph 404 corresponding to the 3D mesh 302 based on edge mapping techniques.
[0120] Edge mapping techniques may include transforming the edges of each facet of the 3D mesh 302 into nodes of Figure 404. Edge mapping techniques may also include generating edges 404B of Figure 404 based on connections of nodes 404A corresponding to individual facests of the 3D mesh 302 in Figure 404. If two edges of the 3D mesh 302 belong to the same facet, the corresponding nodes 404A in Figure 404 are connected to form edge 404B of Figure 404. In this edge mapping technique for generating Figure 404, node 404A may have several adjacent nodes, such as two or four. For example, two adjacent nodes may come from the boundaries of the 3D mesh 302 or Figure 404. The node label may be the label of a facet with a large area, which includes edges mapped to the node. The predicted label of a node can be converted back to a facet label by averaging the predictions of all nodes associated with the corresponding facet.
[0121] Figure 4C A schematic diagram 400C is shown. Schematic diagram 400C may include patches 304 of a 3D mesh 302. Schematic diagram 400C may also include a figure 406 corresponding to the patches 304 of the 3D mesh 302. System 102 can generate a figure 406 corresponding to the 3D mesh 302 based on the patches 304 of the 3D mesh 302. In some embodiments, system 102 may be configured to generate a figure 406 corresponding to the 3D mesh 302 based on patch mapping techniques.
[0122] The patch mapping technique may include transforming each patch of the 3D mesh 302 into a corresponding node in Figure 406. For example, the first patch of patch 304 may be transformed into the first node in node 406A of Figure 406. Similarly, the second patch of patch 304 may be transformed into the second node in node 406A of Figure 406. The patch mapping technique may also include generating edges 406B of Figure 406 based on the connections of nodes 406A of Figure 406 corresponding to patches of the 3D mesh 302 that have common patch edges, to generate Figure 406. If two patches 304 of the 3D mesh 302 are connected, then two corresponding nodes 406A of Figure 406 are connected. If patches of the 3D mesh 302 share a common edge, then these patches are connected. In this patch mapping technique for generating Figure 406, node 406A may have several adjacent nodes, such as one, two, or three. For example, a node with one or two neighbors is a node from the boundary of 3D mesh 302 or Figure 406. The node's label can be a patch label mapped to that node.
[0123] Due to the limitation on the number of adjacent nodes, Figure 4B and Figure 4C Figures 404 and 406 compared Figure 4A Figure 402 is more suitable for processing by GNN model 106.
[0124] In one example, the graphs (e.g., Figures 402, 404, and 406) can be represented in tabular form. The table corresponding to the graph can be provided as input to the GNN model 106. An example table corresponding to the graph is shown below:
[0125]
[0126] Table 1: Graph Representation
[0127] In Table 1, each row represents a single node in a graph (e.g., Figure 406). The columns of Table 1 represent the neighbors of a given node in Figure 406. For example, the first row of Table 1 is node “0” in Figure 406, which can be connected to nodes “1”, “2”, and “4” in Figure 406. Furthermore, a lack of connections can be represented by the entry “-1” in Table 1. Since Figure 406 may have an upper limit on the number of neighbors for a node, system 102 can determine the maximum number of columns in Table 1.
[0128] In the case of the direct mapping technique used to generate Figure 402, there may be no defined maximum number of neighboring nodes. In one example, the number of neighboring nodes can be limited to a maximum of 5.
[0129] System 102 can generate graphs using one or more techniques selected from direct mapping, edge mapping, or patch mapping, such as Figures 402, 404, or 406. Similarly, for multiple images of dental arches from different subjects, system 102 can generate multiple graphs. System 102 can also obtain label values for multiple 3D meshes corresponding to multiple images of dental arches from different subjects. Label values associated with different parts of the 3D meshes (e.g., clinical information or annotations), such as different polygons or groups of polygons, can be associated with nodes and edges in the corresponding graph representation, allowing information from the meshes to be transferred into the graph representation. The generated multiple graphs and the obtained label values can be used to generate a training dataset for GNN model 106. Details of training GNN model 106 are provided, for example, in... Figure 6 Further details will be provided in China.
[0130] Furthermore, in order to train the GNN model 106, system 102 can determine Figure 5 The multiple weights W are described in the text.
[0131] Figure 5 This is a schematic diagram 500 illustrating the determination and application of multiple weights W of a graph for training a GNN model 106 according to an example embodiment. Figure 5 Combination Figure 1 , Figure 2 , Figure 3 , Figure 4A , Figure 4B and Figure 4C The components are described below. Schematic diagram 500 may include GNN model 106, Figure 406, and multiple weights 502. Schematic diagram 500 may also include a set of predicted label values 504 output by GNN model 106.
[0132] System 102 can be configured to obtain label values corresponding to patches 304 of the 3D mesh 302. In the case of patch or node classification tasks, the label values can be numerical values for each patch or node, representing features to be predicted by the GNN model 106. The label values can alternatively or additionally correspond to the global 3D mesh 302. In the case of such mesh classification tasks, the label values can be a single number for each 3D mesh 302.
[0133] Furthermore, system 102 can determine multiple weights 502 for each graph, such as graph 406 corresponding to the 3D mesh 302. System 102 can provide the obtained label values and graph 406 as input to GNN model 106. Details of obtaining label values and providing the label values and graph 406 as input to GNN model 106 are provided in [details omitted]. Figure 6 Further details will be provided in China.
[0134] System 102 can also apply the set of weights from multiple weights 502 to the corresponding convolutional layers of GNN model 106. System 102 can also receive the output corresponding to the set of predicted label values 504. Based on the set of predicted label values 504 and the label values, system 102 can train GNN model 106.
[0135] The weights of each node and / or edge in Figures 404 and 406 can be determined based on information provided in the vertices, edges, and / or faces 304 of the 3D mesh. Therefore, system 102 can utilize one or more techniques to determine multiple weights 502, which may apply to both faces 304 and edges of the 3D mesh 302.
[0136] It should be noted that the multiple weights 502 are weights W that explain the variability of nodes and / or edges of the graph input to the GNN model 106, as shown in Equation 2.
[0137] The weight of each node and / or edge in Figures 404 and 406 can be determined based on the information provided in the nodes and / or edges of Figures 404 and 406. This information can also be referred to as the characteristics of the nodes and / or edges.
[0138] In some embodiments, to determine multiple weights 502, system 102 may determine multiple weights 502 based on features of nodes 404A, 406A of FIG406 or connections between nodes 404A, 406A. Examples of features include, but are not limited to: color (e.g., RGB format color of edges or patches 304 of 3D mesh 302), area of patch 304, normal vector associated with vertex or patch 304, size of edges of patch 304, angle between adjacent patches of patch 304 (or sine and cosine functions between adjacent patches), angle between edges of patches, distance position of edges or patches of 3D mesh 302 relative to the center of one or more images associated with the 3D mesh, general numbering of teeth, fluorescence color information, clinical annotations associated with categories (e.g., gums, teeth, conditions like caries, cracks, and erosion), number of adjacent nodes, and angular deficiency features of patch vertices. In some embodiments, these weights may be non-trainable parameters of the GNN model 106 and are inputs to the GNN model 106, while in other embodiments, the weights may be trainable parameters of the GNN model 106. In one embodiment, different convolutional layers of the same GNN model 106 may use various features to determine their corresponding weights.
[0139] In some embodiments, to determine multiple weights 502, system 102 can be configured to sort the associated edges of graphs 404 and 406 based on criteria for each node in graphs 404 and 406 to obtain a sequence of sorted edges. Weights can then be assigned to each sorted edge based on its position in the sequence.
[0140] In one embodiment, the criteria may be based on a sorting rule associated with the convolution center. For example, system 102 may sort each edge of Figures 404 and 406 such that the convolution center may be part of the sorting rule, or the convolution center may have a fixed position in the sorting.
[0141] Based on the ordering and the relationships between the nodes and their corresponding neighbors in Figures 404 and 406, system 102 can determine each of the multiple weights 502. For example, during the training of GNN model 106, each position in the resulting sequence of ordered edges can be assigned a weight. Furthermore, the number of weights fitted in the sequence can be equal to the maximum number of neighboring nodes in Figure 406. In the case of self-looping, the number of fitted weights is the maximum number of neighboring nodes plus one. Self-looping can involve using nodes of interest in the convolution.
[0142] In some embodiments, different layers of the GNN model 106 may use different criteria or sorting rules, resulting in each convolutional layer of the GNN model 106 having different weights. Furthermore, this method of determining multiple weights 502 may require special handling of the boundary nodes of Figure 406. For example, in the case of sorting adjacent nodes based on the edge dimensions of Figure 406, a "missing" node may have a position; however, sorting "missing" nodes may be difficult when sorting uses the area of adjacent faces. In this case, default values of features can be used for sorting. A "missing node" may be referred to as a virtual node, located outside Figure 406, and may be a neighbor of a boundary node.
[0143] In some embodiments, to determine multiple weights 502, system 102 can be configured to utilize a first machine learning (ML) algorithm on the features of each node in Figures 404, 406. Therefore, system 102 can determine the weights of each node in Figures 404, 406 based on the output of the first machine learning (ML) algorithm. The first ML algorithm may have a single output value. The weights may have the same value whenever a corresponding node is used in a convolutional layer of that set of convolutional layers.
[0144] In an exemplary embodiment, the first ML algorithm may be prediction-type, configured to predict weights associated with each node of Figures 404, 406. Furthermore, the first ML algorithm may be trained together with the GNN model 106. For example, the GNN model 106 may be trained to recognize individual teeth in a 3D model of a dental arch or jaw, estimate dental conditions (e.g., caries, bruxism, acid reflux, etc.), predict jaw orientation relative to an opposing jaw model, and so on. The features used as input in the first ML algorithm may differ from the features used in the GNN model 106. In this approach, for each convolutional layer, a separate ML algorithm may be used to determine multiple weights 502.
[0145] In some embodiments, to determine multiple weights 502, system 102 may be configured to utilize a second machine learning (ML) algorithm on the features of each oriented neighbor pair in Figures 404, 406. Each neighbor pair may be oriented from a first neighbor to a second neighbor, or vice versa. For example, neighboring nodes A and B may form an oriented neighbor pair AB or BA. The orientation of the neighboring nodes defines the input order to the second machine learning algorithm.
[0146] Therefore, system 102 can determine the weight of each edge of graphs 404 and 406 based on the output of a second machine learning (ML) algorithm. System 102 can use the features of two adjacent nodes of graph 406 to calculate the weights of corresponding edges of graphs 404 and 406. The weights can be output by the second ML algorithm. The second ML algorithm can have one output value. Furthermore, the second ML algorithm can be trained together with GNN model 106. In one embodiment, the features used as input in the second ML algorithm can be different from the features used in GNN model 106. Moreover, for each convolutional layer, a separate ML algorithm can be used to determine multiple weights 502. The second ML algorithm can produce asymmetric weights as multiple weights 502. In some cases, the constant value can be the value of the self-looping weight, or the output of the second ML algorithm that double-uses the features of the node of interest.
[0147] In some embodiments, in order to determine multiple weights 502, system 102 may be configured to sort the associated edges of each node in Figures 404, 406 based on criteria to obtain a sequence of sorted edges. System 102 may also be configured to provide features corresponding to the sorted associated edges to a third machine learning (ML) algorithm and assign weights to each sorted edge based on the output of the third machine learning algorithm.
[0148] For example, the sorting can coherently prepare the features of nodes 404A and 406A as input to a third ML algorithm, which can generate multiple weights 502 for the edges. Furthermore, the number of output weights can be equal to the maximum number of neighboring nodes in graph 406. In the case of self-loops, the maximum number of neighboring nodes can be one more than the number of output weights. This approach may require using default values to define the features of the “missing” edge 406B or connections in graph 406. In one embodiment, the features used as input in the third ML algorithm can be different from the features used in the GNN model 106. Moreover, for each convolutional layer, a separate ML algorithm can be used to determine multiple weights 502.
[0149] The first, second, and / or third machine learning (ML) algorithms can be or may include different types of machine learning models. Examples of such machine learning models include: deep neural networks that include an input layer, an output layer, and one or more hidden layers in between. Further examples include: convolutional neural networks with one or more convolutional layers that perform convolutions on the input data using learned filters, autoencoder networks, clustering models, classifier models, regression models, decision tree models, nearest neighbor models, and / or convolutional neural networks.
[0150] The first, second, and / or third machine learning (ML) algorithms can be trained using supervised learning by using a labeled training dataset, with labels added, for example, by experts. The training dataset can be the same as the training dataset used to train the GNN model 106. This training dataset can include ground truth data, which includes a set of weights against which predicted weights can be compared. The training process can be performed by optimizing an objective function, such as minimizing a loss function that compares the output data to the ground truth data. The loss function can consider the sum or mean of the squared differences between the output data and the labels.
[0151] In some cases, all possible assignments of weights 502 to nodes in graphs 404 and 406 can be evaluated, and the GNN model 106 can use the assignment of weights 502 that maximizes the convolution value as the convolution value for a given node. In this case, those weights 502 can be input parameters of the GNN model 106 or trainable parameters of the GNN model 106. Node weights can be a single number or a vector, in which case each feature of a node can use different weights. The number of weights 502 can be less than the number of neighboring nodes. In this case, self-looping can be employed using free weights (as part of the weight assignment process) or fixed weights (using the same weights for all nodes in the graph).
[0152] Exemplary values of the node features that constitute part of the input training data of the GNN model 106 are further described as follows:
[0153]
[0154] Table 2: Exemplary values of node features
[0155] In Table 2, each row represents a node in the graph, and each column represents the characteristics of the graph node.
[0156] System 102 determines multiple weights 502 based on the methods described above. System 102 can also apply the multiple weights 502 to the convolutional layers of the GNN model 106 to train the GNN model 106. For example, system 102 can apply a first weight set 502A to a first convolutional layer. The first convolutional layer can be configured to process nodes and edges with the first weight set 502A. Similarly, system 102 can apply a second weight set 502B to a second convolutional layer. The second convolutional layer can be configured to process nodes and edges with the second weight set 502B. Furthermore, system 102 can apply an Nth weight set 502N to an Nth convolutional layer. The Nth convolutional layer can be configured to process nodes and edges with the Nth weight set 502N. As part of the training process, system 102 can input Figures 404 and 406 into the GNN model 106 and receive a set of predicted values 504.
[0157] Training of the GNN model 106 based on Figure 406 and multiple weights 502, for example, in Figure 6 Further details are provided below.
[0158] Figure 6 This is a flowchart 600 depicting the training of a GNN model 106 according to an example embodiment. Figure 6 Combination Figure 1 , Figure 2 , Figure 3 , Figure 4A , Figure 4B , Figure 4C and Figure 5 The components are described. Flowchart 600 can depict the operations performed by at least one of the processing units 202 of system 102.
[0159] At step 602, Figures 404 and 406 can be generated. System 102 can be configured to generate Figure 406 corresponding to the 3D mesh 302. The 3D mesh 302 can be associated with surface information of at least that portion of the subject's dental arch. Details of the generation of Figures 404 and 406 are further provided, for example, in Figure 4.
[0160] At step 604, ground truth data indicative of the features of the 3D mesh 302 to be predicted by the GNN model can be obtained. The ground truth data may include label values for each facet of the 3D mesh 302 or the label values for the entire 3D mesh 302. In one example, label values may include values between 0 and 1. In one embodiment, label values may be obtained from a clinical professional (e.g., a dentist). For example, the GNN model 106 may be trained for a task of classifying teeth in a 3D mesh based on tooth type. In this case, the 3D mesh corresponding to a single tooth in the training dataset may be assigned a label value. In another example, the GNN model 106 may be trained for a task of segmenting different parts of the dental arch in a 3D mesh. In this case, label values for each facet of the 3D mesh can be obtained.
[0161] It can be noted that in some embodiments, the training dataset of the GNN model 106 may include a 3D mesh 302 or a model of a dental arch or jaw, which are mapped to Figures 404 and 406 according to a mapping method and have labeled patches or edges. Therefore, an algorithm can be applied to convert the label values of the patches into the label values of the edges in the labeled data.
[0162] At step 606, Figures 404 and 406 and the ground truth data can be provided as input to the GNN model 106. Figures 404 and 406 can correspond to a 3D mesh 302 with label values. In one example, Figures 404 and 406 can be provided in tabular form, such as Table 2. Each row and column of the table of Figures 404 and 406 can correspond to the values of nodes 404A and 406A and edges 404A and 406B that depend on Figures 404 and 406.
[0163] At step 608, the weight set in the determined set of weights 502 of Figures 404 and 406 can be applied to each of a set of convolutional layers, where the weight set corresponds to the differences between the features of the nodes in Figures 404 and 406. The weight set can reflect the geometric relationships between the nodes in Figures 404 and 406 and / or the features of the nodes in Figures 404 and 406.
[0164] The set of weights applied to each convolutional layer can be associated with a set of nodes or edges of Figure 406 that will be processed by the corresponding convolutional layer. For example, a first set of weights 502A associated with a first set of nodes and a first set of edges of Figure 406 can be applied to the first layer of the GNN model 106. The first layer can be configured to process the first set of weights 502A. Similarly, a set of weights can be applied to each convolutional layer of the GNN model 106.
[0165] At step 610, the output of GNN model 106 may be received. System 102 may receive a set of predicted label values 504 associated with features of corresponding patches of 3D mesh 302. The set of predicted label values 504 may indicate different segments of at least a portion of the dental arch. For example, GNN model 106 may output one or more probability values as the set of predicted label values 504 corresponding to patches 304 or the entire 3D mesh 302. In one embodiment, the set of predicted label values 504 for tooth portions and gingival portions may be different for input image 406. In another embodiment, the set of predicted label values 504 for different types of teeth, gums, unhealthy tissue, etc., may be different for input image 406. In one example, the set of predicted label values 504 may include values between 0 and 1.
[0166] At step 612, based on comparing the output data with the ground truth data, the trainable parameters of the GNN model 106 can be iteratively updated until a predefined loss function threshold is reached. The trainable parameters may include a set of weights determined according to this disclosure.
[0167] System 102 can be configured to iteratively update the weight set based on the predicted label value set 504 until a predefined loss function threshold is reached. For example, the predefined loss function can be calculated based on the difference between the obtained label values and the output predicted label value set 504. To train the GNN model 106, the difference between the obtained label values and the output predicted label value set 504 needs to be minimized. In one embodiment, the threshold can be the value "0.3". In an exemplary scenario, the value of the predefined loss function can be 0.4, meaning the difference between the obtained label values and the predicted label values can be 0.4. In this case, the difference is higher than the threshold "0.3". Therefore, it may be necessary to update the weight set to accurately train the GNN model 106. In some embodiments, the weight set can be iteratively updated based on the confidence score output by the GNN model 106. The confidence score indicates the confidence level of the GNN model 106 in accurately outputting the predicted label value set 504. The weight set can be iteratively updated until the confidence score is less than a predefined value. For example, the predefined value could be 0.9. Therefore, system 102 can be configured to train GNN model 106 until the desired accuracy is achieved.
[0168] It will be understood that each step of flowchart 600 can be implemented in various ways, such as hardware, firmware, processor, circuitry, and / or other communication devices associated with the execution of software including one or more computer program instructions. For example, one or more of the steps described above can be embodied by computer program instructions. In this regard, the computer program instructions embodying the steps described above can be stored in storage unit 204 of system 102, employing embodiments of this disclosure. As will be understood, any such computer program instructions can be loaded onto a computer or other programmable device (e.g., hardware) to produce a machine, such that the resulting computer or other programmable device performs the functions specified in flowchart 600. These computer program instructions can also be stored in a computer-readable storage medium that can instruct the computer or other programmable device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of art, the execution of which performs the functions specified in flowchart 600. The computer program instructions can also be loaded onto a computer or other programmable device to cause a series of operations to be performed on the computer or other programmable device to produce a computer-implemented process, such that the instructions executing on the computer or other programmable device provide operations for implementing the functions specified in flowchart 600.
[0169] Therefore, the steps of flowchart 600 support combinations of means for performing a specified function and combinations of operations for performing a specified function. It will also be understood that one or more steps of flowchart 600, and combinations of steps in flowchart 600, can be implemented by a dedicated hardware-based computer system, or a combination of dedicated hardware and computer instructions, to perform the specified function. Fewer, more, or different steps may be provided.
[0170] Details of the application of the trained GNN model 106, for example, are as follows: Figure 7 Further details will be provided in China.
[0171] Figure 7 Figure 700 depicts a prediction task using a trained GNN model 106 according to an example embodiment. Figure 7 Combination Figure 1 , Figure 2 , Figure 3 , Figure 4A , Figure 4B , Figure 4C , Figure 5 and Figure 6 The components are described. Figure 700 depicts the steps performed by the trained GNN model 106 to predict label values associated with patches of a 3D mesh representing at least that portion of the dental arch.
[0172] At step 702, a first 3D mesh may be received. The first 3D mesh may be associated with first surface information of at least a portion of the first dental arch. The trained GNN model 106 can be used for various dental tasks, such as segmenting a digital 3D model of a subject's dental arch into portions belonging to teeth and portions belonging to the gingiva. Therefore, the first 3D mesh may be provided to the trained GNN model 106 to segment the portions belonging to teeth and portions belonging to the gingiva in the first 3D mesh.
[0173] At step 704, for this segmentation task, the first 3D mesh can be transformed into a first graph. In one embodiment, system 102 can be configured to generate the first graph based on the nodes and edges that transform the faces of the first 3D mesh into the first graph. For example, the generated first graph can be input in tabular form (e.g., Table 1).
[0174] At step 706, the first graph can be input into the trained GNN model 106. In some embodiments, the input to the trained GNN model 106 may be a first 3D mesh and a list of attributes or features associated with different patches of the first 3D mesh, which are mapped or transformed into the first graph. The features of the first 3D mesh are reflected in the features of the first graph.
[0175] At step 708, a first set of predicted label values may be received. System 102 may be configured to receive, as output, a first set of predicted label values associated with patches of the first 3D mesh from GNN model 106. The first set of predicted label values may indicate different segments of at least that portion of the first dental arch. Therefore, GNN model 106 may output a first set of predicted label values for patches of the first 3D mesh, indicating the probability of being a tooth portion or a gingival portion.
[0176] The trained GNN model 106 may also include histogram pooling layers. This GNN model can be used for, for example... Figure 8 The task shown is a patch classification or 3D mesh classification task.
[0177] Figure 8 This is a schematic diagram 800 illustrating a classification task using a trained GNN model 106 with a histogram pooling layer 802A according to an example embodiment. Figure 8 Combination Figure 1 , Figure 2 , Figure 3 , Figure 4A , Figure 4B , Figure 4C , Figure 5 , Figure 6 and Figure 7The components are described below. Schematic diagram 800 may include a trained GNN model 106 with a histogram pooling layer 802A, a first graph 704, a probability distribution 806 of features, and probability values 808. The GNN model 106 may be trained in the same manner as previously described.
[0178] The histogram pooling layer 802A can be configured to reduce the size of the data input to the GNN model 106 (e.g., the first graph 704). Typically, the first graph 704 can have any number of nodes. Therefore, the histogram pooling layer can reduce the size of the first graph 704 from any arbitrary size to a well-defined size.
[0179] Pooling layers that use descriptive statistics of features on graph nodes can be extended with histogram pooling layers, which represent the feature distribution on graph nodes. In one example, histogram pooling layer 802A is a collection of bins. A bin can represent the probability of finding a node in the first graph 704 with feature values within a range. The number of bins and the corresponding range can be non-trainable parameters. In one embodiment, histogram pooling layer 802A can be implemented after convolutional layers of a trained GNN model 106 and before a finite-range output activation function (e.g., a sigmoid function) of the trained GNN model 106.
[0180] In some embodiments, system 102 may be configured to provide a first map 704 as input to a trained GNN model 106. The first map 704 may correspond to a first 3D mesh associated with first surface information of at least a portion of a first dental arch. For example, the first 3D mesh may include teeth that need to be classified as one of the tooth types.
[0181] System 102 can also determine the probability distribution 806 of features associated with nodes of the first graph 704. For example, descriptive statistics of features on graph nodes can be computed for the first graph 704 to reduce the dimensionality to one. Histogram pooling layer 802A can determine the discrete form of the probability distribution 806 of the features. Histogram pooling layer 802A can exist after this set of convolutional layers in the trained GNN model 106. System 102 can also receive probability values 808 as output. Probability values 808 can indicate the type of the first 3D mesh. For example, the trained GNN model 106 can output the tooth type as "molar" with a probability value 808 of 0.87. Based on this output, the first 3D mesh can be classified as a molar.
[0182] Figure 9A , Figure 9B and Figure 9C The illustration shows example diagrams depicting various applications of a trained GNN model 106 according to another example embodiment. Figure 9A , Figure 9B and Figure 9C Combination Figure 1 , Figure 2 , Figure 3 , Figure 4A , Figure 4B , Figure 4C , Figure 5 , Figure 6 , Figure 7 and Figure 8 The components will be explained.
[0183] Figure 9A A schematic diagram 900A is depicted. Schematic diagram 900A may include the output 902 of a trained GNN model 106. Output 902 may correspond to a segmented 3D mesh of a subject's dental arch. System 102 may be configured to segment a 3D mesh of at least a portion of the dental arch into gingiva or teeth using a computer-implemented method.
[0184] In an exemplary scenario, system 102 can receive surface information of the dental arch. Based on the surface information, system 102 can generate a 3D mesh. The 3D mesh can also be used to generate a graph to be input into a trained GNN model 106. System 102 can input the graph into the trained GNN model 106. The trained GNN model 106 can provide an output 902. Output 902 may include teeth 904 and gingiva 906 segmented and visualized with different colors.
[0185] In some embodiments, the trained GNN model 106 can provide a set of predicted label values having a first value for the tooth 904 and a second value for the gingiva 906. Based on the processing of the set of predicted label values and the 3D mesh, the system 102 can provide an output 902.
[0186] System 102 can also be configured to identify the type of one or more teeth based on a 3D mesh of parts of the dental arch using a computer-implemented method. In this case, the output 902 of the trained GNN model 106 can include teeth classified or identified as different types. For example, output 902 could indicate that tooth 904A is a molar and tooth 904B is an incisor. Output 902 can, for example, represent different types of teeth with different colors. In one embodiment, different types of teeth can have different predicted label values. Based on the processing of different predicted label values, system 102 can provide output 902.
[0187] System 102 can also be configured to determine and score tooth wear based on a 3D mesh of a portion of the dental arch using a computer-implemented method. For example, tooth 904A may have a cavity, or the enamel of tooth 904A may be eroded. The amount of tooth wear can be represented in output 902. In one example, the amount of tooth wear on tooth 904A can be represented by a color different from the color of the uninfected portion of tooth 904A. For example, the score for the amount of tooth wear can vary between 0 and 1. The greater the amount of tooth wear, the higher the score for the amount of tooth wear may be. Depending on the dental condition, the GNN can be trained on a specific training dataset associated with label values related to a specific dental condition. The set of weights determined by the GNN during training can vary depending on the target output of the trained GNN. The advantage of the method and system presented in this paper is that it discloses an adaptive GNN architecture in which the GNN can be designed to compute its own weights based on the training dataset (target output) without any pre-defined configuration.
[0188] Figure 9B A schematic diagram 900B is depicted. Schematic diagram 900B may include the output 908 of a trained GNN model 106. Output 908 may correspond to a segmented 3D mesh of a subject's dental arch. System 102 may be configured to detect one or more objects based on the 3D mesh of the dental arch portion using a computer-implemented method. For example, GNN model 106 may be trained to detect objects such as orthodontic appliances 910. The trained GNN model 106 can detect orthodontic appliances 910 and can provide predicted label values corresponding to the detected orthodontic appliances 910.
[0189] Figure 9C A schematic diagram 900C is depicted. Schematic diagram 900C may include the output 912 of a trained GNN model 106. Output 912 may correspond to a segmented 3D mesh of a subject's dental arch. System 102 may be configured to detect and score one or more diseases associated with dental conditions of the dental arch portion based on the 3D mesh of the dental arch portion using a computer-implemented method. GNN model 106 may be trained to detect and score diseases associated with dental conditions. For example, a portion 914 of the dental arch may be a part of the gingiva suffering from a disease such as gingivitis. The trained GNN model 106 may detect the portion 914 suffering from gingivitis in output 912. For example, the disease score may vary between 0 and 1. The larger the portion 914 suffering from gingivitis, the higher the disease score may be.
[0190] Many modifications and other embodiments of the invention set forth herein will arise to those skilled in the art upon which this invention pertains, taking advantage of the teachings presented in the foregoing description and associated drawings. Therefore, it should be understood that the invention is not limited to the specific embodiments disclosed, and that modifications and other embodiments are intended to be included within the scope of the appended claims. Furthermore, although the foregoing description and associated drawings describe exemplary embodiments in the context of certain example combinations of elements and / or functions, it should be understood that alternative embodiments may provide different combinations of elements and / or functions without departing from the scope of the appended claims. In this regard, for example, combinations of elements and / or functions different from those explicitly described above are also contemplated, as may be set forth in some of the appended claims. Although specific terminology is used herein, it is used only in a general and descriptive sense and is not intended to be limiting.
Claims
1. A computer-implemented method for training a graph neural network (GNN) model (106), comprising: - Generate graphs (404, 406) corresponding to a three-dimensional (3D) mesh (302) based on patch mapping technology, wherein the 3D mesh (302) is associated with surface information of at least a portion of the dental arch; - Obtain ground truth data, which indicates the features of the 3D mesh (302) that the GNN model (106) wants to predict; - The graph (404, 406) of the 3D mesh (302) and the ground truth data are provided as input to the GNN model (106), wherein the GNN model (106) includes a set of convolutional layers; - Apply a set of weights to each of the set of convolutional layers, wherein the set of weights corresponds to the differences between nodes in the graph (404, 406); - Receive output data indicating the predicted features of the 3D grid (302) as the output of the GNN model (106) to which the weight set is applied; and - The trainable parameters of the GNN model (106) are iteratively updated by comparing the output data with the ground truth data until a predefined loss function threshold is reached.
2. The method according to claim 1, further comprising determining the weight set by: - For each node of the graph (406), the associated edges are sorted according to a criterion to obtain a sequence of sorted edges, and a weight is assigned to each sorted edge based on the position of each sorted edge in the sequence.
3. The method according to any one of the preceding claims further includes assigning the weight set to selected nodes to maximize the convolution value.
4. The method according to any one of the preceding claims, wherein, The weight set is the trainable parameters of the GNN model (106).
5. The method according to any one of the preceding claims, wherein, The set of weights constitutes part of the input to the GNN model (106).
6. The method according to any one of the preceding claims further comprises: - Determine the distribution of node features on the nodes of the graph (406); - A histogram pooling layer is generated by discretizing the determined distribution, wherein the histogram pooling layer is defined by histogram pooling layer parameters.
7. A computer-implemented method for predicting label values associated with patches of a three-dimensional (3D) mesh representing at least a portion of a dental arch, the method comprising: - Train a graph neural network (GNN) model according to any one of claims 1 to 6 to obtain a trained graph neural network (GNN) model (106). - Generate a first 3D mesh associated with first surface information of at least a portion of the first dental arch; - Generate a first image based on the first 3D mesh; - The generated first graph is fed as input to the trained graph neural network (GNN) model (106). - Receive as output a set of first predicted label values associated with the patches of the first 3D mesh.
8. A computer-implemented method for predicting label values associated with a three-dimensional (3D) mesh representing at least a portion of a dental arch, the method comprising: - Train a graph neural network (GNN) model according to any one of claims 1 to 6 to obtain a trained graph neural network (GNN) model (106). - Generate a first 3D mesh associated with first surface information of at least a portion of the first dental arch; - Generate a first image based on the first 3D mesh; - The generated first graph is fed as input to the trained graph neural network (GNN) model (106). - Receive the first set of predicted label values associated with the first 3D mesh as output.
9. A computer-readable medium carrying instructions that, when executed by a computer, cause the computer to perform the method according to any one of claims 1 to 6.
10. A computer program product comprising instructions that, when executed by a computer, cause the computer to perform the method according to any one of claims 1 to 6.
11. A system comprising a computer capable of performing the method according to any one of claims 1 to 6.
12. Use of the trained graph neural network (GNN) model (106) trained according to any one of claims 1 to 6 in any of the following: a. Divide at least a portion of the 3D mesh of the dental arch into at least one of the following: gums or teeth; b. Detect one or more objects based on a 3D mesh of at least a portion of the dental arch; c. Detecting and scoring one or more diseases associated with dental conditions of at least a portion of the dental arch, based on a 3D mesh of at least a portion of the dental arch; d. Identify the type of one or more teeth based on a 3D mesh of at least a portion of the dental arch; as well as e. Determine the amount of tooth wear based on a 3D mesh of at least a portion of the dental arch and score the amount of tooth wear.