Coding pattern determination method of tracking device, navigation system and equipment

By generating and segmenting unique coded patterns, the problem of navigation system tracking object confusion in complex environments is solved, and the recognition accuracy and system reliability are improved.

CN119991696APending Publication Date: 2025-05-13GUANGZHOU AJAX MEDICAL EQUIP CO LTD +2
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411947220.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-26
Publication Date
2025-05-13

AI Technical Summary

Technical Problem

Existing navigation systems are prone to confusion in tracking objects in complex environments, resulting in tracking errors and affecting the accuracy and safety of the surgery.

Method used

By generating a plurality of encoding windows based on a predetermined multiple encoding primitives, combining them into coded images, and dividing them into multiple encoding patterns according to the number and size of the tracking devices, each encoding pattern having uniqueness, thereby determining a unique encoding pattern for each tracking device.

Benefits of technology

It improves the recognition accuracy of tracking devices, avoids tracking confusion, and enhances the tracking accuracy and reliability of navigation systems, especially in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119991696A_ABST
    Figure CN119991696A_ABST
Patent Text Reader

Abstract

The embodiment of the invention is suitable for the technical field of medical image navigation, and provides a coding pattern determination method of a tracking device, a navigation system and equipment, the method comprises the following steps: generating a plurality of coding windows based on a plurality of predetermined coding elements, the coding elements are geometric blocks with unique patterns, and the coding windows are arranged in the geometric blocks; each coding window comprises a plurality of coding blocks, each coding block is used for filling a coding element, and the pattern of the coding window is unique; combining the plurality of coding windows to obtain a coding image; according to the number and size of tracking devices, the coding image is segmented into a plurality of coding patterns, and each coding pattern has uniqueness; and respectively determining a coding pattern corresponding to each tracking device from the plurality of coding patterns obtained by segmentation. Through the method, a unique coding pattern can be generated for each tracking device, the tracking devices are prevented from being confused, and positioning of the tracking devices is facilitated.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of medical image navigation technology, and in particular, relates to a coding pattern determination method, navigation system and equipment for a tracking device. Background Art

[0002] In modern medical surgery, implant surgery relies on navigation systems for precise implant positioning and intraoperative adjustment. Existing navigation systems can perform spatial positioning through multiple markers or multiple trackers. When multiple trackers are used for spatial positioning, each tracker surface can have a coding pattern, so that the tracker can be identified based on the recognition of the coding pattern.

[0003] In complex environments, when multiple trackers are being tracked and identified, confusion of tracked objects is likely to occur. Based on traditional coding schemes, such as QR codes or conventional two-dimensional array coding, when determining the coding pattern of the tracker, the coding features of the trackers are highly similar, resulting in similar marking features of the trackers, which is prone to confusion in complex environments, leading to tracking errors, and thus affecting the accuracy and safety of the surgery. Summary of the invention

[0004] In view of this, an embodiment of the present application provides a method for determining a coding pattern of a tracking device, a navigation system and a device, so as to improve the positioning accuracy of the tracking device.

[0005] A first aspect of an embodiment of the present application provides a method for determining a coding pattern of a tracking device, comprising:

[0006] Based on a plurality of predetermined coding primitives, a plurality of coding windows are generated, wherein the coding primitives are geometric blocks with unique patterns, each of the coding windows comprises a plurality of coding blocks, each of the coding blocks is used to fill a coding primitive, and each of the coding windows is unique;

[0007] Combining a plurality of the coding windows to obtain a coded image;

[0008] According to the number and size of the tracking devices, the coded image is divided into a plurality of coded patterns, each of which is unique;

[0009] From the multiple coding patterns obtained by segmentation, the coding pattern corresponding to each tracking device is determined respectively.

[0010] A second aspect of an embodiment of the present application provides a navigation system based on a tracking device, comprising a plurality of tracking devices, a visual component and a processor, each of the tracking devices having a unique coding pattern on its surface, the coding pattern being determined by the method described in the first aspect above, the visual component being used to capture an image of a target to be identified, the target to be identified being the tracking device, the image comprising a characteristic pattern of the tracking device, and the processor being used to identify a target tracking device corresponding to the target to be identified based on the image.

[0011] A third aspect of the embodiments of the present application provides a method for identifying a coding pattern, comprising:

[0012] identifying respective coding blocks in a coding pattern in the image, each coding block being populated by a coding primitive;

[0013] Determining a feature descriptor of the coding pattern based on each of the identified coding blocks;

[0014] According to the feature descriptor, a target tracking device corresponding to the coding pattern in the image is identified.

[0015] A fourth aspect of an embodiment of the present application provides a coding pattern determination device for a tracking device, comprising:

[0016] A generating module, configured to generate a plurality of coding windows based on a plurality of predetermined coding primitives, each of the coding primitives having a unique pattern, and the pattern of the coding window being unique;

