Introduction

Kalman filter (KF) refers to a recursive algorithm which minimizes mean-squared error (MSE) and refines the noisy measurements of a system through two stages: prediction and correction [22]. Besides many other techniques [19], KF has extensively been used in data fusion, tracking and prediction in numerous fields. However, one of the main limitations of KF is that it can be only applied in linear systems. As a consequence, two notable extensions of KF called the extended Kalman filter (EKF) [9] and unscented Kalman filter (UKF) [11] have been proposed. EKF linearizes the system under consideration around the operating point and then feeds to the KF. Aissa et al. [1] exploited EKF in conjunction with neural networks as a feedback controller to track a desired trajectory. To compensate disturbance, Li et al. [13] applied EKF as an observer to perfectly track wheeled robots. In [14], a proportional derivative controller associated with EKF was used for trajectory tracking. Prevost et al. [18] employed EKF to estimate the state and predict the trajectory of a moving object. Moore et al. [16] exploited a robot localization package equipped with EKF that can determine which sensors should be available for estimating the current parameter. To increase the robustness of trajectory tracking, Mkhoyan et al. [15] used kernelized correlation filter in addition to EKF as the online parameters estimator. In [17], a modified EKF model was utilized for oceanic data fusion. Despite its wide applicability, EKF is inherently limited by the sensitivity of the linearization step. In case of a highly nonlinear process, EKF often introduces instability to the system by linearizing it away from its operating point. To resolve this important drawback of EKF, researchers have introduced UKF. Instead of linearization, UKF tackles the nonlinearity issue using an unscented transform, where the nonlinear system transforms to a probability distribution function. Thus far, UKF has been incorporated in a variety of applications. Kraft et al. [12] utilized UKF to track the orientation using a quaternion model in a system with six state variables. To constrain the velocity of a mobile robot and precisely track desired trajectories, Xu et al. [23] employed UKF and KF, where dynamics and kinematics of the robot were taken into account. Chowdhary et al. [3] applied three versions of KF, namely EKF, simplified UKF and augmented UKF for aerodynamic parameter estimation. The results show that the third version is faster than the ones. VanDyke et al. [21] compared the performance of EKF and UKF in spacecraft attitude estimation. The experimental results showed that UKF, besides being more accurate, is less dependent on the initial estimates.

In recent years, computer-aided applications including surgical tracking have emerged rapidly. Optical tracking of the surgical tools often guides the clinicians to perform high-precision surgical procedures [6]. Infrared emitting diodes, commonly known as active fiducials, are embedded on the surgical tools to be used as reference points to estimate the location and orientation of the tool. However, the noisy observations often lead to an inaccurate estimation of the instrument’s pose which can increase surgical errors. Numerous investigators have employed EKF and UKF to reduce the tracking error by taking the expected noise statistics and temporal constancy into account. Translational velocity and acceleration and angular velocity are used as the state variables in [5] to devise an EKF model. Taylor series as well as Rodrigues formula [4] has been used to linearize the model and prepare for Kalman filtering. However, the performance of EKF is highly dependent on proper linearization. In addition, [10] and [8] demonstrated that UKF provides higher tracking accuracy compared to EKF. Vaccarella et al. [20] exploited a quaternion-based UKF model using translation, linear velocity, quaternion and angular velocity as the state variables to avoid matrix singularity problem that originates from using Euler angles in rotation tracking. The surgical navigation tracking error due to electromagnetic perturbation and occlusion was substantially decreased. In addition to the state variables that [20] employed, Enayati et al. [7] considered linear acceleration as a state variable for surgical tracking which increased the robustness against environmental disturbance and occlusion.

Although the aforementioned works have reported promising tracking results, they require long execution times and are not suitable for high frame-rate optical tracking applications. Multi-camera optical tracking system to assist total knee arthroplasty (TKA) is such an application which operates at a temporal resolution of approximately 200 fps. A robust and accurate localization of surgical array is of paramount importance in TKA. However, tracking data obtained by the current system yield high sensitivity to noise. Inspired by previous works, our aim is to combine KF with the existing scheme to increase tracking and localization accuracy of the system. However, the rigid-body implementations of extended and unscented KF might not be suitable for the system under discussion. Therefore, instead of the whole array as a rigid body, this paper proposes to track each fiducial on the surgical array individually, taking a linear KF into account. This simplification has been possible due to the availability of sufficient temporal information obtained from the high frame-rate system. The advantage of the proposed technique is twofold. First, being fast and computationally light, this framework is compatible with the high frame-rate optical tracking system. Second, any unusual phenomena such as occlusion of a particular fiducial can easily be detected by this scheme since the temporal behavior of each fiducial is assessed individually. We have validated the proposed technique with one simulated and three real datasets obtained using an optical tracking system and compared the performance against that of UKF.

