Method for automating dental three-dimensional data position alignment, and computer-readable recording medium having program for executing same on computer recorded thereon

CA3189618CActive Publication Date: 2026-09-29IMAGOWORKS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CA3189618
Authority / Receiving Office
CA · CA
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-08-20
Filing Date
2020-09-11
Publication Date
2026-09-29
Estimated Expiration
2040-09-11
Patent Text Reader

Abstract

An automated method for aligning 3D (three-dimensional) dental data includes extracting landmark points of a CT (computerized tomography) data, extracting landmark points of scan data of a digital impression model, determining an up vector representing a direction of a patient's eyes and nose and identifying left and right of the landmark points of the scan data, extracting a teeth portion of the scan data, searching a source point of the scan data on a spline curve of the CT data to generate a candidate target point group and determining the candidate target point group having a smallest error with the landmark points of the CT data as a final candidate.
Need to check novelty before this filing date? Find Prior Art

Description

[SPECIFICATION] [TITLE OF THE INVENTION] METHOD FOR AUTOMATING DENTAL THREE-DIMENSIONAL DATA POSITION ALIGNMENT, AND COMPUTER-READABLE RECORDING MEDIUM HAVING PROGRAM FOR EXECUTING SAME ON COMPUTER RECORDED THEREON [TECHNICAL FIELD]

[0001] The present inventive concept relates to an automated method for aligning 3D (three-dimensional) dental data and a non-transitory computer-readable storage medium having stored thereon program instructions of the automated method for aligning 3D dental data. More particularly, the present inventive concept relates to an automated method for aligning 3D dental data reducing time and effort for registration of a dental CT (computerized tomography) image and a digital impression model and a non-transitory computer-readable storage medium having stored thereon program instructions of the automated method for aligning 3D dental data. [BACKGROUND]

[0002] In dental clinics, 3D patient medical image data and 3D digital impression model scan data are used for diagnosis, analysis, and prosthesis production. The two data have different information, and when combined into one, it is more effective and various diagnosis, analysis, and production are possible. However, since the two data are 3D data defined in different coordinate systems, a registration process to match the two data is required.

[0003] For registration of the 3D patient medical image data and the 3D digital impression model scan data, landmark points may be set in each of the 3D patient medical image data and the 3D digital impression model scan data.

[0004] Selecting six landmark points from two 3D data which are the dental CT image and the digital impression model may take a lot of time and effort. In addition, even if the landmark points are found using an artificial intelligence technology, the found landmark points may not exactly match each other. In addition, when there is a missing tooth or when data areas of the two data are different from each other, a result of an initial registration may not be good by only the landmark points. [DETAILED EXPLANATION OF THE INVENTION] [TECHNICAL PURPOSE]

[0005] The purpose of the present inventive concept is providing an automated method for aligning 3D dental data capable of reducing time and effort for registration of a dental CT image and a digital impression model.

[0006] Another purpose of the present inventive concept is providing a non-transitory computer-readable storage medium having stored thereon program instructions of the automated method for aligning 3D dental data. [TECHNICAL SOLUTION]

[0007] In an example automated method for aligning 3D dental data according to the present inventive concept, the method includes extracting landmark points of a CT (computerized tomography) data, extracting landmark points of scan data of a digital impression model, determining an up vector representing a direction of a patient's eyes and nose and identifying left and right of the landmark points of the scan data, extracting a teeth portion of the scan data, searching a source point of the scan data on a spline curve of the CT data to generate a candidate target point group and determining the candidate target point group having a smallest error with the landmark points of the CT data as a final candidate.

[0008] In an embodiment, the landmark points of the CT data may include three or more landmark points in a maxilla and three or more landmark points in a mandible. The landmark points of the scan data may include three landmark points.

[0009] In an embodiment, a first landmark point and a third landmark point of the scan data may indicate outermost points of teeth of the scan data in a lateral direction. A second landmark point of the scan data may indicate between two central incisors.

[0010] In an embodiment, when a first landmark point of the scan data is <com:Math><semantics>p11<annotation encoding="application / x-tex">p_{11}< / annotation>< / semantics>< / com:Math>, a second landmark point of the scan data is <com:Math><semantics>p12<annotation encoding="application / x-tex">p_{12}< / annotation>< / semantics>< / com:Math>, a third landmark point of the scan data is <com:Math><semantics>p13<annotation encoding="application / x-tex">p_{13}< / annotation>< / semantics>< / com:Math> and an average vector obtained by averaging all normal vectors from all points forming meshes of the scan data is <com:Math><semantics>vn→<annotation encoding="application / x-tex">\overrightarrow{v_n}< / annotation>< / semantics>< / com:Math>, the left and the right of the landmark points of the scan data may be identified using a cross product of <com:Math><semantics>p11−p12¯<annotation encoding="application / x-tex">\overline{p_{11}-p_{12}}< / annotation>< / semantics>< / com:Math> and <com:Math><semantics>p13−p12¯<annotation encoding="application / x-tex">\overline{p_{13}-p_{12}}< / annotation>< / semantics>< / com:Math> and the average vector <com:Math><semantics>vn¯<annotation encoding="application / x-tex">\overline{v_n}< / annotation>< / semantics>< / com:Math>.

[0011] In an embodiment, when the scan data represent maxilla data and a discriminant d<0, a left teeth landmark point <com:Math><semantics>pL<annotation encoding="application / x-tex">p_L< / annotation>< / semantics>< / com:Math> representing a left outermost point of teeth of the patient may be <com:Math><semantics>p11<annotation encoding="application / x-tex">p_{11}< / annotation>< / semantics>< / com:Math> and a right teeth landmark point <com:Math><semantics>pR<annotation encoding="application / x-tex">p_R< / annotation>< / semantics>< / com:Math> representing a right outermost point of the teeth of the patient may be <com:Math><semantics>p13<annotation encoding="application / x-tex">p_{13}< / annotation>< / semantics>< / com:Math>. When the scan data represent the maxilla data and the discriminant d>=0, the left teeth landmark point <com:Math><semantics>pL<annotation encoding="application / x-tex">p_L< / annotation>< / semantics>< / com:Math> may be <com:Math><semantics>p13<annotation encoding="application / x-tex">p_{13}< / annotation>< / semantics>< / com:Math> and the right teeth landmark point <com:Math><semantics>pR<annotation encoding="application / x-tex">p_R< / annotation>< / semantics>< / com:Math> may be <com:Math><semantics>p11<annotation encoding="application / x-tex">p_{11}< / annotation>< / semantics>< / com:Math>. The discriminant d may be defined as [Image disponible dans le document PDF, Image available in the PDF document] <com:Math><semantics>d=<annotation encoding="application / x-tex">d =< / annotation>< / semantics>< / com:Math> .

[0012] In an embodiment, when the scan data represent a mandible data and the discriminant d<0, the left teeth landmark point <com:Math><semantics>pL<annotation encoding="application / x-tex">p_L< / annotation>< / semantics>< / com:Math> may be <com:Math><semantics>p13<annotation encoding="application / x-tex">p_{13}< / annotation>< / semantics>< / com:Math> and the right teeth landmark point <com:Math><semantics>pR<annotation encoding="application / x-tex">p_R< / annotation>< / semantics>< / com:Math> may be <com:Math><semantics>p11<annotation encoding="application / x-tex">p_{11}< / annotation>< / semantics>< / com:Math>. When the scan data represent the mandible data and the discriminant <com:Math><semantics>d≥0<annotation encoding="application / x-tex">d \ge 0< / annotation>< / semantics>< / com:Math>, the left teeth landmark point <com:Math><semantics>pL<annotation encoding="application / x-tex">p_L< / annotation>< / semantics>< / com:Math> may be <com:Math><semantics>p11<annotation encoding="application / x-tex">p_{11}< / annotation>< / semantics>< / com:Math> and the right teeth landmark point <com:Math><semantics>pR<annotation encoding="application / x-tex">p_R< / annotation>< / semantics>< / com:Math> may be <com:Math><semantics>p13<annotation encoding="application / x-tex">p_{13}< / annotation>< / semantics>< / com:Math>.

[0013] In an embodiment, when the up vector is <com:Math><semantics>vs¯<annotation encoding="application / x-tex">\overline{v_s}< / annotation>< / semantics>< / com:Math>, a left teeth landmark point representing a left outermost point of a teeth of the patient is <com:Math><semantics>pL<annotation encoding="application / x-tex">p_L< / annotation>< / semantics>< / com:Math>, a right teeth landmark point representing a right outermost point of the teeth of the patient is <com:Math><semantics>pR<annotation encoding="application / x-tex">p_R< / annotation>< / semantics>< / com:Math>, a second landmark point of the scan data is <com:Math><semantics>p12<annotation encoding="application / x-tex">p_{12}< / annotation>< / semantics>< / com:Math> , and the scan data represent the maxilla data, [Image disponible dans le document PDF, Image available in the PDF document] .