[0017] A combining module, used for combining a plurality of the coding windows to obtain a coded image;

[0018] A segmentation module, used for segmenting the coded image into a plurality of coded patterns according to the number and size of the tracking devices, each of the coded patterns being unique;

[0019] The determination module is used to determine the coding pattern corresponding to each tracking device from the multiple coding patterns obtained by segmentation.

[0020] A fifth aspect of an embodiment of the present application provides a coding pattern recognition device, including:

[0021] A coding block identification module, used to identify each coding block in the coding pattern in the image, each coding block is filled with a coding primitive;

[0022] A feature identification module, used to determine a feature descriptor of the coding pattern based on each of the identified coding blocks;

[0023] The tracking device identification module is used to identify the target tracking device corresponding to the coding pattern in the image according to the feature descriptor.

[0024] A sixth aspect of an embodiment of the present application provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the method described in the first aspect or the third aspect above is implemented.

[0025] A seventh aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method described in the first aspect or the third aspect above is implemented.

[0026] An eighth aspect of the embodiments of the present application provides a computer program product. When the computer program product is run on a computer device, the computer device executes the method described in the first aspect or the third aspect.

[0027] Compared with the prior art, the embodiments of the present application have the following advantages:

[0028] In the embodiment of the present application, multiple coding windows are generated based on multiple predetermined coding primitives. The coding primitives are geometric tiles with unique patterns. Each coding window includes multiple coding blocks. Each coding block is used to fill a coding primitive. Each coding window is unique. Multiple coding windows are combined to obtain a coding image. The coding image is divided into multiple coding patterns according to the number and size of tracking devices. Since the coding image is composed of unique coding windows, each coding pattern obtained after the coding image is divided is also unique. After determining the coding pattern, the coding pattern corresponding to each tracking device can be determined from the multiple coding patterns obtained by segmentation, so that the pattern of each tracking device is unique, which is convenient for identifying the tracking device and improving the positioning accuracy. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments or descriptions of the prior art.

[0030] Figure 1 It is a schematic flow chart of the steps of a method for determining a coding pattern of a tracking device provided in an embodiment of the present application;

[0031] Figure 2 is a schematic diagram of a coding primitive provided in an embodiment of the present application;

[0032] Figure 3 is a schematic diagram of a coding window provided in an embodiment of the present application;

[0033] Figure 4 is a schematic diagram of a coded image provided by an embodiment of the present application;

[0034] Figure 5 is a schematic diagram of segmentation of a coded image provided in an embodiment of the present application;

[0035] Figure 6 is a schematic diagram of a tracking device provided in an embodiment of the present application;

[0036] Figure 7 It is a flowchart of an image recognition method provided by an embodiment of the present application;

[0037] Figure 8 is a schematic diagram of a coding pattern determination device for a tracking device provided in an embodiment of the present application;

[0038] Fig. 9 is a schematic diagram of a coding pattern recognition device provided in an embodiment of the present application;

[0039] Fig.10 It is a schematic diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0040] In the following description, specific details such as specific system structures, technologies, etc. are proposed for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from hindering the description of the present application.

[0041] The coding scheme is used to generate a coding pattern for a tracking device, thereby facilitating tracking and identification of the tracking device. However, the existing coding scheme has some shortcomings.

[0042] Existing coding schemes, QR codes and AprilTag codes, are prone to confusing objects when used in multi-object tracking scenarios. Existing two-dimensional codes (such as QR codes) and AprilTag codes may have recognition confusion problems in multi-object tracking, especially when tracking multiple targets at the same time, it is easy to have repeated codes or unclear features, resulting in tracker recognition errors. This application ensures that the coding pattern of each tracked object is unique through self-designed coding primitives and unique feature descriptors, effectively avoiding tracking confusion.

[0043] Existing coding schemes have weak anti-interference capabilities. Existing coding schemes are sensitive to factors such as lighting changes, reflections, and occlusions in complex surgical environments, which may cause unstable tracker recognition. This application enhances the stability and reliability of the system in complex environments by designing a coding pattern with strong anti-interference capabilities.

[0044] Existing coding schemes are difficult to apply in miniaturized form: the information density of existing coding schemes is limited, and it is difficult to embed sufficient information on small-sized trackers (such as small markers on surgical instruments), which affects tracking accuracy. This application uses a 1*2 small coding window design, which is suitable for miniaturized applications, especially for accurate tracking of surgical instruments in a small space.

[0045] Existing coding schemes cannot adapt to the complexity of tracking multiple objects simultaneously. When existing systems track multiple objects simultaneously, the amount of information in the coding pattern is insufficient and the processing is difficult, which may cause the system to react slowly or reduce accuracy. This application ensures the efficiency and accuracy of tracking multiple objects simultaneously by dividing the coding pattern into multiple parts and applying them to different trackers respectively.

