Patent Description:
Recently, a three-dimensional (<NUM>-D) scanner used to measure and analyze a narrow area, such as the inside of a mouth, is actively developed. The <NUM>-D scanner is configured in a portable form so that a user (representatively a dentist) can easily scan the narrow area.

When using the <NUM>-D scanner, the user consecutively scans the mouth of a patient and finally obtains one <NUM>-D model representing an object (the inside of the mouth of the patient or a plaster cast modeled therefrom). The <NUM>-D model modeled and generated in real time in the process of scanning, by the user who uses the <NUM>-D scanner, may be formed as consecutively obtained image data is aligned with each other. For example, if three image data (first image data, second image data, and third image data) is consecutively obtained, a <NUM>-D model may be generated as the second image data is aligned with the first image data and the third image data is aligned with the second image data.

In a conventional technology, however, if alignment between image data fails once, a <NUM>-D modeling process is not performed after the alignment process fails. A user needs to be careful so that alignment can be performed normally by closely scanning an object again from a part where the alignment has failed. Although there is a difference according to a user's skill in scanning, dozens of times (e.g., <NUM> times) or more of alignment failures may occur in a process of a user scanning one arch. The user feels inconvenient in a process of scanning an object from a part where alignment has fails again. There is a problem in that a scan time is also increased.

Furthermore, in general, a user watches an object. Even though an alignment failure is fed back to a display screen, it is substantially impossible for the user to alternately confirm the object and the display screen. Furthermore, in a process of the user alternately confirming the object and the display screen, the user's concentration may be dispersed. A scan time taken to complete a <NUM>-D model may be increased. There is a problem in that a development purpose of a <NUM>-D scanner developed to rapidly obtain a <NUM>-D model having a high level of completion is ignored.

<CIT>) describes a method and an apparatus for taking, using, and displaying a three-dimensional (3D) volumetric model of a patient's dental arch.

<CIT> discloses a method for recording individual three-dimensional optical images to form a global image of a dental object which is to be measured. After capturing of each individual image by means of a dental camera, a computer automatically checks whether an overlapping area between the images, which are to be combined, meet recording requirements determined for a correct recording. If the overlapping area meets the recording requirements, the recording is carried out between the images to be combined and a first image sequence is continued. Said images of the first image sequence are subsequently combined to form a first cluster. If the overlapping area of an image does not meet the recording requirements, the first image sequence is interrupted and an additional second image sequence is automatically started with said image. Subsequently, the images of the second image sequence are combined to form a second cluster. A similar method is described in <CIT>.

It is one of the ideas of the present invention to provide a data processing method of finally generating one <NUM>-D model by aligning, with a pre-formed inactive cluster, a scan shot obtained in a process of scanning an object and merging clusters through the alignment.

Furthermore, it is an idea of the present invetnion to provide a data processing apparatus for finally generating one <NUM>-D model by the data processing method according to the present invention, which is performed by actions of organically connected components.

Objects of the present invention are not limited to the aforementioned objects and ideas, and the other objects not described above may be evidently understood from the following description by those skilled in the art.

To this end, the invention provides a data processing method in accordance with claim <NUM> and a data processing apparatus in accordance with claim <NUM>.

According to the invetion, a data processing method includes obtaining a scan shot representing an object, aligning the scan shot with a pre-formed at least one inactive cluster, and selectively merging an active cluster including the scan shot and the inactive cluster based on whether the scan shot is aligned with the inactive cluster.

Furthermore, the data processing method includes aligning the scan shot with a previous scan shot included in the active cluster. The aligning of the scan shot with the inactive cluster and the aligning of the scan shot with the previous scan shot is performed simultaneously or sequentially.

Furthermore, the aligning of the scan shot with the inactive cluster may include aligning feature points of the scan shot and feature points of the inactive cluster.

Furthermore, the selectively merging of the active cluster and the inactive cluster may include merging the inactive cluster with the active cluster and including, in the active cluster, scan shots included in the inactive cluster, when the scan shot is aligned with the previous scan shot and the scan shot is aligned with the inactive cluster.

Furthermore, when the scan shot is aligned with the previous scan shot and the scan shot is not aligned with the inactive cluster, the scan shot may be included in the active cluster.

Furthermore, when the scan shot is not aligned with the previous scan shot and the scan shot is not aligned with the inactive cluster, the active cluster may be deactivated, a new active cluster may be generated, and the scan shot may be included in the new active cluster.

Furthermore, when the scan shot is not aligned with the previous scan shot and the scan shot is aligned with the inactive cluster, the scan shot may be included in the inactive cluster.

Furthermore, when the scan shot is included in the inactive cluster, the inactive cluster may be activated, and the active cluster not including the scan shot may be deactivated.

Furthermore, the scan shot, the active cluster, and the inactive cluster may be displayed on a screen of a user interface having a plurality of areas including a main area occupying a given area and a sub-area occupying an area smaller than the main area. The scan shot and the active cluster may be displayed in the main area. When the scan shot is included in the inactive cluster, the inactive cluster may be activated and displayed in the main area, and the active cluster not including the scan shot may be deactivated and displayed in the sub-area.

