A method and device for extracting the position of a metal ball used for positioning in a CBCT image

By automatically determining the candidate image area of ​​metal balls in CBCT images, fitting and screening the coordinates of the spherical centers, the problem of time-consuming and error-prone positioning of metal balls in the prior art is solved, and efficient and accurate metal ball positioning is achieved.

CN115423789BActive Publication Date: 2025-02-18LANCET ROBOTICS CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202211134738.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-19
Publication Date
2025-02-18
Estimated Expiration
2042-09-19

AI Technical Summary

Technical Problem

The prior art is time-consuming and prone to errors when extracting the positioning of metal balls in CBCT images, mainly due to the cumbersome point selection process and the adjustment of grayscale thresholds depends on artificial, artifact influence and noise interference.

Method used

By obtaining the standard values ​​of the CBCT image, metal spherical coordinate arrangement and the preset search round number, the metal spherical candidate image area is automatically determined, the candidate spherical center coordinates are fitted, and the search round number is automatically updated through filtering and error judgment, and finally the precise positioning is determined. Metal ball position.

Benefits of technology

It realizes automatic and precise positioning of metal balls in CBCT images, reduces manual intervention, improves efficiency and accuracy, and avoids the influence of noise interference and artifacts.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115423789B_ABST
    Figure CN115423789B_ABST
Patent Text Reader

Abstract

A method and device for extracting the position of a metal ball used for positioning in a CBCT image, wherein the method includes: obtaining a CBCT image, a standard value of each metal ball coordinate arrangement, and a current search round number m; based on the current search round number m, determining the metal ball candidate image area in the CBCT image; fitting the candidate sphere center coordinates of each metal ball; based on the standard value of each metal ball coordinate arrangement and the current search round number m, screening the candidate sphere center coordinates of each metal ball and updating the current search round number m to obtain the screened candidate sphere center coordinates and the updated current search round number m; performing error judgment on the screened candidate sphere center coordinates, and if the error is less than a first preset threshold, taking the screened candidate sphere center coordinates as the result. This method can fully automatically obtain the position of the metal ball used for positioning in the CBCT image, and establish a one-to-one correspondence between each point and the metal ball arrangement design value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the field of image processing, and in particular to a method and a device for extracting the position of a metal ball used for positioning in a CBCT image. Background Art

[0002] Robot-assisted oral implantation is a relatively hot technology field that has emerged in recent years. Robot-assisted implantation can improve the accuracy of implantation, and the supporting navigation system can display the implantation status in real time, providing dentists with objective and quantifiable data and indicators to judge the accuracy of implant placement.

[0003] CBCT (cone-beam computed tomography) can help dentists obtain three-dimensional medical image data of the patient's oral cavity. IGT (image-guided therapy) uses a camera to capture the relative position of the dentist's tools and the patient's surgical site in real time, which can help dentists locate the surgical area more accurately.

[0004] The image coordinate system obtained by CBCT needs to be linked to the camera coordinate system of the IGT system so that the CBCT image can be applied to IGT. The method of establishing the link is that the patient wears a scale plate with several metal balls and reflective sheets that can be recognized by the camera to take CBCT. During the operation, the scale plate is always fixed near the patient's surgical site. The metal balls can be developed in CBCT, and their relative relationship with the reflective sheets on the scale plate is a pre-known design value. The reflective sheets can be positioned by the IGT camera, so the actual spatial position of the CBCT image can also be positioned by the IGT camera. Therefore, the position of the metal balls in the CBCT image must be identified to realize the IGT assisted by dental CBCT.

[0005] In the prior art, manual selection is generally used to determine the position of the metal ball, or ordinary software is used to select points on the metal ball based on the image grayscale threshold. However, the prior art is generally time-consuming and prone to errors due to the following reasons.

[0006] (1) When selecting the metal balls in the CBCT image, you need to select them in the designed order, and it is very easy to get the order wrong.

[0007] (2) The grayscale values ​​of the same metal ball in the images obtained by CBCT instruments of different brands vary significantly. It is necessary to manually adjust the window width and window position of the window display to obtain the best presentation effect of the metal ball image and thus locate the metal ball.

[0008] (3) CBCT has artifacts, which cause the metal ball to appear as an ellipsoid in the CBCT image, making it difficult to accurately select its center.

[0009] (4) If there are other metal implants in the patient's mouth, there will be a lot of noise, which can easily be mistaken for the image of the metal ball used for positioning, seriously interfering with the selection. Summary of the invention

[0010] The present invention provides a method and device for extracting the position of a metal ball for positioning in a CBCT image, which can solve the technical problems of time-consuming and positioning errors caused by selecting a round ball on an optical positioning device in a CBCT image.

[0011] In the above-mentioned method embodiments of the present invention, the method for extracting the position of the metal ball for positioning in the CBCT image includes:

[0012] Step S1: obtaining a CBCT image including metal balls for positioning, standard values ​​of coordinate arrangement of each metal ball, and a preset search round number K, and setting the current search round number m to 0; the standard value of the coordinate arrangement of the metal ball refers to the coordinate value of the metal ball in a certain coordinate system;

[0013] Step S2: determining the candidate image regions of the metal balls in the CBCT image based on the current search round number m; and fitting the candidate center coordinates of each metal ball based on each of the candidate image regions of the metal balls;