[0046] With the rapid development of smart healthcare, robot navigation, and virtual reality, spatial positioning and multi-object tracking technologies have become critical in a variety of application scenarios. Especially in the medical field, such as complex surgical scenarios (such as implant surgery, spinal surgery, or orthopedic navigation), accurate position and posture tracking of doctors and equipment is the key to ensuring the success of the operation. Such systems usually rely on computer vision technology to achieve accurate navigation of the surgical process by tracking the position and posture of multiple markers or trackers.

[0047] However, existing multi-object tracking technologies face multiple challenges in practical applications. For example, in complex surgical environments such as oral implants or spinal surgery, surgical tools, patients, and doctors may carry multiple trackers at the same time, and the system needs to be able to accurately track the position and posture of each object in real time. Existing technologies usually use optical, inertial, or magnetic tracking, relying on markers, coded patterns, or specific sensors for positioning and tracking.

[0048] Take X-Nav's X-Guide system and Decai's DHC series navigation system as examples, they use QR codes and AprilTag codes for object recognition respectively. However, these two coding schemes still have obvious limitations in complex planting navigation scenarios.

[0049] The X-Nav's X-Guide system using QR codes has problems such as limited code size, insufficient surface recognition capability, light sensitivity, and single features. QR codes have a large amount of encoded information and usually require a larger physical size to carry enough data. For small markers required during surgery, QR codes may be difficult to reduce to a suitable size while maintaining their reliability and accuracy, resulting in a limited code size. QR codes perform well on planes, but when installed on three-dimensional surfaces, such as on cylindrical handles of surgical instruments, the recognition efficiency will drop significantly, affecting tracking accuracy. It can be seen that QR codes have insufficient surface recognition capabilities. QR codes are sensitive to changes in ambient light, especially in the case of strong light, reflection or partial occlusion of surgical lights, the recognition accuracy of the system will be reduced. The encoding of QR codes mainly relies on the arrangement of black and white blocks, lacks more complex geometric feature descriptions, and once part of the pattern is blocked, the overall recognition may fail. It can be seen that the encoding features of QR codes are single and easily affected by occlusion.

[0050] In addition, systems using AprilTag codes, such as Decaier's DHC series systems, have problems such as low information density, insufficient anti-interference, limited spatial recognition, and susceptibility to environmental influences.

[0051] The information density of the AprilTag code is low. Although the location information of the object can be obtained through camera decoding, its coding features are relatively simple, which may not meet the needs when high-precision, multi-object recognition is required. The design of the AprilTag code allows it to perform well under ideal conditions, but in the surgical environment, complex lighting, reflections, occlusions and other factors can easily lead to recognition errors. Although AprilTag can maintain high recognition accuracy at some angles, it performs poorly on complex geometric surfaces such as curved and inclined surfaces, especially when continuous tracking of object movement is required, recognition is prone to instability. The AprilTag code is more easily affected by external conditions such as object occlusion and reflection, which in turn affects the accuracy and stability of surgical navigation.

[0052] In summary, the two existing coding schemes still have limitations in stability, anti-interference ability and adaptability in complex surgical scenarios. Based on this, the embodiment of the present application proposes a method for determining a coding pattern of a tracking device, provides a self-designed coding primitive and a unique coding strategy, thereby improving the recognition accuracy of the tracking device and enhancing the tracking accuracy and reliability of the navigation system.

[0053] Reference Figure 1 , shows a schematic flow chart of the steps of a method for determining a coding pattern of a tracking device provided in an embodiment of the present application, which may specifically include the following steps:

[0054] S101, based on a plurality of predetermined coding primitives, generate a plurality of coding windows, each of the coding windows comprises a plurality of coding blocks, each of the coding blocks is filled with a coding primitive, each of the coding primitives has a unique pattern, and the pattern of the coding window is unique.

[0055] The executor of this embodiment may be a computer device, which may be a control device in a surgical navigation system, or an electronic device connected to the navigation system, so as to generate a coding pattern for each tracking device in the navigation.

[0056] In the embodiment of the present application, a preset number of multiple coding primitives may be predetermined. A coding primitive is a basic unit for generating a coding pattern. For example, the 10 numbers 0-9 may be used to combine into countless unique values. In the present embodiment, the coding primitives may be similar to the 10 numbers 0-9. Based on the preset number of coding primitives, countless unique patterns may be combined.

[0057] The coding primitive is the basic unit that makes up the coding pattern, with a unique combination of geometric or color features. The primitive can be flexibly designed according to application requirements, and each coding block is identified by a feature descriptor, which determines the stability and accuracy of the coding system. In order to improve the positioning and recognition accuracy of the tracking device, the coding primitive needs to meet the following characteristics.

[0058] The coding primitives need to have high recognition. The coding primitives can be quickly and accurately identified by the system under different environmental conditions, and their shapes, edges, and contrasts should be clearly visible.

