Data processing device, data processing method, data processing program, and data processing system

The data processing system addresses the time-consuming manual correction of three-dimensional data by automatically determining and correcting data by automatically determining the authenticity of the authenticity of the three-dimensional data, allowing for the effective and efficient acquisition of three-dimensional data.

JP7783728B2Active Publication Date: 2025-12-10J MORITA MANUFACTURING CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2021196014
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-12-02
Publication Date
2025-12-10
Estimated Expiration
2041-12-02

AI Technical Summary

Technical Problem

Existing three-dimensional scanning technologies in dentistry require manual selection of valid data points, which is time-consuming due to obstacles like fingers or tongues interfering with the scanning process.

Method used

A data processing system that compares and aligns three-dimensional data sets using the three-dimensional scanner's position as a reference, generating a virtual space to automatically determine and correct data authenticity, eliminating the need for manual selection.

Benefits of technology

Automates the correction of three-dimensional data in the three-dimensional data, allowing for the easy and appropriate acquisition of three-dimensional data by automatically determining and correcting data authenticity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007783728000001
    Figure 0007783728000001
  • Figure 0007783728000002
    Figure 0007783728000002
  • Figure 0007783728000003
    Figure 0007783728000003
Patent Text Reader

Abstract

To provide a technique capable of easily and appropriately acquiring three-dimensional data on an object using a three-dimensional scanner.SOLUTION: A data processing device 1 includes: an input section 1101 to which three-dimensional data acquired by a three-dimensional scanner 2 is inputted; and a data processing section 1102 that performs first data processing for determining the authenticity of first three-dimensional data and second three-dimensional data by comparing the first three-dimensional data inputted from the input section 1101 and the second three-dimensional data inputted from the input section 1101 in virtual space 50 using a position of the three-dimensional scanner 2 as reference.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a data processing device, a data processing method, a data processing program, and a data processing system that process three-dimensional data including the positions of each of a point cloud representing at least the surface of an object acquired by a three-dimensional scanner. [Background technology]

[0002] Conventionally, in the field of dentistry, a technology for acquiring three-dimensional data of an object such as teeth by scanning the oral cavity with a three-dimensional scanner is known. During scanning with a three-dimensional scanner, an obstacle such as the operator's finger, a dental instrument, or the patient's tongue may come between the object to be scanned, such as the tooth, and the three-dimensional scanner, preventing the three-dimensional scanner from properly acquiring the three-dimensional data of the object to be scanned. In this regard, Patent Document 1 discloses an information processing device that enables a user to delete three-dimensional data selected by the user from the three-dimensional data acquired by the three-dimensional scanner. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent Publication No. 2021-111254 Summary of the Invention [Problem to be solved by the invention]

[0004] According to the information processing device disclosed in Patent Document 1, a user can correct three-dimensional data acquired by a three-dimensional scanner even if an obstacle enters the oral cavity during scanning. However, in order to correct the three-dimensional data, the user must select the three-dimensional data to be deleted from the three-dimensional data acquired by the three-dimensional scanner, which is time-consuming.

[0005] The present disclosure has been made to solve such problems, and aims to provide a technology that can easily and appropriately acquire three-dimensional data of an object using a three-dimensional scanner. [Means for solving the problem]

[0006] According to one example of the present disclosure, at least the surface of an object is acquired by a three-dimensional scanner. Multiple points that make up the The positions of show A data processing device for processing three-dimensional data is provided, the data processing device comprising: an input unit to which three-dimensional data acquired by a three-dimensional scanner is input; In the first 3D scanner scan Input from the input section Indicates the location of the first point contained in the three-dimensional data First three-dimensional data; In the second scan with the 3D scanner after the first scan Input from the input section Contains three-dimensional data and indicates the location of a second point and a data processing unit that executes first data processing to determine authenticity of the first three-dimensional data and the second three-dimensional data by comparing the first three-dimensional data with the second three-dimensional data, and the first data processing includes: Using the position of the three-dimensional scanner in the first scan as a reference point, a coordinate system for indicating the position of the first point acquired by the three-dimensional scanner in the first scan is matched with a coordinate system for indicating the position of the second point acquired by the three-dimensional scanner in the second scan, and a virtual space is generated with the optical axis of the three-dimensional scanner pointing from the position of the second point acquired by the three-dimensional scanner in the second scan as its central axis toward the position of the three-dimensional scanner as the reference point. If the position of the first point acquired by the three-dimensional scanner in the first scan exists in the virtual space, a second coordinate system indicating the position of the second point is generated. Processing three-dimensional data into true three-dimensional data, or the first point indicating the location of the first point Processing to make 3D data into false 3D data Reason include.

[0007] According to one example of the present disclosure, at least the surface of an object is acquired by a three-dimensional scanner. Multiple points that make up the The positions of show A data processing method for processing three-dimensional data by a computer is provided, the data processing method comprising the steps of: receiving three-dimensional data acquired by a three-dimensional scanner; In the first 3D scanner scan Entered by the step being entered Indicates the location of the first point contained in the three-dimensional data First three-dimensional data; In the second scan with the 3D scanner after the first scan Entered by the step being entered Contains three-dimensional data and indicates the location of a second point and performing a first data processing step of determining authenticity of the first three-dimensional data and the second three-dimensional data by comparing the first three-dimensional data with the second three-dimensional data, wherein the first data processing step includes: Using the position of the three-dimensional scanner in the first scan as a reference point, a coordinate system for indicating the position of the first point acquired by the three-dimensional scanner in the first scan is matched with a coordinate system for indicating the position of the second point acquired by the three-dimensional scanner in the second scan, and a virtual space is generated with the optical axis of the three-dimensional scanner pointing from the position of the second point acquired by the three-dimensional scanner in the second scan as its central axis toward the position of the three-dimensional scanner as the reference point. If the position of the first point acquired by the three-dimensional scanner in the first scan exists in the virtual space, a second coordinate system indicating the position of the second point is generated. Processing three-dimensional data into true three-dimensional data, or the first point indicating the location of the first point Processing to make 3D data into false 3D data Reason include.

[0008] According to one example of the present disclosure, at least the surface of an object is acquired by a three-dimensional scanner. Multiple points that make up the The positions of show A data processing program for processing three-dimensional data is provided, the data processing program comprising the steps of: inputting three-dimensional data acquired by a three-dimensional scanner into a computer; In the first 3D scanner scan Entered by the step being entered Indicates the location of the first point contained in the three-dimensional data First three-dimensional data; In the second scan with the 3D scanner after the first scan Entered by the step being entered Contains three-dimensional data and indicates the location of a second point and executing a first data processing step of determining authenticity of the first three-dimensional data and the second three-dimensional data by comparing the first three-dimensional data with the second three-dimensional data, wherein the first data processing step includes: Using the position of the three-dimensional scanner in the first scan as a reference point, a coordinate system for indicating the position of the first point acquired by the three-dimensional scanner in the first scan is matched with a coordinate system for indicating the position of the second point acquired by the three-dimensional scanner in the second scan, and a virtual space is generated with the optical axis of the three-dimensional scanner pointing from the position of the second point acquired by the three-dimensional scanner in the second scan as its central axis toward the position of the three-dimensional scanner as the reference point. If the position of the first point acquired by the three-dimensional scanner in the first scan exists in the virtual space, a second coordinate system indicating the position of the second point is generated. Processing three-dimensional data into true three-dimensional data, or the first point indicating the location of the first point Processing to make 3D data into false 3D data Reason include.

[0009] According to one example of the present disclosure, there is provided a data processing system, the data processing system being configured to scan an object in an oral cavity to identify at least a surface of the object. Multiple points that make up the The positions of show The apparatus includes a three-dimensional scanner for acquiring three-dimensional data, and a data processing device for processing the three-dimensional data acquired by the three-dimensional scanner. The data processing device includes an input unit to which the three-dimensional data acquired by the three-dimensional scanner is input, In the first 3D scanner scan Input from the input section Indicates the location of the first point contained in the three-dimensional data First three-dimensional data; In the second scan with the 3D scanner after the first scan Input from the input section Contains three-dimensional data and indicates the location of a second point and a data processing unit that executes first data processing to determine authenticity of the first three-dimensional data and the second three-dimensional data by comparing the first three-dimensional data with the second three-dimensional data, and the first data processing includes: Using the position of the three-dimensional scanner in the first scan as a reference point, a coordinate system for indicating the position of the first point acquired by the three-dimensional scanner in the first scan is matched with a coordinate system for indicating the position of the second point acquired by the three-dimensional scanner in the second scan, and a virtual space is generated with the optical axis of the three-dimensional scanner pointing from the position of the second point acquired by the three-dimensional scanner in the second scan as its central axis toward the position of the three-dimensional scanner as the reference point. If the position of the first point acquired by the three-dimensional scanner in the first scan exists in the virtual space, a second coordinate system indicating the position of the second point is generated. Processing three-dimensional data into true three-dimensional data, or the first point indicating the location of the first point Processing to make 3D data into false 3D data Reason include. [Effects of the Invention]

[0010] According to the present disclosure, a user can easily and appropriately acquire three-dimensional data of an object using a three-dimensional scanner. [Brief explanation of the drawings]

