Pose data processing method and device
By filtering the time series of optical marker positions output by the navigation camera and selecting an appropriate filtering method based on the error threshold, the problem of low filtering accuracy of navigation camera pose data is solved, thereby improving the tracking accuracy and safety of the surgical navigation system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING TINAVI MEDICAL TECH
- Filing Date
- 2022-07-28
- Publication Date
- 2026-07-21
AI Technical Summary
In existing technologies, the pose data acquired by navigation cameras has low filtering accuracy, resulting in insufficient tracking accuracy of surgical navigation systems.
By filtering the time series of optical marker positions output by the navigation camera, calculating the process error, and selecting an appropriate filtering method based on the error threshold, including original optical marker filtering and direct filtering, high-precision pose data can be obtained under both static and dynamic conditions.
It improves the tracking accuracy of the navigation camera, ensuring the precision and safety of instrument navigation in the surgical navigation system, and reduces the accuracy loss introduced by the processing of the original optical markers.
Smart Images

Figure CN117503346B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer vision recognition technology, and in particular to a pose data processing method and apparatus. Background Technology
[0002] In orthopedic surgery, surgical navigation systems accurately correlate patient imaging data with the patient's physiological and anatomical structures, assisting surgeons in executing surgical plans and guiding the operation of surgical instruments, thereby making orthopedic surgery more precise, rapid, and safe. Within the surgical navigation system, the position and pose data of the tracker can be directly obtained from the system's navigation camera.
[0003] In practical use, both navigation cameras and trackers exhibit noise. To improve the tracking accuracy of the navigation camera, the pose data acquired from the navigation camera needs to be filtered. The tracker's pose data is obtained by the navigation camera based on the positions of the original optical markers on the tracker. This means that the pose information obtained after filtering the tracker's pose data will introduce the accuracy loss caused by the processing of the original optical markers, thus failing to guarantee high filtering accuracy. Summary of the Invention
[0004] In view of this, embodiments of the present disclosure provide a pose data processing method, apparatus, electronic device, and computer-readable storage medium to solve the problem of low filtering accuracy when filtering pose data output by navigation cameras in the prior art.
[0005] A first aspect of this disclosure provides a pose data processing method, which includes: acquiring an initial position time series of an optical marker on a tracker output by a navigation camera; filtering the initial position time series to obtain an intermediate position time series; acquiring a first pose time series and a process error of the optical marker based on the intermediate position time series and the standard position of the optical marker, wherein the standard position is the position of the optical marker in the initial state; and determining the first pose time series as the pose data of the optical marker if the process error is less than a set threshold.
[0006] A second aspect of this disclosure provides a pose data processing apparatus, comprising: an initial sequence acquisition module for acquiring an initial position time series of an optical marker on a tracker output by a navigation camera; a filtering module for filtering the initial position time series to obtain an intermediate position time series; a pose sequence acquisition module for acquiring a first pose time series and a process error of the optical marker based on the intermediate position time series and a standard position of the optical marker, wherein the standard position is the position of the optical marker in the initial state; and a determination module for determining the first pose time series as the pose data of the optical marker when the process error is less than a set threshold.
[0007] A third aspect of this disclosure provides an electronic 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 steps of the method described above.
[0008] A fourth aspect of this disclosure provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the above-described method.
[0009] The beneficial effects of this embodiment compared with the prior art are as follows: the position time series in the pose data output by the navigation camera is filtered, and a candidate pose time series and process error are obtained based on the processed position time series and the standard position of the optical markers. Finally, the selection of the candidate pose time series is determined based on the process error and the error threshold. Compared with the prior art, this can reduce the accuracy loss caused by the original optical marker processing when the navigation camera acquires pose data, improve the filtering accuracy, and thus obtain more accurate pose data.
[0010] In this embodiment, the original optical marker filtering method can be used first to obtain the filtered pose data and the process error of the filtering process. Then, it is determined whether the pose data filtered by the original optical marker filtering method is used as the final pose data based on whether the process error is less than a set threshold σ. Specifically, the process error Err can be used as the filter. j When the value is less than the set threshold σ, the filtering result using the original optical marker filtering method, within the process error Err... j When the value is greater than σ, the filtering result is obtained by direct filtering. The pose data processing scheme of this disclosure is a coupled filtering scheme that automatically selects the filtering method. It can simultaneously ensure the tracking performance of the navigation system under both static and dynamic conditions and obtain the optimal filtering performance. This can improve the tracking accuracy of the navigation camera and ensure the accuracy and safety of instrument navigation in the surgical navigation system. Attached Figure Description
[0011] To more clearly illustrate the technical solutions in the embodiments of this disclosure, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this disclosure. 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 navigation camera and tracker in related technologies;
[0013] Figure 2 This is a schematic flowchart of a pose data processing method provided in an embodiment of this disclosure;
[0014] Figure 3 This is a flowchart illustrating the direct filtering method provided in the embodiments of this disclosure;
[0015] Figure 4 This is a flowchart illustrating another pose data processing method provided in this embodiment of the present disclosure;
[0016] Figure 5 This is a schematic diagram of the structure of a pose data processing device provided in an embodiment of this disclosure;
[0017] Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation
[0018] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, so as to provide a thorough understanding of the embodiments of this disclosure. However, those skilled in the art will understand that this disclosure 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 disclosure with unnecessary detail.
[0019] like Figure 1 As shown, the navigation camera 101 is an optical navigation camera that can acquire the pose information of the optical markers 103 on the tracker 102. At least three optical markers are rigidly fixed on the tracker, and these optical markers can be reflective markers or actively emitting markers.
[0020] After acquiring the position information of an optical marker, the navigation camera can automatically calculate the pose information of the optical marker based on the change of the position information over time, forming pose data including the position information and the corresponding pose information, and then outputting it. The position information can be represented using three-dimensional xyz coordinates, and the pose information can be represented using Euler angles, axis-angles, or quadruples. In this embodiment, the pose information is represented using quadruples.
[0021] Specifically, the navigation camera captures the position P of the optical marker i on the tracker in frame j. ij And based on P ij Generate pose data W representing the pose information of the tracker. j Where j = 1, 2, ..., tn. The pose data is a time series including position and attitude components. In related technologies, pose data obtained from navigation cameras can be directly processed. After filtering, the pose data is: Where t represents the position component and Q represents the attitude component. The position and attitude components of the pose data obtained from the navigation camera are independent and can be filtered separately.
[0022] The position and attitude components of the optical markers output by the navigation camera can be filtered by two different filters, and the filtered position and attitude components can be expressed by the following formulas (1) and (2):
[0023]
[0024]
[0025] Where n represents the order of filtering, w is the direction of one axis of the xyz coordinate system, and k is one dimension of the quadruple.
[0026] In the prior art, the filtering accuracy of directly filtering pose data obtained from navigation cameras is not high. In order to improve the filtering accuracy, this disclosure proposes a pose data processing method and apparatus.
[0027] In the pose data processing scheme of this disclosure embodiment, the original position data of optical markers on the tracker can be obtained from the navigation camera, and the original position data of each marker can be filtered before the pose data is calculated.
[0028] The pose data processing method and apparatus according to embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings.
[0029] Figure 2This is a flowchart illustrating a pose data processing method provided in an embodiment of this disclosure. The method provided in this embodiment can be executed by any electronic device with computer processing capabilities, such as a terminal or server. Figure 2 As shown, the pose data processing method includes:
[0030] Step S201: Obtain the initial position time series of the optical markers on the tracker output by the navigation camera.
[0031] Specifically, the initial position time series is the position time series of optical markers in the xyz coordinate system directly output by the navigation camera.
[0032] Step S202: Filter the initial position time series to obtain the intermediate position time series.
[0033] Specifically, when performing filtering, the position time series of the components along each axis in the xyz coordinate system can be filtered independently.
[0034] Step S203: Obtain the first pose time series and process error of the optical marker based on the intermediate position time series and the standard position of the optical marker, wherein the standard position is the position of the optical marker in the initial state.
[0035] Specifically, the first pose time series is a candidate pose data processing result, which includes both position and attitude sequences. Whether to use the first pose time series as the final selected pose data processing result needs to be determined based on the process error of the filtering process.
[0036] Step S204: If the process error is less than the set threshold, then the first pose time series is determined to be the pose data of the optical marker.
[0037] Specifically, when the process error is less than a set threshold, the first pose time series is used as the final selected pose data processing result.
[0038] According to the technical solution of this disclosure, by filtering the original position time series of the optical markers output by the navigation camera, and determining the final pose data of the optical markers based on the filtered data and process errors, the tracking accuracy of the navigation camera can be improved, ensuring the accuracy and safety of instrument navigation in the surgical navigation system.
[0039] In step S201, the position time series P of the optical marker on the tracker can be obtained from the navigation camera. ij , where i = 1, 2, ..., n, j = 1, 2, ..., tn.
[0040] In step S202, for each optical marker point i, its initial position time series P is calculated. ij By filtering (i = 1, 2, ..., n), we can obtain the time series Q of the intermediate position of the optical marker point i after filtering. ij (i = 1, 2, ..., n).
[0041] In step S202, the position P of the optical marker point i can be determined according to the following formulas (3), (4) and (5). ij Components along the xyz axes Digital filtering is performed separately to obtain the position P of the filtered optical marker point i. ij Components along the xyz axes
[0042]
[0043]
[0044]
[0045] Where a = (a1, a2, ..., a2) n+1 ) and b = (b1, b2, ..., b n+1 ) represents the filter parameters, na and nb are the filter orders, and x is the filter order. P y P , z P These are the xyz coordinates of the optical marker before filtering, where x is the position coordinate of the marker in the xyz coordinate system. Q y Q , z Q is the position coordinate of the filtered optical marker in the xyz coordinate system, i is the order of the optical marker, j is the order of the image frames output by the navigation camera, and n, i, j and k are all natural numbers.
[0046] In this embodiment, the filter order na and nb can be selected according to the actual situation, and generally the filter order can be less than 10.
[0047] In this embodiment of the disclosure, the pose V of the j-th frame image j A rigid transformation matrix M can be used j The rigid transformation matrix M represents... j It can be achieved through standard position and position component Q ij Obtained. Wherein, the position component Q ij This refers to the intermediate position time series, where the standard position is the location of the optical marker point on the tracker coordinate system, denoted as G. i (i = 1...n).
[0048] In step S203, the first pose time series can be obtained by using the SVD (Singular Value Decomposition) algorithm or the ICP (Iterative Closest Point) algorithm based on the intermediate position time series and the standard position.
[0049] SVD (Single Matrix Decomposition) is a matrix factorization method that can improve computational efficiency. ICP (Inter-Cyclic Parametric Alignment) is a 3D object alignment algorithm based on a purely geometric model, which can improve computational accuracy.
[0050] In step S203, the rigid transformation matrix M can be calculated according to the following formula (6). j As the first pose time series:
[0051]
[0052] Where n, i, and j are all natural numbers, G i Q represents the standard position of the i-th optical marker. ij This is a time series of intermediate positions of optical markers. argmin is the expression... The function that takes the value of the variable when it reaches its minimum value, i.e., M j In order to make M at its minimum value j value.
[0053] After obtaining the rigid transformation matrix M j The fitting error when filtering the initial position time series can then be calculated; this fitting error is the process error Err. j Process error Err j It can be used to evaluate the filtering effect.
[0054] It can be calculated according to the following formula (7) or formula (8).
[0055]
[0056] Err j =max i ||M j G i -Q ij || 2 (8)
[0057] Where n, i, and j are all natural numbers, G i Q represents the standard position of the i-th optical marker. ij Let M be the time series of the intermediate positions of the optical marker, and let M be the rigid transformation matrix. jGiven the sequence, i.e., in formulas (7) and (8), M j M is used as a known quantity in the calculation. j The value of is the result of the calculation of formula (6).
[0058] Steps S201 to S203 describe a filtering method based on the raw optical marker position information obtained from the navigation camera, referred to as the raw optical marker filtering method. In static scenarios where the tracker remains stationary, this raw optical marker filtering method achieves better filtering accuracy due to the utilization of additional optical marker information.
[0059] Using this original optical marker filtering method requires additional computation time. However, the time it takes for the navigation camera to capture each frame of data from the tracker is very short, on the order of 100µs. As a result, in dynamic scenarios where the tracker moves quickly, the delay caused by this additional computation time will reduce the filtering performance. The reduced filtering performance is even weaker than the filtering performance of directly filtering the pose data output by the navigation camera.
[0060] To achieve better filtering accuracy, an appropriate filtering method can be selected based on the business scenario. For example, in static acquisition scenarios such as image registration, the original optical marker filtering method can be used, while in dynamic acquisition scenarios such as dynamic osteotomy, the method of directly filtering the pose data output by the navigation camera can be used. The method of directly filtering the pose data output by the navigation camera can be simply referred to as the direct filtering method.
[0061] like Figure 3 As shown in this embodiment, the direct filtering method for directly filtering the pose data output by the navigation camera includes the following steps:
[0062] In step S301, when obtaining the second pose time series, the initial pose time series is obtained, which includes the time series of position and attitude information of the optical marker.
[0063] Step S302: Filter the initial pose time series to obtain the second pose time series.
[0064] Under dynamic conditions, the motion paths of multiple optical markers are not consistent within the exposure time of the navigation camera, causing a non-consistent shift in the position of the optical markers identified by the navigation camera. The original optical marker filtering method cannot eliminate this non-consistent shift, resulting in a process error Err during the filtering process. j Increase. Among them, Err j It can be used to characterize the inherent error of filtering methods based on original optical markers under dynamic conditions.
[0065] Based on the above principles, in addition to selecting an appropriate filtering method according to the business scenario, this disclosure provides a filtering method selection method that selects the filtering method based on the relationship between the process error and a set threshold. Based on this filtering method selection method, the pose data processing scheme of this disclosure can be understood as a coupled filtering scheme that automatically selects the filtering method, which can simultaneously ensure the tracking performance of the navigation system under both static and dynamic conditions and obtain optimal filtering performance.
[0066] Based on the above filtering method, if the process error is less than the set threshold, step S204 is executed, and the first pose time series is output as the pose data processing result. If the process error is greater than or equal to the threshold, the second pose time series is determined to be the pose data of the optical marker, wherein the second pose time series is obtained by filtering the initial pose time series of the optical marker output by the navigation camera.
[0067] In the above coupled filtering scheme, the original optical marker filtering method can be used first to obtain the filtered pose data and the process error of the filtering process. Then, based on whether the process error is less than a set threshold σ, it is determined whether the pose data filtered by the original optical marker filtering method should be used as the final pose data. Specifically, the process error Err can be used as the threshold σ. j When the value is less than the set threshold σ, the filtering result using the original optical marker filtering method, within the process error Err... j When the value is greater than σ, the filtering result is obtained by using the direct filtering method.
[0068] like Figure 4 As shown in the embodiments of this disclosure, a pose data processing method using a coupling filtering scheme may include the following steps:
[0069] Step S401: Obtain the original position time series P of the optical marker points. ij and the original pose time series W j .
[0070] Step S402: Using the original optical marker filtering method, based on the original position time series P ij Obtain the first pose data V j and process error Err j .
[0071] Specifically, the argmin function can be used to obtain the expression that makes the expression... The rigid transformation matrix M with minimum value j And use the rigid transformation matrix as the first pose data.
[0072] Step S403, determine the process error Err jIs it less than the set threshold σ? If yes, proceed to step S404; otherwise, proceed to step S405.
[0073] Specifically, Err j This is used to characterize the inherent error of the original optical marker filtering method under dynamic conditions. When this inherent error meets the requirement of being less than σ, the filtering accuracy of the original optical marker filtering method is high, and the first pose data obtained using the original optical marker filtering method can be used as the output result of the pose data processing scheme. When this inherent error does not meet the requirement of being less than σ, the filtering accuracy of the original optical marker filtering method is low, and the second pose data obtained by the direct filtering method needs to be used as the output result of the pose data processing scheme.
[0074] Step S404, output the first pose data V j .
[0075] Step S405: Obtain the original pose time sequence W using a direct filtering method. j The obtained second pose data U j And output it.
[0076] The navigation camera data filtering scheme that combines multiple filtering methods proposed in this disclosure can achieve filtering effects under both static and dynamic conditions, thereby improving filtering accuracy.
[0077] All of the above-mentioned optional technical solutions can be combined in any way to form the optional embodiments of this application, and will not be described in detail here.
[0078] According to the pose data processing method of this disclosure, the position time series in the pose data output by the navigation camera is filtered, and a candidate pose time series and process error are obtained based on the processed position time series and the standard position of the optical markers. Finally, the selection of the candidate pose time series is determined based on the process error and the error threshold. Compared with the prior art, this method can reduce the accuracy loss caused by the original optical marker processing when the navigation camera acquires pose data, improve the filtering accuracy, and thus obtain more accurate pose data.
[0079] The following are embodiments of the apparatus disclosed herein, which can be used to execute the embodiments of the method disclosed herein. The pose data processing apparatus described below and the pose data processing method described above can be referred to each other. For details not disclosed in the apparatus embodiments of this disclosure, please refer to the method embodiments of this disclosure.
[0080] Figure 5 This is a schematic diagram of a pose data processing device provided in an embodiment of this disclosure. Figure 5 As shown, the pose data processing device includes:
[0081] The initial sequence acquisition module 501 can acquire the initial position time series of optical markers on the tracker output by the navigation camera.
[0082] Specifically, the initial position time series is the position time series of optical markers in the xyz coordinate system directly output by the navigation camera.
[0083] The filtering module 502 can filter the initial position time series to obtain the intermediate position time series.
[0084] Specifically, when performing filtering, the position time series of the components along each axis in the xyz coordinate system can be filtered independently.
[0085] The pose sequence acquisition module 503 can acquire the first pose time sequence and process error of the optical marker based on the intermediate position time sequence and the standard position of the optical marker. The standard position is the position of the optical marker in the initial state.
[0086] Specifically, the first pose time series is a candidate pose data processing result, which includes both position and attitude sequences. Whether to use the first pose time series as the final selected pose data processing result needs to be determined based on the process error of the filtering process.
[0087] The determination module 504 can determine the first pose time series as the pose data of the optical marker when the process error is less than a set threshold.
[0088] Specifically, when the process error is less than a set threshold, the first pose time series is used as the final selected pose data processing result.
[0089] According to the technical solution of this disclosure, by filtering the original position time series of the optical markers output by the navigation camera, and determining the final pose data of the optical markers based on the filtered data and process errors, the tracking accuracy of the navigation camera can be improved, ensuring the accuracy and safety of instrument navigation in the surgical navigation system.
[0090] In this embodiment of the disclosure, the filtering module 502 can also perform digital filtering processing according to the following formulas (3), (4) and (5):
[0091]
[0092]
[0093]
[0094] Where a = (a1, a2, ..., a2) n+1) and b = (b1, b2, ..., b n+1 ) represents the filter parameters, na and nb are the filter orders, and x is the filter order. P y P , z P These are the xyz coordinates of the optical marker before filtering, where x is the position coordinate of the marker in the xyz coordinate system. Q y Q , z Q is the position coordinate of the filtered optical marker in the xyz coordinate system, i is the order of the optical marker, j is the order of the image frame, and n, i, j and k are all natural numbers.
[0095] In this embodiment of the disclosure, the pose sequence acquisition module 503 can also acquire the first pose time sequence by using a singular value decomposition algorithm or an iterative nearest point algorithm based on the intermediate position time sequence and the standard position.
[0096] SVD (Single Matrix Decomposition) is a matrix factorization method that can improve computational efficiency. ICP (Inter-Cyclic Parametric Alignment) is a 3D object alignment algorithm based on a purely geometric model, which can improve computational accuracy.
[0097] In this embodiment of the disclosure, the pose sequence acquisition module 503 can also calculate the rigid transformation matrix M according to the following formula (6). j As the first pose time series:
[0098]
[0099] Where n, i, and j are all natural numbers, G i Q represents the standard position of the i-th optical marker. ij This is a time series of intermediate positions of optical markers.
[0100] In this embodiment of the disclosure, the pose sequence acquisition module 503 can also calculate the process error Err according to the following formula (7) or formula (8). j :
[0101]
[0102] Err j =max i ||M j G i -Q ij || 2 (8)
[0103] Where n, i, and j are all natural numbers, G i Q represents the standard position of the i-th optical marker. ij Let M be the time series of the intermediate positions of the optical marker, and let M be the rigid transformation matrix. jThe sequence is known.
[0104] This disclosure provides a filtering method for selecting a filtering mode based on the relationship between process error and a set threshold. Based on this filtering method, the pose data processing scheme of this disclosure can be understood as a coupled filtering scheme that automatically selects the filtering mode, simultaneously ensuring the tracking performance of the navigation system under both static and dynamic conditions, and achieving optimal filtering performance.
[0105] In this embodiment of the disclosure, the determining module can further determine the second pose time series as the pose data of the optical marker when the process error is greater than or equal to a threshold. The second pose time series is obtained by filtering the initial pose time series of the optical marker output by the navigation camera.
[0106] In this embodiment of the present disclosure, the pose data processing device may further include a static processing module, which can acquire an initial pose time series, which includes a time series of position information and attitude information of optical markers, and perform filtering processing on the initial pose time series to obtain a second pose time series.
[0107] In the above coupled filtering scheme, the original optical marker filtering method can be used first to obtain the filtered pose data and the process error of the filtering process. Then, based on whether the process error is less than a set threshold σ, it is determined whether the pose data filtered by the original optical marker filtering method should be used as the final pose data. Specifically, the process error Err can be used as the threshold σ. j When the value is less than the set threshold σ, the filtering result using the original optical marker filtering method, within the process error Err... j When the value is greater than σ, the filtering result is obtained by using the direct filtering method.
[0108] The navigation camera data filtering scheme that combines multiple filtering methods proposed in this disclosure can achieve filtering effects under both static and dynamic conditions, thereby improving filtering accuracy.
[0109] Since the functional modules of the pose data processing device in the example embodiments of this disclosure correspond to the steps of the example embodiments of the pose data processing method described above, for details not disclosed in the device embodiments of this disclosure, please refer to the embodiments of the pose data processing method described above.
[0110] According to the pose data processing apparatus of this disclosure, the position time series in the pose data output by the navigation camera is filtered, and a candidate pose time series and process error are obtained based on the processed position time series and the standard position of the optical markers. Finally, the selection of the candidate pose time series is determined based on the process error and the error threshold. Compared with the prior art, this apparatus can reduce the accuracy loss caused by the original optical marker processing introduced when the navigation camera acquires pose data, improve the filtering accuracy, and thus obtain more accurate pose data.
[0111] It should be understood 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 disclosure.
[0112] Figure 6 This is a schematic diagram of the electronic device 6 provided in an embodiment of this disclosure. Figure 6 As shown, the electronic device 6 of this embodiment includes a processor 601, a memory 602, and a computer program 603 stored in the memory 602 and executable on the processor 601. When the processor 601 executes the computer program 603, it implements the steps in the various method embodiments described above. Alternatively, when the processor 601 executes the computer program 603, it implements the functions of each module in the various device embodiments described above.
[0113] Electronic device 6 can be a desktop computer, laptop, handheld computer, cloud server, or other electronic device. Electronic device 6 may include, but is not limited to, processor 601 and memory 602. Those skilled in the art will understand that... Figure 6 This is merely an example of electronic device 6 and does not constitute a limitation on electronic device 6. It may include more or fewer components than shown, or different components.
[0114] The processor 601 may 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.
[0115] The memory 602 can be an internal storage unit of the electronic device 6, such as a hard disk or RAM of the electronic device 6. The memory 602 can also be an external storage device of the electronic device 6, such as a plug-in hard disk, Smart Media Card (SMC), Secure Digital (SD) card, Flash Card, etc., equipped on the electronic device 6. The memory 602 can also include both internal and external storage units of the electronic device 6. The memory 602 is used to store computer programs and other programs and data required by the electronic device.
[0116] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0117] If the integrated module is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program may include computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium may include: any entity or device capable of carrying computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium may be appropriately added to or subtracted according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable medium does not include electrical carrier signals and telecommunication signals.
[0118] The above embodiments are only used to illustrate the technical solutions of this disclosure, and are not intended to limit it. Although this disclosure 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. Such 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 disclosure, and should all be included within the protection scope of this disclosure.
Claims
1. A pose data processing method, characterized in that, The method includes: Acquire the initial position time series of optical markers on the tracker output by the navigation camera; The initial position time series is filtered to obtain the intermediate position time series; The first pose time series and process error of the optical marker are obtained based on the intermediate position time series and the standard position of the optical marker, wherein the standard position is the position of the optical marker in the initial state; If the process error is less than a set threshold, then the first pose time series is determined to be the pose data of the optical marker.
2. The method according to claim 1, characterized in that, After obtaining the first pose time series and process error of the optical marker based on the intermediate position time series and the standard position of the optical marker, the method further includes: If the process error is greater than or equal to the threshold, then the second pose time series is determined to be the pose data of the optical marker, wherein the second pose time series is obtained by filtering the initial pose time series of the optical marker output by the navigation camera.
3. The method according to claim 2, characterized in that, Before determining the second pose time series as the pose data of the optical marker, the method further includes: The initial pose time series is obtained, which includes the time series of the position and attitude information of the optical marker; The initial pose time series is filtered to obtain the second pose time series.
4. The method according to claim 1, characterized in that, Filtering the initial position time series includes: performing digital filtering according to the following formula: Where a = (a1, a2, ..., a2) n+1 ) and b = (b1, b2, ..., b n+1 ) represents the filter parameters, na and nb are the filter orders, and x is the filter order. P y P , z P These are the xyz coordinates of the optical marker before filtering, where x is the position coordinate of the marker in the xyz coordinate system. Q y Q , z Q is the position coordinate of the filtered optical marker in the xyz coordinate system, i is the order of the optical marker, j is the order of the image frame, and n, i, j and k are all natural numbers.
5. The method according to claim 1, characterized in that, Obtaining the first pose time series of the optical marker based on the intermediate position time series and the standard position of the optical marker includes: The first pose time series is obtained by using the singular value decomposition algorithm or the iterative nearest point algorithm based on the intermediate position time series and the standard position.
6. The method according to claim 5, characterized in that, The first pose time series is obtained by using the singular value decomposition algorithm or the iterative nearest point algorithm based on the intermediate position time series and the standard position, including: Calculate the rigid transformation matrix M using the following formula. j As the first pose time sequence: Where n, i, and j are all natural numbers, G i Q represents the standard position of the i-th optical marker. ij This is a time series of intermediate positions of optical markers.
7. The method according to claim 6, characterized in that, The process error is obtained based on the intermediate position time series and the standard position of the optical marker, including: Calculate the process error Err using one of the following formulas. j : and Where n, i, and j are all natural numbers, G i Q represents the standard position of the i-th optical marker. ij Let M be the time series of the intermediate positions of the optical marker, and let M be the rigid transformation matrix. j The sequence is known.
8. A pose data processing device, characterized in that, The device includes: The initial sequence acquisition module is used to acquire the initial position time series of optical markers on the tracker output by the navigation camera; The filtering module is used to filter the initial position time series to obtain the intermediate position time series; The pose sequence acquisition module is used to acquire the first pose time sequence and process error of the optical marker based on the intermediate position time sequence and the standard position of the optical marker, wherein the standard position is the position of the optical marker in the initial state; The determination module is used to determine the first pose time series as the pose data of the optical marker when the process error is less than a set threshold.
9. An electronic 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 steps of the method as described in any one of claims 1 to 7.
10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method as described in any one of claims 1 to 7.