A data processing apparatus according to the invention includes a scanner scanning an object, a controller configured to align a scan shot obtained by scanning the object with a pre-formed at least one inactive cluster and selectively merge an active cluster including the scan shot and the inactive cluster based on whether the scan shot is aligned with the inactive cluster, and a display unit displaying at least one of the scan shot, the inactive cluster, and the active cluster.

The controller includes a scan shot generation unit configured to generate the scan shot based on the object scanned by the scanner, an alignment unit configured to align the scan shot with a previous scan shot included in the active cluster or align the scan shot with the inactive cluster, and a cluster management unit configured to generate and manage the inactive cluster and the active cluster based on a result of the alignment of the alignment unit.

Furthermore, the alignment unit may simultaneously or sequentially perform a process of aligning the scan shot with the previous scan shot and a process of aligning the scan shot with the inactive cluster.

Furthermore, when the scan shot is aligned with the previous scan shot and the scan shot is aligned with the inactive cluster, the cluster management unit may merge the inactive cluster with the active cluster and includes, in the active cluster, scan shots included in the inactive cluster.

Furthermore, when the scan shot is aligned with the previous scan shot and the scan shot is not aligned with the inactive cluster, the cluster management unit may include the scan shot in the active cluster.

Furthermore, when the scan shot is not aligned with the previous scan shot and the scan shot is not aligned with the inactive cluster, the cluster management unit may deactivate the active cluster, may generate a new active cluster, and may include the scan shot in the new active cluster.

Furthermore, when the scan shot is not aligned with the previous scan shot and the scan shot is aligned with the inactive cluster, the cluster management unit may include the scan shot in the inactive cluster.

Furthermore, the cluster management unit may change, into the inactive cluster, an active cluster with which the scan shot has not been aligned, and may change, into the active cluster, an inactive cluster with which the scan shot has been aligned.

Furthermore, the display unit may display a user interface having a plurality of areas including a main area occupying a given area and a sub-area occupying an area smaller than the main area, may display the scan shot and the active cluster in the main area, and may activate and display the inactive cluster in the main area and deactivate and display the active cluster in the sub-area when the scan shot is included in the inactive cluster.

There are advantages in that resources used to generate a cluster can be reduced, an operation process can be simplified, and a scan speed can be maximized because a scan process is performed by minimizing the number of clusters generated using the data processing method and the data processing apparatus using the same according to the present invention.

Furthermore, there are advantages in that data can be classified in a cluster unit and a scan process can be continuously performed although an alignment failure between scan shots occurs, and the degree of freedom of a scan by a user is improved because the user can perform a scan regardless of whether alignment is successful or not.

Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. In adding reference numerals to the components of each drawing, it should be noted that the same components have the same reference numerals as much as possible even if they are displayed in different drawings. Furthermore, in describing embodiments of the present invention, when it is determined that a detailed description of the related well-known configuration or function hinders understanding of an embodiment of the present invention, the detailed description thereof will be omitted.

In describing components of an embodiment of the present invention, terms, such as a first, a second, A, B, (a), and (b), may be used. Such terms are used only to distinguish one component from the other component, and the essence, order, or sequence of a corresponding component is not limited by the terms. Furthermore, all terms used herein, including technical or scientific terms, have the same meanings as those commonly understood by a person having ordinary knowledge in the art to which the present invention pertains, unless defined otherwise in the specification. Terms, such as those commonly used and defined in dictionaries, should be construed as having the same meanings as those in the context of a related technology, and are not construed as being ideal or excessively formal unless explicitly defined otherwise in the specification.

<FIG> is a flowchart of a data processing method according to the present invention.

Referring to <FIG>, the data processing method according to the present invention includes step S110 of obtaining a scan shot representing an object. Step S110 of obtaining the scan shot may mean that a scanner obtains image data representing the object by accommodating light reflected by a surface of the object. A camera embedded in the scanner accommodates light incident on the inside of the scanner and obtains the scan shot based on the accommodated light. In this case, the scan shot may be two-dimensional image data or may mean a <NUM>-D stereoscopic data piece. The scan shots obtained by the scanner may be stored in an obtained order. A known storage device may be used as a configuration for storing the scan shots. The storage device may be a hard disk drive, a solid state drive (SSD), or a mobile type storage device (a USB flash drive, etc.), but the type of storage device is not limited to the examples disclosed in the present invention.

<FIG> is for describing a process of obtaining a scan shot <NUM> representing an object O.

Referring to <FIG>, the scan shot <NUM> may be obtained in plural based on a direction in which a scanner is moved and an angle at which the scanner is directed toward an object O. For example, as illustrated in <FIG>, a first scan shot <NUM>, a second scan shot <NUM>, a third scan shot <NUM>, a fourth scan shot <NUM>, a fifth scan shot <NUM>, a sixth scan shot <NUM>, a seventh scan shot <NUM>, an eighth scan shot <NUM>, and a ninth scan shot <NUM> may be obtained by scanning the object O. In this case, a user does not need to sequentially scan the object O from one direction to the other direction, and may scan the object O in a way convenient for the user who performs a scan.

