Method, device, electronic device and storage medium for determining the position of a positioning ball

By spherical fitting and error calculation on the surface model on the positioning marker, the coordinates of the positioning ball are accurately determined, which solves the problem of inaccurate determination of positioning ball coordinates in the prior art, and improves the accuracy of the dental implant robot.

CN116109775BActive Publication Date: 2025-02-18北京瑞医博科技有限公司 +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310140980.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-16
Publication Date
2025-02-18
Estimated Expiration
2043-02-16

AI Technical Summary

Technical Problem

The prior art is difficult to accurately determine the positioning spherical coordinates on the positioning marker, which affects the accuracy of the dental implant robot.

Method used

By receiving a spherical selection operation for a surface model composed of several triangular face sheets, spherical fitting is performed in response to the spherical selection operation, the spherical center coordinates of the fitted sphere faces are determined, the fitting error of the fitted sphere is calculated, and Determine the target set piece based on the fitting error.

Benefits of technology

Accurate determination of the coordinates of the positioning balls is achieved, and the accuracy and accuracy of the dental implant robot are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116109775B_ABST
    Figure CN116109775B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a method, device, electronic device and storage medium for determining the position of a positioning ball, and the method for determining the position of a positioning ball includes: receiving a spherical selection operation for a surface model composed of a plurality of triangular facets; in response to the spherical selection operation, performing spherical fitting according to the triangular facets corresponding to the selected position, and determining the coordinates of the center of the sphere corresponding to the fitted spherical surface to obtain a fitted positioning ball; calculating the fitting error of the fitting positioning ball according to the parameter offset of the fitting positioning ball relative to the positioning ball to be fitted, and determining the fitting positioning ball whose fitting error is less than a first preset threshold as the target positioning ball. This solution can accurately determine the coordinates of the positioning ball on the positioning marker.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computer technology, and in particular to a method, device, electronic device and storage medium for determining the position of a positioning ball. Background Art

[0002] Dental implant refers to a method of restoring missing teeth by implanting a lower structure into bone tissue to support and retain the upper dental restoration. It consists of two parts: the lower supporting implant and the upper dental restoration, and is mainly used for the treatment of missing teeth.

[0003] In the prior art, when a dental implant robot in the oral field performs surgery on a patient, it stably fixes a positioning marker inside the oral cavity. The dental implant robot can determine the position of the implant through the positioning marker, thereby effectively solving the problem of dental implant accuracy.

[0004] A positioning ball is fixedly installed on the existing positioning marker. However, how to accurately determine the coordinates of the positioning ball on the positioning marker so that the dental implant robot can determine the position of the implant according to the coordinates of the positioning ball is a problem that needs to be solved urgently. Summary of the invention

[0005] In view of this, the present application provides a method, device, electronic device and storage medium for determining the position of a positioning ball, which can accurately determine the coordinates of the positioning ball on a positioning marker.

[0006] According to a first aspect of the present application, a method for determining the position of a positioning ball is provided, comprising: receiving a spherical selection operation for a surface model composed of a plurality of triangular facets; in response to the spherical selection operation, performing spherical fitting according to the triangular facets corresponding to the selected position, and determining the coordinates of the sphere center corresponding to the fitted sphere to obtain a fitted positioning ball; calculating a fitting error of the fitting positioning ball according to a parameter offset of the fitting positioning ball relative to a positioning ball to be fitted, and determining the fitting positioning ball as a target positioning ball according to the fitting error of the fitting positioning ball.

[0007] In one possible implementation, in response to the spherical selection operation, spherical fitting is performed according to the triangular facets corresponding to the selected position, including: in response to the spherical selection operation, determining from the surface model a triangular facet whose distance from the selected position is less than a preset distance, the preset distance being determined according to the radius of the positioning sphere to be fitted; and performing spherical fitting according to the determined triangular facets.

[0008] In one possible implementation, the parameters of the positioning sphere to be fitted are determined by measuring a marking device, and before receiving a spherical selection operation for a surface model composed of a plurality of triangular facets, the method further includes: scanning the surface of the marking device by a scanning device to obtain a surface model composed of a plurality of triangular facets corresponding to the marking device.

[0009] In one possible implementation, the method further includes: receiving an export operation of the target positioning ball; in response to the export operation, generating an export instruction for exporting the center coordinates of the positioning ball; if the number of the target positioning balls is greater than or equal to a second preset threshold, exporting the center coordinates of all the target positioning balls according to the export instruction.

