Disclosure of Invention
The embodiment of the application provides a method, a device and equipment for determining target feature points and a computer storage medium, which can accurately select the target feature points with reasonable quantity and reasonable distribution positions, and the selected target feature points can meet the configuration precision and reduce the time consumption of registration to the greatest extent.
In a first aspect, an embodiment of the present application provides a method for determining a target feature point, where the method includes:
acquiring a virtual model of a target object;
selecting M characteristic points on the virtual model, and forming M groups of registration points based on the M characteristic points, wherein the M groups of registration points are in one-to-one correspondence with the M characteristic points, each group of registration points is distributed in a preset area of the characteristic points corresponding to each group of registration points, and M is a positive integer;
for each group of registration points in the M groups of registration points, determining the feature points corresponding to the groups meeting preset conditions as target feature points;
the preset conditions include: the first registration accuracy between the first registration point cloud and the first feature point cloud is greater than a preset threshold; for each group of registration points in the M groups of registration points, the first registration point cloud is a point cloud obtained from the remaining groups of registration points except the group of registration points in the M groups of registration points, and the first feature point cloud is a point cloud composed of feature points corresponding to the remaining groups of registration points.
In some embodiments, before determining that the feature point corresponding to the group meeting the preset condition is the target feature point, the method may further include:
calculating second registration accuracy of the second registration point cloud and the second characteristic point cloud; the second registration point cloud is a point cloud consisting of registration points selected from the M groups of registration points, and the second characteristic point cloud is a point cloud consisting of the M characteristic points;
and taking the second registration accuracy as the preset reference value.
In some embodiments, when a plurality of registration points are included in each group, the calculating a second registration accuracy of the second registration point cloud and the second feature point cloud may include:
s11: selecting one registration point from each group of registration points in the M groups of registration points to obtain a second sub-registration point cloud containing M registration points;
s12: calculating a second sub-registration accuracy of the second sub-registration point cloud and the second feature point cloud;
s13: performing S11 and S12 a preset number of times, obtaining a plurality of second sub-registration accuracies, calculating a first average of the plurality of second sub-registration accuracies, and regarding the first average as the second registration accuracy;
wherein at least one registration point is different between different second sub-registration point clouds.
In some embodiments, prior to the calculating the second registration accuracy of the second registration point cloud and the second feature point cloud, the method may further comprise:
selecting Z characteristic points on the virtual model, and forming Z group registration points based on the Z characteristic points, wherein the Z group registration points correspond to the Z characteristic points one by one, each group of registration points are distributed in a preset area of the corresponding characteristic points, and Z is smaller than M and is a positive integer;
the calculating of the second registration accuracy of the second registration point cloud and the second feature point cloud specifically includes:
calculating second registration accuracy of the second registration point cloud and the second characteristic point cloud according to a registration result of the third registration point cloud and the third characteristic point cloud;
the third registration point cloud is a point cloud consisting of registration points selected from the Z groups of registration points, and the third feature point cloud is a point cloud consisting of the Z feature points.
In some embodiments, the calculating a second registration accuracy of the second registration point cloud and the second feature point cloud according to the registration result of the third registration point cloud and the third feature point cloud may include:
s20: selecting an alignment point from each group of alignment points in the Z groups of alignment points to obtain a third sub-alignment point cloud containing Z alignment points, and aligning the third sub-alignment point cloud with the third feature point cloud to obtain a first alignment result;
s21: selecting one registration point from each group of registration points in the M groups of registration points to obtain a second sub-registration point cloud containing M registration points;
s22: calculating second sub-registration accuracy of the second sub-registration point cloud and the second feature point cloud according to the first registration result;
s23: performing S20 to S22 a preset number of times, obtaining a plurality of the second sub-registration accuracies, and calculating a first mean value of the plurality of the second sub-registration accuracies, and taking the first mean value as the second registration accuracy;
wherein at least one registration point is different between different second sub-registration point clouds.
In some embodiments, for each of the M sets of registration points, determining feature points corresponding to a set that meets a preset condition as target feature points specifically includes:
for each of the M sets of registration points, calculating the first registration accuracy between the first registration point cloud and the first feature point cloud;
and taking the characteristic point corresponding to the group with the first registration accuracy greater than the preset threshold value as the target characteristic point.
In some embodiments, said calculating said first registration accuracy between said first registration point cloud and said first feature point cloud for each of said M sets of registration points comprises:
s31: selecting one registration point from each group of registration points in the remaining groups of registration points to obtain a first sub-registration point cloud containing m registration points; m represents the number of the feature points corresponding to the remaining group of alignment points, and m is a positive integer;
s32: calculating a first sub-registration accuracy of the first sub-registration point cloud and the first feature point cloud;
s33: performing S31 and S32 a preset number of times, obtaining a plurality of first sub-registration accuracies, calculating a second average value of the plurality of first sub-registration accuracies, and regarding the second average value as the first registration accuracy;
wherein at least one registration point is different between different first sub-registration point clouds.
In some embodiments, the selecting M feature points on the virtual model and forming M groups of alignment points based on the M feature points may include:
and when the second registration accuracy is smaller than the preset registration accuracy, re-selecting M characteristic points on the virtual model, and forming M groups of alignment points based on the M characteristic points.
In some embodiments, the method may further comprise:
and sending information containing the target characteristic points to target equipment so that the target equipment can display the number of the target characteristic points and the positions of the target characteristic points on the virtual model.
In a second aspect, an embodiment of the present application provides an apparatus for determining a target feature point, where the apparatus includes:
the first acquisition module is used for acquiring a virtual model of a target object;
a first generation module, configured to select M feature points on the virtual model, and form M sets of registration points based on the M feature points, where the M sets of registration points are in one-to-one correspondence with the M feature points, each set of registration points is distributed in a preset region of a feature point corresponding to each set of registration points, and M is a positive integer;
the first determining module is used for determining the feature points corresponding to the groups meeting the preset conditions as target feature points for each group of registration points in the M groups of registration points;
the preset conditions include: the first registration accuracy between the first registration point cloud and the first feature point cloud is greater than a preset threshold; for each group of registration points in the M groups of registration points, the first registration point cloud is a point cloud obtained from the remaining groups of registration points except the group of registration points in the M groups of registration points, and the first feature point cloud is a point cloud composed of feature points corresponding to the remaining groups of registration points.
In a third aspect, an embodiment of the present application provides an electronic device, where the electronic device includes: a processor, a memory and a computer program stored on the memory and executable on the processor, the computer program, when executed by the processor, implementing the steps of the method of determining target feature points as set forth in any one of the embodiments of the first aspect.
In a fourth aspect, the present application provides a computer storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the steps of the method for determining a target feature point according to any one of the embodiments in the first aspect.
According to the method, the device, the equipment and the computer storage medium for determining the feature points, firstly, a virtual model of a target object is obtained; then M characteristic points are selected on the virtual model, M groups of registration points are formed, the M groups of registration points correspond to the M characteristic points one by one, and each group of registration points are distributed in a preset area of the corresponding characteristic points; next, for each group of registration points in the M groups of registration points, determining the feature points corresponding to the groups meeting the preset conditions as target feature points; the preset conditions include: the first registration accuracy between the first registration point cloud and the first feature point cloud is greater than a preset threshold; for each group of registration points in the M groups of registration points, the first registration point cloud is a point cloud obtained by the remaining groups of registration points except the group of registration points in the M groups of registration points, and the first characteristic point cloud is a point cloud consisting of characteristic points corresponding to the remaining groups of registration points. Therefore, the feature points with small influence on the registration accuracy are screened out, and the feature points with large influence on the registration accuracy are reserved as the target feature points, so that the selected target feature points can meet the configuration accuracy and reduce the number of the feature points required by configuration to the maximum extent, and the time consumption of registration is reduced to the maximum extent.
Detailed Description
Features of various aspects and exemplary embodiments of the present application will be described in detail below, and in order to make objects, technical solutions and advantages of the present application more apparent, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are intended to be illustrative only and are not intended to be limiting. It will be apparent to one skilled in the art that the present application may be practiced without some of these specific details. The following description of the embodiments is merely intended to provide a better understanding of the present application by illustrating examples thereof.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
In addition to the problems described in the background section, the inventors of the present application have found that, since organs or tissues such as human bones have individual differences, the optimal spatial point selection range and the number of selected points for each person have certain individual differences. If the feature points are acquired by adopting the unified standard, different people can have different registration results, and finally the registration fails. As another way, for different people, if a 3D printing method is used for preoperative simulation, on one hand, time and material costs are increased, and importantly, a method of manually performing trial and error needs to consume a very large amount of work (labor and time costs), and cannot meet actual requirements.
Therefore, how to accurately select the feature points with reasonable quantity and reasonable distribution positions for different target objects is a technical problem which needs to be solved urgently in the field.
On the basis of the discovery of the above technical problems, the inventors of the present application first propose a preliminary concept to solve the above technical problems, which is specifically as follows:
for example, a virtual model for the target object is first created preoperatively, wherein the virtual model may include, for example, a digital three-dimensional model of the target object created by preoperative CT images or magnetic resonance images MRI. Next, some feature points may be preliminarily selected on the virtual model surface, and in order to ensure accuracy, it is preferable that these feature points are distributed on the virtual model surface as uniformly as possible. Then, extracting point clouds formed by the characteristic points, performing registration attempt on the point clouds and the virtual model, and recording registration precision; the relative position relation between the point cloud before registration and the virtual model can be set randomly or can simulate the possible relative position relation in the actual operation. And if the registration accuracy does not meet the registration requirement, increasing the feature points or changing the distribution of the feature points, reconstructing the point cloud and registering until the point cloud meets the requirement.
The registration process is registration between the point cloud consisting of the characteristic points selected from the surface of the virtual model and the virtual model, does not relate to real organs or tissues of a human body, and therefore registration verification can be performed before operation.
Theoretically, some of these feature points are important to the registration accuracy, and some feature points are less important to the registration accuracy. After excluding the points that are not important to the registration accuracy, the remaining feature points are the necessary feature points. The elimination method may be, for example, removing a feature point from the point cloud, registering the point cloud with the removed feature point with the virtual model, and comparing the accuracy of the registration with the preset reference accuracy. If the comparison result is very small, the characteristic point has little influence on the registration accuracy, and the characteristic point can be determined to be an unnecessary characteristic point. And then removing a characteristic point from the point cloud, carrying out primary registration on the point cloud and the three-dimensional model, comparing the precision of the registration with the preset reference precision, and judging whether the characteristic point is necessary.
If the comparison result is larger, the characteristic point has larger influence on the registration precision and is reserved. And then, a characteristic point can be replaced from the point cloud to be removed, the point cloud and the virtual model are subjected to registration again, the registration precision is compared with the preset reference precision, and whether the characteristic point is necessary is judged.
Through the operation, each feature point is equivalently tested once and the influence degree of each feature point on the registration accuracy is determined, and after the feature points with small influence degrees are eliminated, the residual feature points are the necessary feature points for ensuring the registration accuracy. The distribution positions of the characteristic points on the virtual model are visible, and in the process of surgical registration, the visible characteristic point distribution information can be presented to a user, and the user can select the characteristic points on the real organs or tissues of the human body to perform registration operation according to the information. Thus, unnecessary clicking operation can be reduced, and the workload and the operation time can be reduced.
Based on the preliminary idea, the inventor of the present application finds that, in the surgical registration process, when a user selects a feature point on a real organ or tissue of a human body, for example, a probe with a tracer is used to click on the real organ or tissue of the human body, and an actual position of the click deviates from a theoretical position of the desired click, such as a deviation between an upper position and a lower position, a left position and a right position, and a deviation between different depths of force. Therefore, the verification process of whether the feature point selection is reasonable in the above preliminary concept does not simulate the actual situation well.
In order to enable the selected feature points to better adapt to actual situations, based on the preliminary concept, the embodiment of the application provides a method, a device, equipment and a computer storage medium for determining target feature points.
The technical idea of the embodiment of the application is as follows: selecting a plurality of feature points on a virtual model, respectively generating a set of registration points around each feature point, simulating the feature points selected by a user in real organs or tissues of a human body in actual operation by using the generated registration points, then registering a registration point cloud consisting of the registration points with the virtual model (actually registering the registration points and the feature point cloud on the virtual model), screening out the feature points with less influence on registration precision by comparing registration accuracy, and reserving the feature points with greater influence on registration precision as target feature points, so that the selected target feature points can meet the configuration precision and simultaneously reduce the number of the feature points required by configuration to the maximum extent, thereby reducing the time consumption of registration to the maximum extent.
First, a method for determining the feature points provided in the embodiments of the present application will be described below.
Fig. 1 is a schematic flowchart of a method for determining a target feature point according to an embodiment of the present application. As shown in fig. 1, the method may include the steps of:
s101, acquiring a virtual model of the target object.
In some embodiments, the target object may comprise, for example, a real organ or tissue, such as a femur. The virtual model may comprise, for example, a digital three-dimensional model generated based on a real organ or tissue.
As an example, in S101, structural information of the target object may be acquired, for example, by the target imaging device; then, a virtual model is constructed based on the acquired structural information of the target object. The target Imaging device may include, for example, at least one of a Positron Emission Tomography (PET) device, a Computed Tomography (CT) device, and a Magnetic Resonance Imaging (MRT) device.
Specifically, an image of the real organ or tissue may be acquired by, for example, a PET machine, a CT machine, and/or an MRT machine, and then a digital three-dimensional model of the real organ or tissue may be created from the acquired image.
S102, M characteristic points are selected on the virtual model, and M groups of alignment points are formed based on the M characteristic points.
In the embodiment of the application, M groups of registration points correspond to M feature points one to one, each group of registration points is distributed in a preset area of the feature point corresponding to each group of registration points, and M is a positive integer.
The number of M may be flexibly adjusted according to actual conditions, and the present application is not limited thereto. However, it should be noted that, in order to ensure the accuracy of the finally determined target feature points, the number of M is not too small, and preferably, M feature points are selected to be distributed on the virtual model surface as uniformly as possible. In some embodiments, the number of M is, for example, 40.
As an example, in S102, for example, a user may select M feature points on a virtual model displayed on the electronic device by using a mouse cursor, and then the electronic device receives the M feature points selected by the user. After M feature points selected by a user are received, a group of alignment points is generated corresponding to each feature point according to a preset rule, namely M groups of alignment points are generated. Wherein each set of registration points comprises at least one registration point.
It is considered that in practice the actual position of the feature points that the user clicks on the real organ or tissue deviates from the theoretical position that one wants to click on. When the probe is used for selecting points on the surface of the knee joint cartilage in an actual operation, the actual positions selected are randomly distributed around the expected position points, so that not only the position deviation in front, back, left and right, but also the deviation of the depth of the cartilage due to uneven force can be caused. Thus, the actual positions of the points when manually selected may be distributed in three-dimensional space, rather than just on the bone surface.
Therefore, in order to better conform to the actual situation and ensure the accuracy of the finally determined target feature point, in some embodiments, the predetermined rule may be: the distribution range of each group of registration points is in a virtual spherical space with the characteristic point as the center, and the registration points are randomly distributed in the virtual spherical space. The virtual spherical space has a predetermined radius, for example, 2mm, and the size of the radius can be flexibly adjusted according to the actual situation, which is not limited in the present application. In some alternative embodiments, the range of distribution for each set of registration points is a virtual flat pie space centered on the feature points, since the deviation in the depth direction at the time of selection is generally smaller than the deviation around the bone surface.
And S103, for each group of registration points in the M groups of registration points, determining the feature points corresponding to the groups meeting the preset conditions as target feature points.
In the embodiment of the present application, the preset conditions include: a first registration accuracy between the first registration point cloud and the first feature point cloud is greater than a preset threshold. For each group of registration points in the M groups of registration points, the first registration point cloud is obtained from the remaining groups of registration points except the group of registration points in the M groups of registration points, and the first characteristic point cloud is formed by characteristic points corresponding to the remaining groups of registration points.
It is easily understood that in S103, for each group of alignment points in the M groups of alignment points, how accurate the registration between the remaining groups of alignment points other than the group of alignment points and the feature points corresponding thereto is if this group is excluded is calculated so as to determine the importance of the feature points corresponding to each group of registration points.
In some embodiments, registration accuracy may be understood as the ratio of the number of coincident points in two point clouds to the total number of all points in any one point cloud, which may be a percentage, for example, when the optimal match under the target metric criterion is met between the two point clouds.
In particular, for each set of M sets of registration points, S103 may comprise the steps of:
s1031, calculating a first registration accuracy between the first registration point cloud and the first feature point cloud for each group of registration points in the M groups of registration points;
and S1032, taking the characteristic point corresponding to the group with the first registration accuracy degree larger than the preset threshold value as a target characteristic point.
S1031 may specifically include the following steps:
s31: for each set of registration points in the M sets of registration points, one registration point is selected from each set of registration points in the remaining sets of registration points (hereinafter referred to as remaining sets of registration points) of the M sets of registration points excluding the set of registration points, to obtain a first sub-registration point cloud including M registration points. Wherein m represents the number of feature points corresponding to the remaining sets of alignment points, and m is a positive integer.
For ease of understanding, the remaining sets of registration points are illustrated as including 10 sets and 10 registration points for each set. For example, each time, one registration point is randomly selected from each set of registration points in the remaining sets of registration points, there are 10 sets of registration points, 10 registration points are obtained each time, and the 10 registration points constitute a registration point cloud, which is labeled as a first sub-registration point cloud for easy distinction.
S32: and calculating first sub-registration accuracy of the first sub-registration point cloud and the first characteristic point cloud.
Wherein, for each group of the M groups of the alignment points, the first feature point cloud is a point cloud consisting of the feature points corresponding to the remaining groups of the M groups of the alignment points except the group of the alignment points, and comprises M feature points. In S32, the first sub-registration point cloud and the first feature point cloud are registered to obtain registration accuracy, which is referred to as first sub-registration accuracy for easy distinction.
S33, performing S31 and S32 a preset number of times, obtaining a plurality of first sub-registration accuracies, and calculating a mean value of the plurality of first sub-registration accuracies, wherein for convenience of distinction, the mean value of the plurality of first sub-registration accuracies is referred to as a second mean value, and the second mean value is referred to as the first registration accuracy.
It is easily understood that, each time S31 and S32 is performed once to obtain a first sub-registration accuracy, then S31 and S32 are performed n times to obtain n first sub-registration accuracies, where n represents a preset number of times. The average of these n first sub-registration accuracies is then calculated, and for ease of distinction, noted as the second average. And finally, taking the calculated second average value as the first registration accuracy.
And S1032, taking the characteristic point corresponding to the group with the first registration accuracy degree larger than the preset threshold value as a target characteristic point.
Specifically, a first registration accuracy corresponding to each of the M sets of alignment points is obtained through S1031, for example, if M is 40, then 40 first registration accuracies are obtained. And then judging whether the difference value between the first registration accuracy corresponding to each group of registration points and a preset reference value is greater than a preset threshold value. And finally, determining the characteristic point corresponding to the group with the difference value between the first registration accuracy and the preset reference value larger than the preset threshold value as the target characteristic point.
It is easy to understand that, for each group of alignment points in the M groups of alignment points, if the calculated registration accuracy between the remaining group of registration points other than the group and the feature points corresponding to the remaining group of alignment points is smaller than the preset reference value, which indicates that the feature points corresponding to the group have smaller influence on the registration accuracy or registration precision, the feature points corresponding to the group can be excluded. On the contrary, if the calculated registration accuracy of the remaining group registration points other than the group and the feature points corresponding to the remaining group registration points is greatly different from the preset reference value, it indicates that the feature points corresponding to the group have a large influence on the registration accuracy or registration precision, and the feature points corresponding to the group need to be retained.
In some embodiments, the preset reference value may be, for example, a second registration accuracy of a second registration point cloud and a second feature point cloud, where the second registration point cloud is a point cloud composed of registration points selected from the M sets of registration points, and the second feature point cloud is a point cloud composed of M feature points.
Specifically, before S103, the method for determining the target feature point provided in the embodiment of the present application may further include the following steps:
calculating second registration accuracy of the second registration point cloud and the second characteristic point cloud;
and taking the second registration accuracy as a preset reference value.
In some embodiments, calculating the second registration accuracy of the second registration point cloud and the second feature point cloud specifically comprises the following steps:
s11: selecting one registration point from each group of registration points in the M groups of registration points to obtain a second sub-registration point cloud containing M registration points;
s12: calculating second sub-registration accuracy of the second sub-registration point cloud and the second characteristic point cloud;
s13: performing S11 and S12 a preset number of times, obtaining a plurality of second sub-registration accuracies, and calculating a first mean value of the plurality of second sub-registration accuracies, and regarding the first mean value as the second registration accuracy.
It should be noted that at least one registration point differs between different second sub-registration point clouds, that is, at least one registration point differs between the second sub-registration point cloud composed of the currently selected registration points and the second sub-registration point cloud composed of the other registration points selected at the time S11 each time S11 is executed. For example, each time the registration points are randomly selected from each group of registration points, the probability that the registration points are exactly the same for each selection is very small.
It should be noted that S11, S12, and S13 are similar to the processes of S31, S32, and S33, respectively, and for brevity, will not be described in detail herein.
The registration process or objective is to find a rotation parameter R and a translation parameter T between the registration point cloud and the feature point cloud in the space, so that the two point clouds satisfy an optimal match under a certain metric criterion. Since the number of M is not too small, if a large number of registration points and feature points are directly registered, the calculation amount is large and the time is long under the condition that the corresponding relationship between the registration point cloud and the feature point cloud is unclear.
Therefore, in order to reduce the calculation amount and the calculation time, before calculating the second registration accuracy of the second registration point cloud and the second feature point cloud, the method for determining the target feature point provided by the embodiment of the present application may further include the following steps:
z characteristic points are selected on the virtual model, Z group registration points are formed based on the Z characteristic points, the Z group registration points correspond to the Z characteristic points one by one, each group of registration points are distributed in a preset area of the corresponding characteristic points, and Z is smaller than M and is a positive integer.
This step is similar to the process of S102. As an example, in this step, for example, the user may select Z feature points on the virtual model displayed on the electronic device by using a mouse cursor, and then the electronic device receives the Z feature points selected by the user. After Z feature points selected by a user are received, generating a set of alignment points corresponding to each feature point according to a preset rule, namely generating Z sets of alignment points. Wherein each set of registration points comprises at least one registration point.
Here, the number of Z is less than M. In some embodiments, for example, the number of Z is 5, and the specific number can be flexibly adjusted according to the actual situation, and the application is not limited thereto.
When calculating the second registration accuracy of the second registration point cloud and the second feature point cloud, the second registration accuracy of the second registration point cloud and the second feature point cloud may be specifically calculated according to the registration result of the third registration point cloud and the third feature point cloud. The third registration point cloud is formed by registration points selected from the Z groups of registration points, and the third characteristic point cloud is formed by Z characteristic points.
In some embodiments, calculating a second registration accuracy of the second registration point cloud and the second feature point cloud according to a registration result of the third registration point cloud and the third feature point cloud may specifically include:
s20: and selecting one registration point from each group of registration points in the Z groups of registration points to obtain a third sub-registration point cloud containing the Z registration points, and registering the third sub-registration point cloud and the third feature point cloud to obtain a first registration result.
Specifically, for example, the point-to-point registration algorithm may be used to register the third sub-registration point cloud and the third feature point cloud, so as to register the point cloud composed of a smaller number of registration points and the point cloud composed of a smaller number of feature points, thereby obtaining the initial rotation parameter R and the initial translation parameter T.
S21: and selecting one registration point from each group of registration points in the M groups of registration points to obtain a second sub-registration point cloud containing M registration points.
S22: and calculating second sub-registration accuracy of the second sub-registration point cloud and the second feature point cloud according to the first registration result.
After the initial rotation parameter R and the initial translation parameter T are obtained in S20, when the second sub-registration point cloud and the second feature point cloud are registered, the second sub-registration point cloud and the second feature point cloud can be registered on the basis of the initial rotation parameter R and the initial translation parameter T, so that the calculation time and the calculation amount required for registration can be greatly reduced.
S23: performing S20 to S22 a preset number of times, obtaining a plurality of second sub-registration accuracies, and calculating a first mean value of the plurality of second sub-registration accuracies, and regarding the first mean value as the second registration accuracy.
It should be noted that at least one registration point differs between different second sub-registration point clouds, that is, at least one registration point differs between the second sub-registration point cloud composed of the currently selected registration points and the second sub-registration point cloud composed of the other registration points selected at the time S11 each time S11 is executed.
It should be noted that S21, S22, and S23 are similar to the processes of S11, S12, and S13, respectively, and for brevity, will not be described in detail herein. Here, it should be further noted that, when calculating the first registration accuracy between the first registration point cloud and the first feature point cloud, the registration may also be performed on the basis of the initial rotation parameter R and the initial translation parameter T, so as to greatly reduce the calculation time and the calculation amount required for the registration.
In order to facilitate a user to know information of a target feature point, in some embodiments, the method for determining a target feature point provided in this embodiment may further include the following steps:
and sending information containing the target characteristic points to the target equipment so that the target equipment can display the number of the target characteristic points and the positions of the target characteristic points on the virtual model.
The target device may include, for example, an electronic device that a physician can view during a surgical procedure. And displaying the number of the target characteristic points and the positions of the target characteristic points on the virtual model on the electronic equipment to provide reference for the doctor in the operation process.
To ensure that the finally determined target feature points can achieve the desired registration accuracy, or registration accuracy, in some embodiments, if the second registration accuracy does not achieve the desired registration accuracy, or registration accuracy, the number of M and/or the location of the feature points may be changed until the second registration accuracy achieves the desired registration accuracy. Specifically, in S102, for example, when the second registration accuracy is less than the preset registration accuracy, M feature points are reselected on the virtual model, and M groups of alignment points are formed based on the M feature points.
Therefore, the feature points with small influence on the registration accuracy are screened out, and the feature points with large influence on the registration accuracy are reserved as the target feature points.
Based on the determination method of the target feature point provided in the foregoing embodiment, correspondingly, the present application also provides a specific implementation manner of the determination device of the target feature point. Please see the examples below.
Referring to fig. 2, the apparatus 200 for determining a target feature point provided in the embodiment of the present application may include the following modules:
a first obtaining module 201, configured to obtain a virtual model of a target object;
the first generation module 202 is configured to select M feature points on the virtual model, and form M sets of registration points based on the M feature points, where the M sets of registration points correspond to the M feature points one to one, each set of registration points is distributed in a preset region of the feature point corresponding to each set of registration points, and M is a positive integer;
a first determining module 203, configured to determine, for each group of registration points in the M groups of registration points, a feature point corresponding to a group that meets a preset condition as a target feature point;
the preset conditions include: the first registration accuracy between the first registration point cloud and the first feature point cloud is greater than a preset threshold; for each group of registration points in the M groups of registration points, the first registration point cloud is obtained from the remaining groups of registration points except the group of registration points in the M groups of registration points, and the first characteristic point cloud is formed by characteristic points corresponding to the remaining groups of registration points.
In the determination device of the feature point in the embodiment of the application, the first obtaining module is configured to obtain a virtual model of a target object; the first generation module is used for selecting M characteristic points on the virtual model and forming M groups of registration points, wherein the M groups of registration points correspond to the M characteristic points one by one, and each group of registration points is distributed in a preset area of the corresponding characteristic points; the first determining module is used for determining the characteristic points corresponding to the groups meeting the preset conditions as target characteristic points for each group of registration points in the M groups of registration points; the preset conditions include: the first registration accuracy between the first registration point cloud and the first feature point cloud is greater than a preset threshold; for each group of registration points in the M groups of registration points, the first registration point cloud is obtained from the remaining groups of registration points except the group of registration points in the M groups of registration points, and the first characteristic point cloud is formed by characteristic points corresponding to the remaining groups of registration points. Therefore, the feature points with small influence on the registration accuracy are screened out, and the feature points with large influence on the registration accuracy are reserved as the target feature points, so that the selected target feature points can meet the configuration accuracy and reduce the number of the feature points required by configuration to the maximum extent, and the time consumption of registration is reduced to the maximum extent.
In some embodiments, the first obtaining module 201 is specifically configured to: acquiring structural information of a target object through a target imaging device; and constructing a virtual model based on the structural information.
In some embodiments, the apparatus 200 for determining a target feature point provided in this embodiment may further include a preprocessing module, configured to calculate a second registration accuracy of the second registration point cloud and the second feature point cloud; the second registration point cloud is formed by registration points selected from the M groups of registration points, and the second characteristic point cloud is formed by M characteristic points; and taking the second registration accuracy as a preset reference value.
In some embodiments, the preprocessing module is specifically configured to perform the following steps:
s11: selecting one registration point from each group of registration points in the M groups of registration points to obtain a second sub-registration point cloud containing M registration points;
s12: calculating second sub-registration accuracy of the second sub-registration point cloud and the second characteristic point cloud;
s13: performing S11 and S12 a preset number of times to obtain a plurality of second sub-registration accuracies, and calculating a first mean value of the plurality of second sub-registration accuracies, and taking the first mean value as the second registration accuracy;
wherein at least one registration point is different between different second sub-registration point clouds.
In some embodiments, the apparatus 200 for determining a target feature point provided in this embodiment of the present application may further include a second generating module, where the second generating module is configured to select Z feature points on the virtual model, and form Z sets of alignment points based on the Z feature points, where the Z sets of alignment points are in one-to-one correspondence with the Z feature points, and each set of alignment points is distributed in a preset area of the feature point corresponding to each set of alignment points, and Z is smaller than M and is a positive integer. The preprocessing module is specifically configured to: calculating second registration accuracy of the second registration point cloud and the second characteristic point cloud according to a registration result of the third registration point cloud and the third characteristic point cloud; the third registration point cloud is formed by registration points selected from the Z groups of registration points, and the third characteristic point cloud is formed by Z characteristic points.
In some embodiments, the preprocessing module is specifically configured to perform the following steps:
s20: selecting an alignment point from each group of alignment points in the Z groups of alignment points to obtain a third sub-alignment point cloud containing Z alignment points, and aligning the third sub-alignment point cloud with the third feature point cloud to obtain a first alignment result;
s21: selecting one registration point from each group of registration points in the M groups of registration points to obtain a second sub-registration point cloud containing M registration points;
s22: calculating second sub-registration accuracy of the second sub-registration point cloud and the second feature point cloud according to the first registration result;
s23: performing S20 to S22 a preset number of times to obtain a plurality of second sub-registration accuracies, and calculating a first mean value of the plurality of second sub-registration accuracies, and taking the first mean value as the second registration accuracy;
wherein at least one registration point is different between different second sub-registration point clouds.
In some embodiments, the first determining module 203 is specifically configured to: for each set of registration points in the M sets of registration points, calculating a first registration accuracy between the first registration point cloud and the first feature point cloud; and taking the characteristic point corresponding to the group with the first registration accuracy greater than the preset threshold value as the target characteristic point.
In some embodiments, the first determining module 203 is specifically configured to perform the following steps:
s31: for each group of registration points in the M groups of registration points, selecting one registration point from each group of registration points in the remaining groups of registration points except the group of registration points in the M groups of registration points to obtain a first sub-registration point cloud containing M registration points; m represents the number of the feature points corresponding to the remaining group of alignment points, and m is a positive integer;
s32: calculating first sub-registration accuracy of the first sub-registration point cloud and the first characteristic point cloud;
s33: performing S31 and S32 a preset number of times to obtain a plurality of first sub-registration accuracies, and calculating a second average value of the plurality of first sub-registration accuracies, and taking the second average value as the first registration accuracy;
wherein at least one registration point is different between different first sub-registration point clouds.
In some embodiments, the first generation module 202 is specifically configured to: and when the second registration accuracy is smaller than the preset registration accuracy, re-selecting M characteristic points on the virtual model, and forming M groups of alignment points based on the M characteristic points.
In some embodiments, the apparatus 200 for determining a target feature point provided in this embodiment of the present application may further include a sending module, where the sending module is configured to: and sending information containing the target characteristic points to the target equipment so that the target equipment can display the number of the target characteristic points and the positions of the target characteristic points on the virtual model.
Each module/unit in the apparatus shown in fig. 2 has a function of implementing each step in fig. 1, and can achieve the corresponding technical effect, and for brevity, the description is not repeated here.
Based on the determination method of the target feature point provided by the above embodiment, correspondingly, the application further provides a specific implementation manner of the electronic device. Please see the examples below.
Fig. 3 is a schematic hardware structure diagram of an electronic device according to an embodiment of the present application.
The electronic device may comprise a processor 301 and a memory 302 in which computer program instructions are stored.
Specifically, the processor 301 may include a Central Processing Unit (CPU), an Application Specific Integrated Circuit (ASIC), or one or more Integrated circuits configured to implement the embodiments of the present Application.
Memory 302 may include mass storage for data or instructions. By way of example, and not limitation, memory 302 may include a Hard Disk Drive (HDD), floppy Disk Drive, flash memory, optical Disk, magneto-optical Disk, tape, or Universal Serial Bus (USB) Drive or a combination of two or more of these. In one example, memory 302 can include removable or non-removable (or fixed) media, or memory 302 is non-volatile solid-state memory. The memory 302 may be internal or external to the integrated gateway disaster recovery device.
In one example, the Memory 302 may be a Read Only Memory (ROM). In one example, the ROM may be mask programmed ROM, programmable ROM (prom), erasable prom (eprom), electrically erasable prom (eeprom), electrically rewritable ROM (earom), or flash memory, or a combination of two or more of these.
The memory 302 may include Read Only Memory (ROM), Random Access Memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical, or other physical/tangible memory storage devices. Thus, in general, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software comprising computer-executable instructions and when the software is executed (e.g., by one or more processors), it is operable to perform operations described with reference to the methods according to an aspect of the present disclosure.
The processor 301 reads and executes the computer program instructions stored in the memory 302 to implement the methods/steps S101 to S105 in the embodiment shown in fig. 1, and achieve the corresponding technical effects achieved by the embodiment shown in fig. 1 executing the methods/steps thereof, which are not described herein again for brevity.
In one example, the electronic device may also include a communication interface 303 and a bus 310. As shown in fig. 3, the processor 301, the memory 302, and the communication interface 303 are connected via a bus 310 to complete communication therebetween.
The communication interface 303 is mainly used for implementing communication between modules, apparatuses, units and/or devices in the embodiment of the present application.
Bus 310 includes hardware, software, or both coupling the components of the online data traffic charging apparatus to one another. By way of example, and not limitation, a Bus may include an Accelerated Graphics Port (AGP) or other Graphics Bus, an Enhanced Industry Standard Architecture (EISA) Bus, a Front-Side Bus (Front Side Bus, FSB), a Hyper Transport (HT) interconnect, an Industry Standard Architecture (ISA) Bus, an infiniband interconnect, a Low Pin Count (LPC) Bus, a memory Bus, a Micro Channel Architecture (MCA) Bus, a Peripheral Component Interconnect (PCI) Bus, a PCI-Express (PCI-X) Bus, a Serial Advanced Technology Attachment (SATA) Bus, a video electronics standards association local (VLB) Bus, or other suitable Bus or a combination of two or more of these. Bus 310 may include one or more buses, where appropriate. Although specific buses are described and shown in the embodiments of the application, any suitable buses or interconnects are contemplated by the application.
In addition, in combination with the determination method of the target feature point in the foregoing embodiments, the embodiments of the present application may be implemented by providing a computer storage medium. The computer storage medium having computer program instructions stored thereon; the computer program instructions, when executed by a processor, implement the method for determining a target feature point in any of the above embodiments.
To sum up, the method, the apparatus, the device and the computer storage medium for determining feature points in the embodiments of the present application obtain a virtual model of a target object; selecting M characteristic points on the virtual model, and generating M groups of alignment points in a preset area of the M characteristic points, wherein each characteristic point corresponds to one group of alignment points; for the ith group, calculating first registration accuracy of the registration points and first feature points of the first group, wherein the first group is the rest groups except the ith group in the M groups, the first feature points are the feature points corresponding to the first group, and i and M are positive integers; when the difference value of the first registration accuracy and the preset reference value is smaller than a preset threshold value, screening out the ith group; and determining the characteristic points corresponding to the groups which are not screened out in the M groups as target characteristic points. Therefore, the feature points with small influence on the registration accuracy are screened out, and the feature points with large influence on the registration accuracy are reserved as the target feature points, so that the selected target feature points can meet the configuration accuracy and reduce the number of the feature points required by configuration to the maximum extent, and the time consumption of registration is reduced to the maximum extent.
It is to be understood that the present application is not limited to the particular arrangements and instrumentality described above and shown in the attached drawings. A detailed description of known methods is omitted herein for the sake of brevity. In the above embodiments, several specific steps are described and shown as examples. However, the method processes of the present application are not limited to the specific steps described and illustrated, and those skilled in the art can make various changes, modifications, and additions or change the order between the steps after comprehending the spirit of the present application.
The functional blocks shown in the above-described structural block diagrams may be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, it may be, for example, an electronic Circuit, an Application Specific Integrated Circuit (ASIC), suitable firmware, plug-in, function card, or the like. When implemented in software, the elements of the present application are the programs or code segments used to perform the required tasks. The program or code segments may be stored in a machine-readable medium or transmitted by a data signal carried in a carrier wave over a transmission medium or a communication link. A "machine-readable medium" may include any medium that can store or transfer information. Examples of a machine-readable medium include electronic circuits, semiconductor memory devices, ROM, flash memory, Erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, Radio Frequency (RF) links, and so forth. The code segments may be downloaded via computer networks such as the internet, intranet, etc.
It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, the present application is not limited to the order of the above-described steps, that is, the steps may be performed in the order mentioned in the embodiments, may be performed in an order different from the order in the embodiments, or may be performed simultaneously.
Aspects of the present application are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions/acts specified in the flowchart and/or block diagram block or blocks. Such a processor may be, but is not limited to, a general purpose processor, a special purpose processor, an application specific processor, or a field programmable logic circuit. It will also be understood that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware for performing the specified functions or acts, or combinations of special purpose hardware and computer instructions.
As described above, only the specific embodiments of the present application are provided, and it can be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the system, the module and the unit described above may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again. It should be understood that the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive various equivalent modifications or substitutions within the technical scope of the present application, and these modifications or substitutions should be covered within the scope of the present application.