METHOD FOR AUTOMATIC SEGMENTATION OF TEETH
Patent Information
- Application Number
- DE602020059656
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-02-04
- Filing Date
- 2020-02-04
- Publication Date
- 2025-10-01
- Estimated Expiration
- 2040-02-04
AI Technical Summary
Existing dental imaging technologies struggle to accurately integrate three-dimensional dental arch measurements with two-dimensional tooth shade and translucency data, leading to poor aesthetic integration of dental prostheses due to incompatibility between optical scanners and spectrophotometry systems.
A method for segmenting a digital model of teeth comprising a three-dimensional triangular mesh using automated means to classify triangles into concave and convex categories, identify tooth zones, and refine contours using region growing algorithms to accurately match two-dimensional tooth data with three-dimensional mesh data.
Enables precise identification and integration of tooth shade and translucency values within the three-dimensional dental arch model, facilitating accurate comparison and manufacturing of dental prostheses that match patient tooth colors.
Description
[0001] The invention relates to medical imaging in the context of dental prostheses. In particular, it relates to the segmentation of a digital model of teeth comprising a three-dimensional triangular mesh.
[0002] An optical scanner is used to measure the dimensions of a patient's dental arch within their mouth. This device, combined with three-dimensional visualization software, allows for a highly accurate triangular mesh of the dental arch to be obtained and visualized. This technology is useful to dental technicians in creating the shape of a dental prosthesis, and it allows for the transmission and storage of information on the dimensions of the patient's dental arch.
[0003] However, this type of scanner does not allow for accurate measurement of the patient's tooth shade and translucency information. This is why most dentists continue to use a classic set of hand shades to compare manually with the patient's teeth, in order to choose the shades of the prosthesis to be manufactured that seem to best match, to the naked eye, with the patient's tooth shades. However, this type of comparison is very approximate and the manufactured prosthesis does not correspond precisely enough to the patient's tooth colors. This leads to poor aesthetic integration of the prosthesis in the mouth.
[0004] To obtain information on shade and translucency in a precise manner, other technologies exist, such as spectrophotometers (such as the “Rayplicker” in the name of the applicant) which make it possible to precisely identify, for a given tooth, the shades of color and translucency of the tooth and to locate them on said tooth in a file representing the tooth in two dimensions.
[0005] However, three-dimensional dental arch measurement technologies on the one hand and two-dimensional tooth shade taking technologies on the other are not compatible. In other words, it is not possible to integrate a spectrophotometry system within a digital dental arch taking system due to the nature of these two techniques. Indeed, the permanent movement of the optical scanner aimed at digitizing the patient's entire dental arch in three dimensions is not compatible with the need for stability, on the order of a second, necessary to perform the spectrophotometric analysis of a single tooth.
[0006] To solve this problem, it would be appropriate to digitally associate a tooth with localized shade and translucency values, obtained using a spectrophotometer, with the corresponding tooth represented in a triangular mesh from an optical scanner. However, these are two different digital representations, one with a two-dimensional tooth, the other with unidentified teeth in three dimensions.
[0007] Thus, it is necessary, firstly, to be able to identify what a tooth is within the three-dimensional triangular mesh. Then, secondly, it is necessary to compare the reference tooth, whose shade and translucency values are known, to each of the teeth identified in the mesh, in order to find the corresponding tooth.
[0008] The technique is already known in the state of the art, in particular from the document “A Fast Segmentation Method for STL Teeth Model” (Zhanli Li), a method for segmenting a digital model of teeth comprising a three-dimensional triangular mesh, taking as input a starting triangle and using a classic algorithm of " Region Growing” aimed at identifying a tooth area including this starting triangle.
[0009] However, the tooth area identified using this algorithm is not sufficiently precise and may extend over several distinct teeth. It is therefore difficult to find the tooth within the mesh corresponding to the reference tooth.
[0010] Furthermore, it is necessary to provide starting triangles located on respective teeth for the presented method to start segmentation. This method therefore cannot provide automatic tooth segmentation starting only from the triangular mesh, without other information.
[0011] The invention aims in particular to improve the segmentation of a digital model of teeth comprising a three-dimensional triangular mesh.
[0012] An object of the invention is also to allow the segmentation of the model automatically from the mesh.
[0013] Another object of the invention is to facilitate the identification of a tooth within a triangular mesh corresponding to a reference tooth of a two-dimensional representation.
[0014] To this end, the invention relates to a method for segmenting a digital model of teeth comprising a three-dimensional triangular mesh, characterized in that automated means implement the following steps, called initial steps: classification, within the mesh, of at least one triangle in the concave category and / or at least one triangle in the convex category, and identification, within the mesh, of at least one tooth zone comprising triangles such that each triangle of the zone has at least one neighboring triangle in the zone, all the triangles of the zone being outside the convex or concave category.
[0015] Indeed, the tooth is separated from its neighboring teeth and the gum by strongly concave areas. In addition, the apex of the tooth, acting as an intermediary between the surface of the tooth exposed outside the model and the interior of the dental arch, corresponds to strongly convex areas. By classifying the triangles of the mesh into the convex or concave category, we thus identify the boundaries of the tooth. Triangles not classified into the concave or convex category are out of category, which means that they are intended to be part of the tooth area that we wish to identify.
[0016] Thus, the identification of the tooth zone makes it possible to identify the triangles that form the tooth, delimited by its borders formed by concave or convex zones that are not part of it. We therefore identify a tooth zone that extends over a single tooth. Corollary, we can therefore identify, within the mesh, the tooth zones extending over each digitized tooth of the dental arch.
[0017] Furthermore, subsequently, thanks to this process, it is easier to compare the tooth(s) of the mesh to a reference tooth in two dimensions. Indeed, the or each tooth of the mesh is identified starting from a tooth area which corresponds to only one tooth and at least largely to the outer surface of said tooth. It is therefore easier to identify the contours and compare them to those of the reference tooth.
[0018] Advantageously, to carry out the step of classifying the triangle into concave or convex category, the automated means implement the following sub-steps: for at least one of the triangles of the mesh, determination of angle values between the triangle and each neighboring triangle of each neighboring triangle of the triangle, and depending on the determined angle values, classification of the triangle into concave category or convex category.
[0019] Thus, it is based on the "second neighbors" of the triangle in question that the means classify the latter, the "second neighbors" being the neighbors of the neighbors of the triangle. This makes it possible to take into account a wider area than that of the immediate neighbors.
[0020] Preferably, the automated means determine the angle values using the normal of the triangle and the normals of each neighboring triangle of each neighboring triangle to the triangle.
[0021] Thus, these normals are already known to the digital model, so that the angles are quickly determined.
[0022] Advantageously, for at least one triangle in the concave category, the automated means implement the following steps: determining the number of triangles neighboring the triangle that are in the concave category, and if the number is less than a predetermined value, removing the triangle from the concave category.
[0023] Thus, this additional pass makes it possible to reduce the noise which is generally present in concave areas, that is to say to remove the triangles which have been classified in the concave category while they are rather isolated and do not belong to a concave area of the mesh.
[0024] Preferably, to carry out the step of identifying the tooth area, the automated means implement the following sub-steps: determination, within the mesh, of a starting triangle outside the concave or convex category, selection of triangles neighboring the starting triangle, outside the concave or convex category and whose respective normals have values included in a predetermined interval, and considering each of the selected triangles as a starting triangle, repetition of the previous step for each starting triangle, until there are no triangles outside the category to be selected, so as to identify the tooth zone comprising the selected triangles.
[0025] Thus, a "region growing" algorithm is carried out to determine an area comprising triangles located on a single tooth and neighboring each other. In this way, triangles belonging to different teeth are distinguished. Having extracted the "concave" or "convex" triangles makes it possible to construct areas that will stop at the intersections between the teeth (concave areas) or at the intersections with other elements (convex areas for the vertices, concave areas for the gums) and therefore to avoid an area extending over several distinct teeth.
[0026] Advantageously, the automated means determine, within the mesh, several distinct starting triangles outside the concave or convex category, so as to identify several distinct tooth zones.
[0027] Thus, several tooth zones are constructed within the mesh.
[0028] Preferably, the automated means implement the following steps: for the or at least one of the tooth zones, determining a number of neighboring triangles located in a tooth zone neighboring the tooth zone, if the number of neighboring triangles is greater than a predetermined value, merging the tooth zone with the neighboring tooth zone so that the two zones form only one tooth zone.
[0029] Thus, whereas at the end of the previous step, several zones could correspond to a tooth, here we merge the neighboring tooth zones so that for a single tooth there corresponds a single tooth zone.
[0030] Advantageously, the automated means implement the following steps: for the or at least one of the tooth zones, determining the number of triangles in the zone and an average curvature value of the zone, if the number of triangles is greater than a predetermined maximum value, less than a predetermined minimum value, and / or if the average curvature value is less than a predetermined threshold, marking the tooth zone so as to no longer identify the triangles in the tooth zone as part of a tooth zone.
[0031] Thus, while at the end of the previous step, there could remain tooth areas corresponding to other elements of the mesh, we eliminate these possible areas here so that each remaining area corresponds to a tooth. The eliminated elements are either too flat, such as possible digitized dental bases, or too large like the gums or too small to correspond to teeth. We thus avoid keeping elements which, once projected in two dimensions, would have the shape of a tooth while they do not correspond, in three dimensions, to a tooth. This is important in order to later search for a tooth, whose surface is known in two dimensions, within the three-dimensional mesh.
[0032] Preferably, prior to the initial steps, the automated means implement the following steps: for at least one of the triangles in the mesh, determining the orientation of the triangle normal, and if the normal is facing the inside of the mesh, marking the triangle so as not to identify it as part of a tooth zone.
[0033] This step aims to mark the triangles of the mesh that would correspond to the internal areas of the dental arch, such as the interior surface of the teeth. It can be carried out before all the other steps. We are only interested in the exterior surface of the teeth since it is on the exterior surface of one of these teeth that we also measure shade and / or translucency values, and it is these exterior surfaces of the teeth that we wish to compare to the reference tooth where these values are known to find the corresponding tooth within the mesh.
[0034] Advantageously, after the initial steps, the automated means implement the following steps: for the or at least one of the tooth areas, determination of a base triangle of the tooth area, from the base triangle, determination of contours of a tooth comprising the base triangle.
[0035] Thus, for a tooth zone, we start from a triangle of the zone and we carry out a "region growing" algorithm to obtain the precise contours of the tooth. The tooth zones can indeed present contours that are not sufficiently precise if we wish to compare them to the precise contours of a reference tooth represented in two dimensions.
[0036] Preferably, the base triangle being a central triangle located in the center of the tooth area, the automated means implement the following steps for its determination: determining the coordinates, within the mesh, of the center of the tooth zone, by means of the coordinates of the center of each triangle of the tooth zone, and determining the central triangle of the tooth zone by comparing the coordinates of each triangle of the tooth zone with the determined coordinates of the center of the zone and identifying as the central triangle the one closest to the center of the tooth zone.
[0037] Thus, the central triangle of each zone is identified as the base triangle of each zone. This is the most suitable base triangle for obtaining the contours of the tooth, because we know from the construction of the tooth zone that it is at the heart of the tooth and therefore that the "region growing" algorithm will be optimal.
[0038] Advantageously, to determine the contours of the tooth, the automated means implement the following steps: for each tooth area, identifying each base triangle of the tooth area as part of a tooth surface corresponding to the tooth area for each tooth area, determining angle values between each triangle of the area and the neighbors of the triangle, determining an average angle value for each triangle of the area based on the determined angle values, if the average angle value is less than a predetermined value, identifying the triangle as part of the tooth surface corresponding to the tooth area, for each triangle neighboring the base triangle, if the neighboring triangle belongs to the tooth area of the base triangle, identifying the neighboring triangle as part of the tooth surface corresponding to the tooth area, considering each selected neighboring triangle as a base triangle, repeating the previous step for each base triangle,until the absence of a triangle in the area to be identified as part of the surface, for each tooth surface, dilation of the surface by adding to the surface triangles which are neighbors of the triangles of the surface and which belong to the same tooth area as the triangles of the surface, for each tooth surface, erosion of the surface by removing from the surface triangles of which a neighbor belonging to the same tooth area is not identified as part of the surface, determination of the contours of the surface of the tooth by means of the calculation of one or more Bézier curves.
[0039] This is the "region growing" algorithm used to obtain the precise contours of the tooth. It uses the previously identified tooth areas but refines the obtaining of the triangles located at the borders of the tooth, by means of the different steps stated, in order to obtain the precise contours of the tooth.
[0040] Advantageously, if the number of triangles on the surface is less than the number of triangles on the tooth area, or if the number of triangles added after expansion is less than a predetermined number, further expansion of the surface.
[0041] The number of expansions thus depends on the efficiency of each new expansion pass and the size of the tooth surface formed after each pass. This number is therefore optimized to determine the most external contours possible while respecting the shapes of the tooth.
[0042] Preferably, to determine a correspondence between a reference tooth of a two-dimensional representation and a tooth of the digital tooth model comprising the three-dimensional triangular mesh, the automated means implement the following steps: segmenting the triangular mesh according to one of the preceding methods so as to identify contours of at least one tooth of the mesh, obtaining a two-dimensional representation of a surface of the reference tooth, obtaining a two-dimensional representation of a surface, delimited by the contours, of the tooth of the mesh, determining a first value of ratio between a height and a width of the surface of the reference tooth and a second value of ratio between a height and a width of the surface of the tooth of the mesh, if a difference value between the first value and the second value is greater than a predetermined value, identifying the tooth of the mesh as not corresponding to the reference tooth, Otherwise : transformation, according to the Levenberg-Marquardt algorithm, of the two-dimensional representation of the reference tooth, so as to compare by overlap the surfaces of the reference tooth and the mesh tooth, determination of an overlap value between the surface of the reference tooth and the surface of the mesh tooth, if the overlap value is within a predetermined interval, identification of the mesh tooth as corresponding to the reference tooth.
[0043] Thus, after obtaining the surface of the mesh tooth, for each tooth of the mesh, we compare the surface of the mesh tooth, in two dimensions, to the surface of the reference tooth and determine whether they correspond or not.
[0044] Advantageously, instead of identifying the corresponding tooth directly by means of the recovery value, the automated means implement the following steps: cutting the surface of the reference tooth so as to distinguish several parts of the surface, corresponding cutting of the surface of the mesh tooth, determining values in relation to each part of the determined surfaces, determining a comparison value between the values determined for each part of the surface of the reference tooth and the respective values for each corresponding part of the surface of the mesh tooth, determining an identification value between the surface of the reference tooth and the surface of the mesh tooth according to the comparison value and the overlap value, if the identification value is within a predetermined interval, identifying the mesh tooth as corresponding to the reference tooth.
[0045] In this way, the shape peculiarities of each tooth are taken into account by means of the values obtained in relation to the parts of each tooth, so that the identification of the corresponding tooth is more precise.
[0046] Preferably, after having determined overlap values or identification values for several teeth of the mesh with respect to the reference tooth, the automated means identify as corresponding to the reference tooth the tooth of the mesh whose overlap or identification value is the most adequate.
[0047] Thus, a comparison is made between the reference tooth and each tooth of the mesh, and the tooth of the mesh which best corresponds to the reference tooth is chosen as the corresponding one.
[0048] Alternatively, one can plan to choose no tooth from the mesh as corresponding if none of the teeth verifies the membership of one or more values in the mentioned intervals.
[0049] Advantageously, once the corresponding mesh tooth has been identified, the automated means identify for parts of the corresponding mesh tooth, within the mesh, one or more shade values associated with parts of the reference tooth, the parts of the reference tooth and the parts of the corresponding mesh tooth being corresponding to each other.
[0050] This way, the corresponding tooth and its shade and / or translucency values are directly visualized within the mesh, in three dimensions.
[0051] The invention also provides a computer program, comprising code instructions capable of controlling the implementation of the steps of a method as described above.
[0052] The invention also provides a method for making the above program available for downloading over a communications network.
[0053] Finally, according to the invention, a computer-readable medium is provided, on which the preceding computer program is recorded. Brief description of the figures
[0054] The invention will be better understood on reading the following description, given solely by way of example and with reference to the appended drawings in which: [ fig.1 ] there figure 1 is a diagram illustrating the general method according to one embodiment of the invention, [ fig.2 ] there figure 2 is a diagram illustrating the two main phases according to the method of implementing the invention of the figure 1 , [ fig.3 ] there figure 3 is a diagram illustrating a first phase of the implementation mode, [ fig.4 ] there figure 4is a representation of a digital model used in implementing the invention, [ fig.5 ] there Figure 5 is an illustration of a step according to the method of implementing the invention, [ fig.6 ] there figure 6 is an image resulting from this step, [ fig.7 ] there figure 7 is a diagram illustrating sub-steps according to the implementation mode, [ fig.8 ] there figure 8 is a result image of one of the sub-steps, [ fig.9 ] there figure 9 is a result image of the same substep, [ fig.10 ] there figure 10 is a diagram illustrating other sub-steps depending on the implementation mode, [ fig.11 ] there figure 11 is a result image of one of the sub-steps, [ fig.12 ] there figure 12 is a result image of another of the sub-steps, [ fig.13 ] there figure 13 is an illustration of another of the sub-steps, [ fig.14 ] there figure 14 is an image resulting from the previous sub-steps, [ fig.15 ] there figure 15 is an image resulting from the following substep, [ fig.16 ] there figure 16 is an image resulting from the following substep, [ fig.17 ] there figure 17 is a diagram illustrating other sub-steps depending on the implementation mode, [ fig.18 ] there figure 18 is an image resulting from one of the sub-steps, [ fig.19 ] there figure 19 is an image resulting from a following substep, [ fig.20 ] there figure 20 is an image resulting from a following sub-step and illustrating the end of the first phase according to the implementation mode, [ fig.21 ] there figure 21 is an illustration of a second phase according to the method of implementing the invention, [ fig.22 ] there figure 22 is an image resulting from a step of this second phase, [ fig.23 ] there figure 23 is an image resulting from a following step, [ fig.24 ] there figure 24 is an image resulting from a subsequent step, and [ fig.25 ] there figure 25 is an image resulting from the end of the second phase. Detailed description I. Summary of the method according to the invention
[0055] As illustrated in the figure 1 , on the one hand a patient 1 undergoes the digitalization of his dental arch via an optical scanner 3, and on the other hand the same patient 1 is subjected to a spectrophotometric analysis of one of his teeth, via a spectrophotometer 5, for example by means of the device called "Rayplicker" put on the market by the applicant which deduces from the measurements of its spectrophotometer 5 the values of shade and translucency of the tooth. In the following, we will speak indifferently of the spectrophotometer 5 or of the device, such as the Rayplicker, which processes the measurements from the spectrophotometer 5.
[0056] The optical scanner 3 makes it possible to obtain a digital model 4 of teeth comprising a three-dimensional triangular mesh 41, that is to say a three-dimensional digital representation of the dental arch of the patient 1, digitized by the optical scanner 3. This representation is in this case coded in a file of type "stl", but it could correspond to any type of 3D file, such as "obj" or "ply". In this model, the surface 41 forming the dental arch is represented by triangles, each of which has a normal oriented in a direction facing the triangle. Each normal is a normalized vector, the length of which is therefore 1. The normal makes it possible to specify the orientation of the triangle, and to delimit what is inside a volume such as the dental arch 41, from what is outside, the normal being oriented from the triangle towards the outside of the dental arch.The coordinates of each vertex of the triangles can be determined, as well as those of any point of a triangle. Thus, the dimensions of the dental arch 41 are known. On the other hand, these triangles sometimes represent parts of teeth, sometimes of gums, or even other elements of the dental arch, and they are not identified as being part of a particular zone of the dental arch 41 rather than another. Similarly, these triangles are not associated with values of shades and translucency of the dental arch.
[0057] The spectrophotometer 5 makes it possible to obtain a two-dimensional representation 8 of a single tooth 2, to which are associated values of shade and translucency of the tooth. These values are associated with the parts of the tooth to which they correspond. For example, part 7 of tooth 2 has a shade value and a translucency value, determined using the spectrophotometer 5. These values may be different from those associated with another part of tooth 2.
[0058] The invention aims in particular to make it possible to find tooth 2, from the spectrophotometer 5, in the mesh 41 where the entire dental arch of patient 1 has been digitized.
[0059] Thus, automated means, such as one or more data processing units 6, for example one or more computers, carry out the method aimed at achieving the aforementioned goal. In the following, the term "means" or "automated means" will be used to refer to any type of automated means such as those previously mentioned, which make it possible to carry out process steps automatically and digitally, by means of computing power provided by any processor, possibly also by means of telecommunications networks. These means include or are combined with database services aimed at recording or obtaining any type of data necessary for carrying out the steps presented, such as calculated values, coordinates or even two- or three-dimensional images.The steps presented below can therefore be written in the form of one or more computer programs, which can be executed automatically at the choice of a user of the invention.
[0060] By user of the invention, we are thinking in particular of a dentist or another specialist in the dental field such as a dental technician. To interact with the invention, the user may have an interface where he triggers the execution of all the steps presented or only certain steps as he wishes. He can also view the results of the invention on this interface and interact with the files or images presented to him.
[0061] As illustrated in the figure 2, a first phase 100 aims to segment the mesh 41 so as to identify and distinguish the teeth within the mesh. This involves identifying all the triangles belonging to the same tooth, and this potentially for each tooth in the mesh. In a second phase 200, the automated means 6 determine which tooth in the mesh 41 corresponds to the tooth 2 from the spectrophotometer 5. Finally, the means 6 apply the hue and translucency values of the tooth 2 to the corresponding tooth 2 within the mesh 41. In this way, it is possible to visualize the tooth 2 and its colors within the mesh 41, in three dimensions.
[0062] Thus, as a result of the second phase 200, the user can view on a screen, within the mesh of teeth 41, the tooth corresponding to tooth 2 from the spectrophotometer 5, with the shades and translucency directly applied within the mesh 41 on the corresponding tooth.
[0063] We will now return to each of these steps. II. Segmentation within the triangular mesh II.a: Identification of tooth zones and their central triangles
[0064] The process corresponding to phase 100 is illustrated in figure 3 and with reference to the figures 4 to 20 . This involves identifying the teeth within the triangular mesh 41.
[0065] The digital model 4, comprising the triangular mesh 41 as illustrated in the figure 4 , has an origin O as well as three axes X, Y and Z. The triangles forming the surface of the digitized dental arch 41 each have a normal in the form of a vector. All the triangles have vertices whose coordinates on each of the axes, with respect to the origin O, can be determined automatically.
[0066] The first step 11 provides for eliminating the triangles oriented towards the inside of the mesh 41, so as to retain only the triangles reproducing the surface of the exposed dental arch, since it is there, on the surface of the teeth exposed towards the outside, that the values of shade and translucency were obtained. For this purpose, all the triangles of the dental arch 41 are traversed. For each triangle, the automated means 6 determine a vector going from the center of the triangle to the end of the normal to the triangle. Two distances are then calculated, with reference to the Figure 5: the distance 111 between the vector and the origin O of model 4 and that 112 between the center of the triangle, whose coordinates are calculated using the coordinates of the vertices of the triangles, and the origin O. If the first distance 111 is greater than the second 112, this means that the normal of the triangle is facing the outside of the model. It is thus "preserved". Otherwise, it is deleted because it is considered to be facing inwards. This means that it will no longer be studied in the following steps. Of course, other ways of proceeding are possible to delete the triangles facing the inside of the model. Instead of "deletion", we can speak of "marking". Indeed, the triangles are in all cases of course still part of the digital model, but it is a question of no longer identifying them as "to be processed" in the following steps. We end up with the illustration of the figure 6where the triangles marked 113 are those considered to be facing inwards.
[0067] In the following steps, only the "preserved" triangles, which represent the surface of the arch facing outwards, are considered. This step therefore makes it possible to eliminate a large part of the triangles which are not of interest for the purposes of the invention and to operate the following steps only on the remaining triangles.
[0068] In step 12, the sub-process of which is illustrated in figure 7, we seek to classify the triangles into the concave category or the convex category. We leave "out of category" those which do not belong to any concave or convex zone. The objective of this step is to determine the boundaries of the teeth within the mesh 41. Indeed, the teeth are separated from each other by strongly concave zones. Similarly, the zones separating a tooth from the gum are concave. Finally, the boundary between the surface of the tooth facing the outside of model 4, and the inside of model 4, in other words the zone located at the top of the teeth, is strongly convex.
[0069] To determine these boundaries, it is appropriate to study the curvature between the triangles. The automated means 6 thus scan each triangle of the mesh preserved in the previous step. For each of these triangles, the means determine the neighboring triangles in sub-step 121, that is to say the triangles which share an edge segment or a vertex in common with the triangle considered. Then the means determine in sub-step 122 the neighboring triangles of the latter, which can be called "second neighbors". figure 7thus illustrates a triangle 71, a neighboring triangle 72 and a second neighbor 73 which is therefore a triangle neighboring the neighboring triangle 72, itself neighboring the triangle 71. The means then determine in sub-step 123 the angles between the triangle and each of the second neighbors. In other words, the means calculate the angles between, on the one hand, the triangle, and on the other hand, the triangles neighboring the triangles neighboring the triangle. To do this, the means use the normals of each triangle. By calculating the angle between the normal of a triangle and that of its second neighbor, we obtain the angle of curvature between the two triangles. In addition, by calculating the scalar product between the normals, we determine whether the angle is convex or concave. If the scalar product is negative, the means automatically adds 180° to it and it cannot be considered concave.
[0070] If the angle between the traversed triangle and one of its second neighbors is located in a range from 30 to 150°, we consider that the traversed triangle is potentially located in a concave or convex zone, since this zone of triangles is clearly curved. The choice between concave and convex depends on the orientation of the normals of the triangles relative to each other and is therefore determined by the scalar product between the two normals. Thus, if the scalar product was negative and we had to increment the angle by 180°, this angle will be considered "convex". Otherwise, if the angle was positive originally, it will be considered "concave". Thus, a counter associated with the triangle traveled is incremented by one unit, either to add the unit to the “convex angle” category or to the “concave angle” category as soon as an angle between the triangle traveled and one of its second neighbors is located, possibly after incrementing by 180°, in the predetermined interval.This amounts to calculating, for each triangle traveled, the number of second neighbors strongly inclined with respect to the triangle traveled, either convexly or concavely.
[0071] In sub-step 124, for the traversed triangle, once all the angles with the second neighbors have been calculated, the means determine whether the traversed triangle 71 must be left out of category, classified in the “concave” category or classified in the “convex” category. To do this, the means use the concave and convex angle counters. These counters are specific to a single traversed triangle. If one of these counters has a value greater than the number of neighbors of the triangle divided by four, then the triangle is considered to be located in a “concave” or “convex” zone respectively, and it is therefore classified in this category by the means. All the triangles of the mesh are thus, once these steps are completed, considered to be “concave”, “convex”, or “out of category”. When they are neighbors, they form zones of several concave or convex triangles.
[0072] At step 125, we seek to remove noise in the concave areas of the mesh. Indeed, some triangles risk being classified in the concave category even though they are isolated, or only form a small region. However, the objective is to determine significant areas of several concave triangles that form the intersections between teeth and the intersections between the teeth and the gum. These are necessarily large groupings of triangles. The means thus carry out an additional check for each triangle traversed that would have been classified in the “concave” category. They thus verify, for each “concave” triangle, that each of its neighboring triangles is also classified in the concave category. When this is not the case, the triangles considered are placed “out of category”.This involves performing an erosion step by downgrading triangles previously placed in the concave category that have a neighboring triangle not classified in the concave category. A second check is then performed on each triangle remaining in the "concave" category. In this second check, only triangles that do not have any neighboring "concave" triangles are downgraded. This amounts to downgrading isolated triangles.
[0073] We then arrive at the figures 8 And 9 . There figure 8 illustrates the triangles marked 81 classified in the concave category. The figure 9 illustrates the triangles marked 82 located in the convex category. We note that they correspond well to the border zones of the teeth. The other triangles preserved in the mesh but neither convex nor concave are “out of category”.
[0074] Now that we have removed the triangles that are not important for the rest of the work and have identified areas of concave triangles and triangles located in convex portions, which form the boundaries of the teeth, the objective is to identify the areas of teeth, in step 13, located within the limits of these boundaries. With reference to the sub-steps of step 13 illustrated in figure 10 , the means 6 will first determine starting triangles, then, from these starting triangles, identify areas of triangles neighboring each other, forming tooth areas. We will now describe these steps in detail with reference to the figures 10 to 16 .
[0075] First, in step 131, starting triangles are chosen on the surface of the triangular mesh. To do this, the automated means 6 use a first plane A with a fixed Y coordinate, and a second plane B with a fixed X coordinate. If the X axis defined by the intersection of these planes intersects a triangle of the mesh, as illustrated in the figure 11, then the latter is considered as a starting triangle and recorded as such. Then the Y ordinate is modified according to a predetermined step, and the new cut starting triangle(s) are recorded. The same principle is applied for the X abscissa, so that in the end, starting triangles distributed over the entire dental arch are determined at regular intervals on the mesh. However, automated means only keep as starting triangles those which are "out of category", so that these starting triangles are not part of the border zone between the teeth, but are necessarily located within teeth. This results in the image of the figure 12, where the triangles marked 91 are the determined "starting" triangles. Each of these starting triangles is indexed as part of a tooth zone of its own. Thus, at the end of this step 131, there are as many tooth zones as starting triangles, each tooth zone being formed only from its starting triangle.
[0076] In step 132, the means consider each starting triangle 91. Each neighbor of a starting triangle is considered to be part of the same “tooth zone” as the starting triangle if it is neither concave nor convex, and if the projection on the Z axis of its normal does not exceed a predetermined value of 0.75. Indeed, such values would mean that the triangle is located at the apex of a tooth, in "bite zone", which are flat areas but do not correspond to the surface of the tooth. On the figure 13are thus illustrated different normals, one of which referenced S is located on the vertex. For the latter, the corresponding triangle, although close to a starting triangle and neither convex nor concave, would not be selected as part of the tooth zone of the starting triangle.
[0077] Step 133 consists of considering, in each tooth zone, the selected triangles as, in turn, starting triangles. Step 132 is then repeated for each of these new starting triangles, so as to extend each zone to the neighboring triangles that are neither concave nor convex, nor located in the bite zone, nor assigned to another zone. This step 133 ends when there are no more triangles to add. Thus, each zone has extended, as illustrated in figure 14, so that each tooth has one or more sets of tooth zones adjacent to each other. Each tooth zone has its own index. Thus, all triangles in the same zone have the same index. Thanks to the elimination of concave, convex triangles and bite zones, and by the fact that each triangle is assigned to only one zone, each tooth zone extends over only one tooth and not several.
[0078] Step 134 then consists of merging, within each tooth, the zones included in the tooth so that a tooth corresponds to a single zone.
[0079] For this purpose, the means 6 identify the boundaries of the zones two by two, consisting of triangles of the same zone neighboring triangles of a single other zone.
[0080] Once all the boundaries have been determined, if the number of triangles in the boundary exceeds a predetermined threshold, then the two areas are merged to form a single area. The threshold is in this case the result of the following calculation: (number of triangles in the digital model / 50,000) + 1. It is therefore determined by the means 6 based on the number of triangles in the model. This threshold has been set empirically and could be different. Generally speaking, it depends on the resolution of the mesh - therefore on the type of intraoral scanner that digitized the patient's dental arch - and the means 6 can adapt it automatically depending on the scanner used. Merging the two areas means that the means 6 assigns the same index to the triangles in both areas. Since this assignment is done on all the boundaries at the same time, more than two areas can be merged simultaneously.Thus, if an area A has a large number of triangles neighboring an area B, which has a large number of triangles neighboring a C, then areas A, B and C would at the same time be merged into a single area, all of whose triangles would take the same index.
[0081] This step 134 allows you to arrive at the image of the figure 15 , where each tooth has a single tooth zone, that is, for a given tooth, all the triangles of the tooth have the same index, which is different from that of the triangles forming another tooth.
[0082] However, at the end of step 134, the mesh presents, in addition to the tooth areas actually corresponding to teeth, areas which correspond to other elements, such as the gums. However, in order to compare a tooth in this mesh to a two-dimensional tooth from a spectrophotometer, care must be taken to remove the areas which, projected in two dimensions, would have the shape or even the dimensions of a tooth, but which within the mesh are undoubtedly not teeth.
[0083] This is why step 135 aims to remove these areas in particular. Compared to tooth areas, they are distinguished by the fact that the number of triangles in these areas is very large, on the contrary too small, or that these areas are singularly flat. Apart from the gums, it also happens that the digitization of the dental arch is carried out using a base. In this case, this step makes it possible to remove the area(s) corresponding to the base.
[0084] Thus, the means 6 determine the average curvature of each zone. To this end, the means determine, using the normals of the triangles, the curvature between each triangle and its neighboring triangles, by incrementing by 180° the angles having a negative scalar product. The means thus deduce the average curvature within the zone. If this average curvature is greater than 170°, that is to say close to 180°, then this zone is too flat to correspond to a tooth and it is therefore deleted. Once again, by "deletion" is meant "marking" so as to no longer consider and process these triangles subsequently. This means that the triangles of the zone no longer have an index, or in any case no index corresponding to a tooth zone. In other words, they can no longer be identified as part of a tooth. The means 6 also determine the number of triangles in each zone.If this number is lower than a first threshold, or higher than a second threshold, then the zones are deleted in the same way, because they are too small or too large to correspond to teeth. The first threshold is in this case set at 100 triangles. Below this value, which could be different, it is considered that the zone cannot correspond to a tooth because it is too small. The second threshold corresponds to the result of the following calculation: (number of triangles in the model / number of zones in the model). This threshold, calculated by means 6, therefore depends on the resolution of the model. It is deliberately high in order to avoid the erroneous deletion of zones corresponding to teeth.
[0085] At the end of step 13, the triangular mesh is therefore segmented. We end up with the image of the figure 16. A tooth area corresponding to a tooth, and no other area is presented. Thus, starting from the mesh 41 received, the method leading to step 13 made it possible, automatically, to achieve the segmentation of the model to identify the triangles belonging to each of the teeth of the mesh 41. No information other than the mesh was provided to the means 6. In particular, it was not necessary to manually identify one or more triangles. The user of the method therefore did not have to act for the segmentation to be carried out automatically.
[0086] However, although this process results in segmentation of the teeth, the contours of the teeth, or some of them, may remain imprecise. Indeed, by eliminating the triangles located in the convex zone, in the concave zone, and by eliminating the triangles oriented towards the inside and the triangles located in the bite zone, it was possible to eliminate triangles which in reality should be part of the tooth. The boundaries of the teeth may therefore be slightly different from the shape and dimensions of the actual boundaries. However, in order to compare tooth 2 in two dimensions, from the spectrophotometer 5, to the mesh 41 in order to find it there, it is necessary that the contours of the teeth of the mesh 41 are precise, in order not to identify a bad tooth of the mesh as corresponding to tooth 2 or to fail to identify a corresponding tooth. II.b identification of the contours of each tooth
[0087] This is why the process of phase 14, as illustrated in figure 17, follows on from step 14 and aims to determine the precise contours of the teeth.
[0088] For this purpose, step 141 aims to determine the center of the tooth zones segmented in step 13. For this purpose, the means 6 determine, for each zone, the coordinates of the center of each triangle of the zone, by means of the coordinates of the vertices of the triangle within the digital model. Then they determine the coordinates of the center of the zone by means of the calculated coordinates of the centers of each triangle.
[0089] The coordinates of the center of the zone being known, the means 6 determine which triangle of the zone is closest to this center. To do this, they compare the distances between the centers of each triangle and the center of the zone, and assign to the triangle whose center is closest, the role of central triangle of the zone. This being done for each zone, we arrive at the image of the figure 18where each tooth of the mesh has a central triangle, for example referenced C for one of the teeth, identified.
[0090] At step 142, for each zone, the means 6 work in the following way: they determine, for each triangle of the zone, what is the average angle between this triangle and its neighboring triangles, by calculating all the angle values between this triangle and its neighbors. If the value of the average angle is less than -0.05 radians, then the triangle is considered to be part of the surface of the tooth. This threshold has been determined so as to select triangles belonging to a flat tooth, such as a molar or an incisor, but also those belonging to a curved tooth, such as a canine. This threshold could be modified to make it dependent on the resolution of the digital model.
[0091] Then, in step 143, the means 6 start a “Region-Growing” algorithm which aims to start from the center of each zone, identified in step 141, and to identify all the triangles forming a surface of the tooth, up to the ends of the tooth. They thus identify all the neighboring triangles of the central triangle and of the same zone as also forming part of the surface, even those which were not identified as such in the previous step 142. Then, for each of these triangles identified as forming part of the surface, the means identify their neighboring triangles and of the same zone as forming part of the surface of the tooth. In this way, the surface of the tooth firstly includes all the triangles of the tooth whose average curvature value is less than -2.864 degrees, but also all the triangles which are linked by a path of neighboring triangles to the central triangle, and which are part of the same tooth zone.This continuous addition of neighboring triangles ends when there are no more triangles to add because they are part of another zone or no zone. At the end of this step 142, the tooth surface, including all the triangles identified as being part of it, corresponds approximately to the tooth. In particular, the surface does not normally include a hole, that is to say a triangle not identified as being part of it but surrounded by triangles that are part of it. Only its contours can be redefined, and this is the subject of the following steps.
[0092] Thus, in step 144, a dilation step is carried out. This involves the means of adding, for any triangle of the surface, its neighboring triangles, even if they had not been selected in step 142. Thus, the surface extends even more.
[0093] This expansion step can be repeated a number of times. If the number of triangles on the surface is less than the number of triangles in the tooth area, and if the previous expansion step added at least twenty triangles to the surface, then a new expansion step is performed, and so on as long as the conditions for further expansion are met. Of course, the triangles added to the tooth surface must be part of the same tooth area.
[0094] At step 145, an erosion step is carried out by the means 6. This involves removing triangles whose neighbors are not all part of the same surface. In other words, if a triangle has a neighboring triangle that is not part of its surface, it is deselected, or deidentified. It is no longer part of the surface.
[0095] At the end of step 145, all teeth each have a surface made of triangles, and, for a given tooth, the boundaries of the surface correspond more to that of the tooth than the boundaries of the tooth zone. This results in the image of the figure 19 . Thus, the contours of each of these surfaces can be determined.
[0096] Optionally, an additional step 145 bis aims to deselect certain triangles of the surface which would be oriented too differently from the rest of the tooth. Thus, the means 6 determine the average normal of the surface by means of the normals of each triangle of the surface. Then, for each triangle of the surface, the angle between the average normal and the normal of the triangle is calculated. If its value is greater than 50° or less than -50°, the triangle is deselecting: it is no longer part of the surface. This optional step aims to adjust the shape that the tooth will have once it is projected in two dimensions and compared to the 2D contour of the tooth 2 from the spectrophotometer 5. It is optional because it aims to adapt the tooth of the mesh 4 to that from the spectrophotometer 5. Indeed, the image from the Rayplicker, taken using a wide angle, can be deformed relative to the image of a tooth from the mesh.However, this deformation depends on the shade-taking device - here the Rayplicker - and that is why it is optional. Thus, it is not necessary for all comparisons, for example for reference teeth whose images would come from another device that would not deform them. Moreover, instead, a similar step could rather be applied to the 2D contour of the reference tooth 2 in order to deform the contour of tooth 2, if it comes from a spectrophotometer that slightly deforms the shape of the teeth such as the spectrophotometer 5 of the "Rayplicker".
[0097] In step 146, the principle of Bézier curves is applied to each tooth surface, so as to construct a curve precisely identifying the contours of each surface.
[0098] To this end, for each tooth surface, the means 6 determine the triangles forming the contour of the surface, by selecting the triangles which have an unidentified neighboring triangle as part of the surface. The means 6 determine the number of "control points" as defined in the Bézier curve algorithm, depending on the number of triangles forming the contour of the surface. Alternatively, this number of control points could depend on the number of triangles forming the entire surface. Finally, by traversing each of the triangles of this contour, a control point is determined at regular triangle intervals. From these control points, the Bézier curves can be determined. It represents the contour of the tooth surface, as illustrated in figure 20 .
[0099] At the end of step 14, the segmentation process is complete. Thus, starting from the mesh 41, the means 6 have automatically determined the contours of each tooth of the mesh and this in a precise manner and without other information provided by the user. Phase 100, encompassing steps 11 to 14 and consisting of obtaining the contours of the teeth, is therefore complete. From now on, the contours of the teeth can be useful for different purposes. In the following, the method 200 will use these contours to find, within the mesh 41, which tooth corresponds to the tooth 2 in two dimensions from the spectrophotometer 5. This is thus to be able to associate the shades and translucencies of this tooth 2, with the corresponding tooth of the mesh 41 within the model 4. III. Correspondence between 2D tooth and 3D mesh
[0100] We will now describe the process 200 illustrated in figure 21This involves comparing the representation of tooth 2, from spectrophotometer 5, to the segmented mesh 41 in order to find the corresponding tooth.
[0101] In step 201 of the method 200, the means 6 obtain two-dimensional representations of the contours of each segmented tooth. The contours are those determined at the end of the method 100, but this method 200 also applies to tooth contours determined in another way. Thus, each tooth contour is projected onto a surface substantially parallel to the tooth. Thus, for any tooth 421 of the mesh illustrated in figure 22in three dimensions, we obtain a corresponding 422 image representing the contour in two dimensions. The surface is filled with white pixels, the outside of the surface is filled with black pixels. The 422 image is therefore binary. The means thus determine the surface of each tooth of the mesh in two dimensions. The means also determine an image of the surface of tooth 2, which is already represented in two dimensions. The following consists of comparing this image of the surface of tooth 2 with each of the images of the surfaces of the mesh in two dimensions. In the following, we will refer to the tooth whose measurements were taken by spectrophotometry, as being the "reference tooth". We search among the teeth of the mesh for the "tooth corresponding" to the reference tooth.
[0102] The following steps are performed for each surface - both the mesh tooth surface and the reference tooth surface. Each pixel of a surface has an abscissa on a horizontal X axis and an ordinate on a vertical Y axis.
[0103] In step 202, an attempt is first made to determine an axis, by an affine function of the form a*x+b, separating the surface in two vertically, so as to divide the surface into two equal parts. To do this, the means 6 first determine the central ymid coordinate of the surface, by means of the ymin coordinate of the lowest surface pixel and the ymax coordinate of the highest surface pixel. Then the means determine two points: the first point presents the average X and Y coordinates of all the surface pixels located in the interval [ymin + (ymid-ymin) / 4; ymid - (ymid-ymin) / 4]. The second point presents the average X and Y coordinates of all the surface pixels located in the interval [ymid + (ymax-ymid) / 4; ymax - (ymax-ymid) / 4]. Finally, means 6 determine the axis intersecting these two points by means of the corresponding affine function of type a*x+b.The surface of the tooth is then divided into two parts, one to the left, the other to the right of the determined axis.
[0104] In step 203, the means 6 determine 19 substantially horizontal axes so as to divide the surface of the tooth into 20 concomitant parts from top to bottom, the axes being at equal distance from each other. To do this, the means reproduce calculations similar to those of step 202, but this time, instead of separating into two parts along a vertical axis, they aim to separate the surface into 20 parts along a horizontal axis. The 20 parts are divided in the following way: from the axis determined in step 202, 19 points are determined. At each of these points, an affine function orthogonal to the function determined in step 202 is determined. We can thus speak of "dividing" the image. We then arrive at the image of the figure 23 where a surface is cut into two parts into 40 parts.
[0105] At step 204, the means 6 will determine 40 values, associated with precise points of the surface allowing it to be compared to other surfaces.
[0106] Thus, for each of the 40 horizontal axes, (20 horizontal axes each separated by the vertical axis) the means determine the length of the axis, that is to say the distance, in number of pixels, between the point of the surface located on the horizontal axis and the furthest from the vertical axis, and on the other hand this horizontal axis. The distance is recorded and associated with the horizontal axis.
[0107] In step 205, the means perform comparisons between each tooth surface from the mesh and the surface of the reference tooth. The distances calculated in step 204 are compared two by two for the corresponding axes. Thus, for each comparison between the surface of the reference tooth and the surface of a tooth in the mesh, the means determine the average difference between each distance calculated in step 204 for the surface of the reference tooth on the one hand and the corresponding distance from the surface of the tooth to be compared on the other hand. The smaller the average difference, the more likely it is that the tooth in the mesh being compared corresponds to the reference tooth. This average distance is recorded and will be used subsequently to determine the corresponding tooth.
[0108] In step 206, the means 6 determine, for each surface, a height / width ratio, that is to say the ratio between the height of the tooth - the maximum distance along the Y axis between two points on the surface of the tooth - and the width of the tooth - the maximum distance along the X axis between two points on the surface. Each ratio of the teeth in the mesh is compared to the ratio of the surface of the reference tooth. If the difference between the ratio of the reference tooth and that of a tooth in the mesh is less than 0.4, then the tooth to be compared is selected for the next step. Otherwise, no.
[0109] In step 207, the surface of the reference tooth is transformed using the Levenberg-Marquardt algorithm. This involves modifying its position in its two-dimensional representation, but also possibly rotating it or modifying its size in order to then be able to superimpose it on the surfaces of the teeth in the mesh and calculate a relevant overlap coefficient.
[0110] An alternative to using the Levenberg-Marquardt algorithm is to rotate the reference tooth contour so that the orientation of the two contours—the reference tooth and the mesh tooth—is identical. To do this, a rotation angle value is calculated from the vertical axis determined in step 203. A corresponding rotation is then performed on the reference tooth contour from this angle. This method appears to provide better results than the Levenberg-Marquardt algorithm while making this step 207 faster.
[0111] In step 208, the means 6 determine, for each surface selected in step 206, its overlap coefficient with respect to the surface of the reference tooth transformed in step 207. This overlap coefficient is determined by placing the surface of the reference tooth under the surface of the tooth to be compared. This results in the image of the figure 24 . The number of pixels belonging to both surfaces is thus determined and compared to the total number of pixels of both surfaces. One way to calculate this overlap coefficient is to determine the number of pixels, in the overlap image 24, belonging both to the surface contour and to the reference tooth contour.
[0112] In step 209, the means calculate the final difference between the surface of the reference tooth and each surface selected in step 206. This calculation takes into account the average distance, in pixels, calculated in step 205 and the overlap coefficient of step 208. The formula is as follows: (2 * average distance + overlap coefficient) / 3. For the lowest value, the tooth which served as comparison is considered to correspond to the reference tooth.
[0113] The means 6 have thus automatically determined the corresponding tooth of the mesh 41 to the reference tooth 2 whose representation comes from the spectrophotometer 5.
[0114] In the final step 210, the means 6 apply the shade and translucency values calculated by the spectrophotometer 5 on the tooth 2, to the corresponding tooth within the mesh. This can be visualized on the triangular mesh of the dental arch, where on the corresponding tooth is placed a texture corresponding to the reference tooth, so as to directly visualize the shade and translucency values in the 3D file, on the corresponding tooth. To do this, the texture, the values of which come from the spectrophotometer and which is in two dimensions, is stretched to cover the 3D surface of the triangular mesh.Thus, at the end of the process, the means 6 export a file comprising the “stl” file of the mesh 4, a file comprising the shade and translucency values, and a file comprising all the segmentation information and identifications determined using the method described, making the link between the mesh and the shade and translucency values. It is this file which makes it possible, via software such as the “Rayplicker” software in the name of the applicant, to visualize the dental arch with the shades associated within it. A prosthetist can extract the stl file comprising the mesh in order to machine the prosthesis. The software making it possible to visualize the arch with the shades within it is of course preferably the same as that which allows the execution of the method of the invention. Alternatively, other visualization software can make it possible to visualize the arch and the shades within it.This results in a tooth of the triangular mesh as illustrated in . figure 25 , where portions of tooth correspond to particular shade and / or translucency values and are displayed within the mesh 41, in the digital model 4.
[0115] The invention is not limited to the embodiments presented and other embodiments will become apparent to those skilled in the art.
[0116] Thus, alternatively to step 210 where the tooth of the mesh that best corresponds to the reference tooth is chosen, a functionality can be provided for manually choosing another tooth as a corresponding tooth from among the segmented teeth. The means can also sort the segmented teeth so as to provide an ordered list of teeth corresponding to the reference tooth, so that if the first tooth in the list is not the right one, the next tooth is proposed to the user.
[0117] It is also conceivable to provide for a situation where no matching tooth is determined at step 210. This may be the case if no tooth was selected at step 206, or if the lowest final difference value is not less than a predetermined value. Other ways of discarding any tooth from the mesh as matching are conceivable.
[0118] The spectrophotometer 5, embedded in the applicant's Rayplicker, is a particular measuring means which aims to obtain the shade and translucency values by transmission or reflection according to different wavelengths. It can also be called a spectrocolorimeter. However, within the scope of the invention, any type of member or apparatus making it possible to obtain the shade and / or translucency values of a tooth is acceptable. Indeed, the invention is independent of the way in which the surface of the reference tooth is obtained in two dimensions and to which the shade and / or translucency values are associated. The invention uses this surface to find the tooth of this surface within the mesh and therefore its origin does not matter.
[0119] Similarly, the type of intraoral scanner providing the 4 mesh does not matter.
[0120] Furthermore, rather than a fully digitized arch, the segmentation process could be carried out on a partial dental arch. In any case, if the arch includes a tooth, the process allows it to be identified.
[0121] It is also possible to vary all the threshold or interval values presented, provided that the chosen values achieve the desired technical effect. In addition, the formulas and methods of calculating the values or intervals presented can be modified again in order to achieve the desired technical effect.
[0122] Furthermore, it is possible to stop one of the methods presented at any step. In particular, the tooth areas determined in step 13 may be sufficient for certain manipulations. Similarly, the tooth surfaces determined in step 144 or their contours determined in step 145 may subsequently be compared to teeth in a manner other than that of the method 200. Corollarily, the method 200 may use segmented tooth contours in a manner other than that of the method 100. It is for example conceivable to allow the user to draw or designate the contours of the teeth themselves on an interface. However, the method 100 is particularly suitable for providing tooth contours allowing the comparison of the method 200 to be optimal and the sequence of the two methods may be automatic, without user intervention.
Claims
1. Method (100) for segmenting a digital model (4) of teeth comprising a three-dimensional triangular mesh (41), characterised in that automatic means (6) implement the following steps, which are referred to as initial steps: - classifying (12), within the mesh (41), each triangle into a concave (81) or convex (82) category or neither convex nor concave category, and - identifying (13), within the mesh (41), at least one tooth region comprising triangles such that each triangle of the region has at least one neighbouring triangle in the region, all the triangles of the region belonging to neither the convex nor the concave category.
2. Method (100) according to the preceding claim, wherein, to perform the step of classifying (12) a triangle into the concave or convex category or neither convex nor concave category, the automatic means (6) implement the following sub-steps: - determining angle values (123) between the triangle (71) and each neighbouring triangle (73) of each triangle (72) neighbour to the triangle (71), and - according to the angle values determined, classifying (124), the triangle into a concave or convex category or neither convex nor concave category.
3. Method (100) according to the preceding claim, wherein the automatic means (6) determine the angle values using the normal of the triangle and the normals of each neighbouring triangle (73) of each triangle (72) neighbour to the triangle (71).
4. Method (100) according to claim 2 or 3, wherein, for at least one triangle in the concave category, the automatic means (6) implement the following steps: - determining (125) the number of triangles neighbours to the triangle which are in the concave category, and - if the number is less than a predetermined value, removing the triangle from the concave category.
5. Method (100) according to any one of the preceding claims, wherein, to perform the step (13) of identifying the tooth region, the automatic means (6) implement the following sub-steps: - determining (131), within the mesh, a seed triangle (91) belonging to neither the concave category nor the convex category, - selecting (132, 133) triangles neighbours to the seed triangle (91), belonging to neither the concave category nor the convex category and whose respective normals have values that lie within a predetermined interval, and - considering each of the triangles selected as a seed triangle, repeating the preceding step (132, 133) for each seed triangle, until there are no more uncategorised triangles to be selected, so as to identify the tooth region comprising the selected triangles.
6. Method (100) according to any one of the preceding claims, wherein the automatic means (6) implement the following steps: - for the tooth region or at least one of the tooth regions, determining a number of neighbouring triangles located in a tooth region neighbour to the tooth region, - if the number of neighbouring triangles is greater than a predetermined value, merging (134) the tooth region with the neighbouring tooth region so that the two regions form a single tooth region.
7. Method (100) according to any one of the preceding claims, wherein the automatic means (6) implement the following steps: - for the tooth region or at least one of the tooth regions, determining the number of triangles of the region and an average curvature value of the region, - if the number of triangles is greater than a predetermined maximum value, less than a predetermined minimum value, and / or if the average curvature value is less than a predetermined threshold, marking (135) the tooth region so as to no longer identify the triangles of the tooth region as being part of a tooth region.
8. Method (100, 200) according to any one of the preceding claims, wherein, after the initial steps, the automatic means (6) implement the following steps: - for the tooth region or at least one of the tooth regions, determining (141) a base triangle (C) of the tooth region, - from the base triangle (C), determining (14) contours of a tooth comprising the base triangle (C).
9. Method (100, 200) according to the preceding claim, wherein, since the base triangle (C) is a central triangle located at the centre of the tooth region, the automatic means (6) implement the following steps for its determination: - determining the coordinates, within the mesh (41), of the centre of the tooth region, using the coordinates of the centre of each triangle of the tooth region, and - determining the central triangle of the tooth region by comparing the coordinates of each triangle of the tooth region with the coordinates of the centre of the region that have been determined and by identifying as central triangle the triangle closest to the centre of the tooth region.
10. Method (100, 200) according to claim 8 or 9, wherein, to determine (14) the tooth contours, the automatic means implement the following steps: - for each tooth region, identifying each base triangle (C) of the tooth region as being part of a tooth surface corresponding to the tooth region, - for each tooth region, determining (142) angle values between each triangle of the region and the neighbours of the triangle, - determining (142) an average angle value for each triangle of the region according to the angle values determined, - if the average angle value is less than a predetermined value, identifying the triangle as being part of the tooth surface corresponding to the tooth region, - for each triangle neighbour to the base triangle, if the neighbouring triangle belongs to the tooth region of the base triangle, identifying (143) the neighbouring triangle as being part of the tooth surface corresponding to the tooth region, - considering each neighbouring triangle selected as a base triangle, repeating (143) the preceding step for each base triangle, until there are no more triangles of the region to be identified as being part of the surface, - for each tooth surface, expanding (144) the surface by adding to the surface triangles which are neighbours of the triangles of the surface and which belong to the same tooth region as the triangles of the surface, - for each tooth surface, eroding (145) the surface by removing from the surface triangles which have a neighbour belonging to the same tooth region but not identified as being part of the surface, - determining (146) the contours of the tooth surface by calculating one or more Bézier curves.
11. Method (100, 200) according to any one of claims 8 to 10, wherein, to determine a correspondence between a reference tooth (2) of a two-dimensional representation and a tooth of the tooth digital model (4) comprising the three-dimensional triangular mesh (41), the automatic means (6) implement the following steps: - segmenting (100) the triangular mesh according to any one of claims 10 to 13 so as to identify contours of at least one tooth of the mesh, - obtaining (201) a two-dimensional representation of a surface of the reference tooth, - obtaining (201) a two-dimensional representation of a surface, delimited by the contours, of the tooth of the mesh, - determining (206) a first ratio between a height and a width of the surface of the reference tooth and a second ratio between a height and a width of the surface of the tooth of the mesh, - if the difference between the first ratio and the second ratio is greater than a predetermined value, identifying the tooth of the mesh as not corresponding to the reference tooth (2), otherwise: - transforming (207), according to the Levenberg-Marquardt algorithm, the two-dimensional representation of the reference tooth (2), so as to compare by overlap the surface of the reference tooth and that of the tooth of the mesh, - determining (208) an overlap value between the surface of the reference tooth (2) and that of the tooth of the mesh, - if the overlap value lies within a predetermined interval, identifying (210) the tooth of the mesh as corresponding to the reference tooth.
12. Method (100, 200) according to the preceding claim, wherein, instead of identifying the corresponding tooth directly using the overlap value, the automatic means implement the following steps: - cutting (202, 203) the surface of the reference tooth so as to identify several parts of the surface, - cutting (202, 203) the surface of the tooth of the mesh in a corresponding manner, - determining (204) values in relation with each part of the surfaces determined, - determining (205) a comparison value between the values determined for each part of the surface of the reference tooth and the respective values for each corresponding part of the surface of the tooth of the mesh, - determining (209) an identification value between the surface of the reference tooth and the surface of the tooth of the mesh depending on the comparison value and the overlap value, - if the identification value lies within a predetermined interval, identifying (210) the tooth of the mesh as corresponding to the reference tooth.
13. Method (100, 200) according to claim 11 or 12, wherein, once the corresponding tooth of the mesh has been identified, the automatic means (6) identify at some parts of the corresponding tooth of the mesh, within the mesh (41), one or more shade values associated with parts of the reference tooth (2), the parts of the reference tooth and the parts of the corresponding tooth of the mesh corresponding to each other.
14. Computer program comprising code instructions that can control execution of the steps of a method (100, 200) according to at least one of the preceding claims when it is executed on a computer.
15. Computer-readable medium, on which the computer program according to the preceding claim is stored.