System and method for augmented intelligence of tooth pattern recognition
Patent Information
- Application Number
- KR1020247009982
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-10-18
- Filing Date
- 2022-08-22
- Publication Date
- 2026-09-11
- Estimated Expiration
- 2042-08-22
Smart Images

Figure 112024039479956-PCT00001_ABST
Abstract
Description
Technology Field
[0001] Cross-reference regarding related applications
[0002] This application claims priority to U.S. Provisional Application No. US63 / 236,932 filed August 25, 2021; U.S. Provisional Application No. US63 / 243,866 filed September 14, 2021; U.S. Provisional Application No. US63 / 251,886 filed October 4, 2021; and U.S. Provisional Application No. US63 / 256,790 filed October 18, 2021, the entire contents of which are incorporated herein by reference.
[0003] Technology field
[0004] The present disclosure generally relates to imaging technology of teeth, and in particular to a system and method for augmented intelligence in tooth pattern recognition using a specially formatted stacked data array. Background Technology
[0005] Dental imaging technology is used in modern dental practice to image not only the mouth and teeth but also the underlying bones and jaw structures. Dental imaging can provide extensive information for improving patient care, including monitoring teeth, movement, and gum changes, designing dental implants and prosthetics, and conducting pre-operative investigations. In orthodontics, dental imaging is used to plan treatments for tooth alignment, including designing and fabricating dental appliances, such as orthodontic devices, to align the patient's teeth according to a treatment plan.
[0006] For example, the design of dental prostheses and implants involves various imaging technologies and related dental computer-aided design (CAD) software technologies used to provide 3D images as well as 2D images of the teeth, gums, and mouth, enabling technicians to design and construct implants tailored to the patient. Imaging is typically performed using one or more optical cameras or X-rays, such as computed tomography (CT) or radiography. By combining multiple 2D or cross-sectional images, a 3D image of the mouth or tooth area can be constructed as a mosaic of 2D images. Based on these captured images of the mouth, dental implants or prostheses can be designed.
[0007] For example, U.S. Patent US10,426,578B2 by Rubbert et al. describes a dental implant system for a dental prosthesis / implant comprising an implant body of a tooth having a prosthetic interface formed to receive an occlusal-facing dental prosthetic component. The prosthetic interface has a custom three-dimensional surface geometry positioned and formed to create a locking fit for the occlusal-facing dental prosthetic component when placed thereon.
[0008] 3D images captured from teeth and gums can be further converted by shaping the 3D images into various tessellated data point formats, also known as meshing, to generate stereolithography or “STL” formats of the 3D images, and these mesh files can be used in dental computer-aided design (CAD) technologies by manipulating these three-dimensional (3D) images. For example, U.S. Patent US11,191,618B1 by Raslambekov describes a method and system for manufacturing an orthodontic device by receiving a 3D mesh containing multiple internal vertices representing the internal surface of the device, generating multiple external vertices representing the external surface of the device, and causing the manufacture of the device based on the 3D representation of the device. However, mesh or STL data processing is CPU-intensive, and the underlying file format is very large.
[0009] In current digital workflows, computer-aided design for orthodontics, prosthetics, periodontics, and other dental modeling is an extremely labor-intensive step and is often the most time-consuming and costly stage in the manufacturing process of dental prosthetics. In contrast, computer-aided manufacturing (CAM) of dental frameworks using 3D printers and computer numerical control (CNC) is relatively faster than CAD, requires little technical labor, and the cost of materials used for manufacturing prosthetics is rapidly decreasing. Therefore, CAD is currently a bottleneck in the dental CAD-CAM workflow.
[0010] This background information is provided for the purpose of creating known information that the applicant believes may be relevant to the present invention. It is not intended to acknowledge, nor should it be interpreted, that any of the foregoing information constitutes prior art to the present invention. The problem to be solved
[0011] The object of the present invention is to provide a system and method for capturing and manipulating image files of teeth for teeth, orthodontics, periodontal tracking, diagnosis, and the design of dental prosthetics and implants. Augmented intelligence in dental file segmentation, which uses a descriptor matrix with a common center or reference location as a reference point to describe and anchor the spatial surface structure of the teeth, reduces the data size of the dental image files, allowing the dental images to be manipulated, compared with other dental files, and used in machine learning and matching systems. This accelerates the design and manufacture of dental prosthetics and devices, as well as the monitoring and treatment of teeth, and reduces data expenditure, processing time, and consequent manufacturing costs of dental prosthetics. means of solving the problem
[0012] In an embodiment, a computer-implemented method for describing an object of a tooth is provided, the method comprising: receiving, by a processor, a three-dimensional (3D) mesh file representation of an object of a tooth including a plurality of related surfaces; extending a plurality of indexing rays from a reference locus through the 3D mesh file such that the indexing rays intersect the plurality of related surfaces at the surface boundary; measuring the length from the reference locus to the surface boundary to generate a plurality of indexing ray lengths for each of the plurality of indexing rays; generating a 2D descriptor matrix for each of the plurality of related surfaces by storing the plurality of indexing ray lengths of the 2D matrix to generate a 2D descriptor matrix of the surfaces; and storing the 2D descriptor matrix for each of the plurality of related surfaces as a matrix descriptor stack — wherein the cells of each row and column of each 2D descriptor matrix of the plurality of related surfaces correspond to the same indexing ray, and the 2D descriptor matrix for each of the plurality of related surfaces is stacked in space —.
[0013] In an embodiment, the method further includes the step of slicing a 3D mesh file into a plurality of two-dimensional (2D) cross-sectional slicing planes, wherein the plurality of indexing rays are coplanar with the cross-sectional slicing planes.
[0014] In another embodiment, the slicing plane is parallel to the reference position or extends radially from the reference position.
[0015] In another embodiment, the reference position is a common center or a common z-axis.
[0016] In another embodiment, the method further includes the step of training a convolutional autoencoder model using a convolutional neural network to identify a 2D descriptor matrix that matches a descriptor database.
[0017] In another embodiment, the method further includes the steps of assigning a tooth object type to each 2D descriptor matrix and matching the 2D descriptor matrix to a matched 2D descriptor matrix that describes a matching tooth object having the same tooth object type.
[0018] In another embodiment, the relevant surface is one or more of the gum line, gum surface, adjacent tooth surface, occlusal tooth surface on the jaw opposite to the object of the tooth, arch surface, internal prosthesis surface, post surface, external prosthesis surface, and instrument surface.
[0019] In another embodiment, the reference position is a common center or reference axis.
[0020] In another embodiment, the tooth object comprises one or more of a tooth, a plurality of teeth, a bitewing, a gum line, and a dental arch.
[0021] In another embodiment, the method further includes the step of applying a visualization method to visualize each 2D descriptor matrix.
[0022] In another embodiment, the method further includes using a matrix descriptor stack for dental tracking, orthodontic tracking, periodontal tracking, oral diagnosis, design of dental prostheses, design of orthodontic appliances, design of dental implants, or surgical planning.
[0023] In another embodiment, the tooth object is an adjacent tooth group described by a group descriptor matrix, and the matrix descriptor stack includes a tooth submatrix for each tooth in the group of adjacent teeth, and each submatrix includes zero or null entries for other teeth in the tooth group and dimensions identical to the group descriptor matrix.
[0024] In another embodiment, the method further includes the step of generating a visualization map for each tooth submatrix and for the entire group descriptor submatrix.
[0025] In another embodiment, the tooth object is an upper subset of adjacent teeth and a corresponding lower subset of adjacent teeth, and the method further comprises: determining an absolute difference between corresponding points of the upper teeth and lower teeth; and storing a plurality of absolute differences in a byte pattern descriptor matrix.
[0026] In another embodiment, the method further includes the step of rendering the byte register descriptor matrix in a visualization map so that each item of the byte register descriptor matrix is replaced with a corresponding shade intensity.
[0027] In another embodiment, a method for measuring changes in teeth is provided, the method comprising: obtaining a first mesh image of a tooth object and a second mesh image of a tooth object after a period of time; aligning the first mesh image and the second mesh image and assigning a common reference position; for each of the first mesh image and the second mesh image, extending a plurality of indexing rays from the reference position to a surface boundary; for each of the plurality of indexing rays, measuring the length from the reference position to the surface boundary to generate a plurality of indexing ray lengths; generating a 2D descriptor matrix for each of the first mesh image and the second mesh image by storing the plurality of indexing ray lengths of the 2D matrix to generate a 2D descriptor matrix; and storing the 2D descriptor matrix for the tooth object and the tooth object after a period of time as a matrix descriptor stack — wherein the cells of each row and column of each 2D descriptor matrix correspond to the same indexing ray and the 2D descriptor matrix is stacked in space —; and includes the step of comparing a 2D descriptor matrix to determine the deviation after a period of time.
[0028] In other embodiments, changes in the teeth are one or more of orthodontic movement, periodontal changes, and tooth degeneration.
[0029] In another embodiment, a method for measuring the occlusion of teeth is provided, the method comprising: obtaining an occlusal three-dimensional (3D) mesh image including an upper bite wing and a lower bite wing in an occlusal arrangement ― the mesh image includes an upper occlusal surface and a lower occlusal surface ―; extending a plurality of indexing rays through the mesh such that each of the plurality of indexing rays intersects the upper bite wing and the lower bite wing; measuring the length from the reference position to the surface of the lower bite and the surface of the upper bite to generate a plurality of indexing ray lengths for each of the plurality of indexing rays; and generating a bite pattern descriptor matrix by storing the plurality of indexing ray lengths as a measurement of the absolute distance between the surface of the lower bite and the surface of the upper bite to generate a bite pattern descriptor matrix of the occlusal surface.
[0030] In another embodiment, the method further includes the step of applying a threshold to a bite pattern descriptor matrix to identify a location below a specific threshold indicating the location of good occlusal interaction between the upper and lower bite wings.
[0031] In another embodiment, the occlusal three-dimensional (3D) mesh image is obtained using occlusal radiography or computed tomography.
[0032] In another embodiment, the method further includes the step of matching a byte pattern descriptor matrix to a similar byte pattern descriptor matrix in a descriptor database using a convolutional neural network trained to evaluate the degree of occlusion of the teeth.
[0033] A computer implementation method for generating a two-dimensional (2D) descriptor for a three-dimensional (3D) object in another embodiment is provided, the method comprising: slicing a three-dimensional (3D) representation of an object into an equal number of two-dimensional (2D) cross-sectional slices; for each 2D cross-sectional slice: determining a center of the slice; and determining a plurality of radial lengths, each radial length being between a center and a different point on the perimeter of the cross-section, each radial length being separated by an equal angle measured from the center; storing the plurality of radial lengths in a first descriptor matrix ― a first dimension of the first descriptor matrix comprises a plurality of cross-sectional slices, and a second dimension of the first descriptor matrix comprises a plurality of radial lengths of each slice ―; and rendering the first descriptor matrix such that each item of the first descriptor matrix is replaced with a corresponding color. The selected descriptor may then be stacked and processed through one or more convolution autoencoders.
[0034] In an embodiment of the method, the slicing comprises slicing the object radially from the center of the object. In another embodiment of the method, the slicing comprises slicing parallel cross-sections of the object.
[0035] In another embodiment of the method, the object includes a tooth, and the first descriptor matrix includes a tooth descriptor matrix.
[0036] In another embodiment, the method includes the step of generating a tooth descriptor stack, wherein the tooth descriptor stack includes a tooth descriptor matrix and its corresponding rendering.
[0037] In another embodiment of the method, the object includes a group of adjacent teeth.
[0038] In another embodiment of the method, the slicing includes slicing parallel cross-sections of a group of adjacent teeth.
[0039] In another embodiment of the method, the slicing comprises radially slicing a cross-section of a group of adjacent teeth from a focal point outside the group of adjacent teeth.
[0040] In another embodiment, the method comprises: a step of generating a group descriptor stack for a group of adjacent teeth ― a first descriptor matrix comprising a whole group descriptor submatrix; and a group descriptor batrix comprising a tooth submatrix for each tooth in a group of teeth, wherein each submatrix for each tooth comprises: the same dimensions as the whole group descriptor submatrix and a 0 or null entry for another tooth in a group of teeth ―; and a step of rendering the whole group descriptor submatrix and the corresponding tooth submatrix. Different types of descriptors may be stacked and passed through a convolutional autoencoder to regenerate descriptors for training the convolutional autoencoder.
[0041] In another embodiment, the method further comprises the step of generating a shade pattern descriptor stack, wherein the shade pattern descriptor stack comprises: a quadrant descriptor matrix rendered in full color; a red rendering of the entire quadrant descriptor matrix in which only red intensity values are rendered; a green rendering of the entire quadrant descriptor matrix in which only green intensity values are rendered; a blue rendering of the entire quadrant descriptor matrix in which only blue intensity values are rendered; and a monochromatic shading of the entire quadrant descriptor matrix, wherein each color value of the entire quadrant descriptor matrix is converted into a single monochromatic intensity.
[0042] In another embodiment of the method, the object comprises a set of teeth including an upper subset of adjacent teeth and a corresponding lower subset of adjacent teeth, and the method further comprises: a step of positioning a center outside a 3D representation of the set of teeth; for each 2D cross-sectional slice: a step of positioning an axis of the slice corresponding to the same axis of the set of teeth; a step of determining a plurality of radial lengths between different points on the periphery of the cross-section defined by an upper boundary value for the center and the upper tooth subset and an lower boundary value for the lower tooth subset; a step of determining an absolute difference between a distance determined for a point on the upper tooth and a distance determined for a corresponding point on the lower tooth; and a step of storing a plurality of absolute differences in a byte pattern descriptor matrix — a first dimension of the byte pattern descriptor matrix comprises a plurality of cross-sectional slices, and a second dimension of the byte pattern descriptor matrix comprises a plurality of absolute differences of each slice —; and a step of rendering the byte pattern descriptor matrix such that each item of the byte pattern descriptor matrix is replaced with a corresponding shade intensity.
[0043] In another embodiment of the method, an absolute difference value greater than a predetermined distance is given a value of 0, thereby converting the byte registration descriptor matrix into a byte pattern descriptor matrix.
[0044] In another embodiment, the method further includes the step of adding a plurality of stacks to the neural network to obtain a smaller data set.
[0045] In another embodiment, a system for generating a two-dimensional (2D) descriptor for a three-dimensional (3D) object is provided, the system comprises: at least one processor; and when executed by at least one processor, at least one processor comprises: slicing a three-dimensional (3D) representation of an object into an equal number of two-dimensional (2D) slices; for each 2D cross-sectional slice: determining a center of the slice; determining a plurality of radial lengths ― each radial length is between a center and a different point on the perimeter of the cross-section, and each radial length is separated by the same angle measured from the center ―; storing the plurality of radial lengths in a first descriptor matrix ― the first dimension of the first descriptor matrix comprises a plurality of cross-sectional slices, and the second dimension of the first descriptor matrix comprises a plurality of radial lengths of each slice ―; and storing a memory for configuring the first descriptor matrix to render the first descriptor matrix such that each item of the first descriptor matrix is replaced with a corresponding color. Next, the selected descriptors are stacked and processed through one or more convolution autoencoders.
[0046] In an embodiment of the system, at least one processor is configured to radially slice the object from the center of the object.
[0047] In another embodiment of the system, at least one processor is configured to slice parallel cross-sections of an object.
[0048] In another embodiment of the system, the object includes a tooth, and the first descriptor matrix includes a tooth descriptor matrix.
[0049] In another embodiment of the system, at least one processor is configured to generate a tooth descriptor stack, the tooth descriptor stack including a tooth descriptor matrix and a corresponding rendering.
[0050] In another embodiment of the system, the object includes a group of adjacent teeth.
[0051] In another embodiment of the system, at least one processor is configured to slice parallel cross-sections of a group of adjacent teeth.
[0052] In another embodiment of the system, at least one processor is configured to radially slice a cross-section of a group of adjacent teeth from a focus outside the group of adjacent teeth.
[0053] In another embodiment of the system, at least one processor is configured to generate a group descriptor stack for a group of adjacent teeth — a first descriptor matrix comprising a whole group descriptor submatrix; and a group descriptor matrix comprising a tooth submatrix for each difference in a group of teeth, wherein each submatrix for each tooth comprises: the same dimension as the whole group descriptor submatrix and a zero or null entry for another tooth in a group of teeth — and to render the whole group descriptor submatrix and the corresponding tooth submatrix.
[0054] In another embodiment of the system, at least one processor is configured to generate a shade pattern descriptor stack, the shade pattern descriptor stack comprising: a quadrant descriptor matrix rendered in full color; a red rendering of the entire quadrant descriptor matrix in which only red intensity values are rendered; a green rendering of the entire quadrant descriptor matrix in which only green intensity values are rendered; a green rendering of the entire quadrant descriptor matrix in which only blue intensity values are rendered; and a monochromatic shading of the entire quadrant descriptor matrix in which each color value of the entire quadrant descriptor matrix is converted into a single monochromatic intensity.
[0055] In another embodiment of the system, the object comprises a set of teeth including an upper subset of adjacent teeth and a corresponding lower subset of adjacent teeth, and at least one processor is configured to: position a center outside the 3D representation of the set of teeth; and for each 2D cross-sectional slice: position an axis of the slice corresponding to the same axis of the set of teeth — the determination of the radial length comprises determining a plurality of radial lengths between different points of the portion of the perimeter of the cross section defined by the center and the upper boundary value of the axis for the upper tooth subset and the lower boundary value of the axis for the lower tooth subset —; determine an absolute difference between a distance determined for a point on the upper tooth and a distance determined for a corresponding point on the lower tooth; store a plurality of absolute differences in a byte pattern descriptor matrix — the first dimension of the byte pattern descriptor matrix comprises a plurality of cross-sectional slices, and the second dimension of the byte pattern descriptor matrix comprises a plurality of absolute differences for each slice —; and render the byte register descriptor matrix such that each entry of the byte register descriptor matrix is replaced with a corresponding shade intensity.
[0056] In another embodiment of the system, an absolute difference value greater than a predetermined distance is given a value of 0, thereby converting the byte register descriptor matrix into a byte pattern descriptor matrix.
[0057] In another embodiment of the system, at least one processor is configured to add a plurality of stacks to the neural network to obtain a smaller data set.
[0058] Many additional features and combinations of the embodiments described in this specification will appear to those skilled in the art after reading this disclosure. Brief explanation of the drawing
[0059] Examples will be described merely as examples with reference to the attached drawings, and in the drawings: Figure 1 illustrates a tooth object having an assigned center with a ray emanating from the center. Figure 2 illustrates the selection of tooth descriptor surfaces of a single tooth object described in relation to a common reference position. Figure 3 illustrates an example of an output of a component of a descriptor generation system using an example of a descriptor generation platform and an example of a single tooth descriptor method, as well as a component and schematic diagram. Figure 4 schematically illustrates an example of a descriptor generation system. Figure 5a illustrates a mesh file of the outer surface layer of a tooth crown having a common z-axis. Figure 5b illustrates half of the slicing plane describing the cross-section of the crown of a tooth. Fig. 5c shows a visualization map of the tooth crown of Fig. 5a. Figure 6a illustrates an exemplary single-tooth mesh file. FIG. 6b illustrates an example of a single tooth analyzed by an index slicer sliced into multiple radial sections. FIG. 6c illustrates an exemplary cross-sectional plane from an index slicer sliced with an indexing ray. Figure 7 is a flowchart of an exemplary method for generating a single tooth descriptor. FIG. 8 illustrates a tooth object having a plurality of 2D matrices recorded at different tooth object locations. Figure 9 illustrates the selection of tooth descriptor surfaces of a single tooth described in relation to the common center and associated visualization map. Figure 10 illustrates a set of aligned two-dimensional difference descriptor matrices. Figure 11 illustrates an example of the output of a component of a descriptor generation system using an example of another single tooth description method. Figure 12 illustrates another example of a method for generating a single tooth descriptor as a flowchart. FIG. 13a illustrates the alignment of a tooth object having a single tooth and adjacent teeth along the z-axis. Figure 13b illustrates the indexing of a single cross-sectional plane of a tooth at the near-field indexing center. FIG. 13c illustrates the indexing of a single cross-sectional plane of a tooth at a distant indexing center. Figure 14 illustrates an exemplary output using an example of a method for explaining the dental arch. Figure 15 illustrates a flowchart of an example of a method for generating a dental arch descriptor. FIG. 16a illustrates an example of the z-axis position of a crosswing having a crown post. Fig. 16b illustrates a single slicing plane through the teeth. Figure 17 illustrates an exemplary output of a component of a descriptor generation system using another example of a dental arch description method. Figure 18a illustrates an example of the z-axis position of the teeth relative to the quadrant of the dental arch. Figure 18b illustrates a planar slice of the dental arch where each slice intersects the center of the arch. FIG. 18c illustrates a single slicing plane and the cross-sectional boundary of the object cross-section of the tooth. Figure 19 illustrates a flowchart of an exemplary method for generating a whole arch descriptor. Fig. 20a illustrates an example of a full dental arch. Fig. 20b illustrates an example of the right half of the dental arch. Fig. 20c illustrates an example of the left half of the dental arch. Figure 21 illustrates an example of a neural descriptor stack. Figure 22a is a tree diagram of the relationship between the descriptor method and the output. FIG. 22b illustrates a method for converting a tooth object database containing mesh files of tooth objects into a 2D tooth descriptor stack database. FIG. 22c illustrates a method for matching a tooth post to a matching crown in a tooth object database containing tooth objects represented by a two-dimensional descriptor matrix. Figure 23a illustrates an exemplary method of a tooth descriptor matrix. FIG. 23b illustrates an exemplary method for obtaining a quadrant descriptor matrix stack for cross-wings. Figure 24 illustrates an example of a quadrant descriptor stack. Figure 25 illustrates an example of a single tooth descriptor matrix inside a quadrant. Figure 26a shows a 3D mesh file image of a tooth post having three circumferential surface lines. Figure 26b illustrates the post of the tooth of 26a, showing three circumferential surface lines superimposed on a two-dimensional descriptor matrix. Figure 26c illustrates the superposition of the three circumferential surface lines of Figure 26b on the descriptor matrix. Figure 27 illustrates an exemplary method for obtaining a whole arch descriptor stack of teeth. Figure 28 illustrates an example of a dental arch descriptor stack. FIG. 29a illustrates an example of a crosswing having a common center. FIG. 29b illustrates an example of a cross-sectional slice of a cross-wing. FIG. 30 is a flowchart of an exemplary method for generating a byte pattern descriptor stack. Figure 31a illustrates the measurement of the cross-sectional boundary of the lower arch along the x-axis. Figure 31b illustrates the measurement of the cross-sectional boundary of the upper arch along the x-axis. Fig. 31c illustrates an example of a bite pattern for the upper and lower arches. Fig. 32a is a front view of a mesh file byte image. Fig. 32b is a side view of the mesh file byte image. Fig. 32c is a top view of the arch mesh file bite image of the lower teeth. Figure 33a illustrates an exemplary visualization of a byte pattern matrix descriptor. Figure 33b illustrates an exemplary visualization of a byte pattern registration descriptor. Figure 34a is a visualization map of an exemplary good byte pattern. Figure 34b is a visualization map of an exemplary bad byte pattern. Figure 35 illustrates an example of a shade pattern descriptor stack. Figure 36 illustrates an example of a list of descriptor types for encoding methods. Figure 37a illustrates a flowchart of an example of training a dataset. Figure 37b illustrates a flowchart of an example of creating a compressed data set database. FIG. 38 is a schematic diagram of a computing device, such as a server or another computer of the device. Figure 39a illustrates a tooth alignment stack and its associated descriptors in a matrix format. Figure 39b illustrates a tooth alignment stack and associated descriptors in image format. Figure 40 is a schematic diagram of the training and use of a convolutional autoencoder in tooth alignment analysis. FIG. 41 is a schematic diagram of exemplary convolution autoencoder components and methods in tooth alignment analysis. Figure 42a illustrates the gum prognostic stack and related descriptors in a matrix format. Figure 42b illustrates the gum prediction stack and related descriptors in image format. Figure 43 is a schematic diagram of exemplary convolution autoencoder components and methods in gum prediction analysis. It is understood that similar features throughout the description and drawings are identified by similar reference numbers. Specific details for implementing the invention
[0060] Embodiments of methods, systems, and devices are described with reference to the drawings. The applicant notes that the described embodiments and examples are exemplary and non-limiting. Actual implementation of features may include combinations of some or all of the modes, and features described herein should not be construed as an indication of future or existing product plans.
[0061] This specification provides a method and system for processing mosaic or mesh 3D file formats in dental applications. The image file capture and manipulation of the described differences can be used for the purposes of tracking teeth, orthodontics and periodontology, diagnosis, and designing dental prosthetics and implants. The augmented intelligence of the file segmentation of teeth described in this specification converts a standard STL or mosaic mesh file image format into one or more two-dimensional (2D) descriptor matrices having a common reference point or reference location. A multiple descriptor matrix having the same common reference location describing the surface structure of the related teeth enables the description of different tooth surfaces around the common reference location of a single patient. This may include, for example, the gingival surface, the post surface, the inner and outer crown surfaces, and other occlusal surfaces of the mouth.
[0062] Converting standard 3D image mesh files into one or more 2D descriptor matrices reduces the data size of tooth image files, allowing tooth images to be manipulated, compared with other tooth files, and used in machine learning and matching systems. Machine learning systems can match relevant descriptor matrices more easily and quickly, reducing the costs of tooth monitoring and treatment, thereby accelerating the design and manufacturing of dental prosthetics and devices. Storing tooth files also reduces costs by decreasing file size, enabling dental professionals to easily track dental patients. Furthermore, the structure of the same patient's teeth can be compared over time with periodontal data and tooth displacement, providing accurate tooth tracking. Various orthodontic and periodontal patterns can be learned from specially formatted stacked array databases using deep learning algorithms.
[0063] To be “stackable” for describing 3D patterns, each surface of a tooth object is described by a unique descriptor matrix, and all descriptor matrices describing the same tooth object have a common reference location or center where all measurements are performed. Stacked descriptor matrices contain data related to the distance from the surface to the shared common reference location, and each data point in each stacked descriptor matrix represents the distance from the common reference location describing the surface shape and is stored in the same location within the descriptor matrix to be fixed in space relative to one another. Thus, multiple surfaces of the tooth object are each described by separate descriptor matrices but are associated with the same common reference location. In particular, each data point in the same cell of the related stack matrix is associated along the same indexing ray as the distance between the reference location and the surface described by each individual descriptor matrix. This provides a descriptor stack describing multiple surfaces of the same tooth object, such as, for example, the gum line, gum surface, neighboring tooth surface, occlusal tooth surface on the jaw opposite the tooth object, arch surface, internal prosthesis surface, post surface, external prosthesis surface, and instrument surface. Accordingly, multiple features can be described by a single descriptor matrix stack, where each matrix visualizes a single feature or single surface of the tooth object.
[0064] Datasets containing descriptor matrices describing orthodontic and periodontal patterns are 10 to 100 times smaller than the data contained in digital impression files in the basic format (STL or any meshing format) required to encode all stack arrays. Due to the reduced size of the current dataset compared to the corresponding mesh file, orthodontic and periodontal patterns can be clustered in a very large database and trained convolutional neural networks can be used to match specific patterns within seconds to support treatments such as surgical planning, orthodontic treatment planning, and prosthetic planning. For example, if a suboptimal orthodontic or periodontal pattern can be identified, the optimal orthodontic or periodontal pattern can be proposed as a restoration solution by matching various descriptor matrices in the descriptor stack with similar descriptor matrices, and orthodontic or periodontal restoration solutions can be recommended based on predictions of similar cases and similar descriptor matrices. Periodontal patterns can be used to diagnose early gum disease based on the combination of gum thickness and gum height compared to tooth height or gum recess. The periodontal pattern can also be used to plan restoration solutions, including planned gum grafts, when the gum recess exceeds a set threshold.
[0065] Matching tooth objects with tooth objects from different patients or with tooth objects from the same patient after a certain period or after the passage of time can be performed using the current method of tooth file splitting, and subsequently, the three-dimensional (3D) tooth objects are represented as a two-dimensional (2D) matrix. Computer implementation systems and methods for generating two-dimensional (2D) descriptors for three-dimensional (3D) objects by converting a mesh file into a descriptor matrix and for comparing and matching said descriptor matrices are provided herein. One exemplary method comprises the steps of slicing a three-dimensional (3D) representation of a tooth object into a plurality of two-dimensional (2D) cross-sectional slices and determining for each 2D cross-sectional slice an indexing center and a plurality of radial lengths measured from the slicing center to the cross-sectional boundary. Each radial length is measured between the indexing center or reference position and a different point on the perimeter or surface boundary of the cross section, and preferably, each radial length is separated by the same angle measured from the indexing center. The plurality of radial lengths are then stored in a descriptor matrix. In one example, the first dimension or row of the generated 2D descriptor matrix includes the identification of multiple cross-sectional slices or slicing planes, and the second dimension or column of the descriptor matrix includes the number and length of each of the multiple indexing rays of each slice or slicing plane. In another example, the descriptor matrix dimensions may include the angle of inclination from the normal to the z-axis extending through the object of the tooth, for example, referred to herein as an angle indexing method, and the right ascension angle from a reference point perpendicular to the z-axis to define the object of the tooth. Preferably, for visualization, each descriptor matrix is converted into a visualized form or visualization map, and each item of the descriptor matrix is replaced with a corresponding color or shade by parsing length data into a range and assigning a color or shade to each range.
[0066] A 2D descriptor matrix may be assigned a descriptor type based on the type or surface of the tooth object captured and represented by the descriptor matrix, and multiple descriptor matrices may be generated for the same tooth object or tooth object region. When a common center or reference position is assigned to the tooth object, multiple descriptor matrices are generated using the reference position, and multiple descriptor matrices for the same tooth object or region may be stacked to provide a multidimensional view of the tooth object, where each descriptor matrix can be independently matched with a similar descriptor matrix in the descriptor database. This can be helpful, for example, in the design of dental prosthetics and devices, and in monitoring and prescribing changes in the mouth for orthodontic and periodontal applications.
[0067] The present method and system provide a mechanism for representing a 3D object using one or more 2D arrays or matrices containing smaller data and having a smaller file size than the 3D image counterpart. Each array can describe the key features of a complex object and can be used to match features in a database with similar 3D objects for various applications, including but not limited to detecting shape changes over time, detecting joints, comparisons against standards, computer-aided design, and computer-aided manufacturing. When the 3D object is segmented, each descriptor matrix can be stacked and classified by key features and can be compared with other key feature matrices using a convolutional autoencoder for matching and analysis. The system includes at least one processor and memory that stores instructions configured to perform the currently described method when executed by at least one processor. Different types of descriptors can be stacked, descriptors can be regenerated through a convolutional autoencoder, and the convolutional autoencoder can also be trained for 3D file matching and augmented intelligence in CAD. This method can not only benefit the dental industry but also have a significant impact on the CAD / CAM industry and other industries that use mosaic surfaces and mosaic or mesh file formats.
[0068] In various other embodiments, the present disclosure provides systems, methods, apparatuses, and logical structures, and a set of machine-executable coding instructions for implementing these systems, apparatuses, and methods. In some embodiments, five STL autoencoders are proposed to process digital impression files of the entire dental arch, and these 2D arrays / matrices are then stacked to describe features or objects of the entire tooth that describe the corresponding 3D STL file. Thus, a compressed dataset can be derived from the descriptor matrix. Bite pattern and byte registration descriptor matrices can be generated from 3D occlusal bite images for better byte analysis and comparison.
[0069] The present disclosure may be described herein in terms of various components and processing steps, each component providing different features of the anatomical structure of the difference. Some processing steps described herein include an index slicer, a radial encoder, a Fourier neural operator, and a visualization unit that converts a descriptor matrix into an image file format viewable on the screen of a graphical user interface. The visualized output or visualization map may also be stacked to facilitate imaging multiple features as a single object. In some embodiments, the indexed slicer may divide the anatomical structure of the tooth into slices to generate multiple cross-sections that can be further indexed by the radial encoder and converted into numerical representations. In some embodiments, the radial encoder may map cross-sections from a specific slicing center. Once mapping is complete, the next step is to strategically store the data. In some embodiments, this is achieved by Fourier neural operators and output visual renderings for each 2D array / matrix value mapping (visualization) that enable field experts (e.g., dentists, data scientists, software developers, etc.) to recognize each major feature described by each array. Then, sets of descriptor matrices can be stacked to describe the anatomical structure of the entire tooth. For example, they are stacked as a tooth descriptor stack, a quadrant descriptor stack, a tooth arch descriptor stack, and / or a shade pattern descriptor stack. Additionally, byte pattern and byte registration descriptors can be provided in a manner similar to the encoding method. These descriptors allow for two output formats: 2D arrays / matrices and image formats. Through these descriptions, bytes can be reviewed and the tooth can be compared before and after implant or crown. A compressed dataset is a small dataset representing two or more major features.
[0070] The components mentioned in this specification may be implemented on various hardware types. Those skilled in the art understand that the method described below can import meshes from various formats, including binary / ASCII STL, Wavefront OBJ, ASCII OFF, binary / ASCII PLY, GLTF / GLB 2.0, 3MF, XAML, 3DXML, etc. For the sake of simplification of this description, STL or mesh format forms are used as exemplary file formats in this specification, but it is understood that other 3D file formats describing surface structures may also be used in conjunction with the described method. The method described below is some of the exemplary applications of this disclosure. The principles, features, and methods discussed in this specification may be applied to any dental application working with any 3D anatomical structure, including three-dimensional anatomical structures or surface structures that can be visualized. The method and descriptor stack described in this specification may also have applications outside the dental industry, and the embodiments are not limited to the applications of the details of the arrangement and configuration of the components described in this description or illustrated in the drawings. The grammar and terminology used in this specification are for illustrative purposes only and should not be construed as limiting. It should also be noted that, for exemplary purposes, various exemplary methods and systems may be described in relation to a single tooth or other structures of the patient's oral cavity or teeth. However, these exemplary methods may also be implemented using other types of teeth or objects of teeth within the patient, such as molars, canines, premolars, etc. For example, an incisor tooth may be exemplified as a single tooth descriptor method, and the same method may be performed using premolars, molars, and other teeth. In some embodiments, similar ideologies may be applied to other method and descriptor stacks.
[0071] FIG. 1 illustrates a mosaic image or mesh file representing a tooth object. The image of the tooth object has an assigned common center (12) that serves as a reference location for rays originating from the common center. The common center (12) is selected or assigned to the image of the tooth object at an approximate center location, and the distance from the common center to each layer of the tooth object may be an index mapped in a 2D format in a descriptor matrix. The descriptor matrix is stacked to have a common center anchor or reference point. Black lines describe the paths of center-indexing rays (10a, 10b, 10c) that are fired from or extend from a single common center (12) point. The rays extend from the common center (12) at uniformly spaced angular intervals in all directions. Whenever a ray intersects the mesh surface of the tooth object or the STL file describing the tooth, the distance traveled by the ray is stored in a 2D array representing all fired rays. The tooth object can be partitioned in several different ways to generate a set of 2D descriptor matrices describing the tooth object, for example, using parallel or radial slicing or angle indexing. By using a common center for each descriptor matrix, the set of matrices is indexed relative to each other, making independent partitioning, searching, and optimization of the surface described by each descriptor matrix possible.
[0072] FIG. 2 illustrates the selection of tooth descriptor surfaces described in relation to a common reference position. This figure shows that using this encoding method, the 3D mesh representation of the tooth object can be subdivided into different features using each view associated by a common reference position or center, overlapped in space, and independently searched and optimized. The positional features of the illustrated lower jaw teeth are from left to right, where: Feature A is the surface of the preparation site (adjacent tooth wall); Feature B is the surface of the preparation site (post); Feature C is the inner surface of the fabricated crown (inner surface); Feature D is the outer surface of the fabricated crown (outer surface); and Feature E is the occlusal surface of the adjacent upper tooth of the upper jaw. In one application of the present invention, the crown can be designed by independently aligning the inner surface of the crown (Feature C) with the patient's post (Feature B) and the outer surface of the crown (Feature D) with the occlusal surface (Feature E) as well as the preparation site (Feature A), each having a unique descriptor matrix. Computer-aided design (CAD) can be performed by matching a descriptor matrix similar to that designed in a machine learning training model to provide a complete crown that fits the patient's mouth by considering all aspects of the crown environment.
[0073] FIG. 3 illustrates, as a component diagram, an example of a descriptor generation system (100) according to some embodiments. The system (100) includes an index slicer (104), a radial encoder (106), a Fourier neural operator (108), and a visualization unit (110) for image file formatting. The index slicer (104) receives an STL or mesh file (102) as an input source, and the Fourier neural operator (108) of the system (100) generates a matrix / array output that can be visualized by the visualization unit (110). The terms “matrix” and “array” are used interchangeably herein to refer to a two-dimensional data structure containing numerical measurements represented as a two-dimensional x,y array, wherein each numerical measurement is a distance from a common reference position to the surface of a tooth. Each matrix may vary depending on how it is used, and the visualization unit (110) may provide an output image to a graphical user interface on a display screen. The visualized output may simply be an array of numbers as illustrated in the adjacent Foley neural operator (108), or it may be a parsed output in which a range of numbers is represented in color or grayscale, for example, as illustrated in the adjacent visualization unit (110). The image output from the visualization unit (110) may be any standard image file format that can be visualized. Different descriptors may be generated using a descriptor generation system (100) including a single tooth descriptor method 1, a single tooth descriptor method 2, an arch descriptor method 1, an arch descriptor method 2, and a whole arch descriptor, all of which are described herein. Additionally, various different descriptor matrices for a single tooth object may be obtained, for example, a gum line, a gum surface, a neighboring tooth surface, an occlusal tooth surface adjacent to or on the jaw opposite to the tooth object, an arch surface, the inside and outside of a prosthetic surface, and an instrument surface.
[0074] A single tooth descriptor method is illustrated by image AE of FIG. 3, wherein image AE illustrates an exemplary output of a component of a descriptor generation system (100) employing an example of a single tooth descriptor method according to some embodiments. This method includes the step of processing a three-dimensional single tooth file from a basic 3D format into a two-dimensional (2D) matrix format as illustrated in image D as a 2D matrix (208) or as a visualization map (210) illustrated in image E. Image A illustrates an example of a tooth object (200) in a basic three-dimensional tooth file (e.g., STL file format). This method can be achieved by slicing the three-dimensional tooth or tooth object (200) into slicing planes of the same angle by an index slider (104) illustrated in image B. The tooth object (200) passes through the index slicer (104), and in this embodiment, the tooth object (200) is sliced radially. Note that in a preferred embodiment using radial slicing, each slice passes through the common center of the tooth object, but the slicing may also be performed, for example, in parallel or nearly parallel planes or using angle indexing. As illustrated in Image B, the tooth object is analyzed by an index slicer, and in this exemplary method, the tooth object is sliced into a plurality of radial parts through the slicing center (206). In the illustrated embodiment, each radial slice will pass through the tooth common center or the z-axis. As illustrated in Image B, all generated radial slicing planes (202a, 202b, 202c) have an angle alpha (α) that increases continuously such that the difference in degree or angle from one radial slicing plane to the next radial slicing plane is the same. In some embodiments, increasing the number of radial slicing planes in the method will increase the accuracy of descriptor generation so that the resulting 2D matrix provides more granularity for the 3D shape of the tooth object.The generated radial slicing planes (202a, 202b, 202c) preferably have the same angle to provide a consistent density of distance data for the object surface of the tooth. Each slicing plane (202a, 202b, 202c) will generate different cross-sectional views of the object of the tooth (200) at different angles. Image C shows a 2D cross-section of one slicing plane illustrated in Image B. As illustrated in Image C, the distance from the indexing center (214) to each cross-sectional point on the perimeter of the tooth object slice or the intersection point of the tooth cross-sectional boundary (22), or the length of each indexing ray (216), can be measured by a radial encoder. The indexing center (214) is the center of the cross-sectional plane of a single radial slicing plane generated from the radial slicing of the tooth object through the radial slicing plane. The radial encoder will generate a plurality of indexing rays (216) starting from an indexing center (214), wherein the distance between the indexing center (214) and the perimeter of the cross-section of the radial slicing plane at the edge of the tooth object can be generated from the slicing plane and is measured by the radial encoder (106) to map the perimeter of the tooth object from the slicing plane. In the radial slicing method, the slicing center (206) may be located at the same position as the indexing center of each cross-section generated from the slicing planes (202a, 202b, 202c). The radial encoder (106) will generate indexing rays (216) from the indexing center (214) to map the length of each indexing ray to the cross-section boundary (222) of the tooth object of each radial slice. In some embodiments, all indexing rays will be equally angled in space at an angle beta (β) such that the angle between each indexing ray (216) is constant.It should be noted that the cross-section generated by the index slicer (104) may generate a different orientation of the resulting descriptor matrix for the tooth object on a surface described by being measured and referenced from a reference position, such as the bottom plane of the tooth object, instead of the indexing center shown, for example. Increasing the number of generated indexing rays will capture more data points around the perimeter of the tooth cross-section, providing detailed information about the tooth object, such as the tooth anatomical structure. However, as the number of circumferential data points provided by the distance of multiple indexing rays increases, the 2D matrix file size increases; therefore, this should be kept in mind when determining the number of slicing planes as well as indexing rays required to provide appropriate precision for the desired purpose. To compare descriptor matrices for the same tooth object, it is desirable that the location of the reference point for slicing and indexing, or the algorithm used to generate the descriptor matrix, be consistent so that matrices of similar teeth can be directly compared.
[0075] Image D illustrates an example of the radial encoder output of a Fourier neural operator (108) as a 2D matrix (208) for the tooth object shown in Images A and B. The 2D matrix (208) is generated for each radial portion or slicing plane (202a, 202b, 202c) of the tooth object shown in Image B. For each cross-sectional slice or slicing plane, the radial encoder measures the distance from the indexing center to the cross-sectional boundary and generates a one-dimensional list (1D array) of distances describing the surface boundary (22) for a specific slicing plane. This is repeated for all slicing planes, and combining all 1D arrays for each slicing plane will generate the 2D matrix (208) of the tooth object (200) using a Fourier neural operator. Other mathematical functions can also be applied to a 1D array or 2D matrix to manipulate the numbers in the array into a manageable range, such as by reducing the number of significant digits or normalizing the numbers. Applying a normalization function may also reduce the data or file size of the 2D matrix (208). For example, if the indexing center is positioned at a significant distance from the object slice of the tooth, the neural operator can adjust the values of the 1D matrix by normalizing the offset distance of the indexing center. In a specific example, the array (102, 103, 100) can be represented as an array (2,3,1) with a base of 100. The 1D array (2,3,1) consumes less space compared to (102,103,100) bytewise, but normalizing the values does not reduce the accuracy of the matrix. One open source method that can be used for such value normalization is Apache Parquet. It must be understood that the entire matrix describing the object of the tooth can potentially have as many rows and columns as hundreds or thousands to provide sufficient granularity to the entire anatomical structure of the tooth object.The data in the 3D matrix represents actual distances, e.g., mm, and since the smallest number among all numbers in the 3D matrix can be removed through normalization, the 3D matrix represents relative differences or changes in teeth present in the mesh file. As illustrated, each item in the matrix can be used as a pixel value for a visualization mapping / image.
[0076] In some embodiments, the number of rows is equal to the number of slicing planes generated from the index slicer (104), and the number of columns is equal to the number of ray lengths generated from each slicer of the radial encoder (106). Each element or cell of the 2D matrix represents the distance from the slicing center (206) to the cross-sectional boundary point of the corresponding slicing. The output of the Fourier neural operator is a 2D matrix (208), which can be used as a weight in a stacking application as described below. Image E of FIG. 3 is an example of a visualization map (210) of the radial encoder output 2D matrix (208) visualized as a pixel array. The visualization map (210) of the radial encoder (106) output can be visualized for a graphic user, where each item of the 2D matrix (208) is converted into a pixel value referred to herein as the visualization map (210). The 2D matrix (208) can be visualized in this manner as an aid to a dentist or laboratory technician for further analysis. For example, as one method of converting the 2D matrix (208) into a visualization map (210), the values of the neural operator matrix can be mapped to a color mapping method (e.g., rainbow, single color shade, multiple color shade, black and white, or grayscale shade, etc.). The minimum and maximum values of the matrix can be identified and assigned to selected color map value poles, and the 2D matrix (208) can be represented as a color map or a visualization map (210). Image E illustrates an example of a grayscale (black and white range) visualization mapping of the matrix (208). The values of the matrix (208) are represented as shades shown in the pixel area (218). In other words, the entire matrix corresponds to the entire visualization mapping / image so that each conversion of the matrix item to a color / shade can be displayed as a pixel in the visualization map (210).
[0077] FIG. 4 illustrates, in schematic diagram form, an example of a descriptor generation system (112) according to some embodiments. The system includes at least one processor and a memory storage instruction that configures at least one processor to perform the method currently described when executed by at least one processor. The descriptor generation system (112) is implemented on a computer or equivalent electronic device connected via a network (128) wired or wirelessly to an interface application (130), a tooth scanner (132), such as a tooth imaging device that generates STL / mesh images, and one or more tooth object databases (134), such as tooth records or other data. The interface application (130) may be, for example, a tooth evaluation interface application on a personal computer, a tooth evaluation device interface, or a mobile device application including a graphical user interface that generally enables a dental professional to interact with the system. The descriptor generation system (112) may implement aspects of the process and method described herein. The descriptor generation system (112) may be implemented in a suitable computer or electronic device and may include a processor (116) and an input / output (I / O) unit (114) using a data storage device (120) and a communication interface (118). The descriptor generation system (112) also has a memory (122) that stores machine-executable instructions for configuring the processor (116) to receive files, for example, from an input / output (I / O) unit (114), one or more tooth scanner (132) devices, or one or more descriptor databases (124). The tooth descriptor database (124) may be a database containing multiple tooth descriptor mesh files and / or matrix data files that may be invoked, for example, for matching, comparison, diagnosis, artificial intelligence or machine learning training or test settings, or for other comparison purposes.
[0078] The descriptor generation system (112) may also include a communication interface (118) and a data storage device (120). A processor (116) may execute instructions in memory (120) to implement an embodiment of the processor described herein. The descriptor generation system (112) may be connected to one or more interface applications (130), a tooth scanner (132) device, or a tooth object database (134). This connection may be made via a wireless, wired, or combined network (128) (or multiple networks). The descriptor generation system (112) may receive and transmit data from one or more of these via an I / O unit (114). When data is received, the I / O unit (114) transmits the data to the processor (116). The I / O unit (114) may enable the descriptor generation system (112) to interconnect with one or more input devices, such as a keyboard, mouse, camera, touch screen, and microphone, and / or one or more output devices, such as a display screen and speaker. The processor (116) may include, for example, one or more types of general-purpose microprocessors or microcontrollers, such as a digital signal processing (DSP) processor, an integrated circuit, a field programmable gate array (FPGA), a reconfigurable processor, or a combination thereof. The data storage device (120) may include memory (122), one or more difference descriptor databases (124) containing a plurality of difference object 2D matrix representations along with descriptor classes / subclasses, and one or more permanent storage devices (126).The memory (122) may include any combination of computer memory of any type located internally or externally, such as random access memory (RAM), read-only memory (ROM), compact disc read-only memory (CDROM), electro-optical memory, magneto-optical memory, eraseable and programmable read-only memory (EPPROM) and electrically eraseable and programmable read-only memory (EEPROM), ferroelectric RAM (FRAM), etc.
[0079] The communication interface (118) may enable the descriptor generation system (112) to communicate with the network (128) as well as other components, exchange data with other components, access and connect to network resources, provide applications, and / or connect to one or more networks or multiple networks capable of transmitting data, including the Internet, Ethernet, POTS (plain old telephone service) lines, PSTN (public switch telephone network), ISDN (integrated services digital network), DSL (digital subscriber line), coaxial cable, fiber optic, satellite, mobile, wireless (e.g., Wi-Fi, WiMAX), SS7 signaling networks, wired, local area networks, wide area networks, and other combinations thereof, to perform other computing applications. The descriptor generation system (112) may also operate to register and authenticate a user, for example using a login, a unique identifier, and a password, before providing access to applications, local networks, network resources, other networks, and network security devices. The descriptor generation system (112) may also be enabled to be connected to different machines or objects through one or more communication interfaces (118). A data storage device (120) may be configured to store information associated with or generated by the descriptor generation system (112). The storage device (120) and / or the permanent storage device (126) may be provided using various types of storage technologies such as solid-state drives, hard disk drives, and flash memory, and may be stored in various formats such as relational databases, non-relational databases, flat files, spreadsheets, extended markup files, etc.The memory (122) may also include an index slicer unit (104), a radial encoder unit (106), a Fourier neural operator (108), and a visualization unit (110) as described in the specification.
[0080] FIGS. 5a-5c illustrate a tooth segmentation method for generating a visualization map of a layer of a tooth object, which in this case is the outer surface of the tooth crown. FIG. 5a illustrates a mesh file of the outer surface layer of the tooth crown, having a central z-axis passing through the common center of the tooth object, in this case, the molar crown. Radial slicing planes (202a, 202b) cut the tooth crown through the common center on the z-axis. FIG. 5b illustrates half of a single slicing plane describing a cross-section of the tooth crown showing the periphery of the crown in the corresponding slice as a cross-sectional boundary (222). Indexing rays (216) extend from the common center (12) at angular intervals uniformly spaced in all directions of the slicing plane (202) and are measured using a radial encoder. Note that in this case, the common center (12) is on the z-axis but is located much lower than the bottom surface of the tooth crown object in space. This positioning of the common center (12) enables enhanced resolution control of the surface boundary. The common center (12) can be located either inside or outside the object of the tooth, or even far or wide from the object of the tooth, in which case the indexing rays will be effectively parallel to each other. Long-range normalization of the indexing rays during processing reduces the file size of the resulting 2D matrix. Positioning of the common center (12) on the z-axis, which serves as a reference location, enables the stacking and matching of descriptor matrices for different layers of different features within the same object of the tooth, e.g., inside the crown, the post, and the environment of the tooth. Whenever an indexing ray (216) intersects the surface cross-section boundary (222) of the mesh representing the crown, the distance traveled by the ray is extended in the method and stored in a 2D array matrix representing all measured rays. FIG. 5c illustrates a point cloud of the crown or a visualization map (210) of this array located beneath the mesh surface, shown as a heatmap of the indexing ray distances traveled from the common center.The mapping of two specific indexing rays (R1 and R2) is shown as a dashed line on the visualization map (210), which represents the distance of the outer surface of the crown from the slicing plane (202) shown in FIG. 5b to the common center (12). The dark line in FIG. 5c shows the location of the slicing plane (202) shown in FIG. 5b and the location of the slice where the indexing rays are indicated as relative positions in a 2D matrix. Using the distances indicated by the indexing rays, the sampled point cloud representation of the original surface can be reconstructed into a 2D matrix by multiplying the distances stored in the rays, and the 2D matrix can be displayed on the visualization map (210) as shown.
[0081] FIGS. 6a through 6c illustrate the step of acquiring a slice of a tooth in a method for describing a single tooth file segmentation of a tooth according to some embodiments. Three-dimensional single tooth file processing is achieved from a base 3D format generated by a tooth scanner and can be converted into a two-dimensional (2D) format. This can be achieved by cutting the three-dimensional tooth with slicing planes of the same angle as described and converting the slicing data into a matrix for a 2D representation of the object of the three-dimensional tooth. Preferably, a graphics processing unit (GPU) is used to facilitate CAD design by processing the converted 2D matrix on one or more GPUs to accelerate and optimize processing for pattern matching. FIG. 6a illustrates an example of a tooth object (200) of a base 3D tooth file (e.g., STL mesh file format) acquired as a scanned image of a tooth from one or more tooth scanners. The tooth object (200) acts as a reference position and is preferably depicted with a z-axis (212) passing through the highest point, center, or high point of the tooth to ensure that data is generated and stored uniformly. Each mesh file has a bounding box, and the common center is generally assigned to the z-axis of the center of that bounding box, or the bounding box may have the same z-axis as the volumetric center of the mesh file. The z-axis generally represents the longest axis among the potential axes, and the tooth features to be displayed are aligned through the z-axis. Generally, the z-axis will be assigned through a single tooth in the occlusal plane toward the jaw.
[0082] FIG. 6b is an image of the tooth object depicted in FIG. 6a viewed from above along the z-axis. The slicing center (206) is preferably on the z-axis, but may be at a different location outside the z-axis or not explicitly on the z-axis. As shown in FIG. 6b, the tooth object is analyzed by an index slicer, and in the method of this example, the tooth object is radially cut into a plurality of radial portions (204) through the slicing center (206). In the illustrated embodiment, each radial slice will pass through the tooth center or the z-axis. As shown in FIG. 6b, it is preferable that all generated radial slicing planes (202a, 202b, 202c, 202d, 202e) have an angle alpha (α) that consistently increases so that the difference in angle or degree from one radial slicing plane to the next radial slicing plane is the same. Each radial slicing plane (202) will generate a cross-sectional view of the tooth object (200) through the plane. The number of slices required is selected so that all features of the tooth or tooth object are properly captured by the 2D matrix descriptor method, because the number of radial slices determines the quality or resolution of the resulting matrix and the image provided by the visualization map. For example, if the number of slices is too small, the space between the slices may be large enough so that anatomical abnormalities or features are not displayed in the cross-section. As the number of radial slicing planes increases, the accuracy of descriptor generation will increase so that the resulting 2D matrix provides more granularity regarding the 3D shape of the tooth object.
[0083] As illustrated in FIG. 6c, the distance from the indexing center (214) to each cross-sectional point on the circumference of the tooth object slice or the intersection point of the tooth cross-sectional boundary (222), or the length of each indexing ray (216), can be measured by a radial encoder. The indexing center (214) is the assigned center of the cross-sectional plane of a single radial slicing plane generated from the radial slicing of the tooth object through the radial slicing plane, and must be the common center when the encoding method is used in a descriptor stack or compared with another matrix. To encode the tooth image, the radial encoder will generate multiple indexing rays (216) starting from the indexing center (214). The distance between the indexing center (214) and the circumference of the cross-section of the radial slicing plane at the edge of the tooth object, referred to as the cross-sectional boundary (222), can be generated from the slicing plane to map the circumference of the tooth object in the slicing plane. In some embodiments, all indexing rays will be equally angled in space at an angle beta (β) such that the angle between each indexing ray (216) is constant. It should be noted that a cross-section generated by the index slicer of the tooth object from an indexing center (214) located on the bottom plane or at a large or infinite distance from the cross-section boundary (222) can be used, and consequently, a substantially infinite beta angle can be obtained. Increasing the number of generated indexing rays will capture more data points around the perimeter of the tooth cross-section, providing detailed information about the tooth object, such as the tooth anatomical structure. However, since more circumferential data points provided by the distance of multiple indexing rays will increase the 2D matrix file size, this should be kept in mind when determining the number of indexing rays required to provide the appropriate precision needed for the desired purpose.
[0084] FIG. 7 illustrates an exemplary calculation of a method for generating a single tooth or a tooth object descriptor (300) according to some embodiments. The method for generating a single tooth descriptor (300) takes a 3D single tooth mesh file (302) (e.g., in STL format) as input. In some embodiments, the file may represent a tooth object, such as a tooth, or an anatomical structure of a tooth, as illustrated in FIG. 5a. In other embodiments, the file may represent a group of teeth including the tooth for which the descriptor is generated, multiple teeth, a dental arch, an occlusion or bite pattern, a soft tissue structure, or other dentition or tooth structure. In some embodiments, the z-axis must be aligned with the longitudinal axis of the anatomical structure (e.g., the object or tooth). The system queries whether the selected tooth object is aligned with the z-axis (304). If the selected tooth is not aligned with the z-axis, the longitudinal axis of the anatomical structure is aligned with the z-axis (306). In some embodiments, the system automatically aligns the longitudinal axis of the tooth's anatomical structure with the z-axis. For example, the system can generate a transformation matrix that shifts the center of the bounding box of the input STL to the origin. This aligns the longitudinal axis of the anatomical structure of the tooth with the z-axis. Alignment with the z-axis can be performed so that data is generated and stored uniformly. Once the anatomical structure or the selected tooth is aligned with the z-axis, the slice center or the center of the group of teeth containing the selected tooth is located (308). Next, the number of slices required to ensure that all features are included is determined (310). For example, if the number of slices is too small, the space between the slices may be large enough so that the cross-section provided by multiple slices does not reveal specific anomalies or features of the anatomical structure. The step of determining the number of slices through the slicing center (310) determines the quality or granularity of the 2D matrix representation and determines the object of the tooth or the visualization map of the tooth.Next, if the number of generated slices is not greater than the number of slices required (312), the tooth or tooth object can be radially cut at an alpha angle in a clockwise or counterclockwise normal plane using the slice center as the planar origin (314). At this point, the process provides a cross-sectional view for each slice. To do this, the system finds or selects the location of the indexing center for each cross-section (316) and then measures the length of the indexing ray from the indexing center to the cross-sectional boundary in a clockwise or counterclockwise direction, preferably at approximately the same exclusive angle (318). The measurements include the indexing ray length values for each slice or slicing plane and can be stored in single-row units (320). Steps 312 through 320 can be repeated in a loop to obtain single-row units for each slice, which can be stored in turn in a 2D matrix (322) format until a sufficient number of slices have been processed. The generated 2D matrix may also be stored in a data repository such as a matrix database. In some embodiments, the method for generating a single tooth or an object descriptor of a tooth may be performed on other tooth anatomical structures, e.g., other incisors, molars, premolars, and three-dimensional teeth. For each output of the method, the matrix obtained may optionally be stored as a 2D matrix in a matrix database (322). This method also allows multiple generated 2D matrices to be stored in an image format (324) or as a stored image such as a visualization map (326). The image format or visualization map may be stored, for example, by displaying the maximum and minimum values of the matrix for selected color extreme values representing an image file for the corresponding tooth matrix (324).It should be noted that image visualization map file formats may include, but are not limited to, any single file format such as JPEG, GIF, PNB, TIFF, PSD, PDF, EPS, AI, INDD, RAW, etc. 2D matrices that may appear as one or more images or visualization map images can be stored in the same way as described above for the tooth database (326) and can be linked together.
[0085] FIG. 8 illustrates a mesh image of a multilayered tooth object molar, comprising a tooth object, specifically a gum structure, a prosthetic post, a crown structure, an upper jaw occlusal surface, and an environment of the tooth having adjacent teeth. Each layer of the tooth object is converted into a 2D matrix representation, where each layer shares a common center so that the layers are stacked or fixed in space relative to each other. According to the present method, to generate a descriptor matrix stack, indexing rays are cast from a common reference position using a radial encoder, and multiple 2D matrices are written to each different tooth object position or boundary surface. To generate multiple descriptor matrices for a single tooth object, rays are cast from the reference position and move outward from the center in all directions toward the outer surface of the triangular mesh of the tooth object for each outer surface of the tooth object. In addition to the inner and outer surfaces of the triangular mesh image of the tooth object (e.g., the inner and outer surfaces of the crown illustrated in visualization maps B and C, respectively), there may be multiple additional surfaces that the rays can traverse. Each intersection point between an indexing ray and a boundary surface measures the distance from the center to the surface and records it in a 2D matrix corresponding to a specific boundary surface. For a tooth object, some surfaces that may exist include, but are not limited to, the external post surface, the internal crown surface (B), the external crown surface (C), the occlusal surface of an adjacent tooth (E), the occlusal surface of the opposite jaw (A), and the gingival surface (D), listed from the center outward. Each of these surfaces can be described as a different 2D array, and the arrays can be stacked based on the distance from a common center, and the common center or reference position aligns the arrays in space because they are related to the same tooth object.A single ray from a common center may intersect or collide with the triangular mesh surface multiple times, and when used, for example, where the common center has an overhang with gingival structure, the distance traveled for each separate hit for each surface intersection can be recorded. All boundary intersections in the same order are recorded in the same 2D matrix, meaning that the distance traveled to the first boundary intersection is recorded in the first matrix, the distance traveled to the second boundary intersection is recorded in the second matrix, and so on. When there are multiple ray intersection points, such as in an overhang, it is preferable to use a radial or parallel slicing method instead of an angular indexing method. In this example, there are multiple overlapping mesh images in the scene, and the prep scan includes the gum line, post, occlusal surface, and an unfitted fabricated crown. All mesh images are anchored to the same common center. When an indexing ray intersects the inner surface of the crown, it generates a 2D matrix describing the inner surface of the crown; the same indexing ray continues to travel and records a 2D matrix recording the distance to the outer surface of the same crown. For example, the same process can be used when a dentist scans a surgical prep site, where the first ray intersection describes the prep site and the second ray intersection describes the adjacent tooth wall.
[0086] FIG. 9 illustrates the selection of tooth descriptor surfaces of a single tooth object described in relation to a common reference position. This figure shows how each segmented feature corresponds to a single 2D matrix of distances. Each 3D surface can be reconstructed solely from data encoded in a 2D matrix and can be represented as a unique 2D matrix that can be searched and matched in a matrix descriptor database. Each 2D matrix can also be converted into a visualization map, as illustrated herein: A is a mesh image of the tooth adjacent to the tooth object and a related visualization map; B is a mesh image of the tooth post and a related visualization map; C is a mesh image of the inner crown surface and a related visualization map; D is a mesh image of the outer crown surface and a visualization map associated with the outer crown surface; and E is a mesh image of the contralateral jaw occlusal surface and a related visualization map.
[0087] FIG. 10 illustrates a set of aligned two-dimensional tooth descriptor matrices as illustrated in FIG. 9. The visualization maps of all 2D descriptor matrices are aligned relative to each other due to each pixel or cell of each descriptor matrix corresponding to the same indexing ray (216) and sharing a common reference position. This figure shows that each cast indexing ray (216) intersects the same array cell for each associated visualization map (210) for all 2D descriptor matrices.
[0088] FIG. 11 illustrates an exemplary method of a descriptor generation system employing an example of another single tooth description method according to some embodiments. This method involves processing a three-dimensional single tooth file from a basic 3D format to a 2D format. This method differs from previously discussed methods based on inputs that scan a complete pterygium or a group of multiple teeth, rather than a single tooth. If a group of teeth consists of three or four teeth, it may be called a “pterygium,” and if it is nearly half of the dental arch, it may be called a quadrant. An entire set of upper or lower teeth may be called a “dental arch.” Step A illustrates an example of a tooth object (200) of a three-dimensional tooth anatomical structure in a mesh or STL file format (102). In this example, a tooth quadrant is illustrated. In some embodiments, the tooth for which the descriptor is to be generated may be located in this anatomical structure. The image may be received by a scanner as a set of photogrammetry or camera images and converted into an STL file format, also known as a mesh file format, or may be scanned directly into an STL file format by a scanner of the tooth. In some embodiments, the tooth on which the descriptor is to be created may be located in this anatomical structure. The illustrated method may be utilized in the design of a crown or fabricated crown that may fit the post (234). The post (234) is the remaining part of the tooth that has been milled during dental treatment, and the method is used to visualize the post and surrounding gum tissue as well as the surrounding tooth to design a suitable crown that fits on the post (234). As illustrated, the gum line margin (238) around the post will be the seating surface for the final crown, and it is important that the crown edge or crown margin is designed to fit the gum line margin.
[0089] Step B illustrates an example of a portion of a three-dimensional quadrant being cut by an index slicer (104) in a manner that displays one tooth and 25% of adjacent teeth (without a slicing plane). A single longitudinal slicing plane (220) is also illustrated. One method of slicing a 3D STL or mesh file is to position the slicing center at an infinite distance from the tooth object so that the slicing plane is substantially parallel. This contrasts with a radial slicing plane when the slicing center is inside or near the 3D image of the tooth object. Other index slicing techniques and methods may also be used with the slicing center at various locations on the tooth object. For example, instead of being cut radially, the tooth may be cut in a parallel manner or cut using angular indexing. As illustrated in Step B, all slices to be created are preferably spaced approximately equally, and each slicing plane creates a cross-sectional view of the corresponding location on the tooth object. The more slices there are, the higher the accuracy that can be achieved, but consequently, more data will be generated as part of the 2D descriptor matrix produced.
[0090] Step C illustrates an example of radial encoding of a cross-section of a post (234) through a slicing plane as described above. The indexing center position may be selected according to the features of the desired tooth object to focus on or image the selected array value mapping algorithm. The user may freely select the indexing center, or the indexing center may be automatically selected by the system by the tooth object shape, descriptor, or by the file splitting algorithm of the descriptor tooth. The distance from the indexing center (214) to the end point of the indexing ray (216) around the tooth in the slicing plane may be measured using a radial encoder (106). In some embodiments, the slicing center may be the same as the indexing center of the cross-section generated from the slicing plane. The radial encoder generates an indexing ray of a segment of the slicing plane that maps the distance from the indexing center (214) to the perimeter of the tooth object cross-section generated from the slicing plane to the indexing center (214). In some embodiments, all indexing ray (216) segments may have approximately the same angle in space, meaning they are separated by the same angle, denoted here as angle β. Alternatively, the common center may be at the intersection of the z-axis or center axis of the tooth object and a reference plane perpendicular to the center axis, and the indexing rays may extend perpendicularly to the indexing plane toward the tooth object. Thus, the cross-section generated by the index slicer can be measured from the bottom plane or below by placing the indexing center (214) at a large or infinite distance from the perimeter of the tooth object on the reference plane to provide an essentially infinite angle β such that the indexing rays (216) are substantially parallel. The more indexing ray segments generated, the better the details regarding the tooth anatomical and surface structures will be. However, file size must also be kept in mind regarding the number of possible ray segments.Sides of the margin or margin shoulder (236a, 236b) are shown, which provide a geographical structure of the post and surrounding gum tissue so that the crown can be designed to fit safely and comfortably on both the post (234) and the gum.
[0091] Step D illustrates an example of the output 2D matrix (208) of the Fourier neural operator (108) for the plane of difference, gum features, and post shown in A as a dataset from each slicing plane. The Fourier neural operator (108) can generate the 2D matrix (208) from radial encoding. Only the matrix values for each slicing plane are shown in the 2D matrix (208) for ease of representation. It should be understood that the entire matrix may have hundreds or thousands of rows and columns to provide sufficient granularity to describe the entire anatomical structure. In this example, the number of rows in the 2D matrix (208) is equal to the number of slicing planes generated by the index slicer, and the number of columns is equal to the number of indexing rays generated from each slice by the radial encoder (106). Each element of the 2D matrix (208) represents the distance from the indexing center to the cross-sectional boundary of the tooth object in the corresponding slicing plane. The output of the Fourier neural operator is a desired 2D matrix (208) that can be further used in a stacking application. In step E, the matrix (208) is visualized, and each item of the matrix can be represented as a pixel value of a visualization mapping / image. An example of a visualization map (210) or matrix visualization image is shown using black and white grayscale mapping. The visualization map (210) may be useful to a dentist or laboratory technician for further analysis. In particular, in the case where a radial slicer cuts an object of a tooth into parallel slices, where the slicing centers are effectively infinitely far apart and the slices are effectively parallel, the resulting visualization map is identifiable as a pixelated representation of the object in relief of the tooth. In some embodiments, such visualizations may be generated by mapping the values of the neural operator matrix into rainbow colors, black and white shades, or grayscale, or by any other color mapping method.The minimum and maximum values of the 2D matrix can be identified and assigned to selected color map value poles. The values of the 2D matrix are represented by shades drawn on each slicing plane. In other words, the entire matrix corresponds to the entire visualization mapping / image so that each transformation of the matrix item into a color / shade can be represented as a pixel in the visualization map (210).
[0092] FIG. 12 illustrates a flowchart of another example of a method for generating a single tooth or an object descriptor (400) of a tooth according to some embodiments. The method begins by taking a three-dimensional (3D) single tooth file in STL format as input, either as a raw STL or mesh file from a scanner of the tooth, or as an STL or mesh file generated from other types of scans, such as a mosaic of images, videos, or photographs, or a visual scan (402). In some embodiments, the file may represent an object or anatomical structure, such as a tooth crown, as illustrated in FIG. 11 in Image A. In other embodiments, the file may represent a group of teeth containing the tooth for which the descriptor matrix is generated. Next, a target tooth is selected in 404. Preferably, the z-axis is aligned with the longitudinal axis of the anatomical structure (e.g., object or tooth). In some embodiments, the selected tooth is transformed and isolated from the quadrant in such a way that 25% of the adjacent teeth are visible. The system then queries whether the longitudinal axis of the selected tooth is aligned with the z-axis (406). If the z-axis is not aligned, the anatomical structure (e.g., teeth) is aligned with the z-axis (408). In some embodiments, the system automatically aligns the longitudinal axis of the anatomical structure of the teeth with the z-axis. For example, the system can generate a transformation matrix that aligns the longitudinal axis of the anatomical structure of the teeth with the z-axis by shifting the center of the bounding box of the input STL or mesh file to the origin. Then, the number of slices required to cover all features is determined (410). For example, if the number of slices is too small, the space between the slices may be large enough to not show anatomical abnormalities or features in the cross-section. This step will determine the quality of the 2D matrix and the resulting image or visualization map. The method can now enter a loop based on conditions such that the number of acquired slices is equal to or greater than the number of slices required (412).If the number of slices is not greater than the required number of slices (412), the teeth are cut at approximately equal intervals, for example, from left to right, in a plane perpendicular to the z-axis, and a cross-sectional view is obtained for each slice (414). It should be noted that as long as all teeth are cut consistently in the same way (i.e., always from left to right or from right to left), the cutting can be done from right to left. Next, a slicing center is selected and placed for each cross-section (416), and the radial length between the center of the slicing center and the cross-sectional boundary point is measured (418). It should be noted that the same features can be obtained in a clockwise or counter-clockwise direction, the only difference being that the resulting matrix is in the opposite direction compared to the matrix obtained from the clockwise direction at nearly the same beta angle. By performing the same algorithm with the same number of slices and rays at the same alpha and beta angles, a normalized value map for the 2D matrix is generated, which enables descriptor comparison for many different tooth objects, such as machine learning models. Output ray length values for a slice are measured (418), and the ray length values are stored in a 2D matrix in single-row units (420). By executing this loop (steps 412 to 420), single-row units for each slice are obtained and can be stored in turn in a 2D matrix format. A complete 2D matrix containing all ray length and positional attributes of the tooth object can be stored in a matrix database (422). The method can then be performed on other parts of the anatomical structure of the tooth or tooth object, for example, other target incisors, molars, or premolars, 3D teeth, internal crown surfaces, posts, or other tooth features. The matrix obtained for each output of the method (400) can be stored in a matrix database (422), where each tooth feature or surface is stored in a different descriptor matrix.Each 2D matrix can also be stored in an image format as a visualization map (424), which can be created by representing the maximum and minimum values of the 2D matrix as selected color or hue extreme values and storing an image file corresponding to the tooth matrix (426). The image file format is not limited to a single file format and can be stored in an image storage. One or more of the object databases and descriptor databases of teeth or differences can also be linked to the image storage, and multiple related descriptor matrices can be stored in a linked format to represent their relationships with one another.
[0093] FIGS. 13a-c illustrate the steps of acquiring a slice of a tooth according to some embodiments. FIG. 13a illustrates an exemplary z-axis (212) position and alignment of the tooth object (200). Aligning the axis of the anatomical structure with the z-axis helps to collect and store data uniformly. When the tooth is sliced in parallel, each slice can be aligned perpendicular to the z-axis using an indexing reference position placed at a reference position for the intersection of the z-axis and each slicing plane. Thus, the z-axis can serve as a common reference position for each slicing plane, and there is no need to find a single common center for the entire tooth object. FIG. 13b illustrates the indexing of a single cross-sectional plane of a crown post (234) from the proximity indexing center (214) using multiple indexing measurements taken from the indexing ray (216) to the tooth cross-sectional boundary at multiple beta (β) angles from the proximity indexing center of the slicing plane.
[0094] FIG. 13c illustrates the indexing of a cross-sectional plane of a crown post (234) at a distant indexing center acting as a reference position. In this method, each slicing plane is processed by an indexing center located at an infinite distance relative to the object of difference inside the bounding box. By positioning the indexing center far from the tooth or the object of the tooth at a substantially infinite beta angle, the indexing rays (216) defined from the indexing center to the cross-sectional boundary of the object of the tooth in the slicing plane will be substantially parallel, and array value mapping can be performed from the bottom of the bounding box. Additionally, the length of the indexing rays becomes longer than when the center is closer to the tooth or the object of the tooth, but the length can be normalized for processing using a Fourier neural operator or other normalization procedure. Thus, instead of slicing radially, for example, the tooth or post (234) can be cut in a parallel manner as illustrated, and the ray length distances can be recorded in a 2D matrix starting from the bottom of the bounding box or the reference plane (240). Other methods that can be used to alter the center position target different anatomical structural features of the tooth, such as margins and occlusal planes. Preferably, all substantially parallel slices generated will be placed at approximately equal intervals to provide consistency and continuity across the resulting 2D matrix representation of the tooth or tooth object. While performing more slices increases the accuracy of the achievable 2D matrix, more data is collected because each slicing plane generates a unique cross-section and individual rows of the matrix are created. Therefore, the algorithm has been customized to provide a balance between data file size and the granularity and accuracy of surface features. When the tooth object or anatomical structure is cut parallel to each other, there is no need to locate the tooth center, and the z-axis can serve as the reference position.However, consistency in parallel slicing is preferred in relation to the distance between slicing planes so that the file segmentation algorithm of the teeth used is consistent across objects of teeth having the same descriptor classification, allowing for the comparison of anatomical structures of similar teeth.
[0095] FIG. 14 illustrates an exemplary output of a component of a descriptor generation system (100) employing an example of an arch descriptor method according to some embodiments. This method involves processing an arch file of three-dimensional difference from a basic 3D format to a 2D format. The term “occlusal” is generally used when the object of the tooth is a combination of three to five teeth, and the term “quadrant” may be used when the object of the tooth is half or nearly half of the arch of the tooth. The same notation applies to both upper and lower anatomical structures. Step A illustrates the quadrant of the STL or mesh file format (102). This method is similar to the previously discussed single tooth descriptor method in that both methods slice the anatomical structure of the tooth in parallel. As illustrated in Step B, all slices generated by the index slicer (104) to be generated have approximately equal spacing, and accuracy improves as the number of slices or slicing planes increases. Each slicing plane will generate a cross-section, and the distance from the center of the slicing to the peripheral endpoint of the cross-section is measured by a radial encoder (106). The center of the slicing is the center of the cross-section generated from the slicing plane. The radial encoder (106) will generate ray segments that map the distance of the cross-section generated from the slicing plane to the center of the slicing. In some embodiments, all ray segments will have approximately the same angle in space. It should be noted that the cross-section generated by the index slicer (104) may be measured from the bottom plane as an anchor point, meaning the beta angle can be virtually infinite. The more ray segments generated, the better the detail of the tooth anatomical structure will be. However, the number of ray segments may be limited due to file size requirements. Step C illustrates an example of the radial encoding described above.A slicing plane (220) is also illustrated as a single slicing plane through the tooth object that is parallel or substantially parallel to other slicing planes through the tooth object. This method is similar to the previously discussed single tooth descriptor method because both methods cut parallel to the anatomical structure of the tooth. Each longitudinal slicing plane (220) will generate a cross-sectional view of the tooth object. A radial encoder encodes the cross-section of the tooth object in the slicing plane into indexing ray lengths from the indexing center. In step D, the descriptor matrix (208) is generated from the radial encoding by the Fourier neural operator (108). An example of the Fourier neural operator (108) for the bite wing illustrated in step B is illustrated in the descriptor matrix (208). Only some of the matrix values for the bite wing portion of B are illustrated in the descriptor matrix (208) for ease of representation. It should be understood that the entire matrix can have many rows and columns to provide sufficient granularity for the entire anatomical structure. Each item of the matrix can be used as a pixel value to generate a visualization map (210) using the visualization unit (110) shown in E to assist dentists and / or laboratory technicians for further analysis. The descriptor matrix (208) can be visualized, and the values of the neural operator descriptor matrix (208) can be mapped to rainbow colors, black and white shades, or any other color mapping method. In some embodiments, the number of rows is equal to the number of slicing planes generated by the index slicer (104), and the number of columns is equal to the number of ray lengths generated for each slice by the radial encoder (106). Each element of the matrix represents the distance from the center of the slicing to the cross-sectional boundary of the corresponding slice. The output of the Fourier neural operator (108) is a descriptor matrix (208) that can be further used in the stacking application described below. The values of the descriptor matrix (208) are represented by the shades shown in the visualization map (210).Since the entire descriptor matrix corresponds to the entire visualization mapping / image, the matrix items can be converted into colors / shades respectively and displayed as pixels in the visualization map (210) image.
[0096] FIG. 15 illustrates a flowchart of an example of a method for generating a tooth arch descriptor (600) according to some embodiments. The method (600) begins by taking a three-dimensional quadrant file (602) as input. A mesh file (602) representing a quadrant, arch, or pterygoid is a triangular representation of an image in the quadrant file. The system queries whether the arch or pterygoid is aligned with the z-axis of the image (604), and if not, the z-axis of the mesh file is aligned with the longitudinal axis of the anatomical structure (606). In some embodiments, the system automatically aligns the longitudinal axis of the tooth's anatomical structure to the z-axis. For example, the system may generate a transformation matrix that shifts the center of the bounding box of the input STL or mesh file (602) to the origin. This aligns the longitudinal axis of the tooth's anatomical structure with the z-axis (606). The number of slices required to cover all features is determined (608). For example, if the number of slices is too small, the space between the slices may be large enough that abnormalities or features of the anatomical structure are not displayed in the cross-section. This step (608) of determining the number of required slicing planes determines the quality of the 2D matrix data file generated by the method and the accuracy of the original image file of the tooth object. Subsequently, a recursive loop is input based on repeatedly cutting the tooth object, where the arch or pterygoid, along a plurality of slicing planes, and each slicing plane has an incremental distance to the next slicing plane until the number of slicing planes or slices reaches the desired number. If the number of slices is not greater than the number of required slices (610), the arch or pterygoid is cut at approximately equal intervals as a plane perpendicular to the z-axis to obtain a cross-sectional view for each slice (612). In this example, the arch or pterygoid is cut at equal intervals between slicing planes perpendicular to the z-axis to obtain a cross-section (612).The slicing operation can proceed from left to right, from right to left, or any other reasonable direction through the tooth object. One reason for standardizing the slicing algorithm for tooth descriptors of a specific class is to provide a basis for comparing the resulting 2D descriptor matrix with other 2D descriptor matrices in the descriptor database that have the same descriptors. Next, for each slicing plane, an indexing center is selected or positioned for each section (614), and for each section or slice, multiple indexing rays are assigned from the indexing center to the section boundary of the slicing plane. Each indexed ray length is measured from the indexing center to the section boundary (616). The radial or indexing ray length between the indexing center and the section boundary point of the slicing plane is measured clockwise or counterclockwise, and the beta angle between each indexing ray increases. It should be noted that the same features can be obtained using the counterclockwise direction as well. The only difference is that it is in the opposite direction at approximately the same beta angle compared to what is obtained in the clockwise direction. As previously mentioned, standardization of the algorithm for converting the tooth object into a 2D matrix file makes it easier to compare and match 2D matrix files within the same descriptor class. The output measurement ray length values for each slicing plane can be stored as single-row units of the 2D descriptor matrix (618). By executing this loop (steps 610 to 618), single-row units for each slice are obtained and can be stored in turn in the 2D descriptor matrix data file format. This resulting 2D descriptor matrix can be stored in a matrix database, for example, along with other 2D matrices of the tooth object (620).The same or similar method for generating a 2D matrix descriptor of a tooth object may be performed for any other tooth anatomical structure or tooth object, such as a single tooth, for example, a target incisor, molar, or premolar 3D tooth. The 2D matrix may be visualized or converted into an image, for example, by setting a color or hue value for each range of numeric indexing ray length values (622), and this may be saved in an image file format (624). Visualization or image representation of the 2D matrix may be created, for example, by representing the maximum and minimum values of the 2D matrix in selected colors or shading the extreme values and saving an image file corresponding to the 2D matrix of the tooth object. The image file format is not limited to a single file format and may be stored in an image repository that may be in the same or different location as where the related 2D matrix is stored. The tooth object database may be linked or connected to the image repository.
[0097] FIGS. 16a and 16b illustrate the step of obtaining a slice of the dental arch of a tooth according to some embodiments. FIG. 16a illustrates an example of the z-axis position of the bite wing having a crown post. Z-axis alignment is performed so that data is generated and stored uniformly. Since the anatomical structure is cut parallel, there is no need to find the tooth center for the bite wing overall. FIG. 16b illustrates a single slicing plane through the tooth having a plurality of indexing rays separated by a consistent beta angle with an indexing center (214) located inside the object of the tooth.
[0098] FIG. 17 illustrates an exemplary descriptor generation system (100) employing another embodiment of the arch description method according to some embodiments. In descriptor generation, the reference location for cutting the bite wings is a common center around the bite wings. One specific use case of this method is bite pattern recognition and analysis that does not require a common center to anchor multiple embedded descriptor matrices, such as in crown design. In bite analysis, a mesh file (102) is obtained, for example, using occlusal radiography, where the upper and lower bite wings are images related to each other, and during occlusal interaction, a single mesh file (102) is regenerated as if the upper and lower bite wings were in their original positions. This method involves processing a three-dimensional tooth arch file from the original 3D format to a 2D format. This method can also be applied to different tooth anatomical structures, such as bite wings or quadrants. Step A illustrates an example of a quadrant tooth object in a mesh or STL file format. Step B illustrates a quadrant or tooth object passing through an index slicer (104). In this case, it is radially cut to create multiple slicing planes (202). In this embodiment, each slicing plane (220) is located outside the tooth object and passes through the arch center at a certain distance from the tooth object. Each slicing plane (220) created by the index slicer forms approximately the same angle as the next slicing plane. Increasing the number of slices increases accuracy. Step C illustrates a single slicing plane (220) and the cross-sectional boundary of the tooth object. Each slicing plane will create a cross-section, and the distance from the indexing center (214) to the endpoint or cross-sectional boundary (222) around the cross-section is measured by a radial encoder (106).The indexing center (214) is considered to be the center of the cross section generated from the slicing plane, but the indexing center can be located anywhere inside or outside the tooth object if the indexing of each indexing ray is assigned to the selected indexing center and cross section boundary (222). The radial encoder (106) will generate ray segments that map the distance from the cross section boundary of the tooth object in the slicing plane (220) to the indexing center. In some embodiments, all ray segments will have approximately the same angle in space, which means that the angle between each indexing ray is constant, but this is not strictly necessary as previously described. In particular, the cross section generated by the index slicer may be measured from a floor plane or indexing plane at a distance from the slicing plane to provide substantially infinite beta angles. The more indexing ray segments generated, the better the detail regarding the anatomical structure of the tooth or tooth object, but the number of indexing ray segments may be limited due to file size requirements. While a larger number of generated ray segments leads to better detail regarding the anatomical structure of the teeth, the number of ray segments may be limited due to file size requirements, and the standardization of the tooth file segmentation algorithm for all patients facilitates the matching of similar matrices in the descriptor database.
[0099] Step D is an example of a 2D descriptor matrix (208) output of a Fourier neural operator for a portion of the tooth object shown in B. The 2D descriptor matrix (208) can be generated from radial encoding by the Fourier neural operator (108). Only the matrix values for the portion of the matrix shown in the visualization map (210) are displayed in the 2D descriptor matrix (208) for ease of representation. It should be understood that the entire matrix can have many rows and columns, such as hundreds or thousands, to provide sufficient granularity to the anatomical structure of the entire tooth object. The output of the Fourier neural operator (108) is a descriptor matrix (208) that can be further used in a stacking application where multiple descriptor matrices are fixed in space. Step E illustrates an example of matrix visualization using black and white grayscale mapping to provide the visualization map (210). Each item of the matrix can be used as a pixel value of the visualization map (210) shown in the visualization unit (110). In some embodiments, the number of rows is equal to the number of slicing planes generated by the index slicer (104), and the number of columns is equal to the number of ray lengths generated for each slice by the radial encoder (106). Each element of the matrix represents the distance from the slicing center to the cross-sectional boundary of the corresponding slice. The values of each descriptor matrix can be mapped to rainbow colors, black and white shades, or any other color mapping method. A color map can be created by identifying the minimum and maximum values of the 2D matrix and assigning them to selected color map value poles. The values of the 2D matrix are displayed as shades shown in the matrix portion (224). Since the entire matrix corresponds to the entire visualization mapping / image, converting the matrix items into colors / shades, respectively, can be displayed as pixels in the visualization map (210).
[0100] FIGS. 18a through 18c illustrate the step of obtaining slices of a dental arch according to some embodiments. FIG. 18a illustrates an example of a z-axis position for a quadrant of the dental arch. Z-axis alignment is performed so that data is generated and stored uniformly. Next, an arch center (226) is positioned or selected. Each mesh file has a bounding box, and it is preferable that the slicing center be set to the volumetric center of the bounding box. Alternatively, the slicing center may be assigned the same as the volumetric center of the mesh file. In the arch description method, it is preferable that the arch center be assigned to the volumetric center of the entire dental arch. Selecting the slicing center in this way allows for comparison with similar entire dental arches having the same descriptor classification. FIG. 18b illustrates planar slices of the dental arch where each slice intersects the arch center. The number of slices and slicing planes (220) is determined to provide the data density necessary to characterize the dental arch. For example, if the number of slices is too small, the space between the slices may be large enough that the cross-section does not display anomalies or features of the anatomical structure required for visualization and modeling. This step will determine the quality and size of the matrix and the resulting quality and density of the image or visualization map. If the number of slices is not greater than the required number, the arch is radially cut at an alpha (α) angle approximately equal to the normal plane clockwise, using the arch center as the planar origin, to obtain a cross-sectional view for each slice. It should be noted that slicing can be performed, for example, from right to left or left, provided that all teeth are consistently cut in the same manner or direction (i.e., always from left to right or from right to left) according to a tooth file splitting algorithm that defines the slicing method and distance so that the resulting matrix values and array value mappings can be compared for similar tooth anatomical structures using the same descriptor classification.
[0101] FIG. 18c illustrates a single slicing plane and the boundary of the cross-section of the tooth object. An indexing center (214) is located for each cross-section, and a radial encoder divides the plane into multiple indexing rays. Each indexing ray has a radial length measured between the indexing center (214) and the cross-section boundary (222). The indexing rays may be assigned clockwise or counterclockwise starting from the first indexing ray. The beta angles between the indexing rays may be approximately the same or may vary depending on the area of the tooth object requiring the highest resolution. An output 2D matrix of a Fourier neural operator may be generated for the tooth object. Output ray length values for each indexing ray of the slicing plane are provided, and the values may be stored in the 2D matrix as single rows. The 2D matrix may be stored in a matrix database. The matrix may also be stored in an image format. A visualization map can also be generated by representing the maximum and minimum values of the matrix as selected color extremes and saving image files corresponding to the tooth matrix. The image file format is not limited to a single file format and can be stored in a repository. The tooth database may also be linked to the image repository.
[0102] FIG. 19 illustrates a flowchart of an example of a method for generating a whole arch descriptor (700) according to some embodiments. The method for generating such a whole arch descriptor (700) employs the arch descriptor method described above. When used, the method begins with an STL or mesh file of the whole arch of teeth (702). The whole arch is preferably divided into two parts around the central incisors (704). This provides two different quadrants, namely a left quadrant (706) and a right quadrant (708), depending on where the quadrants are located. Each of the left quadrant (706) and the right quadrant (708) can be treated as a separate, independent quadrant, and the arch descriptor method can be applied to each of the two quadrants differently depending on the selected method to obtain one or more 2D descriptor matrices and / or visualization maps or subsets thereof of the whole arch.
[0103] FIG. 20a illustrates an example of a whole arch according to some embodiments. In this example, the patient's lower arch is illustrated. It can be seen that the same method can be applied to the upper whole arch. The method for generating whole arch descriptors divides the whole arch STL or mesh file into two parts, preferably around the central incisors. This provides two different quadrants, namely the left quadrant and the right quadrant, depending on where the quadrants are located. FIG. 20b and 20c each illustrate an example of half of the whole arch after dividing the whole quadrant according to some embodiments. Each quadrant can be treated as a separate, independent quadrant. Once collected, a 2D matrix describing the object of each processed tooth is added to the descriptor database. Using matching algorithms, machine learning, and artificial intelligence, the 2D matrix representation of the tooth object can be classified and matched with other tooth objects in the descriptor database. By assigning descriptor classes to each 2D matrix data file, each 2D matrix can pass through a neural network, and a model for tooth objects of the same descriptor class is generated using the 2D matrix descriptions of 3D tooth objects for matching. Using this algorithmic matching method, groups of similar 2D matrices can be classified into related descriptor classes, thereby achieving similar pattern prediction. By generating descriptor classes for 2D matrices in a descriptor database, new tooth features can be identified, and patterns can be used for anomaly detection, diagnosis, and prosthetic design. For example, in the diagnostic field, identifying patterns of descriptor classes that suggest disease or deterioration will help dental professionals identify problems more easily and early. In one example, gum recession can be measured and monitored, and patterns of gum recession from gum descriptors around the same tooth in a descriptor database from the same patient or different patients can help provide an early diagnosis of gum disease.Early diagnosis of gum disease can allow for prompt initiation of treatment, thereby preventing or delaying its progression.
[0104] Tooth features and dental objects can be classified into groups to facilitate easier retrieval of the matching descriptor matrix. In one approach, Class 1 tooth features can be defined as features encapsulated within a single tooth, while Class 2 features can be defined as features involving two or more teeth or complex dental objects such as the gum line or dental arch. Additional descriptor classes may be assigned based on patient age as teeth and jaws grow and transition from birth to adulthood. In the example, a Class 1 set of descriptors describing a single tooth feature may include, for instance, crown descriptors, gum line descriptors, margin line descriptors, occlusal surface descriptors, and lateral wall descriptors. For single tooth descriptor classes, single descriptor subclasses may be generated for each individual tooth based, for instance, the number of teeth and / or tooth names. In particular, the descriptor subclass is: upper right teeth 1-central incisor, 2-lateral incisor, 3-cuspid, 4-first premolar / first bicuspid, 5-second premolar / second bicuspid, 6-first molar, 7-second molar, 8-third molar / wisdom tooth; upper left teeth 9-central incisor, 10-lateral incisor, 11-cuspid, 12-first premolar / first bicuspid, 13-second premolar / second bicuspid, 14-first molar, 15-second molar, 16-third molar / wisdom tooth; Lower left teeth 17-central incisor, 18-lateral incisor, 19-canine, 20-1st premolar / 1st double-faced tooth, 21-2nd premolar / 2nd double-faced tooth, 22-1st molar, 23-2nd molar, 24-3rd molar / wisdom tooth; and lower right teeth, 25-central incisor, 26-lateral incisor, 27-canine, 28-1st premolar / 1st double-faced tooth, 29-2nd premolar / 2nd double-faced tooth, 30-1st molar, 31-2nd molar, 32-3rd molar / wisdom tooth; may be assigned to each.The system can automatically classify each tooth using a 2D matrix or manually classify teeth using metadata associated with the 2D matrix. Class 2 descriptors can operate in a similar manner and may include descriptors describing various tooth features, such as whole arch descriptors, quadrant descriptors, bite wing descriptors, bite registration descriptors, bite pattern descriptors, and gum pattern descriptors. Each 2D matrix may be further classified by descriptor subclasses that specify the location of the tooth object, such as the upper right quadrant, upper left quadrant, lower right quadrant, lower left quadrant, bite wing position, occlusal plane and position, gum line and position, and the tooth arch.
[0105] FIG. 21 illustrates an example of a neural descriptor stack (800) according to some embodiments. A descriptor stack is formed by stacking different types of matrices obtained from the descriptor methods mentioned above one by one. Various descriptor matrices and descriptor stacks of the tooth object may be obtained to aid in the readability and parsing of the resulting descriptor matrix or visualization map generated from the mesh file of the tooth object, thereby providing additional granularity and detail regarding the shape of the tooth object. This includes, but is not limited to, a single tooth descriptor stack (802), a quadrant tooth descriptor stack (804), a tooth arch descriptor stack (806), a byte pattern descriptor stack (808), and a shading pattern descriptor stack (810). Each output is understood as one or more matrices describing the tooth object, and a descriptor stack is generally understood as multiple descriptor matrices corresponding to the same tooth object image and fixed in space. In some cases, a new descriptor method (e.g., a byte pattern descriptor) may be obtained depending on the feature requirements. The complexity level increases from the bottom level stack (802) to the top level stack (810). Note that there is no direct relationship between the number of matrices stacked in a particular descriptor stack and the complexity of that descriptor stack.
[0106] FIG. 22a illustrates, in a tree diagram, an example of the relationship between the output of a descriptor method and a neural descriptor stack according to some embodiments. The descriptor generation method primarily provides two types of outputs: a first output descriptor matrix and a second output as an image file or a visualization map. FIG. 22b illustrates a method for converting a tooth object database containing mesh files of tooth objects into a tooth descriptor stack database containing a two-dimensional descriptor matrix. A tooth object database exists that stores multiple mesh file images of tooth objects, and the entire database can be batch converted into a descriptor stack database so that tooth images can be classified and matched.
[0107] FIG. 22c illustrates a method for matching a tooth post to a matching crown in a database of teeth containing tooth objects represented by a two-dimensional descriptor matrix. In the descriptor stack database, matching descriptor stacks can be identified by easily scanning both the descriptor matrix stack and the visualization map for each descriptor matrix. In this example, the abutment scan of the crown post is converted into a descriptor matrix stack containing descriptor matrices for the area outside the crown post, the gum line, and the adjacent tooth environment using a descriptor algorithm. Then, each descriptor matrix of the entire descriptor stack can be retrieved from the descriptor database in the descriptor matrix classification of that matrix, and one or more matching matrices can be brought forward as matching at a minimum level set by the algorithm. In the shown example, the matching crown matrix is brought forward as matching the abutment scan, while the matching gum line matrix and the matching neighbor tooth matrix can be brought forward simultaneously based on the original descriptor stack. In crown design, the design of the gum line abutment of the crown can be automated based on a gum line matching descriptor matrix, and simultaneously, the design of the outer surface of the crown can be automated using a descriptor matrix that matches the adjacent tooth stack to obtain a fit of the crown to the adjacent tooth. Crown design can be automated using various descriptor matrices that describe various aspects of the crown and the crown environment, respectively.
[0108] A tooth descriptor is the matrix result of a single tooth descriptor method. FIG. 23a illustrates an example of a method for obtaining a tooth descriptor matrix (208) of a tooth object (200) according to some embodiments. The anatomical structure of the tooth, represented as a mesh or STL file image type of the tooth object (200), in this case, the patient's bite wing may be any quadrant or the entire dental arch. First, the target tooth is identified, and a mesh file of a single tooth location is cut radially or parallel according to the selected descriptor method. The tooth descriptor matrix (208) can be obtained according to the method steps described above.
[0109] A descriptor stack is a stack of descriptor matrices that describe an object of a tooth and are aligned or fixed in space relative to the object of the tooth. Each descriptor matrix of the descriptor stack is aligned using a common center while converting the object of the tooth into a descriptor matrix, which enables comprehensive stacking of the resulting descriptor matrix. This allows each descriptor matrix of the descriptor stack to be fixed or aligned so that the descriptor stack describes different aspects of the object of the tooth or a part thereof with the same alignment relative to the object of the tooth. In certain examples, the descriptor stack may include a single crown post descriptor matrix and an aligned bite wing descriptor matrix. In some embodiments, the descriptor stack is a combination of a tooth arch descriptor method for providing a dental environment and a corresponding single tooth descriptor method for each tooth of the arch, wherein the position of each single tooth descriptor matrix is fixed or referenced relative to the tooth arch descriptor matrix. This descriptor stack method may be applied to all quadrants or bite wings of the upper or lower jaw. FIG. 23b illustrates an example of a method for obtaining a quadrant descriptor stack for a bite wing according to some embodiments. A bite wing with four teeth is illustrated. The bite wing STL / mesh file obtains a descriptor matrix output through the arch descriptor method. Since this bite wing has four teeth, the result of the descriptor stack can have four single-tooth descriptor matrices (208).
[0110] FIG. 24 illustrates an example of a tooth quadrant (250) descriptor stack output of the present method. This exemplary quadrant descriptor stack includes five descriptor matrices, a quadrant descriptor matrix (244), and four single tooth descriptor matrices (242a, 242b, 242c, 242d) that individually describe teeth 1, 2, 3, and 4 of the quadrant, respectively. Each matrix is a single tooth descriptor matrix (242a, 242b, 242c, 242d) and has zero padding entries to ensure that it is the same size as the quadrant descriptor matrix (244). The resulting quadrant descriptor stack provides a visual representation of a two-dimensional descriptor matrix indicating the distance each indexing ray traveled over the surface of the dentist's prep surgery scan. In each descriptor matrix, each pixel corresponds to a single ray crossing the outer surface of the tooth object being described, and the intensity of the pixel color corresponds to the distance the ray travels from the common center before hitting or intersecting the triangular mesh surface. In this array, we can see bold lines on the surface of the 2D matrix. In each single tooth descriptor matrix (242a, 242b, 242c, 242d), the bold lines or shaded areas are unique 2D descriptor matrices representing specific features of the surgical prep or quadrant for each tooth, respectively. In each matrix, the bottom line represents the margin line, the middle line represents the location where the prep shoulder meets the prep wall, and the top line represents the transition to the occlusal plane of the prep. By separating each feature into its own matrix, data can be collected from each tooth object, and an artificial intelligence / machine learning matching engine can be trained to evaluate how to design a crown for a specific prep.
[0111] FIG. 25 illustrates an example of a single tooth descriptor matrix (242) according to some embodiments. The first tooth descriptor matrix has an encoded region (246) which describes the first tooth in the quadrant of the tooth, for example, as shown in FIG. 24 of the single tooth descriptor matrix mentioned above. This single tooth descriptor matrix (242), which includes the encoded region (246) describing the single tooth, is modified by adding a matrix padding region (248) that is zero or unencoded to make it the same size as the quadrant descriptor matrix shown in FIG. 24. It should be noted that both the quadrant descriptor matrix and the single tooth descriptor matrix must have the same number of ray lengths. The number of slices in the quadrant descriptor matrix must be equal to the number of slices in the single tooth descriptor matrix multiplied by the number of teeth in the quadrant, and all teeth preferably have nearly the same number of slices or slicing planes. A single tooth descriptor matrix (242) can be placed in the first part (1) of the entire quadrant descriptor matrix as an encoded region (246), because this matrix represents the first tooth, marked as 1 in the quadrant of the tooth shown in FIG. 24. The remaining three parts are filled with zeros in the padding region (248) as shown. A matrix for teeth 2-4, as shown in the quadrants of FIG. 24, can be generated in a similar manner.
[0112] Figure 26a illustrates a 3D mesh file image of a crown post of a tooth having three circumferential surface lines. Figure 26b illustrates the tooth post of Figure 26a showing the three circumferential surfaces superimposed on the two-dimensional descriptor matrix of the crown post. Figure 26c illustrates the superposition of the three circumferential surface lines on the descriptor matrix. As illustrated, since each circumferential surface feature is its own descriptor matrix and each pixel represents the same indexing ray extending from the same reference position or center, all two-dimensional matrices can be stacked, which means that each feature is aligned with respect to one another.
[0113] FIG. 27 illustrates an example of a method for obtaining a stack of tooth arch descriptors. The stack of tooth arch descriptors is a stack of matrices. The stack of tooth arch descriptors is a combination of the output of a multi-arch descriptor method, which is output as a single arch descriptor matrix (254), and the corresponding single tooth descriptors, which are output as a multi-single tooth descriptor matrix for each tooth of the tooth arch (252). This stack of tooth arch descriptors can be applied to the entire upper or lower jaw arch. Illustrated is an exemplary mesh file image of a lower tooth arch (252) having 14 teeth that passes through an arch descriptor method to produce an output as a single arch descriptor matrix (254). Since there are 14 teeth in this arch, the resulting arch descriptor matrix (254) can be composed of 14 individual single tooth descriptor matrices.
[0114] FIG. 28 illustrates an example of a tooth arch descriptor stack (256) according to some embodiments. This descriptor stack (256) comprises 15 individual related matrices, each fixed to one another in space by a reference position such as a common reference point, a reference axis, or a common center. All single tooth descriptor matrices are represented differently to have the same size as the tooth arch descriptor matrix (256). The position and structure of the modified single tooth descriptor matrix are the same as those described above in the quadrant descriptor stack. The position of each tooth descriptor stack is determined according to the position of the tooth arch.
[0115] A bite pattern descriptor stack can be assembled to model a patient's bite and evaluate whether their bite is good, for example, whether the upper and lower teeth have sufficient occlusal surfaces to provide a surface for mastication or chewing. Current methods allow electronic bite registrations to be obtained in mesh or STL file formats and converted into descriptor stacks to automatically evaluate the patient's bite. In dentistry, a bite registration is an impression or image of a patient's upper and lower teeth at the bite position and can also be used in the design of dental prosthetics to better fit crowns, dentures, mouthguards, and other prosthetics and orthodontic appliances. A bite pattern descriptor stack is a combination of two general matrices: a bite pattern descriptor matrix and a bite registration descriptor matrix. A bite pattern descriptor stack may contain two images corresponding to the bite pattern descriptor and the bite registration descriptor. The generation of both descriptors begins with an STL or mesh file that includes the anatomical structures of both upper and lower jaw teeth and can be the entire arch, aptitude, or quadrant.
[0116] FIGS. 29a and 29b illustrate examples of bite wings according to some embodiments. As illustrated, the bite wings have both an upper bite wing and a lower bite wing. FIG. 29a illustrates an example of a bite wing having a common center, and FIG. 29b illustrates an example of a cross-sectional slice of a bite wing. Images of each bite wing can be collected individually using a tooth imaging device, that is, the upper bite wing and the lower bite wing may be collected individually or together as a biting conformation. Then, the upper and lower bite wing images can be aligned using the biting conformation images to create a single mesh file of the two bite wings together. Slicing planes 0, 1, 2 … 142, 143, 144 passing through both the upper and lower bite wings are illustrated as cutting the tooth object along the same plane starting from the center of the bite wing to fix the upper and lower bite wings to the resulting bite pattern descriptor stack. It should be noted that the 144 slices are for illustrative purposes, and the number of slices may vary depending on the anatomical structure and the desired quality of the descriptor matrix. Therefore, two mesh files, one for each bite wing, can be used to generate a single alignment mesh file representing the patient's teeth at the bite position. In one example, occlusal radiography can be used to image and / or align the superior and inferior bite wings. The merged mesh file can be converted into a single byte pattern descriptor stack of a matrix describing the entire byte pattern. This byte pattern descriptor stack can then be used not only to automatically evaluate the effect of the byte but also to compare the byte with other byte patterns in the descriptor database to find matching byte patterns for the purpose of correcting problematic byte patterns.For convenience of expression, an image of an actual tooth is not shown in FIG. 29a, but an image of the tooth and / or a visualization map of the descriptor matrix can be presented to a dental professional through a graphical user interface for examination and analysis.
[0117] FIG. 30 illustrates a flowchart of an example of a method (2400) for generating a byte pattern descriptor stack according to some embodiments and a method for obtaining both upper and lower descriptor matrices. The anatomical structure of a 3D STL tooth (2402) as described above is used as input to the method. The method queries whether the z-axis is aligned with the longitudinal axis of the anatomical structure (2404). If 2404 is not true, the anatomical structure (e.g., arch, wing, quadrant) is aligned with the z-axis (2406). In some embodiments, the system automatically aligns the longitudinal axis of the tooth's anatomical structure with the z-axis. For example, the system may generate a transformation matrix that shifts the center of the bounding box of the input STL to the origin. This aligns the longitudinal axis of the tooth's anatomical structure with the z-axis. Alignment ensures that the data is stored uniformly. FIG. 29a illustrates the z-axis direction for the tooth object. Next, the center of the arch is positioned (2408), and the number of slices required to ensure that all features are covered is determined (2410). For example, if the number of slices is too small, the space between the slices may be large enough so that the cross-section does not reveal abnormalities or features of the anatomical structure. Determining the number of required slicing planes (2410) will determine the quality of the matrix and the image. The method (2400) can now enter a loop based on a condition determining whether the number of slicing planes is sufficient for image transformation (2412). If the number of slices is not greater than the number of required slices (2412), the object or anatomical structure of the tooth is radially cut at approximately the same alpha angle (see FIG. 29a showing 144 slices for the bite wing). Slicing of the tooth object is performed clockwise in the normal plane using the center of the bite wing as the planar origin (2412) to obtain a cross-sectional view for each slice. FIG. 29b shows an example of a cross-sectional view of a bite wing slice.It should be noted that slicing can be performed from right to left as long as all teeth are consistently cut in the same way (i.e., always from left to right or from right to left). Next, the y-axis for each slice is determined to measure the cross-section. It should be noted that while the x-axis may be used in some embodiments, the y-axis is selected as the reference in this example. The range of the axis must be the y-axis bounding box value to ensure that the entire cross-section is covered (2416). The cross-section boundary is measured for both the upper and lower bite wings. Subsequently, the ray length measurements of the cross-section boundary with respect to the y-axis of the upper bite wing (2420) and lower bite wing (2418) arches are recorded. Once the distance is captured, the absolute difference between the two distances is taken (2422) and evaluated to show the absolute distance between the corresponding upper and lower bite wing teeth. This provides an output consisting of all ray length values for the corresponding slice, and the ray lengths can be stored in a descriptor matrix as single rows (2424). By executing this loop (steps 2412 to 2424), a single row unit for each slice can be obtained multiple times and stored sequentially in a descriptor matrix format.
[0118] If the number of acquired slices is greater than or equal to the number of slices required (as shown after 'A' in FIG. 30) (2412), the resulting descriptor matrix can be stored in a matrix database (2426). The descriptor matrix can also be stored in an image format. A visualization map can be generated by representing the maximum and minimum values of the matrix as selected color extrema and storing an image file corresponding to the tooth matrix (2428). The image file format is not limited to any single file format and can be stored in a repository (2430). The tooth database can be linked to the image repository. Since the region of interest and the file segmentation site of the tooth are exactly the bite area where both the upper and lower bite teeth make contact, the resulting descriptor matrix provides byte pattern features in both the matrix and the image format. The method can also take the same generated descriptor matrix and run it through a condition (2432) to evaluate locations in the descriptor matrix where a specific value is less than or equal to a threshold of 0.1. Depending on the situation and feature requirements, the threshold can be changed to provide the desired data. The system can then normalize the descriptor matrix data by replacing values smaller than the threshold with 1 unit (2436). If not 2432, the values can be replaced with 0 units (2434). The resulting descriptor matrix can show the range of locations of the byte pattern, such as where good bytes are found where the upper and lower cross-wing surfaces meet at a distance smaller than the threshold distance, and where bad bytes are found at a distance greater than the threshold distance. The size or number of cells in the byte pattern descriptor matrix remains the same because there is no change in the number of slices or ray length values, but the amount of data can be significantly reduced through the normalization step. The resulting byte registration descriptor matrix can be stored in a matrix database (2438).Using this method, the descriptor matrix can be saved in an image format, and this can be done by displaying the maximum (in this case, 1 unit) and minimum (in this case, 0 unit) values of the matrix as selected color extrema. An image file for the corresponding byte pattern tooth descriptor matrix is obtained (2440), can be saved with the same descriptor as described above for the tooth database (2442), and can be linked together. The image file format is not limited to a byte file format.
[0119] FIGS. 31a and 31b graph examples of measurements of the cross-sectional boundaries of the upper and lower arches along the x-axis. FIG. 31c graphs examples of bite patterns for the upper and lower arches along the x-axis. As shown in FIGS. 31a through 31c, the range of the Y-axis is the same. In this example, the range is from -13 to 13 units.
[0120] FIGS. 32a through 32c illustrate examples of byte images in a mesh file format, wherein FIG. 32a is a front view of the byte image, FIG. 32b is a side view of the byte image, and FIG. 32c is a top view of the arch bite image of the lower teeth. FIGS. 32a-c illustrate a bite taken from the mouth of a patient having a complete upper and lower arch. FIGS. 32a and 32b illustrate examples of byte pattern descriptor visualization and byte pattern register descriptor visualization according to some embodiments.
[0121] FIG. 33a illustrates the image output of a byte pattern descriptor for the 3D mesh file illustrated in FIG. 32a through 32c. Specifically, FIG. 33a illustrates an exemplary visualization of a byte pattern matrix descriptor, and FIG. 33b illustrates an exemplary visualization of a byte pattern register descriptor. As can be seen in the middle of FIG. 33a, the gradient white color structure indicates a change in the distance between the upper and lower teeth connecting them. The image illustrates the distribution of adjacent tooth distances from left to right. FIG. 32b illustrates the image output of a byte register descriptor for the 3D file of FIG. 32a through 32c. The black spots visible along the centerline in FIG. 33b occur when the upper and lower teeth come into contact (e.g., the distance is <= 0.1 in this case). Thus, the image illustrates the teeth coming into contact with each other from left to right (from bottom to top in the illustrated image), and this byte pattern register descriptor visualization can be used to analyze whether a patient has a good bite based on pixels or surface areas below a threshold that proves tooth occlusion. This image type and analysis may also be used to match bite registrations before and after the fabrication of dental prostheses.
[0122] FIG. 34a is a visualization map of an exemplary good byte pattern obtained from a good byte pattern descriptor matrix, and FIG. 34b is a visualization map of an exemplary bad byte pattern obtained from a good byte pattern descriptor matrix. These visualization maps are the product of the current method in which a 3D mesh image is converted into a byte descriptor matrix stack. To generate the visualization map of the byte pattern, a mesh image of a set of teeth including an upper subset of adjacent teeth and a corresponding lower subset of adjacent teeth is obtained. A reference position, reference axis, or center is assigned outside the 3D representation of the set of teeth. Then, a set of indexing rays is extended from the reference position to determine multiple ray lengths between different points on the perimeter of the cross section, using a part of the tooth surface or a slicing plane, where the indexing ray lengths are defined as an upper axial boundary value for the subset of upper teeth and an lower axial boundary value for the subset of lower teeth. An absolute difference between a distance determined for a point on the upper tooth and a distance determined for a corresponding point on the lower tooth can be determined, and multiple absolute differences can be stored in a byte pattern descriptor matrix. In one embodiment, the absolute differences can be stored in a 2D descriptor matrix, wherein the first dimension of the byte pattern descriptor matrix includes multiple cross-sectional slices, and the second dimension of the byte pattern descriptor matrix includes multiple absolute differences of each slice. The byte pattern descriptor matrix can be rendered such that each item of the byte registration descriptor matrix is replaced with a corresponding shading intensity. The byte registration descriptor matrix can be converted into a byte pattern descriptor matrix by assigning a value of 0 to absolute difference values greater than a certain distance.As illustrated, in both visualization maps, the occlusal area of the teeth between the upper and lower bite wings is depicted as a black area, clearly indicating where occlusion occurs and where it does not. Since the 3D image data has been converted into threshold matrix data, dental professionals can automatically provide rapid determinations regarding the patient's bite effect based solely on the object file segmentation and matrix reconstruction of the mesh image teeth, without having to view the visualization map results. Storage of the bite pattern descriptor matrix is also simplified because the file size of the matrix is much smaller than that of the original 3D mesh file. For example, while the 3D mesh file is approximately 15–40 MB, the current descriptor matrix can be less than 1 MB.
[0123] FIG. 35 illustrates an example of a shading pattern descriptor stack according to some embodiments. The shading pattern descriptor stack is a stack of matrices and includes three types of stacks: a descriptor stack, a red-green-blue (RGB) stack, and an alpha matrix. The type of descriptor stack depends on the anatomical structure of the tooth being analyzed or the type of object of the tooth, and may be, for example, a tooth descriptor stack, a quadrant descriptor stack, and / or a difference arch descriptor stack. The RGB stack represents a color visualization of the anatomical structure of the selected tooth, and the alpha matrix represents a transparency visualization of the difference anatomical structure. These have a range of values from 0 to 1. “Zero” (0) indicates complete transparency, and “One” (1) indicates complete opacity. This descriptor stack can function as desired by combining it with other types of descriptor stacks or a single matrix.
[0124] FIG. 36 illustrates an example of a list of descriptor types according to some embodiments. Descriptors may include, but are not limited to, tooth descriptors, tooth arch descriptors, whole arch descriptors, bite pattern descriptors, bite registration descriptors, or shade pattern descriptor stacks. Descriptors may also include tooth alignment descriptors that describe how teeth are aligned with each other in the tooth anatomical structure, gum line descriptors that describe where the gum line is located, gum thickness descriptors that describe the thickness of the gums, abutment descriptors similar to quadrant descriptors, crown thickness descriptors that describe the thickness of the crown, and crown descriptors that describe the crown anatomical structure. Other descriptors may be provided. An encoding method (index slicer, radial encoder, Fourier neural operator, and visualization map (image file format)) provides descriptors and each stack of descriptors, and each descriptor describes a feature of the anatomical structure of the corresponding tooth.
[0125] Depending on the features required to describe the anatomical structure or problem of the tooth, the descriptors mentioned above may be used as is or stacked with desired features and stored in a descriptor database. FIG. 37a illustrates a flowchart of an example using machine learning to train a dataset according to some embodiments. In one example, there are four descriptors (3102, 3104, 3106, 3108), but it should be understood that a small number of single descriptors and any number of descriptors may be used. The descriptors are stored in a descriptor stack database (3110). These descriptors are used to train a neural engine (3112) (e.g., a convolutional neural network model) to generate a compressed dataset (3114). The compressed dataset (3114) can be represented as a matrix and stores the desired features. It is smaller in size compared to an STL file and a descriptor matrix. FIG. 37b illustrates a flowchart of an example generating a new compressed dataset (3126) according to some embodiments. Once the model is trained, the trained neural engine model (3124) can be used with new descriptors (e.g., 3116, 3118, 3120, and 3122) to obtain a new compressed dataset (3126) that can be stored in a compressed dataset database (3128).
[0126] FIG. 38 is a schematic diagram of a computing device (3200), such as a server or another computer of a device. As illustrated, the computing device includes at least one processor (3202), memory (3204), at least one input / output (I / O) interface (3206), and at least one network interface (3208). The processor (3202) may be an Intel or AMD x86 or x84, PowerPC, ARM processor, etc. The memory (3204) may include a suitable combination of internal or external computer memory, such as random access memory (RAM), read-only memory (ROM), and compact disc read-only memory (CDROM). Each I / O interface (3206) enables the computing device (3200) to interconnect with one or more input devices, such as a keyboard, mouse, camera, touch screen, and microphone, or one or more output devices, such as a display screen and speaker. Each network interface (3208) enables the computing device (3200) to communicate with other components, exchange data with other components, access and connect to network resources, provide applications, and perform other computing applications by connecting to a network (or multiple networks) capable of transmitting data, including the Internet, Ethernet, POTS (plain old telephone service) line, PSTN (public switch telephone network), ISDN (integrated services digital network), DSL (digital subscriber line), coaxial cable, fiber optic, satellite, mobile, wireless (e.g., Wi-Fi, WiMAX), SS7 signaling network, wired, local area network, wide area network, etc.
[0127] FIG. 39a illustrates a tooth alignment stack and associated descriptors of a matrix format for an orthodontic method. In an orthodontic application, a tooth alignment stack is used to automate a complete tooth alignment treatment. FIG. 39a illustrates a tooth alignment stack (3300) composed of four different descriptors stacked on top of each other: a tooth alignment descriptor (3302), an arch descriptor method (matrix output) (3304), a whole arch descriptor (matrix output) (3306), and a byte registration descriptor (matrix output) (3308). Similarly, FIG. 39b illustrates a tooth alignment stack and associated descriptors of an image pocket, where the same descriptors are used but an image (3400) is used as the output, so that the same or similar stacking can be achieved. For example, as many tooth alignment stacks (3310 or 3410) as desired can be had for different types of tooth anatomical structures, such as the patient's bite wings, quadrants, or the lower or upper arch of the whole tooth. FIG. 39b illustrates a tooth alignment stack (3400) composed of four different descriptors stacked on top of each other: a tooth alignment descriptor (image output) (3402), an arch descriptor method (image output) (3404), a whole arch descriptor (image output) (3406), and a byte registration descriptor (image output) (3408).
[0128] FIG. 40 is a schematic diagram of how a convolutional autoencoder functions. In an orthodontic application, a set of byte pattern descriptor matrices or tooth alignment stacks is provided, and the next task is to create a database of good tooth alignment stacks (3502). The term “good” means that the anatomical structure of the tooth stored in the database of tooth alignment stacks is in a healthy state. A good tooth alignment stack (3506) from the good tooth alignment stack database (3502) passes through a convolutional autoencoder (3510) to generate a reconstructed good tooth alignment stack (3508). The reconstructed good tooth alignment stack (3508) is stored in the reconstructed good tooth alignment stack database (3504). Once the convolutional autoencoder (3510) is trained, the trained convolutional autoencoder (3512) can be used to evaluate whether a specific tooth stack is good. This is done by feeding the anonymous tooth alignment stack (3514) to a trained convolution autoencoder (3512) to provide a reconstructed anonymous tooth alignment stack (3516) that can be evaluated.
[0129] Computer implementation methods can utilize augmented intelligence in conjunction with orthodontic data for the computer-aided design of braces, orthodontic fixtures, tooth retainers, orthodontic aligners, and other dental and orthodontic implants and devices, as well as orthodontic and prosthetic crowns and bridges. Using alignment patterns in the computer-aided design of these structures enables the optimal rearrangement of crowns, bridges, and other tooth prostheses. Furthermore, using tooth models and alignment patterns allows orthodontic aligners to be designed without the aid of braces and without leaving physical impressions using putty. Additionally, tooth positioning over the course of orthodontic treatment can be easily tracked and quantified, and previous images can be compared using the imaging methods and image data processing methods described herein by comparing scanned arches taken at different times during treatment. In this way, orthodontic treatment can be easily adjusted over the course of treatment, and orthodontic devices can be rapidly designed and redesigned based on the latest patient information. Optionally, step-by-step orthodontic treatment can also be provided to automatically print a pre-designed aligner shell set with current image data in combination with other tooth devices and / or procedures. Furthermore, this method can provide treatment plans for braces, crowns, bridges, and other orthodontic devices when the aligner shell is ineffective or additional complementary alignment is required, and alignment patterns and protocols can be provided to dental professionals based on the augmented intelligence revealed through this model. This method can also be used for alignment to improve bite registration. Additionally, orthodontic pattern recognition can detect defective alignment patterns, such as those requiring orthodontic intervention immediately after creating a digital impression, even when a dental hygienist, dental assistant, or general practitioner uses a dental scanner. The progress of orthodontic treatment can be automatically quantified by comparing it with scanned arches taken at different times during treatment.
[0130] FIG. 41 is a schematic diagram of the convolutional autoencoder components and shows the convolutional autoencoder in more detail. The convolutional autoencoder is a combination of two interconnected convolutional neural networks (CNNs), and the output of the second convolutional neural network provides a reconstructed output that is of lower quality and smaller in size than the original input. This machine learning model can be used for automated treatment and tooth alignment analysis using a stack of tooth descriptor matrices. As illustrated, convolutional neural network 1 (3602) takes the original input data. Convolutional neural network 1 has a hidden layer that decreases in size from the input layer to the output layer. This part of the model provides a compressed representation, which implies a lower-dimensional latent representation when the data is processed. The compressed output is then used as input to another convolutional neural network 2 (3604), which provides a reconstructed output of the original file that is of lower quality and smaller in size than the original file. The second convolutional neural network has hidden layers whose size increases from the input layer to the output layer, and the last layer corresponds to the input layer of the first convolutional neural network. In combination, the convolutional autoencoder can be used to compare the original (good tooth alignment stack) and the reconstructed output (reconstructed good tooth alignment stack), which are the inputs to the convolutional autoencoder, and to measure the reconstruction loss. A threshold loss is identified based on the comparison of the two databases. The convolutional autoencoder model can now be trained and used for treatment. Once the model is trained, it is desirable to freeze the model training. Specifically, an anonymous tooth alignment stack is fed into the trained convolutional autoencoder, and a reconstructed anonymous tooth alignment stack is obtained. It is arranged to measure the reconstruction loss by comparing the original stack and the reconstructed stack, and then compared to a threshold as described; based on the value comparison, treatment or orthodontic treatment of the teeth can be suggested.
[0131] In periodontal analysis, a gum descriptor stack can be generated that includes multiple different types of descriptor matrices describing the gums. The periodontal descriptor stack may include, for example, a gum line descriptor, an arch descriptor, a gum thickness descriptor, and a bite registration descriptor. The periodontal descriptor stack can similarly be passed through a convolutional autoencoder to regenerate descriptors and train a convolutional autoencoder. The trained convolutional autoencoder model can then be used on an anonymous periodontal descriptor stack to identify potential anomalies regarding periodontal and gum health and gum health prediction.
[0132] FIG. 42a illustrates a gum prediction stack and its associated descriptors in a matrix format according to some embodiments. For example, as many gum prediction stacks (3710 or 3710) as desired may be had for various types of tooth anatomical structures, such as a patient's bitewing, quadrant, or lower or upper arch of the entire tooth. The gum prediction stacks are utilized to automate complete gum prediction treatment. FIG. 42a illustrates a gum prediction stack (3700) composed of four different descriptors, which are a gum line descriptor (matrix output) (3702), an arch descriptor method (matrix output) (3704), a gum thickness descriptor (matrix output) (3706), and a bite registration descriptor (matrix output) (3708), stacked on top of each other. FIG. 42b illustrates a gum prediction stack and its associated descriptors in an image format according to some embodiments. The same stacking may be achieved using the same descriptors, but an image (3700) may be used as the output of the descriptors mentioned above.
[0133] FIG. 43 is a schematic diagram illustrating how a convolutional autoencoder functions according to some embodiments. The first task is to create a database of good gum prediction stacks (3902). The term “good” means that the anatomical structure of the teeth in which the gum prediction stacks are stored in the database is in a healthy state, serving as a training set. Now, the set of good prediction stacks (3906) passes through a convolutional autoencoder (3910) to generate each reconstructed good gum prediction stack (3908). The reconstructed good gum prediction stacks (3908) are stored in the reconstructed good gum prediction database (3908). Similar to the combined structure of two convolutional neural networks (CNNs) previously described for tooth alignment, a similar structure may be used for gum (periodontal) prediction. In particular, two interconnected CNNs may be used. The output of the second convolutional neural network provides a reconstructed output, which is a dataset smaller than the original input, and this reconstructed output can be used as a machine learning model for automated treatment. In this method for gum prediction and treatment, Convolutional Neural Network 1 takes the original input data. Convolutional Neural Network 1 has hidden layers whose size decreases from the input layer to the output layer. Sections of the model provide a compressed representation, which implies a low-dimensional latent representation; the compressed output can reconstruct the original file and is used as input to another Convolutional Neural Network 2, which provides the reconstructed output of the original file. The output data or reconstructed input is a dataset smaller than the original file. The second Convolutional Neural Network has hidden layers whose size increases from the input layer to the output layer and corresponds to the input layer of Convolutional Neural Network 1. At this output, a comparison of the original (good gum prediction stack) and the reconstructed output (reconstructed good gum prediction stack), which were the pressures for the Convolutional Autoencoder, and the reconstruction loss can be measured. A comparison threshold loss is identified based on the two databases.Now, the model can be trained and used for treatment. Once the model is trained, training can be frozen. Then, an anonymous gum prediction stack can be fed to the trained convolutional autoencoder, and a reconstructed anonymous gum prediction stack is obtained. Both the original and reconstructed stacks are compared to measure the reconstructed loss, which is then compared to a threshold as described and can be proposed based on the value comparison process.
[0134] This method can be used for modeling crown and bridge margins, also known as gum lines, and can be integrated, for example, into an augmented reality guidance preparation platform for periodontal surgery. This is achieved by displaying gum line and dental image data in a surgical graphical user interface (GUI) by matching the gum line pattern of a patient expected to yield an improved and healthy gum line. Using reconstructed tooth images generated by this method can also aid in the rapid diagnosis of many common gum diseases. In particular, 3D oral scans are uploaded from the oral scanner as a mesh file and can be compared with previous scans of the same patient's teeth, scans of other patients' teeth, and tooth patterns indicating gum disease. One advantage of this method is that, once established, non-professionals such as dental assistants or hygienists can be trained to obtain sufficient dental and oral scans to reach an accurate diagnosis. Once a diagnosis is reached, treatment progress can be rapidly quantified after the oral scanner data is uploaded to the system. Disease progression and quantification can also be performed over time to measure treatment effectiveness. Specifically, numerical values for gum thickness, location (e.g., for crowns), and the line profile of each tooth can be provided in a numerical format a few seconds after being uploaded from the oral scanner. The oral scan may take 30 seconds to a few minutes to obtain high-quality images sufficient to provide accurate periodontal diagnosis and prediction.
[0135] The foregoing discussion provides exemplary embodiments of the subject matter of the present invention. Each embodiment represents a single combination of elements of the present invention, but the subject matter of the present invention is considered to include all possible combinations of the disclosed elements. Accordingly, if one embodiment includes elements A, B, and C and a second embodiment includes elements B and D, the subject matter of the present invention is considered to include any other remaining combination of A, B, C, or D, even if not explicitly disclosed. Embodiments of the apparatus, system, and method described herein may be implemented in combination of both hardware and software. Such embodiments may be implemented in a programmable computer, each computer comprising at least one processor, a data storage system (including volatile memory or non-volatile memory or other data storage elements or a combination thereof), and at least one communication interface. Program code is applied to input data to perform the functions described herein and to generate output information. Output information is applied to one or more output devices. In some embodiments, the communication interface may be a network communication interface. In embodiments where elements may be combined, the communication interface may be a software communication interface, such as one for inter-process communication. In another embodiment, there may be a combination of a communication interface implemented by hardware, software, and a combination thereof.
[0136] Numerous references have been made to servers, services, interfaces, portals, platforms, or other systems formed from computing devices. It should be understood that the use of these terms is considered to refer to one or more computing devices having at least one processor configured to execute software instructions stored on a non-transient medium of a computer-readable type. For example, a server may include one or more computers operating as a web server, a database server, or other type of computer server in a manner that performs the described roles, responsibilities, or functions.
[0137] The technical solution of the embodiment may be in the form of a software product. The software product may be stored on a non-volatile or non-transient storage medium, which may be a compact disc read-only memory (CD-ROM), a USB flash disk, or a removable hard disk. The software product includes a number of instructions that enable a computer device (a personal computer, a server, or a network device) to execute the method provided by the embodiment. The embodiment described herein is implemented by physical computer hardware including a computing device, a server, a receiver, a transmitter, a processor, memory, a display, and a network. The embodiment described herein provides a useful physical machine and, in particular, an array of configured computer hardware.
[0138] As can be understood, the examples described and illustrated above are intended merely to be illustrative. All publications, patents, and patent applications mentioned herein represent the level of skill of those skilled in the art to which the present invention pertains and are incorporated herein by reference. Any reference to any prior art in this specification is not intended to acknowledge, and should not be construed as, an admission or implied that such prior art forms part of general knowledge.
[0139] Although embodiments have been described in detail, it should be understood that various modifications, substitutions, and changes may be made in this specification. Furthermore, the scope of this application is not intended to be limited to specific embodiments of the processes, machinery, manufacture, composition of materials, means, methods, and steps described in this specification. Such modifications should not be construed as being outside the scope of the invention, and all modifications obvious to those skilled in the art are intended to be included within the scope of the following claims.
Claims
Claim 1 A computer-implemented method for a tooth object descriptor, comprising: receiving, by a processor, a three-dimensional (3D) mesh file representation of a tooth object including a plurality of related surfaces; extending a plurality of indexing rays from a reference position through the 3D mesh file such that the indexing rays intersect the plurality of related surfaces at the surface boundary; measuring the length from the reference position to the surface boundary for each of the plurality of indexing rays to generate a plurality of indexing ray lengths; and storing the plurality of indexing ray lengths in a 2D matrix to generate a 2D descriptor matrix for each of the plurality of related surfaces; generating a 2D descriptor matrix for each of the plurality of related surfaces; and storing the 2D descriptor matrix for each of the plurality of related surfaces in a matrix descriptor stack; wherein the cells of each row and column of each 2D descriptor matrix of the plurality of related surfaces correspond to the same indexing ray, and the 2D descriptor matrix for each of the plurality of related surfaces is stacked in space. Claim 2 The method of claim 1 further comprises the step of slicing a 3D mesh file into a plurality of two-dimensional (2D) cross-sectional slicing planes, wherein the plurality of indexing rays are coplanar with the cross-sectional slicing planes. Claim 3 In paragraph 2, the slicing plane is parallel to a reference position or extends radially from a reference position. Claim 4 A method in which, in any one of paragraphs 1 to 3, the reference position is a common center or a common z-axis. Claim 5 A method according to any one of claims 1 to 3, further comprising the step of training a convolutional autoencoder model using a convolutional neural network to identify a matching 2D descriptor matrix in a descriptor database. Claim 6 A method according to any one of claims 1 to 3, further comprising the steps of assigning a tooth object type to each 2D descriptor matrix and matching the 2D descriptor matrix to a matched 2D descriptor matrix describing a matching tooth object having the same tooth object type. Claim 7 A method according to any one of claims 1 to 3, wherein the relevant surface is one or more of an alveolar line, an alveolar surface, an adjacent tooth surface, an occlusal tooth surface opposite to the jaw of the tooth object, an arch surface, an internal prosthesis surface, a post surface, an external prosthesis surface, and a device surface. Claim 8 A method in which, in any one of paragraphs 1 to 3, the reference position is a common center or a reference axis. Claim 9 A method according to any one of paragraphs 1 to 3, wherein the tooth object comprises one or more of a tooth, a plurality of teeth, a bite wing, a gum line, and a dental arch. Claim 10 A method according to any one of claims 1 to 3, further comprising the step of applying a visualization method to visualize each 2D descriptor matrix. Claim 11 A method according to any one of claims 1 to 3, further comprising the step of using a matrix descriptor stack for tooth tracking, orthodontic tracking, periodontal tracking, oral diagnosis, design of dental prosthetics, design of orthodontic devices, design of dental implants, or surgical planning. Claim 12 A method according to any one of claims 1 to 3, wherein the object of the tooth is a group of adjacent teeth described by a group descriptor matrix, and the matrix descriptor stack includes a tooth submatrix for each tooth in the group of adjacent teeth, each submatrix includes the same dimension as the group descriptor matrix, and the entry for other teeth in the group of teeth is 0 or null. Claim 13 A method according to claim 12, further comprising the step of generating a visualization map for the entire group descriptor submatrix and for each tooth submatrix. Claim 14 In any one of claims 1 to 3, the tooth object comprises an upper subset of adjacent teeth and a corresponding lower subset of adjacent teeth, and the method further comprises: determining an absolute difference between corresponding points for the upper teeth and the lower teeth; and storing a plurality of absolute differences of a byte pattern descriptor matrix. Claim 15 A method according to claim 14, further comprising the step of rendering the byte register descriptor matrix of a visualization map such that each item of the byte register descriptor matrix is replaced with a corresponding shading intensity. Claim 16 A method for measuring changes in teeth, comprising: acquiring a first mesh image of a tooth object and a second mesh image of a tooth object after a period of time; aligning the first mesh image and the second mesh image and assigning a common reference position; for each of the first mesh image and the second mesh image, extending a plurality of indexing rays from the reference position to a surface boundary; for each of the plurality of indexing rays, measuring the length from the reference position to the surface boundary to generate a plurality of indexing ray lengths; and generating a 2D descriptor matrix for each of the first mesh image and the second mesh image by storing the plurality of indexing ray lengths in a 2D matrix to generate a 2D descriptor matrix; and storing the 2D descriptor matrix for the tooth object and the tooth object after a period of time as a matrix descriptor stack — wherein the cells of each row and column of each 2D descriptor matrix correspond to the same indexing ray, and the 2D descriptor matrices are stacked in space —; A method comprising the step of comparing a 2D descriptor matrix to determine deviation after a period of time. Claim 17 In paragraph 16, the change in teeth is one or more of orthodontic movement, periodontal change, and tooth degeneration. Claim 18 A method for measuring the occlusion of teeth, comprising the steps of: acquiring an occlusal three-dimensional (3D) mesh image including an upper bite wing and a lower bite wing of occlusal alignment — the mesh image includes an upper occlusal surface and a lower occlusal surface —; extending a plurality of indexing rays from a reference position through the mesh such that each of the plurality of indexing rays intersects the upper bite wing and the lower bite wing; for each of the plurality of indexing rays, measuring the length from the reference position to the surface of the lower bite wing and the surface of the upper bite wing to generate a plurality of indexing ray lengths; and generating a bite pattern descriptor matrix by storing the plurality of indexing ray lengths as measurements of the absolute distance between the surface of the lower bite wing and the surface of the upper bite wing to generate a bite pattern descriptor matrix of the occlusal surfaces. Claim 19 A method according to claim 18, further comprising the step of applying a threshold to a bite pattern descriptor matrix to identify locations below a specific threshold indicating the location of good occlusal interaction between the upper and lower bite wings. Claim 20 In claim 18 or 19, the occlusal three-dimensional (3D) mesh image is obtained using occlusal radiography or computed tomography. Claim 21 A method according to claim 20, further comprising the step of matching a byte pattern descriptor matrix to a similar byte pattern descriptor matrix in a descriptor database using a convolutional neural network trained to evaluate the degree of occlusion of the teeth.
Citation Information
Patent Citations
Customized dental prosthesis for periodontal or osseointegration and related systems
US10426578B2
Method for manipulating a dental virtual model, method for creating physical entities based on a dental virtual model thus manipulated, and dental models thus created
US20170100220A1
Medical image data processing system and method
US20170262978A1
Computer automated development of an orthodontic treatment plan and appliance
US8496474B2
