Body structure tracer identification method, computer equipment and storage medium
By employing a depth-first search algorithm and a backtracking pruning optimization scheme, the body structure markers can be quickly and accurately identified, solving the problem of excessive computational resource consumption during body structure marker identification and meeting the real-time requirements of surgical procedures.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- YUANHUA ORTHOPAEDIC ROBOTICS (SHENZHEN) LTD
- Filing Date
- 2026-03-31
- Publication Date
- 2026-05-01
AI Technical Summary
In existing technologies, the recognition process of body structure markers is complex and consumes a lot of computing resources, making it difficult to meet the real-time requirements of surgical procedures.
A depth-first search algorithm combined with backtracking and pruning optimization schemes is adopted. By constructing a distance map between marker points and reference points, a candidate reference point queue is filtered, the optimal reference point and marker point queue are matched, and the pose matrix is calculated, thereby reducing the consumption of computational resources.
It achieves fast and accurate body structure marker recognition, meets the real-time requirements of surgical procedures, and reduces the consumption of computing resources.
Smart Images

Figure CN121943484A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of surgical navigation and positioning technology and data processing technology, and in particular relates to a body structure tracer identification method, computer equipment and storage medium. Background Technology
[0002] In surgical procedures, robot-assisted navigation technology, through 3D reconstruction and real-time tracking, can pinpoint surgical paths to the millimeter level, helping surgeons avoid critical tissues during complex surgeries such as spinal, nerve, or joint replacements, and improving the accuracy of implant placement. Mainstream navigation and positioning technologies use optical tracking, employing binocular cameras to track markers fixed to the patient, robot, or surgical instruments in real time, calculating the robot's or instrument's position relative to the patient, enabling precise manipulation by the surgeon.
[0003] Markers are generally classified into three types: planar markers, multi-faceted markers, and volumetric markers. Any type of marker includes multiple marker points (i.e., optical tracking points). Planar and multi-faceted markers have simple structures, require less sophisticated recognition algorithms, and therefore have relatively low accuracy. Volumetric markers consist of multiple coplanar or non-coplanar marker points. The recognition process maximizes the effective workspace and is unaffected by factors such as the angle of the binocular camera or whether marker points are occluded, effectively improving recognition accuracy. However, due to the relatively complex structure of volumetric markers, the requirements for recognition algorithms are also higher. Steps such as noise point filtering, marker point identification, and matching require significant computational resources, making it difficult to meet the real-time requirements of surgery and limiting the application of volumetric markers in surgical procedures. Summary of the Invention
[0004] In view of this, embodiments of this application provide a body structure tracer identification method, computer device, and storage medium to quickly and accurately identify marker points on body structure markers, reduce the computing resources required during the identification process, and meet the real-time requirements of surgical procedures.
[0005] The first aspect of this application provides a method for identifying volumetric structure tracers, including: A marker distance map is constructed based on optical tracking points on a volumetric tracer, and a reference point distance map is constructed based on optical tracking points identified by a binocular camera. Based on the marker point distance map and the reference point distance map, a candidate reference point queue is determined; The optimal reference point queue that matches the theoretical marker point queue is obtained from the candidate reference point queue, the theoretical marker point queue being generated based on the optical tracking points on the volumetric tracer; The optimal marker queue corresponding to each benchmark point in the optimal benchmark queue is obtained by searching the theoretical marker queue. Based on the optimal reference point queue and the optimal marker point queue, calculate the pose matrix of the volumetric tracer in the optical binocular camera coordinate system.
[0006] A second aspect of this application provides a volume structure tracer identification device, comprising: The distance map construction module is used to construct a marker point distance map based on optical tracking points on the volume structure tracer, and to construct a reference point distance map based on optical tracking points identified by the binocular camera; The candidate reference point queue filtering module is used to determine the candidate reference point queue based on the marker point distance map and the reference point distance map; The optimal reference point queue matching module is used to search for the optimal reference point queue that matches the theoretical marker point queue from the candidate reference point queue, wherein the theoretical marker point queue is generated based on the optical tracking points on the volume structure tracer. The optimal marker queue matching module is used to search the theoretical marker queue to obtain the optimal marker queue corresponding to each benchmark point in the optimal benchmark queue. The pose matrix calculation module is used to calculate the pose matrix of the volume structure tracer in the optical binocular camera coordinate system based on the optimal reference point queue and the optimal marker point queue.
[0007] A third aspect of this application provides a computer device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the volume structure tracer identification method as described in the first aspect above.
[0008] A fourth aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the volume structure tracer identification method as described in the first aspect above.
[0009] A fifth aspect of this application provides a computer program product that, when run on a computer, causes the computer to execute the volume structure tracer recognition method described in the first aspect.
[0010] Compared with the prior art, the embodiments of this application have the following beneficial effects: In this embodiment, the identification of volumetric structure markers is abstractly defined as a subgraph isomorphism problem of a weighted complete graph. Based on the depth-first search algorithm, and combined with optimization schemes of backtracking and pruning, matching algorithms for the reference point queue and the marker point queue are designed according to different matching features to ensure that the execution efficiency of the algorithm is maximized. On this basis, by solving the rigid transformation matrix of the matched point set and calculating the RMS error to ensure that the obtained pose matrix is the optimal result, the identification of marker points on volumetric structure markers can be performed quickly and accurately, reducing the computational resources required in the identification process and meeting the real-time requirements of surgical procedures. Attached Figure Description
[0011] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0012] Figure 1 This is a schematic diagram of a volume structure tracer identification method provided in an embodiment of this application; Figure 2 This is a schematic diagram of a volume structure tracer identification process provided in an embodiment of this application; Figure 3 This is a schematic diagram of the reference point matching process in the volume structure tracer identification process provided in this application embodiment; Figure 4 This is a schematic diagram of the marker point matching process in the volume structure tracer identification process provided in this application embodiment; Figure 5 This is a schematic diagram of a body structure tracer identification device provided in an embodiment of this application; Figure 6 This is a schematic diagram of a computer device provided in an embodiment of this application. Detailed Implementation
[0013] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.
[0014] As introduced in the background section, markers are generally divided into three types: planar markers, multi-faceted markers, and volumetric markers. Before introducing the technical solution of this application, these three types of markers will be introduced first.
[0015] 1) Planar Marker: Planar markers typically consist of 3-6 coplanar marker points. Their recognition principle involves the system capturing each marker point on the plane, calculating the relative relationship between the stereo camera and the planar marker, and obtaining the pose of the planar marker within the stereo camera system. The advantages of planar markers are their simple structure and low requirements for the recognition algorithm. The disadvantages are a smaller effective working space, as the marker is a planar structure and can only be used within a limited angle (e.g., no more than 50°) directly facing the stereo camera; otherwise, recognition accuracy will decrease. Furthermore, planar markers cannot be rotated when using surgical instruments, as rotation will prevent the marker points from being recognized by the stereo camera. When marker points within the plane are occluded, marker recognition will also fail or decrease in accuracy, thus affecting surgical precision.
[0016] 2) Multi-faceted Marker: A multi-faceted marker consists of multiple planar markers, typically 2-4 planes, with the planes forming certain angles. Each planar marker consists of 3-4 marker points. The recognition principle of a multi-faceted marker is that the system captures each marker point on each plane, calculates the relative relationship between the stereo camera and each plane, and obtains the pose of each planar marker under the stereo camera system. Furthermore, the system can simultaneously calculate the root mean square (RMS) error of each successfully recognized planar marker, and select the planar marker with the smallest error as the pose of the multi-faceted marker under the stereo camera system. The advantages of multi-faceted markers include simple structure, lower requirements for the recognition algorithm, increased effective working space, and the ability to replace an occluded planar marker with another. However, since the recognition logic of a multi-faceted marker is still based on planar markers, it is still limited by the facing angle of the stereo camera, and the marker points of each planar marker are still indispensable; losing a marker point on a plane will result in the loss of recognition for that plane, and the recognition of other marker points on the plane will also waste system computational resources.
[0017] 3) Body Structure Marker: Volumetric structure markers typically consist of multiple coplanar or non-coplanar marker points. Taking a non-coplanar volumetric structure marker as an example, a cylindrical marker with 10-20 non-coplanar marker points can form a structure resembling a 360° enclosure. The recognition principle of volumetric structure markers is that the system captures as many marker points as possible on the marker, uses a recognition algorithm to filter and sort these marker points, calculates the relative relationship between the stereo camera and some marker points on the volumetric structure marker, and obtains the pose of the volumetric structure marker under the stereo camera system. The advantages of using volumetric structure markers include maximizing the effective workspace, not being limited by the stereo camera's facing angle, and not affecting the overall marker recognition even when some marker points are occluded. However, volumetric structure markers have disadvantages such as structural complexity and high requirements for the recognition algorithm.
[0018] In actual surgical procedures, some surgical instruments are simple and easy to use, requiring no rotation, and their marker points are not easily obscured once the surgeon becomes proficient. In such cases, planar markers are one of the better solutions. In other surgeries, some surgical instruments are complex and require rotational maneuvers. If the surgeon is unlikely to obscure some marker points during the procedure, a multi-faceted marker approach can be used. However, this is not the optimal solution because some points on each plane of the multi-faceted marker may be obscured, and it is also susceptible to limitations imposed by the angle of the binocular camera. Therefore, using volumetric markers becomes a better solution, effectively addressing the aforementioned problems associated with planar and multi-faceted markers. However, volumetric markers introduce other challenges. For example, identifying individual marker points on a volumetric marker is complex and requires significant computational resources, making it difficult to achieve the required refresh rate for real-time surgical operations.
[0019] To address the aforementioned issues, this application provides a method, computer device, and storage medium for identifying volumetric structure tracers. This method effectively filters out noise points, rapidly identifies marker points on volumetric structure markers, and accurately matches the volumetric structure markers. The identification method provided in this application requires relatively few computational resources and its algorithm is robust and reliable, enabling the system's identification refresh rate to meet the real-time requirements of surgery.
[0020] The technical solution of this application will be described below through specific embodiments.
[0021] Reference Figure 1 The diagram illustrates a volume structure tracer identification method provided in an embodiment of this application, which may specifically include the following steps: S101. Construct a marker point distance map based on optical tracking points on the volumetric tracer, and construct a reference point distance map based on optical tracking points identified by the binocular camera.
[0022] It should be noted that the embodiments of this application can be applied to computer devices, that is, the executing subject of this method is a computer device. The computer device can quickly and accurately identify marker points on the body structure marker by executing the various steps of this method. The aforementioned computer device can be a desktop computer, a cloud server, or other devices; the embodiments of this application do not limit the type of computer device. For example, the computer device implementing this method can be a computer-aided medical device in a surgical setting, which can apply this method to identify marker points on the body structure marker during navigation and positioning.
[0023] In this embodiment, the volumetric structure marker may include multiple marker points, each of which is an optical tracking point. The binocular optical camera can track the marker points on the volumetric structure marker to obtain the corresponding tracking results. For ease of distinction, in the description of this embodiment, the optical tracking points on the volumetric structure marker are referred to as marker points, and the results obtained by the binocular optical camera tracking these optical tracking points are referred to as reference points.
[0024] The computer device can construct a marker distance map based on markers on the body structure marker and a reference point distance map based on optical tracking points captured by the binocular camera. During surgery, the binocular camera can capture all or some of the markers; therefore, when constructing the reference point distance map, the computer device only needs to construct the distance map for each captured point. The marker distance map can be constructed from all markers on the body structure marker.
[0025] Specifically, computer equipment can construct a marker distance map based on the theoretical positions of each marker point determined during the hardware design process of the volumetric marker; it can also construct a reference point distance map based on the positions of each reference point captured by an optical binocular camera.
[0026] Both the marker point distance map and the reference point distance map include multiple point distances, each consisting of two points and the distance between them. For example, in the marker point distance map, any point distance includes two marker points and the distance between them; in the reference point distance map, any point distance includes two reference points and the distance between them.
[0027] For any distance graph, the distances between points are related to the number of points. For example, if there are N points, the distance graph constructed based on these N points will contain N(N-1) / 2 distances between points.
[0028] In one possible implementation of this application embodiment, after constructing the reference point distance map, the computer device can further select noisy reference points by setting a maximum distance threshold, and remove points with excessively large distances from the reference point distance map, thereby quickly filtering out irrelevant noise points. The aforementioned maximum distance threshold can be determined based on the maximum point distance in the volume structure Marker.
[0029] S102. Determine the candidate reference point queue based on the marker point distance map and the reference point distance map.
[0030] In this embodiment of the application, the reference points included in each point distance in the reference point distance map can be further filtered to determine the reference points that have a high probability of belonging to the volume structure marker. The reference points obtained from the above filtering can form a candidate reference point queue.
[0031] In this embodiment of the application, a candidate reference point queue can be obtained by setting a distance threshold based on the already constructed marker point distance map and reference point distance map.
[0032] Specifically, the computing device can set a distance threshold, which can be based on the error of the reference point captured by the optical binocular camera. For example, the distance threshold can be set as a multiple of the error of the reference point captured by the optical binocular camera, such as twice the original value. For instance, assuming that the error range of the reference point captured by a binocular camera A is 0.3 mm, the distance threshold can be set to 0.6 mm; similarly, assuming that the error range of the reference point captured by a binocular camera B is 0.6 mm, the distance threshold can be set to 1.2 mm. The errors of the reference points captured by different optical binocular cameras are not entirely consistent.
[0033] Then, the computer device can traverse the distances between each point in the marker point distance map, recording the point distances in the reference point distance map whose difference between the distance value and the current point distance in the marker point distance map is less than the aforementioned distance threshold, forming a point distance set. For example, for a point distance A in the marker point distance map, point distance A can be compared with a point distance B in the reference point distance map. Here, point distance A includes marker points a1 and a2 and the distance value la between the marker points a1 and a2; point distance B includes reference points b1 and b2 and the distance value lb between the reference points b1 and b2. By comparing the distance values la and lb, if the difference between the distance values la and lb is less than the aforementioned distance threshold, then point distance B can be recorded in the point distance set.
[0034] After completing the traversal of all point distances, the computer device can determine the candidate reference point queue based on the number of times each reference point appears in the point distance set.
[0035] In one example, each benchmark point can be voted on based on the frequency of occurrence of the benchmark point contained in each of the final set of benchmark points, resulting in a corresponding voting score. Then, each benchmark point can be sorted according to its voting score, and benchmark points with scores greater than a preset score threshold can be designated as candidate benchmark points. All candidate benchmark points form a candidate benchmark point queue, where each benchmark point has a high probability of belonging to a volume structure marker.
[0036] In this way, candidate reference points can be processed first in subsequent filtering and matching, which can complete the recursive traversal faster and greatly improve the execution efficiency of the algorithm.
[0037] S103. Search from the candidate reference point queue to obtain the optimal reference point queue that matches the theoretical marker point queue.
[0038] In this embodiment, the theoretical marker queue can be generated based on the markers on the volume structure marker. After filtering out the candidate benchmark queue, the computer device can perform benchmark matching, searching from the candidate benchmark queue to find the optimal benchmark queue that matches the theoretical marker queue. Each benchmark in this optimal benchmark queue can be considered as the point that best matches the theoretical marker queue.
[0039] In one possible implementation of this application embodiment, the computer device may use a depth-first search (DFS) algorithm to find points from the candidate benchmark queue that match the theoretical marker queue as much as possible.
[0040] In this embodiment, the computer device can first construct two queues to store relevant data. Specifically, an optimal benchmark queue is constructed to store the optimal result, and a cached benchmark queue is constructed for updating benchmark information during algorithm traversal.
[0041] Then, the computer can enter a DFS recursive traversal, iterating through each candidate benchmark in the candidate benchmark queue, and determining whether the candidate benchmark satisfies the distance consistency constraint of the theoretical marker queue. Satisfying the distance consistency constraint of the theoretical marker queue can mean satisfying the relevant distance requirements in the marker distance graph.
[0042] Specifically, the computer device can, for each candidate reference point, form corresponding distances between it and the reference points in the current cached reference point queue. Then, it compares each distance with the distances in the marked point distance map. If the difference between each distance and the distance in the marked point distance map is less than a distance threshold, the candidate reference point can be added to the cached reference point queue. Each candidate reference point in the queue can be recursively traversed in the above manner.
[0043] In this embodiment, if the number of reference points added to the cached reference point queue is greater than the number of reference points in the current optimal reference point queue, the current cached reference point queue can be used to replace the current optimal reference point queue until all candidate reference points have been traversed to obtain the optimal reference point queue. If the number of reference points added to the cached reference point queue during the traversal is not greater than the number of reference points in the current optimal reference point queue, then there is no need to update the optimal reference point queue.
[0044] In another possible implementation of this application, the computer device can also combine backtracking and pruning optimization schemes during the search process based on the DFS algorithm, thereby accelerating the search process and reducing the consumption of computing resources during the search process.
[0045] For example, when a computer device enters a DFS recursive traversal, it can first determine whether the conditions for pruning acceleration are met, that is, whether a better result can be obtained in this DFS recursive traversal than the currently existing optimal benchmark queue. If the current DFS recursive traversal cannot obtain a better result than the currently existing optimal benchmark queue, then pruning is performed, skipping subsequent candidate benchmark traversals and DFS traversal loops. This can greatly reduce the number of depth-first traversals and improve algorithm efficiency.
[0046] Specifically, before traversing any candidate benchmark in the candidate benchmark queue, the computer device can calculate the maximum possible number of benchmarks in the cached benchmark queue. This maximum possible number is equal to the sum of the number of existing benchmarks in the current cached benchmark queue and the number of candidate benchmarks to be traversed. If the calculated maximum possible number is less than or equal to the number of existing benchmarks in the current optimal benchmark queue, a pruning operation can be performed, stopping the traversal of each candidate benchmark to be traversed.
[0047] After traversing the candidate benchmarks in the candidate benchmark queue, the computer can determine the current recursive state. If the current state is not the initial recursive traversal level, it can return to the previous level of DFS recursive traversal and delete the last element (benchmark) added to the cached benchmark queue. This operation can be understood as the end of the current depth-first traversal, requiring the cached benchmark queue to be reset; that is, after the final recursive traversal, the cached benchmark queue should be empty.
[0048] If the initial recursive traversal level has been returned, the benchmark matching algorithm can be terminated at this point, and the currently obtained optimal benchmark queue can be used as the matching result.
[0049] In other words, after completing the traversal of the candidate reference points in the candidate reference point queue, the computer device can determine the current recursive state. If the current recursive state is not the initial recursive traversal level, it returns to the previous recursive traversal level, and after deleting the last reference point added to the cached reference point queue, it continues to execute the reference point matching algorithm, traversing each candidate reference point in the candidate reference point queue.
[0050] S104. Search the theoretical marker queue to obtain the optimal marker queue corresponding to each benchmark point in the optimal benchmark queue.
[0051] In this embodiment of the application, after the optimal benchmark queue is obtained, the computer device can perform marker point matching and search for points corresponding to the matched optimal benchmark queue from the theoretical marker point queue.
[0052] In one possible implementation of this application, the marker matching process can also be based on the depth-first search algorithm.
[0053] Specifically, the computer device can first initialize the relevant data. For example, it can build an optimal marker queue to store the best results, and build a cached marker queue using status flags to avoid repeatedly selecting already matched markers.
[0054] Then, the computer device can enter a DFS recursive traversal, iterating through each marker in the theoretical marker queue. Upon entering the loop, the computer device can determine whether the marker in the current loop has been used, i.e., whether it has been added to the optimal marker queue. If the marker has been used, the marker queue is traversed again; otherwise, if the marker has not been used, the distance relationship between the marker and the optimal baseline queue is calculated, and it is determined whether the corresponding distance constraints are met. The aforementioned distance constraints for meeting the optimal baseline queue can refer to meeting the relevant distance requirements in the baseline distance map.
[0055] In other words, during the iterative traversal of each marker in the theoretical marker queue, the computer can, for a marker in the current loop that is not currently in use, calculate whether the distance between the marker and all markers in the current optimal marker queue satisfies the distance constraint condition of the corresponding optimal baseline queue. If the marker satisfies the distance constraint condition, it can be added to the optimal marker queue, marked as used, and the next level of the DFS traversal loop can be started until all markers have been traversed.
[0056] Similar to benchmark matching, computer devices can also incorporate backtracking and pruning optimization schemes during the marker matching process based on the DFS algorithm, thereby accelerating the search process and reducing the computational resource consumption of the search process.
[0057] Specifically, before traversing any point in the theoretical marker queue, the computer device can first determine whether the current traversal meets the pruning acceleration condition, that is, whether the optimal marker queue has been matched. This condition can refer to the number of markers in the optimal marker queue being equal to the number of reference points in the optimal reference point queue. If this condition is met, the current recursive traversal can be forcibly terminated; otherwise, the computer can enter a loop to traverse the theoretical marker queue.
[0058] In other words, before traversing any point in the theoretical marker queue, the computer can determine the number of markers in the current optimal marker queue and the number of reference points in the optimal reference point queue. If the number of markers in the current optimal marker queue is equal to the number of reference points in the optimal reference point queue, then the optimal marker queue has been matched, and traversal of the markers in the theoretical marker queue can be stopped. Otherwise, the theoretical marker queue needs to be traversed again to try whether the next marker meets the requirements, until the traversal of the theoretical marker queue is completed.
[0059] After completing the traversal of the markers in the theoretical marker queue, the computer device can determine the current recursive state. If the current recursive state is not the initial recursive traversal level, it should return to the previous recursive traversal level, and after deleting the marker last added to the optimal marker queue, continue traversing the markers in the theoretical marker queue.
[0060] S105. Calculate the pose matrix of the volumetric tracer in the optical binocular camera coordinate system based on the optimal reference point queue and the optimal marker point queue.
[0061] In this embodiment, the computer device can calculate the pose matrix of the volume structure marker and the RMS error of each reference point in the reference point queue by rigid transformation based on the matched optimal marker queue and optimal reference point queue. If the error of some reference points exceeds the acceptable error threshold, the system can issue a corresponding prompt, delete these reference points, recalculate the pose matrix, and finally successfully identify the volume structure marker and return the pose matrix in the stereo camera coordinate system.
[0062] In this embodiment, the main purpose of identifying volume structure markers is to find N1 points from the reference point queue (M1) and N2 points from the marker point queue (M2) that match each other, where M1≥N1 and M2≥N2. Therefore, this embodiment abstractly defines the identification of volume structure markers as a subgraph isomorphism problem of a weighted complete graph. Based on the depth-first search algorithm, combined with backtracking and pruning optimization schemes, matching algorithms for the reference point queue and marker point queue are designed according to different matching features to ensure that the execution efficiency of the algorithm is maximized. On this basis, by solving the rigid transformation matrix of the matched point set and calculating the RMS error to ensure that the obtained pose matrix is the optimal result, the identification of marker points on the volume structure markers can be performed quickly and accurately, reducing the computational resources required in the identification process and meeting the real-time requirements of surgical procedures.
[0063] It should be noted that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0064] To facilitate understanding, a complete example will be used to introduce the body structure marker recognition method provided in the embodiments of this application.
[0065] like Figure 2 The diagram shown is a schematic representation of a volume structure tracer identification process provided in an embodiment of this application. According to... Figure 2The process shown, in order to perform volume structure marker identification, aims to find N1 points from the baseline point queue (number of points M1) and N2 points from the marker point queue (number of points M2) that match each other, where M1≥N1 and M2≥N2. This application embodiment can abstractly define the above objective as a subgraph isomorphism problem of a weighted complete graph.
[0066] In this embodiment, the optical tracking points on the volumetric marker are called marker points, and the optical tracking points identified by the binocular camera are called reference points. By constructing a distance map of marker points and a distance map of reference points, matching can be performed based on the distance maps. The resulting matching items are used for repeated voting on reference points, and after sorting by voting scores, a candidate reference point queue can be obtained.
[0067] To avoid the time complexity explosion caused by completely traversing all points, this application uses a depth-first search (DFS) algorithm as its foundation, combined with backtracking and pruning optimization schemes. Matching algorithms for the reference point queue and the marker point queue are designed separately according to different matching features to ensure maximum algorithm execution efficiency. The rigid transformation matrix is solved for the matched point set, and the RMS error is calculated to ensure that the obtained pose matrix is the optimal result. For distinction, this application refers to the DFS algorithm for matching reference points as the DFS-1 recursive traversal algorithm, and the DFS algorithm for matching marker points as the DFS-2 recursive traversal algorithm. The execution process of the corresponding algorithms is as follows: Figure 2 The DFS-1 recursive traversal and DFS-2 recursive traversal are shown in the figure.
[0068] It should be noted that the design principles of the two DFS recursive traversal algorithms mentioned above are not the same. Specifically: (1) The purpose of DFS-1 recursive traversal for benchmark matching is to find the points that match the theoretical marker queue from the candidate benchmark queue. The search space is large and the pruning ability is strong. That is, it searches out a small number of benchmarks that meet the conditions from a large number of benchmarks. The time complexity is high.
[0069] (2) The purpose of DFS-2 recursive traversal for marker matching is to find the point corresponding to the matched reference point queue from the theoretical marker queue. The search space is small and a strong correspondence is established. That is, a small number of marker points that match a small number of reference points are quickly found from a fixed set of marker points. The time complexity is high.
[0070] The aforementioned high time complexity of DFS-1 and DFS-2 recursive traversal algorithms is merely a comparison of their time complexities; that is, the time complexity of DFS-1 is higher than that of DFS-2. The volume structure marker recognition method based on DFS-1 and DFS-2 recursive traversal algorithms provided in this application can significantly reduce the time complexity of volume structure marker recognition using existing recognition algorithms.
[0071] Combination Figure 2 As shown, the process of recognizing volume structure markers using the embodiments of this application can be summarized into the following five parts: constructing a distance map, candidate reference points, reference point matching, marker matching, and calculating the pose matrix. These five parts will be described in detail below.
[0072] 1. Construct a distance graph like Figure 2 As shown, the distance maps to be constructed in this embodiment include a marker point distance map and a reference point distance map. Specifically, a marker point distance map, containing the distances between each marker point, can be constructed based on the theoretical positions of the marker points in the volumetric marker hardware design. A reference point distance map, containing the distances between each reference point, can be constructed based on the reference point positions captured by the binocular camera. Furthermore, a maximum distance threshold can be set to filter out noisy reference points, removing points with excessively large distances from the reference point distance map, thereby quickly filtering out irrelevant noise points. The maximum distance threshold can be determined by the maximum point distance in the volumetric marker.
[0073] 2. Candidate Benchmark Points like Figure 2 As shown, a minimum distance threshold can be set based on the existing marker distance map and reference point distance map to perform distance map matching. Furthermore, by setting a minimum voting score threshold, the distance information of marker points close to the reference point can be recorded. After recording, a reference point vote is performed. The frequency of the reference point's appearance in the record set is used as the voting score. Reference points are sorted by score, and those with scores greater than the set minimum voting score threshold are selected as candidate reference points. A higher voting score for any reference point means a greater probability that the reference point belongs to the volume structure Marker, allowing it to be prioritized for subsequent filtering and matching. This allows for faster recursive traversal and significantly improves algorithm execution efficiency.
[0074] 3. Benchmark point matching In this embodiment of the application, benchmark matching is performed after the candidate benchmarks have been sorted and a candidate benchmark queue has been obtained. For example... Figure 2 As shown, the benchmark matching process uses a recursive DFS-1 traversal, combined with backtracking and pruning, to obtain a queue of matched benchmarks. This queue of matched benchmarks is the optimal benchmark queue in the aforementioned embodiments. In other words, the benchmark matching algorithm is based on the Depth-First Search (DFS) algorithm, combined with backtracking and pruning optimization schemes, to find as many points as possible from the candidate benchmark queue that match the theoretical marker queue.
[0075] like Figure 3 The diagram shown is a schematic representation of the reference point matching process in the body structure tracer identification process provided in this application embodiment. According to... Figure 3 As shown, the process of benchmark point matching in this embodiment of the application includes: (1) First, initialize the parameters, build an optimal benchmark queue to store the optimal results, and build a cached benchmark queue for algorithm traversal and updating benchmark information.
[0076] (2) Upon entering the DFS recursive traversal, first determine whether the pruning acceleration condition is met, that is, whether a better result can be obtained than the current optimal benchmark queue in this DFS recursive traversal. If a better result cannot be obtained than the current optimal benchmark queue, perform pruning operations and skip subsequent candidate benchmark traversals and DFS traversal loops. In this way, the number of depth traversals can be greatly reduced, thereby improving the algorithm efficiency.
[0077] The specific implementation of pruning acceleration is as follows: calculate the maximum possible number of cached benchmarks, that is, how many benchmarks can be added to the cached benchmark queue in subsequent DFS recursive traversals. When the maximum possible number is less than or equal to the number of points in the existing optimal benchmark queue, the condition for pruning acceleration is met, and the traversal of candidate benchmarks is forcibly skipped.
[0078] (3) Determine whether the number of points in the current cached benchmark queue is greater than the number of points in the optimal benchmark queue. If the number of points in the current cached benchmark queue is greater than the number of points in the optimal benchmark queue, then the optimal benchmark queue will be replaced by the cached benchmark queue. Otherwise, there is no need to update the optimal benchmark queue.
[0079] (4) Iterate through the candidate reference points, calculate the distance consistency constraint between the candidate reference point and the theoretical marker point queue, and determine whether the candidate reference point passes the distance consistency check. Specifically, it is determined whether the distance between the candidate reference point and each point in the current cached reference point queue satisfies the distance constraint of the marker point distance graph constructed above. If it does, the candidate reference point is added to the cached reference point queue, and the next level of DFS recursive traversal is entered, that is, steps (1) to (5) are repeated. Otherwise, the candidate reference points are traversed again to try whether the next candidate reference point meets the requirements until the candidate reference point traversal ends.
[0080] (5) After each candidate pivot point traversal, the current recursive state is checked. If it is not the initial recursive traversal level, the previous level of DFS recursive traversal is returned, and the last element (pivot point) added to the cached pivot point queue is deleted. This can be understood as the end of the current depth-first traversal, requiring the reset of the cached pivot point queue. That is, after the final recursive traversal, the cached pivot point queue should be empty. If the initial recursive traversal level has been returned, the pivot point matching algorithm can be terminated, and the optimal pivot point queue is used as the matching result.
[0081] 4. Marker point matching In this embodiment of the application, marker matching is performed based on obtaining the optimal baseline queue. For example... Figure 2 As shown, marker matching is achieved through a recursive DFS-2 traversal, combined with backtracking and pruning, to obtain a queue of matched markers. This queue of matched markers is the optimal queue in the aforementioned embodiments. In other words, the marker matching algorithm is based on Depth-First Search (DFS), combined with optimizations such as backtracking and pruning, to find as many points as possible from the theoretical marker queue that correspond to the matched baseline queue.
[0082] like Figure 4 The diagram shown is a schematic representation of the marker point matching process in the volume structure tracer identification process provided in this application embodiment. According to... Figure 4 As shown, the process of marker point matching in this embodiment of the application includes: (1) First, initialize the parameters, build an optimal marker queue to store the optimal results, and build a cache marker using status flags to avoid repeatedly selecting matched markers.
[0083] (2) Upon entering the DFS recursive traversal, first determine whether the conditions for pruning acceleration are met, that is, whether the optimal marked point queue has been matched. The condition is that the number of points in the optimal marked point queue is equal to the number of points in the optimal base point queue. If the two are equal, it is considered that the optimal marked point queue has been matched, and the current recursive traversal can be forcibly terminated; if not, that is, the number of points in the optimal marked point queue is not equal to the number of points in the optimal base point queue, then enter the loop traversal of the theoretical marked point queue.
[0084] (3) After entering the loop, determine whether the marker point in the current loop has been used, that is, whether it has been included in the optimal marker point queue. If the marker point has been used, then traverse the marker point queue again; otherwise, if the marker point has not been used, calculate the distance relationship between the marker point and the optimal reference point queue, and determine whether the distance constraint condition is met.
[0085] The specific implementation of the distance constraint judgment is as follows: calculate the distance between the marker point and each point in the optimal marker point queue, and whether it meets the point distance requirements in the corresponding optimal benchmark point queue. If it meets the requirements, add the marker point to the optimal marker point queue, change the usage status of the marker point to "used", and enter the next level of DFS traversal loop, repeating steps (1) to (4); otherwise, traverse the theoretical marker point queue again, try whether the next marker point meets the requirements, until the theoretical marker point queue traversal ends.
[0086] (4) After each theoretical marker traversal, the current recursive state is judged. If it is not the initial recursive traversal layer, the process returns to the previous level of DFS recursive traversal, and the last element (marker) added to the optimal marker queue is deleted. The usage status of the deleted marker is changed to unused. This can be understood as the end of the current depth traversal, removing markers that do not meet the requirements, until the initial recursive traversal layer is returned. At this point, the marker matching algorithm ends, and the optimal marker queue is used as the matching result.
[0087] 5. Calculate the pose matrix In this embodiment, the pose matrix of the volume structure Marker can be calculated through rigid transformation based on the matched optimal marker queue and optimal reference point queue. For example... Figure 2 As shown, during this process, the RMS error of each reference point in the reference point queue can also be calculated. If the error of some reference points exceeds the acceptable error threshold, the system can issue a corresponding prompt, delete these reference points, and recalculate the pose matrix. Through the above processing, the volume structure marker can be successfully identified and the pose matrix in the stereo camera coordinate system can be returned.
[0088] In this embodiment, the identification of volume structure markers is abstracted as a subgraph isomorphism problem of a weighted complete graph. Based on the Depth-First Search (DFS) algorithm, and combined with backtracking and pruning optimization schemes, the computational time complexity in the volume structure marker identification process can be greatly reduced. This embodiment designs two different DFS spatial search algorithms for baseline point matching and marker point matching, which is more conducive to accelerating the search and identification process, and can achieve efficient and accurate identification of volume structure markers.
[0089] Reference Figure 5 The diagram illustrates a body structure tracer identification device according to an embodiment of this application. Specifically, it may include a distance map construction module 501, a candidate reference point queue filtering module 502, an optimal reference point queue matching module 503, an optimal marker point queue matching module 504, and a pose matrix calculation module 505, wherein: The distance map construction module 501 is used to construct a marker point distance map based on optical tracking points on the volume structure tracer, and to construct a reference point distance map based on optical tracking points identified by the optical binocular camera; The candidate reference point queue filtering module 502 is used to determine the candidate reference point queue based on the marker point distance map and the reference point distance map; The optimal reference point queue matching module 503 is used to search for the optimal reference point queue that matches the theoretical marker point queue from the candidate reference point queue, wherein the theoretical marker point queue is generated based on the optical tracking points on the volume structure tracer. The optimal marker queue matching module 504 is used to search the theoretical marker queue to obtain the optimal marker queue corresponding to each benchmark point in the optimal benchmark queue. The pose matrix calculation module 505 is used to calculate the pose matrix of the volume structure tracer in the optical binocular camera coordinate system based on the optimal reference point queue and the optimal marker point queue.
[0090] In this embodiment of the application, the marker point distance map and the reference point distance map each include multiple point distances, and any point distance consists of two points and the distance value between the two points; the candidate reference point queue filtering module 502 can specifically be used for: Iterate through the distances between the marked points and each point in the graph; Record the point distances in the reference point distance map where the difference between the distance value between the current point distance in the reference point distance map and the current point distance in the marker point distance map is less than a distance threshold, and form a point distance set; A candidate reference point queue is determined based on the frequency of occurrence of each reference point in the point distance set.
[0091] In this embodiment of the application, the optimal reference point queue matching module 503 can be specifically used for: Iterate through each candidate reference point in the candidate reference point queue. If the difference between the distance between the candidate reference point and the distance between each reference point in the current cached reference point queue and the distance between each point in the marker point distance map is less than the distance threshold, the candidate reference point is added to the cached reference point queue. If the number of reference points in the current cached reference point queue is greater than the number of reference points in the current optimal reference point queue, then the current cached reference point queue is used to replace the current optimal reference point queue until all candidate reference points have been traversed to obtain the optimal reference point queue.
[0092] In one possible implementation of this application embodiment, the optimal reference point queue matching module 503 can also be used for: Before traversing any candidate reference point in the candidate reference point queue, calculate the maximum possible number of the cached reference point queue, which is equal to the sum of the number of existing reference points in the current cached reference point queue and the number of candidate reference points to be traversed. If the maximum possible number is less than or equal to the number of existing benchmarks in the current optimal benchmark queue, then stop traversing the candidate benchmarks to be traversed.
[0093] In another possible implementation of this application embodiment, the optimal reference point queue matching module 503 can also be used for: After completing the traversal of the candidate reference points in the candidate reference point queue, determine the current recursive state; If the current recursive state is not the initial recursive traversal layer, then return to the previous recursive traversal layer, and after deleting the last benchmark added to the cache benchmark queue, continue traversing each candidate benchmark in the candidate benchmark queue.
[0094] In this embodiment of the application, the optimal marker queue matching module 504 can specifically be used for: Iterate through each marker point in the theoretical marker point queue. For a marker point in the current loop, if the marker point is not used, calculate whether the distance between the marker point and the points formed by the marker points in the current optimal marker point queue satisfies the distance constraint condition of the corresponding optimal reference point queue. If the marker point satisfies the distance constraint, the marker point is added to the optimal marker point queue, and the status of the marker point is marked as used, until all marker points have been traversed.
[0095] In one possible implementation of this application embodiment, the optimal marker queue matching module 504 can also be used for: Before traversing any point in the theoretical marker queue, determine the number of markers in the current optimal marker queue and the number of reference points in the optimal reference point queue. If the number of markers in the current optimal marker queue is equal to the number of reference points in the optimal reference point queue, then stop traversing each marker in the theoretical marker queue.
[0096] In another possible implementation of this application embodiment, the optimal marker queue matching module 504 can also be used for: After completing the traversal of the marked points in the theoretical marked point queue, determine the current recursive state; If the current recursive state is not the initial recursive traversal layer, then return to the previous recursive traversal layer, and after deleting the last marker added to the optimal marker queue, continue traversing each marker in the theoretical marker queue.
[0097] This application provides a body structure tracer identification device. This device can be the computer device described in the foregoing embodiments, or one or more units, components, modules, etc., of a device capable of implementing the relevant methods or functions described in the foregoing embodiments. Using this device, the various steps in the foregoing method embodiments can be implemented.
[0098] As the apparatus embodiments are basically similar to the method embodiments, they are described in a relatively simple manner. For relevant details, please refer to the description in the method embodiment section.
[0099] Reference Figure 6 The diagram illustrates a computer device provided in an embodiment of this application. Figure 6 As shown, the computer device 600 in this embodiment includes: a processor 610, a memory 620, and a computer program 621 stored in the memory 620 and executable on the processor 610. When the processor 610 executes the computer program 621, it implements the steps in the various embodiments of the above-described body structure tracer identification method, for example... Figure 1 Steps S101 to S105 are shown. Alternatively, when the processor 610 executes the computer program 621, it implements the functions of each module / unit in the above-described device embodiments, for example... Figure 5 The functions of modules 501 to 505 are shown.
[0100] For example, the computer program 621 can be divided into one or more modules / units, which are stored in the memory 620 and executed by the processor 610 to complete this application. The one or more modules / units can be a series of computer program instruction segments capable of performing specific functions, which can be used to describe the execution process of the computer program 621 in the computer device 600. For example, the computer program 621 can be divided into a distance map construction module, a candidate reference point queue screening module, an optimal reference point queue matching module, an optimal marker point queue matching module, and a pose matrix calculation module, with the specific functions of each module as follows: The distance map construction module is used to construct a marker point distance map based on optical tracking points on the volume structure tracer, and to construct a reference point distance map based on optical tracking points identified by the binocular camera; The candidate reference point queue filtering module is used to determine the candidate reference point queue based on the marker point distance map and the reference point distance map; The optimal reference point queue matching module is used to search for the optimal reference point queue that matches the theoretical marker point queue from the candidate reference point queue, wherein the theoretical marker point queue is generated based on the optical tracking points on the volume structure tracer. The optimal marker queue matching module is used to search the theoretical marker queue to obtain the optimal marker queue corresponding to each benchmark point in the optimal benchmark queue. The pose matrix calculation module is used to calculate the pose matrix of the volume structure tracer in the optical binocular camera coordinate system based on the optimal reference point queue and the optimal marker point queue.
[0101] The computer device 600 may be a device capable of implementing the relevant steps or functions in the foregoing method embodiments. The computer device 600 may be a desktop computer, a cloud server, or other similar device. The computer device 600 may include, but is not limited to, a processor 610 and a memory 620. Those skilled in the art will understand that... Figure 6 This is merely one example of computer device 600 and does not constitute a limitation on computer device 600. It may include more or fewer components than shown, or combine certain components, or different components. For example, computer device 600 may also include input / output devices, network access devices, buses, etc.
[0102] The processor 610 can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.
[0103] The memory 620 can be an internal storage unit of the computer device 600, such as a hard disk or RAM of the computer device 600. The memory 620 can also be an external storage device of the computer device 600, such as a plug-in hard disk, Smart Media Card (SMC), Secure Digital (SD) card, Flash Card, etc., equipped on the computer device 600. Furthermore, the memory 620 can include both internal and external storage units of the computer device 600. The memory 620 is used to store the computer program 621 and other programs and data required by the computer device 600. The memory 620 can also be used to temporarily store data that has been output or will be output.
[0104] This application also discloses a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the volume structure tracer identification method as described in the foregoing embodiments.
[0105] This application also discloses a computer-readable storage medium storing a computer program that, when executed by a processor, implements the volume structure tracer identification method as described in the foregoing embodiments.
[0106] This application also discloses a computer program product that, when run on a computer, causes the computer to execute the volume structure tracer recognition method described in the foregoing embodiments.
[0107] The embodiments described above are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A method for identifying volumetric structure tracers, characterized in that, include: A marker distance map is constructed based on optical tracking points on a volumetric tracer, and a reference point distance map is constructed based on optical tracking points identified by a binocular camera. Based on the marker point distance map and the reference point distance map, a candidate reference point queue is determined; The optimal reference point queue that matches the theoretical marker point queue is obtained from the candidate reference point queue, the theoretical marker point queue being generated based on the optical tracking points on the volumetric tracer; The optimal marker queue corresponding to each benchmark point in the optimal benchmark queue is obtained by searching the theoretical marker queue. Based on the optimal reference point queue and the optimal marker point queue, calculate the pose matrix of the volumetric tracer in the optical binocular camera coordinate system.
2. The method according to claim 1, characterized in that, The marker point distance map and the reference point distance map each include multiple point distances, and any point distance consists of two points and the distance value between the two points; determining the candidate reference point queue based on the marker point distance map and the reference point distance map includes: Iterate through the distances between the marked points and each point in the graph; Record the point distances in the reference point distance map where the difference between the distance value between the current point distance in the reference point distance map and the current point distance in the marker point distance map is less than a distance threshold, and form a point distance set; A candidate reference point queue is determined based on the frequency of occurrence of each reference point in the point distance set.
3. The method according to claim 1 or 2, characterized in that, The step of searching for the optimal benchmark queue that matches the theoretical marker queue from the candidate benchmark queue includes: Iterate through each candidate reference point in the candidate reference point queue. If the difference between the distance between the candidate reference point and the distance between each reference point in the current cached reference point queue and the distance between each point in the marker point distance map is less than the distance threshold, the candidate reference point is added to the cached reference point queue. If the number of reference points in the current cached reference point queue is greater than the number of reference points in the current optimal reference point queue, then the current cached reference point queue is used to replace the current optimal reference point queue until all candidate reference points have been traversed to obtain the optimal reference point queue.
4. The method according to claim 3, characterized in that, Also includes: Before traversing any candidate reference point in the candidate reference point queue, calculate the maximum possible number of the cached reference point queue, which is equal to the sum of the number of existing reference points in the current cached reference point queue and the number of candidate reference points to be traversed. If the maximum possible number is less than or equal to the number of existing benchmarks in the current optimal benchmark queue, then stop traversing the candidate benchmarks to be traversed.
5. The method according to claim 3, characterized in that, Also includes: After completing the traversal of the candidate reference points in the candidate reference point queue, determine the current recursive state; If the current recursive state is not the initial recursive traversal layer, then return to the previous recursive traversal layer, and after deleting the last benchmark added to the cache benchmark queue, continue traversing each candidate benchmark in the candidate benchmark queue.
6. The method according to any one of claims 1, 2, 4, or 5, characterized in that, The step of searching from the theoretical marker queue to obtain the optimal marker queue corresponding to each benchmark point in the optimal benchmark queue includes: Iterate through each marker point in the theoretical marker point queue. For a marker point in the current loop, if the marker point is not used, calculate whether the distance between the marker point and the points formed by the marker points in the current optimal marker point queue satisfies the distance constraint condition of the corresponding optimal reference point queue. If the marker point satisfies the distance constraint, the marker point is added to the optimal marker point queue, and the status of the marker point is marked as used, until all marker points have been traversed.
7. The method according to claim 6, characterized in that, Also includes: Before traversing any point in the theoretical marker queue, determine the number of markers in the current optimal marker queue and the number of reference points in the optimal reference point queue. If the number of markers in the current optimal marker queue is equal to the number of reference points in the optimal reference point queue, then stop traversing each marker in the theoretical marker queue.
8. The method according to claim 6, characterized in that, Also includes: After completing the traversal of the marked points in the theoretical marked point queue, determine the current recursive state; If the current recursive state is not the initial recursive traversal layer, then return to the previous recursive traversal layer, and after deleting the last marker added to the optimal marker queue, continue traversing each marker in the theoretical marker queue.
9. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the body structure tracer identification method as described in any one of claims 1 to 8.
10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the body structure tracer identification method as described in any one of claims 1 to 8.
Citation Information
Patent Citations
Medical image mark point identification method and surgical robot system
CN116849806A
Surgical instrument pose analysis method and system
CN120411233A
Light Conversion Ink Composition, Color Filter and Display Device
KR102758522B1
Method and apparatus for registering a physical space to image space
US20080242978A1