[0010] In a possible implementation manner, the fitting error includes an average error.

[0011] In a possible implementation, determining the fitting positioning sphere as the target positioning sphere based on the fitting error of the fitting positioning sphere includes: if the fitting error of the fitting positioning sphere meets a preset condition, determining the fitting positioning sphere as the target positioning sphere, and the preset condition includes at least one of the following: the average error is less than an average error threshold; the difference between the fitting radius of the fitting positioning sphere and the radius of the positioning sphere to be fitted is less than a preset error value; the proportion of the area of ​​the triangular facets corresponding to the selected position whose distance from the fitting positioning sphere is less than or equal to the average error threshold to the total area is greater than or equal to half.

[0012] According to a second aspect of the present application, a positioning sphere determination device is provided, the device comprising: a receiving module for receiving a spherical selection operation for a surface model composed of a plurality of triangular facets; a determining module for performing spherical fitting according to the triangular facets corresponding to the selected positions in response to the spherical selection operation, and determining the coordinates of the center of the sphere corresponding to the fitted sphere to obtain a fitted positioning sphere; and a calculating module for calculating a fitting error of the fitting positioning sphere according to a parameter offset of the fitting positioning sphere relative to a positioning sphere to be fitted, and determining the fitting positioning sphere as a target positioning sphere according to the fitting error of the fitting positioning sphere.

[0013] According to the third aspect of the present application, an electronic device is provided, comprising: a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other through the communication bus; the memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform an operation corresponding to the method described in the first aspect.

[0014] According to a fourth aspect of the present application, a computer storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the method described in the first aspect is implemented.

[0015] According to a fifth aspect of the present application, a computer program product is provided, which is tangibly stored on a computer-readable medium and includes computer-executable instructions, which, when executed, cause at least one processor to perform the method as described in the first aspect.

[0016] Based on the positioning ball position determination method provided by the above scheme, after fitting the spherical surface of the surface model composed of several triangular facets, the coordinates of the sphere center corresponding to the fitted spherical surface can be determined, thereby obtaining a fitted positioning ball, and the fitting error of the fitted positioning ball is calculated according to the parameter offset of the fitted positioning ball relative to the positioning ball to be fitted, and the target positioning ball is determined according to the fitting error. The positioning ball is fitted to determine the fitting positioning ball, and then the fitting error is calculated for the fitting positioning ball, thereby determining the target positioning ball, and the target positioning ball is selected from several fitting positioning balls according to the fitting error, so that in the process of spherical surface fitting, the fitting error of the calculated fitting positioning ball is less than the first preset threshold, so that the fitting positioning ball with a smaller fitting error is screened out as the target positioning ball, thereby accurately selecting the spherical surface that meets the requirements as the target positioning ball. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the embodiments of the present application. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.

[0018] Figure 1 A flow chart of a method for determining the position of a positioning ball provided in one embodiment of the present application;

[0019] Figure 2 A flowchart of a method for determining the position of a positioning ball provided in yet another embodiment of the present application;

[0020] Figure 3 is a schematic diagram of a fitting positioning ball fitted according to a selected area provided by an embodiment of the present application;

[0021] Figure 4 A schematic diagram of a positioning ball determination device provided by an embodiment of the present application;

[0022] Figure 5 A schematic diagram of the structure of an electronic device provided in yet another embodiment of the present application. DETAILED DESCRIPTION

[0023] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments in the embodiments of the present application should fall within the scope of protection of the embodiments of the present application.

[0024] The terms used in this application are for the purpose of describing specific embodiments only and are not intended to limit this application. The singular forms of "a", "said" and "the" used in this application and the appended claims are also intended to include plural forms unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more associated listed items.

[0025] It should be understood that although the terms first, second, third, etc. may be used in the present application to describe various information, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of the present application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".

[0026] Method for determining the position of the positioning ball

[0027] Embodiment 1

[0028] like Figure 1 As shown, Figure 1 1 is a flow chart of a method for determining the position of a positioning ball provided in an embodiment of the present application, the method comprising the following steps 101 to 103:

[0029] S101: receiving a spherical surface selection operation for a surface model composed of a plurality of triangular facets.

[0030] The operator performs a click operation, and based on the click operation, a corresponding spherical surface operation instruction is generated at the processing end of the software. Based on the spherical surface operation instruction, a spherical surface selection operation for a surface model composed of a plurality of triangular facets is received.