Referring to <FIG> and <FIG>, in the data processing method according to the present invention, an alignment process is performed to connect the obtained scan shots <NUM>. In this case, the alignment performed between the scan shots <NUM> is denoted as "scan shot alignment. " The scan shot alignment may mean that a scan shot obtained at specific timing is aligned with a scan shot (i.e., a previous scan shot) obtained at previous timing. A process of performing alignment between the scan shots <NUM> may be performed by using an iteration closest point (ICP) method, but the present invention is not essentially limited thereto.

When the alignment between the scan shots <NUM> is performed, if an overlap section between the scan shots <NUM> is not present or is insufficient (less than a reference value), a portion where scan shot alignment fails may occur. As illustrated in <FIG>, the third scan shot <NUM> and the fourth scan shot <NUM> are not aligned with each other and the sixth scan shot <NUM> and the seventh scan shot <NUM> are not aligned with each other because an overlap section is not present between the third scan shot <NUM> and the fourth scan shot <NUM> and between the sixth scan shot <NUM> and the seventh scan shot <NUM>. In such a case, the first to third scan shots <NUM>, <NUM>, and <NUM>, the fourth to sixth scan shots <NUM>, <NUM>, and <NUM>, and the seventh to ninth scan shots <NUM>, <NUM>, and <NUM> may be classified and stored as one group, another group, and still another group, respectively. In this case, a group in which the scan shots <NUM> are stored refers to a cluster <NUM>. The cluster <NUM> is a set of the scan shots <NUM> including at least one scan shot <NUM>. That is, if the concept of the cluster <NUM> illustrated in <FIG> is applied, the first to third scan shots <NUM>, <NUM>, and <NUM>, the fourth to sixth scan shots <NUM>, <NUM>, and <NUM>, and the seventh to ninth scan shots <NUM>, <NUM>, and <NUM> may be classified and stored as a first cluster, a second cluster, and a third cluster, respectively. The cluster <NUM> may be newly generated depending on whether the scan shots <NUM> obtained by scanning the object are aligned with each other or different clusters <NUM> may be merged.

Hereinafter, an inactive cluster and an active cluster are described.

<FIG> is for describing an alignment process between a scan shot and a cluster.

Referring to <FIG> and <FIG>, the obtained scan shots <NUM> may be stored in at least one cluster <NUM>. In this case, in a scan process displayed in real time through a display unit, such as a monitor, a currently obtained scan shot <NUM> and a cluster <NUM> including the scan shot <NUM> may be primarily displayed, and previously obtained scan shots <NUM> and/or clusters <NUM> including the previously obtained scan shots may be incidentally displayed. As illustrated in <FIG>, a currently obtained scan shot <NUM> and a third cluster <NUM> including the scan shot <NUM> are primarily displayed at a central part of a user interface screen <NUM> in real time, and a pre-formed first cluster <NUM> and second cluster <NUM> are additionally displayed on one side of a screen <NUM> of a user interface. In this case, a primarily displayed cluster <NUM> may be denoted as an active cluster, and an incidentally displayed cluster <NUM> may be denoted as an inactive cluster. The active cluster includes a previous scan shot. The previous scan shot acts as a target with which scan shot alignment is performed on a new scan shot <NUM> obtained in a scan process. For example, if the eighth scan shot included in the third cluster <NUM> is most recently obtained, the eighth scan shot may function as a previous scan shot, the third cluster <NUM> may function as an active cluster, and a user may obtain a new ninth scan shot in a scan process. The inactive cluster acts as a target with which cluster alignment is performed on a scan shot <NUM> obtained in the scan process.

<FIG> is for describing feature points used as media by which a scan shot and a cluster are aligned with each other. More specifically, <FIG> are for describing a process of scan shot feature points SP of scan shots <NUM> obtained as a scan process is performed from <FIG> being compared with cluster feature points CP of a cluster <NUM>.

Referring to <FIG>, <FIG>, and <FIG>, the data processing method according to the present invention includes step S121 of aligning the scan shot <NUM> with a pre-formed at least one inactive cluster. The step of aligning a scan shot <NUM> with a pre-formed inactive cluster is called cluster alignment.

When cluster alignment is performed, a medium called a feature point may be used to align an inactive cluster with a scan shot <NUM>. Each of the scan shot <NUM> and the cluster <NUM> has at least one feature point. The feature point may have color information, curve information, shape information, etc. appearing at a specific location of each datum. The feature point may be obtained by sampling each datum (a cluster and a scan shot formed in a point cloud form).

For example, the cluster <NUM> may have a plurality of cluster feature points CP. The scan shot <NUM> may have a plurality of scan shot feature points SP. When an inactive cluster and the scan shot <NUM> are aligned with each other, alignment between the inactive cluster and the scan shot <NUM> may be performed by comparing information of a cluster feature point CP and information of a scan shot feature point SP. As described above, a method of performing alignment by using a feature point as a medium may be included in the category of initial alignment. Additionally, the initial alignment may be performed by using a method of aligning the center point of the scan shot <NUM> with a given point of the cluster <NUM>, slightly differently from the aforementioned method.