[0014] In an embodiment, when the up vector is <com:Math><semantics>vs¯<annotation encoding="application / x-tex">\overline{v_s}< / annotation>< / semantics>< / com:Math>, a left teeth landmark point representing a left outermost point of a teeth of the patient is <com:Math><semantics>pL<annotation encoding="application / x-tex">p_L< / annotation>< / semantics>< / com:Math>, a right teeth landmark point representing a right outermost point of the teeth of the patient is <com:Math><semantics>pR<annotation encoding="application / x-tex">p_R< / annotation>< / semantics>< / com:Math>, a second landmark point of the scan data is <com:Math><semantics>p12<annotation encoding="application / x-tex">p_{12}< / annotation>< / semantics>< / com:Math> , and the scan data represent the mandible data, [Image disponible dans le document PDF, Image available in the PDF document] .

[0015] In an embodiment, the method may further include determining whether the CT data and the scan data have a same area. When [Image disponible dans le document PDF, Image available in the PDF document] , th is a first threshold value for determining that the CT data and the scan data have the same area, p1, p3 and p5 are the landmark points of the CT data, <com:Math><semantics>p11<annotation encoding="application / x-tex">p_{11}< / annotation>< / semantics>< / com:Math>, <com:Math><semantics>p12<annotation encoding="application / x-tex">p_{12}< / annotation>< / semantics>< / com:Math> and <com:Math><semantics>p13<annotation encoding="application / x-tex">p_{13}< / annotation>< / semantics>< / com:Math> are the landmark points of the [Image disponible dans le document PDF, Image available in the PDF document] scan data and is satisfied, the CT data and the scan data are determined to have the same area.

[0016] In an embodiment, the extracting the teeth portion of the scan data may include extracting a highest point among a first landmark point, a second landmark point and a third landmark point of the scan data in a direction of the up vector when the scan data represent maxilla data, cutting the scan data into a plane having a normal vector of the up vector at a point moved from the highest point by a first distance in a positive direction of the up vector and cutting the scan data into a plane having a normal vector of the up vector at a point moved from the highest point by a second distance in a negative direction of the up vector.

[0017] In an embodiment, the extracting the teeth portion of the scan data may further include extracting a lowest point among the first landmark point, the second landmark point and the third landmark point of the scan data in the direction of the up vector when the scan data represent mandible data, cutting the scan data into a plane having a normal vector of the up vector at a point moved from the lowest point by the first distance in a positive direction of the up vector and cutting the scan data into a plane having a normal vector of the up vector at a point moved from the lowest point by the second distance in a negative direction of the up vector.

[0018] In an embodiment, a vector from the second landmark point of the scan data to a right teeth landmark point may be defined as <com:Math><semantics>vR→<annotation encoding="application / x-tex">\overrightarrow{v_R}< / annotation>< / semantics>< / com:Math> and a vector from the second landmark point to a left teeth landmark point may be defined as <com:Math><semantics>vL¯<annotation encoding="application / x-tex">\overline{v_L}< / annotation>< / semantics>< / com:Math>. The extracting the teeth portion of the scan data may further include cutting the scan data into a plane having a normal vector of <com:Math><semantics>vR→<annotation encoding="application / x-tex">\overrightarrow{v_R}< / annotation>< / semantics>< / com:Math> at a point moved from the right teeth landmark point by a third distance in the direction of <com:Math><semantics>vR→<annotation encoding="application / x-tex">\overrightarrow{v_R}< / annotation>< / semantics>< / com:Math> and cutting the scan data into a plane having a normal vector of <com:Math><semantics>vL→<annotation encoding="application / x-tex">\overrightarrow{v_L}< / annotation>< / semantics>< / com:Math> at a point moved from the left teeth landmark point by the third distance in the direction of <com:Math><semantics>vL→<annotation encoding="application / x-tex">\overrightarrow{v_L}< / annotation>< / semantics>< / com:Math>.

[0019] In an embodiment, the third distance may be less than the first distance and the second distance.

[0020] In an embodiment, a first vector is defined as a vector rotated by +90 degrees from the vector <com:Math><semantics>vR→<annotation encoding="application / x-tex">\overrightarrow{v_R}< / annotation>< / semantics>< / com:Math>, a second vector is defined as a vector rotated by -90 degrees from the vector <com:Math><semantics>vR→<annotation encoding="application / x-tex">\overrightarrow{v_R}< / annotation>< / semantics>< / com:Math>, a third vector is defined as a vector rotated by -90 degrees from the vector <com:Math><semantics>vL→<annotation encoding="application / x-tex">\overrightarrow{v_L}< / annotation>< / semantics>< / com:Math>, a fourth vector is defined as a vector rotated by +90 degrees from the vector <com:Math><semantics>v→L<annotation encoding="application / x-tex">\vec{v}_L< / annotation>< / semantics>< / com:Math>. The extracting the teeth portion of the scan data may further include cutting the scan data into a plane having a normal vector of the first vector at a point moved from the right teeth landmark point by the third distance in the direction of <com:Math><semantics>vR→<annotation encoding="application / x-tex">\overrightarrow{v_R}< / annotation>< / semantics>< / com:Math> and by a fourth distance in the direction of the first vector, cutting the scan data into a plane having a normal vector of the second vector at a point moved from the right teeth landmark point by the third distance in the direction of <com:Math><semantics>vR¯<annotation encoding="application / x-tex">\overline{v_R}< / annotation>< / semantics>< / com:Math> and by the fourth distance in the direction of the second vector, cutting the scan data into a plane having a normal vector of the third vector at a point moved from the left teeth landmark point by the third distance in the direction of <com:Math><semantics>vL¯<annotation encoding="application / x-tex">\overline{v_L}< / annotation>< / semantics>< / com:Math> and by the fourth distance in the direction of the third vector and cutting the scan data into a plane having a normal vector of the fourth vector at a point moved from the left teeth landmark point by the third distance in the direction of <com:Math><semantics>vL¯<annotation encoding="application / x-tex">\overline{v_L}< / annotation>< / semantics>< / com:Math> and by the fourth distance in the direction of the fourth vector.

[0021] In an embodiment, the fourth distance may be greater than the first distance, the second distance and the third distance.

[0022] In an embodiment, the extracting the teeth portion of the scan data may further include cutting the scan data into a plane having a normal vector of a vector of <com:Math><semantics>vM→<annotation encoding="application / x-tex">\overrightarrow{v_M}< / annotation>< / semantics>< / com:Math> which is a sum of <com:Math><semantics>vL→<annotation encoding="application / x-tex">\overrightarrow{v_L}< / annotation>< / semantics>< / com:Math> and <com:Math><semantics>vR→<annotation encoding="application / x-tex">\overrightarrow{v_R}< / annotation>< / semantics>< / com:Math> at a point moved from the second landmark point by a fifth distance in the direction of <com:Math><semantics>vM¯<annotation encoding="application / x-tex">\overline{v_M}< / annotation>< / semantics>< / com:Math> and cutting the scan data into a plane having a normal vector of a vector of <com:Math><semantics>−vM¯<annotation encoding="application / x-tex">-\overline{v_M}< / annotation>< / semantics>< / com:Math> at a point moved from the second landmark point by the fifth distance in the direction of <com:Math><semantics>−vM¯<annotation encoding="application / x-tex">-\overline{v_M}< / annotation>< / semantics>< / com:Math>.

[0023] In an embodiment, the searching the source point of the scan data on the spline curve of the CT data may include calculating the spline curve C(u) based on a plurality of landmark points of a maxilla of the CT data or a plurality of landmark points of a mandible of the CT data.

[0024] In an embodiment, the source point may include three points of a left teeth landmark point, a second landmark point and a right teeth landmark point.

[0025] In an embodiment, <com:Math><semantics>pL<annotation encoding="application / x-tex">p_L< / annotation>< / semantics>< / com:Math> may be the left teeth landmark point, <com:Math><semantics>p12<annotation encoding="application / x-tex">p_{12}< / annotation>< / semantics>< / com:Math> may be the second landmark point, and <com:Math><semantics>pR<annotation encoding="application / x-tex">p_R< / annotation>< / semantics>< / com:Math> may be the right teeth landmark point. A first point <com:Math><semantics>C(u1)<annotation encoding="application / x-tex">C(u1)< / annotation>< / semantics>< / com:Math> of a target point may be searched on C(u) while increasing a parameter u by a first value. A second point C(u2) of the target point may be searched on C(u) while increasing the parameter u by a second value. The second point <com:Math><semantics>C(u2)<annotation encoding="application / x-tex">C(u2)< / annotation>< / semantics>< / com:Math> of the target point may be a point minimizing the d11=<com:Math><semantics>∥C(u1)−C(u2)∥−∥pL−p12∥<annotation encoding="application / x-tex">\|C(u1)-C(u2)\|-\|p_L-p_{12}\|< / annotation>< / semantics>< / com:Math>. A third point <com:Math><semantics>C(u3)<annotation encoding="application / x-tex">C(u3)< / annotation>< / semantics>< / com:Math> of the target point may be searched on C(u) while increasing the parameter u by a third value. The third point C(u3) of the target point may be a point minimizing the d12=<com:Math><semantics>||C(u2)−C(u3)||−||p12−pR||<annotation encoding="application / x-tex">||C(u2)-C(u3)||-||p_{12}-p_R||< / annotation>< / semantics>< / com:Math>. When all of d11, d12 and d13=<com:Math><semantics>||C(u3)−C(u1)||−||pR−pL||<annotation encoding="application / x-tex">||C(u3)-C(u1)||-||p_R-p_L||< / annotation>< / semantics>< / com:Math> are less than a second threshold value, the target points <com:Math><semantics>C(u1)<annotation encoding="application / x-tex">C(u1)< / annotation>< / semantics>< / com:Math>, <com:Math><semantics>C(u2)<annotation encoding="application / x-tex">C(u2)< / annotation>< / semantics>< / com:Math> and <com:Math><semantics>C(u3)<annotation encoding="application / x-tex">C(u3)< / annotation>< / semantics>< / com:Math> may be selected as the candidate target point group. The target point group may include three points of <com:Math><semantics>C(u1)<annotation encoding="application / x-tex">C(u1)< / annotation>< / semantics>< / com:Math>, <com:Math><semantics>C(u2)<annotation encoding="application / x-tex">C(u2)< / annotation>< / semantics>< / com:Math> and <com:Math><semantics>C(u3)<annotation encoding="application / x-tex">C(u3)< / annotation>< / semantics>< / com:Math>.