[0031] The surface model is a model that is simulated by software of the positioning landmarks and oral implants attached to the oral cavity.

[0032] The surface model is composed of triangular facets, which are used to characterize the appearance of the surface model, including spherical surfaces and surfaces of other structures. The triangular facets that make up the surface model are the smallest units to be segmented.

[0033] The spherical surface of a surface model is composed of a plurality of triangular facets, and the edge of a triangular facet is connected to the edge of another triangular facet until the spherical surface of the surface model is composed of multiple triangular facets. A spherical surface selection operation for the surface model composed of a plurality of triangular facets is received, thereby performing a selection operation on the spherical surface of the surface model.

[0034] S102 , in response to the spherical surface selection operation, performing spherical surface fitting according to the triangular facets corresponding to the selected position, and determining the coordinates of the sphere center corresponding to the fitted spherical surface to obtain a fitted positioning sphere.

[0035] Since the spherical surface of the surface model has a certain area, the radius of the spherical surface can be obtained. When responding to the spherical surface selection operation, the selected position can be a position on the spherical surface close to the center of the spherical surface, or a position on the spherical surface deviating from the center of the spherical surface. The spherical surface is fitted according to the triangular facet corresponding to the selected position to obtain the fitted spherical surface, thereby determining the spherical center coordinates corresponding to the fitted spherical surface and obtaining the fitted positioning sphere.

[0036] In one embodiment, the sphere fitting algorithm may be a least squares method.

[0037] S103: Calculate a fitting error of the fitting positioning sphere according to a parameter offset of the fitting positioning sphere relative to the positioning sphere to be fitted, and determine the fitting positioning sphere as a target positioning sphere according to the fitting error of the fitting positioning sphere.

[0038] Since the fitting positioning sphere is obtained by performing a spherical surface selection operation and fitting on a spherical surface that may exist in the surface model, and there are generally errors in the fitting process, the center, shape or radius of the fitting positioning sphere may be different from those of the positioning sphere to be fitted. Therefore, the parameter offset of the fitting positioning sphere relative to the positioning sphere to be fitted may be the radius or the coordinates of the center of the sphere. The fitting error of the fitting positioning sphere is calculated based on the parameter offset.

[0039] In the embodiment of the present application, a spherical surface selection operation of a surface model composed of several triangular facets is received, and according to the spherical surface selection operation, a triangular facet corresponding to the selected position is selected for spherical surface fitting, and the coordinates of the sphere center corresponding to the fitted spherical surface are determined to obtain a fitted positioning sphere, and then the parameter offset of the fitted positioning sphere relative to the positioning sphere to be fitted is obtained to obtain a fitting error, and the fitting positioning sphere with the fitting error less than the first preset threshold is determined as the target positioning sphere. Since according to the spherical surface selection operation, a spherical surface fitting is performed and the coordinates of the sphere center corresponding to the fitted spherical surface are obtained, and since the error is minimized in the mean square sense during the fitting process, a spherical surface that meets the requirements is accurately fitted, and the coordinates of the sphere center corresponding to the fitted spherical surface are obtained.

[0040] Embodiment 2

[0041] This embodiment includes the above-mentioned steps S101 to S103, and in step S102 of the method, in response to the spherical selection operation, performing spherical fitting according to the triangular facets corresponding to the selected position includes: in response to the spherical selection operation, determining from the surface model a triangular facet whose distance from the selected position is less than a preset distance, the preset distance being determined according to the radius of the positioning sphere to be fitted; and performing spherical fitting according to the determined triangular facets.

[0042] In an implementable example, the radius of the positioning sphere to be fitted is 2 cm, and the preset distance is set to 1.93 cm. Through the above spherical selection operation, the selected position coordinates are obtained, and then the distance between the selected position coordinates and the selected position coordinates is calculated based on the center point coordinates of the spherical surface on the surface model. Assuming that the center point coordinates of the spherical surface on the surface model are (3, 2), the center point coordinates of the selected position are (2.8, 2), and the distance between the selected position determined from the surface model and the center point coordinates of the spherical surface on the surface model is 0.2 cm. Since 0.2 cm is less than the preset distance of 1.93 cm, the triangular facets whose distance from the selected position is less than the preset distance are determined, and spherical fitting is performed based on the determined triangular facets.