A method for cluster alignment may be slightly different from a method for scan shot alignment. For example, in the cluster alignment, the initial alignment may be performed, the scan shot <NUM> and the cluster <NUM> may be aligned with each other by using, as media, the feature points SP and CP of the respective scan shot <NUM> and cluster <NUM>, and precise alignment between the scan shot <NUM> and the cluster <NUM> may be performed by using the ICP method. In contrast, in the scan shot alignment, alignment between the scan shots <NUM> may be performed by using only the ICP method.

The clusters <NUM> formed on the left of <FIG> are inactive clusters. The scan shots <NUM> formed on the right of <FIG> are obtained as a scan process is performed. As the scan shot <NUM> is obtained, the scan shot feature points SP may also be obtained by sampling the scan shot <NUM>. Cluster alignment is performed by comparing the scan shot feature points SP with the cluster feature points CP. In the process of performing the cluster alignment, cluster alignment is not subsequently performed again on the scan shot <NUM> that is obtained in a scan process and on which cluster alignment with a pre-formed inactive cluster has been attempted.

In a conventional technology, in order to attempt alignment between a cluster <NUM> and a cluster <NUM>, a portion (overlap area) overlapped between the clusters <NUM> needs to be consecutively detected. More specifically, in the conventional technology, in order to compare one cluster with another cluster, characteristics of the entire one cluster are compared with characteristics of the entire another cluster. In such a process, as the number of scan shots accumulated in each cluster is increased, the size of the cluster is increased. There is a problem in that an operation load is excessively increased in performing a comparison process between the clusters. In contrast, in the invention, after alignment between a scan shot <NUM> and a cluster <NUM> is performed, cluster alignment with another cluster <NUM> is not performed on a scan shot <NUM> included in any one cluster <NUM>. Accordingly, the time taken to finally obtain one <NUM>-D model can be reduced, and a load necessary for an operation can also be reduced.

As illustrated in <FIG>, it has been illustrated that the cluster <NUM> has twelve cluster feature points CP and the scan shot <NUM> has four scan shot feature points SP, but the present invention is not essentially limited to the numbers. Each of the cluster feature point CP and the scan shot feature point SP may be set as a proper number in order to implement a fast alignment speed and accurate alignment between data.

According to the aforementioned contents, the data processing method according to the present invention includes two types of alignment steps S120. One is step S121 of aligning, with a pre-formed inactive cluster, a scan shot <NUM> obtained in a scan process. The other is step S122 of aligning a scan shot <NUM> obtained in a scan process with a previous scan shot included in an active cluster. That is, step S121 is a step of performing a cluster alignment process, and step S122 is a step of performing a scan shot alignment process. Step S121 of aligning a scan shot with an inactive cluster and step S122 of aligning a scan shot with a previous scan shot are simultaneously or sequentially performed. For example, as illustrated in <FIG>, an obtained scan shot <NUM> may attempt cluster alignment with an inactive cluster while attempting scan shot alignment with a previous scan shot. Alternatively, an obtained scan shot <NUM> may preferentially attempt scan shot alignment with a previous scan shot, and may then attempt cluster alignment with inactive clusters. Inversely, the obtained scan shot <NUM> may preferentially attempt cluster alignment with inactive clusters and may then attempt scan shot alignment with a previous scan shot. That is, as illustrated in <FIG>, step S121 and step S122 have been illustrated as being performed in parallel, but the present invention is not essentially limited thereto. Step S121 may be first performed and step S122 may be then performed, or step S122 may be first performed and step S121 may be then performed.

Hereinafter, step S130 of selectively merging an active cluster and an inactive cluster in the data processing method according to the present invention is described in detail.

<FIG> is for describing a detailed process of S130. <FIG> are for describing a process of data being processed depending on whether scan shot alignment and cluster alignment are successful or not in the data processing method according to the present invention. When the present invention is described with reference to <FIG>, a shaded cluster may mean an active cluster, and a cluster that is not shaded may mean an inactive cluster.

Referring to <FIG> and <FIG>, the data processing method according to the present invention includes step S130 of selectively merging an active cluster and an inactive cluster including a scan shot <NUM> based on whether a scan shot and an inactive cluster are aligned with each other in step S121. Accordingly, an active cluster and an inactive cluster may form one merged cluster. As a process of the clusters <NUM> being merged is repeated, a finally complete one <NUM>-D model may be obtained. To selectively merge an active cluster and an inactive cluster means that an active cluster and an inactive cluster are merged in a specific condition depending on whether cluster alignment and scan shot alignment are successful or not.

Step S130 of selectively merging an active cluster and an inactive cluster is more specifically described. Step S130 may include at least two determination steps. In step S130, whether cluster alignment and scan shot alignment are successful may be determined. For example, in step S130, whether scan shot alignment is successful may be determined, and whether cluster alignment is successful may be then determined. However, the present invention is not essentially limited to the order. In step S130, after whether cluster alignment is successful is determined, whether scan shot alignment is successful may be determined. Furthermore, in step S130, whether scan shot alignment and cluster alignment are successful or not may be determined in parallel.