[0014] Step S3: based on the standard value of the coordinate arrangement of each metal ball and the current search round number m, the candidate sphere center coordinates of each metal ball are screened and the current search round number m is updated to obtain the screened candidate sphere center coordinates and the updated current search round number m;

[0015] Step S4: performing error judgment on the selected candidate sphere center coordinates. If the error is less than a first preset threshold, the selected candidate sphere center coordinates are taken as the result and the method ends; otherwise, proceed to step S2.

[0016] Optionally, the step S1 includes:

[0017] Step S11: acquiring a CBCT image including all metal balls for positioning and the user's photographed part;

[0018] Step S12: obtaining the standard value of the coordinate arrangement of each metal ball;

[0019] Step S13: Set a preset search round number K, and set the current search round number m to 0.

[0020] Optionally, the step S2 includes:

[0021] Step S21: determining a grayscale maximum value max and a grayscale minimum value min based on the grayscale value of each voxel point in the CBCT image;

[0022] Step S22: Determine the voxel threshold threshold of the metal ball image, where:

[0023] threshold = max - (max – min) * m / (K + 2)

[0024] Step S23: Consider the points in the CBCT image whose voxel gray values are greater than the voxel threshold of the metal ball image as the voxels to be aggregated. Based on these voxels to be aggregated, generate several closed regions, and all the voxels to be aggregated are located inside or on the surface of the closed regions; regard the closed regions as candidate image regions of the metal ball, and the candidate image regions of the metal ball have a grid-like surface;

[0025] Step S24: For each candidate image region of the metal ball, perform the following operations: Detect whether the various sub-parts of the candidate image region of the metal ball are connected, extract the sub-parts that are not connected to other sub-parts, and number the extracted sub-parts;

[0026] Step S25: For each numbered sub-part, perform the following operations: Determine the number n of triangular patches included in the numbered sub-part. If n < S, retain the numbered sub-part; otherwise, delete the numbered sub-part; S is a constant preset based on the size of the metal ball; the triangular patch is the basic element of the grid corresponding to the numbered sub-part;

[0027] Step S26: Fit each retained numbered sub-part to a spherical surface to obtain the center coordinates of the sphere corresponding to the spherical surface, and regard the center coordinates of the sphere corresponding to the spherical surface as the candidate center coordinates of the metal ball. Place all the candidate center coordinates in the candidate center point set.

[0028] Optionally, step S3 includes:

[0029] Step S31: Obtain the standard values of the coordinate arrangements of the metal balls, generate a standard vector composed of the distance values between each metal ball and other metal balls. Each distance value is a dimension of the standard vector, and the number of standard vectors is the same as the number of metal balls, denoted as num; Set an empty point set denoted as tmpPointset;

[0030] Step S32: Obtain the number of elements currently contained in the candidate center point set, denoted as j;

[0031] For each candidate center-of-sphere coordinate in the candidate center-of-sphere point set, the following processing is performed: Calculate its distance from other candidate centers of spheres, form a vector from the distance values, with each distance value as a dimension of the vector; If the absolute value of the difference between num - 1 dimensions of the vector and num - 1 dimensions of a certain standard vector is less than a preset threshold, write the candidate center-of-sphere coordinate into the set tmpPointset, and remove the candidate center of sphere from the candidate center-of-sphere point set; Otherwise, remove the candidate center of sphere from the candidate center-of-sphere point set;

[0032] After all candidate center-of-sphere coordinates are processed, record the number of candidate center-of-sphere coordinates recorded in the set tmpPointset as k1;

[0033] Step S33: If k1 < j, go to step S32; Otherwise, go to step S34;

[0034] Step S34: Delete the duplicate candidate center-of-sphere coordinates in the set tmpPointset, record the number of elements in the set tmpPointset as k2; Assign the current search round number m to m + 1;

[0035] Step S35: If k2 is equal to the number num of metal spheres, go to step S4; Otherwise, determine whether m is equal to K. If it is equal, inform the user that the position of the metal sphere cannot be obtained in the CBCT image; If it is not equal, go to step S22.

[0036] Optionally, the step S4 includes:

[0037] Step S41: Calculate the distance between each metal sphere and the center of the sphere corresponding to the metal sphere extracted based on the CBCT image;

[0038] Step S42: If, for each metal sphere, the calculated average distance is less than or equal to 1 millimeter and the maximum distance is less than 1.5 millimeters, output the set tmpPointset as the set of image center-of-sphere points of the metal spheres finally searched in the CBCT; Otherwise, go to step S22.

[0039] In the above method embodiments of the present invention, the device for extracting the position of the positioning metal sphere in the CBCT image includes:

[0040] Standard value acquisition module: Configured to acquire the CBCT image including the positioning metal sphere, the standard value of the coordinate arrangement of each metal sphere, and the preset search round number K, and set the current search round number m to 0; The standard value of the coordinate arrangement of the metal sphere refers to the coordinate value of the metal sphere in a certain coordinate system;

[0041] A fitting module: configured to determine the metal ball candidate image region in the CBCT image based on the current search round number m; and fit the candidate sphere center coordinates of each metal ball based on each of the metal ball candidate image regions;