[0043] In the embodiment of the present application, in response to the spherical selection operation, a triangular facet whose distance from the selected position is less than a preset distance is determined from the surface model, and a spherical fitting is performed based on the determined triangular facet. Thus, the selected position is determined by the preset distance, and the triangular facet corresponding to the position is selected based on the selected position. Since the triangular facets are all unfolded around the selected position, determining the selected position by the preset distance can obtain triangular facets that meet the requirements faster and more accurately.

[0044] Embodiment 3

[0045] This embodiment includes the above-mentioned steps S101 to S103. Before step S101 in this method, the following steps are included: Scanning the surface of the marking device by a scanning device to obtain a surface model corresponding to the marking device, which consists of a number of triangular patches.

[0046] The parameters of the positioning ball to be fitted are determined by measuring the marking device.

[0047] The marking device is fixed on the tooth, and a positioning ball is arranged thereon. After the dental implant robot is registered with the positioning ball through the marking device, since the positional relationship between the positioning ball and the implant is fixed, the robot can know the position of the implant.

[0048] The scanning device can be an oral scanner, a CBCT scanner, etc.

[0049] In one embodiment, the marking device fixed on the tooth is scanned by the CBCT scanning device to obtain a surface model corresponding to the marking device, which consists of a number of triangular patches. Since there is a positioning ball on this surface model, the positioning ball is also a spherical model of the surface model consisting of a number of triangular patches.

[0050] In the embodiment of the present application, the surface of the marking device is scanned by a scanning device to obtain a surface model corresponding to the marking device, which consists of a number of triangular patches. Since the scanning device has high precision, the surface model can be accurately obtained through the scanning device, thereby improving the accuracy of the parameters of the fitted positioning ball obtained.

[0051] In one possible implementation manner, the fitting error includes the average error.

[0052] The fitting error refers to the absolute value of the difference between the coordinate data of the fitted positioning ball and the radius of the ball center in the fitting calculation.

[0053] Calculate the absolute value of the difference between the coordinate data of the fitted positioning ball and the radius of the ball center according to formula (1):

[0054] di i =|Sqrt((X i -C0) 2 )-r|(1)

[0055] Wherein, X1, X2... X n are the coordinate points of the fitting data of the fitted positioning ball, and n is a positive integer greater than or equal to 1; the center coordinate of the positioning ball to be fitted is C0, and the radius is r. The value calculated by (∑di i / n) is the average error of the fitting error.

[0056] In the embodiment of the present application, if the average error exceeds the preset threshold, it proves that the fitting data source is relatively poor, and the target positioning ball needs to be preprocessed. It can be seen that by calculating the average error in the fitting error, the quality judgment of the target positioning ball selection can be achieved, so as to select a suitable target positioning ball.

[0057] Embodiment 4

[0058] This embodiment includes the above steps S101 to S103, see Figure 3 , the method further includes steps S201 to S203:

[0059] S201, receiving an export operation of a target positioning ball.

[0060] S202: In response to the export operation, generate an export instruction for exporting the coordinates of the center of the positioning sphere.

[0061] S203: If the number of target positioning balls is greater than or equal to a second preset threshold, the center coordinates of all target positioning balls are exported according to the export instruction.

[0062] When the fitting positioning sphere is selected in response to the spherical selection operation, and then the target positioning sphere is determined according to the fitting error of the fitting positioning sphere, the center coordinates of the target positioning sphere are displayed on the display screen. In order to facilitate future use and viewing, the center coordinates of the target positioning sphere need to be exported.

[0063] By receiving the export operation of the target positioning sphere, an export instruction for exporting the center coordinates of the positioning sphere is generated according to the export operation.

[0064] In an implementable example, the number of target positioning balls is 10, each target positioning ball has corresponding sphere center coordinates, and the second preset threshold is 8. Since 10 is greater than 8, the sphere center coordinates of all target positioning balls are derived according to the above-mentioned export instruction.

[0065] In an embodiment of the present application, a certain number of target positioning balls greater than or equal to the second preset threshold are exported through the received export operation to facilitate future use and viewing by management personnel, thereby facilitating data management.

[0066] Embodiment 5