The determination steps are more specifically described through one example with reference to <FIG>. For example, eight scan shots <NUM> have been first obtained, and the scan shots <NUM> are included in the three clusters <NUM>. In this case, the first cluster <NUM> may include the first scan shot <NUM>, the second scan shot <NUM>, and the third scan shot <NUM>. The second cluster <NUM> may include the fourth scan shot <NUM>, the fifth scan shot <NUM>, and the sixth scan shot <NUM>. The third cluster <NUM> may include the seventh scan shot <NUM> and the eighth scan shot <NUM>. A user may obtain the ninth scan shot <NUM> after the eighth scan shot <NUM> by scanning the object. In this case, a previous scan shot is the eighth scan shot <NUM>. The third cluster <NUM> including the previous scan shot is an active cluster, and the first cluster <NUM> and the second cluster <NUM> not including the previous scan shot are inactive clusters.

The ninth scan shot <NUM> may attempt scan shot alignment with the eighth scan shot <NUM>, that is, a previous scan shot, and may attempt cluster alignment with the first cluster <NUM> and the second cluster <NUM>, that is, inactive clusters. In this case, a process of the scan shot alignment and the cluster alignment being performed has been described above.

Referring to <FIG> and <FIG>, in step S130, if an obtained scan shot (the ninth scan shot) is aligned with a previous scan shot (the eighth scan shot) and the scan shot (the ninth scan shot) is aligned with an inactive cluster (any one of the first cluster and the second cluster), the inactive cluster subjected to cluster alignment with the scan shot may be merged with an active cluster. For example, it is assumed that the cluster alignment of the ninth scan shot <NUM> with the first cluster <NUM> has been successful. In this case, the first cluster <NUM>, that is, an inactive cluster, may form a merged cluster <NUM> by being merged with the third cluster <NUM>, that is, an active cluster. Furthermore, the merged cluster <NUM> may include all the scan shots <NUM> included in the first cluster <NUM> and the third cluster <NUM>. That is, the scan shots <NUM>, <NUM>, and <NUM> included in the first cluster <NUM>, that is, an inactive cluster, may be included in the third cluster <NUM>, that is, an active cluster. The merged cluster <NUM> may include the first scan shot <NUM>, the second scan shot <NUM>, the third scan shot <NUM>, the seventh scan shot <NUM>, the eighth scan shot <NUM>, and the ninth scan shot <NUM>. The merged cluster <NUM> may function as an active cluster.

Furthermore, referring to <FIG> and <FIG>, if the ninth scan shot <NUM> is subjected to scan shot alignment with the eighth scan shot <NUM>, that is, a previous scan shot, but is not subjected to cluster alignment with any of the first cluster <NUM> and the second cluster <NUM>, that is, inactive clusters, the ninth scan shot <NUM> may be included in the third cluster <NUM>, that is, an active cluster. Thereafter, when a scan process is performed and a subsequent tenth scan shot (not illustrated) is obtained, the ninth scan shot <NUM> may function as a previous scan shot, and the third cluster <NUM> including the ninth scan shot <NUM> may function as an active cluster. The tenth scan shot may attempt scan shot alignment with the ninth scan shot <NUM>, and may attempt cluster alignment with the first cluster <NUM> and the second cluster <NUM>.

Furthermore, referring to <FIG> and <FIG>, if the ninth scan shot <NUM> is not subjected to scan shot alignment with the eighth scan shot <NUM>, that is, a previous scan shot, and the ninth scan shot <NUM> is not subjected to cluster alignment with any of the first cluster <NUM> and the second cluster <NUM>, that is, inactive clusters, it may be determined that the ninth scan shot <NUM> is not aligned with any of the pre-formed inactive and active clusters <NUM>, <NUM>, and <NUM>. In such a case, the ninth scan shot <NUM> may be included in a new active cluster that is not included in the pre-formed inactive and active clusters <NUM>, <NUM>, and <NUM> and that is newly generated. For example, a fourth cluster <NUM>, that is, a new active cluster, is generated, and the ninth scan shot <NUM> is included in the fourth cluster <NUM>. Thereafter, when a scan process is performed and a subsequent tenth scan shot is obtained, the ninth scan shot <NUM> may function as a previous scan shot, and the fourth cluster <NUM>, that is, a new active cluster including the ninth scan shot <NUM>, may function as an active cluster. At this time, the third cluster <NUM> that was an active cluster may be changed into an inactive cluster. The tenth scan shot may attempt scan shot alignment with the ninth scan shot <NUM>, and may attempt cluster alignment with the first cluster <NUM>, the second cluster <NUM>, and the third cluster <NUM>.

