Three-dimensional Scanning Quality Improvement Method, Device, Equipment and Storage Medium

By performing data analysis and screening of the current scanning model of the three-dimensional scanning instrument, building a scanning direction mark, and controlling the scanning instrument to scan in this direction, the problem of low efficiency in improving the quality of the three-dimensional scanning is solved, and efficient and accurate scanning quality improvement is achieved.

CN115457100BActive Publication Date: 2025-06-13FUSSEN TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211131168.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-16
Publication Date
2025-06-13
Estimated Expiration
2042-09-16

AI Technical Summary

Technical Problem

During the clinical scanning process, three-dimensional scanners are affected by various factors, making it difficult for users to obtain scanning model data efficiently and accurately. Especially when the scanning quality of some areas does not meet the requirements, the entire scanning object needs to be rescanned, which is relatively inefficient.

Method used

By obtaining the current scanning model of the three-dimensional scanning instrument and the posture matrix and link voxel of each voxel, data extraction and analysis are carried out to obtain the center of gravity coordinates and optical axis orientation vector of the voxel. These data are used for angle screening and distance screening, spatial areas are divided, neighboring voxels of candidate detection voxels are screened and segmented, similar differential voxel sets and large differential voxel sets are constructed, coordinate interpolation is performed based on the center of gravity coordinates, scanning direction marks are constructed, and the three-dimensional scanning instrument is controlled to scan along this direction to update the current scanning model.

Benefits of technology

Through this method, the efficiency of improving the quality of three-dimensional scanning can be effectively improved, avoiding the rescanning of the entire scanning object, and improving the accuracy and efficiency of improving the quality of scanning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115457100B_ABST
    Figure CN115457100B_ABST
Patent Text Reader

Abstract

The present invention relates to data analysis technology, and discloses a method for improving three-dimensional scanning quality, including: obtaining the barycentric coordinates, optical axis orientation vectors, and linked voxels corresponding to each voxel in a scanning model; using the information of the linked voxels and the optical axis orientation vectors to sequentially perform angle screening on all voxels to obtain candidate detection voxels; dividing spatial regions based on the barycentric coordinates to screen all neighboring voxels of the candidate detection voxels, using the optical axis orientation vectors to divide the neighboring voxels, and performing coordinate interpolation according to the barycentric coordinates of the set of similar difference voxels and the set of large difference voxels without link relationships obtained by the division to construct a scanning direction identifier to control the scanner to rescan the direction of the identifier so as to update the corresponding region of the scanning model; the present invention also proposes a three-dimensional scanning quality improvement device, equipment, and medium. The present invention can improve the efficiency of improving three-dimensional scanning quality.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to data analysis technology, and in particular to a method, device, electronic device and storage medium for improving three-dimensional scanning quality. Background Art

[0002] In the actual clinical scanning process of three-dimensional scanning instruments, such as intraoral scanners, affected by various factors, users often cannot efficiently and accurately obtain scan model data. When the scanning quality of some areas of the scan model data does not meet the requirements, in order to improve the three-dimensional scanning quality of the corresponding areas, it is often necessary to rescan the entire scanning object, resulting in low efficiency in improving the three-dimensional scanning quality. Summary of the Invention

[0003] The present invention provides a method, device, electronic device and storage medium for improving three-dimensional scanning quality, and its main purpose is to improve the efficiency of improving three-dimensional scanning quality.

[0004] Obtain the current scan model of the three-dimensional scanning instrument scanning the target object, the pose matrix and linked voxels of each voxel in the current scan model;

[0005] Perform data extraction and analysis on the pose matrix of each voxel to obtain the centroid coordinates and optical axis orientation vector corresponding to the voxel;

[0006] Use the linked voxels and the optical axis orientation vector to screen all voxels by angle to obtain candidate detection voxels;

[0007] Use the centroid coordinates to screen all voxels by distance to determine the neighborhood voxels of each candidate detection voxel;

[0008] Based on the centroid coordinates, divide the space region to screen all neighborhood voxels of the candidate detection voxels, and use the optical axis orientation vector to segment the screened neighborhood voxels to obtain a set of similar difference voxels and a set of large difference voxels;

[0009] When there is a link relationship between the voxels in the set of similar difference voxels and the voxels in the set of large difference voxels, use the set of similar difference voxels and the set of large difference voxels to perform coordinate interpolation based on the centroid coordinates to construct a scan direction identifier;

[0010] Control the three-dimensional scanning instrument to scan the target object along the direction of the scan direction identifier to update the current scan model.

[0011] Optionally, the step of using the linked voxels and the optical axis orientation vector to screen all voxels by angle to obtain candidate detection voxels includes:

[0012] Calculate the optical axis orientation angle between each voxel and its linked voxel based on the optical axis orientation vector, and use the optical axis orientation angle to screen candidate detection voxels from all voxels.

[0013] Optionally, the distance screening of all voxels using the barycentric coordinates to determine the neighborhood voxels of each candidate detection voxel includes:

[0014] Take all other voxels in the current scan model except itself for each candidate detection voxel as the associated voxels of the candidate detection voxel;

[0015] Calculate the distance between the barycentric coordinates of each candidate detection voxel and each of its associated voxels to obtain the barycentric coordinate distance;

[0016] Use the barycentric coordinate distance to screen all the associated voxels of each candidate detection voxel to obtain the neighborhood voxels of the candidate detection voxel.

[0017] Optionally, the calculation of the optical axis orientation angle between each voxel and its linked voxel based on the optical axis orientation vector, and the screening of candidate detection voxels from all voxels using the optical axis orientation angle includes:

[0018] Calculate the cosine similarity between the optical axis orientation vector of the voxel and each of its corresponding linked voxels to obtain the optical axis orientation angle corresponding to the voxel;

[0019] Determine whether there is an optical axis orientation angle less than a preset angle threshold among all the optical axis orientation angles corresponding to the voxel;

[0020] When there is no optical axis orientation angle less than the preset angle threshold among all the optical axis orientation angles corresponding to the voxel, determine the voxel as the candidate detection voxel.

[0021] Optionally, the screening of all neighborhood voxels of the candidate detection voxel based on the division of the space region by the barycentric coordinates, and the splitting of the screened neighborhood voxels using the optical axis orientation vector to obtain a set of similar difference voxels and a set of large difference voxels, includes;

[0022] Use the barycentric coordinates of the candidate detection voxel as the center of the sphere and a preset division distance as the radius to construct a spherical region of the candidate detection voxel;

[0023] Screen the neighborhood voxels whose barycentric coordinates corresponding to the candidate detection voxel are within the spherical region to obtain a set of neighborhood voxels;

[0024] Calculate the angle between the candidate detection voxel and each neighborhood voxel in the neighborhood voxel set based on the optical axis orientation vector, and use the angle and a preset angle threshold to divide the neighborhood voxel set into a similar difference voxel set and a large difference voxel set.

[0025] Optionally, the step of using the angle and a preset angle threshold to divide the neighborhood voxel set into a similar difference voxel set and a large difference voxel set includes:

[0026] Summarize the voxels in the neighborhood voxel set with an angle greater than the angle threshold to obtain the similar difference voxel set;

[0027] Summarize the voxels in the neighborhood voxel set with an angle not greater than the angle threshold to obtain the large difference voxel set.

[0028] Optionally, the step of using the similar difference voxel set and the large difference voxel set to perform coordinate interpolation based on the centroid coordinates to construct a scan direction identifier includes:

[0029] Based on the similar difference voxel set and the large difference voxel set, calculate the coordinate distances based on the centroid coordinates, and screen all the candidate detection voxels according to the calculation results to obtain abnormal voxels;

[0030] Calculate the starting point coordinates by using the centroid coordinates of all the voxels in the similar difference voxel set of the abnormal voxel, and calculate the ending point coordinates by using the centroid coordinates of all the voxels in the large difference voxel set of the abnormal voxel;

[0031] Perform curve interpolation between the starting point coordinates and the ending point coordinates to generate an arrow identifier to obtain the scan direction identifier.

[0032] To solve the above problems, the present invention also provides a three-dimensional scanning quality improvement device, and the device includes:

[0033] A data extraction module, configured to obtain the current scan model of the three-dimensional scanning instrument scanning a target object, the attitude matrix and the linked voxels of each voxel in the current scan model; perform data extraction and analysis on the attitude matrix of each voxel to obtain the centroid coordinates and the optical axis orientation vector corresponding to the voxel;

[0034] A voxel screening module, configured to perform angle screening on all voxels by using the linked voxels and the optical axis orientation vector to obtain candidate detection voxels; perform distance screening on all voxels by using the centroid coordinates to determine the neighborhood voxels of each candidate detection voxel;

[0035] An identification building block is used to screen all neighboring voxels of the candidate detection voxel based on dividing the spatial region by the barycentric coordinates, and use the optical axis orientation vector to segment the screened neighboring voxels to obtain a set of similar difference voxels and a set of large difference voxels; when there is a connection relationship between the voxels in the set of similar difference voxels and the voxels in the set of large difference voxels, coordinate interpolation is performed based on the barycentric coordinates using the set of similar difference voxels and the set of large difference voxels to construct a scanning direction identification; control the three-dimensional scanning instrument to scan the target object along the direction of the scanning direction identification to update the current scanning model.

[0036] To solve the above problems, the present invention also provides an electronic device, which includes:

[0037] A memory that stores at least one computer program; and

[0038] A processor that executes the computer program stored in the memory to implement the above-mentioned three-dimensional scanning quality improvement method.

[0039] To solve the above problems, the present invention also provides a computer-readable storage medium, in which at least one computer program is stored, and the at least one computer program is executed by a processor in an electronic device to implement the above-mentioned three-dimensional scanning quality improvement method.

[0040] In an embodiment of the present invention, coordinate interpolation is performed based on the barycentric coordinates using the set of similar difference voxels and the set of large difference voxels to construct a scanning direction identification; control the three-dimensional scanning instrument to scan the target object along the direction of the scanning direction identification to update the current scanning model; use the scanning direction identification to mark the areas with poor scanning quality in the model, and then perform targeted scanning on the areas marked by the scanning direction identification, without having to rescan all areas, thereby improving the efficiency of three-dimensional scanning quality improvement. Therefore, the three-dimensional scanning quality improvement method, device, electronic device, and readable storage medium proposed in the embodiments of the present invention improve the efficiency of three-dimensional scanning quality improvement. Description of the Drawings

[0041] Figure 1 It is a flowchart of the three-dimensional scanning quality improvement method provided by an embodiment of the present invention;

[0042] Figure 2 It is a module diagram of the three-dimensional scanning quality improvement device provided by an embodiment of the present invention;

[0043] Figure 3 It is an internal structure diagram of the electronic device for implementing the three-dimensional scanning quality improvement method provided by an embodiment of the present invention;

