A computer implemented method for determining distances in 3D dental models
The GPU-based method for determining distances in 3D dental models addresses inefficiencies by calculating clinically relevant distances in real-time, ensuring precise and efficient design processes.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- 3SHAPE AS
- Filing Date
- 2025-11-04
- Publication Date
- 2026-05-07
AI Technical Summary
Existing methods for determining distances between 3D dental models are inefficient and lack accuracy, particularly in dental design processes such as orthodontics and restorations, requiring faster and more precise measurements.
A computer-implemented method using a graphics processing unit (GPU) to generate a facet search data structure for 3D dental models, calculating distances based on normal vectors and threshold values, and displaying the results in real-time to ensure only clinically relevant measurements are computed.
Enables precise and efficient distance determination between dental structures, providing immediate feedback for improved design accuracy and quality control, enhancing workflow efficiency and reducing computational resources.
Smart Images

Figure EP2025081770_07052026_PF_FP_ABST
Abstract
Description
[0001] A COMPUTER IMPLEMENTED METHOD FOR DETERMINING DISTANCES IN 3D
[0002] DENTAL MODELS
[0003] Technical field
[0004] The disclosure relates to a computer-implemented method and system for determining distances between 3D digital models of dental structures. In particular, the method determines distances between a first active 3D model and one or more reference 3D model(s).
[0005] Background
[0006] When digitally designing dental treatments such as orthodontic treatment, or dental restorations such as crowns, bridges, implants, dentures etc., it is often an important aspect to determine distances between the design and any other dental structures such as an antagonist jaw. It remains a problem to find faster and more accurate ways to determine distances during the dental design process.
[0007] Summary
[0008] In one aspect, disclosed herein is a computer-implemented method for determining and displaying distances between two three-dimensional (3D) models of dental structures, the method comprising the steps of:
[0009] - obtaining an active three-dimensional (3D) model of a first dental structure, the active 3D model comprising a plurality of facets describing a surface of the first dental structure in 3D space;
[0010] - obtaining a reference three-dimensional (3D) model of a second dental structure, the second 3D model comprising a plurality of facets describing a surface of the second dental structure in 3D space;
[0011] - setting a first positive threshold value for a maximum relevant distance;
[0012] - generating a first facet search data structure for the reference 3D model using a graphics processing unit (GPU);
[0013] - for each vertex in the active 3D model, determining the distance to the nearest facet in the second reference 3D model up to the threshold value using at least the generated facet search data structure for the reference 3D model; and
[0014] - displaying the determined distances in a graphical user interface on a display. The active 3D model may be a dental structure that a user can manipulate and / or design. This could be for example a crown, bridge, implant abutment, or even a jaw scan of a patient. The reference 3D model may be a second dental structure that needs to be taken into account. For example, if a user such as a dental technician is designing a crown, the teeth in the antagonist jaw should be considered when designing the dimensions of the crown. Working with 3D dental models is computationally intensive. Setting a first positive threshold value assures that only relevant distances are determined. For example, when designing a dental restoration and taking into account the teeth of the antagonist jaw, the occlusal surface will be most important, as this will determine the comfort and utility of the crown. The threshold distance may for example be set to 2mm, and any distances above this threshold value would not need to be calculated, as this may already be visible to the user or not be clinically relevant. Using a GPU for generating the facet search data structure advantageously allows to classify facets in parallel. For example, in a 3D model comprising 500,000 facets, depending on the actual hardware configuration used, this method may provide a facet search data structure in a time of on the order of 1 millisecond. This is much faster than doing a similar operation using a CPU or another type of processor. The distance determination may also advantageously be obtained using the GPU such that the distance determination for all vertices may be accomplished simultaneously, saving computational time and / or resources.
[0015] In some embodiments, the facet search data structures are in the form of 3D grids comprising a uniform distribution of equal sized cells. This allows for quicker computations and a simpler data structure. An alternative data structure could be one in which the size of the cells depended on the number of facets in a given volume, such that volumes with more facets would have smaller cells, such that the distribution in the number of facets within each cell of the search structure was kept more uniform. This would, however, make for a more complicated algorithm and would therefore take longer to generate. Depending on the clinical situation, the added time spent calculating this alternative search data structure may be considered worthwhile.
[0016] In some embodiments, each cell in the facet search data structure is linked to a list of facets that partially or completely overlap the cell. Numbering each facet of the reference model, and for each facet listing all cells in the that the facet partially or completely overlaps, allows for a simple data structure that allows for easy lookup and quick calculation when determining distances. For example, a bounding box can be generated around the each facet, and it will then be easy to check a small number of cells within the bounding box to see if the facet has any overlap with the cell. Typically, the number of relevant cells to check in this scenario will be in the single digits, usually between 1-6 cells. Alternatively, the reverse operation can be done, by numbering each facet of the reference model, and for each cell in the grid listing all facets that are partially or completely contained within the cell. However, this operation will be more computationally intensive, since for each cell, all facets in the model would have to be checked and this would be much more time consuming.
[0017] In some embodiments, determining the distance to the nearest facet in the reference 3D model comprises determining a search structure bounding box for the facet search data structure, and for all vertices in the active 3D model, simultaneously:
[0018] - determining a normal vector for each vertex in the active model;
[0019] - if the vertex is outside the search bounding box, move in the positive direction of the vertex normal to the nearest cell in the facet search data structure;
[0020] - if the closest cell is at a distance larger than the first positive threshold value, stop calculations for that vertex;
[0021] - for all facets belonging to the nearest cell check if a ray originating at the vertex and pointing in the direction of the vertex normal intersects the facet;
[0022] - if there is no intersection, ignore the facet;
[0023] - if there is an intersection and the distance to the facet is a new minimal distance, update the distance;
[0024] - if no facets are present in the nearest cell or no facets were intersected in the nearest cell, go to the next nearest cell in the direction of the vertex normal and repeat steps above; and
[0025] - stopping the calculation if the distance to the next nearest cell is more than the first positive threshold value, or if after processing the next nearest cell, the minimum distance was updated.
[0026] Typically when talking about measuring distance, the default is using the Euclidean distance between models. This is a simple measurement, but may not give the most accurate result. For example, the Euclidean distance from a vertex on the lingual side of a designed crown, to an antagonist tooth may be determined to be within the threshold value, although this vertex is of no relevance to the occlusal distance. By first determining a normal vector to the vertex, and using this to calculate a distance to the antagonist tooth rather than calculating the Euclidean distance, allows for a more clinically accurate and reliable measurement. Determining the search structure for all vertices simultaneously should be understood to be hardware dependent. For example, one GPU may be capable of running the algorithm for 1000 vertices at one time, and when that calculation is completed, continuing to the next 1000 vertices. The important point is that using a GPU will allow for a much faster distance determination, which to the user will be perceived as being instantaneous. By determining a bounding box for the facet search structure, it is ensured that the computation of the distances does not consider any empty cells in 3D space outside the relevant margin of the relevant active or reference 3D model(s).
[0027] In some embodiments, the method further comprising:
[0028] - setting a second negative threshold value for a maximum relevant distance;
[0029] - if no minimal distance was found in the positive direction of the surface normal, then for each vertex in the active 3D model, move in the negative direction of the vertex normal to the nearest cell in the facet search data structure;
[0030] - if the closest cell is at a distance larger than the second negative threshold value, stop calculations for that vertex;
[0031] - for all facets belonging to the nearest cell check if the vertex normal intersects the facet;
[0032] - if there is no intersection, ignore the facet;
[0033] - if there is an intersection and the distance to the facet is a new minimal distance, update the distance;
[0034] - if no facets are present in the nearest cell or no facets were intersected in the nearest cell, go to the next nearest cell in the negative direction of the vertex normal and repeat steps above; and
[0035] - stopping the calculation if the distance to the next nearest cell is more than the second negative threshold value, or if after processing the next nearest cell, the minimum distance was updated.
[0036] Setting a second, negative threshold distance value, and determining any distances in the negative direction of the surface normal for the vector, allows the user to quickly and easily see any penetration from the designed restoration to the antagonist jaw. For example, when designing a crown, depending on if the crown is a molar or an incisor, different tolerances for any penetration may be considered. Setting a maximum negative distance value, means for example, that if designing a crown, the distance calculation will result in no determined distance if the design is clearly too high and penetrates the antagonist tooth to an extreme degree, thus saving computational resources and time.
[0037] In some embodiments, determining the normal vector for each vertex comprises determining the normal vector for a facet to which the vertex belongs, and using the facet normal as the vertex normal vector.
[0038] There are many ways known in the art to digitally represent a 3D model such as point clouds, polygonal meshes, voxel representations and others. In the case of polygonal meshes, the 3D model is typically represented using a number of triangular facets, connecting vertices. Since a vertex is a point, it does not inherently have a normal direction. A triangular facet on the other hand has a normal vector. Using the normal vector of a facet to which the vertex belongs, is the simplest way to define a normal for a vertex, and will therefore be the least computationally intensive.
[0039] In some embodiments determining the normal vector for each vertex comprises calculating a weighted average of the normal vectors of a number of facets in a region around the vertex, and using the weighted average as the normal vector for the vertex. A vertex will typically be a part of several triangular facets. Finding a weighted average of the normal vectors for these facets, may give a more accurate normal vector for the vertex. The region from which the weighted average normal vector is determined, may also be extended further, so that for example all facets within a certain distance, such as for example 0,5mm, to the vertex are used to calculate the vertex normal. This may give an even more robust determination of the normal vector.
[0040] In some embodiments, displaying the determined distances in a graphical user interface on a display comprises displaying the active 3D model with the determined distances for each facet overlaid the active 3D model.
[0041] After determining the distances up to the one or more threshold distances for each vertex in the active model to the reference model, a distance map can then be overlaid the active 3D model, allowing the user to quickly gain an overview of any problems with the design.
[0042] In some embodiments the active 3D model and the determined distances are displayed, but the reference model is not displayed.
[0043] By only displaying the active 3D model and the determined distances, the user will be able to visualize the whole distance map. For example, if the active model is of a dental crown, and the reference model is an antagonist jaw, if both were displayed, the antagonist jaw would potentially obscure the relevant distance map. The user may toggle on / off the display of the reference model, for example to further visualize any penetration of the designed crown and the antagonist jaw.
[0044] Advantageously, because the distance determination including computing the search data structure is so quick, it is now possible to update the distance maps in real time. Some of the advantages of this disclosure include:
[0045] • Enhanced Precision: Allows for precise measurements between any design models and scans, ensuring each step of the design process meets the required specifications.
[0046] • Real-Time Calculations: Improves workflow efficiency by providing immediate feedback, allowing full visibility of distances while making adjustments.
[0047] • Better Quality Control: Ensures all steps of the design are accurately measured and controlled, leading to higher quality and more reliable outcomes.
[0048] The subject matter of this disclosure allows a user to quickly visualize the distance between different models and scans during the design process, ensuring each step meets the required specifications without delay. This is especially useful when working on complex cases that require precise measurements to ensure a close fit.
[0049] It is possible to create a custom set of measurable reference models at any design step. Such a custom reference model set may be for example combining any set of models as reference model or design based on antagonists only or based on mock-up scan and disregarding the antagonists, or the custom model set could be a combination of the antagonists and the mock-up together. The custom set of reference models may be combined into a single model, and a single facet search data structure can be created for the combined model. Alternatively, the custom set of reference models can be kept separate, and separate facet search data structures can be computed for each of the reference models in the custom set.
[0050] In some embodiments, negative distances to the active model itself are calculated first. This may be done to ensure that only distances to the relevant reference models are ultimately visualized.
[0051] In some embodiments, distances in both the positive and negative direction of the vertex normal are calculated together, such that for each vertex in the active 3D model, both positive and negative distances to the one or more reference 3D models are calculated simultanesouly.
[0052] According to embodiments of this disclosure, a computer-implemented method for determining and displaying distances between two three-dimensional (3D) models of dental structures comprises the steps of obtaining an active 3D model and a reference 3D model, setting a first positive threshold value for a maximum relevant distance, and displaying the determined distances on a display, wherein the method is characterized by generating a first facet search data structure for the reference 3D model using a graphics processing unit (GPU), and for each vertex in the active 3D model, determining the distance to the reference 3D model by determining a normal vector for said vertex and determining the distance as an intersection of a ray with a facet in the reference 3D model, the ray originating at the vertex and pointing in the direction of the vertex normal. This provides a computationally efficient and clinically accurate method for real-time distance visualization in dental design.
[0053] According to embodiments of this disclosure, the facet search data structure is in the form of a 3D grid comprising a uniform distribution of equal sized cells. This simplifies the data structure and allows for faster computations and lookups.
[0054] According to embodiments of this disclosure, each cell in the facet search data structure is linked to a list of facets that at least partially overlap the cell. This allows for an efficient way to identify relevant facets for distance calculation within a localized search area.
[0055] According to embodiments of this disclosure, determining the distance comprises determining a search structure bounding box for the facet search data structure, and the step of determining the distance is performed for vertices inside the search structure bounding box. This further optimizes the calculation by excluding irrelevant vertices outside the area of interest, saving computational resources.
[0056] According to embodiments of this disclosure, the method further comprises setting a second negative threshold value for a maximum relevant distance, and if no intersection was found in the positive direction of the vertex normal, checking for an intersection of the ray in a negative direction of the vertex normal. This allows for the accurate and efficient calculation of penetration distances, which is critical for identifying and correcting interferences between dental models.
[0057] According to embodiments of this disclosure, for each vertex, the distance in the positive direction and the distance in the negative direction of the vertex normal are calculated simultaneously. This improves workflow efficiency by providing a complete overview of both clearance and penetration in a single computational step.
[0058] According to embodiments of this disclosure, determining the normal vector for each vertex comprises determining the normal vector for a facet to which the vertex belongs, and using the facet normal as the vertex normal vector. This provides a computationally simple and fast method for defining the vertex normal. According to embodiments of this disclosure, determining the normal vector for each vertex comprises calculating a weighted average of the normal vectors of a plurality of facets in a region around the vertex, and using the weighted average as the normal vector for the vertex. This provides a more robust and accurate determination of the vertex normal, especially in areas of high curvature.
[0059] According to embodiments of this disclosure, the method further comprises obtaining a plurality of reference 3D models and generating a separate facet search data structure for each, wherein the determined distance for a vertex is the smallest of the distances determined to each of the plurality of reference models. This allows for efficient distance checking against multiple relevant models, such as an opposing jaw and a prepared tooth.
[0060] According to embodiments of this disclosure, the method further comprises obtaining a plurality of reference 3D models, combining them into a single combined reference model, and generating the first facet search data structure for the single combined reference model. This simplifies the data structure when comparing an active model against a static set of multiple reference models.
[0061] According to embodiments of this disclosure, the method further comprises generating a second facet search data structure for the active 3D model and determining a thickness of the active 3D model by determining the distance between a first and second surface portion of the active 3D model. This enables rapid and accurate visualization of the material thickness of a dental restoration.
[0062] According to embodiments of this disclosure, displaying the determined distances comprises displaying the active 3D model with the determined distances overlaid as a color map. This provides an intuitive and immediate visual representation of clearance and penetration distances.
[0063] According to embodiments of this disclosure, the active 3D model and the determined distances are displayed, and the reference model is not displayed. This prevents the reference model from obscuring the view of the distance map, providing a clearer visualization for the user.
[0064] According to embodiments of this disclosure, a computer system comprises a display, a communication interface, one or more processors including at least one graphics processing unit (GPU), and memory with executable instructions to perform the method of determining distances by generating a facet search data structure with the GPU and determining the distance for each vertex based on an intersection of a ray cast along a normal vector of the vertex. This provides a system specifically configured to perform the efficient and clinically accurate distance determination method.
[0065] In another aspect, disclosed herein is a computer system comprising: - a display
[0066] - a communication interface;
[0067] - one or more processors including at least one graphics processing unit (GPU);
[0068] - one or more memories containing a program content executable by the one or more processors, the program content comprising executable instructions to perform one or more of the steps of the method described above.
[0069] Brief description of the figures
[0070] FIG. 1 schematically illustrates a prior art distance determination
[0071] FIG. 2 illustrates a distance determination according to this disclosure
[0072] FIG. 3A-B shows two different ways of visualizing a distance map according to this disclosure
[0073] FIG. 4 is a flowchart according to an embodiment of this disclosure
[0074] FIG. 5 is a flowchart according to an embodiment of this disclosure
[0075] FIG. 6 illustrates and embodiment of a computer system according to this disclosure
[0076] FIG. 7 shows a graphical user interface displaying a distance map according to this disclosure
[0077] Detailed description
[0078] In the following description, reference is made to the accompanying figures, which show by way of illustration how the invention may be practiced.
[0079] FIG. 1 schematically illustrates a prior art distance determination. An active model 101 and a reference model 102 are shown. Distances 103 between vertices or facets in the mesh of the active model and vertices or facets in the reference model are indicated. Since this prior art method naively uses a Euclidean distance determination, the distance from point 104 on the lingual side of the tooth in the active model to the reference model has been determined. However, this distance is of no clinical importance, since there will never be any contact between the point 104 and any point of the reference model.
[0080] Fig. 2 shows a distance determination according to this disclosure. A uniform grid 201 representing a facet search data structure is illustrated. It should be noted that this grid is shown as a 2-dimensional 4x4x1 grid only for illustrative purposes. An actual grid would be three dimensional and sized depending on the size of the reference model. The distance from a chosen vertex 202 to the reference model is to be computed. The normal vector 203 to the vertex 202 is shown. The grid 201 is illustrated here as being composed of uniformly distributed cells in the form of voxels, but other non-uniform grid structures could be contemplated. For example, a grid more densely populated with smaller cells in areas of interest or areas of higher resolution in the reference model could be used. This would ensure that each cell in the grid would not contain more than a desired number of facets, making the search faster. Moving from the vertex 202 along the direction of the normal vector 203, the first cell encountered is denoted Vs. This cell contains one facet 204, but since the normal vector 203 does not intersect this facet, it is ignored. The search continues into V9 which contains a part of facet 205, but since the normal vector does not intersect the facet in cell V9, this facet is ignored at this stage. The process continues into V5, which contains 2 facets, 205 and 206. These facets are then analyzed to find if there is an intersection, and it is found that the normal vector intersects facet 205. The distance from the vertex to the intersection point ti on the facet 205 will then be taken to be the distance between the vertex 202 and the reference model. As can be seen from Fig. 2, the Euclidean distance from vertex 202 to facet 206 is actually smaller than the distance from vertex 202 to facet 205, but since there is no intersection between the normal vector and facet 206, this shorter distance is not computed. In an alternative embodiment, the distance determination comprises looking at the list of all facets in cell V5, and finding the closest distance to any facet within this cell, even if that particular facet was not intersected. In this embodiment, facet 206 would then be found to be the closest relevant facet, and the distance between the vertex 202 and the intersection point with facet 206 would be taken as the distance measurement.
[0081] Fig 3A-B shows two different ways to visualize a distance map as according to this disclosure. Fig. 3A shows an active model 301, here in the form of a jaw scan of a patient, with a distance map 303 overlaid. The distances are colored according to the color scale 302, which may follow the ISO standard. Here, a minimum threshold value of -1mm and a maximum threshold value of 2mm has been chosen. Since only the active model 301 is shown, the user is able to quickly and easily visualize the complete picture. It can be easily seen that the molar 304 on the right has large negative values, which means that there is penetration from the antagonist jaw, which may be a problem that needs correcting. However, it may not be easy for the user to quickly visualize any other problem areas.
[0082] Fig. 3B shows the same situation, but with the reference model, in this case a scan of the patient’s antagonist jaw, also visualized. This visualization allows the user to very quickly identify all areas in which there is penetration, and therefore is a potential problem for the patient’s bite. Fig. 4 shows a flowchart of a workflow 400 according to embodiments of this disclosure. In step 401, an active three-dimensional model of a first dental structure is obtained. This 3D model can be obtained for example using an intraoral scanner to scan the oral cavity of a patient, or by scanning a physical impression or a gypsum model using a desktop dental scanner. The active model may also be a design of a dental restoration such as a crown, bridge, veneer or denture, or any other dental indication. Similarly, in step 402, a reference 3D model is obtained through similar means. In step 403, a first positive threshold value is set for a maximum relevant distance. This distance may be predefined by the system, for example at 2mm, but the user may be able to change this according to their preference. Setting this threshold value means that the system will only calculate clinically relevant distances for display. The active and reference 3D model can be represented in any standard way of representing 3D models, such as point clouds or meshes. In step 404, a facet search data structure for the reference model is generated using a GPU, allowing to compute the search structure for all facets simultaneously, considerably shortening the processing time. In step 405, the distance map from the active model to the reference model is calculated. Using the GPU, for each vertex in the active model, the distance to the reference 3D model is determined. By employing the GPU, this determination can be done for all vertices simultaneously, considerably cutting down on the processing time. This means that it is possible to dynamically update the distance map as the user updates the design, without having any noticeable idle time for the user. In this way, the design process experience becomes much smoother. In step 406, the distance map is displayed to the user in a graphical user interface on a display, allowing the user to inspect the measured distances and modify their design accordingly as needed.
[0083] Fig. 5 shows a flowchart describing the distance determination according to embodiments of this disclosure. In step 501 a normal vector is determined for each vertex or point in the active model. In step 502, if the vertex is outside a search bounding box for the reference model, the calculation moves in the positive direction of the vertex normal to the nearest cell in the facet search data structure. In step 503, if it is determined that the closest cell is at a distance larger than the first positive threshold value, stop calculations for that vertex. In step 504, it is checked for all facets belonging to the nearest cell if the vertex normal intersects the facet and if there is no intersection, ignore the facet. In step 505 if there is an intersection between the vertex normal and a facet in the cell, and the distance to the facet is a new minimal distance, the minimal distance is update. If no facets are present in the nearest cell or no facets were intersected in the nearest cell, the calculation goes to the next nearest cell in the direction of the vertex normal and the above steps 501-504 are repeated. In step 506, the distance calculation is stopped if the distance to the next nearest cell is more than the first positive threshold value, or if after processing the next nearest cell, the minimum distance was updated.
[0084] In the above, only one reference model has been considered. However it should be noted that the methods disclosed herein advantageously allows to assign more than one 3D model as reference model. In a given dental design situation, the user may have more than two 3D models to work with. For example, there may be a 3D model of both an upper jaw and a lower jaw, as well as the design currently being worked on. Advantageously all of these 3D models may be brought into the same coordinate system. It is then possible to assign more than one 3D model to be the reference model and to create facet search structures for each of the 3D reference models. The distance determination will then proceed to find the distance from the vertices of the active model to each of the reference models and assigning the determined distance value to be the smallest of the distances determined to the multiple reference models. In this way, it is possible for example, for the user to simultaneously visualize and check distances from the outside surface of a dental restoration design to the antagonist jaw as well as the from the inside surface of the dental design to for example a prepared tooth. By having the facet search data structures separate for each reference model, in the case where only one of multiple reference models are substituted, it is only necessary to compute a new facet search data structure for the newly substituted reference model. In an alternative embodiment, a combined facet search data structure for the multiple reference models can be created. This creates a more simplified data structure, but has the disadvantage that if one of the reference models is changed, a new facet search data structure for the entire set of reference models will have to be computed, not just for the newly changed reference model.
[0085] In a further embodiment, it is also possible to determine a facet search data structure for the active 3D model. Determining and displaying distances for the active model may then be done exclusively for the active 3D model, or in combination with one or more reference 3D models. This allows for example to quickly and easily visualize the thickness of a dental restoration being designed, allowing the user to adjust their design to account for example for a minimum thickness of a restoration based on the materials from which the restoration will be manufactured.
[0086] In the case of designing dentures, this is very computationally intensive, because you are working on a large data set including most if not all of a patient’s teeth at the same time. The design output for dentures involves handling multiple models within each case, yet technicians previously lacked the necessary tools to visually assess these models, since they were limited to using only 2D tools, which are generally not good enough for complex 3D structures of denture models. This limitation hinders the ability to accurately assess and adjust models, potentially compromising the quality of the final dentures and increasing the likelihood of errors and rework. By employing the distance measurement tools disclosed herein, the technician can, in real-time, visualize their designs and quickly see any problems that require adjustment. Adjustments are needed for most of the cases where denture needs to be designed against natural teeth. Technicians can ensure higher quality in the final dentures, significantly reducing the need for rework and increasing overall efficiency. The distance determination workflow described herein not only streamlines the design process but also enables technicians to deliver superior results, enhancing satisfaction for both practitioners and patients.
[0087] Figure 6 illustrates a system 600 according to the present disclosure. The system 600 comprises a computer system 605, comprising a communication interface 611 which enables the computer system 605 to exchange data with other devices. For example, the computer system 605 may be configured to receive and send data to an intraoral scanner or a dental desktop scanner. The computer system 605 may comprise one or more processors 601 configured to process executable instructions, e.g. provided by a computer program. The processors 601 comprise at least a graphic processing unit 1002. The processors 601 may further comprise one or more central processing units (CPU). The one or more processors 601 may be further configured to process, partially or completely, the data received by the intraoral scanner or the dental desktop scanner to generate a 3D model representation(s) of a dental structure. They may also be configured to load into memory 603 an already generated 3D model.
[0088] The computer system 605 further comprises a display device 606, a keyboard, touchpad, a mouse or touchscreen for entering data and activating virtual buttons (user interaction elements) visualized on the display 606. The display device 606 may be a computer screen, a touchpad screen or e.g. a smart phone screen comprising a graphical user interface 615 and having a visual display, wherein the 3D model representation(s) and a distance map may be displayed. The computer system 605 may comprise a memory 603 comprising a program content executable by the processor(s) 601, the program content comprising executable instructions to perform the computer-implemented method according to the present disclosure. Further, the computer system 605 may comprise a storage media / medium 604 configured to store data such as the image data 605 acquired from an intraoral scanning device during a scan session or from a dental desktop scanner. Image data 605 from a plurality of different intraoral scanners or dental desktop scanners may be stored in storage 604. Furthermore, image data 605 that has been processed for using e.g. the method disclosed herein may be stored in storage 604. Patient specific identification data, diagnostic data acquired from other scanning modalities that an intraoral scanner, and other patient relevant information may be stored in storage 604. The storage media / medium 604 may be configured as cloud storage or for example storage on multiple computer services which are configured to communicate with each other over a network 614. Processing and storage of data relevant for analysis by e.g. a diagnostic module may be performed in a cloud setup and loaded into a computer therefrom and / or performed locally. The storage 604 may also store 3D model representation(s) generated historically for a patient, as well as 3D model representation(s) 301 generated during a clinical visit. The system 600 may comprise a post-processing module 609 configured to perform one or more postprocessing steps applied to the 3D models. The display module 610 may be configured to represent the 3D model(s) with a graphical representation of the determined distance map overlaid one or more 3D models.
[0089] Figure 7 illustrates a distance map overlaid an active model 701 in the form of a bridge being designed. The active model 701 is shown with one reference model 702, and the distance map is overlaid the active model 701. In this example, the distances displayed on the active model are determined distances to the antagonist jaw, not shown here.
[0090] In some embodiments, the facet search data structures are in the form of 3D grids comprising a uniform distribution of equal sized cells. This allows for quicker computations. Alternatively, a non-uniform grid structure could be used, for example, a grid more densely populated with smaller cells in areas of higher resolution. In some embodiments, each cell in the facet search data structure is linked to a list of facets that partially or completely overlap the cell.
[0091] In some embodiments, determining the normal vector for each vertex comprises determining the normal vector for a facet to which the vertex belongs and using the facet normal as the vertex normal vector. In other embodiments, determining the normal vector for each vertex comprises calculating a weighted average of the normal vectors of a number of facets in a region around the vertex and using this weighted average as the normal vector for the vertex.
[0092] The methods disclosed herein advantageously allow for the assignment of more than one 3D model as a reference model. In such cases, it is possible to create separate facet search data structures for each of the reference models. The distance determination then finds the distance from the vertices of the active model to each of the reference models, and the final displayed distance value is the smallest of the distances determined. Alternatively, a combined facet search data structure for multiple reference models can be created.
[0093] In this description, references to “one embodiment,” “an embodiment,” or “embodiments” mean that the feature or features being referred to are included in at least one embodiment of the technology. Separate references to “one embodiment,” “an embodiment,” or “embodiments” in this description do not necessarily refer to the same embodiment and are also not mutually exclusive unless so stated and / or except as will be readily apparent to those skilled in the art from the description. For example, a feature, structure, act, etc. described in one embodiment may also be included in other embodiments, but is not necessarily included. Thus, the current technology can include a variety of combinations and / or integrations of the embodiments described herein.
[0094] Although the present application sets forth a detailed description of numerous different embodiments, it should be understood that the legal scope of the description is defined by the words of the claim(s) set forth at the end of this patent and equivalents. The detailed description is to be construed as exemplary only and does not describe every possible embodiment since describing every possible embodiment would be impractical. Numerous alternative embodiments may be implemented, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims.
[0095] Throughout this description, plural instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently, and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein. The foregoing statements in the paragraph shall apply unless so stated in this description and / or except as will be readily apparent to those skilled in the art from the description.
[0096] As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
Claims
Claims1. A computer-implemented method for determining and displaying distances between two three- dimensional (3D) models of dental structures, the method comprising the steps of:- obtaining an active three-dimensional (3D) model of a first dental structure, the active 3D model comprising a plurality of facets describing a surface of the first dental structure in 3D space;- obtaining a reference three-dimensional (3D) model of a second dental structure, the second 3D model comprising a plurality of facets describing a surface of the second dental structure in 3D space;- setting a first positive threshold value for a maximum relevant distance;- generating a first facet search data structure for the reference 3D model using a graphics processing unit (GPU);- for each vertex in the active 3D model, determining the distance to the nearest facet in the second reference 3D model up to the threshold value using at least the generated facet search data structure for the reference 3D model; and- displaying the determined distances in a graphical user interface on a display.
2. The computer-implemented method according to claim 1, wherein the facet search data structures are in the form of 3D grids comprising a uniform distribution of equal sized cells.
3. The method according to any of the preceding claims, wherein each cell in the facet search data structure is a list of facets that partially or completely overlap the cell.
4. The method according to any of claims 2 or 3, wherein determining the distance to the nearest facet in the reference 3D model comprises determining a search structure bounding box for the facet search data structure, and for all vertices in the active 3D model, simultaneously:- determining a normal vector for each vertex in the active model;- if the vertex is outside the search bounding box, move in the positive direction of the vertex normal to the nearest cell in the facet search data structure;- if the closest cell is at a distance larger than the first positive threshold value, stop calculations for that vertex;- for all facets belonging to the nearest cell check if a ray originating at the vertex and pointing in the direction of the vertex normal intersects the facet;- if there is no intersection, ignore the facet;- if there is an intersection and the distance to the facet is a new minimal distance, update the distance;- if no facets are present in the nearest cell or no facets were intersected in the nearest cell, go to the next nearest cell in the direction of the vertex normal and repeat steps above; and- stopping the calculation if the distance to the next nearest cell is more than the first positive threshold value, or if after processing the next nearest cell, the minimum distance was updated.
5. The method according to the preceding claim, the method further comprising:- setting a second negative threshold value for a maximum relevant distance;- if no minimal distance was found in the positive direction of the surface normal, then for each vertex in the active 3D model, move in the negative direction of the vertex normal to the nearest cell in the facet search data structure;- if the closest cell is at a distance larger than the second negative threshold value, stop calculations for that vertex;- for all facets belonging to the nearest cell check if the vertex normal intersects the facet;- if there is no intersection, ignore the facet;- if there is an intersection and the distance to the facet is a new minimal distance, update the distance;- if no facets are present in the nearest cell or no facets were intersected in the nearest cell, go to the next nearest cell in the negative direction of the vertex normal and repeat steps above; and- stopping the calculation if the distance to the next nearest cell is more than the second negative threshold value, or if after processing the next nearest cell, the minimum distance was updated.
6. The method according to claim 4 or 5, wherein determining the normal vector for each vertex comprises determining the normal vector for a facet to which the vertex belongs, and using the facet normal as the vertex normal vector.
7. The method according to claim 4 or 5 wherein determining the normal vector for each vertex comprises calculating a weighted average of the normal vectors of a number of facets in a region around the vertex, and using the weighted average as the normal vector for the vertex.
8. The computer-implemented method according to any of the preceding claims, wherein displaying the determined distances in a graphical user interface on a display comprises displaying the active 3D model with the determined distances for each facet overlaid the active 3D model.
9. The computer-implemented method according to any of the preceding claims, wherein the active 3D model and the determined distances are displayed, but the reference model is not displayed.
10. A computer system comprising:- a display- a communication interface;- one or more processors including at least one graphics processing unit (GPU);- one or more memories containing a program content executable by the one or more processors, the program content comprising executable instructions to perform the steps of the method of any one or more of claims 1-9.
11. A computer-implemented method for determining and displaying distances between two three- dimensional (3D) models of dental structures, the method comprising the steps of:- obtaining an active three-dimensional (3D) model of a first dental structure, the active 3D model comprising a plurality of facets describing a surface of the first dental structure in 3D space;- obtaining a reference three-dimensional (3D) model of a second dental structure, the second 3D model comprising a plurality of facets describing a surface of the second dental structure in 3D space;- setting a first positive threshold value for a maximum relevant distance;- displaying the determined distances in a graphical user interface on a display;- characterised in that the method further comprises:- generating a first facet search data structure for the reference 3D model using a graphics processing unit (GPU); and- for each vertex in the active 3D model, determining the distance to the reference 3D model up to the threshold value, wherein determining the distance comprises:- determining a normal vector for said vertex; and- determining the distance as an intersection of a ray with a facet in the reference 3D model, the ray originating at the vertex and pointing in the direction of the vertex normal.
12. The computer-implemented method according to claim 11, wherein the facet search data structure is in the form of a 3D grid comprising a uniform distribution of equal sized cells.
13. The computer-implemented method according to claim 12, wherein each cell in the facet search data structure is linked to a list of facets that at least partially overlap the cell.
14. The computer-implemented method according to claim 12 or 13, wherein determining the distance comprises determining a search structure bounding box for the facet search data structure, and wherein the step of determining the distance is performed for vertices inside the search structure bounding box.
15. The computer- implemented method according to any of the preceding claims, the method further comprising:- setting a second negative threshold value for a maximum relevant distance; and- if no intersection was found in the positive direction of the vertex normal, checking for an intersection of the ray with a facet in the reference 3D model in a negative direction of the vertex normal up to the second negative threshold value.
16. The computer- implemented method according to claim 15, wherein for each vertex, the distance in the positive direction and the distance in the negative direction of the vertex normal are calculated simultaneously.
17. The computer- implemented method according to any of the preceding claims, wherein determining the normal vector for each vertex comprises determining the normal vector for a facet to which the vertex belongs, and using the facet normal as the vertex normal vector.
18. The computer-implemented method according to any of claims 11-16, wherein determining the normal vector for each vertex comprises calculating a weighted average of the normal vectors of a plurality of facets in a region around the vertex, and using the weighted average as the normal vector for the vertex.
19. The computer- implemented method according to any of claims 11-18, further comprising obtaining a plurality of reference 3D models and generating a separate facet search data structure for each of the plurality of reference 3D models, and wherein the determined distance for a vertex is the smallest of the distances determined to each of the plurality of reference models.
20. The computer- implemented method according to any of claims 11-18, further comprising obtaining a plurality of reference 3D models, combining the plurality of reference 3D models into a single combined reference model, and wherein the first facet search data structure is generated for the single combined reference model.
21. The computer-implemented method according to any of the preceding claims, further comprising:- generating a second facet search data structure for the active 3D model using the graphics processing unit (GPU); and- determining a thickness of the active 3D model by, for vertices on a first surface portion of the active 3D model, determining the distance to a second surface portion of the active 3D model using said second facet search data structure.
22. The computer-implemented method according to any of the preceding claims, wherein displaying the determined distances comprises displaying the active 3D model with the determined distances overlaid as a color map.
23. The computer- implemented method according to claim 22, wherein the active 3D model and the determined distances are displayed, and the reference model is not displayed.
24. A computer system comprising: a display; a communication interface; one or more processors including at least one graphics processing unit (GPU); and- one or more memories containing program content executable by the one or more processors, the program content comprising executable instructions to cause the computer system to perform a method for determining and displaying distances between two three-dimensional (3D) models of dental structures by:- obtaining an active 3D model of a first dental structure and a reference 3D model of a second dental structure;- setting a first positive threshold value for a maximum relevant distance;- generating a first facet search data structure for the reference 3D model using the GPU;- for each vertex in the active 3D model, determining the distance to the reference 3D model up to the threshold value by:- determining a normal vector for said vertex; and- determining the distance as an intersection of a ray with a facet in the reference 3D model, the ray originating at the vertex and pointing in the direction of the vertex normal; and- displaying the determined distances in a graphical user interface on the display.
25. The computer system of claim 24, wherein the system is configured to perform the method of any one of claims 11-23.
Citation Information
Patent Citations
Automatic determination of trim-line for aligners
US20230218370A1
Auto-denture design setup systems
US20230390036A1