Furthermore, referring to <FIG> and <FIG>, if the ninth scan shot <NUM> is not subjected to scan shot alignment with the eighth scan shot <NUM>, that is, a previous scan shot, and the ninth scan shot <NUM> is subjected to cluster alignment with any one of the first cluster <NUM> and the second cluster <NUM>, that is, inactive clusters, the ninth scan shot <NUM> may be included in an inactive cluster with which cluster alignment has been performed. For example, when the ninth scan shot <NUM> is subjected to cluster alignment with the first cluster <NUM>, that is, an inactive cluster, the ninth scan shot <NUM> is included in the first cluster <NUM>. Furthermore, when a subsequent scan process is performed and a subsequent tenth scan shot is obtained, the ninth scan shot <NUM> may function as a previous scan shot, and the first cluster <NUM> including the ninth scan shot <NUM> may function as an active cluster. That is, when the ninth scan shot <NUM> is included in the first cluster <NUM>, that is, an inactive cluster, an active cluster and an inactive cluster may be changed so that the first cluster <NUM>, that is, an inactive cluster, is activated and the third cluster <NUM> that was an active cluster is deactivated. A user may easily check the cluster <NUM> including a currently obtained scan shot <NUM>. Accordingly, there is an advantage in that the user can check a location of an object scanned by the user. Furthermore, there is an advantage in that a scan can be freely performed regardless of whether alignment is successful or not. Furthermore, although a scan shot alignment failure occurs, if cluster alignment is successful, an unnecessary new cluster is not generated and an inactive cluster is activated and used. Accordingly, there is an advantage in that an operation speed is improved because the number of clusters taken into consideration in an alignment process is minimized.

<FIG> is for describing an undo process in which the third cluster <NUM> is taken as an example.

Referring to <FIG>, a user may cancel the acquisition of the scan shot <NUM>. For example, referring to <FIG>, it is assumed that the third cluster <NUM>, that is, an active cluster, includes the seventh scan shot <NUM>, the eighth scan shot <NUM>, and the ninth scan shot <NUM>. A user may select an undo button (not illustrated) formed on a user interface screen, and may delete a scan shot in reverse order of time from a scan shot <NUM> that has been most recently obtained. In <FIG>, when a user selects the undo button, the ninth scan shot <NUM> that has been most recently obtained may be deleted. Referring to <FIG>, when the user selects the undo button again, the eighth scan shot <NUM> obtained prior to the deleted ninth scan shot <NUM> may be deleted. Referring to <FIG>, when the user selects the undo button again, the seventh scan shot <NUM> obtained prior to the deleted eighth scan shot <NUM> may be deleted. At this time, since the third cluster <NUM> does not include any scan shot <NUM>, the third cluster <NUM> may also be deleted. When the third cluster <NUM> is deleted, a cluster functioning as an active cluster before the third cluster <NUM> functions as an active cluster may be activated again and displayed on a screen of a user interface. Thereafter, additionally, when an undo process is performed, scan shots may be deleted in reverse order of time obtained from a scan shot <NUM> that has been most recently obtained in the activated cluster.

A process of deleting the obtained scan shot <NUM> may be performed in one shot unit as described above, but a plurality of scan shots <NUM> may be together deleted, if necessary.

Hereinafter, a process of a user interface screen being changed when the scan shot <NUM> is aligned with an inactive cluster and the inactive cluster is changed into an active cluster is more specifically described.

<FIG> is for describing a process of a screen being changed as the scan shot <NUM> is aligned with an inactive cluster in a data processing method according to the present invention. <FIG> and <FIG> are for describing a screen change process between an active cluster and an inactive cluster.

Referring to <FIG> and <FIG>, a plurality of scan shots <NUM> representing an object O is obtained by scanning the object O. For example, a user may obtain a first scan shot <NUM>, a second scan shot <NUM>, a third scan shot <NUM>, a fourth scan shot <NUM>, a fifth scan shot <NUM>, a sixth scan shot <NUM>, and a seventh scan shot <NUM> by scanning the object O. Based on the illustration in <FIG>, the first scan shot <NUM>, the second scan shot <NUM>, and the third scan shot <NUM> may be included in a first cluster <NUM>, and the fourth scan shot <NUM>, the fifth scan shot <NUM>, and the sixth scan shot <NUM> may be included in a second cluster <NUM>. Before the user obtains the seventh scan shot <NUM> through the scan process, the second cluster <NUM> including the sixth scan shot <NUM>, that is, a previous scan shot, may function as an active cluster.

In this case, the scan shot <NUM>, the active cluster, and the inactive cluster may be displayed on a user interface screen <NUM> having a plurality of areas. For example, an obtained scan shot <NUM> and an active cluster may be primarily displayed on the screen <NUM> of the user interface, and an inactive cluster may be incidentally displayed on the screen <NUM> of the user interface. More specifically, the screen <NUM> of the user interface may include a main area <NUM> occupying a given area, and a sub-area <NUM> occupying an area smaller than the main area <NUM>. In this case, the main area <NUM> may be formed to include the center of the screen <NUM> of the user interface in a way to be visually easily displayed to a user, and the sub-area <NUM> may be formed on one side of the screen <NUM> of the user interface. In order for a user to display, on the screen <NUM> of the user interface, a scan process along with a currently obtained scan shot <NUM> in real time, the obtained scan shot <NUM> and the second cluster <NUM>, that is, an active cluster, may be displayed in the main area <NUM>. The first cluster <NUM>, that is, an inactive cluster, may be displayed in the sub-area <NUM>. The user may obtain scan information, such as the number of clusters <NUM> generated and a location of an object O now being scanned, through the main area <NUM> and the sub-area <NUM>.