[0011] [Figure 1] 1 is a diagram illustrating an application example of a data processing system and a data processing device according to an embodiment of the present invention; [Figure 2] 1 is a block diagram showing a hardware configuration of a data processing device according to an embodiment of the present invention; [Figure 3] 1 is a diagram showing a configuration of a three-dimensional scanner according to an embodiment of the present invention; [Figure 4] FIG. 1 is a diagram for explaining a scanning method using a three-dimensional scanner. [Figure 5] FIG. 1 is a diagram illustrating an example of scanning by a three-dimensional scanner. [Figure 6] 1 is a block diagram showing a functional configuration of a data processing device according to an embodiment of the present invention; [Figure 7] FIG. 10 is a diagram illustrating an example of a data determination process of the data processing device according to the present embodiment. [Figure 8] FIG. 10 is a diagram illustrating an example of a data determination process of the data processing device according to the present embodiment. [Figure 9] FIG. 10 is a diagram illustrating an example of a data determination process of the data processing device according to the present embodiment. [Figure 10] FIG. 10 is a diagram illustrating an example of a three-dimensional data table. [Figure 11] 3A to 3C are diagrams illustrating an example of a mesh generation process, a data set determination process, and an image data generation process of the data processing device according to the present embodiment. [Figure 12] FIG. 10 is a diagram illustrating an example of a dataset table. [Figure 13] 10 is a flowchart illustrating an example of processing executed by the data processing device according to the present embodiment. [Figure 14] FIG. 10 is a diagram illustrating an example of a data determination process of a data processing device according to a modified example. [Figure 15]FIG. 10 is a diagram illustrating an example of a data determination process of a data processing device according to a modified example. [Figure 16] FIG. 10 is a diagram illustrating an example of a data determination process of a data processing device according to a modified example. DETAILED DESCRIPTION OF THE INVENTION

[0012] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present disclosure will be described in detail with reference to the accompanying drawings. In the drawings, the same or corresponding parts are designated by the same reference numerals and the description thereof will not be repeated.

[0013] [Application example] An application example of a data processing system 10 and a data processing device 1 according to the present embodiment will be described with reference to Fig. 1. Fig. 1 is a diagram showing an application example of a data processing system 10 and a data processing device 1 according to the present embodiment.

[0014] As shown in FIG. 1, a user can obtain three-dimensional data of an object in the oral cavity by scanning the oral cavity of a subject using a three-dimensional scanner 2. The "user" can be anyone who obtains three-dimensional data of an object such as a tooth using the three-dimensional scanner 2, such as a dentist or other practitioner, a dental assistant, a professor or student at a dental school, a dental technician, a manufacturer's engineer, or a worker at a manufacturing plant. The "subject" can be anyone who can be scanned by the three-dimensional scanner 2, such as a patient at a dental clinic or a subject at a dental school. The "object" can be anything that can be scanned by the three-dimensional scanner 2, such as a tooth in the oral cavity of a subject. In the following, the object to be scanned will also be referred to as the "scan object."

[0015] The data processing system 10 includes a data processing device 1 and a three-dimensional scanner 2. A display 3, a keyboard 4, and a mouse 5 are connected to the data processing device 1.

[0016] The three-dimensional scanner 2 acquires three-dimensional data of the scanned object using a built-in three-dimensional camera. Specifically, the three-dimensional scanner 2 scans the oral cavity and acquires the positions (coordinates of each of the vertical, horizontal, and height axes) of each of the points representing the surface of the scanned object as three-dimensional data using an optical sensor or the like. In other words, the three-dimensional data includes position information (coordinates of each of the vertical, horizontal, and height axes) of each of the multiple points constituting the surface of the scanned object.

[0017] Since the measurement range that the three-dimensional scanner 2 can measure at one time is limited, if a user wants to obtain three-dimensional data of the entire dentition (dental arch) in the oral cavity, the user scans the oral cavity multiple times by moving the three-dimensional scanner 2 inside the oral cavity along the dentition.

[0018] The data processing device 1 generates two-dimensional image data corresponding to a two-dimensional image viewed from any viewpoint based on the three-dimensional data acquired by the three-dimensional scanner 2, and displays the two-dimensional image corresponding to the generated two-dimensional image data on the display 3, thereby allowing the user to see a two-dimensional projection drawing of the surface of the scanned object as viewed from a specific direction.

[0019] Furthermore, the data processing device 1 outputs the three-dimensional data to a dental laboratory. At the dental laboratory, a dental technician creates a tooth model for a prosthesis or the like based on the three-dimensional data acquired from the data processing device 1. If an automatic manufacturing device capable of automatically manufacturing tooth models, such as a milling machine or a 3D printer, is installed in the dental clinic, the data processing device 1 may output the three-dimensional data to the automatic manufacturing device.

[0020] [Hardware configuration of data processing device] The hardware configuration of the data processing device 1 according to this embodiment will be described with reference to Fig. 2. Fig. 2 is a block diagram showing the hardware configuration of the data processing device 1 according to this embodiment. The data processing device 1 may be realized, for example, by a general-purpose computer or by a computer dedicated to the data processing system 10.

[0021] As shown in FIG. 2, the data processing device 1 includes, as its main hardware elements, an arithmetic unit 11, a memory unit 12, a scanner interface 13, a communication unit 14, a display interface 15, a peripheral device interface 16, and a media reading unit 17.

[0022] The arithmetic device 11 is an arithmetic entity that executes various processes by executing various programs, and is an example of a computer. The arithmetic device 11 is configured, for example, by a CPU (Central Processing Unit), an FPGA (Field-Programmable Gate Array), and a GPU (Graphics Processing Unit). The arithmetic device 11 may be configured by at least one of the CPU, FPGA, and GPU, or may be configured by a CPU and an FPGA, an FPGA and a GPU, a CPU and a GPU, or all of the CPU, FPGA, and GPU. The arithmetic device 11 may also be configured by a processing circuitry.

[0023] The storage device 12 includes a volatile storage area (e.g., a working area) that temporarily stores program code, work memory, and the like when the arithmetic device 11 executes any program. For example, the storage device 12 is configured with a volatile memory device such as a DRAM (Dynamic Random Access Memory) or an SRAM (Static Random Access Memory). Furthermore, the storage device 12 includes a nonvolatile storage area. For example, the storage device 12 is configured with a nonvolatile memory device such as a ROM (Read Only Memory), a hard disk, or an SSD (Solid State Drive).

[0024] In this embodiment, an example has been shown in which a volatile storage area and a nonvolatile storage area are included in the same storage device 12, but the volatile storage area and the nonvolatile storage area may be included in different storage devices. For example, the arithmetic device 11 may include a volatile storage area, and the storage device 12 may include a nonvolatile storage area. The data processing device 1 may include a microcomputer including the arithmetic device 11 and the storage device 12.

[0025] The storage device 12 stores three-dimensional data 121 acquired by the three-dimensional scanner 2 and a data processing program 122. The data processing program 122 is a program for executing data processing of the three-dimensional data acquired by the arithmetic device 11 from the three-dimensional scanner 2 (processing in FIG. 13 described later).

[0026] The scanner interface 13 is an interface for connecting the three-dimensional scanner 2, and realizes input and output of data between the data processing device 1 and the three-dimensional scanner 2. The data processing device 1 and the three-dimensional scanner 2 are connected via a wired connection using a cable, or wirelessly (WiFi, Bluetooth (registered trademark), etc.).

[0027] The communication device 14 transmits and receives data to and from the dental laboratory or the automated manufacturing device via wired or wireless communication. For example, the data processing device 1 transmits three-dimensional data to the dental laboratory or the automated manufacturing device via the communication device 14.

[0028] The display interface 15 is an interface for connecting the display 3 and realizes input and output of data between the data processing device 1 and the display 3 .

[0029] The peripheral device interface 16 is an interface for connecting peripheral devices such as the keyboard 4 and mouse 5, and realizes input and output of data between the data processing device 1 and the peripheral devices.

[0030] The media reader 17 reads various data stored in a storage medium, a removable disk 20. For example, the media reader 17 may obtain a data processing program 122 from the removable disk 20.

[0031] [Configuration of 3D scanner] The configuration of the three-dimensional scanner 2 according to this embodiment will be described with reference to Fig. 3. Fig. 3 is a diagram showing the configuration of the three-dimensional scanner 2 according to this embodiment.

[0032] As shown in FIG. 3, the three-dimensional scanner 2 is a hand-held handpiece, and includes a housing 21, a probe 22 detachably connected to the housing 21, and a control device 40.

[0033] The probe 22 is inserted into the oral cavity and projects light having a pattern (hereinafter also simply referred to as a "pattern") onto a scan object. The probe 22 guides the reflected light from the scan object onto which the pattern is projected into the housing 21.

[0034] The three-dimensional scanner 2 includes a light source 23, a lens 24, an optical sensor 25, a prism 26, and a counterweight 27 inside a housing 21. For ease of explanation, in Fig. 3, the direction in which the lens 24 and counterweight 27 move back and forth linearly is indicated as the X axis, the axis perpendicular to the X axis and pointing upward on the paper surface in Fig. 3 is indicated as the Z axis, and the axis perpendicular to both the X axis and the Z axis is indicated as the Y axis.

[0035] The light source 23 includes a laser element or an LED (Light Emitting Diode). Light (optical axis L) from the light source 23 passes through the prism 26 and the lens 24, is reflected by a reflecting portion 28 provided in the probe 22, and is output from an opening 29. The light output from the opening 29 is irradiated onto the object to be scanned and is reflected by the object. The light reflected by the object to be scanned re-enters the housing 21 via the opening 29 and the reflecting portion 28, passes through the lens 24, and is input to the prism 26. The prism 26 changes the traveling direction of the light from the object to the direction in which the optical sensor 25 is located (in this example, the Z-axis direction). The light whose traveling direction has been changed by the prism 26 is detected by the optical sensor 25.