[0042] A screening module: configured to screen the candidate sphere center coordinates of each metal sphere based on the standard value of the coordinate arrangement of each metal sphere and the current search round number m, and update the current search round number m to obtain the screened candidate sphere center coordinates and the updated current search round number m;

[0043] Error calculation module: configured to perform error judgment on the selected candidate sphere center coordinates. If the error is less than a first preset threshold, the selected candidate sphere center coordinates are used as the result; otherwise, the fitting module is triggered.

[0044] In the above method embodiments of the present invention, a computer-readable storage medium is provided, wherein a plurality of instructions are stored in the storage medium, and the plurality of instructions are used for a processor to load and execute the above method.

[0045] In the above method embodiments of the present invention, an electronic device includes:

[0046] A processor, which is used to execute multiple instructions;

[0047] A memory for storing a plurality of instructions;

[0048] The plurality of instructions are used to be stored by the memory, and loaded and executed by the processor to implement the method as described above.

[0049] The present invention can automatically obtain the position of the metal ball used for positioning in the CBCT image under the automatic acquisition of the CBCT image coordinate system, and establish a one-to-one correspondence between each point and the design value of the metal ball arrangement. The present invention accesses the design characteristic value of the standard metal ball, so the center of the image ball obtained can be rearranged according to the design value sequence to ensure the consistency of the two sequences. The present invention can automatically obtain the optimal threshold for extracting the boundary of the steel ball, automatically fit the spherical surface to obtain the center of the ball, traverse the orientation characteristics of each candidate center of the ball, and compare it with the design value to filter out the image of noise.

[0050] The technical solution of the present invention is further described in detail below through the accompanying drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0051] The above and other purposes, features and advantages of the present invention will become more apparent by describing the embodiments of the present invention in more detail in conjunction with the accompanying drawings. The accompanying drawings are used to provide a further understanding of the embodiments of the present invention and constitute a part of the specification. Together with the embodiments of the present invention, they are used to explain the present invention and do not constitute a limitation of the present invention. In the accompanying drawings, the same reference numerals generally represent the same components or steps.

[0052] Figure 1 It is a flowchart of a method for extracting the position of a metal ball for positioning in a CBCT image provided by an exemplary embodiment of the present invention.

[0053] Figure 2 It is a flowchart of a method for extracting the position of a metal ball for positioning in a CBCT image provided by another exemplary embodiment of the present invention.

[0054] Figure 3 It is a schematic structural diagram of a device for identifying a bead on an optical positioning device in a CBCT tomographic image provided by an exemplary embodiment of the present invention.

[0055] Figure 4 This is a structure of an electronic device provided by an exemplary embodiment of the present invention. DETAILED DESCRIPTION

[0056] Below, the exemplary embodiments according to the present invention will be described in detail with reference to the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all the embodiments of the present invention, and it should be understood that the present invention is not limited to the exemplary embodiments described here.

[0057] It should be noted that the relative arrangement of components and steps, numerical expressions and numerical values ​​set forth in these embodiments do not limit the scope of the present invention unless specifically stated otherwise.

[0058] Those skilled in the art can understand that the terms "first", "second", "S1", "S2" and the like in the embodiments of the present invention are only used to distinguish different steps, devices or modules, etc., and do not represent any specific technical meanings, nor do they represent the necessary logical order between them. For example, steps S1 and S2 are not limited in order and can be processed in parallel.

[0059] It should also be understood that, in the embodiments of the present invention, “plurality” may refer to two or more than two, and “at least one” may refer to one, two or more than two.

[0060] It should also be understood that any component, data or structure mentioned in the embodiments of the present invention can generally be understood as one or more, unless explicitly limited or otherwise indicated in the context.

[0061] In addition, the term "and / or" in the present invention is only a description of the association relationship of the associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in the present invention generally indicates that the associated objects before and after are in an "or" relationship.

[0062] It should also be understood that the description of the various embodiments of the present invention focuses on the differences between the various embodiments, and the same or similar aspects thereof can be referenced to each other, and for the sake of brevity, they will not be described one by one.

[0063] At the same time, it should be understood that for the convenience of description, the sizes of the various parts shown in the drawings are not drawn according to the actual proportional relationship.

[0064] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the invention, its application, or uses.

[0065] Technologies, methods, and equipment known to ordinary technicians in the relevant art may not be discussed in detail, but where appropriate, the technologies, methods, and equipment should be considered part of the specification.

[0066] It should be noted that like reference numerals and letters refer to similar items in the following figures, and therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.

[0067] Embodiments of the present invention can be applied to electronic devices such as terminal devices, computer systems, servers, etc., which can operate with many other general or special computing system environments or configurations. Examples of well-known terminal devices, computing systems, environments and / or configurations suitable for use with electronic devices such as terminal devices, computer systems, servers, etc. include, but are not limited to: personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, microprocessor-based systems, set-top boxes, programmable consumer electronics, network personal computers, small computer systems, large computer systems, and distributed cloud computing technology environments including any of the above systems, etc.