[0059] The coding primitives need to be highly discriminative. The differences between different coding primitives need to be large enough so that the system can easily distinguish them.

[0060] Encoding primitives need to have moderate information density. Encoding primitives need to find the best balance between information volume, recognition difficulty, and system performance. High information density primitives can carry more identification information, but usually require a larger physical size to carry enough data. For small markers required in surgery, it may be difficult to shrink them to a suitable size while maintaining their reliability and accuracy.

[0061] The coding primitives need to have high recognition accuracy. Since the coding patterns need to be attached to the tracker surface with different surface characteristics, including but not limited to planes, cylinders, cones, etc., the feature points of the coding primitives are required to be extracted and located with high precision in various complex environments to ensure the accuracy of implant navigation.

[0062] Based on the above characteristics, the coding elements can be quickly and accurately identified by the system under different environmental conditions, and their shapes, edges and contrasts should be clearly visible.

[0063] As an example, in order to make the shape edge of the coding primitive clearly visible, the coding primitive can be a square, and each square can have a specific pattern. In order to facilitate identification, the coding primitive can be composed based on black and white color features. The coding primitive can have a background color and a filling pattern, and the background color can be black or white. When the background color is white, the filling pattern can be black; when the background color is black, the filling pattern can be white. Based on the combination of black and white colors, the contrast of the coding primitive can be clearly visible, so that the coding primitive has high recognition and high identification.

[0064] Figure 2 is a schematic diagram of a coding primitive provided by this application. Figure 2 , the coding primitive can be a square pattern composed of black and white colors. Figure 2 As shown in , the coding primitive can be divided into four quadrants with the geometric center as the origin, and each quadrant can be filled with a pattern or not. Figure 2 Shown on the left.

[0065] Different codes can be realized according to whether each quadrant of the coding primitive can have a pattern. Each coding primitive has a unique pattern and thus can have a unique corresponding character. Exemplarily, the character of the coding primitive can be determined according to the following formula:

[0066]

[0067] Among them, f is a character, p is used to represent the background color of the coding primitive, and δ(n) is used to represent whether there is a fill pattern in the nth quadrant. When δ(n) is 0, it can be represented that there is no fill pattern in the nth quadrant; when δ(n) is 1, it can be represented that there is a fill pattern in the nth quadrant. P = 0, it represents that the background color of the coding primitive is black; P = 1, it represents that the background color of the coding primitive is white.

[0068] Based on the above encoding method, 30 coding blocks with different patterns and different characters can be determined. In actual application, a preset number of coding blocks can be selected from 30 coding blocks with different patterns and different characters as coding primitives. Exemplary, in order to obtain a higher degree of distinction, 16 coding blocks can be selected from 30 coding blocks as the final coding primitives. For example, in this embodiment, coding blocks with characters of 1, 3, 7, 9, 11, 15, 19, 31, -1, -3, -7, -9, -11, -15, -19, -31 can be selected as coding primitives. Of course, based on different needs, coding blocks of other numbers and other shapes can be selected from coding blocks with different patterns and different characters as coding primitives.

[0069] Of course, the coding primitives may also have other different shapes and color combinations, only one of which is shown in this embodiment. Other coding primitives generated based on the method in this embodiment should also be included in the protection scope of this application.

[0070] The above coding window may be composed of a plurality of coding blocks, and each coding block may be used to fill a coding primitive, thereby generating a coding window with a unique shape. Figure 3 Schematic diagram of a coding window provided in an embodiment of the present application. The coding window may include multiple coding blocks, and each coding block may be filled with a coding primitive.

[0071] like Figure 3 The coding window shown includes 12 coding blocks, each of which is filled with a coding primitive. Figure 3 The coding window in is a 3*4 window, and the coding window can have 3 rows, each row has 4 coding blocks. Each coding block can be filled with a preset number of coding primitives, which is the number of coding primitives. For example, if there are 16 coding primitives in total, the coding window can have a maximum of 16 12 Different patterns, each unique.

[0072] In a possible implementation, a coding window can be generated based on the M-arry coding strategy. M-array coding is a coding method based on a speckle structured light sensor. M-array coding usually adopts global uniqueness coding, nine-square coding, etc. Each coding method has its own specific pattern and algorithm to ensure that each speckle pattern is unique in space. Based on the M-arry coding strategy, each coding window in the coded image can be generated, and each coding window is unique in the coded image.

[0073] In addition, since the coding window is composed of multiple coding primitives, each coding primitive can have a corresponding unique character, so the coding window can have a unique feature descriptor. For example, for a 2*2 coding window, the feature descriptor of the coding window can be a string composed of 4 characters, such as: 1379; -1-3-7-9, etc.

[0074] S102, combining a plurality of the coding windows to obtain a coded image.