[0036] When acquiring three-dimensional data of an object using focusing techniques, light is projected onto the object after passing through a pattern generating element (not shown) located between the lens 24 and the object. As the lens 24 moves back and forth along the same line (e.g., the X-axis), the focal position of the projected pattern changes. The optical sensor 25 detects the light from the scanned object with each change.

[0037] The control device 40 is composed of, for example, a CPU, a ROM, and a RAM, and controls the processing performed by the three-dimensional scanner 2. The control device 40 may be composed of an FPGA or a GPU. The control device 40 may also be composed of at least one of a CPU, an FPGA, and a GPU, or may also be composed of a CPU and an FPGA, an FPGA and a GPU, a CPU and a GPU, or all of a CPU, an FPGA, and a GPU. The control device 40 may also be composed of a processing circuitry.

[0038] The control device 40 calculates the position of each point in the point cloud representing the surface of the scanned object based on the position of the lens 24 and the detection result of the optical sensor 25 at that time. The three-dimensional data of the object acquired by the three-dimensional scanner 2 in this manner is input to the data processing device 1 via the scanner interface 13. Note that the data processing device 1 may be equipped with some or all of the functions of the control device 40. For example, the arithmetic device 11 of the data processing device 1 may be equipped with the functions of the control device 40.

[0039] [Example of a scan using a 3D scanner] An example of scanning by the three-dimensional scanner 2 will be described with reference to Figures 4 and 5. Figure 4 is a diagram for explaining a scanning method by the three-dimensional scanner 2.

[0040] The scanning range of the three-dimensional scanner 2 is limited by the size of the probe 22 that can be inserted into the oral cavity. For this reason, the user inserts the probe 22 into the oral cavity and scans the oral cavity multiple times by moving the probe 22 along the dentition.

[0041] For example, as shown in FIG. 4, the user moves the probe 22 within the oral cavity, sequentially changing the scanning range from R1, R2, R3, ... Rn, to acquire three-dimensional data at various positions within the oral cavity. In this way, the user scans the object while moving the probe 22, and the three-dimensional scanner 2 can acquire three-dimensional data of the object. Note that in the scanning ranges R1 to Rn in FIG. 4, the user scans from the direction of the occlusal surfaces of the molars or the incisors of the anterior teeth, but scanning may also be performed from the direction of the lingual or buccal surfaces. This allows the user to more reliably acquire three-dimensional data of each tooth using the three-dimensional scanner 2.

[0042] 5 is a diagram showing an example of scanning by the three-dimensional scanner 2. During scanning by the three-dimensional scanner 2, an obstacle such as the operator's finger or dental instrument, or the patient's tongue, may get between the object to be scanned and the probe 22, preventing the three-dimensional scanner 2 from properly acquiring three-dimensional data of the object to be scanned.

[0043] For example, in the example shown in FIG. 5(A), during a certain Nth scan, the operator's (e.g., the user's) finger enters the scan range R of the three-dimensional scanner 2. In such a case, as shown in FIG. 5(B), the user removes the obstacle such as the finger and then scans the scan object again at the same location in the subsequent N+1th scan.

[0044] In the above example, the user must treat the three-dimensional data acquired by the (N+1)th scan as true data, while treating the three-dimensional data acquired by the Nth scan as false data. Therefore, the data processing device 1 according to this embodiment is configured to determine the authenticity of the Nth three-dimensional data and the (N+1)th three-dimensional data by comparing the Nth three-dimensional data input from the three-dimensional scanner 2 with the (N+1)th three-dimensional data. The data determination process of the data processing device 1 will now be described in detail.

[0045] [Functional configuration of data processing device] The functional configuration of the data processing device 1 according to this embodiment will be described with reference to Fig. 6. Fig. 6 is a block diagram showing the functional configuration of the data processing device 1 according to this embodiment.

[0046] As shown in FIG. 6, the data processing device 1 includes an input unit 1101, a data processing unit 1102, a storage unit 1103, and an output unit 1104 as main functional units.

[0047] The input unit 1101 is a functional unit of the scanner interface 13, and receives the three-dimensional data acquired by the three-dimensional scanner 2 as input.

[0048] The input unit 1101 may be a functional unit of the communication device 14, the peripheral device interface 16, or the media reading device 17. For example, if the input unit 1101 is a functional unit of the communication device 14, the communication device 14 acquires three-dimensional data from an external device via wired or wireless communication. The external device may be a server device installed in a dental clinic, or a cloud-based server device installed in a location separate from the dental clinic. If the input unit 1101 is a functional unit of the peripheral device interface 16, the peripheral device interface 16 acquires three-dimensional data input by a user using the keyboard 4 and the mouse 5. If the input unit 1101 is a functional unit of the media reading device 17, the media reading device 17 acquires three-dimensional data stored in the removable disk 20.

[0049] The data processing unit 1102 is a functional unit of the arithmetic device 11. The data processing unit 1102 executes a mesh generation process to generate a bundle of three-dimensional data (hereinafter also referred to as a "dataset") using the three-dimensional data 121 input from the input unit 1101 and accumulated and stored in the storage unit 1103. The data processing unit 1102 executes a data determination process to determine the authenticity of a dataset. When multiple datasets are generated using three-dimensional data set as true three-dimensional data, the data processing unit 1102 executes a dataset determination process to determine the dataset with the largest amount of data among the multiple datasets as the true dataset. Furthermore, the data processing unit 1102 executes an image data generation process to generate two-dimensional image data corresponding to a two-dimensional image viewed from an arbitrary viewpoint based on the true dataset. The data processing unit 1102 outputs the generated two-dimensional image data to the output unit 1104.

[0050] The output unit 1104 is a functional part of the display interface 15, and outputs the two-dimensional image data generated by the data processing unit 1102 to the display 3. This allows the data processing device 1 to display a two-dimensional image that imitates the surface shape of the scanned object on the display 3.

[0051] The output unit 1104 may be a functional unit of the communication device 14 or the media reading device 17. For example, if the output unit 1104 is a functional unit of the communication device 14, the communication device 14 outputs the three-dimensional data to a dental laboratory or an automated manufacturing device via wired or wireless communication. If the output unit 1104 is a functional unit of the media reading device 17, the media reading device 17 outputs the three-dimensional data to a removable disk 20.

[0052] [Data Judgment Processing] The data determination process of the data processing device 1 according to this embodiment will be described with reference to Fig. 7 to Fig. 9. Fig. 7 to Fig. 9 are diagrams showing an example of the data determination process of the data processing device 1 according to this embodiment.

[0053] The data processing unit 1102 of the data processing device 1 executes a data determination process to compare the first three-dimensional data input from the input unit 1101 with the second three-dimensional data input from the input unit 1101 in a virtual space 50 based on the position of the three-dimensional scanner 2, thereby determining the authenticity of the first three-dimensional data and the second three-dimensional data.

[0054] For example, as shown in FIG. 7, the three-dimensional scanner 2 acquires a plurality of three-dimensional data including the respective positions of a plurality of points indicating the surface of the scanned object by performing an Nth scan.

[0055] When a plurality of three-dimensional data are sequentially input from the three-dimensional scanner 2, the data processing device 1 generates a virtual space 50 based on the positions of each point included in the input three-dimensional data and the position of the three-dimensional scanner 2.

[0056] The virtual space 50 will be described in detail with reference to FIG. 8. As shown in FIG. 8, light (optical axis L) from the light source 23 that passes through the housing 21 is reflected by the reflector 28 and output in a diffused manner from the opening 29. A certain amount of light that is diffused and output from the opening 29 is reflected by the object to be scanned and enters the housing 21 again through the opening 29, thereby acquiring three-dimensional data. The range in which the multiple lights that are diffused and output from the opening 29 extend is the scan range. The data processing device 1 sets a predetermined data processing range within the scan range, and generates the virtual space 50 based on the optical axis L of the light that is diffused and output from the opening 29 and that is included in the data processing range.

[0057] Specifically, the data processing device 1 generates a virtual space 50 having a cylindrical shape with the optical axis L of the three-dimensional scanner 2 as its central axis. More specifically, the data processing device 1 generates a cylindrical virtual space 50 having a cross section with a diameter of a predetermined length and with the optical axis L output from the opening 29, i.e., the optical axis L passing through the position of the three-dimensional scanner 2 and the position of the point detected by the three-dimensional scanner 2 (hereinafter also referred to as the "detection position") as its central axis. Furthermore, when multiple optical axes L are included in the data processing range, the data processing device 1 generates multiple cylindrical virtual spaces 50 with each of the multiple optical axes L as its central axis.

[0058] Here, in the example of Figure 8, the "position of the three-dimensional scanner" (hereinafter also referred to as "scanner position") is set to any position on the path along which the optical axis L from the light source 23 passes through the housing 21, is reflected by the reflecting unit 28, and is output through the opening 29. The scanner position may be set to any position within the three-dimensional scanner 2 as long as it is a position at which the data processing device 1 can recognize the distance to the detection position.