[0067] This embodiment includes the above-mentioned steps S101 to S103, wherein the step S103 determines the fitting positioning ball as the target positioning ball according to the fitting error of the fitting positioning ball, including: if the fitting error of the fitting positioning ball meets a preset condition, the fitting positioning ball is determined as the target positioning ball, and the preset condition includes at least one of the following: the average error is less than the average error threshold; the difference between the fitting radius of the fitting positioning ball and the radius of the positioning ball to be fitted is less than a preset error value; the proportion of the area of ​​the triangular facets corresponding to the selected position whose distance from the fitting positioning ball is less than or equal to the average error threshold to the total area is greater than or equal to half.

[0068] A corresponding fitting positioning ball is fitted according to each selected position, and then a fitting error of the fitting positioning ball is obtained according to the parameter offset of the fitting positioning ball relative to the positioning ball to be fitted, and the fitting positioning ball is determined as the target positioning ball according to the fitting error. What conditions must the fitting error meet to ensure the validity of the fitting positioning ball, so that the fitting positioning ball is determined as the target positioning ball. The problem to be solved in this embodiment is to ensure the validity of the fitting positioning ball.

[0069] The first condition that needs to be met is that the average error is less than the average error threshold. The average error threshold can be an arbitrarily set value. For example, the average error threshold can be set to 0.1 cm.

[0070] The second condition that needs to be met is that the difference between the fitting radius of the fitting positioning sphere and the radius of the positioning sphere to be fitted is less than the preset error value. The preset error value can be an arbitrarily set value. For example, when the radius of the positioning sphere to be fitted is 1.8 cm, the preset error value can be set to 0.02 cm.

[0071] The third condition that needs to be met is that the area of ​​the triangular facets corresponding to the selected position whose distance from the fitting positioning ball is less than or equal to the average error threshold accounts for more than or equal to half of the total area. The total area is the region S1 formed by several triangular facets in the selected position. It is determined whether the distance between each triangular facet in the region S1 and the fitting positioning ball is greater than the average error threshold. As long as there is a triangular facet in S1 whose distance from the fitting positioning ball is greater than the average error threshold, the triangular facet is deleted. Finally, the triangular facets whose distance from the fitting positioning ball is less than or equal to the average error threshold are left in the region S1, and the remaining triangular facets are formed into a new region S2. The area of ​​the region S2 should account for at least half of the area of ​​the region S1 to be valid.

[0072] Figure 3 is a schematic diagram of a fitting positioning ball fitted according to a selected area provided in an embodiment of the present application, such as Figure 3 As shown, Figure 3 (a) and Figure 3(b) The overlapped portion of the fitting positioning sphere obtained by fitting the selected area with the selected area (i.e., S2) is greater than more than half of the area of ​​the selected area (i.e., S1), which is a valid fitting positioning sphere; Figure 3 (c) The overlap between the fitting positioning sphere fitted according to the selected area and the selected area is 0, which is an invalid fitting positioning sphere.

[0073] The average error in the fitting error is calculated according to the formula described in Example 3, and will not be repeated here.

[0074] When the fitting error of the fitting positioning sphere satisfies the three conditions at the same time or satisfies any one of the conditions, the fitting positioning sphere can be determined as the target positioning sphere.

[0075] In the embodiment of the present application, by setting conditions on the fitting error of the fitting positioning ball, it can be more effectively ensured that the fitting positioning ball meets the requirements and is thus determined as the target positioning ball.

[0076] Positioning ball determination device

[0077] like Figure 4 As shown, Figure 4 is a schematic diagram of a positioning ball determination device provided in an embodiment of the present application, the device comprising:

[0078] A receiving module 401 is used to receive a spherical surface selection operation for a surface model composed of a plurality of triangular facets;

[0079] The determination module 402 is used to respond to the spherical surface selection operation, perform spherical surface fitting according to the triangular facets corresponding to the selected position, and determine the coordinates of the sphere center corresponding to the fitted spherical surface to obtain a fitted positioning sphere;

[0080] The calculation module 403 is used to calculate the fitting error of the fitting positioning ball according to the parameter offset of the fitting positioning ball relative to the positioning ball to be fitted, and determine the fitting positioning ball whose fitting error is less than a first preset threshold as the target positioning ball.