[0044] The realization, functional features, and advantages of the present invention will be further described in conjunction with embodiments and with reference to the accompanying drawings. Detailed Embodiments

[0045] It should be understood that the specific embodiments described herein are merely used to explain the present invention and are not used to limit the present invention.

[0046] An embodiment of the present invention provides a method for improving the quality of 3D scanning. The execution subject of the method for improving the quality of 3D scanning includes, but is not limited to, at least one of electronic devices such as a server, a terminal, etc. that can be configured to execute the method provided in this embodiment of the present application. In other words, the method for improving the quality of 3D scanning can be executed by software or hardware installed on a terminal device or a server device, and the software can be a blockchain platform. The server includes, but is not limited to: a single server, a server cluster, a cloud server, or a cloud server cluster, etc. The server can be an independent server or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, Content Delivery Network (CDN), and big data and artificial intelligence platforms.

[0047] Refer to Figure 1 As shown in the flowchart of the method for improving the quality of 3D scanning provided by an embodiment of the present invention, in the embodiment of the present invention, the method for improving the quality of 3D scanning includes:

[0048] S1. Obtain the current scan model of the target object scanned by the 3D scanning instrument, the pose matrix of each voxel in the current scan model, and the linked voxels;

[0049] The 3D scanning instrument in the embodiment of the present invention is an instrument that can perform 3D scanning and modeling, and the target object is the object scanned by the 3D scanning instrument. Specifically, in the embodiment of the present invention, the 3D scanning instrument is an intraoral scanner, and the target object is the user's oral cavity. In the embodiment of the present invention, the specific type of the 3D scanning instrument is not limited.

[0050] Furthermore, in the embodiment of the present invention, the current scan model is the model currently scanned by the 3D scanning instrument, and the pose matrix is the position transformation matrix of the voxel based on the origin in the coordinate system of the current scan model. The voxel is obtained by synthesizing multiple single-frame data scanned by the 3D scanning instrument, and the linked voxel of the voxel is the voxel in the current scan model that has the same single-frame data as this voxel.

[0051] S2. Perform data extraction and analysis on the pose matrix of each voxel to obtain the centroid coordinates and the optical axis orientation vector corresponding to the voxel;

[0052] To determine the position and orientation of the voxel in the current scan matrix, the embodiment of the present invention extracts and analyzes the data of the pose matrix of each voxel to obtain the centroid coordinates and the optical axis orientation vector corresponding to the voxel.

[0053] Specifically, in the embodiment of the present invention, the S2 includes:

[0054] Extract the centroid position component of the voxel in the pose matrix to obtain the centroid coordinates;

[0055] Extract the rotation component of the voxel around the vertical direction in the pose matrix to obtain the optical axis orientation vector.