[0059] Returning to FIG. 7, as shown in FIG. 7(A), when the data processing device 1 detects the position A of a certain point by the Nth scan, it generates a cylindrical virtual space 50 with the optical axis L passing through the detected position A as its central axis, as shown in FIG. 7(B). After generating the virtual space 50 for the three-dimensional data acquired by the Nth scan (three-dimensional data including position information of the detected position A), the data processing device 1 determines whether or not three-dimensional data acquired by a scan prior to the Nth scan (for example, the N-1th scan in the past) exists within the virtual space 50. N is a natural number.

[0060] When determining whether or not there is three-dimensional data previously acquired within the virtual space 50, the data processing device 1 determines whether or not there is three-dimensional data previously acquired in the direction of the optical axis L from a point corresponding to the detection position A that was the basis for generating the virtual space 50 toward the scanner position.

[0061] 7(B), the three-dimensional data acquired by the Nth scan (N-1th scan) does not exist in the virtual space 50 for the three-dimensional data acquired by the Nth scan. Therefore, the data processing device 1 regards the three-dimensional data at the detection position A as the true three-dimensional data.

[0062] Next, the three-dimensional scanner 2 again acquires a plurality of three-dimensional data including the respective positions of a plurality of points indicating the surface of the scanned object by scanning after the Nth time (for example, the N+1th time).

[0063] When a plurality of three-dimensional data items are sequentially input from the three-dimensional scanner 2, the data processing device 1 generates a virtual space 50 based on the positions (detected positions) included in the input three-dimensional data.

[0064] For example, as shown in Fig. 7(C), when the data processing device 1 detects the position B of a certain point by the N+1th scan, it generates a cylindrical virtual space 50 with the optical axis L passing through the detected position B as its central axis, as shown in Fig. 7(D). After generating the virtual space 50 for the three-dimensional data acquired by the N+1th scan (three-dimensional data including position information of the detected position B), the data processing device 1 determines whether or not three-dimensional data acquired by a scan prior to the N+1th scan (for example, the Nth scan in the past) exists within the virtual space 50.

[0065] The data processing device 1 determines whether or not there is three-dimensional data previously acquired in the direction of the optical axis L extending from the point corresponding to the detection position B, which is the generation reference for the virtual space 50, toward the scanner position.

[0066] Furthermore, when determining whether or not three-dimensional data acquired by a scan (Nth) prior to the N+1th scan exists within the virtual space 50, the data processing device 1 aligns the origin (reference point) of the coordinates of the N+1th three-dimensional data with the origin (reference point) of the coordinates of the Nth three-dimensional data. For example, the data processing device 1 converts the coordinates of the N+1th three-dimensional data so as to align them with the coordinate system of the Nth three-dimensional data. This allows the data processing device 1 to compare the Nth three-dimensional data with the N+1th three-dimensional data.

[0067] The data processing device 1 may use the scanner position when the Nth three-dimensional data was acquired as the origin (reference point) described above. That is, the data processing device 1 may match the coordinates of the scanner position when the N+1th three-dimensional data was acquired with the coordinates of the scanner position when the Nth three-dimensional data was acquired, and compare the Nth three-dimensional data with the N+1th three-dimensional data in a coordinate system with the scanner position as the origin.

[0068] 7(D), the three-dimensional data acquired by the Nth scan exists in the virtual space 50 for the three-dimensional data acquired by the N+1th scan. Therefore, the data processing device 1 determines the authenticity of the Nth three-dimensional data and the N+1th three-dimensional data by comparing the Nth three-dimensional data with the N+1th three-dimensional data.

[0069] Specifically, the data processing device 1 according to this embodiment considers the N+1th three-dimensional data input later to be the true three-dimensional data, out of the Nth three-dimensional data and the N+1th three-dimensional data.

[0070] For example, as shown in Figures 9(A) to (C), the data processing device 1 receives input of multiple pieces of three-dimensional data a to c for a specific area in the oral cavity through the Nth scan (scan) of the three-dimensional scanner 2, and then, as shown in Figures 9(D) to (F), the data processing device 1 receives input of multiple pieces of three-dimensional data d to f for the same specific area in the oral cavity through the N+1th scan (scan) of the three-dimensional scanner 2.

[0071] As shown in FIG. 9(D), when three-dimensional data d is input by the N+1th scan, the data processing device 1 generates a virtual space 50 for the three-dimensional data d and determines whether or not three-dimensional data input by a scan prior to the N+1th scan (for example, the Nth scan in the past) exists within the virtual space 50. If three-dimensional data a input by the Nth scan in the past exists within the virtual space 50 for the three-dimensional data d input by the N+1th scan, the data processing device 1 compares the input timing of the Nth three-dimensional data a and the N+1th three-dimensional data d, and determines the N+1th three-dimensional data d input later as the true three-dimensional data. In other words, the data processing device 1 determines the currently input three-dimensional data d as the true three-dimensional data.

[0072] As shown in FIG. 9(E), when three-dimensional data e is input by the N+1th scan, the data processing device 1 generates a virtual space 50 for the three-dimensional data e and determines whether or not three-dimensional data input by a scan prior to the N+1th scan (for example, the Nth scan in the past) exists within the virtual space 50. If three-dimensional data b input by the Nth scan in the past exists within the virtual space 50 for the three-dimensional data e input by the N+1th scan, the data processing device 1 compares the input timing of the Nth three-dimensional data b with the N+1th three-dimensional data e, and determines the N+1th three-dimensional data e input later as the true three-dimensional data. In other words, the data processing device 1 determines the currently input three-dimensional data e as the true three-dimensional data.

[0073] As shown in FIG. 9(F), when three-dimensional data f is input by the N+1th scan, the data processing device 1 generates a virtual space 50 for the three-dimensional data f and determines whether or not three-dimensional data input by a scan prior to the N+1th scan (for example, the Nth scan in the past) exists in the virtual space 50. If three-dimensional data c input by the Nth scan in the past exists in the virtual space 50 for the three-dimensional data f input by the N+1th scan, the data processing device 1 compares the input timing of the Nth three-dimensional data c and the N+1th three-dimensional data f, and determines the N+1th three-dimensional data f input later as the true three-dimensional data. That is, the data processing device 1 determines the currently input three-dimensional data f as the true three-dimensional data. In other words, when multiple three-dimensional data exist in the virtual space, the data processing device 1 determines the most recently scanned and input three-dimensional data f as the true data.

[0074] In this way, the calculation device 11 (data processing unit 1102) of the data processing device 1 compares the input timing of the Nth three-dimensional data input from the input unit 1101 and the N+1th three-dimensional data input from the input unit 1101 in the virtual space 50 based on the scanner position, and determines the N+1th three-dimensional data input later from the input unit 1101 as the true three-dimensional data. Note that in the above example, when the Nth three-dimensional data is applied to the "first three-dimensional data", the N+1th three-dimensional data is applied to the "second three-dimensional data", and when the Nth three-dimensional data is applied to the "second three-dimensional data", the N+1th three-dimensional data is applied to the "first three-dimensional data".

[0075] By executing the data determination process as described above, the data processing device 1 sets only the three-dimensional data d to f subsequently input from the input unit 1101 as true three-dimensional data, as shown in Fig. 9(G), and then generates two-dimensional image data corresponding to a two-dimensional image viewed from an arbitrary viewpoint based only on the true three-dimensional data d to f. Alternatively, the data processing device 1 stores the true three-dimensional data d to f.

[0076] Thus, for example, as shown in FIG. 5(A), even if an obstacle such as a finger enters the scan range R of the 3D scanner 2 during the Nth scan, if the user subsequently removes the obstacle and scans the object again at the same location during the N+1th scan, the data processing device 1 can set only the subsequently input N+1th 3D data as the true 3D data. This eliminates the need for the user to manually select the true 3D data from the 3D data acquired by the 3D scanner 2, and allows the user to easily and appropriately acquire 3D data of the object to be scanned using the 3D scanner 2. In other words, if an obstacle is displayed on the display 3 along with the scanned object, the user can remove the obstacle and rescan the object in the same position to display the object without the obstacle, thereby confirming that the true 3D data has been saved by overwriting the false 3D data.

[0077] Note that if the data processing device 1 regards the three-dimensional data input later among the multiple three-dimensional data as the true three-dimensional data, for example, if a finger is not inserted into the oral cavity during the Nth scan but is inserted into the oral cavity during the N+1th scan, there is a possibility that the three-dimensional data of the finger's surface will be erroneously set as the true three-dimensional data. However, since the user normally scans the oral cavity while viewing the two-dimensional image displayed on the display 3 (a two-dimensional image viewed from an arbitrary viewpoint generated based on the three-dimensional data), when the user realizes that a two-dimensional image of the finger viewed from an arbitrary viewpoint has been generated, the user can remove the finger and scan the teeth at the same location again, allowing the data processing device 1 to set only the three-dimensional data input later as the true three-dimensional data.

[0078] [3D Data Table] The three-dimensional data table will be described with reference to Fig. 10. Fig. 10 is a diagram showing an example of a three-dimensional data table. When storing three-dimensional data input from the input unit 1101 as three-dimensional data 121, the data processing device 1 stores the three-dimensional data in a table format as shown in Fig. 10.

[0079] 10, in the three-dimensional data table, a data type is assigned to each of the three-dimensional data points indicating the surface of the scanned object input from the input unit 1101. The three-dimensional data table stores position information and color information included in the three-dimensional data points indicating the surface of the scanned object input from the input unit 1101. The position information includes the position of each point (coordinates of each axis in the vertical, horizontal, and height directions). The color information includes the color of each point (for example, RGB value).