[0068] Electronic devices such as terminal devices, computer systems, servers, etc. can be described in the general context of computer system executable instructions (such as program modules) executed by computer systems. Generally, program modules can include routines, programs, object programs, components, logic, data structures, etc., which perform specific tasks or implement specific abstract data types. Computer systems / servers can be implemented in a distributed cloud computing environment, where tasks are performed by remote processing devices linked through a communication network. In a distributed cloud computing environment, program modules can be located on local or remote computing system storage media including storage devices.

[0069] Exemplary Methods

[0070] Figure 1 FIG. 1 is a flow chart of a method for extracting the position of a metal ball for positioning in a CBCT image provided by an exemplary embodiment of the present invention. Figure 1 As shown, the following steps are included:

[0071] Step S1: obtaining a CBCT image including metal balls for positioning, standard values ​​of coordinate arrangement of each metal ball, and a preset search round number K, and setting the current search round number m to 0; the standard value of the coordinate arrangement of the metal ball refers to the coordinate value of the metal ball in a certain coordinate system;

[0072] Step S2: determining the candidate image regions of the metal balls in the CBCT image based on the current search round number m; and fitting the candidate center coordinates of each metal ball based on each of the candidate image regions of the metal balls;

[0073] Step S3: based on the standard value of the coordinate arrangement of each metal ball and the current search round number m, the candidate sphere center coordinates of each metal ball are screened and the current search round number m is updated to obtain the screened candidate sphere center coordinates and the updated current search round number m;

[0074] Step S4: performing error judgment on the selected candidate sphere center coordinates. If the error is less than a first preset threshold, the selected candidate sphere center coordinates are taken as the result and the method ends; otherwise, proceed to step S2.

[0075] The step S1 comprises:

[0076] Step S11: Acquire a CBCT image including all the metal balls for positioning and the photographed part of the patient. In this embodiment, when taking a CBCT image, all the metal balls for positioning should be developed together with the photographed part of the patient.

[0077] Step S12: Obtaining standard values ​​of coordinate arrangement of each metal ball. In this embodiment, the standard values ​​can be obtained by measuring each metal ball through the factory parameter description.

[0078] For example, in any three-dimensional coordinate system, the coordinate values ​​of N metal balls are arranged in the order of the metal ball numbers to form a matrix (the number of metal balls N should be greater than or equal to 4). In the following, 5 metal balls are used as an example, and the standard value matrix is ​​as follows:

[0079]

[0080] Among them, each row of the matrix represents the coordinate value of the corresponding metal ball in a given three-dimensional coordinate system.

[0081] Step S13: Set a preset search round number K, and set the current search round number m to 0.

[0082] In this embodiment, as the number of search rounds increases, more and more candidate surfaces will be extracted subsequently, resulting in the connectivity test taking more and more time. The purpose of setting the number of search rounds is to avoid taking too long. Once it takes too long, the user will be reminded that the center of the metal sphere cannot be obtained and that the manual selection mode needs to be entered.

[0083] The step S2 comprises:

[0084] Step S21: determining a grayscale maximum value max and a grayscale minimum value min based on the grayscale value of each voxel point in the CBCT image.

[0085] In this embodiment, the grayscale values ​​of voxel points in the CBCT data are traversed to obtain the grayscale values ​​of all voxel points, and the value with the largest grayscale value is taken as the grayscale maximum value max, and the value with the smallest grayscale value is taken as the grayscale minimum value min.

[0086] Step S22: Determine the metal ball image voxel threshold, where:

[0087] threshold = max- (max – min) * m / (K+ 2)

[0088] Step S23: taking the points whose grayscale values ​​of the voxel points in the CBCT image are greater than the metal ball image voxel threshold as the voxels to be summarized, and generating a plurality of closed areas based on the voxels to be summarized, wherein the voxels to be summarized are all located inside or on the surface of the closed areas; taking the closed areas as the metal ball candidate image areas, wherein the metal ball candidate image areas are grid-like surfaces.

[0089] In this embodiment, the voxel gray values of the CBCT data are traversed, and all voxels with gray values greater than threshold are aggregated; several closed regions are generated, and the closed regions are closed grid-like surfaces, such that the aggregated voxels all fall inside or on the closed surface, while the voxels outside the surface have gray values less than threshold; the grid-like closed surface is used as the candidate image region of the metal ball. In this embodiment, since the object to be processed is a CBCT image, when segmenting the CBCT image, several grids are formed on the CBCT image. The basic element for forming the grid is a triangular patch, and its division method is a conventional division method in the art.

[0090] Step S24: For each of the candidate image regions of the metal ball, the following operations are performed: Detect whether the various sub-parts of the candidate image region of the metal ball are connected, extract the sub-parts that are not connected to other sub-parts, and number the extracted sub-parts.

[0091] Step S25: For each numbered sub-part, the following operations are performed: Determine the number n of triangular patches included in the numbered sub-part. If n < S, then retain the numbered sub-part; otherwise, delete the numbered sub-part; S is a constant preset based on the size of the metal ball.

[0092] In this embodiment, each numbered sub-part is traversed, and the number n of triangular patches on its grid-like surface is calculated. If n satisfies the following relationship: n < S, where the value S is a constant determined by the size of the metal ball and is given in advance, then retain the closed surface; otherwise, remove the closed surface.

[0093] The triangular patch is the basic element of the grid corresponding to the numbered sub-part.