Referring to <FIG> together, the seventh scan shot <NUM> may be obtained and subjected with scan shot alignment with the sixth scan shot <NUM>, that is, a previous scan shot, and may be subjected with cluster alignment with the first cluster <NUM>, that is, an inactive cluster. In this case, if the scan shot alignment fails and the cluster alignment is successful, the seventh scan shot <NUM> may be included in the first cluster <NUM>, that is, an inactive cluster. Furthermore, the first cluster <NUM> may be changed into an active cluster (the activation of the inactive cluster), and the second cluster <NUM> may be changed into an inactive cluster (the deactivation of the active cluster). Referring to <FIG>, the first cluster <NUM> that includes a scan shot (more specifically, the seventh scan shot) and that was an inactive cluster may be activated and displayed in the main area <NUM> of the screen <NUM> of the user interface. At the same time, the second cluster <NUM> that does not include a scan shot and that was an active cluster may be deactivated, and a schematic shape thereof may be displayed in a thumbnail form in the sub-area <NUM> of the screen <NUM> of the user interface. There are advantages in that a user can easily check a location of an object O now being scanned and user's convenience is improved because displayed areas are changed as an active cluster and an inactive cluster are changed as described above.

In the aforementioned contents, the scan shot alignment and the cluster alignment may be limitedly performed on a specific area. For example, when scan shot alignment and cluster alignment are performed, an area with which alignment is performed may be limited to only an area representing teeth among a scan shot and a cluster representing an object, and a gum, a tongue, a soft tissue, noise, etc. may be excluded from the object of the alignment. A process of distinguishing between the area representing the teeth and the remaining area may be performed by using artificial intelligence (AI) by image learning. A process of excluding noise, etc. may be performed by using a known noise filtering technology. The data processing method according to the present invention has an advantage in that scan shot alignment and/or cluster alignment can be rapidly and accurately performed because only teeth is limited as the subject of alignment. Furthermore, there is an advantage in that the time taken to finally obtain a <NUM>-D model having a high level of completion can be reduced because a merging speed between clusters can be increased.

Hereinafter, a data processing apparatus according to the present invention using the data processing method is described. In describing the data processing apparatus, contents redundant with the aforementioned contents are described in brief or omitted.

<FIG> is a configuration of a data processing apparatus <NUM> according to the present invention.

Referring to <FIG>, the data processing apparatus <NUM> according to the present invention includes a scanner <NUM>, a controller <NUM>, and a display unit <NUM>. The scanner <NUM> is configured to scan an object. The scanner <NUM> may have embedded therein at least one camera (not illustrated) for receiving light. Light reflected by a surface of an object may be incident on the inside of the scanner <NUM> and received by the lens of the camera. A scan shot representing the object may be generated based on the light received by the camera. The scanner <NUM> may be a table scanner capable of rotating or moving an object mounted on a tray thereof, and may be a portable scanner that is held by a user and that performs a scan process toward an object.

The controller <NUM> is electrically connected to the scanner <NUM>, and may generate a scan shot based on light received by the scanner <NUM>. Furthermore, the controller <NUM> is configured to align the scan shot with a pre-formed cluster (more specifically, an inactive cluster), and to selectively merge an active cluster and an inactive cluster based on the alignment.

A detailed configuration of the controller <NUM> is more specifically described. The controller <NUM> includes a scan shot generation unit <NUM> which generates a scan shot based on an object scanned by the scanner <NUM>. The scan shot generation unit <NUM> may receive light received by the camera of the scanner <NUM> and generate a scan shot. The scan shot may be <NUM>-D image data or a <NUM>-D data piece. The scan shot generation unit <NUM> has been illustrated as being one component of the controller <NUM>, but the present invention is not essentially limited thereto. The scan shot generation unit <NUM> may be formed as one component of the scanner <NUM>, if necessary.

Furthermore, the controller <NUM> includes an alignment unit <NUM>. The alignment unit <NUM> aligns a scan shot, generated by the scan shot generation unit <NUM>, with a previous scan shot included in an active cluster (scan shot alignment), or aligns the scan shot with an inactive cluster (cluster alignment). For example, a process of aligning a scan shot, generated and obtained by the scan shot generation unit <NUM>, with a previous scan shot included in an active cluster may be performed by using the ICP alignment method. A process of aligning a scan shot with an inactive cluster may be performed by using an initial alignment method. The scan shot alignment and the cluster alignment may be performed by comparing scan shot feature points of the scan shot and cluster feature points of the cluster. A process of performing alignment by using the feature points has been described above.

Furthermore, the alignment unit <NUM> may simultaneously or sequentially perform a process of aligning a scan shot with a previous scan shot and a process of aligning a scan shot with an inactive cluster. That is, the alignment unit <NUM> is configured to perform step S121 and step S122. In this case, the order of execution of step S121 and step S122 may be simultaneous or sequential. Step S121 may be first performed and step S122 may be then performed, or step S122 may be first performed and step S121 may be then performed.