[0056] Specifically, in the embodiment of the present invention, the pose matrix of the voxel is Then the centroid coordinates of the voxel are [t 1 t 2 t 3 T , and the optical axis orientation vector of the voxel is [r 3 r 6 r 9 T , and the vertical direction is the Z-axis direction in the coordinate system where the current scan model is located, that is, the vertical axis direction.

[0057] S3. Use the linked voxel and the optical axis orientation vector to perform an angle screening on all voxels to obtain candidate detected voxels;

[0058] In the embodiment of the present invention, in order to screen abnormal voxels to be detected, the linked voxel and the optical axis orientation vector are used to perform an angle screening on all voxels to obtain candidate detected voxels.

[0059] Specifically, in the embodiment of the present invention, the S3 includes:

[0060] Calculate the optical axis orientation angle between each voxel and the linked voxel of the voxel based on the optical axis orientation vector, and use the optical axis orientation angle to screen candidate detected voxels among all voxels.

[0061] Further, in the embodiment of the present invention, calculating the optical axis orientation angle between each voxel and the linked voxel corresponding to the voxel based on the optical axis orientation vector, and using the optical axis orientation angle to screen candidate detected voxels among all voxels includes:

[0062] Calculate the cosine similarity between the optical axis orientation vector of the voxel and each linked voxel corresponding to the voxel to obtain the optical axis orientation angle corresponding to the voxel;

[0063] ​​Determine whether there is an optical axis orientation angle smaller than a preset angle threshold among all the optical axis orientation angles corresponding to the voxel;

[0064] When there is no optical axis orientation angle smaller than the preset angle threshold among all the optical axis orientation angles corresponding to the voxel, determine this voxel as the candidate detection voxel.

[0065] In the embodiment of the present invention, if there is an optical axis orientation angle smaller than the preset angle threshold among all the optical axis orientation angles corresponding to the voxel, then this voxel is normal and no subsequent detection is required.

[0066] In one embodiment of the present invention, when the three-dimensional scanning model is an intraoral scanner, there is no need to screen candidate detection voxels for the maxillofacial, buccal, and lingual voxels.

[0067] S4. Use the barycentric coordinates to perform distance screening on all voxels to determine the neighborhood voxels of each candidate detection voxel;

[0068] In the embodiment of the present invention, in order to determine the voxels having a neighborhood relationship with each candidate voxel, the distances of different candidate detection voxels in the current scanning model are traversed and calculated based on the barycentric coordinates to determine the neighborhood voxels corresponding to each candidate detection voxel.

[0069] Specifically, in the embodiment of the present invention, using the barycentric coordinates to perform distance screening on all voxels to determine the neighborhood voxels of each candidate detection voxel includes:

[0070] Step A: Take all other voxels in the current scanning model except itself for each candidate detection voxel as the associated voxels of this candidate detection voxel;

[0071] For example: There are three voxels in the current scanning model, namely voxel A, voxel B, and voxel C. Then voxel B and voxel C are the associated voxels of voxel A, voxel A and voxel C are the associated voxels of voxel B, and voxel A and voxel B are the associated voxels of voxel C.

[0072] Step B: Calculate the distance between the barycentric coordinates of each candidate detection voxel and each of its associated voxels to obtain the barycentric coordinate distance;

[0073] Step C: Use the barycentric coordinate distance to screen all the associated voxels of each candidate detection voxel to obtain the neighborhood voxels of this candidate detection voxel.

[0074] Specifically, in the embodiment of the present invention, the associated voxels with a barycentric coordinate distance smaller than the preset distance threshold among all the associated voxels corresponding to each candidate detection voxel are determined as the neighborhood voxels of this candidate detection voxel.

[0075] S5. Screen all the neighboring voxels of the candidate detection voxel based on the space region divided by the barycentric coordinates, and use the optical axis orientation vector to segment the screened neighboring voxels to obtain a set of similar difference voxels and a set of large difference voxels;

[0076] Specifically, S5 in the embodiments of the present invention includes:

[0077] Use the barycentric coordinate of the candidate detection voxel as the center of the sphere, and use a preset division distance as the radius to construct a spherical region of the candidate detection voxel;

[0078] Screen the neighboring voxels whose barycentric coordinates are within the spherical region among all the neighboring voxels corresponding to the candidate detection voxel to obtain a set of neighboring voxels;

[0079] Calculate the angle between the candidate detection voxel and each neighboring voxel in the set of neighboring voxels based on the optical axis orientation vector, and use the angle and a preset angle threshold to segment the set of neighboring voxels into a set of similar difference voxels and a set of large difference voxels, that is, obtain the set of similar difference voxels and the set of large difference voxels of the candidate detection voxel.

[0080] Specifically, calculating the angle between the candidate detection voxel and each neighboring voxel in the set of neighboring voxels based on the optical axis orientation vector in the embodiments of the present invention includes:

[0081] Calculate the cosine similarity between the optical axis orientation vector of the candidate detection voxel and the optical axis orientation vector of each neighboring voxel in the set of neighboring voxels;

[0082] Determine the angle according to the cosine similarity.

[0083] Further, in the embodiments of the present invention, the voxels in the set of neighboring voxels with an angle greater than the angle threshold are aggregated to obtain the set of similar difference voxels; the voxels in the set of neighboring voxels with an angle not greater than the angle threshold are aggregated to obtain the set of large difference voxels.

[0084] S6. Determine whether there is a connection relationship between the voxels in the set of similar difference voxels and the voxels in the set of large difference voxels;

[0085] In the embodiments of the present invention, in order to determine whether there is a region with poor scanning quality that needs to be quality-improved in the current scanned model, therefore, it is determined whether there is a connection relationship between the voxels in the set of similar difference voxels and the voxels in the set of large difference voxels.

[0086] Specifically, S6 in the embodiments of the present invention includes:

[0087] Calculate the distance between the centroid coordinates of each voxel in the set of similar difference voxels of the candidate detection voxel and the centroid coordinates of each voxel in the set of large difference voxels of the candidate detection voxel to obtain the candidate detection distance;

[0088] Determine whether there is a candidate detection distance less than a preset distance threshold among all the candidate detection distances corresponding to the candidate detection voxel;

[0089] When there is a candidate detection distance less than the preset distance threshold among all the candidate detection distances corresponding to the candidate detection voxel, determine the candidate detection voxel as the abnormal voxel;

[0090] In an embodiment of the present invention, when the candidate detection voxel is an abnormal voxel, it means that there is no connection relationship between the voxels in the set of similar difference voxels and the set of large difference voxels corresponding to the candidate detection voxel, which indicates that there is a risk of stratification between the two voxel sets, and the scanning quality of the corresponding area of the current scanning model is poor. The user needs to be prompted to scan this area. Therefore, in an embodiment of the present invention, it is further determined whether there is a connection relationship between the voxels in the set of similar difference voxels and the voxels in the set of large difference voxels; when there is no candidate detection voxel that is an abnormal voxel, it means that there is no area with poor scanning quality, that is, there is a connection relationship between the voxels in the set of similar difference voxels and the voxels in the set of large difference voxels; when there is a candidate detection voxel that is an abnormal voxel, it means that there is an area with poor scanning quality, that is, there is no connection relationship between the voxels in the set of similar difference voxels and the voxels in the set of large difference voxels.

[0091] S7. When there is a connection relationship between the voxels in the set of similar difference voxels and the voxels in the set of large difference voxels, output the current scanning model;

[0092] In an embodiment of the present invention, when there is a connection relationship between the voxels in the set of similar difference voxels and the voxels in the set of large difference voxels, it means that there is no abnormal voxel among all the voxels to be detected, and there is no area with poor scanning quality in the current scanning model. There is no need to improve the quality of the model, and the current scanning model is directly output.

[0093] S8. When there is no connection relationship between the voxels in the set of similar difference voxels and the voxels in the set of large difference voxels, perform coordinate interpolation based on the centroid coordinates using the set of similar difference voxels and the set of large difference voxels to construct a scanning direction identifier;

[0094] In the embodiments of the present invention, in order to improve the quality of three-dimensional scanning, it is necessary to rescan the areas with poor scanning quality. Therefore, coordinate interpolation is performed based on the barycentric coordinates by using the similar difference voxel set and the large difference voxel set, a scanning direction identifier is constructed, and then the areas with poor scanning quality are identified for rescan, thereby improving the quality of three-dimensional scanning.

[0095] Specifically, in the embodiments of the present invention, the coordinate interpolation is performed based on the barycentric coordinates by using the similar difference voxel set and the large difference voxel set to construct a scanning direction identifier, including:

[0096] Step a: According to the similar difference voxel set and the large difference voxel set, coordinate distance calculation is performed based on the barycentric coordinates, and all the candidate detection voxels are screened according to the calculation results to obtain abnormal voxels;

[0097] For the screening process of the abnormal voxels in the embodiments of the present invention, reference can be made to the specific steps in S6, which will not be elaborated here.

[0098] Step b: The barycentric coordinates of all the voxels in the similar difference voxel set of the abnormal voxel are used for calculation to obtain a starting point coordinate, and the barycentric coordinates of all the voxels in the large difference voxel set of the abnormal voxel are used for calculation to obtain an end point coordinate;

[0099] Step c: Curve interpolation is performed between the starting point coordinate and the end point coordinate to generate an arrow identifier, and the scanning direction identifier is obtained.

[0100] Further, in the embodiments of the present invention, the average value of the barycentric coordinates of all the voxels in the similar difference voxel set is calculated to obtain the starting point coordinate, and the average value of the barycentric coordinates of all the voxels in the large difference voxel set is calculated to obtain the end point coordinate.

[0101] Specifically, in the embodiments of the present invention, the curve interpolation is performed between the starting point coordinate and the end point coordinate to generate an arrow identifier, and the scanning direction identifier is obtained, including:

[0102] The optical axis orientation vectors of all the voxels in the similar difference voxel set corresponding to the starting point coordinate are used for calculation to obtain a starting point normal coordinate;

[0103] The optical axis orientation vectors of all the voxels in the large difference voxel set corresponding to the end point coordinate are used for calculation to obtain an end point normal coordinate;

[0104] Based on the starting point normal coordinate and the end point normal coordinate, a three-dimensional arrow identifier is constructed between the starting point coordinate and the end point coordinate by using the Bezier curve interpolation algorithm, and the scanning direction identifier is obtained.

[0105] S9. Control the three-dimensional scanning instrument to scan the target object along the direction indicated by the scanning direction identification, so as to update the current scanning model.

[0106] In the embodiment of the present invention, the three-dimensional scanning instrument is controlled to scan the target object along the direction indicated by the scanning direction identification, so as to reconstruct the voxels corresponding to the direction indicated by the scanning direction identification in the current scanning model, so as to improve the area with poor scanning quality in the current scanning model and realize the improvement of the quality of the entire current scanning model.

[0107] As Figure 2 shown, it is a functional module diagram of the three-dimensional scanning quality improvement device of the present invention.

[0108] The three-dimensional scanning quality improvement device 100 of the present invention can be installed in an electronic device. According to the functions realized, the three-dimensional scanning quality improvement device may include a data extraction module 101, a voxel screening module 102, and an identification construction module 103. The modules of the present invention can also be called units, which refer to a series of computer program segments that can be executed by a processor of an electronic device and can complete fixed functions, and are stored in the memory of the electronic device.

[0109] In this embodiment, the functions of each module / unit are as follows:

[0110] The data extraction module 101 is used to obtain the current scanning model of the three-dimensional scanning instrument scanning the target object, the pose matrix of each voxel in the current scanning model, and the linked voxels; perform data extraction and analysis on the pose matrix of each voxel to obtain the center of gravity coordinates and the optical axis orientation vector corresponding to the voxel.

[0111] The voxel screening module 102 is used to perform angle screening on all voxels by using the linked voxels and the optical axis orientation vector to obtain candidate detection voxels; perform distance screening on all voxels by using the center of gravity coordinates to determine the neighborhood voxels of each candidate detection voxel.

[0112] The identification construction module 103 is used to screen all neighborhood voxels of the candidate detection voxels based on dividing the space region by the center of gravity coordinates, and use the optical axis orientation vector to divide the screened neighborhood voxels to obtain a set of similar difference voxels and a set of large difference voxels; when there is a link relationship between the voxels in the set of similar difference voxels and the voxels in the set of large difference voxels, use the set of similar difference voxels and the set of large difference voxels to perform coordinate interpolation based on the center of gravity coordinates to construct a scanning direction identification; control the three-dimensional scanning instrument to scan the target object along the direction indicated by the scanning direction identification, so as to update the current scanning model.

[0113] Specifically, when the modules in the three-dimensional scanning quality improvement device 100 in the embodiments of the present invention are used, they adopt the same technical means as those in the above Figure 1 described three-dimensional scanning quality improvement method and can produce the same technical effects, which will not be elaborated here.

[0114] As Figure 3 shown, it is a schematic structural diagram of an electronic device for implementing the three-dimensional scanning quality improvement method of the present invention.

[0115] The electronic device may include a processor 10, a memory 11, a communication bus 12, and a communication interface 13, and may further include a computer program stored in the memory 11 and operable on the processor 10, such as a three-dimensional scanning quality improvement program.

[0116] Among them, the memory 11 includes at least one type of readable storage medium, and the readable storage medium includes flash memory, mobile hard disk, multimedia card, card-type memory (such as SD or DX memory, etc.), magnetic memory, magnetic disk, optical disk, etc. In some embodiments, the memory 11 may be an internal storage unit of the electronic device, such as the mobile hard disk of the electronic device. In other embodiments, the memory 11 may also be an external storage device of the electronic device, such as a plug-in mobile hard disk, a Smart Media Card (SMC), a Secure Digital (SD) card, a Flash Card, etc. equipped on the electronic device. Further, the memory 11 may also include both an internal storage unit and an external storage device of the electronic device. The memory 11 can be used not only to store application software installed in the electronic device and various types of data, such as the code of the three-dimensional scanning quality improvement program, but also to temporarily store data that has been output or will be output.

[0117] In some embodiments, the processor 10 may be composed of integrated circuits. For example, it may be composed of a single packaged integrated circuit, or may be composed of multiple integrated circuits with the same or different functions, including a combination of one or more Central Processing Units (CPUs), microprocessors, digital processing chips, graphics processors, and various control chips. The processor 10 is the control core (Control Unit) of the electronic device, connecting various components of the entire electronic device through various interfaces and lines, and by running or executing programs or modules stored in the memory 11 (such as the three-dimensional scanning quality improvement program, etc.), and calling data stored in the memory 11, to perform various functions of the electronic device and process data.

[0118] The communication bus 12 may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. This bus can be divided into an address bus, a data bus, a control bus, etc. The communication bus 12 is set to implement connection communication between the memory 11 and at least one processor 10, etc. For the sake of convenience in representation, only a thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.

[0119] Figure 3 Only an electronic device with components is shown. Those skilled in the art can understand that Figure 3 the shown structure does not constitute a limitation on the electronic device, and it may include fewer or more components than shown, or combine certain components, or have different component arrangements.

[0120] For example, although not shown, the electronic device may further include a power source (such as a battery) for supplying power to each component. Preferably, the power source can be logically connected to the at least one processor 10 through a power management device, so as to implement functions such as charge management, discharge management, and power consumption management through the power management device. The power source may also include any components such as one or more DC or AC power sources, a recharge device, a power failure classification circuit, a power converter or inverter, a power status indicator, etc. The electronic device may also include various sensors, a Bluetooth module, a Wi-Fi module, etc., which will not be elaborated here.

[0121] Optionally, the communication interface 13 may include a wired interface and / or a wireless interface (such as a WI-FI interface, a Bluetooth interface, etc.), which is usually used to establish a communication connection between this electronic device and other electronic devices.

[0122] Optionally, the communication interface 13 may further include a user interface. The user interface may be a display, an input unit (such as a keyboard), and optionally, the user interface may also be a standard wired interface or a wireless interface. Optionally, in some embodiments, the display may be an LED display, a liquid crystal display, a touch liquid crystal display, and an OLED (Organic Light-Emitting Diode) toucher, etc. Among them, the display may also be appropriately referred to as a display screen or a display unit, which is used to display the information processed in the electronic device and to display a visual user interface.

[0123] It should be understood that the above embodiments are only for illustration purposes and are not limited by this structure in the scope of the patent application.

[0124] The 3D scanning quality improvement program stored in the memory 11 in the electronic device is a combination of multiple computer programs. When running in the processor 10, it can achieve the following:

[0125] Obtain the current scan model of the 3D scanning instrument scanning the target object, the pose matrix of each voxel in the current scan model, and the linked voxels;

[0126] Perform data extraction and analysis on the pose matrix of each voxel to obtain the centroid coordinates and optical axis orientation vector corresponding to the voxel;

[0127] Use the linked voxels and the optical axis orientation vector to perform angle screening on all voxels to obtain candidate detection voxels;

[0128] Use the centroid coordinates to perform distance screening on all voxels to determine the neighborhood voxels of each candidate detection voxel;

[0129] Based on the centroid coordinates, divide the space region to screen all the neighborhood voxels of the candidate detection voxels, and use the optical axis orientation vector to cut the screened neighborhood voxels to obtain a set of similar difference voxels and a set of large difference voxels;

[0130] When there is a link relationship between the voxels in the set of similar difference voxels and the voxels in the set of large difference voxels, use the set of similar difference voxels and the set of large difference voxels to perform coordinate interpolation based on the centroid coordinates to construct a scan direction identifier;

[0131] Control the 3D scanning instrument to scan the target object along the direction of the scan direction identifier to update the current scan model.

[0132] Specifically, for the specific implementation method of the above computer program by the processor 10, reference can be made to Figure 1 the description of the relevant steps in the corresponding embodiments, which will not be elaborated here.

[0133] Furthermore, if the modules / units integrated in the electronic device are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. The computer-readable medium can be non-volatile or volatile. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disc, computer memory, read-only memory (ROM, Read-Only Memory).

[0134] An embodiment of the present invention may further provide a computer-readable storage medium. The readable storage medium stores a computer program. When the computer program is executed by a processor of an electronic device, the following can be implemented:

[0135] Obtain the current scan model of the target object scanned by the three-dimensional scanning instrument, the attitude matrix of each voxel in the current scan model, and the linked voxels;

[0136] Perform data extraction and analysis on the attitude matrix of each voxel to obtain the center-of-gravity coordinates and the optical axis orientation vector corresponding to the voxel;

[0137] Use the linked voxels and the optical axis orientation vector to perform angle screening on all voxels to obtain candidate detection voxels;

[0138] Use the center-of-gravity coordinates to perform distance screening on all voxels to determine the neighborhood voxels of each candidate detection voxel;

[0139] Based on the center-of-gravity coordinates, divide the space region to screen all the neighborhood voxels of the candidate detection voxels, and use the optical axis orientation vector to divide the screened neighborhood voxels to obtain a set of similar difference voxels and a set of large difference voxels;

[0140] When there is a link relationship between the voxels in the set of similar difference voxels and the voxels in the set of large difference voxels, use the set of similar difference voxels and the set of large difference voxels to perform coordinate interpolation based on the center-of-gravity coordinates to construct a scan direction identifier;

[0141] Control the three-dimensional scanning instrument to scan the target object along the direction of the scan direction identifier to update the current scan model.

[0142] Further, the computer-usable storage medium may mainly include a storage program area and a storage data area. Among them, the storage program area may store an operating system, application programs required for at least one function, etc.; the storage data area may store data created according to the use of the blockchain node, etc.

[0143] In several embodiments provided by the present invention, it should be understood that the disclosed devices, apparatuses, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the modules is only a logical function division, and there may be other division methods in actual implementation.

[0144] The module described as a separation component may or may not be physically separated. The component shown as a module may or may not be a physical unit, that is, it may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0145] The embodiments of this application can acquire and process relevant data based on artificial intelligence technology. Among them, Artificial Intelligence (AI) is a theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results.

[0146] In addition, in each embodiment of the present invention, each functional module can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated unit can be implemented in the form of hardware, or in the form of a combination of hardware and software functional modules.

[0147] For those skilled in the art, it is obvious that the present invention is not limited to the details of the above exemplary embodiments, and without departing from the spirit or basic characteristics of the present invention, the present invention can be implemented in other specific forms.

[0148] Therefore, from any point of view, the embodiments should be regarded as exemplary and non-restrictive. The scope of the present invention is defined by the appended claims rather than the above description. Therefore, all changes falling within the meaning and scope of the equivalent elements of the claims are intended to be included in the present invention. Any reference signs in the claims should not be regarded as limiting the claimed rights.

[0149] The blockchain referred to in the present invention is a new application mode of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, and encryption algorithm. Blockchain, in essence, is a decentralized database, a string of data blocks generated by using cryptographic methods. Each data block contains information about a batch of network transactions, which is used to verify the validity of the information (anti-counterfeiting) and generate the next block. The blockchain can include a blockchain underlying platform, a platform product service layer, and an application service layer, etc.

[0150] In addition, obviously, the word "including" does not exclude other units or steps, and the singular does not exclude the plural. The multiple units or devices stated in the system claims can also be implemented by one unit or device through software or hardware. Words such as second are used to denote names and do not denote any particular order.

[0151] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and not to limit them. Although the present invention has been described in detail with reference to the preferred embodiments, those of ordinary skill in the art should understand that the technical solutions of the present invention can be modified or equivalently replaced without departing from the spirit and scope of the technical solutions of the present invention.

Claims

1. A method for improving the quality of three-dimensional scanning, characterized in that, the method includes: Obtaining the current scanning model of the three-dimensional scanning instrument scanning the target object, the attitude matrix of each voxel in the current scanning model, and the linked voxels; Performing data extraction and analysis on the attitude matrix of each voxel to obtain the centroid coordinates and the optical axis orientation vector corresponding to the voxel; Using the linked voxels and the optical axis orientation vector to screen the angles of all voxels to obtain candidate detection voxels; Using the centroid coordinates to screen the distances of all voxels to determine the neighborhood voxels of each candidate detection voxel; Based on the centroid coordinates, dividing the space region to screen all the neighborhood voxels of the candidate detection voxels, and using the optical axis orientation vector to segment the screened neighborhood voxels to obtain a set of similar difference voxels and a set of large difference voxels; When there is a link relationship between the voxels in the set of similar difference voxels and the voxels in the set of large difference voxels, using the set of similar difference voxels and the set of large difference voxels to perform coordinate interpolation based on the centroid coordinates to construct a scanning direction identifier; Controlling the three-dimensional scanning instrument to scan the target object along the direction of the scanning direction identifier to update the current scanning model; Among them, the step of screening all the neighborhood voxels of the candidate detection voxels based on the centroid coordinates dividing the space region, and using the optical axis orientation vector to segment the screened neighborhood voxels to obtain a set of similar difference voxels and a set of large difference voxels includes: Taking the centroid coordinates of the candidate detection voxel as the center of the sphere, and using a preset division distance as the radius to construct a spherical region of the candidate detection voxel; Screening the neighborhood voxels whose centroid coordinates corresponding to the candidate detection voxel are within the spherical region to obtain a set of neighborhood voxels; Calculating the angle between the candidate detection voxel and each neighborhood voxel in the set of neighborhood voxels based on the optical axis orientation vector, and using the angle and a preset angle threshold to segment the set of neighborhood voxels into a set of similar difference voxels and a set of large difference voxels; The step of using the angle and a preset angle threshold to segment the set of neighborhood voxels into a set of similar difference voxels and a set of large difference voxels includes: Summarizing the voxels in the set of neighborhood voxels whose angles are greater than the angle threshold to obtain the set of similar difference voxels; Summarizing the voxels in the set of neighborhood voxels whose angles are not greater than the angle threshold to obtain the set of large difference voxels; The step of using the set of similar difference voxels and the set of large difference voxels to perform coordinate interpolation based on the centroid coordinates to construct a scanning direction identifier includes: According to the set of similar difference voxels and the set of large difference voxels, calculating the coordinate distance based on the centroid coordinates, and screening all the candidate detection voxels according to the calculation results to obtain abnormal voxels; Calculating using the centroid coordinates of all the voxels in the set of similar difference voxels of the abnormal voxel to obtain the starting coordinates, and calculating using the centroid coordinates of all the voxels in the set of large difference voxels of the abnormal voxel to obtain the ending coordinates; Perform curve interpolation between the starting coordinate and the ending coordinate to generate an arrow mark, and obtain the scanning direction mark.

2. The three-dimensional scanning quality improvement method according to claim 1, characterized in that the step of using the linked voxels and the optical axis orientation vector to perform angle screening on all voxels to obtain candidate detection voxels includes: Calculating the optical axis orientation angle between each voxel and its linked voxel based on the optical axis orientation vector, and using the optical axis orientation angle to screen candidate detection voxels among all voxels.

3. The three-dimensional scanning quality improvement method according to claim 1, characterized in that the step of using the centroid coordinates to perform distance screening on all voxels to determine the neighborhood voxels of each candidate detection voxel includes: Taking all other voxels in the current scanning model except itself for each candidate detection voxel as the associated voxels of the candidate detection voxel; Calculating the distance between the centroid coordinates of each candidate detection voxel and each of its associated voxels to obtain the centroid coordinate distance; Using the centroid coordinate distance to screen all the associated voxels of each candidate detection voxel to obtain the neighborhood voxels of the candidate detection voxel.

4. The three-dimensional scanning quality improvement method according to claim 2, characterized in that the step of calculating the optical axis orientation angle between each voxel and its linked voxel based on the optical axis orientation vector, and using the optical axis orientation angle to screen candidate detection voxels among all voxels includes: Calculating the cosine similarity between the optical axis orientation vector of the voxel and each of its corresponding linked voxels to obtain the optical axis orientation angle corresponding to the voxel; Judging whether there is an optical axis orientation angle less than a preset angle threshold among all the optical axis orientation angles corresponding to the voxel; When there is no optical axis orientation angle less than the preset angle threshold among all the optical axis orientation angles corresponding to the voxel, determining the voxel as the candidate detection voxel.

5. A three-dimensional scanning quality improvement device, characterized in that it includes: A data extraction module, configured to obtain the current scanning model of the target object scanned by the three-dimensional scanning instrument, the pose matrix and linked voxels of each voxel in the current scanning model; perform data extraction and analysis on the pose matrix of each voxel to obtain the centroid coordinate and optical axis orientation vector corresponding to the voxel; A voxel screening module, configured to use the linked voxels and the optical axis orientation vector to perform angle screening on all voxels to obtain candidate detection voxels; use the centroid coordinates to perform distance screening on all voxels to determine the neighborhood voxels of each candidate detection voxel; An identification construction module is used to screen all neighborhood voxels of the candidate detection voxel based on dividing the spatial region by the barycentric coordinates, and use the optical axis orientation vector to segment the screened neighborhood voxels to obtain a set of similar difference voxels and a set of large difference voxels; when there is a link relationship between the voxels in the set of similar difference voxels and the voxels in the set of large difference voxels, coordinate interpolation is performed based on the barycentric coordinates using the set of similar difference voxels and the set of large difference voxels to construct a scanning direction identification; control the three-dimensional scanning instrument to scan the target object along the scanning direction identification direction to update the current scanning model; Among them, the screening of all neighborhood voxels of the candidate detection voxel based on dividing the spatial region by the barycentric coordinates, and using the optical axis orientation vector to segment the screened neighborhood voxels to obtain a set of similar difference voxels and a set of large difference voxels includes: Taking the barycentric coordinate of the candidate detection voxel as the center of the sphere, and using a preset division distance as the radius to construct a spherical region of the candidate detection voxel; Screening the neighborhood voxels whose barycentric coordinates corresponding to the candidate detection voxel are within the spherical region to obtain a set of neighborhood voxels; Calculating the angle between the candidate detection voxel and each neighborhood voxel in the set of neighborhood voxels based on the optical axis orientation vector, and using the angle and a preset angle threshold to segment the set of neighborhood voxels into a set of similar difference voxels and a set of large difference voxels; The segmenting the set of neighborhood voxels into a set of similar difference voxels and a set of large difference voxels using the angle and a preset angle threshold includes: Summarizing the voxels in the set of neighborhood voxels whose angles are greater than the angle threshold to obtain the set of similar difference voxels; Summarizing the voxels in the set of neighborhood voxels whose angles are not greater than the angle threshold to obtain the set of large difference voxels; The constructing a scanning direction identification by performing coordinate interpolation based on the barycentric coordinates using the set of similar difference voxels and the set of large difference voxels includes: According to the set of similar difference voxels and the set of large difference voxels, calculating the coordinate distance based on the barycentric coordinates, and screening all the candidate detection voxels according to the calculation result to obtain abnormal voxels; Calculating using the barycentric coordinates of all the voxels in the set of similar difference voxels of the abnormal voxel to obtain a starting coordinate, and calculating using the barycentric coordinates of all the voxels in the set of large difference voxels of the abnormal voxel to obtain an ending coordinate; Performing curve interpolation between the starting coordinate and the ending coordinate to generate an arrow identification to obtain the scanning direction identification.

6. An electronic device, Characterized in that, The electronic device includes: At least one processor; and, A memory communicatively connected to the at least one processor; Wherein, the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the three-dimensional scanning quality improvement method according to any one of claims 1 to 4.

7. A computer-readable storage medium storing a computer program, Characterized in that, when the computer program is executed by a processor, it implements the three-dimensional scanning quality improvement method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Automatic real-time unmarked image registration method for dental augmented reality surgical navigation

    CN109785374A

  • Automated orthodontic treatment planning using deep learning

    CN112638312A