Method, device, equipment and medium for obtaining dental models
The method and device for generating and updating dental models in parallel using intraoral scanners address tracking and linking errors, ensuring real-time display and accuracy by parallel generation and optimization, thus overcoming loopback errors and achieving complete and accurate 3D data acquisition.
Patent Information
- Application Number
- JP2024573846
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-06-17
- Filing Date
- 2023-06-16
- Publication Date
- 2026-01-28
- Estimated Expiration
- 2043-06-16
AI Technical Summary
Intraoral scanners face tracking and linking errors during scanning, leading to loopback errors and incomplete tooth model acquisition due to accumulated errors, which affect the completeness and accuracy of the 3D data model.
A method and device for generating and displaying a current dental model using a preset tracking and combining algorithm, storing point cloud data frames in a database, and updating the model based on a preset condition to ensure real-time display and accuracy by parallel generation and optimization.
Ensures real-time display and accuracy of the tooth model by performing generation and global optimization in parallel, avoiding errors that hinder complete data collection and ensuring the integrity and precision of the acquired model.
Smart Images

Figure 0007808213000001 
Figure 0007808213000002 
Figure 0007808213000003
Abstract
Description
[Technical Field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This disclosure claims priority to a Chinese patent application filed with the China Patent Office on June 17, 2022, bearing application number 202210722394.6 and entitled "Method and apparatus, equipment and medium for obtaining dental models," the entire contents of which are incorporated herein by reference.
[0002] The present disclosure relates to the technical field of three-dimensional modeling, and in particular to a method, apparatus, device and medium for obtaining a dental model. [Background technology]
[0003] With the continuous maturation and practical application of oral digitalization and chairside restoration technology, the use of intraoral scanners is constantly increasing, and more and more clinics are using intraoral scanners to scan and obtain 3D data models of patients' teeth in their oral cavity. Intraoral scanning requires the intraoral scanner to be placed inside the patient's mouth for scanning and collection. Because the scan head is generally relatively small and its imaging window is typically around 15 mm, it is not possible to directly obtain 3D data of the teeth throughout the entire oral cavity. Instead, the position and orientation of the intraoral scanner must be moved and changed to obtain 3D data of teeth in different areas of the oral cavity. Finally, a consistent and complete 3D data model of the teeth is obtained through tracking and combining during scanning and subsequent optimization processing.
[0004] In the prior art, to ensure that the point cloud data frame of a newly scanned local tooth region can be effectively merged with the point cloud data frame of a previously scanned tooth region during scanning movement of the intraoral scanner, the intraoral tooth point cloud data frame is scanned while the intraoral scanner is moving, and a tracking merger technique is used to determine the merge position of the newly scanned tooth point cloud data frame. According to this merge position, the point cloud data frame of the currently scanned tooth is merged to obtain a dental model. In this continuous merger method, as the movement distance (or range of the scanned area) of the intraoral scanner increases, tracking merger errors accumulate. Therefore, scanning is required on a scan loop (the intraoral scanner starts scanning from a certain position, continuously moves the intraoral scanner to acquire 3D data of a new area, and finally moves back to the starting position and scans, forming a continuous movement trajectory path) to continuously merge the obtained point cloud data frames to obtain a complete dental model.
[0005] However, due to the existence of linking errors, in the above-mentioned local region-based tracking and linking method, as the movement distance (or range of the scanning area) of the intraoral scanner increases, the tracking and linking errors accumulate, and the 3D data at the point where the scanning loop is to be closed is shifted and cannot be closed, i.e., a loopback error occurs. After the loopback error occurs, the data inconsistency will lead to linking errors or failures in subsequent scans near the loopback closure, making it impossible to continue scanning effectively and failing to completely capture the intraoral tooth model. Summary of the Invention [Problem to be solved by the invention]
[0006] In order to solve or at least partially solve the above problems, the present disclosure provides a method, device, equipment, and medium for acquiring a tooth model, which allows the generation and display of the tooth model and global optimization of the tooth model to be performed in parallel, and the tooth model to be updated in a timely manner according to the results of the global optimization, thereby avoiding the problem of the tooth model becoming too large in error to continue collecting tooth point cloud data frames, which affects the completeness of the tooth model acquisition, and ensuring that the tooth model can be displayed in real time based on the point cloud data frames, while realizing the completeness and accuracy of the acquired tooth model. [Means for solving the problem]
[0007] An embodiment of the present disclosure provides a method for obtaining a dental model, including: generating and displaying a current dental model according to a preset tracking and combining algorithm and the current point cloud data frame in response to a collected current point cloud data frame of teeth; storing the current point cloud data frame in a preset database, and determining whether a preset model update condition is met based on all point cloud data frames included in the preset database; and if the preset model update condition is met, determining a reference dental model from all point cloud data frames, and updating the current dental model according to the reference dental model.
[0008] An embodiment of the present disclosure further provides a dental model acquisition device, including: a display module that is responsive to a collected current point cloud data frame of teeth to generate and display a current tooth model according to a preset tracking and combining algorithm and the current point cloud data frame; an optimization module that stores the current point cloud data frame in a preset database and determines whether a preset model update condition is met based on all point cloud data frames included in the preset database; and an update module that determines a reference tooth model from all point cloud data frames and updates the current tooth model according to the reference tooth model if the preset model update condition is met.
[0009] An embodiment of the present disclosure further provides an electronic device comprising a processor and a memory storing instructions executable by the processor, wherein the processor reads the executable instructions from the memory and executes the instructions to implement a method for obtaining a dental model according to an embodiment of the present disclosure.
[0010] An embodiment of the present disclosure further provides a computer-readable storage medium having stored thereon a computer program for executing the method for obtaining a dental model according to an embodiment of the present disclosure. do. [Effects of the Invention]
[0011] The above-described technical aspects provided in the embodiments of the present disclosure have the following advantages over the prior art.
[0012] In the tooth model acquisition solution according to the embodiment of the present disclosure, a current tooth model is generated and displayed according to a preset tracking and combining algorithm and the current point cloud data frame in response to the collected current tooth point cloud data frame, the current point cloud data frame is stored in a preset database, and a preset model update condition is determined based on all point cloud data frames included in the preset database. If the preset model update condition is met, a reference tooth model is determined from all point cloud data frames and the current tooth model is updated based on the reference tooth model. In this way, the generation and display of the tooth model and the global optimization of the tooth model are performed in parallel, and the tooth model is updated in a timely manner according to the results of the global optimization. This avoids the problem of the tooth model becoming too large to continue collecting tooth point cloud data frames, which affects the integrity of the tooth model acquisition, and ensures that the tooth model can be displayed in real time based on the point cloud data frame, thereby achieving the integrity and accuracy of the acquired tooth model.
[0013] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. [Brief explanation of the drawings]
[0014] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the disclosure. Hereinafter, in order to more clearly explain the technical aspects of the embodiments of the present disclosure or the prior art, drawings used in the description of the embodiments or the prior art will be briefly described. It goes without saying that those skilled in the art can further obtain other drawings based on these drawings without requiring creative work. [Figure 1] 1 is a schematic flow chart of a method for obtaining a dental model according to an embodiment of the present disclosure. [Figure 2] 1 is a schematic diagram of a dental model acquisition scene according to an embodiment of the present disclosure; [Figure 3] 10 is a schematic flow chart of another method for obtaining a dental model according to an embodiment of the present disclosure. [Figure 4] 10 is a schematic flow chart of another method for obtaining a dental model according to an embodiment of the present disclosure. [Figure 5] FIG. 1 is a schematic diagram illustrating a configuration of a dental model acquisition device according to an embodiment of the present disclosure. [Figure 6] FIG. 1 is a schematic configuration diagram of an electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0015] In order to clarify the objectives, technical aspects and advantages of the embodiments of the present disclosure, the technical aspects of the embodiments of the present disclosure will be clearly and completely described below. It goes without saying that the described embodiments are only a part of the embodiments of the present disclosure, but not all of them. Other embodiments that can be obtained by those skilled in the art based on the embodiments of the present disclosure without requiring creative work are all included in the protection scope of the present disclosure. In order to solve the above problems, an embodiment of the present disclosure provides a method for obtaining a dental model, which will be introduced below with reference to specific examples.
[0016] 1 is a schematic flowchart of a dental model acquisition method according to an embodiment of the present disclosure, which may be performed by a dental model acquisition device, which may be implemented using software and / or hardware and generally integrated into electronic equipment. As shown in FIG. 1, the method includes steps 101 to 103.
[0017] In step 101, in response to the collected current point cloud data frame of the teeth, a current tooth model is generated and displayed according to a preset tracking and combining algorithm and the current point cloud data frame.
[0018] It will be appreciated that in embodiments of the present disclosure, a scanning device, such as an intraoral scanner, may be moved within a user's oral cavity to obtain a current point cloud data frame for a current collection cycle for a corresponding tooth within the oral cavity, where the current point cloud data frame may be understood to be a combination of three-dimensional data points including multiple scan points of teeth scanned simultaneously.
[0019] As shown in Figure 2, the scanning window of an intraoral scanner is usually small, so the intraoral scanner needs to be moved to collect point cloud data frames in multiple consecutive collection cycles. Each collection cycle collects a point cloud data frame for a local tooth among all the teeth in the oral cavity. Therefore, a complete tooth model can only be obtained by combining multiple point cloud data frames.
[0020] In this embodiment, after obtaining the current point cloud data frame of the tooth, the current tooth model in the current collection cycle is determined from the point cloud data frame.
[0021] In one embodiment of the present disclosure, when constructing and obtaining a current dental model based on a point cloud data frame, the point cloud data frame in the point cloud data frame can be subjected to processes such as pre-processing, division, triangular meshing, and mesh rendering to obtain a corresponding current dental model. The process of constructing and obtaining a current dental model based on a point cloud data frame can be obtained from prior art (such as a fusion method based on an octree voxel field), and therefore, its description is omitted here.
[0022] In one embodiment of the present disclosure, if the current point cloud data frame is not the first point cloud data frame, indicating that the dental model has already been constructed from point cloud data frames collected in a history collection cycle, the present embodiment obtains the current dental model according to a tracking and combining technique.
[0023] In this embodiment, a target tooth model from the previous tooth collection cycle is acquired, and the current point cloud data frame is merged onto the target tooth model to obtain an updated model, which is the current tooth model. In this embodiment, the point cloud data frame in the current point cloud data frame is compared with the point cloud data frame on the target tooth model from the previous collection cycle, or with the point cloud data frame from the previous collection cycle, to determine an overlapping area between the current point cloud data frame and the point cloud data frame on the target tooth model from the previous collection cycle. Based on the overlapping area, a merge position of the current point cloud data frame is determined, and based on this merge position, the current point cloud data frame is merged onto the target tooth model from the previous collection cycle to obtain the current tooth model for the current cycle. When merging the current point cloud data frame onto the target tooth model from the previous collection cycle, an iterative closest point (ICP) algorithm or the like can be used, but these will not be listed here.
[0024] Furthermore, after obtaining the current tooth model, the current tooth model is displayed on a preset display interface to realize real-time display of the scanned tooth model, which can be understood as an interactive interface that displays the model obtained after tooth scanning in real time.
[0025] In step 102, the current point cloud data frame is stored in a preset database, and it is determined whether a preset model update condition is satisfied based on all point cloud data frames included in the preset database.
[0026] It is easy to understand that the current tooth model in the current collection cycle is obtained based on a bonding technique, and therefore there may be bonding errors. If the bonding errors gradually accumulate, the error of the obtained tooth model will increase, and the tooth model may not be closed when scanning one revolution and returning to the starting position. Therefore, in order to eliminate such accumulated errors, it is necessary to perform error optimization of the related model. On the other hand, if it is based on a real-time global optimization algorithm, it will take a considerable amount of time, and displaying the optimized tooth model after the global optimization algorithm is completed will obviously result in display delays, which will affect the user's visual experience and scanning efficiency.
[0027] In one embodiment of the present disclosure, the current point cloud data frame is stored in a predetermined database, and whether all point cloud data frames stored in the predetermined database satisfy the predetermined model update condition is determined through background processing without affecting the real-time display of the current tooth model. For example, two parallel threads can be pre-established: a first thread for determining the current tooth model in the current collection cycle from the point cloud data frame and displaying the current tooth model on a pre-established display interface, and a second thread for storing the current point cloud data frame in a pre-established database and determining whether all point cloud data frames of the teeth in the pre-established database satisfy the pre-established model update condition.
[0028] In this embodiment, in order to reduce computational power consumption, instead of performing global error optimization every time a point cloud data frame is acquired, it is determined whether the preset model update condition is met based on all point cloud data frames of the teeth in a preset database. Only when the preset model update condition is met, there is a possibility that the current tooth model displayed in the background may have a large error, which may cause the current tooth model to deviate significantly from the actual tooth, affecting the display effect and even affecting the smoothness of the scan and the closure of the tooth model.
[0029] Depending on the application scenario, the method for determining whether the preset model update conditions are satisfied based on all point cloud data frames of teeth in a preset database may vary, and examples thereof are as follows:
[0030] In one embodiment of the present disclosure, the current frame number of all point cloud data frames included in the preset database is counted, i.e., starting from the first collection, the collected point cloud data frames are counted, and if the current frame number is greater than a preset number threshold, it is determined that the preset model update condition is met. The preset number threshold may be calibrated by experimental data.
[0031] In one embodiment of the present disclosure, as shown in FIG. 3, the step of determining whether or not preset model update conditions are satisfied based on all point cloud data frames included in a preset database includes steps 301 to 304.
[0032] In step 301, a first model position of each point cloud data frame is determined based on all current point cloud data frames contained in a pre-established database.
[0033] In this embodiment, the first model position of each point cloud data frame is determined based on all current point cloud data frames included in the pre-defined database, and this first model position is obtained by performing global error optimization on all current point cloud data frames, so the precision of the coupling position of the tooth model obtained based on the tracking technology to the point cloud data frame is higher.
[0034] The global error optimization from all current point cloud data frames can be realized according to any one of the global optimization algorithms in the prior art. In some possible embodiments, the first model position of each point cloud data frame is determined based on the bundle method. The bundle method is an algorithm that combines the calculation of exterior orientation parameters (exterior points) and model point coordinates (interior points). Bundle adjustment is a nonlinear function that uses collinear equations as a mathematical model and the joint position of each point cloud data frame in three-dimensional space as an unknown. After linearization, it is calculated according to the principle of least squares. This calculation provides an approximate solution, and then iterates until the joint position value of each point cloud data frame approaches the optimal value, and this joint position value is also used as the first model position.
[0035] In step 302, a second model position for each point cloud data frame in the currently displayed dental model is determined.
[0036] In this embodiment, a second model position of each point cloud data frame in the displayed current tooth model is determined, and the second model position is the coordinate position of the corresponding point cloud data frame in the current tooth model.
[0037] In step 303, the position error of each point cloud data frame is calculated from the first model position and the second model position.
[0038] The second reference tooth model is a model obtained after global optimization processing based on all current point cloud data frames, while the current tooth model is a model with low accuracy obtained based on tracking and joining technology. Therefore, the position error of each point cloud data frame is calculated from the first model position and the second model position, and based on the calculated position error, it can be determined whether the degree of error of the current tooth model is large or whether the accumulated error is so large that the tooth model may not be closed.
[0039] In some possible embodiments, the position error for each point cloud data frame may be the average value of the coordinate difference values between the key feature points at the first model position and the second model position.
[0040] In another possible embodiment, the first model position and the second model position may be aligned according to an associated alignment algorithm, optical flow information from the first model position to the second model position is calculated, and the position error may be determined based on the optical flow information.
[0041] In step 304, it is determined whether a preset model update condition is satisfied based on the position error.
[0042] In this embodiment, after obtaining the position error, it is determined based on the position error whether the preset model update condition is met. In some possible embodiments, the average error value of all the position errors is calculated, and it is determined whether the average error value is greater than a preset average error threshold value. If the average error value is greater than the preset average error threshold value, it is determined that the preset model update condition is met.
[0043] In another possible embodiment, the maximum position error of all the position errors is determined, and it is determined whether the maximum position error is greater than a preset maximum error threshold, and if so, it is determined that the preset model update condition is met.
[0044] In step 103, if a preset model update condition is met, a reference tooth model is determined from all point cloud data frames, and the current tooth model is updated according to the reference tooth model.
[0045] In this embodiment, if a preset model update condition is met, a reference tooth model is determined from all point cloud data frames, and the current tooth model is updated based on the reference tooth model. If the current reference tooth model is not the first time that it is generated in the background, the current reference tooth model can be determined from all point cloud data frames based on the previous reference tooth model.
[0046] It can be seen that in the embodiment of the present disclosure, when the preset model update condition is met, i.e., when the error of the currently displayed tooth model may be large, in order to ensure the display effect and avoid the problem that the accumulated error may become large and the tooth model displayed in the foreground may not be closed, the currently displayed tooth model is updated with a more accurate reference tooth model obtained from all point cloud data frames in the preset database stored in the background, thereby improving the accuracy of the currently displayed tooth model, allowing the tooth point cloud data frames to be continuously scanned, and ensuring the accuracy of the currently visually displayed tooth model.
[0047] As described above, the generation of the reference dental model and the generation and display of the current dental model according to the preset tracking and combining algorithm and the current point cloud data frame are performed in parallel, so that, for example, the generation of the reference dental model can be performed in the background, and the background can build a fusion field by integrating the previously acquired point cloud data frame with the current point cloud data frame acquired each time to obtain a more accurate reference dental model. Meanwhile, the foreground can quickly acquire and display the current dental model based on the tracking and combining technology, and switch to displaying the more accurate reference dental model acquired in the background as needed without visually delaying the display of the dental model, thereby ensuring the completeness and accuracy of the acquired dental model while ensuring the ability to display the dental model based on the point cloud data frame.
[0048] When the collection of tooth point cloud data frames is completed, the currently displayed tooth model is determined as the target tooth model, i.e., the last displayed target tooth model is set as the complete tooth model. If the collection of tooth point cloud data frames is not completed, the above steps are repeated until the complete tooth model is gradually acquired. During the acquisition of the tooth model, if it is determined that all point cloud data frames included in the preset database do not satisfy the preset model update condition, the current tooth model generated and displayed according to the preset tracking and combining algorithm and the current point cloud data frame is set as the last tooth model obtained in the current cycle.
[0049] It should be noted that, depending on the application scenario, the method for determining the reference dental model from all the point cloud data frames may be different. In the embodiment of the present disclosure, the method for determining the reference dental model from all the point cloud data frames and their spatially combined positions can be obtained from the prior art (for example, the fusion method based on the octree voxel field, etc.), so the description thereof will be omitted here.
[0050] In some possible embodiments, as shown in FIG. 4, the step of determining the reference dental model from all the point cloud data frames includes the following steps 401 to 404.
[0051] In step 401, when the previous reference tooth model determined by the previous optimization is obtained, an initial reference tooth model is generated based on all point cloud data frames included in the preset database and the first model position of each point cloud data frame in the previous reference tooth model.
[0052] It will be understood that if it is not the first time that the reference dental model is currently constructed in the background, i.e., if the previous reference dental model determined by the previous optimization has been obtained, the initial reference dental model will be generated based on all point cloud data frames included in the preset database and the first model position of each point cloud data frame in the previous reference dental model.
[0053] In one embodiment of the present disclosure, if a reference dental model is currently being constructed in the background for the first time, all point cloud data frames included in a pre-set database can be directly merged to obtain an initial reference dental model.
[0054] In step 402, it is determined whether the number of remaining point cloud data frames in the preset database is less than a preset number threshold.
[0055] The preset number threshold may be calibrated with experimental data.
[0056] In step 403, if the number is equal to or greater than the preset number threshold, update the initial reference dental model according to the remaining point cloud data frames in the preset database until the number of the remaining point cloud data frames in the preset database is less than the preset number threshold.
[0057] In step 404, if the number of remaining point cloud data frames in the preset database is less than a preset number threshold, the collection of tooth point cloud data frames is stopped, and the initial reference tooth model is updated according to the remaining point cloud data frames to obtain a reference tooth model. When updating the initial reference tooth model according to the remaining point cloud data frames to obtain a reference tooth model, a docking position on the initial reference tooth model is determined based on local overlap, and docking is performed, so that the reference tooth model can be obtained quickly.
[0058] That is, in one embodiment of the present disclosure, since the scanning of the point cloud data frames by the front-ground is continuous, in order to ensure that the generated initial reference dental model includes as many collected point cloud data frames as possible, in the process of determining the reference dental model from all point cloud data frames described in the above embodiment, first, an initial reference dental model is generated by fusing all current point cloud data frames in the current database based on a global optimization algorithm (the above embodiment can be referred to for the method of generating the initial reference dental model, and the description thereof will be omitted here). When the previous reference dental model determined by the previous optimization is obtained, an initial reference dental model is generated based on all point cloud data frames included in the preset database and the first model position of each point cloud data frame in the previous reference dental model.
[0059] Since generating the initial reference dental model takes time, point cloud data frames scanned by the front-ground are added to the background database even during the generation of the initial reference dental model. After generating the initial reference dental model, the number of remaining point cloud data frames in the current background database that are not involved in generating the initial reference dental model is determined and it is determined whether the remaining number is greater than a preset data threshold. If it is less than the preset data threshold, the scanning process is stopped, and global optimization and fusion of the remaining point cloud data frames and the initial reference dental model is performed to obtain an updated reference dental model, and the current front-ground dental model is replaced with the updated reference dental model. At this time, it is determined whether all teeth have been scanned; if not, the scan collection process for the next cycle is started.
[0060] On the other hand, if the data is greater than the preset data threshold, the remaining point cloud data frames are globally optimized and merged with the current initial reference tooth model to obtain an updated initial reference tooth model. At this time, the above determination is repeated. If the remaining point cloud data frames are equal to or less than the preset data threshold, the front-ground scanning process is stopped, and the remaining point cloud data frames are globally optimized and merged with the initial reference tooth model to obtain an updated reference tooth model. At the same time, if the preset model update condition is met, the current front-ground tooth model is replaced with the finally obtained reference tooth model. At this time, it is determined whether all teeth have been scanned; if not, the scan collection process for the next cycle is started.
[0061] As described above, the tooth model acquisition method according to the embodiment of the present disclosure generates and displays a current tooth model according to a preset tracking and combining algorithm and the current point cloud data frame in response to the collected current tooth point cloud data frame, stores the current point cloud data frame in a preset database, and determines whether a preset model update condition is met based on all point cloud data frames included in the preset database. If the preset model update condition is met, determines a reference tooth model from all point cloud data frames and updates the current tooth model according to the reference tooth model. In this way, the generation and display of the tooth model and the global optimization of the tooth model are performed in parallel, and the tooth model is updated in a timely manner according to the results of the global optimization. This avoids the problem of large tooth model errors that make it impossible to continue collecting tooth point cloud data frames, which affects the integrity of the tooth model acquisition, and ensures that the tooth model can be displayed in real time based on the point cloud data frame, thereby achieving the integrity and accuracy of the acquired tooth model.
[0062] To realize the above-described embodiment, the present disclosure further proposes a dental model acquisition device.
[0063] 5 is a schematic diagram of a dental model acquisition device according to an embodiment of the present disclosure, which can be implemented in software and / or hardware and is generally integrated into electronic devices to acquire dental models. As shown in FIG. 5, the device includes a display module 510, an optimization module 520, and an update module 530.
[0064] The display module 510 is responsive to the collected current point cloud data frame of the teeth to generate and display a current tooth model according to a preset tracking and combining algorithm and the current point cloud data frame.
[0065] The optimization module 520 stores the current point cloud data frame in a preset database, and determines whether a preset model update condition is met based on all point cloud data frames included in the preset database.
[0066] The update module 530 determines a reference tooth model from all point cloud data frames when a preset model update condition is met, and updates the current tooth model according to the reference tooth model.
[0067] The dental model acquisition device according to the embodiments of the present disclosure can execute the dental model acquisition method according to any embodiment of the present disclosure, and includes functional modules and beneficial effects according to the execution of the method. In some possible embodiments, The dental imaging system further includes a model determination module that determines the currently displayed dental model as the target dental model when the collection of the dental point cloud data frames has been completed.
[0068] In some possible embodiments, the display module 510 may specifically include: If the current point cloud data frame is the first point cloud data frame collected, construct and display a current dental model based on the current point cloud data frame; If the current point cloud data frame is not the first point cloud data frame collected, obtain a most recently displayed historical dental model; The current point cloud data frame is combined onto the historical dental model to obtain and display a current dental model.
[0069] In some possible implementations, the optimization module 520 specifically: The current frame number of all point cloud data frames included in the preset database is counted, and if the current frame number is greater than a preset number threshold, it is determined that a preset model update condition is met.
[0070] In some possible implementations, the optimization module 520 specifically: determining a first model position for each point cloud data frame based on all current point cloud data frames included in the preset database; determining a second model position for each point cloud data frame in the currently displayed dental model; Calculating a position error of each point cloud data frame from the first model position and the second model position; Based on the position error, it is determined whether a preset model update condition is satisfied.
[0071] In some possible implementations, the optimization module 520 specifically: Calculating an error average value of all the position errors; Determining whether the error average value is greater than a preset average error threshold, and if so, determining that the preset model update condition is satisfied.
[0072] In some possible implementations, the optimization module 520 specifically: determining a maximum position error of all said position errors; It is determined whether the maximum position error is greater than a preset maximum error threshold, and if so, it is determined that the preset model update condition is satisfied.
[0073] In some possible implementations, the update module 530 specifically: When a previous reference tooth model determined by the previous optimization is obtained, an initial reference tooth model is generated based on all point cloud data frames included in the preset database and the first model position of each point cloud data frame in the previous reference tooth model; determining whether the number of remaining point cloud data frames in the preset database is less than a preset number threshold; If the number is equal to or greater than the predetermined number threshold, update the initial reference dental model according to the remaining point cloud data frames until the number of remaining point cloud data frames in the predetermined database becomes smaller than the predetermined number threshold; If the number of remaining point cloud data frames in the preset database is less than the preset number threshold, the collection of the tooth point cloud data frames is stopped, and the initial reference tooth model is updated according to the remaining point cloud data frames to obtain the reference tooth model.
[0074] In some possible implementations, the update module 530 specifically: Determine whether collection of the point cloud data frame for the tooth is complete, and if not, continue to collect the current point cloud data frame for the tooth.
[0075] To realize the above embodiment, the present disclosure further proposes a computer program product including a computer program / instructions that, when executed by a processor, realizes the method for obtaining a dental model in the above embodiment.
[0076] An embodiment of the present disclosure further provides a computer storage medium capable of storing a program that, when executed, can implement some or all of the steps in each implementation of the above-described method for obtaining a dental model.
[0077] FIG. 6 is a schematic diagram of an electronic device according to an embodiment of the present disclosure.
[0078]
[0062] Referring specifically to Figure 6 below, a schematic configuration diagram of an electronic device 600 for implementing an embodiment of the present disclosure is shown. The electronic device 600 in the embodiment of the present disclosure may include, but is not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), and in-vehicle terminals (e.g., in-vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. The electronic device shown in Figure 6 is merely an example and does not limit the functions and scope of use of the embodiment of the present disclosure in any way.
[0079] 6, electronic device 600 may include a processor (e.g., a central processing unit, a graphics processor, etc.) 601 that can perform various appropriate operations and processes in accordance with a program stored in read-only memory (ROM) 602 or a program loaded from memory 608 into random access memory (RAM) 603. Various programs and data necessary for the operation of electronic device 600 are further stored in RAM 603. Processor 601, ROM 602, and RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to bus 604.
[0080] Typically, I / O interface 605 may be connected to input devices 606, including, for example, a touchscreen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 607, including, for example, a liquid crystal display (LCD), speaker, oscillator, etc.; memory 608, including, for example, a magnetic tape, hard disk, etc.; and communication devices 609. Communication devices 609 enable electronic device 600 to communicate wirelessly or via wires with other devices to exchange data. While FIG. 6 illustrates electronic device 600 with various devices, it should be understood that electronic device 600 need not implement or include all of the devices shown. Alternatively, more or fewer devices may be implemented or included.
[0081] In particular, according to embodiments of the present disclosure, the processes described above with reference to the flowcharts may be implemented as a computer software program. For example, embodiments of the present disclosure include a computer program product including a computer program carried on a non-transitory computer-readable medium, the computer program including program code for performing the method illustrated in the flowcharts. In such embodiments, the computer program may be downloaded and installed from a network via the communication device 609, or may be installed from the memory 608, or may be installed from the ROM 602. When executed by the processor 601, the computer program performs the functions described above that are specific to the method for obtaining a tusk model according to embodiments of the present disclosure.
[0082] It should be noted that the computer-readable medium of the present disclosure may be a computer-readable signal medium, a computer-readable storage medium, or any combination thereof. The computer-readable storage medium may be, for example, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of the computer-readable storage medium may include, but are not limited to, an electrical connection having one or more conductors, a portable computer magnetic disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact magnetic disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in combination with an instruction execution system, apparatus, or device. Meanwhile, in the present disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave carrying computer-readable program code. Such propagated data signals may take various forms, including, but not limited to, electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may be any computer-readable medium other than a computer-readable storage medium, which can transmit, propagate, or carry a program for use by or in combination with an instruction execution system, apparatus, or device. Program code contained in a computer-readable medium may be transmitted over any suitable medium, including, but not limited to, conductive wire, optical cable, RF (radio frequency), etc., or any suitable combination thereof.
[0083] In some embodiments, clients and servers may communicate using any network protocol now known or later developed, such as HTTP (HyperText Transfer Protocol), and may be interconnected (e.g., a communications network) in communication with digital data in any form or medium. Examples of communications networks include local area networks ("LANs"), wide area networks ("WANs"), extranets (e.g., the Internet), end-to-end networks (e.g., ad-hoc end-to-end networks), and any other networks now known or later developed.
[0084] The computer-readable medium may be included in the electronic device, or may exist separately from the electronic device without being incorporated therein.
[0085] The computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to generate and display a current tooth model in response to the collected current tooth point cloud data frame according to a preset tracking and combining algorithm and the current point cloud data frame, store the current point cloud data frame in a preset database, and determine whether a preset model update condition is met based on all point cloud data frames included in the preset database. If the preset model update condition is met, determine a reference tooth model from all point cloud data frames and update the current tooth model according to the reference tooth model. In this way, the generation and display of the tooth model and the global optimization of the tooth model are performed in parallel, and the tooth model is updated in a timely manner according to the result of the global optimization. This avoids the problem of tooth model errors becoming too large to continue collecting tooth point cloud data frames, which affects the integrity of the tooth model acquisition, and ensures that the tooth model can be displayed in real time based on the point cloud data frame, thereby achieving the integrity and accuracy of the acquired tooth model.
[0086] The electronic device may have computer program code written in one or more programming languages or combinations thereof, including, but not limited to, object-oriented programming languages such as Java, Smalltalk, C++, and the like, and further including conventional procedural programming languages such as "C" or similar programming languages. The program code may run entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. When a remote computer is involved, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet Service Provider).
[0087] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowcharts or block diagrams may represent a module, program segment, or portion of code, including one or more executable instructions for implementing a given logical function. It should be noted that in some alternative implementations, the functions noted in the blocks may occur in a different order than that noted in the figures. For example, two successively shown blocks may actually be executed essentially in parallel, or may be executed in the reverse order, depending on the functionality involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented in a dedicated hardware system or a combination of dedicated hardware and computer instructions to perform a given function or operation.
[0088] The units described in the embodiments of the present disclosure may be realized by software or hardware, and the names of the units may not limit the units themselves.
[0089] The functions described herein above may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), etc.
[0090] In the context of the present disclosure, a machine-readable medium may be a tangible medium that can contain or store a program used by or in combination with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination thereof. More specific examples of machine-readable storage media include an electrical connection by one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.
[0091] It should be noted that, in this specification, the use of related terms such as "first" and "second" is merely intended to distinguish one entity or operation from another and does not necessarily require or imply any actual relationship or order between those entities or operations. Furthermore, the terms "comprise," "have," or any variation thereof are intended to be non-exclusively inclusive, so that a process, method, article, or device comprising a set of elements not only includes those elements, but also other elements not expressly listed, or inherent elements of such process, method, article, or device. Unless further limited, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in a process, method, article, or device that includes the element.
[0092] The foregoing are merely specific examples of the present disclosure, intended to enable those skilled in the art to understand or realize the present disclosure. Various modifications to these examples will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other examples without departing from the spirit or scope of the present disclosure. Therefore, the present disclosure is not limited to the examples shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
[0093] In the tooth model acquisition method according to the present disclosure, the generation and display of the tooth model and the global optimization of the tooth model are performed in parallel, and the tooth model is updated at an appropriate time according to the results of the global optimization. This avoids the problem of the tooth model becoming too large in error, making it impossible to continue collecting tooth point cloud data frames, which would affect the completeness of the tooth model acquisition, and ensures that the tooth model can be displayed in real time based on the point cloud data frames, while realizing the completeness and accuracy of the acquired tooth model, making it highly industrially applicable.
Claims
1. generating and displaying a current dental model in response to the acquired current dental point cloud data frame according to a preset tracking and combining algorithm and the current dental point cloud data frame; storing the current point cloud data frame in a predetermined database, and determining whether a predetermined model update condition is satisfied based on all point cloud data frames included in the predetermined database; determining a reference dental model from all the point cloud data frames if the preset model update condition is met, and updating the current dental model according to the reference dental model; A method for obtaining a dental model, comprising:
2. When the collection of the tooth point cloud data frame is completed, the method further includes determining the currently displayed tooth model as a target tooth model.
2. The method of claim 1 .
3. generating and displaying a current dental model according to a preset tracking and combining algorithm and the current point cloud data frame; If the current point cloud data frame is the first point cloud data frame collected, constructing and displaying a current dental model based on the current point cloud data frame; if the current point cloud data frame is not the first point cloud data frame collected, obtaining a most recently displayed historical dental model; and combining the current point cloud data frame onto the historical dental model to obtain and display a current dental model.
2. The method of claim 1 .
4. The step of determining whether a preset model update condition is satisfied based on all point cloud data frames included in the preset database includes: Counting current frame numbers of all point cloud data frames included in the preset database, and determining that a preset model update condition is met if the current frame number is greater than a preset number threshold.
2. The method of claim 1 .
5. The step of determining whether a preset model update condition is satisfied based on all point cloud data frames included in the preset database includes: determining a first model position for each point cloud data frame based on all current point cloud data frames included in the preset database; determining a second model position for each point cloud data frame in the currently displayed dental model; calculating a position error of each point cloud data frame from the first model position and the second model position; and determining whether a preset model update condition is satisfied based on the position error.
2. The method of claim 1 .
6. The step of determining whether a preset model update condition is satisfied based on the position error includes: calculating an error average value of all the position errors; determining whether the error average value is greater than a predetermined average error threshold, and if so, determining that the predetermined model update condition is satisfied.
6. The method of claim 5.
7. The step of determining whether a preset model update condition is satisfied based on the position error includes: determining a maximum position error of all said position errors; determining whether the maximum position error is greater than a predetermined maximum error threshold, and if so, determining that the predetermined model update condition is satisfied.
6. The method of claim 5.
8. The step of determining a reference dental model from all the point cloud data frames includes: When a previous reference dental model determined by a previous optimization is obtained, generating an initial reference dental model based on all point cloud data frames included in the preset database and a first model position of each point cloud data frame in the previous reference dental model; determining whether the number of remaining point cloud data frames in the preset database is less than a preset number threshold; If the number is equal to or greater than the predetermined number threshold, updating the initial reference dental model according to the remaining point cloud data frames in the predetermined database until the number of remaining point cloud data frames in the predetermined database becomes smaller than the predetermined number threshold; If the number of remaining point cloud data frames in the preset database is less than the preset number threshold, interrupting the collection of the tooth point cloud data frames, and updating the initial reference dental model according to the remaining point cloud data frames to obtain the reference dental model.
2. The method of claim 1 .
9. determining whether collection of the tooth point cloud data frame is complete, and if not, continuing to collect the current tooth point cloud data frame.
2. The method of claim 1 .
10. a display module for generating and displaying a current dental model in response to the collected current dental point cloud data frame according to a preset tracking and combining algorithm and the current dental point cloud data frame; an optimization module that stores the current point cloud data frame in a predetermined database and determines whether a predetermined model update condition is satisfied based on all point cloud data frames included in the predetermined database; an update module for determining a reference dental model from all the point cloud data frames and updating the current dental model according to the reference dental model when the preset model update condition is met; A dental model acquisition device comprising:
11. a processor; a memory that stores instructions executable by the processor; The processor reads the executable instructions from the memory and executes the executable instructions to implement the method for obtaining a dental model according to any one of claims 1 to 9. An electronic device characterized by:
12. A computer-readable storage medium storing a computer program for executing the method for obtaining a dental model according to any one of claims 1 to 9.
Citation Information
Patent Citations
System for measuring and processing dental prosthesis
JP2012016573A
A method for estimating at least one of the shape, position and orientation of a dental restoration
JP2019518552A
Information processing apparatus and data processing method
JP2021111254A
Multifaceted registration of intraoral scans
US20220164955A1