[0094] Step S26: Fit each of the retained numbered sub-parts to a spherical surface to obtain the center coordinates of the sphere corresponding to the spherical surface, and use the center coordinates of the sphere corresponding to the spherical surface as the candidate center coordinates of the metal ball. All the candidate center coordinates are placed in the candidate center point set.

[0095] Further, the numbers of each of the retained numbered sub-parts and the corresponding center coordinates are stored in matrix form.

[0096] In this embodiment, for each remaining sub-part after screening, that is, the closed surface, a spherical surface is fitted by the least squares method using the vertices of its grid surface to obtain the coordinates of the center of the sphere. These center coordinates are used as the candidate center positions of the metal ball and are stored in a matrix. For example, if 7 centers of the sphere are obtained at this time, the matrix form is as follows:

[0097]

[0098] Each row of the matrix represents the coordinate value of the candidate center of each metal ball in the image coordinate system.

[0099] The present invention automatically generates a threshold value based on CBCT data, and then uses the threshold value to determine the metal ball candidate image region. The metal ball candidate image region is split and screened to obtain the metal ball candidate surface, and a spherical surface is fitted based on each metal ball candidate surface to obtain the ball center and number it.

[0100] The step S3 comprises:

[0101] Step S31: Obtain the standard value of the coordinate arrangement of each metal ball, generate a standard vector composed of the distance values ​​between each metal ball and other metal balls, each distance value is used as a dimension of the standard vector, the number of the standard vectors is the same as the number of the metal balls, denoted as num; set an empty point set denoted as tmpPointset.

[0102] In this embodiment, the distance between the center of each standard metal ball and the center of the other metal balls is calculated according to the standard value of the coordinate arrangement of each metal ball, and the following matrix is ​​obtained (assuming that the number of standard metal balls is 5):

[0103]

[0104] The elements of the first row of the matrix represent the distances between the center of metal ball No. 1 and metal balls No. 2, 3, 4, and 5, respectively, and this row is used as the vector of standard metal ball No. 1, that is, the characteristic design value of standard metal ball No. 1. Therefore, the 2nd, 3rd, 4th, and 5th rows of the matrix are the characteristic design values ​​of standard metal balls No. 2, 3rd, 4th, and 5th, respectively.

[0105] Step S32: obtaining the number of elements currently contained in the candidate sphere center point set, denoted as j;

[0106] For each candidate sphere center coordinate in the candidate sphere center point set, the following processing is performed: the distance between the candidate sphere center and other candidate sphere centers is calculated, and a vector is formed by the distance values, and each distance value is used as a dimension of the vector; if the absolute value of the difference between the num-1 dimensions in the vector and the num-1 dimensions of a certain standard vector is less than a preset threshold, the candidate sphere center coordinate is written into the set tmpPointset, and the candidate sphere center is removed from the candidate sphere center point set; otherwise, the candidate sphere center is removed from the candidate sphere center point set;

[0107] After all candidate sphere center coordinates are processed, the number of candidate sphere center coordinates recorded in the set tmpPointset is recorded as k1.

[0108] In this embodiment, the characteristic scores of the positions of the fitted centers are calculated, and the centers with unqualified scores are removed: Before starting this step, the number of candidate centers is denoted as j, and an empty point set tmpPointset is established to store the centers obtained by screening. Each standard metal ball is accessed in sequence. For each standard metal ball, the characteristic design value is a vector, and the dimension of the vector is the number of metal balls minus one. For example, the vector corresponding to the characteristic design value of a certain metal ball is {s1, s2, s3, s4}:

[0109] For each member in the candidate centers, calculate its distance from other candidate centers to obtain the following sequence:

[0110] d12, d13... d1j

[0111] If there are elements ds1, ds2, ds3, ds4 in this sequence that satisfy:

[0112] -0.3 < ds1 – s1 < 0.3

[0113] -0.3 < ds2 – s2 < 0.3

[0114] -0.3 < ds3 – s3 < 0.3

[0115] -0.3 < ds4 – s4 < 0.3

[0116] Then add the coordinates of this candidate center to tmpPointset. Otherwise, do not add the coordinates of this candidate center to tmpPointset and remove this candidate center from the candidate center point set. After all traversals are completed, the number of elements in tmpPointset is denoted as k1.

[0117] Step S33: If k1 < j, go to step S32; otherwise, go to step S34;

[0118] Step S34: Delete the duplicate candidate center coordinates in the set tmpPointset. Denote the number of elements in the set tmpPointset as k2; assign the current search round number m to m + 1.

[0119] In this embodiment, the purpose of step S34 is to remove the duplicate centers in the set tmpPointset. In the obtained tmpPointset, remove the duplicates that represent the same candidate center, so that each point in the point set is unique. After the screening is completed, update the current search round number:

[0120] m = m + 1.

[0121] In this embodiment, the sphere center with completely the same coordinate value is a repeated sphere center, and the repeated sphere center is generated because the candidate sphere centers are repeatedly traversed.

[0122] Step S35: If k2 is equal to the number num of metal balls, go to step S4; otherwise, determine whether m is equal to K. If so, inform the user that the position of the metal balls cannot be obtained in the CBCT image; if not, go to step S22.