[0081] Based on the positioning ball position determination method provided by the above scheme, after fitting the spherical surface of the surface model composed of several triangular facets, the sphere center coordinates corresponding to the fitted spherical surface can be determined, thereby obtaining the fitted positioning ball, and the fitting error of the fitted positioning ball is calculated according to the parameter offset of the fitted positioning ball relative to the positioning ball to be fitted, and the target positioning ball is determined according to the fitting error. The positioning ball is fitted to determine the fitting positioning ball, and then the fitting error is calculated for the fitting positioning ball, thereby determining the target positioning ball, and the target positioning ball is selected from several spherical surfaces through the fitting algorithm, so that in the process of spherical surface fitting, the error is minimized in the mean square sense, thereby fitting a spherical surface that meets the requirements relatively accurately, and obtaining the accurate sphere center coordinates corresponding to the fitted spherical surface.

[0082] It should be noted that the information interaction, execution process, etc. between the modules in the above-mentioned positioning ball determination device are based on the same concept as the above-mentioned positioning ball position determination method embodiment. For specific contents, please refer to the description in the above-mentioned positioning ball position determination method embodiment, and no further description is given here. In addition, this embodiment is explained in the form of a positioning ball. Among the positioning markers, the positioning method can be to install a positioning ball on the positioning marker. At the same time, this solution can also be applied to the shape of the positioning point or other positioning points. When only the shape of the positioning ball is changed, it should also be considered to be within the protection scope of the present invention.

[0083] Electronic devices

[0084] Reference Figure 5 , shows a schematic diagram of the structure of an electronic device according to an embodiment of the present application. The specific embodiment of the present application does not limit the specific implementation of the electronic device.

[0085] like Figure 5 As shown, the electronic device may include: a processor (processor) 502 , a communication interface (Communications Interface) 504 , a memory (memory) 506 , and a communication bus 508 .

[0086] in:

[0087] The processor 502 , the communication interface 504 , and the memory 506 communicate with each other via a communication bus 508 .

[0088] The communication interface 504 is used to communicate with other electronic devices or servers.

[0089] The processor 502 is used to execute the program 510, and specifically can execute the relevant steps in the above-mentioned embodiment of the method for determining the position of the positioning ball.

[0090] Specifically, the program 510 may include program codes, which include computer operation instructions.

[0091] The processor 502 may be a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application. The one or more processors included in the smart device may be processors of the same type, such as one or more CPUs; or processors of different types, such as one or more CPUs and one or more ASICs.

[0092] The memory 506 is used to store the program 510. The memory 506 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.

[0093] The program 510 may be specifically used to enable the processor 502 to execute the positioning ball position determination method in any of the aforementioned embodiments.

[0094] The specific implementation of each step in program 510 can refer to the corresponding description of the corresponding steps and units in any of the above-mentioned embodiments of the method for determining the position of the positioning ball, which will not be repeated here. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the above-described devices and modules can refer to the corresponding process description in the above-mentioned method embodiments, which will not be repeated here.

[0095] Through the electronic device of the embodiment of the present application, by receiving the spherical surface selection operation of the surface model composed of several triangular facets, according to the spherical surface selection operation, the triangular facets corresponding to the selected position are selected for spherical surface fitting, and the coordinates of the sphere center corresponding to the fitted spherical surface are determined to obtain a fitting positioning sphere, and then the parameter offset of the fitting positioning sphere relative to the positioning sphere to be fitted is obtained to obtain a fitting error, and the fitting positioning sphere with the fitting error less than the first preset threshold is determined as the target positioning sphere. Since the spherical surface is fitted according to the spherical surface selection operation and the coordinates of the sphere center corresponding to the fitted spherical surface are obtained, since the error is minimized in the mean square sense during the fitting process, a spherical surface that meets the requirements is accurately fitted, and the coordinates of the sphere center corresponding to the fitted spherical surface are obtained.

[0096] Computer storage media

[0097] The present application also provides a computer-readable storage medium storing instructions for causing a machine to execute the method for determining the position of a positioning ball as described herein. Specifically, a system or device equipped with a storage medium can be provided, on which a software program code for implementing the functions of any of the above embodiments is stored, and a computer (or CPU or MPU) of the system or device reads and executes the program code stored in the storage medium.

[0098] In this case, the program code read from the storage medium itself can implement the function of any one of the above embodiments, so the program code and the storage medium storing the program code constitute part of the present application.

[0099] The storage medium embodiments for providing the program code include a floppy disk, a hard disk, a magneto-optical disk, an optical disk (such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD+RW), a magnetic tape, a non-volatile memory card, and a ROM. Alternatively, the program code can be downloaded from a server computer by a communication network.

