A general three-dimensional dental scanning algorithm engine architecture
By designing the dental three-dimensional scanning algorithm engine architecture, the problem of inefficient equipment compatibility and development of dental three-dimensional scanning technology is solved, and unified processing of multiple equipment data is realized and efficient visual interaction is improved, thus improving the flexibility and efficiency of dental three-dimensional scanning.
Patent Information
- Application Number
- CN202210076103.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-23
- Publication Date
- 2025-07-04
- Estimated Expiration
- 2042-01-23
AI Technical Summary
The existing dental three-dimensional scanning technology has challenges in oral environment complexity, data accuracy, patient experience, etc., and the lack of a general algorithm engine architecture leads to inefficient equipment compatibility and development.
Design a dental three-dimensional scanning algorithm engine architecture including StreamManager, Utils, Plugins and DOSEngine modules. Through data flow management, instantiation algorithm modules and plug-in modules, it realizes unified processing and module independence of data of different hardware devices, and supports three-dimensional reconstruction and processing of multiple data sources.
It improves the compatibility and development efficiency of dental three-dimensional scanning equipment, realizes that the same algorithm engine supports data processing of different types of devices, and improves the flexibility and visual interaction of data processing.
Smart Images

Figure CN114418831B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of dentistry, and particularly to a general dental three-dimensional scanning algorithm engine architecture. Background Art
[0002] In recent years, with the growth of the population base and the improvement of people's living standards in China, the demand for oral healthcare has been continuously increasing. According to statistics, about 50% of the population in China suffers from various oral diseases. To solve problems such as oral diseases and improve people's quality of life, more and more digital technologies have been applied in oral medicine. At the same time, with the maturity of dental computer-aided design and manufacturing (CAD / CAM) technology, intraoral three-dimensional digital scanning has gradually become a research hotspot in the oral field and has been widely used in the treatment of clinical cases such as orthodontics, prosthetics, and implantation. Its digital treatment has gradually been accepted by the oral industry. Intraoral three-dimensional digital scanning technology has obvious advantages over traditional impression techniques: it is convenient, real-time, visual, etc., which improves the efficiency of doctor-patient communication. At the same time, due to the complex clinical oral environment, this technology also faces many problems in solving intraoral optical imaging, scanning data accuracy, patient experience, etc. Therefore, a general dental three-dimensional scanning algorithm engine architecture is proposed. Summary of the Invention
[0003] (1) Technical Problems to be Solved
[0004] In view of the deficiencies of the prior art, the present invention provides a general dental three-dimensional scanning algorithm engine architecture to solve the problems raised in the above background art.
[0005] (2) Technical Solutions
[0006] To achieve the above object, the present invention provides the following technical solution: A general dental three-dimensional scanning algorithm engine architecture includes four modules, namely StreamManager, Utils, Plugins, and DOSEngine.
[0007] StreamManager is a data stream module responsible for managing the data stream input and output management of the entire DOS. Through an inheritance structure, various different data streams are wrapped (iStream) and packed (oStream) by the StreamManager module to meet various data interfaces of the DOSEngine.
[0008] Utils is an instance module that contains each instantiated algorithm module, such as: imager, fuser, solver, and mesher.
[0009] Plugins are plugin modules that contain general tools and custom operations, such as: DataStructure, Interactor, SystemTool, and VisualRender;
[0010] The DOSEngine module is responsible for scheduling the StreamManager, Utils, and Plugins modules to meet various actual requirements, such as: 3D reconstruction, point cloud registration, mesh processing, etc. This module is the engine module for the entire workflow.
[0011] Preferably, the interface provided by the StreamManager is called to implement the input of the data stream. The collected data is input to the PC through the IO interfaces (such as USB, network card, WiFi, etc.) on the PC side.
[0012] Preferably, the data stream, as the input data, will be distributed, processed, and assembled in the DOSEngine. The specific implementation is the responsibility of each instance or plugin module. The processing flow is as follows:
[0013] ①. The DOSEngine processes the original single-frame data by calling the Imager module. Using general 3D reconstruction algorithms, such as: PMP (Phase Measuring Profilometry), Mutiline (Multi-line Structured Light), Confocal, etc., the original data is converted into single-frame point cloud data and true-color image data, and some data preprocessing is performed on the point cloud data: normal vector calculation, point cloud filtering, color calibration, etc.;
[0014] ②. The DOSEngine fuses the single-frame point cloud data by calling the Fusioner to process the frame point cloud data. Usually, methods such as SLAM (Simultaneous Localization and Mapping) are included to obtain the globally fused point cloud data and save the associated true-color image data;
[0015] ③. The DOSEngine calls the Solver module to optimize the fused point cloud data in step ②, including but not limited to optimization algorithms such as BA and G2O;
[0016] ④. The DOSEngine calls the Mesher module to perform meshing on the optimized data in step ③. General processing steps include: point cloud meshing, mesh simplification, mesh filtering, mesh texturing, etc.
[0017] Preferably, the DOSEngine requires the support of relevant data structures and plugins during the processing of the above ①, ②, ③, and ④ processes, including the following:
[0018] ①. The General Data Structure DataStructure module, as a general data structure, defines the basic data structures for each module.
[0019] ②. The Interaction Operation Interactor. The DOSEngine engine calls the Interactor to perform interactive operations on each module of the instance through the input data commands of the Client, such as cropping, deleting, returning, etc.
[0020] ③. The Visual Render VisualRender provides visual operations for the 3D display and interaction operations during the processing, facilitating interaction and presenting the processing effects.
[0021] ④. The System Tool SystemTool, as a general system tool, provides relevant functions for the instance modules, such as memory pool management, system parameter management, etc.
[0022] Preferably, after the data stream is processed by the DOSEngine engine, the processing result will be returned to the client Client again through the output interface of the StreamManager.
[0023] Preferably, the PC side packs data, commands, parameters, etc. into a data stream through the control module of the host computer to meet the needs of the client Client to collect different data using optoelectronic devices.
[0024] Preferably, the specific output type and format are defined by the Client, and the DOSEngine is responsible for packaging.
[0025] (III) Advantageous Effects
[0026] Compared with the prior art, the present invention provides a general dental three-dimensional scanning algorithm engine architecture. This algorithm engine is for data processing of in-mouth three-dimensional digital scanning products and has the following advantageous effects:
[0027] 1. Taking the data obtained by the hardware device in the form of a data stream as the input source of the algorithm engine, thereby enabling the same algorithm engine to support different data sources obtained by different types of devices.
[0028] 2. Inside the algorithm engine, for different processing methods of dental data, the independence of each algorithm module is realized.
[0029] 3. The DOS module of the algorithm engine independently schedules each sub-module, assembles the functions of each module, and quickly meets the development requirements of the engine layer. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Figure 1 It is a schematic diagram of the modules of the present invention. Detailed Implementation Manner
[0031] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
[0032] The present invention provides a technical solution, a general three-dimensional dental scanning algorithm engine architecture, as Figure 1 shown, including four modules, namely StreamManager, Utils, Plugins, and DOSEngine;
[0033] StreamManager is a data stream module, responsible for managing the input and output of the data stream of the entire DOS. Through an inheritance structure, various different data streams are wrapped (iStream) and packed (oStream) by the StreamManager module to meet various data interfaces of the DOSEngine;
[0034] Utils is an instance module, containing each instantiated algorithm module, such as: imager, fuser, solver, and mesher;
[0035] Plugins is a plugin module, containing general tools and custom operations, such as: DataStructure, Interactor, SystemTool, and VisualRender;
[0036] The DOSEngine module is responsible for scheduling the StreamManager, Utils, and Plugins modules to meet various actual requirements, such as: three-dimensional reconstruction, point cloud registration, mesh processing, etc. This module is the engine module of the entire workflow.
[0037] Specifically, to implement the input of the data stream by calling the interface provided by the StreamManager, the collected data is input to the PC through the IO interfaces (USB, network card, WiFi, etc.) of the PC.
[0038] Specifically, the data stream, as the input data, will be distributed, processed, and assembled in the DOSEngine. The specific implementation is the responsibility of each instance or plugin module. The processing flow is as follows:
[0039] ①. The DOSEngine engine processes the original single-frame data by calling the Imager module. Using general 3D reconstruction algorithms such as PMP (Phase Measuring Profilometry), Mutiline (Multi-line Structured Light), confocal, etc., it converts the original data into single-frame point cloud data and true-color image data, and performs some data preprocessing on the point cloud data: normal vector calculation, point cloud filtering, color calibration, etc.;
[0040] ②. The DOSEngine engine performs frame-by-frame point cloud data fusion processing on the single-frame point cloud data by calling the Fusioner. Usually, methods such as SLAM (Simultaneous Localization and Mapping) are included to obtain globally fused point cloud data and save the associated true-color image data;
[0041] ③. The DOSEngine engine calls the Solver module to optimize the fused point cloud data in step ②, including but not limited to optimization algorithms such as BA (Bundle Adjustment) and G2O;
[0042] ④. The DOSEngine engine calls the Mesher module to perform meshing processing on the optimized data in step ③. General processing steps include: point cloud meshing, mesh simplification, mesh filtering, mesh texturing, etc.
[0043] Specifically, when the DOSEngine engine processes the above-mentioned ①, ②, ③, and ④ processes, it requires the support of relevant data structures and plugins, including the following:
[0044] ①. The General Data Structure DataStructure module, as a general data structure, is the basic data structure definition for each module;
[0045] ②. The Interaction Operation Interactor. The DOSEngine engine calls the Interactor to perform interactive operations on each module of the instance through the input data commands of the Client, such as cropping, deleting, returning, etc.;
[0046] ③. The Visual Rendering VisualRender provides visual operations for the 3D display and interaction operations during the processing, facilitating interaction and demonstrating the processing effects;
[0047] ④. The System Tool SystemTool, as a general system tool, provides relevant functions for the instance modules, such as memory pool management, system parameter management, etc.
[0048] Specifically, after the data stream is processed by the DOSEngine engine, the processing results will be returned to the client Client again through the output interface of the StreamManager.
[0049] Specifically, the PC side, through the control module of the host computer, packages data, commands, parameters, etc. into data streams to meet the requirements of the client (Client) for collecting different data using optoelectronic devices.
[0050] Specifically, the specific output type and format are defined by the Client, and the DOSEngine is responsible for packaging.
[0051] The working principle of this device: The StreamManager is a data stream module responsible for managing the input and output of the data streams of the entire DOS. Through an inheritance structure, the StreamManager module packages (iStream) and packs (oStream) various different data streams to meet the various data interfaces of the DOSEngine; the Utils is an instance module that contains each instantiated algorithm module, such as: imager, fuser, solver, and mesher; the Plugins is a plugin module that contains general tools and custom operations, such as: DataStructure, Interactor, SystemTool, and VisualRender; the DOSEngine module is responsible for scheduling the StreamManager, Utils, and Plugins modules to meet various actual requirements, such as: 3D reconstruction, point cloud registration, mesh processing, etc. This module is the engine module of the entire workflow. Through the cooperation of the four modules, the interaction and independence of each algorithm sub-module can be achieved, avoiding the problem of difficult maintenance due to too strong coupling between each module, thereby improving the flexibility and development efficiency of the algorithm engine. For example Figure 1 As shown, it is the design framework of the entire algorithm engine. The client (Client) inputs the client's Data, Commands, and Parameters into the algorithm engine module through the StreamManager. The StreamManager will convert the client's data into an input stream, and its attributes include: RGB images, PointClouds point clouds, RGB depth maps, etc. Immediately afterwards, the DOSEngine module will schedule instance Utils modules such as the Imager, Fusioner, Solver, and Mesher. At the same time, they will use modules such as DataStructure, Interactor, VisualRender, and SystemTool as plugins (Plugins) to serve the usage requirements of each sub-module. After the algorithm engine uniformly processes the data, it will again convert the processing results of the data into PointClouds, Meshes, 3Dpose, Visual Handle, etc. through the StreamManager and output them to the Clients, completing the data processing of the entire intraoral three-dimensional digital scanning technology.
[0052] It should be noted that, in this document, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, such that a process, method, article or device comprising a series of elements not only includes those elements but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device.
[0053] Although embodiments of the present invention have been shown and described, it will be understood by those of ordinary skill in the art that various changes, modifications, substitutions and variations can be made to these embodiments without departing from the principles and spirit of the present invention, and the scope of the present invention is defined by the appended claims and their equivalents.
Claims
1. A general three-dimensional dental scanning algorithm engine architecture, characterized in that: It includes four modules, namely StreamManager, Utils, Plugins, and DOSEngine; StreamManager is a data stream module responsible for managing the input and output of the data stream of the entire DOS. Through an inheritance structure, various different data streams are wrapped and packaged by the StreamManager module to meet various data interfaces of DOSEngine; Utils is an instance module that contains each instantiated algorithm module, including: imager, fuser, solver, and mesher; Plugins is a plugin module that contains general tools and custom operations, including: DataStructure, Interactor, SystemTool, and VisualRender; The DOSEngine module is responsible for scheduling the StreamManager, Utils, and Plugins modules to meet various actual requirements, including: 3D reconstruction, point cloud registration, and mesh processing. This module is the engine module of the entire workflow; The data stream, as input data, will be distributed, processed, and assembled in the DOSEngine. The specific implementation is the responsibility of each instance or plugin module. The processing flow is as follows: ①. The DOSEngine calls the Imager module to process the original single-frame data. Using 3D reconstruction algorithms, including: PMP, Mutiline, and confocal, the original data is converted into single-frame point cloud data and true-color image data, and some data preprocessing is performed on the point cloud data: normal vector calculation, point cloud filtering, and color calibration; ②. The DOSEngine calls the Fusioner to perform frame-by-frame point cloud data fusion processing on the single-frame point cloud data, including the SLAM method, to obtain globally fused point cloud data and save the associated true-color image data; ③. The DOSEngine calls the Solver module to optimize the fused point cloud data in step ②, including BA and G2O optimization algorithms; ④. The DOSEngine calls the Mesher module to perform meshing on the optimized data in step ③. The processing steps include: point cloud meshing, mesh simplification, mesh filtering, and mesh texturing.
2. A general dental three-dimensional scanning algorithm engine architecture according to claim 1, characterized in that: The input of the data stream is implemented by calling the interface provided by StreamManager. The collected data is input into the PC through the IO interface of the PC.
3. A general dental three-dimensional scanning algorithm engine architecture according to claim 1, characterized in that: During the DOSEngine's processing of the above steps ①, ②, ③, and ④, the support of relevant data structures and plugins is required, among which include the following: ①. The general data structure DataStructure module, as a general data structure, is the basic data structure definition of each module; ②. The interactive operation Interactor. The DOSEngine calls the Interactor to perform interactive operations on each module of the instance through the input data commands of the Client, including: cropping, deleting, and returning; ③. Visual Render For 3D display and interactive operations during the processing, Visual Render provides visual operations to facilitate interaction and display the processing effects.
4. A general dental three-dimensional scanning algorithm engine architecture according to claim 1, characterized in that: ④. System Tool 5. A general dental three-dimensional scanning algorithm engine architecture according to claim 2, characterized in that: As a system tool, it provides relevant functions for the instance modules, including memory pool management and system parameter management.
6. A general dental three-dimensional scanning algorithm engine architecture according to claim 4, characterized in that: After the data stream is processed by the DOSEngine engine, the processing results will be returned to the client Client again through the output interface of the StreamManager. The PC side, through the control module of the host computer, packs data, commands, and parameters into a data stream to meet the needs of the client Client to collect different data using optoelectronic devices. The specific output type and format are defined by the Client, and the DOSEngine is responsible for packaging.
Citation Information
Patent Citations
GPU (graphics processing unit) based software system architecture and UML (unified modeling language) and ADL (architecture description language) combined describing method
CN104615437A
Convenient-to-develop virtual reality adapter for simulation three-dimensional engine
CN113485851A