An automatic implant registration method, apparatus and electronic device
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-10
- Publication Date
- 2026-08-11
AI Technical Summary
[0006]本申请的目的在于提供一种种植体自动配准方法、装置及电子设备,以解决现有技术中存在的种植体模型配准效率低、精度不高的问题
Smart Images

Figure CN115690173B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of model registration technology, and more specifically, to an automatic implant registration method, apparatus, and electronic device. Background Technology
[0002] In the pre-operative preparation stage of dental implant surgery, relevant institutions will create a corresponding implant guide based on the patient's intraoral scan STL (STereoLithography) data, and set the preliminary planning position of the implant on the intraoral scan data as a reference for the doctor to implant the tooth later.
[0003] During the aforementioned process, the relevant institutions do not know the specific implant model used in the surgery. Therefore, their initial planning position is usually represented by a cylinder, and the patient's intraoral scan and the cylinder planning position are ultimately saved in the same STL file. In the subsequent surgical planning, the doctor determines the required implant model. In order to visualize the implantation effect, the implant STL model needs to be registered with the cylinder planning position and moved to the cylinder planning position.
[0004] However, existing data registration processes are generally performed manually by adjusting the translation and rotation of the implant model. This method is inefficient and has low registration accuracy.
[0005] In summary, existing technologies suffer from low efficiency and low accuracy in implant model registration. Summary of the Invention
[0006] The purpose of this application is to provide an automatic implant registration method, device, and electronic device to solve the problems of low registration efficiency and low accuracy of implant models in the prior art.
[0007] To achieve the above objectives, the technical solutions adopted in the embodiments of this application are as follows:
[0008] In a first aspect, embodiments of this application provide an automatic implant registration method, the method comprising:
[0009] Acquire implant model data and oral scan data, wherein the oral scan data includes cylinder planning position data and oral scan model data;
[0010] The upper and lower endpoints of the implant model are determined based on the implant model data;
[0011] The upper and lower endpoints of the cylinder planning position are determined based on the cylinder planning position data and the scanning model data.
[0012] The pose transformation matrix is determined based on the coordinates of the upper and lower endpoints of the implant model and the coordinates of the upper and lower endpoints of the planned position of the cylinder;
[0013] The implant model is transferred to the cylinder planning position using the pose transformation matrix to achieve registration.
[0014] Optionally, the step of determining the upper and lower endpoints of the implant model based on the implant model data includes:
[0015] Generate a directed bounding box for the implant model and obtain the center point of each face in the directed bounding box;
[0016] Determine the distance between any two center points, and designate the two center points with the longest distance as the first center point and the second center point, respectively.
[0017] Determine the first plane and the second plane of the directed bounding box where the first center point and the second center point are located;
[0018] The upper and lower endpoints of the implant model are determined based on the first center point, the second center point, the first plane, the second plane, and the spatial vertices on the implant model.
[0019] Optionally, the step of determining the upper and lower endpoints of the implant model based on the first center point, the second center point, the first plane, the second plane, and the spatial vertices on the implant model includes:
[0020] Traverse every spatial vertex on the implant model, and take the spatial vertex whose distance from the first plane is less than a preset value as the first spatial vertex, and take the spatial vertex whose distance from the second plane is less than a preset value as the second spatial vertex.
[0021] When the number of the first spatial vertices is less than the number of the second spatial vertices, the first center point is determined as the upper end point of the implant model, and the second center point is determined as the lower end point of the implant model.
[0022] When the number of vertices in the first space is greater than the number of vertices in the second space, the first center point is determined as the lower end point of the implant model, and the second center point is determined as the upper end point of the implant model.
[0023] Optionally, the step of determining the upper and lower endpoints of the cylinder planning position based on the cylinder planning position data and the aperture scan model data includes:
[0024] The centroid of the planned position of the cylinder is determined based on the cylinder planning position data;
[0025] The spatial vertex that is furthest from the center of gravity on the planned position of the cylinder is taken as the third spatial vertex;
[0026] Determine the spatial vertices belonging to the upper or lower face from the third spatial vertices;
[0027] Fit a circle based on the spatial vertex belonging to the upper or lower end face, and determine the first circle center;
[0028] The second center is determined based on the first center and the centroid.
[0029] The upper and lower endpoints of the cylinder planning position are determined based on the first center, the second center, and the oral scan model data.
[0030] Optionally, the step of determining which spatial vertex belongs to the upper or lower face from the third spatial vertices includes:
[0031] Generate a first temporary point and a second temporary point, wherein the initial coordinates of the first temporary point and the second temporary point are the coordinates of any point in the third space vertex;
[0032] Traverse the third space vertices and determine the fourth space vertices adjacent to the first and second temporary points based on the distance between the first temporary point and the second temporary point, the distance between the third space vertex and the first temporary point, and the distance between the third space vertex and the second temporary point;
[0033] The coordinates of the first temporary point are updated to the coordinates of the second temporary point, the coordinates of the second temporary point are updated to the coordinates of the fourth spatial vertex, and the steps of traversing the third spatial vertex are repeated until the number of determined fourth spatial vertices reaches a preset value.
[0034] Optionally, the step of determining the upper and lower endpoints of the cylinder planning position based on the first circle center, the second circle center, and the scanning model includes:
[0035] Traverse the spatial vertices of the scanning model and calculate the distance between each spatial vertex and the first and second circle centers;
[0036] The minimum distance between the spatial vertex of the oral scanning model and the first center is set as the first distance value, and the minimum distance between the spatial vertex of the oral scanning model and the second center is set as the second distance value.
[0037] When the first distance value is less than the second distance value, the first circle center is determined to be the upper end point of the cylinder planning position, and the second circle center is determined to be the lower end point of the cylinder planning position;
[0038] When the first distance value is greater than the second distance value, the first circle center is determined to be the lower end point of the cylinder planning position, and the second circle center is determined to be the upper end point of the cylinder planning position.
[0039] Optionally, the step of determining the pose transformation matrix based on the coordinates of the upper and lower endpoints of the implant model and the coordinates of the upper and lower endpoints of the planned position of the cylinder includes:
[0040] The first unit vector is determined based on the coordinates of the upper and lower endpoints of the implant model;
[0041] The second unit vector is determined based on the coordinates of the upper and lower endpoints of the cylinder's planned position;
[0042] Determine the angle between the vectors and the normal vector based on the first unit vector and the second unit vector;
[0043] The rotation matrix from the implant model to the planned position of the cylinder is determined based on the included angle of the vectors and the normal.
[0044] Determine the translation vector from the implant model to the planned position of the cylinder;
[0045] The pose transformation matrix is generated based on the rotation matrix and the translation vector.
[0046] Optionally, the translation vector satisfies the formula:
[0047]
[0048] Where t represents the translation vector, R represents the rotation matrix from the implant model to the planned position of the cylinder, and P planHead P represents the coordinates of the lower endpoint of the cylinder's planned position. implantHead This indicates the coordinates of the lower end point of the implant model.
[0049] Secondly, embodiments of this application also provide an automatic implant registration device, the device comprising:
[0050] The data acquisition unit is used to acquire implant model data and oral scan data, wherein the oral scan data includes cylinder planning position data and oral scan model data.
[0051] A data processing unit is used to determine the upper and lower endpoints of the implant model based on the implant model data;
[0052] The data processing unit is also used to determine the upper and lower endpoints of the cylinder planning position based on the cylinder planning position data and the oral scan model data;
[0053] The data processing unit is also used to determine the pose transformation matrix based on the coordinates of the upper and lower endpoints of the implant model and the coordinates of the upper and lower endpoints of the cylinder planning position.
[0054] The transfer unit is used to transfer the implant model to the cylinder planning position using the pose transformation matrix to achieve registration.
[0055] Thirdly, embodiments of this application also provide an electronic device, including:
[0056] Memory, used to store one or more programs;
[0057] processor;
[0058] The above method is implemented when the one or more programs are executed by the processor.
[0059] Compared with the prior art, the embodiments of this application have the following beneficial effects:
[0060] This application provides an automatic implant registration method, apparatus, and electronic device. First, implant model data and oral scan data are acquired. The oral scan data includes cylindrical planning position data and oral scan model data. Then, the upper and lower endpoints of the implant model are determined based on the implant model data. Next, the upper and lower endpoints of the cylindrical planning position are determined based on the cylindrical planning position data and the oral scan model data. Then, a pose transformation matrix is determined based on the coordinates of the upper and lower endpoints of the implant model and the cylindrical planning position. Finally, the pose transformation matrix is used to transfer the implant model to the cylindrical planning position to achieve registration. Because this application accurately determines the pose transformation matrix by acquiring the upper and lower endpoints of the implant model and the cylindrical planning position, and uses the pose transformation matrix to achieve implant model transfer, manual registration is unnecessary, improving registration efficiency and accuracy.
[0061] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0062] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0063] Figure 1 This is a schematic diagram of the implant model, cylindrical planning position, and intraoral scan model provided in the embodiments of this application.
[0064] Figure 2 A schematic diagram of the modules of an electronic device provided in an embodiment of this application.
[0065] Figure 3 An exemplary flowchart of the implant automatic registration method provided in the embodiments of this application.
[0066] Figure 4 This is a schematic diagram of the implant model and the directed bounding box provided in the embodiments of this application.
[0067] Figure 5 This is a schematic diagram illustrating the principle of determining a third spatial vertex belonging to the same circular surface, as provided in an embodiment of this application.
[0068] Figure 6 A schematic diagram showing the final registration effect between the electronic implant model and the cylindrical planning position provided in the embodiments of this application.
[0069] In the diagram: 100 - Electronic device; 101 - Processor; 102 - Memory; 103 - Communication interface. Detailed Implementation
[0070] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. The components of the embodiments of this application described and shown in the accompanying drawings can generally be arranged and designed in various different configurations.
[0071] Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0072] It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. Furthermore, in the description of this application, terms such as "first," "second," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0073] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0074] In the description of this application, it should be noted that the terms "upper", "lower", "inner", "outer", etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings, or the orientation or positional relationship that the product of this application is usually placed in when in use. They are only for the convenience of describing this application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this application.
[0075] In the description of this application, it should also be noted that, unless otherwise explicitly specified and limited, the terms "set" and "connection" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in this application based on the specific circumstances.
[0076] The following detailed description of some embodiments of this application is provided in conjunction with the accompanying drawings. Unless otherwise specified, the following embodiments and features can be combined with each other.
[0077] As described in the background section, the registration of the implant model with the cylindrical planning position in the prior art is generally done manually, which is inefficient and lacks accuracy.
[0078] For example, please see Figure 1 , Figure 1Schematic diagrams of various models are shown. As can be seen from the figures, the intraoral scanning model and the cylinder planning position data differ for different patients, and the implant model size also varies. In the pre-operative preparation stage of dental implant surgery, an intraoral scanning model and a cylinder planning position can be generated using intraoral scanning. However, in order to display the final effect after completion and to provide numerical reference for subsequent implant surgery, the implant model needs to be transferred to the position of the cylinder planning position.
[0079] In existing technologies, the implant model is generally transferred to the planned position on the cylinder manually. This involves manually rotating the implant model and dragging it to the planned position on the cylinder, which results in low efficiency and low accuracy.
[0080] In view of this, this application provides an automatic implant registration method, which improves the efficiency and accuracy of transferring implant models to the cylindrical planning position through automatic registration.
[0081] It should be noted that the implant automatic registration method provided in this application can be applied to electronic devices. As one implementation method, a schematic structural block diagram of the electronic device 100 provided in this application embodiment is shown below. Figure 2 As shown, the electronic device 100 includes a memory 102, a processor 101, and a communication interface 103. The memory 102, processor 101, and communication interface 103 are electrically connected to each other directly or indirectly to realize data transmission or interaction. For example, these components can be electrically connected to each other through one or more communication buses or signal lines.
[0082] The memory 102 can be used to store software programs and modules, such as the program instructions or modules corresponding to the implant automatic registration device provided in this application embodiment. The processor 101 executes the software programs and modules stored in the memory 102 to perform various functional applications and data processing, thereby executing the steps of the implant automatic registration method provided in this application embodiment. The communication interface 103 can be used to communicate with other node devices for signaling or data.
[0083] The memory 102 may be, but is not limited to, random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc.
[0084] Processor 101 can be an integrated circuit chip with signal processing capabilities. Processor 101 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0085] Understandable. Figure 2 The structure shown is for illustrative purposes only; the electronic device 100 may also include components that are more advanced than those shown. Figure 2 The more or fewer components shown, or having the same Figure 2 The different configurations shown. Figure 2 The components shown can be implemented using hardware, software, or a combination thereof.
[0086] The following uses electronic device 100 as an illustrative execution subject to illustrate the implant automatic registration method provided in the embodiments of this application.
[0087] As one implementation method, please refer to Figure 3 The automatic implant registration method includes:
[0088] S102, acquire implant model data and oral scan data, wherein the oral scan data includes cylinder planning position data and oral scan model data.
[0089] S104, Determine the upper and lower endpoints of the implant model based on the implant model data.
[0090] S106, determine the upper and lower endpoints of the cylinder planning position based on the cylinder planning position data and the scanning model data.
[0091] S108, determine the pose transformation matrix based on the coordinates of the upper and lower endpoints of the implant model and the coordinates of the upper and lower endpoints of the cylinder planning position.
[0092] S110 uses a pose transformation matrix to transfer the implant model to the cylinder planning position to achieve registration.
[0093] Among them, combined Figure 1 As shown, this application actually imports and displays the implant model data and the oral scan data model with cylindrical planning positions in a virtual space scene. The relative positional relationship between the implant model and the cylindrical planning positions is unknown in the initial state and needs to be solved.
[0094] Furthermore, the implant model, the cylindrical planning position, and the oral scan model are all actually composed of multiple spatial vertices. Connecting these spatial vertices forms the implant model, the cylindrical planning position, and the oral scan model. Therefore, the implant model data described in this application is actually the coordinate information of each spatial vertex of the implant model; similarly, the cylindrical planning position data and the oral scan model data are also the coordinate information of each spatial vertex in the cylindrical planning position and the coordinate information of each spatial vertex in the oral scan model, respectively.
[0095] In one implementation, S104 includes:
[0096] S1041, Generate the directed bounding box of the implant model and obtain the center point of each face in the directed bounding box.
[0097] S1042, determine the distance between every two center points, and take the two center points with the longest distance as the first center point and the second center point respectively.
[0098] S1043, determine the first plane and the second plane of the directed bounding box where the first center point and the second center point are located.
[0099] S1044, determine the upper and lower endpoints of the implant model based on the first center point, the second center point, the first plane, the second plane, and the spatial vertices on the implant model.
[0100] In this context, the directed bounding box refers to the cuboid that is closest to the object, consisting of 6 faces and 8 vertices. Therefore, when generating the directed bounding box of the implant model, the smallest cuboid that actually encloses the implant model is generated.
[0101] like Figure 4As shown, regardless of the implant model's model type, the overall shape of the implant model is screw-like, meaning one end is larger and the other smaller, with threads distributed in the middle area. Therefore, when generating the directed bounding box, the center points of the two end faces of the directed bounding box are the upper and lower endpoints of the implant model. In other words, the center points of the two end faces of the directed bounding box coincide with the upper and lower endpoints of the implant model, respectively. Once the coordinates of the center points of the two end faces of the directed bounding box are determined, the coordinates of the upper and lower endpoints of the implant model are also determined.
[0102] In this application, the distance between any two centers is determined by obtaining the center points of each face within the directed bounding box. The center points of each face can be automatically generated during the creation of the directed bounding box, or the faces (a total of 6 faces) can be determined first based on the vertices of the directed bounding box, and then the average coordinates of the four vertices for each face can be calculated as the coordinates of its center point.
[0103] It should be noted that the determination of the upper and lower endpoints described in this application is actually based on the average value used for subsequent calculations to determine the coordinates of the upper and lower endpoints.
[0104] After calculating the distance between any two center points out of the six center points, the distances can be compared, and the two points with the longest distance, p1 and p2, can be identified as having a distance of L. Combined with... Figure 4 Understandably, due to the shape limitations of the implant model, the two points with the longest distance are the upper and lower ends of the implant model.
[0105] However, after determining the two points with the longest distance as the first center point and the second center point, denoted as p1 and p2 respectively, it is possible that p1 is the upper endpoint and p2 is the lower endpoint; or it is possible that p2 is the upper endpoint and p1 is the lower endpoint. Therefore, further determination is needed.
[0106] It should be noted that the bounding box method described above can distinguish the upper and lower endpoints of the implant model because the directed bounding box of the implant model is a long, cylindrical shape, and the length of the line connecting the upper and lower endpoints is equal to the length of the longest axis of the directed bounding box. Furthermore, the lower endpoint of the implant model has a relatively complex geometry due to the presence of threads, requiring more spatial vertices. These vertices are connected to form triangular facets to represent the complex thread geometry. The upper end of the implant model, on the other hand, is closer to a regular cylindrical shape with a simpler geometry and fewer spatial vertices. Therefore, determining the number of spatial vertices in the region near the two midline points p1 and p2 is sufficient to determine the specific upper and lower endpoints.
[0107] In this application, the first plane and the second plane of the directed bounding box where the first center point and the second center point are located are first determined; and the upper and lower endpoints of the implant model are determined based on the first center point, the second center point, the first plane, the second plane and the spatial vertices on the implant model.
[0108] When determining the first and second planes where the first and second center points are located, we can use p1 and p2 as points on the planes respectively, and the direction of the line connecting p1 and p2 as the normal vector to generate two planes P1 and P2.
[0109] Specifically, S1044 includes:
[0110] Traverse every spatial vertex on the implant model, and take the spatial vertex whose distance from the first plane is less than a preset value as the first spatial vertex, and take the spatial vertex whose distance from the second plane is less than a preset value as the second spatial vertex.
[0111] When the number of vertices in the first space is less than the number of vertices in the second space, the first center point is determined as the upper end point of the implant model, and the second center point is determined as the lower end point of the implant model.
[0112] When the number of vertices in the first space is greater than the number of vertices in the second space, the first center point is determined as the lower end point of the implant model, and the second center point is determined as the upper end point of the implant model.
[0113] In one implementation, each spatial vertex on the implant model can be traversed, and the spatial vertices whose distance from P1 is less than or equal to 1 / 5L are taken as the first spatial vertices, and all the first spatial vertices form a set called Pointset1. The spatial vertices whose distance from P2 is less than or equal to 1 / 5L are taken as the second spatial vertices, and all the second spatial vertices form a set called Pointset2, where L represents the distance between the first center point and the second center point.
[0114] Next, compare the number of elements in Pointset1 and Pointset2. If the former has more elements than the latter, then the first center point p1 is taken as the lower endpoint of the implant model (the endpoint that first contacts the patient during implantation), denoted as p. implantHead The second center point p2 is the upper end point of the implant, denoted as p. implantTail Otherwise, p2 is the lower end point of the implant, denoted as p. implantHead p1 is the upper end point of the implant, denoted as p implantTail .
[0115] As another implementation method, when determining the upper and lower endpoints of the implant model, the model type can be determined, and then the coordinates of its upper and lower endpoints can be determined. In other words, the database pre-stores the coordinates of the upper and lower endpoints corresponding to different implant models. Once the implant model type is determined, the corresponding coordinates can be directly called.
[0116] As one implementation, S106 includes:
[0117] S1061, Determine the centroid of the cylinder's planned position based on the cylinder's planned position data;
[0118] S1062, take the spatial vertex with the largest distance from the center of gravity on the cylinder planning position as the third spatial vertex;
[0119] S1063, determine the spatial vertex belonging to the upper or lower face from the third spatial vertices;
[0120] S1064, Fit a circle based on the spatial vertex belonging to the upper or lower end face, and determine the first circle center;
[0121] S1065, determine the second center of the circle based on the first center and the centroid;
[0122] S1066, determine the upper and lower endpoints of the cylinder planning position based on the first center, the second center, and the oral scan model data.
[0123] When determining the upper and lower endpoints of the cylinder planning position, since the cylinder planning position coincides with the scanning model, it is necessary to first determine the range of the cylinder planning position. As one implementation method, a connected component analysis is first performed on the scanning data containing the cylinder planning position to obtain two unconnected spatial polygons, denoted as S1 and S2. It can be understood that one of S1 and S2 is the scanning model, and the other is the cylinder planning position.
[0124] Next, the number of spatial vertices in S1 and S2 is compared. The one with more vertices is the patient's oral scan model, denoted as S. oralScan The cylinder with fewer vertices is designated as the planning position, denoted as S. plan .
[0125] After determining the region where the cylinder's planned position is located, the next step is to determine its upper and lower endpoints. First, the centroid of the cylinder's planned position can be determined based on the planned position data. This centroid is the geometric center and can be determined by summing the coordinates of all its spatial vertices and dividing by the total number of vertices. The centroid of the cylinder's planned position is denoted as p. c .
[0126] Next, by traversing all spatial vertices on the cylinder's planned position, the spatial vertex with the largest distance from the center of gravity on the cylinder's planned position is taken as the third spatial vertex. Then, from the third spatial vertices, the spatial vertices belonging to the upper or lower end face are determined. Then, by fitting a circle using the third spatial vertices belonging to the same end face, the center of the circle can be determined. This center of the circle is the upper or lower end point of the cylinder's planned position.
[0127] The steps for determining which spatial vertex belongs to the upper or lower face from the third spatial vertices include:
[0128] Generate a first temporary point and a second temporary point, wherein the initial coordinates of the first temporary point and the second temporary point are the coordinates of any point in the third space vertex;
[0129] Traverse the vertices of the third space and determine the fourth space vertices adjacent to the first and second temporary points based on the distances between the first and second temporary points, the distances between the third space vertex and the first temporary point, and the distances between the third space vertex and the second temporary point.
[0130] Update the coordinates of the first temporary point to the coordinates of the second temporary point, update the coordinates of the second temporary point to the coordinates of the fourth space vertex, and repeat the steps of traversing the third space vertex until the number of determined fourth space vertices reaches the preset value.
[0131] In practical applications, the center of gravity p can be... c With the cylinder planning position S plan The maximum distance between vertices in the upper space is d max , will d max Initialize to 0, traverse the cylinder planning position Splan and each vertex vi (1≤i≤n, n is the S... plan (Total number of vertices), calculate its relationship with p c The distance di, if di > d max Assign the value of di to d max In this way, d can be determined. max It is the maximum value. For example, when the first spatial vertex is perpendicular to the centroid p... c If the distance between them is 0.5, then d max Updated to 0.5; while when the second spatial vertex and the centroid p c If the distance between them is 0.3, then d max Without updating, it remains at 0.5, while when the third spatial vertex and the centroid p... c When the distance between them is 1, then d max Update 1, and so on.
[0132] Understandably, the third spatial vertex determined in this way is actually the boundary point of the upper and lower base circles of the cylinder.
[0133] Next, it is necessary to screen out the spatial vertices located in the same plane from the third-space vertices. In one implementation, an empty point set P can be generated ointsettmp for storing the boundary points of the upper and lower bottom circular surfaces of the cylinder, and traverse S plan for each vertex vi (1 ≤ i ≤ n, where n is the total number of vertices of S plan ), calculate its distance di from p c . If |di – d max | < 0.03, add vi to P ointsettmp .
[0134] Generate the first temporary point and the second temporary point, denoted as p tmp1 and p tmp2 . Use the coordinates of the first point element in P ointsettmp as the initial values of p tmp1 and p tmp2 . Of course, the coordinates of other point elements can also be used as the initial values of p tmp1 and p tmp2 , which is not limited here.
[0135] Generate an empty point set P ointsettmp2 for storing the boundary points of a certain bottom circular surface of the cylinder's planned position; repeatedly traverse each element vi of P ointsettmp (1 ≤ i ≤ n, where n is the total number of elements of P ointsettmp S plan ): Calculate its distance k1 from ptmp1, calculate its distance k2 from ptmp2, and the distance k3 between ptmp1 and ptmp2. If the number of elements in P ointsettmp2 is less than 10 (otherwise stop all traversals), k1 ≤ k2, k3 < k2 and k2 < 0.1, then add vi to Pointsettmp2, assign the coordinate value of ptmp1 to ptmp2, and assign the coordinate value of vi to ptmp1, and start a new round of traversal of Pointsettmp. The schematic diagram is as shown in Figure 5 .
[0136] As one implementation, the steps of determining the upper and lower end points of the cylinder's planned position based on the first center, the second center, and the mouth-scanning model include:
[0137] Traverse the spatial vertices of the mouth-scanning model and calculate the distances between each spatial vertex and the first center and the second center;
[0138] Take the minimum value of the distances between the spatial vertices of the mouth-scanning model and the first center as the first distance value, and take the minimum value of the distances between the spatial vertices of the mouth-scanning model and the second center as the second distance value;
[0139] When the first distance value is less than the second distance value, determine that the first center is the upper endpoint of the cylinder planning position and the second center is the lower endpoint of the cylinder planning position;
[0140] When the first distance value is greater than the second distance value, determine that the first center is the lower endpoint of the cylinder planning position and the second center is the upper endpoint of the cylinder planning position.
[0141] Among them, the least squares method can be used to fit a circle to 10 points in P ointsettmp2 to obtain its center as p m , calculate a spatial point pn = 2pc - pm, traverse each vertex of SoralScan, and calculate its distances from pn and pm, which are respectively denoted as dni and dmi (1 ≤ i ≤ n, where n is the total number of vertices of SoralScan). The minimum values of dni and dmi are respectively dn_min and dm_min. If dn_min < dm_min, then pn is the upper endpoint of the cylinder planning position (corresponding to the upper endpoint of the implant), denoted as pplanTail, and pm is the lower endpoint of the cylinder planning position pplanHead; otherwise, pm is the upper endpoint of the cylinder planning position denoted as pplanTail, and pn is the lower endpoint of the cylinder planning position pplanHead.
[0142] Among them, the above method first calculates the geometric center of the cylinder, then obtains the boundary points of the upper and lower bases by screening the points with the largest distance from the center of the cylinder, and then extracts several boundary points on a certain base from all the boundary points to obtain the center of the base, obtains the centers of the upper and lower bases of the cylinder planning position, and finally distinguishes the upper and lower endpoints by comparing the distances from the oral scan model; the method of extracting the upper and lower endpoints of the cylinder planning position does not use the bounding box method because it cannot ensure that the length of the long axis of the cylinder planning position in the STL data must be greater than the base diameter (although the length of the long axis of the actual implant can ensure that it is greater than the diameters of its upper and lower bases, the size of the cylinder planning position has little correlation with the shape of the actual implant, and the planning position only determines the direction and implantation point position of the implant).
[0143] After determining the upper and lower endpoints of the cylinder planning position and the upper and lower endpoints of the cylinder planning position, the actual purpose of this application is to transfer the implant model to the position of the cylinder planning position. Therefore, only the corresponding transformation matrix needs to be determined.
[0144] Specifically, first calculate the axial unit vector aplan of the cylinder planning position and the axial unit vector aimplant of the implant model:
[0145] a plan =(p planHead -p planTail [[ID=planHead -p planTail |
[0146] a implant =(p implantHead -p implantTail ) / |p implantHead -p implantTail |
[0147] Then calculate the angle θ between aimplant and aplan, and calculate the unit vector k of the cross product of aimplant and aplan.
[0148] θ=cos -1 (a implant ·a plan / |a implant ·a plan |)
[0149]
[0150] The 3x3 rotation matrix R from the implant model to the planned position on the cylinder was calculated using the Rodriguez formula.
[0151]
[0152] Where I is a 3x3 identity matrix, and matrix K is obtained from vector k.
[0153]
[0154] Calculate the translation vector t from the implant model to the planned position of the cylinder.
[0155]
[0156] Obtain the 4x4 transformation matrix T from the implant model to the cylindrical planning position.
[0157]
[0158] Next, traverse each vertex pi (1≤i≤n, where n is the total number of vertices in the implant model) on the implant model and apply the transformation matrix T to move it to the new position pi'.
[0159] p′ i =T·p i
[0160] The final registration result between the implant model and the cylindrical planning position is as follows: Figure 6 .
[0161] Based on the above implementation, this application also provides an automatic implant registration device, which includes:
[0162] The data acquisition unit is used to acquire implant model data and oral scan data, wherein the oral scan data includes cylinder planning position data and oral scan model data.
[0163] The data processing unit is used to determine the upper and lower endpoints of the implant model based on the implant model data.
[0164] The data processing unit is also used to determine the upper and lower endpoints of the cylinder planning position based on the cylinder planning position data and the scanning model data.
[0165] The data processing unit is also used to determine the pose transformation matrix based on the coordinates of the upper and lower endpoints of the implant model and the coordinates of the upper and lower endpoints of the cylinder planning position.
[0166] The transfer unit is used to transfer the implant model to the cylinder planning position using the pose transformation matrix to achieve registration.
[0167] In summary, this application provides an automatic implant registration method, apparatus, and electronic device. First, implant model data and oral scan data are acquired. The oral scan data includes cylindrical planning position data and oral scan model data. Then, the upper and lower endpoints of the implant model are determined based on the implant model data. Next, the upper and lower endpoints of the cylindrical planning position are determined based on the cylindrical planning position data and the oral scan model data. Then, a pose transformation matrix is determined based on the coordinates of the upper and lower endpoints of the implant model and the cylindrical planning position. Finally, the pose transformation matrix is used to transfer the implant model to the cylindrical planning position to achieve registration. Because this application accurately determines the pose transformation matrix by acquiring the upper and lower endpoints of the implant model and the cylindrical planning position, and uses the pose transformation matrix to achieve implant model transfer, manual registration is unnecessary, thus improving registration efficiency and accuracy.
[0168] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative; for example, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of the apparatus, methods, and computer program products according to embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function.
[0169] It should also be noted that in some alternative implementations, the functions marked in the boxes may occur in a different order than those shown in the accompanying drawings. For example, two consecutive boxes may actually be executed in essentially parallel order, or they may sometimes be executed in reverse order, depending on the functions involved.
[0170] It should also be noted that each box in a block diagram and / or flowchart, as well as combinations of boxes in block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0171] In addition, the functional modules in the embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.
[0172] If the aforementioned function is implemented as a software functional module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in the embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory, random access memory, magnetic disks, or optical disks.
[0173] While the present invention has been disclosed above, it is not limited thereto. Any person skilled in the art can make various modifications and alterations without departing from the spirit and scope of the invention; therefore, the scope of protection of the present invention should be determined by the scope defined in the claims.
Claims
1. An automatic implant registration method, characterized in that, The method includes: Acquire implant model data and oral scan data, wherein the oral scan data includes cylinder planning position data and oral scan model data; The upper and lower endpoints of the implant model are determined based on the implant model data; The upper and lower endpoints of the cylinder planning position are determined based on the cylinder planning position data and the scanning model data. The pose transformation matrix is determined based on the coordinates of the upper and lower endpoints of the implant model and the coordinates of the upper and lower endpoints of the planned position of the cylinder; The implant model is transferred to the planned position on the cylinder using the pose transformation matrix to achieve registration; wherein, The steps for determining the pose transformation matrix based on the coordinates of the upper and lower endpoints of the implant model and the coordinates of the upper and lower endpoints of the planned position of the cylinder include: The first unit vector is determined based on the coordinates of the upper and lower endpoints of the implant model; The second unit vector is determined based on the coordinates of the upper and lower endpoints of the cylinder's planned position; Determine the angle between the vectors and the normal vector based on the first unit vector and the second unit vector; The rotation matrix from the implant model to the planned position of the cylinder is determined based on the included angle of the vectors and the normal. Determine the translation vector from the implant model to the planned position of the cylinder; The pose transformation matrix is generated based on the rotation matrix and the translation vector; The translation vector satisfies the formula: where t represents the translation vector, R represents the rotation matrix of the implant model to the cylindrical planning site, P planHead represents the lower endpoint coordinate of the cylindrical planning site, P implantHead represents the coordinate of the lower endpoint of the implant model.
2. The implant automatic registration method as described in claim 1, characterized in that, The step of determining the upper and lower endpoints of the implant model based on the implant model data includes: Generate a directed bounding box for the implant model and obtain the center point of each face in the directed bounding box; Determine the distance between any two center points, and designate the two center points with the longest distance as the first center point and the second center point, respectively. Determine the first plane and the second plane of the directed bounding box where the first center point and the second center point are located; The upper and lower endpoints of the implant model are determined based on the first center point, the second center point, the first plane, the second plane, and the spatial vertices on the implant model.
3. The implant automatic registration method as described in claim 2, characterized in that, The step of determining the upper and lower endpoints of the implant model based on the first center point, the second center point, the first plane, the second plane, and the spatial vertices on the implant model includes: Traverse every spatial vertex on the implant model, and take the spatial vertex whose distance from the first plane is less than a preset value as the first spatial vertex, and take the spatial vertex whose distance from the second plane is less than a preset value as the second spatial vertex. When the number of the first spatial vertices is less than the number of the second spatial vertices, the first center point is determined as the upper end point of the implant model, and the second center point is determined as the lower end point of the implant model. When the number of vertices in the first space is greater than the number of vertices in the second space, the first center point is determined as the lower end point of the implant model, and the second center point is determined as the upper end point of the implant model.
4. The implant automatic registration method as described in claim 1, characterized in that, The steps for determining the upper and lower endpoints of the cylinder planning position based on the cylinder planning position data and the scanning model data include: The centroid of the planned position of the cylinder is determined based on the cylinder planning position data; The spatial vertex that is furthest from the center of gravity on the planned position of the cylinder is taken as the third spatial vertex; Determine the spatial vertices belonging to the upper or lower face from the third spatial vertices; Fit a circle based on the spatial vertex belonging to the upper or lower end face, and determine the first circle center; The second center is determined based on the first center and the centroid. The upper and lower endpoints of the cylinder planning position are determined based on the first center, the second center, and the oral scan model data.
5. The implant automatic registration method as described in claim 4, characterized in that, The steps for determining which spatial vertex belongs to the upper or lower face from the third spatial vertices include: Generate a first temporary point and a second temporary point, wherein the initial coordinates of the first temporary point and the second temporary point are the coordinates of any point in the third space vertex; Traverse the third space vertices and determine the fourth space vertices adjacent to the first and second temporary points based on the distance between the first temporary point and the second temporary point, the distance between the third space vertex and the first temporary point, and the distance between the third space vertex and the second temporary point; The coordinates of the first temporary point are updated to the coordinates of the second temporary point, the coordinates of the second temporary point are updated to the coordinates of the fourth spatial vertex, and the steps of traversing the third spatial vertex are repeated until the number of determined fourth spatial vertices reaches a preset value.
6. The implant automatic registration method as described in claim 4, characterized in that, The step of determining the upper and lower endpoints of the cylinder planning position based on the first circle center, the second circle center, and the scanning model includes: Traverse the spatial vertices of the scanning model and calculate the distance between each spatial vertex and the first and second circle centers; The minimum distance between the spatial vertex of the oral scanning model and the first center is set as the first distance value, and the minimum distance between the spatial vertex of the oral scanning model and the second center is set as the second distance value. When the first distance value is less than the second distance value, the first circle center is determined to be the upper end point of the cylinder planning position, and the second circle center is determined to be the lower end point of the cylinder planning position; When the first distance value is greater than the second distance value, the first circle center is determined to be the lower end point of the cylinder planning position, and the second circle center is determined to be the upper end point of the cylinder planning position.
7. An automatic implant registration device, characterized in that, The device includes: The data acquisition unit is used to acquire implant model data and oral scan data, wherein the oral scan data includes cylinder planning position data and oral scan model data. A data processing unit is used to determine the upper and lower endpoints of the implant model based on the implant model data; The data processing unit is also used to determine the upper and lower endpoints of the cylinder planning position based on the cylinder planning position data and the oral scan model data; The data processing unit is further configured to: determine a first unit vector based on the coordinates of the upper and lower endpoints of the implant model; determine a second unit vector based on the coordinates of the upper and lower endpoints of the cylinder planning position; determine the vector angle and normal based on the first unit vector and the second unit vector; determine the rotation matrix from the implant model to the cylinder planning position based on the vector angle and normal; determine the translation vector from the implant model to the cylinder planning position; and generate a pose transformation matrix based on the rotation matrix and the translation vector. The translation vector satisfies the formula: Where t represents the translation vector, R represents the rotation matrix from the implant model to the planned position of the cylinder, and P planHead P represents the coordinates of the lower endpoint of the cylinder's planned position. implantHead Represents the coordinates of the lower end point of the implant model; The transfer unit is used to transfer the implant model to the cylinder planning position using the pose transformation matrix to achieve registration.
8. An electronic device, characterized in that, include: Memory, used to store one or more programs; processor; When the one or more programs are executed by the processor, the method as described in any one of claims 1-6 is implemented.
Citation Information
Patent Citations
High-efficiency registration method aimed at CT and optical scanning tooth model
CN108765474A
Methods for registration of three-dimensional frames to create three-dimensional virtual models of objects
US20020006217A1