[0026] In an embodiment, the determining the candidate target point group having the smallest error with the landmark points of the CT data as the final candidate may include transforming the candidate target point group to a domain of the CT data using a transform matrix and calculating a transform error as an average of distances between the transformed candidate target point group and the landmark points of the CT data.

[0027] In an example non-transitory computer-readable storage medium having stored thereon at least one program commands, the program commands are executable by at least one hardware processor to extract landmark points of a CT data, extract landmark points of scan data of a digital impression model, determine an up vector representing a direction of a patient's eyes and nose and identify left and right of the landmark points of the scan data, extract a teeth portion of the scan data, search a source point of the scan data on a spline curve of the CT data to generate a candidate target point group and determine the candidate target point group having a smallest error with the landmark points of the CT data as a final candidate. [EFFECT OF THE INVENTION]

[0028] According to the automated method for aligning 3D dental data, even if there is no user input and the data areas are different, a good initial registration result may be obtained. Accordingly, a result of a fine registration may be quickly obtained without a user input.

[0029] According to the automated method for aligning 3D dental data, the time and effort for registration of the patient medical image data (CT or CBCT) and the digital impression model scan data, which is frequently performed for diagnosis, analysis and prosthesis production in dental clinics and dental laboratories, may be dramatically reduced. [BRIEF EXPLANATION OF THE DRAWINGS]

[0030] FIG. 1 is a flowchart diagram illustrating an automated method for registration of a dental CT (computerized tomography) image and a digital impression model according to an embodiment of the present inventive concept.

[0031] FIG. 2 illustrates the dental CT image and a scan data of the digital impression model.

[0032] FIG. 3 illustrates landmark points of the dental CT image.

[0033] FIG. 4 illustrates landmark points of the scan data of the digital impression model.

[0034] FIGS. 5 to 8 illustrate a method of determining an up vector and a method of identifying left and right of the landmark points of the scan data.

[0035] FIG. 9 illustrates the up vector when the scan data represent maxilla data.

[0036] FIG. 10 illustrates the up vector when the scan data represent mandible data.

[0037] FIGS. 11 and 12 illustrate a step of determining whether the area of the CT data and the area of the scan data match of FIG. 1.

[0038] FIGS. 13 and 14 illustrate a step of extracting a teeth portion of the scan data of FIG. 1.

[0039] FIG. 15 illustrates the teeth portion extracted by the step of extracting the teeth portion of the scan data of FIG. 1.

[0040] FIGS. 16A to 16C illustrate results of a step of the coarse registration of FIG. 1.

[0041] FIGS. 17A to 17C illustrate results of a step of the fine registration of FIG. 1. [BEST MODE FOR CARRYING OUT THE INVENTION]

[0042] The present inventive concept now will be described more fully hereinafter with reference to the accompanying drawings, in which exemplary embodiments of the present invention are shown. The present inventive concept may, however, be embodied in many different forms and should not be construed as limited to the exemplary embodiments set forth herein.

[0043] Rather, these exemplary embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present invention to those skilled in the art.

[0044] It will be understood that, although the terms first, second, third, etc. may be used herein to describe various elements, components, regions, layers and / or sections, these elements, components, regions, layers and / or sections should not be limited by these terms. These terms are only used to distinguish one element, component, region, layer or section from another region, layer or section. Thus, a first element, component, region, layer or section discussed below could be termed a second element, component, region, layer or section without departing from the teachings of the present invention.

[0045] It will be understood that when an element or layer is referred to as being "on," "connected to" or "coupled to" another element or layer, it can be directly on, connected or coupled to the other element or layer or intervening elements or layers may be present. In contrast, when an element is referred to as being "directly on," "directly connected to" or "directly coupled to" another element or layer, there are no intervening elements or layers present. Like numerals refer to like elements throughout. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.

[0046] The terminology used herein is for the purpose of describing particular exemplary embodiments only and is not intended to be limiting of the present invention. As used herein, the singular forms "a," "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and / or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0047] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.

[0048] All methods described herein can be performed in a suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or exemplary language (e.g., "such as"), is intended merely to better illustrate the invention and does not pose a limitation on the scope of the invention unless otherwise claimed. No language in the specification should be construed as indicating any non-claimed element as essential to the practice of the inventive concept as used herein.

[0049] Hereinafter, preferred embodiments of the present inventive concept will be explained in detail with reference to the accompanying drawings. The same reference numerals are used for the same elements in the drawings, and duplicate explanations for the same elements may be omitted.

[0050] FIG. 1 is a flowchart diagram illustrating an automated method for registration of a dental CT (computerized tomography) image and a digital impression model according to an embodiment of the present inventive concept. FIG. 2 illustrates the dental CT image and a scan data of the digital impression model. FIG. 3 illustrates landmark points of the dental CT image. FIG. 4 illustrates landmark points of the scan data of the digital impression model.

[0051] Referring to FIGS. 1 to 4, for the registration of the dental CT image and the digital impression image, the landmark points of the dental CT image may be extracted (step S100) and the landmark points of the digital impression image may be extracted (step S200).

[0052] For example, the dental CT image may be a cone beam CT (CBCT) image. The dental CT image may include teeth, bones and neural tubes. For example, the scan data of the digital impression model may be obtained by scanning an inside of a patient's mouth with a scanner. For example, the scan data may be obtained by scanning a plaster model of an inside of a patient's mouth with a scanner.

[0053] A left image of FIG. 2 may be the scan data of the digital impression model. A right image of FIG. 2 may be the dental CT image. In the present embodiment, the digital impression model may correspond to one of the maxilla and the mandible of the patient. In the present embodiment, the dental CT image may include information of both of the maxilla and the mandible of the patient.

[0054] For example, in FIG. 3, the landmark points of the dental CT image may indicate specific positions of the teeth. The landmark points of the dental CT image may include five landmark points p1, p2, p3, p4 and p5 in the maxilla and five landmark points p6, p7, p8, p9 and p10 in the mandible. For example, a first landmark point p1 of the maxilla and a fifth landmark point p5 of the maxilla may indicate outermost points of the teeth of the maxilla in a lateral direction. A third landmark point p3 of the maxilla may indicate between two maxillary central incisors. A second landmark point p2 of the maxilla may be disposed between the first landmark point p1 and the third land mark point p3. A fourth landmark point p4 of the maxilla may be disposed between the third landmark point p3 and the fifth land mark point p5. For example, a sixth landmark point p6 of the mandible and a tenth landmark point p10 of the mandible may indicate outermost points of the teeth of the mandible in the lateral direction. An eighth landmark point p8 of the mandible may indicate between two mandibular central incisors. A seventh landmark point p7 of the mandible may be disposed between the sixth landmark point p6 and the eighth land mark point p8. A ninth landmark point p9 of the mandible may be disposed between the eighth landmark point p8 and the tenth land mark point p10.

[0055] For example, in FIG. 4, the landmark points of the scan data may indicate specific positions of the teeth. The landmark points of the scan data may include three landmark points <com:Math><semantics>p11<annotation encoding="application / x-tex">p_{11}< / annotation>< / semantics>< / com:Math>, <com:Math><semantics>p12<annotation encoding="application / x-tex">p_{12}< / annotation>< / semantics>< / com:Math> and <com:Math><semantics>p13<annotation encoding="application / x-tex">p_{13}< / annotation>< / semantics>< / com:Math>. Herein, the scan data may represent the maxilla of the patient or the mandible of the patient. For example, a first landmark point <com:Math><semantics>p11<annotation encoding="application / x-tex">p_{11}< / annotation>< / semantics>< / com:Math> and a third landmark point <com:Math><semantics>p13<annotation encoding="application / x-tex">p_{13}< / annotation>< / semantics>< / com:Math> of the scan data may indicate outermost points of the teeth of the scan data in the lateral direction. The second landmark point <com:Math><semantics>p12<annotation encoding="application / x-tex">p_{12}< / annotation>< / semantics>< / com:Math> of the scan data may indicate between two central incisors.

[0056] In the present embodiment, the landmark points (e.g. p1 to p10) of the CT image may be automatically extracted using an artificial intelligence deep learning method. In addition, the landmark points (e.g. <com:Math><semantics>p11<annotation encoding="application / x-tex">p_{11}< / annotation>< / semantics>< / com:Math> to <com:Math><semantics>p13<annotation encoding="application / x-tex">p_{13}< / annotation>< / semantics>< / com:Math>) of the scan data may be automatically extracted using an artificial intelligence deep learning method. Whether the scan data represent the maxilla or the mandible may be determined by a user's input or may be automatically determined using additional information of the scan data.