[0080] The three-dimensional data table further assigns a deletion flag to each of the three-dimensional data points indicating the surface of the scanned object input from the input unit 1101. The deletion flag includes information for identifying whether or not the data is to be used when generating two-dimensional image data (data corresponding to a two-dimensional image viewed from an arbitrary viewpoint generated based on the three-dimensional data). For example, the data processing device 1 does not set a deletion flag for three-dimensional data used when generating the two-dimensional image data (storing a bit of "0"), and sets a deletion flag for three-dimensional data not used when generating the two-dimensional image data (storing a bit of "1"). In other words, the data processing device 1 does not set a deletion flag for three-dimensional data determined to be true data by the data determination process, and sets a deletion flag as an indicator of false data for three-dimensional data determined to be false data by the data determination process.

[0081] [Mesh generation process, data set determination process, and image data generation process] The mesh generation process, data set determination process, and image data generation process of the data processing device 1 according to this embodiment will be described with reference to Fig. 11. Fig. 11 is a diagram showing an example of the mesh generation process, data set determination process, and image data generation process of the data processing device 1 according to this embodiment.

[0082] The data processing unit 1102 of the data processing device 1 generates a dataset by executing a mesh generation process, determines the authenticity of the dataset by executing a dataset determination process, and generates two-dimensional image data corresponding to a two-dimensional image viewed from an arbitrary viewpoint generated based on the three-dimensional data by executing an image data generation process.

[0083] Specifically, the data processing device 1 generates at least one data set by linking together a plurality of pieces of three-dimensional data that exist within a predetermined range, among the three-dimensional data acquired by the three-dimensional scanner 2.

[0084] 11(A), the data processing device 1 generates one mesh by connecting three or more pieces of three-dimensional data that exist within a predetermined range with straight lines. In this example, the data processing device 1 generates one triangular mesh by connecting three pieces of three-dimensional data with straight lines, but it may also generate one quadrangular mesh by connecting four pieces of three-dimensional data with straight lines, or it may generate one mesh by connecting five or more pieces of three-dimensional data with straight lines.

[0085] The data processing device 1 generates a plurality of meshes as described above and connects them together to generate a dataset. That is, each of the plurality of three-dimensional data included in one dataset is linked to at least one other three-dimensional data that exists within a predetermined range to form a mesh. The greater the number of linked three-dimensional data, the greater the amount of three-dimensional data included in the dataset (for example, the number of three-dimensional data).

[0086] The data processing device 1 executes a data determination process on a plurality of three-dimensional data included in the generated data set, thereby determining the authenticity of each piece of three-dimensional data.

[0087] Next, the data processing device 1 performs a data set determination process to determine the data set with the largest amount of data among the multiple data sets as the true data set.

[0088] For example, when the data processing device 1 generates dataset 1 using multiple three-dimensional data representing the surface of a tooth portion as shown in FIG. 11(A) and also generates dataset 2 using multiple three-dimensional data representing the surface of an obstacle such as a finger, it determines dataset 1, which has the largest amount of data among the multiple datasets 1 and 2, as the true dataset as shown in FIG. 11(B).

[0089] Next, the data processing device 1 generates, through image data generation processing, two-dimensional image data corresponding to a two-dimensional image viewed from an arbitrary viewpoint, based on the true data set having the largest amount of data.

[0090] As described above, a dataset is composed of multiple three-dimensional data points within a predetermined range, and therefore, three-dimensional data points outside the predetermined range are not included in the dataset. Because the tooth surfaces are continuous within the oral cavity, the dataset with the largest amount of data is likely to include multiple three-dimensional data points representing the tooth surfaces. Furthermore, during scanning, the surgeon may pull the patient's lips outside the oral cavity with their fingers, and in this case, the surgeon's fingers may be scanned by the three-dimensional scanner 2. Because the surgeon's fingers are positioned outside the oral cavity, it is likely that the three-dimensional data points of the fingers do not exist within the predetermined range of the three-dimensional data points of the teeth. Therefore, the data processing device 1 can distinguish the three-dimensional data points of the teeth from the three-dimensional data points of the fingers.

[0091] In this way, when the data processing device 1 generates Data Set 1 and Data Set 2 using multiple pieces of three-dimensional data acquired by the three-dimensional scanner 2, it generates two-dimensional image data corresponding to a two-dimensional image viewed from an arbitrary viewpoint based on Data Set 1, which has the largest amount of data among the multiple Data Sets 1 and 2, and thereby can output Data Set 1 generated based on multiple pieces of three-dimensional data representing the surface of the tooth portion. In other words, the data processing device 1 can exclude Data Set 2 generated based on multiple pieces of three-dimensional data representing the surface of an obstacle from the output targets. This eliminates the need for the user to manually select multiple pieces of three-dimensional data representing the surface of the tooth portion from the three-dimensional data acquired by the three-dimensional scanner 2, and allows the user to easily and appropriately acquire three-dimensional data of the scanned object using the three-dimensional scanner 2.

[0092] [Dataset Table] The dataset table will be described with reference to Fig. 12. Fig. 12 is a diagram showing an example of the dataset table. The data processing device 1 stores a dataset generated based on three-dimensional data input from the input unit 1101 in a table format as shown in Fig. 12.

[0093] 12, in the dataset table, a dataset type is assigned to each generated dataset, and the dataset table stores the number of meshes that make up each dataset.

[0094] When the data processing device 1 generates a dataset by executing a mesh generation process, it assigns a dataset type and stores the number of meshes in a dataset table. By storing the number of meshes in the dataset table for each generated dataset, the data processing device 1 can classify multiple input three-dimensional data by dataset.

[0095] Furthermore, by referring to the dataset table, the data processing device 1 can select the dataset with the largest amount of data (number of meshes) (in this example, dataset 1), and generate two-dimensional image data corresponding to a two-dimensional image viewed from any viewpoint based on the selected dataset.

[0096] [Processing flow of data processing device 1] A processing flow executed by the data processing device 1 according to this embodiment will be described with reference to FIG. 13. FIG. 13 is a flowchart for explaining an example of processing executed by the data processing device 1 according to this embodiment. Each step (hereinafter indicated by "S") shown in FIG. 13 is realized by the arithmetic device 11 of the data processing device 1 executing the data processing program 122. After scanning by the three-dimensional scanner 2 is started, the data processing device 1 repeatedly executes the processing of the flowchart shown in FIG. 13 at a predetermined cycle (for example, several msec). Note that the data processing device 1 ends the processing of the flowchart shown in FIG. 13 when the power of the data processing device 1 or the three-dimensional scanner 2 is turned off, or when scanning by the three-dimensional scanner 2 is stopped.

[0097] As shown in FIG. 13, the data processing device 1 acquires three-dimensional data of a point scanned by the three-dimensional scanner 2 (S1).

[0098] The data processing device 1 generates a data set by generating at least one mesh using the three-dimensional data acquired by the three-dimensional scanner 2 (S2). The data processing device 1 executes a data determination process to determine the authenticity of the three-dimensional data acquired by the three-dimensional scanner 2 (S3).

[0099] In the data determination process of S3, the data processing device 1 generates a virtual space 50 based on the position (detection position) at which each point included in the three-dimensional data input in S1 was detected and the scanner position, as described with reference to FIGS. 7 to 9. The data processing device 1 then determines whether or not three-dimensional data acquired by a scan prior to the acquisition of the three-dimensional data whose authenticity is to be determined exists in the virtual space 50. If three-dimensional data acquired by a scan prior to the acquisition of the three-dimensional data whose authenticity is to be determined exists in the virtual space 50, the data processing device 1 determines that the three-dimensional data whose authenticity is to be determined is true three-dimensional data. The data processing device 1 sets a deletion flag in the three-dimensional data table for the other three-dimensional data that was not determined to be true three-dimensional data.

[0100] Next, the data processing device 1 determines whether a predetermined condition is met (S4). The predetermined condition includes the amount of three-dimensional data input from the input unit 1101 exceeding a first predetermined amount (for example, 100 pieces of data). The predetermined condition may also include the time it takes for the three-dimensional data to be input from the input unit 1101 exceeding a predetermined time. For example, the predetermined condition may be met when the elapsed time since the start of the processing of the flowchart in FIG. 13 exceeds a predetermined time. Alternatively, in the processing of the flowchart in FIG. 13 that is repeatedly executed, the predetermined condition may be met when the elapsed time since the determination of YES in S4 in the previous processing exceeds a predetermined time.

[0101] 13 starts, the predetermined condition may be satisfied when the elapsed time exceeds a predetermined time and the amount of three-dimensional data input from the input unit 1101 exceeds a second predetermined amount (for example, the average amount of data acquired over the acquisition time). Alternatively, the predetermined condition may be satisfied when the elapsed time since YES was determined in S4 in the previous process exceeds a predetermined time and the amount of three-dimensional data input from the input unit 1101 exceeds the second predetermined amount (for example, the average amount of data acquired over the acquisition time). This is because, if the second predetermined amount is set to the average amount of data acquired over the acquisition time, and the amount of three-dimensional data input from the input unit 1101 exceeds the second predetermined amount, there is a possibility that three-dimensional data indicating the surface of an obstacle such as a finger has been acquired.

[0102] Thus, the specified condition includes at least one of the following: the amount of three-dimensional data input from the input unit 1101 exceeds a specified amount; and the time taken for the three-dimensional data to be input from the input unit 1101 exceeds a specified time.