[0075] The coding windows can be combined into a whole coded image. Since each coding window is unique, the coded image formed by combining the coding windows is also unique.

[0076] The coding capacity of the entire coded image C = M × N depends on the number of coding primitives q and the coding window size r × s: M × N ≤ q r×s.Wherein, M can be the number of rows of the coded image, N can be the number of columns of the coded image, r can be the number of rows of the coding window, and s can be the number of columns of the coding window. In the M×N coding blocks, there is only one coding combination in the r×s window.

[0077] In a possible implementation, the combination mode of the coding windows can be determined when the coding windows are determined. For example, when a coded image is generated based on the Marry coding strategy, the positions of the generated coding windows in the coded image have been determined. At this time, the coding windows are combined according to the positions corresponding to the coding windows to obtain the corresponding coded image.

[0078] When the coding window is combined into a coded image, the array can be arranged based on the coding window. As an example, the coding array can be generated based on the primitive polynomial. The selection of the primitive polynomial can take into account the number and size of the tracking devices to which the coding pattern needs to be attached. For example, taking q=8 and r×s=2×2 as an example, the primitive polynomial can be h(x)=x 4 +A. h(x) is a polynomial defined on the finite field GF(q), x is the formal variable of the polynomial, representing the unknown number. A is a basic element in the finite field Galoisfield.

[0079] Figure 4 is a schematic diagram of a coded image provided by an embodiment of the present application. Figure 4 As shown, the coded image may include multiple coded blocks, and each coded block is filled with a coded primitive.

[0080] S103, dividing the coded image into a plurality of coded patterns according to the number and size of the tracking devices, each of the coded patterns being unique.

[0081] A complete navigation system often includes multiple trackers. According to the number and size of the tracking devices, the coded image can be segmented to obtain multiple coded patterns. The number of coded patterns is greater than or equal to the number of tracking devices. For example, if each tracking device has one shape, the number of coded patterns is equal to the number of tracking devices. When the tracking device is a combination of multiple shapes, the number of coded patterns is greater than the number of tracking devices.

[0082] The size of each coding pattern can match the shape and size of each tracking device. Since the coding pattern needs to be attached to the surface of the tracking device, the size of each coding pattern needs to match the shape and size of each tracking device.

[0083] Based on this, the number and shape of the coding patterns can be determined according to the number and size of the tracking devices, so that the coding image can be divided to obtain multiple coding patterns.

[0084] As an example, the navigation system may include, but is not limited to: a cell phone tracker, a patient tracker, a cell phone calibration plate, and a Go-plate.

[0085] Among them, the mobile phone tracker is used to track the position changes of the doctor's handheld device in real time to assist navigation. The patient tracker is used to adhere to a specific position on the patient's body to determine the patient's posture and position information during surgery. The mobile phone calibration plate is used to initialize and calibrate the system through the calibration plate before surgery to ensure the alignment of the tracker with the surgical environment. The Go-plate is used to track specific tools or instruments to ensure accurate tool displacement information during surgery.

[0086] Each tracking device can have different shapes. For example, a mobile phone tracker often includes two or more curved surfaces, such as a cylindrical surface and a conical surface, to achieve a smooth connection with the mobile phone. Therefore, the present application proposes to assign different coding patterns to different tracker surfaces to make the coding patterns unique. As an example, Figure 4 The coded image shown is in accordance with Figure 5 The scheme shown is segmented to obtain 5 coding patterns, each of which can be applied to multiple tracker surfaces.

[0087] S104, determining the coding pattern corresponding to each tracking device from the plurality of coding patterns obtained by segmentation.

[0088] Each divided coding pattern is assigned to each tracking device. Figure 5 As shown, ①+② can be the coding patterns of the cylindrical surface and conical surface of the mobile phone tracker respectively; ③ is the coding pattern on the surface of the mobile phone calibration plate; ④ is the coding pattern on the surface of the go-plate; ⑤ is the coding pattern on the surface of the patient tracker.

[0089] Figure 6 It can be a schematic diagram of a tracking device with a coding pattern attached. Figure 6 As shown, the surface of the tracking device can be a plane, a cylindrical plane or a conical plane. Corresponding coding patterns are respectively set on different surfaces of the tracking device.

[0090] It is understandable that this embodiment can ensure that each tracker has a unique identification feature by assigning different unique coding patterns to the surfaces of different trackers, so that the system can accurately distinguish between each tracker and avoid identification errors caused by similar coding. The surface coding of each tracker is different, and the system can ensure accurate tracking of each object even when multiple trackers are used simultaneously in complex surgical scenarios.

[0091] In this embodiment, the coding primitives involved have unique geometric shapes, color combinations or other features. These coding primitives constitute the smallest unit of the entire coding pattern, ensuring the uniqueness and scalability of the coding pattern.