[0123] In the present invention, the characteristic number series of each metal ball is first calculated from the standard value of the metal ball coordinate arrangement, and then the candidate ball centers that can meet the characteristic number series of any standard metal ball are collected from the candidate ball center point set, and finally the duplicate points in the obtained new candidate ball centers are removed to ensure that each point in the point set is unique.

[0124] The step S4 comprises:

[0125] Step S41: calculating the distance between each metal ball and the center of the metal ball corresponding to the metal ball extracted based on the CBCT image;

[0126] Step S42: If the calculated average distance of each metal ball is less than or equal to 1 mm and the maximum distance is less than 1.5 mm, then the set tmpPointset is output as the image center point set of the metal ball in the CBCT obtained by the final search; otherwise, go to step S22.

[0127] In this embodiment, it is determined whether the overall arrangement of the ball center set is consistent with the design value: the feature point registration method is used, the source point set is set as the standard metal ball ball center point set, the target point set is set as the extracted ball center point set tmpPointset, the registration matrix is ​​applied to the standard metal ball ball center point set, and the distance between each standard metal ball and the corresponding extracted ball center is calculated:

[0128] If the average distance is less than or equal to 1 mm and the maximum distance is less than 1.5 mm, the output tmpPointset is the image center point set of the metal ball in the CBCT obtained by the final search, and all operations are completed; otherwise, enter step S22.

[0129] Exemplary Devices

[0130] Figure 3 FIG. 1 is a schematic diagram of a device for extracting the position of a metal ball for positioning in a CBCT image provided by an exemplary embodiment of the present invention. Figure 3 As shown, this embodiment includes:

[0131] The standard value acquisition module is configured to acquire a CBCT image including a metal ball for positioning, a standard value of the coordinate arrangement of each metal ball, and a preset search round number K, and set the current search round number m to 0; the standard value of the coordinate arrangement of the metal ball refers to the coordinate value of the metal ball in a certain coordinate system;

[0132] A fitting module: configured to determine the metal ball candidate image region in the CBCT image based on the current search round number m; and fit the candidate sphere center coordinates of each metal ball based on each of the metal ball candidate image regions;

[0133] A screening module: configured to screen the candidate sphere center coordinates of each metal sphere based on the standard value of the coordinate arrangement of each metal sphere and the current search round number m, and update the current search round number m to obtain the screened candidate sphere center coordinates and the updated current search round number m;

[0134] Error calculation module: configured to perform error judgment on the selected candidate sphere center coordinates. If the error is less than a first preset threshold, the selected candidate sphere center coordinates are used as the result; otherwise, the fitting module is triggered.

[0135] Exemplary Electronic Devices

[0136] Figure 4 The electronic device provided by an exemplary embodiment of the present invention may be any one or both of the first device and the second device, or a stand-alone device independent of them, and the stand-alone device may communicate with the first device and the second device to receive the collected input signals from them. Figure 4 FIG. 4 is a block diagram of an electronic device 40 according to an embodiment of the present disclosure. Figure 4 As shown, the electronic device includes one or more processors 41 and a memory 42 .

[0137] The processor 41 may be a central processing unit (CPU) or other forms of processing units having data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device to perform desired functions.

[0138] The memory 42 may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may include, for example, random access memory (RAM) and / or cache memory (cache), etc. The non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor 41 may run the program instructions to implement the method of extracting the position of the metal ball for positioning in the CBCT image and / or other desired functions of the software program of each embodiment of the present disclosure described above. In one example, the electronic device may also include: an input device 43 and an output device 44, which are interconnected through a bus system and / or other forms of connection mechanisms (not shown).

[0139] In addition, the input device 43 may also include, for example, a keyboard, a mouse, etc.

[0140] The output device 44 can output various information to the outside, and can include, for example, a display, a speaker, a printer, a communication network and a remote output device connected thereto.

[0141] Of course, to simplify, Figure 4 Only some of the components related to the present disclosure in the electronic device are shown, and components such as a bus, an input / output interface, etc. are omitted. In addition, according to specific application situations, the electronic device may further include any other appropriate components.

[0142] Exemplary computer program products and computer-readable storage media

[0143] In addition to the above-mentioned methods and devices, an embodiment of the present disclosure may also be a computer program product, which includes computer program instructions, which, when executed by a processor, enable the processor to execute the steps of the method for extracting the position of a metal ball for positioning in a CBCT image according to various embodiments of the present disclosure described in the above-mentioned "Exemplary Method" section of this specification.

[0144] The computer program product may be written in any combination of one or more programming languages ​​to write program code for performing the operations of the disclosed embodiments, including object-oriented programming languages ​​such as Java, C++, etc., and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server.

[0145] In addition, an embodiment of the present disclosure may also be a computer-readable storage medium having computer program instructions stored thereon, which, when executed by a processor, causes the processor to execute the steps of a method for extracting the position of a metal ball for positioning in a CBCT image according to various embodiments of the present disclosure described in the above “Exemplary Method” section of this specification.

[0146] The computer readable storage medium can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can include, for example, but is not limited to, a system, device or device of electricity, magnetism, light, electromagnetic, infrared, or semiconductor, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable 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 of the above.