[0100] In addition, it should be clear that the functions of any of the above embodiments can be implemented not only by executing the program code read by the computer, but also by enabling an operating system operating on the computer to complete part or all of the actual operations based on instructions from the program code.

[0101] In addition, it can be understood that the program code read from the storage medium is written to a memory provided in an expansion board inserted into the computer or to a memory provided in an expansion module connected to the computer, and then based on the instructions of the program code, a CPU installed on the expansion board or expansion module is enabled to perform part or all of the actual operations, thereby realizing the functions of any of the above-mentioned embodiments.

[0102] Computer program product

[0103] An embodiment of the present application also provides a computer program product, including computer instructions, which instruct a computing device to execute operations corresponding to any one of the above-mentioned multiple method embodiments.

[0104] It should be pointed out that, according to the needs of implementation, the various components / steps described in the embodiments of the present application can be split into more components / steps, or two or more components / steps or partial operations of components / steps can be combined into new components / steps to achieve the purpose of the embodiments of the present application.

[0105] The above-mentioned method according to the embodiment of the present application can be implemented in hardware, firmware, or implemented as software or computer code that can be stored in a recording medium (such as a CDROM, RAM, floppy disk, hard disk or magneto-optical disk), or implemented as a computer code originally stored in a remote recording medium or a non-temporary machine-readable medium downloaded through a network and to be stored in a local recording medium, so that the method described herein can be stored in such software processing on a recording medium using a general-purpose computer, a dedicated processor or programmable or dedicated hardware (such as an ASIC or FPGA). It can be understood that a computer, a processor, a microprocessor controller or programmable hardware includes a storage component (e.g., RAM, ROM, flash memory, etc.) that can store or receive software or computer code, and when the software or computer code is accessed and executed by a computer, a processor or hardware, the image annotation method described herein is implemented. In addition, when a general-purpose computer accesses the code for implementing the image annotation method shown herein, the execution of the code converts the general-purpose computer into a dedicated computer for executing the verification code generation method shown herein.

[0106] Those of ordinary skill in the art will appreciate that the units and method steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the embodiments of the present application.

[0107] The above implementation methods are only used to illustrate the embodiments of the present application, and are not limitations on the embodiments of the present application. Ordinary technicians in the relevant technical field can make various changes and modifications without departing from the spirit and scope of the embodiments of the present application. Therefore, all equivalent technical solutions also belong to the scope of the embodiments of the present application. The scope of patent protection of the embodiments of the present application should be limited by the claims.

Claims

1. A method for determining the position of a positioning ball, characterized in that: include: Scanning the surface of the marking device by a scanning device to obtain a surface model consisting of a plurality of triangular facets corresponding to the marking device; Receiving a spherical selection operation for a surface model composed of a plurality of triangular facets; In response to the spherical surface selection operation, a spherical surface is fitted according to the triangular facets corresponding to the selected position, and the coordinates of the sphere center corresponding to the fitted spherical surface are determined to obtain a fitted positioning sphere; Calculating a fitting error of the fitting positioning ball according to a parameter offset of the fitting positioning ball relative to the positioning ball to be fitted, and determining the fitting positioning ball as a target positioning ball according to the fitting error of the fitting positioning ball, wherein the parameters of the positioning ball to be fitted are determined by measuring a marking device; Wherein, in response to the spherical surface selection operation, performing spherical surface fitting according to the triangular facets corresponding to the selected positions includes: In response to the spherical surface selection operation, determining from the surface model a triangular facet whose distance from the selected position is less than a preset distance, wherein the preset distance is determined according to the radius of the positioning sphere to be fitted; Performing spherical fitting according to the determined triangular facets; The fitting error includes an average error, and determining the fitting positioning ball as a target positioning ball according to the fitting error of the fitting positioning ball includes: If the fitting error of the fitting positioning ball meets a preset condition, the fitting positioning ball is determined as the target positioning ball, and the preset condition includes at least one of the following: The average error is less than an average error threshold; The difference between the fitting radius of the fitting positioning sphere and the radius of the positioning sphere to be fitted is less than a preset error value; The proportion of the area of ​​the triangular facets corresponding to the selected position and the fitting positioning sphere whose distance is less than or equal to the average error threshold to the total area is greater than or equal to half; The ratio of the area of ​​the triangular facets whose distance from the triangular facets corresponding to the selected position to the fitting positioning sphere is less than or equal to the average error threshold to the total area is greater than or equal to half, which is determined by the following method: The total area is the area S1 formed by several triangular facets in the selected position. It is determined whether the distance between each triangular facet in the area S1 and the fitting positioning sphere is greater than the average error threshold. As long as there is a triangular facet in S1 whose distance between the triangular facet and the fitting positioning sphere is greater than the average error threshold, the triangular facet is deleted. Finally, the triangular facets whose distance between the triangular facet and the fitting positioning sphere is less than or equal to the average error threshold are left in the area S1, and the remaining triangular facets are formed into a new area S2. The area of ​​the area S2 should occupy at least half of the area of ​​the area S1 to be valid. The method further comprises: receiving an export operation of the target positioning ball; In response to the export operation, generating an export instruction for exporting the coordinates of the center of the positioning sphere; If the number of the target positioning balls is greater than or equal to a second preset threshold, the center coordinates of all the target positioning balls are derived according to the export instruction.