[0057] FIGS. 5 to 8 illustrate a method of determining an up vector <com:Math><semantics>v→s<annotation encoding="application / x-tex">\vec{v}_s< / annotation>< / semantics>< / com:Math> and a method of identifying left and right of the landmark points of the scan data.

[0058] The method of determining the up vector <com:Math><semantics>vs¯<annotation encoding="application / x-tex">\overline{v_s}< / annotation>< / semantics>< / com:Math> representing an upward direction of the scan data (the direction of the patient's eyes and nose) and the method of identifying left and right of the landmark points <com:Math><semantics>p11<annotation encoding="application / x-tex">p_{11}< / annotation>< / semantics>< / com:Math> to <com:Math><semantics>p13<annotation encoding="application / x-tex">p_{13}< / annotation>< / semantics>< / com:Math> of the scan data are explained referring to FIGS. 5 to 8 (step S300).

[0059] For example, in FIG. 5, teeth are protruded downward in the scan data, a first landmark point <com:Math><semantics>p11<annotation encoding="application / x-tex">p_{11}< / annotation>< / semantics>< / com:Math> is disposed in a left portion of the scan data and a third landmark point <com:Math><semantics>p13<annotation encoding="application / x-tex">p_{13}< / annotation>< / semantics>< / com:Math> is disposed in a right portion of the scan data. Even if the teeth of the scan data of FIG. 5 are protruded downward, the scan data of FIG. 5 does not necessarily mean the maxilla data. As explained above, whether the scan data represent the maxilla or the mandible may be determined by the user's input or using additional information of the scan data.

[0060] Normal vectors may be obtained from all points (all points on the surface of the scan data) forming meshes of the scan data of FIG. 5. A unit vector <com:Math><semantics>vn→<annotation encoding="application / x-tex">\vec{v_n}< / annotation>< / semantics>< / com:Math> of an average vector obtained by averaging all the normal vectors from all the points. The average vector obtained by averaging all the normal vectors from all the points may point downward in FIG. 5. The unit vector <com:Math><semantics>vn→<annotation encoding="application / x-tex">\overrightarrow{v_n}< / annotation>< / semantics>< / com:Math> of the average vector may have a unit length in the downward direction.

[0061] Discriminant for identifying the left and the right of the landmark points of the scan data is shown in following Equation 1.

[0062] [Equation 1] [Image disponible dans le document PDF, Image available in the PDF document]

[0063]

[0064] When the scan data represent the maxilla data and the discriminant d<0, a left teeth landmark point <com:Math><semantics>pL<annotation encoding="application / x-tex">p_L< / annotation>< / semantics>< / com:Math> representing a left outermost point of the teeth of the patient may be <com:Math><semantics>p11<annotation encoding="application / x-tex">p_{11}< / annotation>< / semantics>< / com:Math> and a right teeth landmark point <com:Math><semantics>pR<annotation encoding="application / x-tex">p_R< / annotation>< / semantics>< / com:Math> representing a right outermost point of the teeth of the patient may be <com:Math><semantics>p13<annotation encoding="application / x-tex">p_{13}< / annotation>< / semantics>< / com:Math>. In contrast, when the scan data represent the maxilla data and the discriminant d>=0, the left teeth landmark point <com:Math><semantics>pL<annotation encoding="application / x-tex">p_L< / annotation>< / semantics>< / com:Math> may be <com:Math><semantics>p13<annotation encoding="application / x-tex">p_{13}< / annotation>< / semantics>< / com:Math> and the right teeth landmark point <com:Math><semantics>pR<annotation encoding="application / x-tex">p_R< / annotation>< / semantics>< / com:Math> may be <com:Math><semantics>p11<annotation encoding="application / x-tex">p_{11}< / annotation>< / semantics>< / com:Math>.

[0065] When the scan data represent the mandible data and the discriminant d<0, a left teeth landmark point <com:Math><semantics>pL<annotation encoding="application / x-tex">p_L< / annotation>< / semantics>< / com:Math> representing a left outermost point of the teeth of the patient may be <com:Math><semantics>p13<annotation encoding="application / x-tex">p_{13}< / annotation>< / semantics>< / com:Math> and a right teeth landmark point <com:Math><semantics>pR<annotation encoding="application / x-tex">p_R< / annotation>< / semantics>< / com:Math> representing a right outermost point of the teeth of the patient may be <com:Math><semantics>p11<annotation encoding="application / x-tex">p_{11}< / annotation>< / semantics>< / com:Math>. In contrast, when the scan data represent the mandible data and the discriminant d>=0, the left teeth landmark point <com:Math><semantics>pL<annotation encoding="application / x-tex">p_L< / annotation>< / semantics>< / com:Math> may be <com:Math><semantics>p11<annotation encoding="application / x-tex">p_{11}< / annotation>< / semantics>< / com:Math> and the right teeth landmark point <com:Math><semantics>pR<annotation encoding="application / x-tex">p_R< / annotation>< / semantics>< / com:Math> may be <com:Math><semantics>p13<annotation encoding="application / x-tex">p_{13}< / annotation>< / semantics>< / com:Math>.

[0066] In FIG. 5, since <com:Math><semantics>vn→<annotation encoding="application / x-tex">\vec{v_n}< / annotation>< / semantics>< / com:Math> has the downward direction, <com:Math><semantics>vn→<annotation encoding="application / x-tex">\vec{v_n}< / annotation>< / semantics>< / com:Math>=-1 when an upward direction is supposed to a positive direction. A cross product <com:Math><semantics>p11−p12¯×p13−p12¯<annotation encoding="application / x-tex">\overline{p_{11} - p_{12}} \times \overline{p_{13} - p_{12}}< / annotation>< / semantics>< / com:Math> of <com:Math><semantics>p11−p12¯<annotation encoding="application / x-tex">\overline{p_{11} - p_{12}}< / annotation>< / semantics>< / com:Math> and <com:Math><semantics>p13−p12¯<annotation encoding="application / x-tex">\overline{p_{13}-p_{12}}< / annotation>< / semantics>< / com:Math> may have the downward direction (a negative value). Thus, d is equal to or greater than zero (d>=0) by Equation 1 so that the left landmark point <com:Math><semantics>pL=p13<annotation encoding="application / x-tex">p_L=p_{13}< / annotation>< / semantics>< / com:Math> and the right teeth landmark point <com:Math><semantics>pR=p11<annotation encoding="application / x-tex">p_R = p_{11}< / annotation>< / semantics>< / com:Math> when the scan data in FIG. 5 represent the maxilla data. In contrast, d is equal to or greater than zero <com:Math><semantics>(d≥0)<annotation encoding="application / x-tex">(d \ge 0)< / annotation>< / semantics>< / com:Math> by Equation 1 so that the left landmark point <com:Math><semantics>pL=p11<annotation encoding="application / x-tex">p_L = p_{11}< / annotation>< / semantics>< / com:Math> and the right teeth landmark point <com:Math><semantics>pR=p13<annotation encoding="application / x-tex">p_R = p_{13}< / annotation>< / semantics>< / com:Math> when the scan data in FIG. 5 represent the mandible data.

[0067] For example, in FIG. 6, teeth are protruded downward in the scan data, a third landmark point <com:Math><semantics>p13<annotation encoding="application / x-tex">p_{13}< / annotation>< / semantics>< / com:Math> is disposed in a left portion of the scan data and a first landmark point <com:Math><semantics>p11<annotation encoding="application / x-tex">p_{11}< / annotation>< / semantics>< / com:Math> is disposed in a right portion of the scan data.

[0068] In FIG. 6, since <com:Math><semantics>vn→<annotation encoding="application / x-tex">\vec{v_n}< / annotation>< / semantics>< / com:Math> has the downward direction, <com:Math><semantics>vn→<annotation encoding="application / x-tex">\vec{v_n}< / annotation>< / semantics>< / com:Math>=-1 when the upward direction is supposed to the positive direction. The cross product <com:Math><semantics>p11−p12¯×p13−p12¯<annotation encoding="application / x-tex">\overline{p_{11}-p_{12}} \times \overline{p_{13}-p_{12}}< / annotation>< / semantics>< / com:Math> of <com:Math><semantics>p11−p12¯<annotation encoding="application / x-tex">\overline{p_{11}-p_{12}}< / annotation>< / semantics>< / com:Math> and <com:Math><semantics>p13−p12¯<annotation encoding="application / x-tex">\overline{p_{13} - p_{12}}< / annotation>< / semantics>< / com:Math> may have the upward direction (a positive value). Thus, d is less than zero (d<0) by Equation 1 so that the left landmark point <com:Math><semantics>pL=p11<annotation encoding="application / x-tex">p_L = p_{11}< / annotation>< / semantics>< / com:Math> and the right teeth landmark point <com:Math><semantics>pR=p13<annotation encoding="application / x-tex">p_R = p_{13}< / annotation>< / semantics>< / com:Math> when the scan data in FIG. 6 represent the maxilla data. In contrast, d is less than zero (d<0) by Equation 1 so that the left landmark point <com:Math><semantics>pL=p13<annotation encoding="application / x-tex">p_L = p_{13}< / annotation>< / semantics>< / com:Math> and the right teeth landmark point <com:Math><semantics>pR=p11<annotation encoding="application / x-tex">p_R = p_{11}< / annotation>< / semantics>< / com:Math> when the scan data in FIG. 6 represent the mandible data.

[0069] For example, in FIG. 7, teeth are protruded upward in the scan data, a third landmark point <com:Math><semantics>p13<annotation encoding="application / x-tex">p_{13}< / annotation>< / semantics>< / com:Math> is disposed in a left portion of the scan data and a first landmark point <com:Math><semantics>p11<annotation encoding="application / x-tex">p_{11}< / annotation>< / semantics>< / com:Math> is disposed in a right portion of the scan data.

[0070] In FIG. 7, since <com:Math><semantics>vn→<annotation encoding="application / x-tex">\vec{v_n}< / annotation>< / semantics>< / com:Math> has the upward direction, <com:Math><semantics>vn→=1<annotation encoding="application / x-tex">\vec{v_n}=1< / annotation>< / semantics>< / com:Math> when the upward direction is supposed to the positive direction. The cross product <com:Math><semantics>p11−p12¯×p13−p12¯<annotation encoding="application / x-tex">\overline{p_{11} - p_{12}} \times \overline{p_{13} - p_{12}}< / annotation>< / semantics>< / com:Math> of <com:Math><semantics>p11−p12¯<annotation encoding="application / x-tex">\overline{p_{11} - p_{12}}< / annotation>< / semantics>< / com:Math> and <com:Math><semantics>p13−p12<annotation encoding="application / x-tex">p_{13} - p_{12}< / annotation>< / semantics>< / com:Math> may have the upward direction (a positive value). Thus, d is equal to or greater than zero (d>=0) by Equation 1 so that the left landmark point <com:Math><semantics>pL=p11<annotation encoding="application / x-tex">p_L = p_{11}< / annotation>< / semantics>< / com:Math> and the right teeth landmark point <com:Math><semantics>pR=p13<annotation encoding="application / x-tex">p_R = p_{13}< / annotation>< / semantics>< / com:Math> when the scan data in FIG. 7 represent the mandible data. In contrast, d is equal to or greater than zero <com:Math><semantics>(d≥0)<annotation encoding="application / x-tex">(d \ge 0)< / annotation>< / semantics>< / com:Math> by Equation 1 so that the left landmark point <com:Math><semantics>pL=p13<annotation encoding="application / x-tex">p_L = p_{13}< / annotation>< / semantics>< / com:Math> and the right teeth landmark point <com:Math><semantics>pR=p11<annotation encoding="application / x-tex">p_R = p_{11}< / annotation>< / semantics>< / com:Math> when the scan data in FIG. 7 represent the maxilla data.

[0071] For example, in FIG. 8, teeth are protruded upward in the scan data, a first landmark point <com:Math><semantics>p11<annotation encoding="application / x-tex">p_{11}< / annotation>< / semantics>< / com:Math> is disposed in a left portion of the scan data and a third landmark point <com:Math><semantics>p13<annotation encoding="application / x-tex">p_{13}< / annotation>< / semantics>< / com:Math> is disposed in a right portion of the scan data.

[0072] In FIG. 8, since <com:Math><semantics>vn¯<annotation encoding="application / x-tex">\overline{v_n}< / annotation>< / semantics>< / com:Math> has the upward direction, <com:Math><semantics>vn¯=1<annotation encoding="application / x-tex">\overline{v_n}=1< / annotation>< / semantics>< / com:Math> when the upward direction is supposed to the positive direction. The cross product <com:Math><semantics>p11−p12¯×p13−p12¯<annotation encoding="application / x-tex">\overline{p_{11}-p_{12}} \times \overline{p_{13}-p_{12}}< / annotation>< / semantics>< / com:Math> of <com:Math><semantics>p11−p12¯<annotation encoding="application / x-tex">\overline{p_{11}-p_{12}}< / annotation>< / semantics>< / com:Math> and <com:Math><semantics>p13−p12¯<annotation encoding="application / x-tex">\overline{p_{13} - p_{12}}< / annotation>< / semantics>< / com:Math> may have the downward direction (a negative value). Thus, d is less than zero (d<0) by Equation 1 so that the left landmark point <com:Math><semantics>pL=p13<annotation encoding="application / x-tex">p_L = p_{13}< / annotation>< / semantics>< / com:Math> and the right teeth landmark point <com:Math><semantics>pR=p11<annotation encoding="application / x-tex">p_R = p_{11}< / annotation>< / semantics>< / com:Math> when the scan data in FIG. 8 represent the mandible data. In contrast, d is less than zero (d<0) by Equation 1 so that the left landmark point <com:Math><semantics>pL=p11<annotation encoding="application / x-tex">p_L = p_{11}< / annotation>< / semantics>< / com:Math> and the right teeth landmark point <com:Math><semantics>pR=p13<annotation encoding="application / x-tex">p_R = p_{13}< / annotation>< / semantics>< / com:Math> when the scan data in FIG. 8 represent the maxilla data.

[0073] When the scan data represent the maxilla data, the up vector <com:Math><semantics>v→s<annotation encoding="application / x-tex">\vec{v}_s< / annotation>< / semantics>< / com:Math> representing the direction of the patient's eyes and nose may be represented as following Equation 2.

[0074] [Equation 2] [Image disponible dans le document PDF, Image available in the PDF document]

[0075]

[0076] For example, when the scan data of FIG. 5 represent the maxilla data, the left landmark point <com:Math><semantics>pL=p13<annotation encoding="application / x-tex">p_L = p_{13}< / annotation>< / semantics>< / com:Math> and the right teeth landmark point <com:Math><semantics>pR=p11<annotation encoding="application / x-tex">p_R = p_{11}< / annotation>< / semantics>< / com:Math> according to the discriminant. According to Equation 2, <com:Math><semantics>vs¯<annotation encoding="application / x-tex">\overline{v_s}< / annotation>< / semantics>< / com:Math> which is a cross product of <com:Math><semantics>pR−p12<annotation encoding="application / x-tex">p_R - p_{12}< / annotation>< / semantics>< / com:Math> and <com:Math><semantics>pL−p12<annotation encoding="application / x-tex">p_L - p_{12}< / annotation>< / semantics>< / com:Math> may have the upward direction (a positive value).

[0077] When the scan data represent the mandible data, the up vector <com:Math><semantics>v→s<annotation encoding="application / x-tex">\vec{v}_s< / annotation>< / semantics>< / com:Math> representing the direction of the patient's eyes and nose may be represented as following Equation 3.

[0078] [Equation 3] [Image disponible dans le document PDF, Image available in the PDF document]

[0079]

[0080] For example, when the scan data of FIG. 7 represent the mandible data, the left landmark point <com:Math><semantics>pL=p11<annotation encoding="application / x-tex">p_L = p_{11}< / annotation>< / semantics>< / com:Math> and the right teeth landmark point <com:Math><semantics>pR=p13<annotation encoding="application / x-tex">p_R = p_{13}< / annotation>< / semantics>< / com:Math> according to the discriminant. According to Equation 3, <com:Math><semantics>vs¯<annotation encoding="application / x-tex">\overline{v_s}< / annotation>< / semantics>< / com:Math> which is a cross product of <com:Math><semantics>pL<annotation encoding="application / x-tex">p_L< / annotation>< / semantics>< / com:Math>-<com:Math><semantics>p12<annotation encoding="application / x-tex">p_{12}< / annotation>< / semantics>< / com:Math> and <com:Math><semantics>pR<annotation encoding="application / x-tex">p_R< / annotation>< / semantics>< / com:Math>-<com:Math><semantics>p12<annotation encoding="application / x-tex">p_{12}< / annotation>< / semantics>< / com:Math> may have the upward direction (a positive value).

[0081] FIG. 9 illustrates the up vector when the scan data represent maxilla data. FIG. 10 illustrates the up vector when the scan data represent mandible data.

[0082] As shown in FIG. 9, when the scan data represent the maxilla data, a direction of the up vector <com:Math><semantics>vs¯<annotation encoding="application / x-tex">\overline{v_s}< / annotation>< / semantics>< / com:Math> may be opposite to the protruded direction of the teeth.

[0083] As shown in FIG. 10, when the scan data represent the mandible data, a direction of the up vector <com:Math><semantics>vs→<annotation encoding="application / x-tex">\overrightarrow{v_s}< / annotation>< / semantics>< / com:Math> may be substantially the same as the protruded direction of the teeth.

[0084] FIGS. 11 and 12 illustrate a step of determining whether the area of the CT data and the area of the scan data match of FIG. 1.

[0085] Referring to FIGS. 1 to 12, in the registration of the CT data and the scan data, Case 1 and Case 2 may be distinguished (step S400). Case 1 represents that the CT data and the scan data have the same area. Case 2 represents that the CT data and the scan data have different areas. When following Equation 4 is satisfied, it may be determined that the CT data and the scan data have the same area.

[0086] [Equation 4]

[0087] [Image disponible dans le document PDF, Image available in the PDF document]

[8800] [Image disponible dans le document PDF, Image available in the PDF document] is a first threshold value for determining that the CT data and the scan data have the same area. For example, the first threshold value th may be about 5mm.

[0089] FIGS. 13 and 14 illustrate a step of extracting a teeth portion of the scan data of FIG. 1. FIG. 15 illustrates the teeth portion extracted by the step of extracting the teeth portion of the scan data of FIG. 1.

[0090] Referring to FIGS. 1 to 15, in order to perform the registration based on the teeth portion, which is a common area between the two data, only the teeth portion may be cut out from the scan data (step S500). When the scan data represent the maxilla data, the highest point is extracted among the first landmark point <com:Math><semantics>p11<annotation encoding="application / x-tex">p_{11}< / annotation>< / semantics>< / com:Math>, the second landmark point <com:Math><semantics>p12<annotation encoding="application / x-tex">p_{12}< / annotation>< / semantics>< / com:Math> and the third landmark point <com:Math><semantics>p13<annotation encoding="application / x-tex">p_{13}< / annotation>< / semantics>< / com:Math> in the direction of the up vector <com:Math><semantics>vs→<annotation encoding="application / x-tex">\overrightarrow{v_s}< / annotation>< / semantics>< / com:Math>. When the scan data represent the mandible data, the lowest point is extracted among the first landmark point <com:Math><semantics>p11<annotation encoding="application / x-tex">p_{11}< / annotation>< / semantics>< / com:Math>, the second landmark point <com:Math><semantics>p12<annotation encoding="application / x-tex">p_{12}< / annotation>< / semantics>< / com:Math> and the third landmark point <com:Math><semantics>p13<annotation encoding="application / x-tex">p_{13}< / annotation>< / semantics>< / com:Math> in the direction of the up vector <com:Math><semantics>vS→<annotation encoding="application / x-tex">\overrightarrow{v_S}< / annotation>< / semantics>< / com:Math>.

[0091] When the scan data represent the maxilla data, the scan data may be cut into an infinite plane having a normal vector of <com:Math><semantics>vs¯<annotation encoding="application / x-tex">\overline{v_s}< / annotation>< / semantics>< / com:Math> at a point moved from the highest point of the scan data by a first distance (+a) in the positive direction of the up vector <com:Math><semantics>v→s<annotation encoding="application / x-tex">\vec{v}_s< / annotation>< / semantics>< / com:Math> and the scan data may be cut into an infinite plane having a normal vector of <com:Math><semantics>vS→<annotation encoding="application / x-tex">\overrightarrow{v_S}< / annotation>< / semantics>< / com:Math> at a point moved from the highest point of the scan data by a second distance (-b) in the negative direction of the up vector <com:Math><semantics>vS→<annotation encoding="application / x-tex">\overrightarrow{v_S}< / annotation>< / semantics>< / com:Math> (FIG. 13). For example, the first distance (+a) may be about 6mm. For example, the second distance (-b) may be about -6mm. For example, an absolute value of the first distance (+a) may be equal to an absolute value of the second distance (-b). Alternatively, the absolute value of the first distance (+a) may be different from the absolute value of the second distance (-b).

[0092] When the scan data represent the mandible data, the scan data may be cut into an infinite plane CP1 having a normal vector of <com:Math><semantics>v→S<annotation encoding="application / x-tex">\vec{v}_{S}< / annotation>< / semantics>< / com:Math> at a point moved from the lowest point of the scan data by the first distance (+a) in the positive direction of the up vector <com:Math><semantics>vS→<annotation encoding="application / x-tex">\overrightarrow{v_S}< / annotation>< / semantics>< / com:Math> and the scan data may be cut into an infinite plane CP2 having a normal vector of <com:Math><semantics>vs¯<annotation encoding="application / x-tex">\overline{v_s}< / annotation>< / semantics>< / com:Math> at a point moved from the lowest point of the scan data by the second distance (-b) in the negative direction of the up vector <com:Math><semantics>v¯s<annotation encoding="application / x-tex">\overline{v}_s< / annotation>< / semantics>< / com:Math> (FIG. 13).

[0093] As shown in FIG. 14, a vector from the second landmark point <com:Math><semantics>p12<annotation encoding="application / x-tex">p_{12}< / annotation>< / semantics>< / com:Math> to the right teeth landmark point <com:Math><semantics>pR<annotation encoding="application / x-tex">p_R< / annotation>< / semantics>< / com:Math> may be defined as <com:Math><semantics>vR¯<annotation encoding="application / x-tex">\overline{v_R}< / annotation>< / semantics>< / com:Math> and a vector from the second landmark point <com:Math><semantics>p12<annotation encoding="application / x-tex">p_{12}< / annotation>< / semantics>< / com:Math> to the left teeth landmark point <com:Math><semantics>pL<annotation encoding="application / x-tex">p_L< / annotation>< / semantics>< / com:Math> may be defined as <com:Math><semantics>vL→<annotation encoding="application / x-tex">\overrightarrow{v_L}< / annotation>< / semantics>< / com:Math>. The scan data may be cut into an infinite plane CP3 having a normal vector of <com:Math><semantics>vR→<annotation encoding="application / x-tex">\overrightarrow{v_R}< / annotation>< / semantics>< / com:Math> at a point moved from the right teeth landmark point <com:Math><semantics>pR<annotation encoding="application / x-tex">p_R< / annotation>< / semantics>< / com:Math> by a third distance in the direction of <com:Math><semantics>vR¯<annotation encoding="application / x-tex">\overline{v_R}< / annotation>< / semantics>< / com:Math>. The scan data may be cut into an infinite plane CP4 having a normal vector of <com:Math><semantics>vL→<annotation encoding="application / x-tex">\overrightarrow{v_L}< / annotation>< / semantics>< / com:Math> at a point moved from the left teeth landmark point <com:Math><semantics>pL<annotation encoding="application / x-tex">p_L< / annotation>< / semantics>< / com:Math> by the third distance in the direction of <com:Math><semantics>vL¯<annotation encoding="application / x-tex">\overline{v_L}< / annotation>< / semantics>< / com:Math>. For example, the third distance may be less than the first distance and the second distance. Herein, the third distance may be about 1mm.

[0094] A first vector may be defined as a vector rotated by -90 degrees from the vector <com:Math><semantics>vR¯<annotation encoding="application / x-tex">\overline{v_R}< / annotation>< / semantics>< / com:Math>. The scan data may be cut out into an infinite plane CP5 having a normal vector of the first vector at a point moved from the right teeth landmark point <com:Math><semantics>pR<annotation encoding="application / x-tex">p_R< / annotation>< / semantics>< / com:Math> by the third distance in the direction of <com:Math><semantics>vR¯<annotation encoding="application / x-tex">\overline{v_R}< / annotation>< / semantics>< / com:Math> and by a fourth distance in the direction of the first vector. A second vector may be defined as a vector rotated by +90 degrees from the vector <com:Math><semantics>vR¯<annotation encoding="application / x-tex">\overline{v_R}< / annotation>< / semantics>< / com:Math>. The scan data may be cut out into an infinite plane CP6 having a normal vector of the second vector at a point moved from the right teeth landmark point <com:Math><semantics>pR<annotation encoding="application / x-tex">p_R< / annotation>< / semantics>< / com:Math> by the third distance in the direction of <com:Math><semantics>vR¯<annotation encoding="application / x-tex">\overline{v_R}< / annotation>< / semantics>< / com:Math> and by the fourth distance in the direction of the second vector. For example, the fourth distance may be greater than the first distance, the second distance and the third distance. Herein, the fourth distance may be about 10mm.

[0095] A third vector may be defined as a vector rotated by +90 degrees from the vector <com:Math><semantics>vL¯<annotation encoding="application / x-tex">\overline{v_L}< / annotation>< / semantics>< / com:Math>. The scan data may be cut out into an infinite plane CP7 having a normal vector of the third vector at a point moved from the left teeth landmark point <com:Math><semantics>pL<annotation encoding="application / x-tex">p_L< / annotation>< / semantics>< / com:Math> by the third distance in the direction of <com:Math><semantics>vL→<annotation encoding="application / x-tex">\overrightarrow{v_L}< / annotation>< / semantics>< / com:Math> and by the fourth distance in the direction of the third vector. A fourth vector may be defined as a vector rotated by -90 degrees from the vector <com:Math><semantics>vL¯<annotation encoding="application / x-tex">\overline{v_L}< / annotation>< / semantics>< / com:Math>. The scan data may be cut out into an infinite plane CP8 having a normal vector of the fourth vector at a point moved from the left teeth landmark point <com:Math><semantics>pL<annotation encoding="application / x-tex">p_L< / annotation>< / semantics>< / com:Math> by the third distance in the direction of <com:Math><semantics>vL→<annotation encoding="application / x-tex">\overrightarrow{v_L}< / annotation>< / semantics>< / com:Math> and by the fourth distance in the direction of the fourth vector.

[0096] In addition, the scan data may be cut out into an infinite plane CP10 having a normal vector of a vector of <com:Math><semantics>vM→<annotation encoding="application / x-tex">\overrightarrow{v_M}< / annotation>< / semantics>< / com:Math> which is a sum of <com:Math><semantics>vL→<annotation encoding="application / x-tex">\overrightarrow{v_L}< / annotation>< / semantics>< / com:Math> and <com:Math><semantics>vR→<annotation encoding="application / x-tex">\overrightarrow{v_R}< / annotation>< / semantics>< / com:Math> at a point moved from the second landmark point <com:Math><semantics>p12<annotation encoding="application / x-tex">p_{12}< / annotation>< / semantics>< / com:Math> by a fifth distance in the direction of <com:Math><semantics>vM¯<annotation encoding="application / x-tex">\overline{v_M}< / annotation>< / semantics>< / com:Math>. The scan data may be cut out into an infinite plane CP9 having a normal vector of a vector of <com:Math><semantics>−vM¯<annotation encoding="application / x-tex">-\overline{v_M}< / annotation>< / semantics>< / com:Math> at a point moved from the second landmark point <com:Math><semantics>p12<annotation encoding="application / x-tex">p_{12}< / annotation>< / semantics>< / com:Math> by the fifth distance in the direction of <com:Math><semantics>−vM→<annotation encoding="application / x-tex">-\overrightarrow{v_M}< / annotation>< / semantics>< / com:Math>. For example, the fifth distance may be greater than the third distance and less than the fourth distance. Herein, the fifth distance may be about 6mm.

[0097] FIG. 15 represents the teeth portion obtained by cutting the scan data using the cutting planes CP1 to CP10.

[0098] A parametric spline curve C(u) may be calculated using the first to fifth landmark points p1 to p5 of the maxilla of the CT data as control points. Herein, u satisfies 0<=u<=1. u=0 at a leftmost side of the patient and u=1 at a rightmost side of the patient.

[0099] The parametric spline curve C(u) may mean the spline curve of an arch connecting the five landmark points p1 to p5 of the maxilla of the CT data. Alternatively, the parametric spline curve C(u) may be calculated using the five landmark points p6 to p10 of the mandible of the CT data as control points.

[00100] The source point of the scan data may be searched on the CT spline curve C(u) to generate a target point (step S600).

[00101] The source points of the scan data may include three points of the left teeth landmark point <com:Math><semantics>pL<annotation encoding="application / x-tex">p_L< / annotation>< / semantics>< / com:Math>, the second landmark point <com:Math><semantics>p12<annotation encoding="application / x-tex">p_{12}< / annotation>< / semantics>< / com:Math> and the right teeth landmark point <com:Math><semantics>pR<annotation encoding="application / x-tex">p_R< / annotation>< / semantics>< / com:Math>.

[00102] A first point of the target point may be searched on C(u) while increasing the parameter u by a first value. The first point of the target point may be represented ad C(u1). The first value may be about 0.05.

[00103] A second point of the target point may be searched on C(u) while increasing the parameter u by a second value. The second point of the target point may be represented ad C(u2). The second point <com:Math><semantics>C(u2)<annotation encoding="application / x-tex">C(u2)< / annotation>< / semantics>< / com:Math> of the target point may be a point minimizing the <com:Math><semantics>d11=||C(u1)−C(u2)||−||pL−p12||<annotation encoding="application / x-tex">d11=||C(u1)-C(u2)||-||p_L-p_{12}||< / annotation>< / semantics>< / com:Math>. Herein, u>u1 and the second value may be about 0.001.

[00104] A third point of the target point may be searched on C(u) while increasing the parameter u by a third value. The third point of the target point may be represented ad C(u3). The third point <com:Math><semantics>C(u3)<annotation encoding="application / x-tex">C(u3)< / annotation>< / semantics>< / com:Math> of the target point may be a point minimizing the <com:Math><semantics>d12=||C(u2)−C(u3)||−||p12−pR||<annotation encoding="application / x-tex">d12=||C(u2)-C(u3)||-||p_{12}-p_R||< / annotation>< / semantics>< / com:Math>. Herein, u>u2 and the third value may be about 0.001.

[00105] When all of d11, d12 and d13=<com:Math><semantics>||C(u3)−C(u1)||−||pR−pL||<annotation encoding="application / x-tex">||C(u3)-C(u1)||-||p_R-p_L||< / annotation>< / semantics>< / com:Math> are less than a second threshold value, the target points C(u1), C(u2) and C(u3) may be selected as a candidate. The second threshold value may be about 8mm.

[00106] FIGS. 16A to 16C illustrate results of a step of the coarse registration of FIG. 1.

[00107] Referring to FIGS. 1 to 16C, a candidate target point group may include six points and a plurality of the candidate target point groups may be generated in the step S500.

[00108] Transform matrices M may be calculated by a landmark transform for the plural of the candidate target point groups. A transform error may be calculated as an average of distances between the transformed landmark points pi'=Mpi, (i=L, 12, R) of the scan data and the landmark points <com:Math><semantics>pk(k=1,3,5 or k=6,8,10)<annotation encoding="application / x-tex">pk(k=1, 3, 5 \text{ or } k=6, 8, 10)< / annotation>< / semantics>< / com:Math> of the CT data. The transform matrix M may move the landmark points of the scan data to a domain of the CT data.

[00109] In the step S400, in Case 1 in which the CT data and the scan data have substantially the same area, the candidate target point group having the smallest transform error may be determined as a final candidate.

[00110] A step of moving the candidate target point group of the scan data to the domain of the CT data using the transform matrix M and a step of determining the final candidate having the smallest transform error may be referred to the coarse registration (step S700).

[00111] In FIGS. 16A to 16C, a background image representing a shape of the teeth may be the CT data. In FIGS. 16A to 16C, a solid line may be an outline of the scan data generated by the registration with the CT data. FIG. 16A represents an axial view after the coarse registration of the CT data and the scan data. FIG. 16B represents a sagittal view after the coarse registration of the CT data and the scan data. FIG. 16C represents a coronal view after the coarse registration of the CT data and the scan data.

[00112] FIGS. 17A to 17C illustrate results of a step of the fine registration of FIG. 1.

[00113] Referring to FIGS. 1 to 17C, after the coarse registration (step S700), the fine registration (step S800) for further matching the teeth area of the CT data with the teeth area of the scan data may be operated. In the fine registration, the cut teeth portion of the scan data may be used for the source data and the CT image of the patient may be used for the target data.

[00114] In FIGS. 17A to 17C, a background image representing a shape of the teeth may be the CT data. In FIGS. 17A to 17C, a solid line may be an outline of the scan data generated by the registration with the CT data. FIG. 17A represents an axial view after the fine registration of the CT data and the scan data. FIG. 17B represents a sagittal view after the fine registration of the CT data and the scan data. FIG. 17C represents a coronal view after the fine registration of the CT data and the scan data.

[00115] As shown in FIGS. 17A to 17C, the teeth portion of the CT data and the teeth portion of the scan data may be more precisely matched compared to FIGS. 16A to 16C.

[00116] According to the present embodiment, even if there is no user input and the data areas are different, a good initial registration result may be obtained. Accordingly, the result of the fine registration may be quickly obtained without the user input.

[00117] According to the automated method for aligning 3D dental data, the time and effort for registration of the patient medical image data (CT or CBCT) and the digital impression model scan data, which is frequently performed for diagnosis, analysis and prosthesis production in dental clinics and dental laboratories, may be dramatically reduced.

[00118] According to an embodiment of the present inventive concept, a non-transitory computer-readable storage medium having stored thereon program instructions of the automated method for aligning 3D dental data may be provided. The above mentioned method may be written as a program executed on a computing device such as a computer. The method may be implemented in a general purpose digital computer which operates the program using a computer-readable medium. In addition, the structure of the data used in the above mentioned method may be written on a computer readable medium through various means. The computer readable medium may include program instructions, data files and data structures alone or in combination. The program instructions written on the medium may be specially designed and configured for the present inventive concept, or may be generally known to a person skilled in the computer software field. For example, the computer readable medium may include a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical recording medium such as CD-ROM and DVD, a magneto-optical medium such as floptic disc and a hardware device specially configured to store and execute the program instructions such as ROM, RAM and a flash memory. For example, the program instructions may include a machine language codes produced by a compiler and high-level language codes which may be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the operations of the present inventive concept.

[00119] In addition, the above mentioned method for aligning 3D dental data may be implemented in a form of a computer-executed computer program or an application which are stored in a storage method. [INDUSTRIAL AVAILABILITY]

[00120] The present inventive concept is related to the automated method for aligning 3D dental data and the non-transitory computer-readable storage medium having stored thereon program instructions of the automated method for aligning 3D dental data, the time and effort for registration of the dental CT data and the digital impression model may be reduced.

[00121] Although a few embodiments of the present inventive concept have been described, those skilled in the art will readily appreciate that many modifications are possible in the embodiments without materially departing from the novel teachings and advantages of the present inventive concept. Accordingly, all such modifications are intended to be included within the scope of the present inventive concept as defined in the claims.

Claims

1. An automated method for aligning 3D (three-dimensional) dental data, the method comprises: extracting landmark points of a CT (computerized tomography) data; extracting landmark points of 3D scan data of a digital impression model, wherein the landmark points of the scan data comprise first, second and third landmark points, wherein the first landmark point and the third landmark point of the scan data indicate outermost points of teeth of the scan data in a lateral direction, and the second landmark point of the scan data indicates between two central incisors; identifying left and right of the landmark points of the scan data, and determining an up vector representing a direction of a patient's eyes and nose by using the left and right of the landmark points of the scan data, wherein the left and right of the landmark points of the scan data correspond to left and right outermost points of the teeth of the patient; extracting a teeth portion of the scan data by using the up vector; searching a source point of the scan data on a spline curve of the CT data to generate a candidate target point group of the scan data, the spline curve of the CT data being calculated using the landmark points of the CT data; and determining the candidate target point group having a smallest error with the landmark points of the CT data as a final candidate.

2. The method of claim 1, wherein the landmark points of the CT data include three or more landmark points in a maxilla and three or more landmark points in a mandible.

3. The method of claim 1, wherein the left and the right of the landmark points of the scan data are identified using a cross product of p 11 − p 12 ¯ \overline{p_{11}-p_{12}} and p 13 − p 12 ¯ \overline{p_{13}-p_{12}} and an average vector v n → \overrightarrow{v_n} , wherein p 11 p_{11} , p 12 p_{12} and p 13 p_{13} represent the first, second and third landmark points of the scan data, and the average vector v n → \vec{v_n} is obtained by averaging all normal vectors from all points forming meshes of the scan data.

4. The method of claim 3, wherein a discriminant d is defined as: [Image disponible dans le document PDF, Image available in the PDF document] wherein when the scan data represent maxilla data and the discriminant d<0, a left teeth landmark point p L p_L representing the left outermost point of the teeth of the patient is the first landmark point p 11 p_{11} and a right teeth landmark point p R p_R representing the right outermost point of the teeth of the patient is the third landmark point p 13 p_{13} , wherein when the scan data represent the maxilla data and the discriminant d>=0, the left teeth landmark point p L p_L is the third landmark point p 13 p_{13} and the right teeth landmark point p R p_R is the first landmark point p 11 p_{11} .

5. The method of claim 4, wherein when the scan data represent a mandible data and the discriminant d<0, the left teeth landmark point p L p_L is the third landmark point p 13 p_{13} and the right teeth landmark point p R p_R is the first landmark point p 11 p_{11} , and wherein when the scan data represent the mandible data and the discriminant d ≥ 0 d \ge 0 , the left teeth landmark point p L p_L is the first landmark point p 11 p_{11} and the right teeth landmark point p R p_R is the third landmark point p 13 p_{13} .

6. The method of claim 1, wherein the up vector is v s → \overrightarrow{v_s} defined as [Image disponible dans le document PDF, Image available in the PDF document] , wherein p L p_L is a left teeth landmark point representing the left outermost point of the teeth of the patient, p R p_R is a right teeth landmark point representing the right outermost point of the teeth of the patient, p 12 p_{12} is the second landmark point of the scan data, and the scan data represent the maxilla data.

7. The method of claim 1, wherein the up vector is v s → \vec{v_s} defined as: [Image disponible dans le document PDF, Image available in the PDF document] , wherein p L p_L is the left teeth landmark point representing the left outermost point of the teeth of the patient, p R p_R is the right teeth landmark point representing the right outermost point of the teeth of the patient, p 12 p_{12} is the second landmark point of the scan data, and the scan data represent the mandible data.

8. The method of claim 1, further comprising determining whether the CT data and the scan data correspond to a same area of the patient, wherein it is determined that the CT data and the scan data are determined to correspond to the same area of the patient when [Image disponible dans le document PDF, Image available in the PDF document] is satisfied, wherein [Image disponible dans le document PDF, Image available in the PDF document] , th is a first threshold value for determining that the CT data and the scan data correspond to the same area of the patient, p1, p3 and p5 are the landmark points of the CT data, p 11 p_{11} , p 12 p_{12} and p 13 p_{13} are the first, second and third landmark points of the scan data.

9. The method of claim 1, wherein the extracting the teeth portion of the scan data comprises: extracting a highest point among the first landmark point, the second landmark point and the third landmark point of the scan data in a direction of the up vector when the scan data represent maxilla data, cutting the scan data into a plane having a normal vector of the up vector at a point moved from the highest point by a first distance in a positive direction of the up vector; and cutting the scan data into a plane having a normal vector of the up vector at a point moved from the highest point by a second distance in a negative direction of the up vector.

10. The method of claim 9, wherein the extracting the teeth portion of the scan data further comprises: extracting a lowest point among the first landmark point, the second landmark point and the third landmark point of the scan data in the direction of the up vector when the scan data represent mandible data, cutting the scan data into a plane having a normal vector of the up vector at a point moved from the lowest point by the first distance in a positive direction of the up vector; and cutting the scan data into a plane having a normal vector of the up vector at a point moved from the lowest point by the second distance in a negative direction of the up vector.

11. The method of claim 10, wherein a vector from the second landmark point of the scan data to a right teeth landmark point is defined as v R → \overrightarrow{v_R} and a vector from the second landmark point to a left teeth landmark point is defined as v L → \overrightarrow{v_L} , wherein the extracting the teeth portion of the scan data further comprises: cutting the scan data into a plane having a normal vector of v R → \overrightarrow{v_R} at a point moved from the right teeth landmark point by a third distance in the direction of v R → \overrightarrow{v_R} ; and cutting the scan data into a plane having a normal vector of v L → \overrightarrow{v_L} at a point moved from the left teeth landmark point by the third distance in the direction of v L → \overrightarrow{v_L} .

12. The method of claim 11, wherein the third distance is less than the first distance and the second distance.

13. The method of claim 11, wherein a first vector is defined as a vector rotated by +90 degrees from the vector v R → \overrightarrow{v_R} , a second vector is defined as a vector rotated by -90 degrees from the vector v R → \overrightarrow{v_R} , a third vector is defined as a vector rotated by -90 degrees from the vector v L → \overrightarrow{v_L} , a fourth vector is defined as a vector rotated by +90 degrees from the vector v L → \overrightarrow{v_L} , wherein the extracting the teeth portion of the scan data further comprises: cutting the scan data into a plane having a normal vector of the first vector at a point moved from the right teeth landmark point by the third distance in the direction of v R → \overrightarrow{v_R} and by a fourth distance in the direction of the first vector; cutting the scan data into a plane having a normal vector of the second vector at a point moved from the right teeth landmark point by the third distance in the direction of v R → \overrightarrow{v_R} and by the fourth distance in the direction of the second vector; cutting the scan data into a plane having a normal vector of the third vector at a point moved from the left teeth landmark point by the third distance in the direction of v L → \vec{v_L} and by the fourth distance in the direction of the third vector; and cutting the scan data into a plane having a normal vector of the fourth vector at a point moved from the left teeth landmark point by the third distance in the direction of v L → \vec{v_L} and by the fourth distance in the direction of the fourth vector.

14. The method of claim 13, wherein the fourth distance is greater than the first distance, the second distance and the third distance.

15. The method of claim 11, wherein the extracting the teeth portion of the scan data further comprises: cutting the scan data into a plane having a normal vector of a vector of v M → \overrightarrow{v_M} which is a sum of v L → \overrightarrow{v_L} and v R → \overrightarrow{v_R} at a point moved from the second landmark point by a fifth distance in the direction of v M → \overrightarrow{v_M} ; and cutting the scan data into a plane having a normal vector of a vector of − v M → -\overrightarrow{v_M} at a point moved from the second landmark point by the fifth distance in the direction of − v M → -\overrightarrow{v_M} .

16. The method of claim 1, wherein the searching the source point of the scan data on the spline curve of the CT data comprises calculating the spline curve C(u) based on the landmark points of a maxilla of the CT data or the landmark points of a mandible of the CT data.

17. The method of claim 16, wherein the source point includes three points of a left teeth landmark point, the second landmark point and a right teeth landmark point, wherein the left teeth landmark point correspond to one of the first and third landmark points, and the right teeth landmark point correspond to the other one of the first and third landmark points.

18. The method of claim 17, wherein p L p_L is the left teeth landmark point, p 12 p_{12} is the second landmark point, and p R p_R is the right teeth landmark point, wherein a first point C(u1) of a target point is searched on C(u) while increasing a parameter u by a first value, a second point C(u2) of the target point is searched on C(u) while increasing the parameter u by a second value, the second point C(u2) of the target point is a point minimizing the d11= | | C ( u 1 ) − C ( u 2 ) | | − | | p L − p 12 | | ||C(u1)-C(u2)||-||p_L-p_{12}|| , a third point C ( u 3 ) C(u3) of the target point is searched on C(u) while increasing the parameter u by a third value, the third point C(u3) of the target point is a point minimizing the d12= | | C ( u 2 ) − C ( u 3 ) | | − | | p 12 − p R | | ||C(u2)-C(u3)||-||p_{12}-p_R|| , wherein when all of d11, d12 and d13= | | C ( u 3 ) − C ( u 1 ) | | − | | p R − p L | | ||C(u3)-C(u1)||-||p_R-p_L|| are less than a second threshold value, the target points C(u1), C(u2) and C(u3) are selected as the candidate target point group, and wherein the target point group includes three points of C ( u 1 ) C(u1) , C ( u 2 ) C(u2) and C ( u 3 ) C(u3) .

19. The method of claim 16, wherein the determining the candidate target point group having the smallest error with the landmark points of the CT data as the final candidate comprises: transforming the candidate target point group to a domain of the CT data using a transform matrix; and calculating a transform error as an average of distances between the transformed candidate target point group and the landmark points of the CT data.

20. A non-transitory computer-readable storage medium having stored thereon at least one program comprising commands, which when executed by at least one hardware processor, perform the method of claim 1.