Furthermore, the controller <NUM> includes a cluster management unit <NUM>. The cluster management unit <NUM> plays a role to generate and manage a cluster. For example, the cluster management unit <NUM> merges a plurality of clusters based on a result of the alignment of the alignment unit <NUM>. Furthermore, the cluster management unit <NUM> generates a new active cluster based on a result of the alignment of the alignment unit <NUM>, and manages a scan shot so that the scan shot is included in the new active cluster. Furthermore, the cluster management unit <NUM> may manage clusters so that an inactive cluster is activated or an active cluster is deactivated.

Hereinafter, a detailed operation of the cluster management unit <NUM> is described.

If the alignment unit <NUM> aligns a scan shot with a previous scan shot and aligns the scan shot with an inactive cluster, the cluster management unit <NUM> may merge an active cluster including the previous scan shot and the inactive cluster. In this case, the cluster management unit <NUM> may perform the merging between the clusters in a way that the inactive cluster is merged with the active cluster. The merged cluster includes scan shots included in the active cluster and scan shots included in the inactive cluster. There are advantages in that the number of clusters constituting a <NUM>-D model can be reduced in a scan process and a complete <NUM>-D model can be more rapidly obtained because scan shots are subjected to scan shot alignment and cluster alignment.

Furthermore, if the alignment unit <NUM> aligns a scan shot with a previous scan shot and does not align the scan shot with an inactive cluster, the cluster management unit <NUM> may include the scan shot in an active cluster including the previous scan shot. In a subsequent scan process, the active cluster including the scan shot maintains a state in which the active cluster continues to be activated.

Furthermore, if the alignment unit <NUM> does not align a scan shot with a previous scan shot and does not align the scan shot with an inactive cluster, the cluster management unit <NUM> may perform control so that a new group including the scan shot is generated. More specifically, the cluster management unit <NUM> deactivates an active cluster, generates a new active cluster, and includes the scan shot in the new active cluster. Accordingly, in a subsequent scan process, the new active cluster may function as an active cluster.

Furthermore, if the alignment unit <NUM> does not align a scan shot with a previous scan shot and aligns the scan shot with an inactive cluster, the cluster management unit <NUM> performs control so that the scan shot is included in the inactive cluster. In this case, while including an obtained scan shot in the inactive cluster, the cluster management unit <NUM> may activate the inactive cluster including the scan shot (changes the inactive cluster into an active cluster), and may deactivate an active cluster including the previous scan shot (changes the active cluster into an inactive cluster). The inactive cluster becomes the subject of cluster alignment with a scan shot that is subsequently newly obtained, the active cluster becomes the subject of scan shot alignment, and a detailed description related thereto has been described above. According to the aforementioned process, although scan shot alignment fails, if cluster alignment is successful, the cluster management unit <NUM> can activate and use an inactive cluster without generating an unnecessary new cluster. Accordingly, there is an advantage in that an operation speed is increased because the number of clusters taken into consideration in an alignment process is minimized.

The display unit <NUM> visually displays, to a user, at least some of scan shots and clusters in the aforementioned contents. More specifically, the display unit <NUM> displays at least one of a scan shot, an inactive cluster, and an active cluster. The user may comprehensively easily check a location of an object that is now scanned, the number of clusters generated, etc. by checking the display unit <NUM>. A known visual display device may be used as the display unit <NUM>. For example, the display unit <NUM> may be a monitor, a tablet, a touch screen, etc..

The display unit <NUM> includes a main area occupying a given area and a sub-area occupying an area smaller than the main area, and displays a user interface having a plurality of areas. The display unit <NUM> may display an active cluster and a scan shot in the main area of the user interface, and may display an inactive cluster in the sub-area of the user interface.

Furthermore, if a scan shot is included in an inactive cluster, the display unit <NUM> may activate the inactive cluster and display the active cluster in the main area, and may deactivate an active cluster and display the inactive cluster in the sub-area in a thumbnail form, under the control of the cluster management unit <NUM>. Accordingly, there is an advantage in that a user can easily check a location of an object now being scanned because clusters are changed.

The embodiments described in the present disclosure should not be construed as limiting the scope of the present invention, which is defined in the appended claims.

Claim 1:
A data processing method carried out by a controller comprising:
obtaining (S110) a scan shot (<NUM>) representing an object;
attempt aligning (S121) the scan shot (<NUM>) with a pre-formed at least one inactive cluster (<NUM>), wherein a cluster (<NUM>) is a stored set of scan shots (<NUM>) and includes at least one scan shot (<NUM>), wherein an active cluster (<NUM>) includes a previous scan shot (<NUM>) obtained previously of the most recently obtained scan shot (<NUM>), and wherein the inactive cluster (<NUM>) includes a set of scan shots (<NUM>) not including the previous scan shot (<NUM>);
attempt aligning (S122) the scan shot (<NUM>) with the previous scan shot (<NUM>) included in the active cluster (<NUM>) (<NUM>), wherein attempting the aligning of the scan shot (<NUM>) with the inactive cluster (<NUM>) and the attempting the aligning of the scan shot (<NUM>) with the previous scan shot (<NUM>) are simultaneously or sequentially performed; and
selectively merging (S130) the active cluster (<NUM>) and the inactive cluster (<NUM>), based on whether the scan shot (<NUM>) is successfully aligned with the active cluster (<NUM>) and the inactive cluster (<NUM>).