2. The method according to claim 1, characterized in that The fitting error is the absolute value of the difference between the coordinate data of the fitting positioning ball and the radius of the ball center in the fitting calculation. The fitting error calculation formula is as follows: the i =|Sqrt((X i -C0) 2 )-r| Among them, X1, X2...X n is the coordinate point of the fitting data of the fitting positioning ball, n is a positive integer greater than or equal to 1; the center coordinate of the positioning ball to be fitted is C0, the radius is r, through ∑di i / nCalculate the average error of the fitting error.

3. A positioning ball determination device, characterized in that: include: A receiving module, used for receiving a spherical surface selection operation for a surface model composed of a plurality of triangular facets; A determination module, configured to, in response to the spherical surface selection operation, perform spherical surface fitting according to the triangular facets corresponding to the selected position, and determine the coordinates of the sphere center corresponding to the fitted spherical surface to obtain a fitted positioning sphere; a calculation module, which calculates a fitting error of the fitting positioning ball according to a parameter offset of the fitting positioning ball relative to the positioning ball to be fitted, and determines the fitting positioning ball as a target positioning ball according to the fitting error of the fitting positioning ball, wherein the parameters of the positioning ball to be fitted are determined by measuring a marking device; Wherein, in response to the spherical surface selection operation, performing spherical surface fitting according to the triangular facets corresponding to the selected positions includes: In response to the spherical surface selection operation, determining from the surface model a triangular facet whose distance from the selected position is less than a preset distance, wherein the preset distance is determined according to the radius of the positioning sphere to be fitted; Performing spherical fitting according to the determined triangular facets; The fitting error includes an average error, and determining the fitting positioning ball as a target positioning ball according to the fitting error of the fitting positioning ball includes: If the fitting error of the fitting positioning ball meets a preset condition, the fitting positioning ball is determined as the target positioning ball, and the preset condition includes at least one of the following: The average error is less than an average error threshold; The difference between the fitting radius of the fitting positioning sphere and the radius of the positioning sphere to be fitted is less than a preset error value; The proportion of the area of ​​the triangular facets corresponding to the selected position and the fitting positioning sphere whose distance is less than or equal to the average error threshold to the total area is greater than or equal to half; The ratio of the area of ​​the triangular facets whose distance from the triangular facets corresponding to the selected position to the fitting positioning sphere is less than or equal to the average error threshold to the total area is greater than or equal to half, which is determined by the following method: The total area is area S1 formed by several triangular facets in the selected position. It is determined whether the distance between each triangular facet in area S1 and the fitting positioning sphere is greater than the average error threshold. As long as there is a triangular facet in S1 whose distance from the fitting positioning sphere is greater than the average error threshold, the triangular facet is deleted. Finally, the triangular facets whose distance from the fitting positioning sphere is less than or equal to the average error threshold are left in area S1, and the remaining triangular facets are formed into a new area S2. The area of ​​area S2 should occupy at least half or more of the area of ​​area S1 to be valid.

4. An electronic device, characterized in that: include: A processor, a communication interface, a memory and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus; The memory is used to store at least one executable instruction, and the executable instruction enables the processor to execute an operation corresponding to the method for determining the position of the positioning ball according to any one of claims 1-2.

5. A computer storage medium, characterized in that: A computer program is stored on the computer storage medium, and when the program is executed by the processor, the method for determining the position of the positioning ball as described in any one of claims 1 to 2 is implemented.

Citation Information

Patent Citations

  • Method and device for extracting position of metal ball for positioning in CBCT image

    CN115423789A