[0147] The basic principles of the present disclosure are described above in conjunction with specific embodiments. However, it should be noted that the advantages, strengths, effects, etc. mentioned in the present disclosure are only examples and not limitations, and it cannot be considered that these advantages, strengths, effects, etc. are required by each embodiment of the present disclosure. In addition, the specific details disclosed above are only for the purpose of illustration and ease of understanding, and are not limiting. The above details do not limit the present disclosure to the necessity of adopting the above specific details to be implemented.

[0148] Each embodiment in this specification is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the system embodiment, since it basically corresponds to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0149] The block diagrams of the devices, apparatuses, equipment, and systems involved in this disclosure are only illustrative examples and are not intended to require or imply that they must be connected, arranged, and configured in the manner shown in the block diagrams. As will be appreciated by those skilled in the art, these devices, apparatuses, equipment, and systems can be connected, arranged, and configured in any manner. Words such as "including," "comprising," "having," and the like are open words, referring to "including but not limited to," and can be used interchangeably therewith. The words "or" and "and" used herein refer to the words "and / or," and can be used interchangeably therewith, unless the context clearly indicates otherwise. The word "such as" used herein refers to the phrase "such as but not limited to," and can be used interchangeably therewith.

[0150] The method and apparatus of the present disclosure may be implemented in many ways. For example, the method and apparatus of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above order of steps for the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above, unless otherwise specifically stated. In addition, in some embodiments, the present disclosure may also be implemented as a program recorded in a recording medium, which includes machine-readable instructions for implementing the method according to the present disclosure. Therefore, the present disclosure also covers a recording medium storing a program for executing the method according to the present disclosure.

[0151] It should also be noted that in the apparatus, equipment and method of the present disclosure, each component or each step can be decomposed and / or recombined. These decompositions and / or recombinations should be regarded as equivalent schemes of the present disclosure. The above description of the disclosed aspects is provided to enable any technician in the field to make or use the present disclosure. Various modifications to these aspects are very obvious to those skilled in the art, and the general principles defined herein can be applied to other aspects without departing from the scope of the present disclosure. Therefore, the present disclosure is not intended to be limited to the aspects shown here, but to the widest scope consistent with the principles and novel features disclosed herein.

[0152] The above description has been given for the purpose of illustration and description. In addition, this description is not intended to limit the embodiments of the present disclosure to the forms disclosed herein. Although multiple example aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, changes, additions and sub-combinations thereof.

Claims

1. A method for extracting the position of a metal ball used for positioning in a CBCT image, characterized in that: Comprising: Step S1: Obtain a CBCT image including positioning metal balls, standard values of the coordinate arrangements of each metal ball, and a preset search round number K, and set the current search round number m to 0; the standard values of the coordinate arrangements of the metal balls refer to the coordinate values of the metal balls in a certain coordinate system; Step S2: Based on the current search round number m, determine the candidate image regions of the metal balls in the CBCT image; based on each of the candidate image regions of the metal balls, fit the candidate center coordinates of each metal ball; Step S3: Based on the standard values of the coordinate arrangements of each metal ball and the current search round number m, screen the candidate center coordinates of each metal ball and update the current search round number m to obtain the screened candidate center coordinates and the updated current search round number m; Step S4: Perform an error judgment on the screened candidate center coordinates. If the error is less than the first preset threshold, use the screened candidate center coordinates as the result and end the method; Otherwise, proceed to Step S2; The said Step S1 includes: Step S11: Obtain a CBCT image including all positioning metal balls and the user's imaged part; Step S12: Obtain the standard values of the coordinate arrangements of each metal ball; Step S13: Set the preset search round number K and set the current search round number m to 0; The said Step S2 includes: Step S21: Based on the gray values of each voxel point in the CBCT image, determine the maximum gray value max and the minimum gray value min; Step S22: Determine the voxel threshold threshold of the metal ball image, where: threshold = max - (max – min) * m / (K + 2); Step S23: Take the points in the CBCT image whose gray values are greater than the voxel threshold of the metal ball image as the voxel points to be aggregated. Based on the voxel points to be aggregated, generate several closed regions, and all the voxel points to be aggregated are located inside or on the surface of the closed regions; take the closed regions as the candidate image regions of the metal balls, and the candidate image regions of the metal balls are grid-shaped surfaces; Step S24: For each of the candidate image regions of the metal balls, perform the following operations: Detect whether the respective sub-parts of the candidate image region of the metal ball are connected, extract the sub-parts that are not connected to other sub-parts, and number the extracted sub-parts; Step S25: For each numbered sub-part, perform the following operations: Determine the number n of triangular patches included in the numbered sub-part. If n < S, retain the numbered sub-part; otherwise, delete the numbered sub-part; S is a constant preset based on the size of the metal ball; the triangular patch is the basic element of the grid corresponding to the numbered sub-part; Step S26: Fit each of the retained numbered sub-parts into a spherical surface, obtain the center coordinates corresponding to the spherical surface, and use the center coordinates corresponding to the spherical surface as the candidate center coordinates of the metal ball. Place all the candidate center coordinates in the candidate center point set.