[0092] In this embodiment, the Marray two-dimensional array coding strategy is used to generate the coding pattern, which represents the position information of the tracker by combining the coding units in the two-dimensional matrix. The pattern design with the coding window of r*s ensures the maximum amount of information in a limited space, and has sufficient diversity and uniqueness, which is suitable for multi-object spatial tracking. The custom design of the coding primitives and their application for multi-tracker identification protects the distinguishability between different primitives and ensures their uniqueness in spatial identification.

[0093] In addition, the Marray encoding strategy is combined with a coding window of a specific size (r*s) and applied to the design of a multi-tracker system to ensure that the encoding of each tracker is unique and reduce tracking confusion.

[0094] Each coding window has a unique feature descriptor, which is generated by the geometric features, color information, spatial position and other parameters of the coding block, ensuring that each coding block has a unique identification in the system, thereby achieving accurate tracking and identification.

[0095] The generation and use of feature descriptors, and their application in the encoding block, preserves the system's ability to accurately track multiple objects through unique descriptors.

[0096] The coded pattern is divided into multiple parts and applied to different trackers, including mobile phone trackers, patient trackers, mobile phone calibration plates, go-plates, etc. The coded pattern carried by each tracker is unique to avoid confusion. The segmentation strategy of the coded pattern and its application in different devices, especially in multi-device tracking, protects it from the problem of confusion in tracking different objects in traditional systems.

[0097] Based on the coding pattern determination method of the tracking device, the embodiment of the present application provides a navigation system based on the tracking device. The navigation system may include multiple tracking devices, a visual component and a processor. Each of the tracking devices has a unique coding pattern on its surface. The coding pattern is determined by the coding pattern determination method of the tracking device described above. The visual component can be used to capture an image of a target to be identified. The visual component can be a camera. For example, the visual component can be a binocular camera device, so that the left image and the right image of the tracking device can be captured. The target to be identified in the image can be a tracking device, and the image includes a characteristic pattern of the tracking device. The processor can be used to identify the target tracking device corresponding to the target to be identified based on the image.

[0098] Reference Figure 7 , shows a schematic flow chart of another method for identifying a tracking device provided by an embodiment of the present application, which may specifically include the following steps:

[0099] S701, identifying each coding block in a coding pattern in the image, each coding block being filled with a coding primitive.

[0100] The method in this embodiment can be applied in the above navigation system and recognized by a processor in the navigation system. The processor can deploy an image recognition algorithm, so that each coding block in the coding pattern in the image can be identified based on the image recognition algorithm.

[0101] If there are unclear fuzzy coding blocks in the coding pattern, the coding image used to generate the coding pattern can be found; the pattern of the fuzzy coding block can be determined based on the patterns of the coding blocks adjacent to the fuzzy coding block and the coding image.

[0102] S702: Determine a feature descriptor of the coding pattern based on each of the identified coding blocks.

[0103] In each coding pattern obtained by segmentation, each coding pattern may include a coding window, and each coding window may have a unique feature descriptor. Since each coding window in the coding image is unique, the feature pattern can be identified as long as the feature descriptor of any coding window is identified.

[0104] When determining the feature descriptor, the feature descriptor corresponding to the coding window may be determined based on the coding primitive corresponding to the identified coding block.

[0105] If there is an unclear fuzzy coding window in the coding pattern, the coding image used to generate the coding pattern can be found; the pattern of the fuzzy coding window can be determined based on the pattern of the coding window adjacent to the fuzzy coding window and the coding image.

[0106] S703: Identify the target tracking device corresponding to the coding pattern in the image according to the feature descriptor.

[0107] Each coding pattern has a unique corresponding tracking device, and each coding pattern has one or more unique feature descriptors. After the feature descriptors are identified, it is equivalent to being able to identify the target tracking device corresponding to the coding pattern.

[0108] In this embodiment, after the visual component of the navigation system captures an image containing multiple trackers, the multi-target surface coding information can be extracted through the image processing algorithm. As long as any coding block within r×s is decoded, the category of the target can be confirmed. It should be noted that since some tracker surfaces are not planar, it is necessary to perform affine transformation and other operations on the pattern when extracting the coding block for identification, and decode it after standardizing the coding pattern. If the target surface is blocked, the original coding pattern data can be queried, and the codewords can be completed through the coding arrangement of the adjacent window.

[0109] In the embodiment of the present application, a spatial recognition method with strong anti-interference performance is provided. The navigation system captures the coded pattern through an image sensor and decodes it through a specific image processing algorithm, combining custom coding primitives and feature descriptors to ensure accurate spatial recognition and tracking in complex lighting and interference environments. Through the combination of custom coding primitives, feature descriptors, Marray coding strategies and image processing algorithms, the system is ensured to have high anti-interference and high robustness spatial recognition capabilities.