Methods

Let \(z_{k}=\begin{bmatrix} p_{x,k}&p_{y,k}&p_{z,k} \end{bmatrix}^{T}\), \(k \in \{1,2,3,\dots ,n\}\) denote the position measurement of the center of a fiducial at time k. We assume that \(z_{k}\) is corrupted with anisotropic Gaussian noise. Our purpose is to exploit the expected noise statistics of the measured data to minimize the measurement noise and stabilize the temporal tracking using KF.

State variables and update equations

We consider 3D components of translation \(\pmb {t}=\begin{bmatrix} t_{x}&t_{y}&t_{z} \end{bmatrix}^{T}\), velocity \(\pmb {v}=\begin{bmatrix} v_{x}&v_{y}&v_{z} \end{bmatrix}^{T}\) and acceleration \(\pmb {a}=\begin{bmatrix} a_{x}&a_{y}&a_{z} \end{bmatrix}^{T}\) as our state variables. Since we assume a constant acceleration motion model, the update equations for the state variables are:

$$\begin{aligned} \pmb {t}_{k}= & {} \pmb {t}_{k-1} + \pmb {v}_{k-1}\Delta t + \frac{1}{2}\pmb {a}_{k-1}\Delta t^{2} \end{aligned}$$
(1)
$$\begin{aligned} \pmb {v}_{k}= & {} \pmb {v}_{k-1} + \pmb {a}_{k-1}\Delta t \end{aligned}$$
(2)
$$\begin{aligned} \pmb {a}_{k}= & {} \pmb {a}_{k-1} \end{aligned}$$
(3)

where \(\Delta t\) denotes the time interval.

Kalman filter pipeline

The Kalman filter consists of two steps. The first step predicts the current state and the state covariance matrix based on the estimates of the previous time step and the state update model. The second step takes the actual measurement into account to refine the predictions made in the first step. The state update model described earlier obtains \(x_{k}^{-}\), the prior estimate of the current state, using the following linear equation:

$$\begin{aligned} x_{k}^{-} = Ax_{k-1} \end{aligned}$$
(4)

where \(x_{k-1} = \begin{bmatrix} t_{x}&v_{x}&a_{x}&t_{y}&v_{y}&a_{y}&t_{z}&v_{z}&a_{z} \end{bmatrix}^T\) denotes the posterior state estimate of the previous time step. A describes the motion model and is defined as follows:

$$\begin{aligned} A=\begin{bmatrix} 1 &{} \Delta t &{} \frac{1}{2}\Delta t^{2} &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0\\ 0 &{} 1 &{} \Delta t &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0\\ 0 &{} 0 &{} 1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0\\ 0 &{} 0 &{} 0 &{} 1 &{} \Delta t &{} \frac{1}{2}\Delta t^{2} &{} 0 &{} 0 &{} 0\\ 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} \Delta t &{} 0 &{} 0 &{} 0\\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} 0 &{} 0 &{} 0\\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} \Delta t &{} \frac{1}{2}\Delta t^{2}\\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} \Delta t\\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1\\ \end{bmatrix} \end{aligned}$$
(5)

The prior estimate of the state noise covariance matrix \(P_{k}^{-}\) is obtained as follows:

$$\begin{aligned} P_{k}^{-} = AP_{k-1}A^{T} + Q \end{aligned}$$
(6)

where \(P_{k-1}\) refers to the posterior estimate of the state covariance matrix obtained from the previous time step. Q denotes the process covariance matrix. Taking \(P_{k}^{-}\) into account, the Kalman gain \(K_{k}\) is calculated as follows:

$$\begin{aligned} K_{k} = P_{k}^{-}H^{T}(HP_{k}^{-}H^{T} + R)^{-1} \end{aligned}$$
(7)

where R stands for the measurement covariance matrix. H obtains a prediction of the measurement using the state prediction and is defined as:

$$\begin{aligned} H=\begin{bmatrix} 1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0\\ 0 &{} 0 &{} 0 &{} 1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0\\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} 0 &{} 0\\ \end{bmatrix} \end{aligned}$$
(8)

Once the priori estimates and the Kalman gain are calculated, the actual measurement is incorporated to fine-tune the state prediction. We use the difference between predicted and actual measurements to obtain the posterior state estimate according to the following equation:

$$\begin{aligned} x_{k} = x_{k}^{-} + K_{k}(z_{k}-Hx_{k}^{-}) \end{aligned}$$
(9)

The posterior estimate of the state covariance matrix is calculated as follows:

$$\begin{aligned} P_{k} = (I-K_{k}H)P_{k}^{-} \end{aligned}$$
(10)

The refined measurement \(z_{k,r}\) is calculated using:

$$\begin{aligned} z_{k,r} = Hx_{k} \end{aligned}$$
(11)

Once the fiducial positions are filtered, we utilize a point-matching algorithm [2] to calculate the marker pose in terms of a rotation matrix and a translation vector. We then convert the rotation matrix to a rotation vector for the sake of conciseness. The workflow of the proposed technique is outlined in Algorithm 1.

figure a

Experimental setup and data acquisition

In this section, we first describe the simulation experiment conducted to generate synthetic dataset. Then, we describe the experimental setup and data collection protocol.

Simulated dataset

We designed a surgical array with four coplanar fiducials. The marker geometry is defined by the mutual distances among the centers of the fiducials. The distances from fiducial 1 to 2, 2 to 3, 3 to 4 and 4 to 1 are 67.08 mm, 36.06 mm, 72.80 mm and 41.23 mm, respectively. The motion model of the marker as well as the fiducials is stated below.

Let \(X_{0} = \begin{bmatrix} x_{f}&y_{f}&z_{f} \end{bmatrix}^{T}\) denote the initial position of the center of a fiducial. \(X_{k}\), the position of the fiducial at time sample k, can be calculated by \(X_{k} = \pmb {T}_{k} \begin{bmatrix} X_{0}^{T}&1 \end{bmatrix}^{T}\) where \(\pmb {T}_{k} \in \mathbb {R}^{4 \times 4}\) refers to a transformation matrix explaining the pose of the marker at time k. \(\pmb {T}_{k}\) is defined as follows:

$$\begin{aligned} \pmb {T}_{k}=\begin{bmatrix} \pmb {R}_{k} &{} \pmb {t}_{k} \\ O &{} 1 \end{bmatrix} \end{aligned}$$
(12)

where \(\pmb {R}_{k} \in \mathbb {R}^{3 \times 3}\) denotes a 3D rotation matrix. \(O \in \mathbb {R}^{1 \times 3}\) refers to a zero vector. We consider a constant acceleration translation model. Therefore, the translation update model is governed by Eqs. 13. Considering the time interval \(\Delta t\) to be tiny, the rotation matrix \(\pmb {R}_{k}\) at time sample k is calculated using the following forward kinematics:

$$\begin{aligned} \pmb {R}_{k} \approx \pmb {R}_{k-1} + \Delta t \pmb {R^{'}}_{k-1} \end{aligned}$$
(13)

where \(\pmb {R^{'}}_{k-1}\) refers to the temporal derivative of the rotation matrix at time sample \(k-1\) which is defined as follows:

$$\begin{aligned} \pmb {R^{'}}_{k-1} = \pmb {\omega }\pmb {R}_{k-1} \end{aligned}$$
(14)

where \(\pmb {\omega } \in \mathbb {R}^{3 \times 3}\) denotes a skew symmetric matrix which is obtained from the angular velocity vector \(\omega = \begin{bmatrix} \omega _{x}&\omega _{y}&\omega _{z} \end{bmatrix}\) and defined as:

$$\begin{aligned} \pmb {\omega }=\begin{bmatrix} 0 &{} -\omega _{z} &{} \omega _{y} \\ \omega _{z} &{} 0 &{} -\omega _{x} \\ -\omega _{y} &{} \omega _{x} &{} 0 \end{bmatrix} \end{aligned}$$
(15)

We assumed a constant angular velocity vector \(\begin{bmatrix} -0.08&0.08&-0.08 \end{bmatrix}\) for our simulation experiment. The initial translational velocity vector was considered to be \(\begin{bmatrix} 0&0&0 \end{bmatrix}\), whereas the translational acceleration vector was set to \(\begin{bmatrix} 1&-1&1 \end{bmatrix}\). The initial positions of fiducials 1 to 4 were set to \(\begin{bmatrix} 110&-120&123 \end{bmatrix}^{T}\), \(\begin{bmatrix} 170&-150&123 \end{bmatrix}^{T}\), \(\begin{bmatrix} 140&-130&123 \end{bmatrix}^{T}\) and \(\begin{bmatrix} 70&-110&123 \end{bmatrix}^{T}\), respectively. Considering 200 temporal samples per second, the fiducial positions for 30 s were obtained. Once the ground truth fiducial positions are generated, anisotropic zero-mean random Gaussian noise with a variance of 0.07 mm\(^{2}\) in x and y directions was added to obtain noisy measurement data. To emulate the real scenario, the noise variance in z direction was considered to be \(40\%\) higher than the other two directions.

Real datasets

The experimental setup includes a multi-camera optical tracking device which is mounted horizontally on a stable arm above a sturdy table (see Fig. 1a). The tracker is connected to a host computer that is used to operate the tracker and collect the data. The experiment uses a single medical array with four calibrated fiducials (see Fig. 1b). The fiducials emit high-intensity near-infrared light with 850 nm wavelength. The tracker is equipped with infrared filters and reconstructs the 3D position of each fiducial using a standard linear triangulation stereo method. The position of the array is determined by matching the reconstructed 3D points against the calibrated geometry of the array. The resulting pose and 3D points are sent to the host at a rate of approximately 200 fps. The host stores the data in a relational database for later analysis.

Fig. 1
figure 1

Experimental setup of a multi-camera system

We ran 3 recording sessions under different conditions. For the first recording, the array was left in a static position relative to the tracker and was positioned slightly off-center of the tracker’s optical axis. The array was recorded for about 2 min, providing 23, 452 data points.

The second recording was performed on an array undergoing rotational and translation motion, emulating the scenario of a real surgical environment. The recording lasted for about 30 s and obtained 6000 temporal data points.

The third dataset was acquired from a static array where one of the fiducials was partially occluded using a 220 GRIT diffuser (Edmund Optics, Barrington, USA). This experiment aimed at imitating the scenario of an Operating Room (OR) where fiducials are often blocked by translucent materials such as a drop of blood. The experiment was repeated 4 times, each time occluding one of the 4 fiducials. The array of interest was recorded for about 2 min, and 22, 897 data points were obtained.

Fig. 2
figure 2

Temporal tracking plots for fiducial 2 of the simulated array. Columns 1–3 refer to x, y and z directions, respectively. Rows 1 and 2, respectively, show the overall and magnified views of the temporal behavior

Results

We examine qualitative and quantitative tracking performance of KF and UKF by employing simulation and real datasets obtained from multi-camera system. UKF has been implemented for comparison purpose using the FilterPy library of Python. Temporal behavior of fiducial positions and the array’s pose in terms of rotation and translation vectors have been utilized to investigate the qualitative performance of the techniques under consideration. We use MSE and variance for the quantitative analysis, with MSE defined as:

$$\begin{aligned} \text {MSE}=\frac{\sum _{k=1}^{n} (\Delta _{r,k}-\Delta _{g,k})^{2}}{n} \end{aligned}$$
(16)

where \(\Delta _{r,k}\) and \(\Delta _{g,k}\) denote measured and ground truth components of the array’s pose, respectively. We obtain Q by calculating the covariance matrices corresponding to zero-mean Gaussian random noise with variances of 0.002 mm\(^{2}\) and 0.01 mm\(^{2}\) for simulation and real datasets, respectively. For simulated and real datasets, respectively, R is obtained by computing the covariance of anisotropic zero-mean Gaussian random noise with variances of 0.07 mm\(^{2}\) and 0.15 mm\(^{2}\) in x and y directions, and 0.1 mm\(^{2}\) and 0.21 mm\(^{2}\) in the z direction.

Simulated data

The position tracking results for one of the fiducials of the simulated array in all three directions are reported in Fig. 2. To better demonstrate the variability in measurement and the tracking performance of KF and UKF, we also show tracking results for only 300 samples in all three directions. KF and UKF exhibit similar filtering performance and substantially stabilize the temporal behavior. Since a similar level of noise suppression is observed in all fiducials, we show the results for only one fiducial. To investigate the overall tracking performance of KF and UKF, we present the array’s pose in terms of rotation and translation vectors in Fig. 3. To maintain conciseness, we show only the z component of the translation vector. In addition, we magnify the measurement noise as well as the filtering performance by also showing only 200 temporal samples. It is evident that KF and UKF minimize the acquisition noise and notably improve the tracking quality. The filtered outputs of the rotation components exhibit almost no difference with the ground truth. The tracking errors of translation are slightly higher than those of rotation. MSE values reported in Table 1 substantiate our visual assessment, showing a substantial error reduction. Since KF as well as its extensions requires some time in the beginning to adapt with the motion trajectory, we consider the first 5 s as the burnout period and therefore disregard the first 1000 temporal samples during error calculation.

Fig. 3
figure 3

Temporal plots of pose for the simulated array. Columns 1–3 refer to x, y and z components of the rotation vector, respectively, whereas column 4 shows the z component of translation vector. Rows 1 and 2 correspond to the overall and magnified views of the trend of the array’s pose

Fig. 4
figure 4

Temporal plots for the pose of the static array. Columns 1–3 refer to x, y and z components of rotation, respectively. Column 4 shows the z component of translation

Real dataset

Our first experiment analyzes the performance with the dataset acquired from the static digitizer, where the ground truth velocity is zero. Since this dataset is collected from a steady marker, a constant pose throughout the acquisition period is expected. Figure 4 shows that the current tracking system exhibits extensive variation around the expected pose components. It is evident from this figure that KF and UKF yield nearly identical tracking performance, and therefore, the temporal pose plots obtained by them overlap on each other. A substantial reduction in measurement variability is observed which is corroborated by the variance values reported in Table 2.

Table 1 MSE for the pose of simulated array

In the second experiment, we investigate the tracking results for the marker that undergoes a realistic rotational and translational motion. The results of noisy measurement of the marker pose along with the KF and UKF measurements are presented in Fig. 5. The rapid fluctuations of the rotation and translation components demonstrate that the array’s motion is representative of the one in an OR. To magnify the measurement noise as well as the tracking performance of KF and UKF, we show 200 temporal samples out of a total of 6000 samples. The pose plots show that the filtered outputs manifest substantially lower variability compared to the raw measurement which is supported by the variances shown in Table 3. The data variability in this case originates from noise as well as the array’s movement. Since we are interested only in the variance due to noise, the last 100 temporal samples are employed in variance calculation where the array’s pose is comparatively stationary. Although KF and UKF exhibit similar noise cancellation performance, a small bias is observed in the tracking results of UKF which might happen due to the array’s fast movement.

Fig. 5
figure 5

Temporal pose plots for the array with realistic motion. Columns 1–3 correspond to x, y and z components of the rotation vector, respectively. Column 4 presents the z component of translation

The third experiment examines the tracking performance when the fiducial of interest is blocked by a translucent material. Figure 6 reports the temporal regions where fiducials 1 and 3 are blocked. In all components of the array’s pose, extensive discontinuities are observed at the instants of disposal and removal of the glass diffuser. However, during the stable placement of diffuser, the pose components experience an erroneous upward or downward shift in measurement. In all cases, the outputs of KF and UKF follow the trends of the actual measurements, but with substantially lower variances. In terms of suppressing the spurious spikes introduced by diffuser placement and withdrawal, KF marginally outperforms UKF.

Table 2 Variance for the pose of the static array

Execution time

Both KF and UKF have been executed with Python 3.5.2 on a 6th generation Intel Core i7-6600U CPU. The memory requirements of both UKF and KF are minimal and less than 512MB of RAM. The execution times reported in Table 4 demonstrate that the proposed linear KF technique is computationally efficient, taking only 0.47 milliseconds, and thus is a promising algorithm for real-time implementation on commercial optical trackers.

Discussion

Accurate surgical tracking is of immense importance due to its direct impact on healthcare. Since the tracker’s output prompts the physician’s action in an OR, a small tracking error may lead to serious consequences. Alongside accuracy, execution time is an important factor in a high frame-rate optical tracking system. The proposed framework offers both the attributes of high accuracy and low implementation time by employing a linear KF to track each fiducial individually.

Table 3 Variance for the pose in a static temporal region of the dynamic array
Fig. 6
figure 6

Temporal pose plots for the array with partially occluded fiducials. Rows 1 and 2 correspond to two different occlusion experiments. Columns 1–3, respectively, correspond to x, y and z components of rotation, whereas column 4 shows the y components of translation

The first experiment conducted in this study simulates a synthetic surgical array undergoing a realistic motion which contains both rotation and translation in the three-dimensional space. Both KF and UKF sufficiently suppress the acquisition noise. The position and pose plots reveal that the proposed technique as well as UKF closely resembles the ground truth in both linear and nonlinear regions.

A second benchmarking experiment has been carried out utilizing the real dataset acquired from a static surgical array. The pose estimation constancy in this stationary case demonstrates the proposed KF scheme’s potential in high-accuracy surgical tracking. However, this experiment with a static marker does not represent the scenario of an OR. Our third experiment takes this fact into account by tracking an array experiencing a 3D motion containing rotational and translational components. The proposed KF framework proves its strength by showing high noise-cancellation performance in this realistic case. One interesting observation about UKF is that it yields estimation bias in the dynamic array experiment which might stem from the rapid motion of the array. However, it should be noted that UKF has been implemented using a built-in Python function in this work. An advanced implementation of UKF might be able to tackle this issue which is subject to further investigation.

Besides EKF and UKF, particle filter (PF) [19] also improves tracking accuracy given noisy measurements and is a potential alternative to KF. While PF and KF share the same high-level algorithmic steps such as prediction and update, their basic principles are substantially different. Unlike KF, PF incorporates weighted random samples to refine the prior estimate of the density function and updates the weights exploiting the likelihood theory. The main strength of PF is its ability to handle non-Gaussian noise and nonlinear systems. However, PF is computationally more expensive than KF. A quantitative study to compare the advantages and disadvantages of KF and PF is an avenue of future work.

Table 4 Runtime for filtering one temporal sample

As reported in Fig. 6, the proposed implementation of KF follows the trend of the incorrect position measurement when any of the fiducials moves out of the field of view or gets blocked by a translucent material such as a drop of blood. Although it reduces the estimation variance, it cannot amend the step-like over- or underestimation of fiducial position, likely caused by light diffraction. The advanced rigid-body implementations of EKF and UKF might be able to better adapt with the situation of fiducial occlusion and reconstruct the surgical tool with moderate tracking error. However, since this scheme tracks the instrument as a whole, it cannot instantly notify the surgeon which of the fiducials is blocked or out of field of view (FOV). This drawback can potentially be resolved with the proposed KF framework. It is worth mentioning that the commercial optical tracker incorporated in this study does not impose any rigidity constraint during data acquisition. Instead, once the tracking data are acquired, the ground truth geometry of the array is utilized to detect whether any of the fiducials is occluded.

We have conducted several experiments in this work to represent realistic scenarios in the OR. Since simulation studies are expected to be realistic, we have adopted a forward kinematics model to create a 3D dataset with nonlinear dynamics. In addition, anisotropic Gaussian noise has been added to emulate a real noise statistics. Besides, the experiments with the multi-camera tracker include extensive analyses of static, dynamic and occlusion scenarios. The proposed technique yields consistent performance in the real as well as the simulation experiments to prove its potential in high-quality surgical tracking.

The most attractive feature of the proposed KF framework is its low running time. A straightforward implementation of the linear KF which takes a Newtonian model into account provides the proposed technique with the powerful attribute of negligible execution time. Although filtering is performed offline in this work, a runtime as low as 0.47 milliseconds proves the proposed scheme’s potential for real-time implementation on a high temporal resolution commercial optical tracking system.

Conclusion

Herein, we proposed a fast implementation of linear KF on a high frame-rate tracking system where a Newtonian model was taken into account to track each fiducial of a surgical tool individually. Besides facilitating real-time surgical tracking, this technique efficiently suppresses acquisition and estimation noise experienced by an optical tracking system. In addition, high performance in dynamic localization of intraoperative instruments proves that the proposed framework eliminates the requirement of rigid-body constraint while tracking a surgical tool at high temporal resolution.