2. The method according to claim 1, characterized in that The said Step S3 includes: Step S31: Obtain the standard values of the coordinate arrangements of the metal balls, generate a standard vector composed of the distance values between each metal ball and other metal balls, with each distance value as a dimension of the standard vector. The number of standard vectors is the same as the number of metal balls, denoted as num; set an empty point set denoted as tmpPointset; Step S32: Obtain the number of elements currently contained in the candidate center point set, denoted as j; For each candidate center coordinate in the candidate center point set, perform the following processing: Calculate its distance from other candidate centers, and form a vector from the distance values, with each distance value as a dimension of the vector; If there are num - 1 dimensions in this vector whose absolute difference from the num - 1 dimensions of a certain standard vector is less than a preset threshold, then write the candidate center coordinate into the set tmpPointset and remove this candidate center from the candidate center point set; Otherwise, remove this candidate center from the candidate center point set; After all candidate center coordinates are processed, record the number of candidate center coordinates recorded in the set tmpPointset as k1; Step S33: If k1 < j, go to Step S32; Otherwise, go to Step S34; Step S34: Delete the duplicate candidate center coordinates in the set tmpPointset, and record the number of elements in the set tmpPointset as k2; Assign the current search round number m to m + 1; Step S35: If k2 is equal to the number of metal balls num, go to Step S4; Otherwise, determine whether m is equal to K. If it is equal, inform the user that the positions of the metal balls cannot be obtained in the CBCT image; If it is not equal, go to Step S22.

3. The method according to claim 2, characterized in that The said Step S4 includes: Step S41: Calculate the distance between each metal ball and the center of the ball corresponding to the metal ball extracted based on the CBCT image; Step S42: If for each metal ball, the calculated average distance is less than or equal to 1 millimeter and the maximum distance is less than 1.5 millimeters, then output the set tmpPointset as the set of image center points of the metal balls finally searched in the CBCT; Otherwise, go to Step S22.

4. A device for extracting the position of a metal ball used for positioning in a CBCT image, characterized in that: It includes: Standard value acquisition module: Configured to obtain the CBCT image including the positioning metal balls, the standard values of the coordinate arrangements of the metal balls, and the preset search round number K, and set the current search round number m to 0; The standard values of the coordinate arrangements of the metal balls refer to the coordinate values of the metal balls in a certain coordinate system; Fitting module: Configured to determine the candidate image regions of the metal balls in the CBCT image based on the current search round number m; Based on each of the candidate image regions of the metal balls, fit the candidate center coordinates of the metal balls; Screening module: Configured to screen the candidate center coordinates of the metal balls based on the standard values of the coordinate arrangements of the metal balls and the current search round number m and update the current search round number m to obtain the screened candidate center coordinates and the updated current search round number m; Error calculation module: configured to perform error judgment on the filtered candidate sphere center coordinates. If the error is less than the first preset threshold, the filtered candidate sphere center coordinates are used as the result; Otherwise, trigger the fitting module. The standard value acquisition module includes: The first sub-module: acquire the CBCT images including all the positioning metal balls and the user's imaged part; The second sub-module: acquire the standard values of the coordinate arrangements of the metal balls; The third sub-module: set the preset search round number K, and set the current search round number m to 0. The fitting module includes: The fourth sub-module: determine the maximum gray value max and the minimum gray value min based on the gray values of the voxels in the CBCT image; The fifth sub-module: determine the voxel threshold threshold of the metal ball image, where: threshold = max - (max – min) * m / (K + 2), The sixth sub-module: regard the points with gray values greater than the voxel threshold of the metal ball image in the CBCT image as the voxels to be aggregated. Based on the voxels to be aggregated, generate several closed regions, and all the voxels to be aggregated are located inside or on the surface of the closed regions; regard the closed regions as the candidate image regions of the metal balls, and the candidate image regions of the metal balls are grid-shaped surfaces; The seventh sub-module: perform the following operations on each of the candidate image regions of the metal balls: detect whether the various sub-parts of the candidate image region of the metal ball are connected, extract the sub-parts that are not connected to other sub-parts, and number the extracted sub-parts; The eighth sub-module: perform the following operations on each numbered sub-part: determine the number n of triangular patches included in the numbered sub-part. If n < S, retain the numbered sub-part; otherwise, delete the numbered sub-part; S is a constant preset based on the size of the metal ball; the triangular patch is the basic element of the grid corresponding to the numbered sub-part; The ninth sub-module: fit each of the retained numbered sub-parts into a spherical surface, obtain the sphere center coordinates corresponding to the spherical surface, and regard the sphere center coordinates corresponding to the spherical surface as the candidate sphere center coordinates of the metal ball. All the candidate sphere center coordinates are placed in the candidate sphere center point set.

5. A computer-readable storage medium, in which multiple instructions are stored, and the multiple instructions are used to be loaded and executed by a processor to perform the method according to any one of claims 1 - 3.

6. An electronic device, characterized in that: The electronic device includes: A processor for executing multiple instructions; A memory for storing multiple instructions; Wherein, the multiple instructions are used to be stored by the memory and loaded and executed by the processor to perform the method according to any one of claims 1 - 3.

Citation Information

Patent Citations

  • Method for performing dentition segmentation on cone beam CT image

    CN107203998A

  • Marking ball positioning method and application thereof

    CN113902707A

  • Oral implant precision evaluation method and system and terminal equipment

    CN114642444A