[0103] When a predetermined condition is met (YES in S4), the data processing device 1 executes a dataset determination process to determine the dataset with the largest amount of data among the multiple datasets as the true dataset (S5).

[0104] If the predetermined condition is not met (NO in S4) or after S5, the data processing device 1 executes an image data generation process to generate two-dimensional image data corresponding to a two-dimensional image viewed from an arbitrary viewpoint based on the true data set (S6). The two-dimensional image data generated in S6 is output to an external device such as a display 3 via the output unit 1104.

[0105] As described above, by executing the data determination process, the data processing device 1 according to this embodiment compares the three-dimensional data acquired in S1 this time with the three-dimensional data acquired in S1 previously in virtual space 50 based on the scanner position, and determines the authenticity of the three-dimensional data acquired in S1 this time and the three-dimensional data acquired in S1 previously. This eliminates the need for the user to select the true three-dimensional data from the three-dimensional data acquired by the three-dimensional scanner 2, and allows the user to easily and appropriately acquire three-dimensional data of the scanned object using the three-dimensional scanner 2.

[0106] Furthermore, the data processing device 1 according to this embodiment executes a mesh generation process to generate a dataset using multiple pieces of three-dimensional data located within a predetermined range from among the multiple pieces of three-dimensional data acquired in S1 this time and in the past. The data processing device 1 also executes a dataset determination process to determine the dataset with the largest amount of data from among the multiple datasets as the true dataset. Furthermore, the data processing device 1 generates image data based on the true dataset. This eliminates the need for the user to manually select multiple pieces of three-dimensional data representing the surface of the tooth portion from the three-dimensional data acquired by the three-dimensional scanner 2, and allows the user to easily and appropriately acquire three-dimensional data of the scanned object using the three-dimensional scanner 2.

[0107] A user such as a dentist uses a three-dimensional scanner 2 to acquire three-dimensional data of an object in the oral cavity (such as a dental arch), and stores the acquired three-dimensional data in the data processing device 1. The user then outputs the three-dimensional data stored in the data processing device 1 to a milling machine or a 3D printer, or displays a two-dimensional image viewed from an arbitrary viewpoint based on the three-dimensional data on the display 3 in order to easily explain to the patient the treatment area and the state of the patient's own dentition.

[0108] The data processing device 1 displays in real time on the display 3 a two-dimensional image of the dental arch viewed from any viewpoint based on the three-dimensional data that has been correctly acquired and recorded, so that the user can know to what extent the three-dimensional data of the dental arch has currently been correctly acquired and recorded.

[0109] In the process of acquiring and recording three-dimensional data of intraoral objects such as dental arches, the data processing device 1 generates a dataset using the three-dimensional data through a mesh generation process, determines the authenticity of the three-dimensional data contained in the dataset through a data determination process and sets a deletion flag for the false three-dimensional data, and determines the authenticity of the dataset through a dataset determination process and generates two-dimensional image data based on the true dataset. Between acquiring the three-dimensional data and generating the two-dimensional image data, the data processing device 1 merely sets a deletion flag for the false three-dimensional data, but does not delete the false three-dimensional data or regenerate the dataset based solely on the true three-dimensional data. Rather, the data processing device 1 generates two-dimensional image data based solely on the true three-dimensional data, without using the false three-dimensional data with the deletion flag set. In other words, the data processing device 1 keeps the false three-dimensional data recorded, but does not display the false three-dimensional data on the display 3. Then, the data processing device 1 deletes the false three-dimensional data for which the deletion flag has been set from the records after the user has completed the acquisition and recording of a series of three-dimensional data using the three-dimensional scanner 2 (for example, when the power to the data processing device 1 or the three-dimensional scanner 2 is turned off, or when scanning by the three-dimensional scanner 2 is stopped). This allows the data processing device 1 to avoid imposing a processing load by deleting false three-dimensional data or regenerating a data set based only on true three-dimensional data during the processing flow shown in Fig. 13.

[0110] [Variations] The present disclosure is not limited to the above-described embodiments, and various modifications and applications are possible. Modifications applicable to the present disclosure will be described below. Note that, in the following, only the configurations and functions of the data processing device 1 according to the modifications that are different from the data processing device 1 according to the present embodiment will be described, and the data processing device 1 according to the modifications will have the same configurations and functions as the data processing device 1 according to the present embodiment with respect to other configurations and functions.

[0111] (Data judgment processing) In the data processing device 1 according to the present embodiment, the three-dimensional data input later among a plurality of input three-dimensional data is determined as the true three-dimensional data through the data determination process, but as shown in Figures 14 to 16, the data processing device 1 according to the modified example may determine the authenticity of the three-dimensional data from a perspective different from that of the data determination process according to the present embodiment. Figures 14 to 16 are diagrams showing an example of the data determination process of the data processing device 1 according to the modified example.

[0112] The data processing device 1 according to the modified example may determine, through the data determination process, the three-dimensional data including the position of the point farthest from the scanner position among the input three-dimensional data, as the true three-dimensional data.

[0113] For example, as shown in Figures 14(A) to (C), the data processing device 1 receives input of multiple pieces of three-dimensional data a to c for a specific area in the oral cavity through the Nth scan (scan) of the three-dimensional scanner 2, and then, as shown in Figures 14(D) to (F), the data processing device 1 receives input of multiple pieces of three-dimensional data d to f for the same specific area in the oral cavity through the N+1th scan (scan) of the three-dimensional scanner 2.

[0114] 14(D), when three-dimensional data d is input by the N+1th scan, the data processing device 1 generates a virtual space 50 for the three-dimensional data d and determines whether or not three-dimensional data input by a scan prior to the N+1th scan (for example, the Nth scan in the past) exists within the virtual space 50. If three-dimensional data a input by the Nth scan in the past exists within the virtual space 50 for the three-dimensional data d input by the N+1th scan, the data processing device 1 compares the distance from the scan position between the Nth three-dimensional data a and the N+1th three-dimensional data d, and determines the N+1th three-dimensional data d including the position of the point farthest from the scanner position as the true three-dimensional data.

[0115] 14(E), when three-dimensional data e is input by the N+1th scan, the data processing device 1 generates a virtual space 50 for the three-dimensional data e and determines whether or not three-dimensional data input by a scan prior to the N+1th scan (for example, the Nth scan in the past) exists within the virtual space 50. If three-dimensional data b input by the Nth scan in the past exists within the virtual space 50 for the three-dimensional data e input by the N+1th scan, the data processing device 1 compares the distance from the scan position between the Nth three-dimensional data b and the N+1th three-dimensional data e, and determines the N+1th three-dimensional data e including the position of the point farthest from the scanner position as the true three-dimensional data.

[0116] 14(F), when three-dimensional data f is input by the N+1th scan, the data processing device 1 generates a virtual space 50 for the three-dimensional data f and determines whether or not three-dimensional data input by a scan prior to the N+1th scan (for example, the Nth scan in the past) exists within the virtual space 50. If three-dimensional data c input by the Nth scan in the past exists within the virtual space 50 for the three-dimensional data f input by the N+1th scan, the data processing device 1 compares the distance from the scan position between the Nth three-dimensional data c and the N+1th three-dimensional data f, and determines the N+1th three-dimensional data f including the position of the point farthest from the scanner position as the true three-dimensional data.

[0117] In this way, the calculation device 11 (data processing unit 1102) of the data processing device 1 according to the modified example compares the distance from the scan position between the Nth three-dimensional data input from the input unit 1101 and the N+1th three-dimensional data input from the input unit 1101 in virtual space 50 based on the scanner position, and determines the three-dimensional data including the position of the point farthest from the scanner position as the true three-dimensional data. Note that in the above example, when the Nth three-dimensional data is applied to the "first three-dimensional data," the N+1th three-dimensional data is applied to the "second three-dimensional data," and when the Nth three-dimensional data is applied to the "second three-dimensional data," the N+1th three-dimensional data is applied to the "first three-dimensional data."

[0118] If the data processing device 1 determines that the three-dimensional data including the position of the point farthest from the scanner position among the multiple three-dimensional data is true three-dimensional data, for example, if a user first scans the side of a specific tooth closer to the user and then scans the side of the same specific tooth farther from the user, the data processing device 1 may determine that only the three-dimensional data of the side of the specific tooth farther from the user is true three-dimensional data. However, as described with reference to Figure 7, the data processing device 1 determines whether or not previously acquired three-dimensional data exists in the direction of the optical axis L, which extends from the point corresponding to the detection position that served as the generation reference for the virtual space 50 toward the scanner position, and therefore does not cause the above-mentioned problem.

[0119] The data processing device 1 according to the modified example may determine, through the data determination process, the three-dimensional data that includes the position of the point that is closest to the scanner position, among the plurality of input three-dimensional data, as false three-dimensional data.

[0120] For example, as shown in Figures 15(A) to (C), the data processing device 1 receives input of multiple pieces of three-dimensional data a to c for a specific area in the oral cavity through the Nth scan (scan) of the three-dimensional scanner 2, and then, as shown in Figures 15(D) to (F), the data processing device 1 receives input of multiple pieces of three-dimensional data d to f for the same specific area in the oral cavity through the N+1th scan (scan) of the three-dimensional scanner 2.