[0110] Based on the method in the embodiment of the present application, the uniqueness and accuracy of the coding pattern are improved. In many multi-object tracker systems, the coding patterns used may have repeatability or similarity, especially when tracking multiple objects, which may cause coding conflicts or recognition errors, especially in complex environments, such as light changes or surface reflections. Through the Marray two-dimensional array coding strategy and self-designed coding primitives, the present application ensures that each coding block is unique. Combined with a unique feature descriptor, each coding block can be accurately distinguished to avoid coding conflicts and confusion. This significantly improves the accuracy of multi-object recognition, especially in complex environments, where a stable tracking effect is maintained.

[0111] The method in the embodiment of the present application has strong anti-interference ability. Many existing coding systems are prone to failure in strong light, shadow or reflective environments, and the robustness of the system is weak. For example, standard barcodes, QR codes, etc. may have decoding errors under uneven lighting conditions, affecting recognition. The present application improves the robustness of coding in complex environments through customized coding primitives of geometric and color features. In addition, the feature descriptors in the coding pattern can provide additional uniqueness information, and even if part of the coding pattern is interfered with, it can still be accurately identified by the descriptors.

[0112] The method in the embodiment of the present application has flexible multi-tracker application and scalability. Existing multi-object tracking systems usually have restrictions on the application scenarios of specific trackers, and it is difficult to achieve flexible tracking of different types of objects. The trackers of some existing systems can only be used for specific objects or scenes and cannot be easily expanded. The coded pattern of the present application is divided into multiple parts and can be flexibly applied to different trackers (such as mobile phone trackers, patient trackers, mobile phone calibration plates, go-plates, etc.). This design allows the system to adapt to a variety of application scenarios and has higher scalability. For example, it can not only be used for implant surgery navigation, but also can be extended to surgical navigation such as orthopedics and spine, and customized according to needs.

[0113] The method in the embodiment of the present application provides a self-designed coding primitive. Most existing coding systems use general coding primitives (such as standard barcodes, QR codes, etc.), which lack designs for specific scenarios or needs, resulting in poor performance in some complex applications. The coding primitives in this application are self-designed and have a high degree of flexibility and customization.

[0114] It should be noted that the size of the serial numbers of the steps in the above embodiments does not mean 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 the present application.

[0115] Reference Figure 8 , shows a schematic diagram of a coding pattern determination device for a tracking device provided in an embodiment of the present application, which may specifically include a generation module 81, a combination module 82, a segmentation module 83 and a determination module 84, wherein:

[0116] A generating module 81, configured to generate a plurality of coding windows based on a plurality of predetermined coding primitives, each of the coding primitives having a unique pattern, and the pattern of the coding window being unique;

[0117] A combining module 82, used for combining a plurality of the coding windows to obtain a coded image;

[0118] A segmentation module 83, configured to segment the coded image into a plurality of coded patterns according to the number and size of the tracking devices, each of the coded patterns being unique;

[0119] The determination module 84 is used to determine the coding pattern corresponding to each tracking device from the multiple coding patterns obtained by segmentation.

[0120] In a possible implementation, each of the coding primitives has a unique pattern, each of the coding primitives corresponds to a unique character, the character is determined according to the background color and the filling pattern of the coding primitive, and the background color and the filling pattern of the coding primitive have different colors.

[0121] In a possible implementation, the coding primitive is divided into four quadrants with the geometric center as the origin, and the character is determined according to the following formula:

[0122]

[0123] Wherein, f is the character, p is used to represent the background color of the coding primitive, and δ(n) is used to represent whether there is a filling pattern in the nth quadrant.

[0124] In a possible implementation manner, each coding window has a unique feature descriptor, and the feature descriptor is determined according to characters corresponding to each coding primitive in the coding window and an arrangement of each coding primitive.

[0125] Reference Fig. 9 , shows a schematic diagram of a coding pattern recognition device provided in an embodiment of the present application, which may specifically include a coding block recognition module 91, a feature symbol recognition module 923 and a tracking device recognition module 93, wherein:

[0126] A coding block identification module 91, used to identify each coding block in the coding pattern in the image, each coding block is filled with a coding primitive;

[0127] A feature identification module 92, configured to determine a feature descriptor of the coding pattern based on each of the identified coding blocks;

[0128] The tracking device identification module 93 is used to identify the target tracking device corresponding to the coding pattern in the image according to the feature descriptor.

[0129] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment part.

[0130] Fig.10 This is a schematic diagram of the structure of a computer device provided in an embodiment of the present application. Fig.10 As shown, the computer device 100 of this embodiment includes: at least one processor 1000 ( Fig.10 Only one is shown in the figure), a memory 1001 and a computer program 1002 stored in the memory 1001 and executable on the at least one processor 1000, wherein the processor 1000 implements the steps of any of the above-mentioned method embodiments when executing the computer program 1002.

[0131] The computer device 100 may be a computing device such as a desktop computer, a notebook, a PDA, or a cloud computing device. The computer device may include, but is not limited to, a processor 1000 and a memory 1001. Those skilled in the art will appreciate that Fig.10 The computer device 100 is merely an example and does not constitute a limitation on the computer device 100 . The computer device 100 may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the computer device 100 may also include input and output devices, network access devices, etc.

[0132] The processor 1000 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.

[0133] In some embodiments, the memory 1001 may be an internal storage unit of the computer device 100, such as a hard disk or memory of the computer device 100. In other embodiments, the memory 1001 may also be an external storage device of the computer device 100, such as a plug-in hard disk, a smart memory card (SmartMediaCard, SMC), a secure digital (SecureDigital, SD) card, a flash card (FlashCard), etc. equipped on the computer device 100. Further, the memory 1001 may also include both an internal storage unit of the computer device 100 and an external storage device. The memory 1001 is used to store an operating system, an application program, a boot loader (BootLoader), data, and other programs, such as the program code of the computer program. The memory 1001 may also be used to temporarily store data that has been output or is to be output.

[0134] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in the above-mentioned method embodiments can be implemented.

[0135] An embodiment of the present application provides a computer program product. When the computer program product is run on a computer device, the computer device can implement the steps in the above-mentioned method embodiments when executing the computer program product.

[0136] The above-described embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application is described in detail with reference to the above-mentioned embodiments, a person skilled in the art should understand that the technical solutions described in the above-mentioned embodiments can still be modified, or some of the technical features can be replaced by equivalents; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.

Claims

1. A method for determining a coding pattern of a tracking device, characterized in that: include: Based on a plurality of predetermined coding primitives, a plurality of coding windows are generated, wherein the coding primitives are geometric blocks with unique patterns, each of the coding windows comprises a plurality of coding blocks, each of the coding blocks is used to fill a coding primitive, and each of the coding windows is unique; Combining a plurality of the coding windows to obtain a coded image; According to the number and size of the tracking devices, the coded image is divided into a plurality of coded patterns, each of which is unique; From the multiple coding patterns obtained by segmentation, the coding pattern corresponding to each tracking device is determined respectively.

2. The method according to claim 1, characterized in that Each of the coding primitives has a unique pattern, and each of the coding primitives corresponds to a unique character, which is determined according to the background color and the filling pattern of the coding primitive, and the background color and the filling pattern of the coding primitive have different colors.

3. The method according to claim 2, characterized in that The coding primitive is divided into four quadrants with the geometric center as the origin, and the character is determined according to the following formula: Wherein, f is the character, p is used to represent the background color of the coding primitive, and δ(n) is used to represent whether there is a filling pattern in the nth quadrant.

4. The method according to claim 2 or 3, characterized in that Each coding window has a unique feature descriptor, and the feature descriptor is determined according to the characters corresponding to the coding primitives in the coding window and the arrangement of the coding primitives.

5. A navigation system based on a tracking device, characterized in that: The invention comprises a plurality of tracking devices, a visual component and a processor, each of the tracking devices having a unique coding pattern on its surface, the coding pattern being determined by the method described in any one of claims 1 to 4, the visual component being used to capture an image of a target to be identified, the target to be identified being the tracking device, the image comprising a characteristic pattern of the tracking device, and the processor being used to identify a target tracking device corresponding to the target to be identified based on the image.

6. The system according to claim 5, characterized in that The target tracking device corresponding to the target to be identified according to the image includes: identifying respective coding blocks in a coding pattern in the image, each coding block being populated by a coding primitive; Determining a feature descriptor of the coding pattern based on each of the identified coding blocks; According to the feature descriptor, a target tracking device corresponding to the coding pattern in the image is identified.

7. The system according to claim 6, characterized in that The identifying each coding block in the coding pattern in the image comprises: Determining whether there is an ambiguous coding block in the coding pattern of the image; When the blurred coding block exists, searching for the coding image used when generating the coding pattern; The pattern of the blurry coding block is determined according to patterns of coding blocks adjacent to the blurry coding block and the coded image.

8. A coding pattern determination device for a tracking device, characterized in that: include: A generating module, configured to generate a plurality of coding windows based on a plurality of predetermined coding primitives, each of the coding primitives having a unique pattern, and the pattern of the coding window being unique; A combining module, used for combining a plurality of the coding windows to obtain a coded image; A segmentation module, used for segmenting the coded image into a plurality of coded patterns according to the number and size of the tracking devices, each of the coded patterns being unique; The determination module is used to determine the coding pattern corresponding to each tracking device from the multiple coding patterns obtained by segmentation.

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, the method according to any one of claims 1 to 4 is implemented.

10. A computer program product, characterized in that When the computer program product is executed on a computer device, the computer device is caused to execute the method according to any one of claims 1 to 4.