[0121] As shown in FIG. 15(D), when three-dimensional data d is input by the N+1th scan, the data processing device 1 generates a virtual space 50 for the three-dimensional data d and determines whether or not three-dimensional data input by a scan prior to the N+1th scan (for example, the Nth scan in the past) exists within the virtual space 50. If three-dimensional data a input by the Nth scan in the past exists within the virtual space 50 for the three-dimensional data d input by the N+1th scan, the data processing device 1 compares the distance from the scan position between the Nth three-dimensional data a and the N+1th three-dimensional data d, and determines that the Nth three-dimensional data a including the position of the point closest to the scanner position is false three-dimensional data. In other words, the data processing device 1 determines that the N+1th three-dimensional data d is true three-dimensional data.

[0122] As shown in FIG. 14(E), when three-dimensional data e is input by the N+1th scan, the data processing device 1 generates a virtual space 50 for the three-dimensional data e and determines whether or not three-dimensional data input by a scan prior to the N+1th scan (e.g., the Nth scan in the past) exists within the virtual space 50. If three-dimensional data b input by the Nth scan in the past exists within the virtual space 50 for the three-dimensional data e input by the N+1th scan, the data processing device 1 compares the distance from the scan position between the Nth three-dimensional data b and the N+1th three-dimensional data e, and determines that the Nth three-dimensional data b containing the position of the point closest to the scanner position is false three-dimensional data. In other words, the data processing device 1 determines that the N+1th three-dimensional data e is true three-dimensional data.

[0123] As shown in FIG. 14(F), when three-dimensional data f is input by the N+1th scan, the data processing device 1 generates a virtual space 50 for the three-dimensional data f and determines whether or not three-dimensional data input by a scan prior to the N+1th scan (for example, the Nth scan in the past) exists within the virtual space 50. If three-dimensional data c input by the Nth scan in the past exists within the virtual space 50 for the three-dimensional data f input by the N+1th scan, the data processing device 1 compares the distance from the scan position between the Nth three-dimensional data c and the N+1th three-dimensional data f, and determines that the Nth three-dimensional data c containing the position of the point closest to the scanner position is false three-dimensional data. In other words, the data processing device 1 determines that the N+1th three-dimensional data f is true three-dimensional data.

[0124] In this way, the calculation device 11 (data processing unit 1102) of the data processing device 1 according to the modified example compares the distance from the scan position between the Nth three-dimensional data input from the input unit 1101 and the N+1th three-dimensional data input from the input unit 1101 in virtual space 50 based on the scanner position, and determines the three-dimensional data including the position of the point closest to the scanner position as false three-dimensional data. Note that in the above example, when the Nth three-dimensional data is applied to the "first three-dimensional data," the N+1th three-dimensional data is applied to the "second three-dimensional data," and when the Nth three-dimensional data is applied to the "second three-dimensional data," the N+1th three-dimensional data is applied to the "first three-dimensional data."

[0125] If the data processing device 1 treats as false three-dimensional data the three-dimensional data that includes the position of the point closest to the scanner position among the plurality of three-dimensional data, for example, when a user first scans the side of a specific tooth that is closer to the user and then scans the side of the same specific tooth that is farther from the user, the data processing device 1 may treat the three-dimensional data of the side of the specific tooth that is closer to the user as false three-dimensional data. However, as described with reference to Figure 7, the data processing device 1 determines whether or not there is previously acquired three-dimensional data in the direction of the optical axis L that points from the point corresponding to the detection position that served as the generation reference for the virtual space 50 toward the scanner position, and therefore does not cause the above-mentioned problem.

[0126] The data processing device 1 according to the modified example may determine, through a data determination process, among the input three-dimensional data, the three-dimensional data that includes color information of a color closest to a specific color as true three-dimensional data. The specific color may be, for example, white, which is close to the color of teeth, and may be appropriately set by the user. Furthermore, the data processing device 1 can identify the color of each point corresponding to each three-dimensional data by referring to the color information of each three-dimensional data stored in the three-dimensional data table of FIG. 10.

[0127] For example, as shown in Figures 16(A) to (C), the data processing device 1 receives input of multiple pieces of three-dimensional data a to c for a specific area in the oral cavity through the Nth scan (scan) of the three-dimensional scanner 2, and then, as shown in Figures 16(D) to (F), the data processing device 1 receives input of multiple pieces of three-dimensional data d to f for the same specific area in the oral cavity through the N+1th scan (scan) of the three-dimensional scanner 2.

[0128] 16(D), when three-dimensional data d is input by the N+1th scan, the data processing device 1 generates a virtual space 50 for the three-dimensional data d and determines whether or not three-dimensional data input by a scan prior to the N+1th scan (for example, the Nth scan in the past) exists within the virtual space 50. If three-dimensional data a input by the Nth scan in the past exists within the virtual space 50 for the three-dimensional data d input by the N+1th scan, the data processing device 1 compares the color information included in the Nth three-dimensional data a with the color information included in the N+1th three-dimensional data d, and determines the N+1th three-dimensional data d that includes color information of a color closest to the specific color as the true three-dimensional data.

[0129] 16(E), when three-dimensional data e is input by the N+1th scan, the data processing device 1 generates a virtual space 50 for the three-dimensional data e and determines whether or not three-dimensional data input by a scan prior to the N+1th scan (for example, the Nth scan in the past) exists within the virtual space 50. If three-dimensional data b input by the Nth scan in the past exists within the virtual space 50 for the three-dimensional data e input by the N+1th scan, the data processing device 1 compares the color information included in the Nth three-dimensional data b with the color information included in the N+1th three-dimensional data e, and determines the N+1th three-dimensional data e that includes color information of a color closest to the specific color as the true three-dimensional data.

[0130] 16(F), when three-dimensional data f is input by the N+1th scan, the data processing device 1 generates a virtual space 50 for the three-dimensional data f and determines whether or not three-dimensional data input by a scan prior to the N+1th scan (for example, the Nth scan in the past) exists within the virtual space 50. If three-dimensional data c input by the Nth scan in the past exists within the virtual space 50 for the three-dimensional data f input by the N+1th scan, the data processing device 1 compares the color information included in the Nth three-dimensional data c with the color information included in the N+1th three-dimensional data f, and determines the N+1th three-dimensional data f that includes color information of a color closest to the specific color as the true three-dimensional data.

[0131] In this way, the calculation device 11 (data processing unit 1102) of the data processing device 1 according to the modified example compares the color information of the Nth three-dimensional data input from the input unit 1101 and the N+1th three-dimensional data input from the input unit 1101 in the virtual space 50 based on the scanner position, and determines the three-dimensional data that includes color information of the color closest to the specific color as the true three-dimensional data. Note that in the above example, when the Nth three-dimensional data is applied to the "first three-dimensional data," the N+1th three-dimensional data is applied to the "second three-dimensional data," and when the Nth three-dimensional data is applied to the "second three-dimensional data," the N+1th three-dimensional data is applied to the "first three-dimensional data."

[0132] If the data processing device 1 determines that the 3D data containing color information of the color closest to a specific color among the multiple 3D data is the true 3D data, it may be difficult to determine the authenticity of the 3D data for scanned objects that are relatively similar in color, such as comparing gums with a finger. However, if the data processing device 1 combines other data determination processes that compare the detection positions of the 3D data as described above, it can determine the authenticity of the 3D data based on the detection position even if it cannot determine the authenticity of the 3D data based on color.

[0133] That is, when both the Nth three-dimensional data and the N+1th three-dimensional data exist in the same virtual space, even if the Nth three-dimensional data includes the position of teeth and the N+1th three-dimensional data includes the position of fingers or tongue, in the process of determining the N+1th three-dimensional data as true data (the process described with reference to FIG. 7), the three-dimensional data including the fingers or tongue will be determined to be true. In contrast, in the process described with reference to FIG. 16, even if the Nth three-dimensional data includes the position of teeth and the N+1th three-dimensional data includes the position of fingers or tongue, the color information included in the Nth three-dimensional data can be compared with the color information included in the N+1th three-dimensional data to determine the Nth three-dimensional data including the color information of the color closest to the specific color as true three-dimensional data. Therefore, by using such processes in combination, the data processing device 1 can prevent the three-dimensional data including fingers or tongue from being determined to be true three-dimensional data.

[0134] (Virtual space) The data processing device 1 according to this embodiment generates a virtual space 50 having a cylindrical shape with the optical axis L of the three-dimensional scanner 2 as its central axis. However, the data processing device 1 according to the modified example is not limited to generating a cylindrical virtual space 50, and may generate a virtual space 50 having another shape. For example, the data processing device 1 may generate a virtual space 50 in the shape of a polygonal prism (e.g., a rectangular prism) with the optical axis L of the three-dimensional scanner 2 passing through its center.

[0135] (Dataset determination) The data processing device 1 according to this embodiment generates a mesh by connecting multiple three-dimensional data located within a predetermined range with straight lines through a mesh generation process, sets the collection of generated meshes as a dataset, and determines the authenticity of the dataset through a dataset determination process, but the data processing device 1 according to a modified example may determine the authenticity of the dataset without generating a mesh.

[0136] For example, the data processing device 1 may classify the three-dimensional data by including multiple pieces of three-dimensional point cloud data located within a predetermined range in a common dataset without connecting them with straight lines. That is, multiple pieces of three-dimensional point cloud data located within a predetermined range are included in a common dataset without being connected to each other (without generating a mesh). Then, the data processing device 1 may determine the dataset (three-dimensional point cloud data) with the largest amount of data among the multiple datasets (three-dimensional point cloud data) as the true dataset (three-dimensional point cloud data).

[0137] The data processing device 1 of this embodiment regards the dataset with the largest data volume among multiple datasets as the true dataset, but the data processing device 1 of the modified example may regard the dataset with a data volume equal to or greater than a predetermined data volume among multiple datasets as the true dataset, and generate two-dimensional image data corresponding to a two-dimensional image viewed from any viewpoint based on the dataset with a data volume equal to or greater than the predetermined data volume.

[0138] (Indicators of authenticity) The data processing device 1 according to this embodiment sets a deletion flag as a false index for three-dimensional data that is not determined as true three-dimensional data by the data determination process, as shown in Fig. 10. However, the data processing device 1 according to a modified example may associate a true index with three-dimensional data that is determined as true three-dimensional data by the data determination process.

[0139] 10, the data processing device 1 according to this embodiment stores both the three-dimensional data determined as true three-dimensional data by the data determination process and the three-dimensional data determined as false three-dimensional data in the storage device 12 (storage unit 1103), and distinguishes between the true three-dimensional data and the false three-dimensional data using a deletion flag. However, the data processing device 1 according to the modified example may once store the acquired three-dimensional data in the storage device 12, and then delete the three-dimensional data determined as false three-dimensional data by the data determination process. Alternatively, the data processing device 1 according to the modified example may store in the storage device 12 only the three-dimensional data determined as true three-dimensional data by the data determination process, among the acquired three-dimensional data.

[0140] (3D scanner) The three-dimensional scanner 2 according to the present embodiment is configured so that the user can hold and move the probe 22 by hand. However, in a three-dimensional scanner 2 according to a modified example, the housing 21 and the probe 22 may be fixed.

[0141] The three-dimensional scanner 2 is not limited to a device that acquires three-dimensional data of each point indicating the surface of a scanned object by reflection of an optical axis. For example, the three-dimensional scanner 2 may be a device that acquires three-dimensional data of each point indicating the surface of a scanned object using laser light.

[0142] Furthermore, the three-dimensional scanner 2 may be a device that acquires voxel data or volumetric data including positional information of each point constituting the interior of the scanned object, rather than just the surface of the scanned object, such as a CT (Computed Tomography) scanner or an X-ray device.

[0143] The embodiments disclosed herein should be considered to be illustrative in all respects and not restrictive. The scope of the present disclosure is defined by the claims, not by the above description, and is intended to include all modifications within the meaning and scope of the claims. Note that the configurations exemplified in the present embodiment and the configurations exemplified in the modified examples can be combined as appropriate. [Explanation of symbols]

[0144] 1 data processing device, 2 three-dimensional scanner, 3 display, 4 keyboard, 5 mouse, 10 data processing system, 11 arithmetic unit, 12 storage device, 13 scanner interface, 14 communication device, 15 display interface, 16 peripheral device interface, 17 media reading device, 20 removable disk, 21 housing, 22 probe, 23 light source, 24 lens, 25 optical sensor, 26 prism, 27 counterweight, 28 reflecting unit, 29 opening, 40 control device, 50 virtual space, 121 three-dimensional data, 122 data processing program, 1101 input unit, 1102 data processing unit, 1103 storage unit, 1104 output unit.

Claims

1. A data processing device that processes three-dimensional data indicating the positions of each of a plurality of points that constitute at least a surface of an object, the data being acquired by a three-dimensional scanner, an input unit to which the three-dimensional data acquired by the three-dimensional scanner is input; a data processing unit that executes first data processing to determine the authenticity of the first three-dimensional data and the second three-dimensional data by comparing first three-dimensional data that is included in the three-dimensional data input from the input unit during a first scan of the three-dimensional scanner and indicates the position of a first point with second three-dimensional data that is included in the three-dimensional data input from the input unit during a second scan of the three-dimensional scanner that is subsequent to the first scan, and indicates the position of a second point; The first data processing includes: using a position of the three-dimensional scanner in the first scan as a reference point, matching a coordinate system for indicating the position of the second point acquired by the three-dimensional scanner in the second scan with a coordinate system for indicating the position of the first point acquired by the three-dimensional scanner in the first scan; generating a virtual space whose central axis is the optical axis of the three-dimensional scanner that points from the position of the second point acquired by the three-dimensional scanner in the second scan toward the position of the three-dimensional scanner at the reference point; and, if the position of the first point acquired by the three-dimensional scanner in the first scan exists in the virtual space, treating the second three-dimensional data that indicates the position of the second point as true three-dimensional data, or treating the first three-dimensional data that indicates the position of the first point as false three-dimensional data.

2. A data processing device as described in claim 1, wherein the virtual space has the shape of a cylinder or polygonal prism with the optical axis of the three-dimensional scanner as its central axis.

3. 3. The data processing device according to claim 1, wherein the first data processing includes at least one of a process of associating a false indicator with the false three-dimensional data, a process of associating a true indicator with the true three-dimensional data, a process of deleting the false three-dimensional data stored in a memory unit, and a process of storing only the true three-dimensional data in the memory unit.

4. 4. The data processing device according to claim 1, wherein the three-dimensional scanner is a hand-held handpiece that acquires the three-dimensional data by scanning the object in the oral cavity.

5. A data processing method in which a computer processes three-dimensional data indicating the positions of each of a plurality of points constituting at least a surface of an object, the data being acquired by a three-dimensional scanner, comprising: inputting the three-dimensional data acquired by the three-dimensional scanner; and executing a first data processing step of determining authenticity of the first three-dimensional data and the second three-dimensional data by comparing first three-dimensional data included in the three-dimensional data input by the input step in a first scan with the three-dimensional scanner and indicating a position of a first point with second three-dimensional data included in the three-dimensional data input by the input step in a second scan with the three-dimensional scanner after the first scan, and indicating a position of a second point; the first data processing is a data processing method including: using a position of the three-dimensional scanner in the first scan as a reference point, matching a coordinate system for indicating the position of the second point acquired by the three-dimensional scanner in the second scan with a coordinate system for indicating the position of the first point acquired by the three-dimensional scanner in the first scan; generating a virtual space whose central axis is the optical axis of the three-dimensional scanner that points from the position of the second point acquired by the three-dimensional scanner in the second scan toward the position of the three-dimensional scanner at the reference point; and, if the position of the first point acquired by the three-dimensional scanner in the first scan exists in the virtual space, treating the second three-dimensional data that indicates the position of the second point as true three-dimensional data, or treating the first three-dimensional data that indicates the position of the first point as false three-dimensional data.

6. A data processing program for processing three-dimensional data indicating the positions of each of a plurality of points constituting at least a surface of an object, the data being acquired by a three-dimensional scanner, On the computer, inputting the three-dimensional data acquired by the three-dimensional scanner; a step of executing a first data processing to determine the authenticity of the first three-dimensional data and the second three-dimensional data by comparing first three-dimensional data included in the three-dimensional data input in the input step during a first scan with the three-dimensional scanner and indicating the position of a first point with second three-dimensional data included in the three-dimensional data input in the input step during a second scan with the three-dimensional scanner after the first scan, and indicating the position of a second point; the first data processing is a data processing program including: using a position of the three-dimensional scanner in the first scan as a reference point, matching a coordinate system for indicating the position of the second point acquired by the three-dimensional scanner in the second scan with a coordinate system for indicating the position of the first point acquired by the three-dimensional scanner in the first scan; generating a virtual space having an optical axis of the three-dimensional scanner that points from the position of the second point acquired by the three-dimensional scanner in the second scan toward the position of the three-dimensional scanner at the reference point; and, if the position of the first point acquired by the three-dimensional scanner in the first scan exists in the virtual space, treating the second three-dimensional data that indicates the position of the second point as true three-dimensional data, or treating the first three-dimensional data that indicates the position of the first point as false three-dimensional data.

7. 1. A data processing system comprising: a three-dimensional scanner that scans an object in the oral cavity to obtain three-dimensional data indicating the positions of each of a plurality of points that form at least a surface of the object; a data processing device that processes the three-dimensional data acquired by the three-dimensional scanner, The data processing device includes: an input unit to which the three-dimensional data acquired by the three-dimensional scanner is input; a data processing unit that executes first data processing to determine the authenticity of the first three-dimensional data and the second three-dimensional data by comparing first three-dimensional data that is included in the three-dimensional data input from the input unit during a first scan of the three-dimensional scanner and indicates the position of a first point with second three-dimensional data that is included in the three-dimensional data input from the input unit during a second scan of the three-dimensional scanner that is subsequent to the first scan, and indicates the position of a second point; the first data processing includes: using the position of the three-dimensional scanner in the first scan as a reference point, matching a coordinate system for indicating the position of the second point acquired by the three-dimensional scanner in the second scan with a coordinate system for indicating the position of the first point acquired by the three-dimensional scanner in the first scan; generating a virtual space whose central axis is the optical axis of the three-dimensional scanner that points from the position of the second point acquired by the three-dimensional scanner in the second scan toward the position of the three-dimensional scanner at the reference point; and, if the position of the first point acquired by the three-dimensional scanner in the first scan exists in the virtual space, treating the second three-dimensional data that indicates the position of the second point as true three-dimensional data, or treating the first three-dimensional data that indicates the position of the first point as false three-dimensional data.

Citation Information

Patent Citations

  • Visualization of 3D data acquisition

    JP2009523552A

  • Detection of movable objects when scanning rigid bodies in 3D

    JP2014521163A

  • Information processing apparatus and data processing method

    JP2021111254A