Keywords

1 Introduction

Object tracking is a widely researched field within computer vision, mainly due to the many practical applications such as video surveillance and security, robotics, human-computer interaction, autonomous vehicle navigation, etc. [1,2,3]. Object tracking is a topic of study of great interest in the area of computer vision. In the same way, it is a study area of great interest in signal and image processing [3,4,5], where the data for estimating the trajectory of the object are generally obtained from the coordinates of a sequence of frames.

Object tracking can be understood as the problematic of estimating the trajectory of a target in a sequence of movement around a scene [5, 6]. Object tracking task generally presents problems for exact tracking of the object, since there are variations in the position of the frames in the scene, that is, the target is not followed exactly in the tracking process. These differences between the estimated position and the true position can be considered as color measurement noise (CMN) that is not white [7]. In addition to what has already been described, there are a variety of factors that affect the performance of tracking algorithms such as occlusion, illumination, rapid movement, position changes, target scale variations, background clutter, etc. An example of variations in object tracking is shown in Fig. 1 for the “blurcar2” benchmark [8]. Where the object to be tracked is a white car, which is enclosed in a green bounding box, while bounding boxes in red represent erroneous estimates.

Various investigations have shown that the use of a motion model and state estimators is effective in avoiding large tracking errors [7,8,9,10,11,12,13,14]. With the correct specification of the model in the state-space, the dynamics of the object can be represented with great precision for different movements. However, the accuracy of the tracking algorithm will continue to depend heavily on residues representing noise measurement data and mismodeling errors.

Therefore, in this paper, the algorithms Kalman (KF), Optimal Finite Impulse Response (OFIR), Optimal Unbiased Finite Impulse Response (OUFIR), and Unbiased Finite Impulse Response (UFIR) filters are used to stabilize the bounding box trajectory during object tracking process, in which the differences in the scene can be considered as CMN. The state estimation strategy for both algorithms was developed in two different phases in the recursions and iterations: “predict” and “update”.

Fig. 1.
figure 1

Example car tracking in a video sequence when a desirable frame is green.

The FIR and KF algorithms were tested on simulated sequences. We evaluated the performance of the algorithms. Based on our experimental tests. We show that the Kalman and FIR algorithms showed favorable results with low data and process noise values, but increasing these values OUFIR and UFIR produced lower errors than KF and OFIR.

2 Object Representation: Bounding Box

An image can be described through its properties. To do this, it is necessary to calculate the mathematical properties of an image and use them as a basis subsequent classifications [15]. Therefore, the extraction of shape parameters is necessary for the image representations. One of the shape parameters most used in object tracking is the bounding box.

The bounding box can be defined as a rectangular box that encloses all the objects in an image or scene. It can be represented by the coordinates of the upper left and lower right corners of the box [16]. Using the bounding box as a shape parameter in target tracking, the information about the position of the objects in pixels is contained in an array of bounding boxes. The bounding box matrix contains the position of the minimum and maximum vertices of the box that encloses the detected object within the scene. The distribution of pixels within a frame begins in the upper left corner and ends in the lower right corner [17]. The bounding box matrix is distributed over n rows and 4 columns, the rows represent the number of recognized objects, and the columns contain the measurements for each bounding box located as follows:

$${Bounding\,Box=(}{{X}}_{c}{,}{{ Y}}_{c},{{X}}_{w},{{Y}}_{h}{ )}$$
(1)

Where Xc, Yc, Xw, and Yh are the coordinates of 4 corners of the bounding box: corners, weight, and height. In addition to these measurements, the centroid of the Bounding Box can be generated, in “x” and “y” coordinates, called Cx and Cy.

The algorithm to generate the bounding box in the tracking process must predict the four coordinates, X corner, Y corner, width, and height, for each bounding box. The center coordinates of the bounding box are based on the location of the filtering application in the tracking. Therefore, the coordinates of the centroid are used for the bounding box prediction. The coordinates of the centroid for the target are tracked through the prediction of movement that identifies each of the objects of interest with the same label in the sequence of images throughout the trajectory [18].

In the tracking process there may be misalignments and detection errors, an effective method to reduce them is to apply a filtering method. A filtering method is used to predict the centroid of each bounding box in the frame sequence and update the bounding box. The objective of using prediction and correction methods is to mitigate the noise present in the object tracking process. The prediction indicates the a posteriori position of the bounding box based on its previous position. The update is a correction step that includes the new measurement of the tracking model and helps improve filtering [19, 20].

3 Performance Evaluation of Tracking Algorithm

The tracking algorithms performance can be evaluated using metrics called precision and F-score. Precision is the percentage of correct objects detections, and F-score is one metric option to measure the accuracy.

3.1 Precision

To calculate the precision values, it is necessary to calculate the Intersection over Union (IoU). The equations for calculating precision and IoU are (2) and (3), respectively. The variables used in the calculation of the precision are obtained from the comparison of the IoU result with an established threshold [20].

$${IoU= }\frac{{IA}}{{(TBB- PBB)-IA}}$$
(2)

where IA is the intersection area of the real/true bounding box (TBB) and the estimated/predicted bounding box (PBB). The IoU value is calculated in each position of the bounding boxes.

$${Precision= }\frac{\sum {{TP}}}{{(}\sum {{TP}}+\sum {{FP}}{)}}$$
(3)

where TP is true-positive, and FP is false-positive.

To determine the validity of object detection, that is, the correct detection of the target, a threshold value of IoU must be established. IoU is generally set to 0.5. Assuming the IoU threshold is 0.5, if the value is greater or equal to 0.5, the detection is classified as True Positive (TP). If IoU value is less than 0.5 it is considered as a wrong detection and classified as False Positive (FP). The IoU threshold can be set to a value of 0.5 or more, such as 0.75. 0.9, 0.95, or 1. Understanding that 1 would be an exact overlap of the bounding boxes.

3.2 F-Score

One metric for evaluating object tracking model using precision and recall is F-score. The F-score can provide important information about the model performing at various threshold values. Recall can be calculated as the number of correct detected objects divided by the total number of detections in the ground truth. In this sense, a very useful parameter is the F-score, which is the harmonic mean of the recall and precision. The F-score is a measure of accuracy test [21, 22]. This metric is based on the bounding box overlap obtained between the algorithm and the real trajectory to calculate the accuracy with which the algorithm operates on an object displacement sequence, the F-score is computed by Eq. (4).

$$F-score=2\frac{Precision*Recall}{Precision+Recall}$$
(4)

4 Moving Object State Space Model

We consider a moving object represented in discrete time state-space with the following observation and state Eqs. (5) and (6):

$${x}_{{n}}={{{A}}_{{n}}x}_{{n-1}}{+}{E}_{{n}}{{{u}}}_{{n}}+ { B} {{w}}_{{n}}$$
(5)
$${y}_{{n}}={H}_{n}{x}_{n}+{v}_{n}$$
(6)

where \({{\rm x}}_{{\rm n}}\in { \, {\mathbb{R}}}^{{\rm k}}\) is the state vector, \({y}_{{\rm n}} \in \, {\mathbb{R}}^{{\rm M}}\) is the vector of observation. \(A\) is the model of the state transition, which is applied to project the previous state \({{\rm x}}_{{\rm n-1}}\) to \({{\rm x}}_{{\rm n}}\). E is the input control model, \({{\rm u}}_{{\rm n}}\) is the input control, \(B\) is the noise matrix. \(H\) is the model of observation. \({w}_{n}\in {\mathbb{R}}^{P}\) is the process noise \({{\rm v}}_{{\rm n}} \, \in \, {\mathbb{R}}^{{\rm M}}\) is the colored Gauss-Markov noise with white Gaussian with zero mean \({{\rm w}}_{{\rm n}}\sim{\rm N}\left(0, {{\rm Q}}_{{\rm n}}\right) \, \in \, {\mathbb{R}}^{{\rm P}}\) and \({{\rm v}}_{{\rm n}}\sim{\rm N}(0, {{\rm R}}_{{\rm n}}{) }\in{ \, {\mathbb{R}}}^{{\rm M}}\) have the covariances \({Q}_{n}\) and \({R}_{n}\), and the property \({{\rm E}}\left\{{{\rm w}}_{{\rm n}}{{{\rm v}}}_{{\rm k}}^{{\rm T}}\right\}= {0}\) for all n and k. Under the assumption that the two noise sequences and the initial state are uncorrelated and independent of each testing instant [23].

5 Kalman Filter

The Kalman filter uses the state equation of the linear system to estimate the state of the system through observation of input and output. Using KF requires knowledge of the system parameters, initial values, and measurement sequences. The KF can estimate the state sequences of the system iteratively [24].

The Kalman filter calculate the optimal estimate by recursively combining previous estimates with the new observations. This process consists of two stages: predict, in which the optimal state \({\widehat{x}}_{{\rm n}}^{-}\) before observing \({y}_{{\rm n}}\) is calculated and update, after observing \({y}_{{\rm n}}\) the optimal posterior state \({\widehat{{\rm x}}}_{{\rm k}}\) is calculated. Also, it calculates the prior estimation error \({\in}_{{\rm n}}^{ -}={{\rm x}}_{{\rm n}}-{\widehat{x}}_{{\rm n}}^{-}\), the posterior estimation \({\in}_{{\rm n}}={{\rm x}}_{{\rm n}}-{\widehat{x}}_{{\rm n}}\), a priori estimate error covariance \({{P}}_{{n}}^{ -}= {E } \left\{{\in}_{{n}}^{-}{\in}_{{n}}^{-\mathrm{T}}\right\}\), and posterior estimate error covariance \({{\rm P}}_{{\rm n}}= {\rm E } \left\{{\in}_{{\rm n}}{\in}_{{\rm n}}^{{\rm T}}\right\}\).

The a priori error covariance matrix is produced in the predict phase. Since the process noise \({{\rm w}}_{{\rm n}}\) is assumed white Gaussian with zero mean, the a priori state estimate is given by (7), and the estimation of the a priori error covariance matrix is computed by (8).

$${\widehat{x}}_{{n}}^{-}= {A} { \widehat{x}}_{{n-1}}{+}{E}_{{n}}{{{u}}}_{{n}}$$
(7)
$${{P}}_{{n}}^{ -}={{A}}_{{n}}{{{P}}}_{{n-1}}{{A}}_{{n}}^{{T}}{+}{{B}}_{{n}}{{{Q}}}_{{n}}{{{B}}}_{{n}}^{{T}}$$
(8)

Then, in the update stage, the current a priori predictions are combined with the current state observation to redefine the state estimate and the matrix of error covariance. The current observation is used to improve the estimation, and it is called a posteriori estimation of the state.

The measurement \({{\rm y}}_{{\rm n}}\) is corrupted by the noise \({{\rm v}}_{{\rm n}}\). Since \({{\rm v}}_{{\rm n}}\) is assumed white with zero mean, this becomes (9), and the measurement residual (10).

$${y}_{{n}}={{H}}_{{n}} {\widehat{x}}_{{n -1}}$$
(9)
$${{z}}_{{n}}={y}_{{n}}-{{H}}_{{n}}{ \widehat{x}}^{-}$$
(10)

The residual covariance matrix is given by (10):

$${{S}}_{{n}}={{H}}_{{n}}{{{P}}}_{{n}}^{ -}{{H}}_{{n}}^{{T}}{+}{{R}}_{{n}}$$
(11)

The optimal Kalman gain:

$${{K}}_{{n}}={{P}}_{{n}}^{ -}{{H}}_{{n}}^{{T}}{{{S}}}_{{n}}^{ -{1}}$$
(12)

The a posteriori state estimate:

$${\widehat{{x}}}_{{n}}={\widehat{{x}}}_{{n}}^{-}+{{K}}_{{n}}{(}{{z}}_{{n}}-H{\widehat{{ x}}}_{{n}}^{-}{)}$$
(13)

The a posterior error covariance matrix:

$${{P}}_{n}={(I-}{{K}}_{{n}}{H)}{{P}}_{n}^{-}$$
(14)

Below is a KF pseudo-code listed as Algorithm 1.

figure a

6 Optimal Finite Impulse Response (OFIR)

Since the OFIR Batch form is generally computationally time consuming, due to the large dimensions of all extended vectors and matrices. In order to obtain faster processing, efficient computation of a posteriori state can be done such as an iterative algorithm. Its iterative computation on horizon [m, k] for given \({\widehat{{\varvec{x}}}}_{{\varvec{m}}}\) and \({{\varvec{P}}}_{{\varvec{m}}}\) provided by Kalman filter (Algorithm 1) if we change the auxiliary time-index i from m +1 to n and take output when i = n. The iterative form for the OFIR filter has been developed and tested in [25, 26].

The pseudo-code of the a posterior iterative OFIR filter is listed as Algorithm 2. Given \({\widehat{{\varvec{x}}}}_{{\varvec{m}}}\) and \({{\varvec{P}}}_{{\varvec{m}}}\), this algorithm is iteratively updates \({\widehat{{\varvec{x}}}}_{{\varvec{i}}}\) values from i = m +1 to i = n using optimal recursions of Kalman filter (Algorithm 1) and obtains \({\widehat{{\varvec{x}}}}_{{\varvec{n}}}\) and \({{P}}_{{n}}\), when i = n. The number of iterations can be limited by optimal horizon length, Nopt of the Unbiased FIR filter.

figure b

7 Unbiased Finite Impulse Response (UFIR) filter

Unlike the KF and iterative OFIR, the Unbiased FIR does not require any information about initial conditions and noise, except for the zero mean assumption [9, 14, 27, 28, 29]. Therefore, the Unbiased FIR filter is more suited for object tracking, where measurement and process noises are not exactly known. However, the Unbiased FIR requires an optimal horizon length, called Nopt, from \(m = n - Nopt + 1\,\mathrm{ to}\,n\), to minimize the Mean Square Error (MSE), and it cannot ignore the CMN \({V}_{n}\), which violates the zero mean assumption at short horizons.

As already mentioned, the UFIR algorithm does not require noise statistics, so the prediction step calculates a single value, a priori state (15).

$${\widehat{x}}_{{l}}^{-}= {A} { \widehat{x}}_{{l -1}}{+}{E}_{{l}}{{{u}}}_{{l}}$$
(15)

In the update step, the state estimated is combined with the current observation state to upgrade the state. The estimate is iteratively updated to the a posteriori state estimate using equations (16)–(19).

Generalized noise power gain:

$${{G}}_{{l}}={\left[{{H}}_{{l}}^{{T}}{{{H}}}_{{l}}{+}{{(}{{A}}_{{L}}{{{G}}}_{{l-1}}{{A}}_{{l}}^{{T}}{)}}^{-1}\right]}^{-1}$$
(16)

The measurement residual:

$${{z}}_{{l}}={{y}}_{{l}}-{{H}}_{{l}}{ \widehat{x}}^{-}$$
(17)

The bias correction gain:

$${{Gain}}_{{l}}={{y}}_{{l}}-{{H}}_{{l }}{\widehat{x}}^{-}$$
(18)

The a posteriori state estimate is given by (19):

$${\widehat{x}}_{{l}}={\widehat{x}}_{l}^{-}{+}{{Gain}}_{{l}}{(}{{z}}_{{l}}-H{ \widehat{x}}_{{l}}^{-}{)}$$
(19)

Below a pseudo-code of UFIR algorithm is listed as algorithm 3. To initialize iterations, the algorithm requires a short measurement vector \({y}_{m.k}={\left[{y}_{m}\dots {y}_{k}\right]}^{T}\) and matrix (20).

$${{C}}_{{m,k}}=\left[\begin{array}{c}\begin{array}{c}\begin{array}{c}{{H}}_{{m}}{\left({{A}}_{{k}}^{{m+1}}\right)}^{-1}\\ {{H}}_{{m+1}}{\left({{A}}_{{k}}^{{m+2}}\right)}^{-1}\\ \vdots \end{array}\\ {{H}}_{{k-1}}{{A}}_{{k}}^{-1}\end{array}\\ {{H}}_{{k}}\end{array}\right]$$
(20)
figure c

Where \({S}_{m,s}\) and \({L}_{m,s}\) are given by (21) and (22) respectively, \({S}_{m,s}^{k}\) is de Kth row vector in (21).

$$S_{{m,s}} = \left[ {\begin{array}{*{20}c} {E_{0} } & 0 & \cdots & 0 & 0 \\ {A_{{m + 1}} E_{m} } & {E_{{m + 1}} } & \cdots & 0 & 0 \\ \vdots & \vdots & \ddots & 0 & 0 \\ {A_{{s - 1}}^{{m + 1}} E_{m} } & {A_{{s - 1}}^{{m + 2}} E_{{m + 1}} } & \cdots & {E_{{s - 1}} } & 0 \\ {A_{s}^{{m + 1}} E_{m} } & {A_{s}^{{m + 2}} E_{{m + 1}} } & \cdots & {A_{s} E_{{s - 1}} } & {E_{s} } \\ \end{array} } \right]$$
(21)
$${L}_{{m,s}}{=diag(}{C}_{m,s}){S}_{m.s}$$
(22)

8 Optimal Unbiased Finite Impulse Response (OUFIR)

In some cases, requiring an initial state \({\widehat{{\varvec{x}}}}_{{m}}\) and error covariance \({{P}}_{{m}}\). Generally, in real applications, all the information on the initial conditions of the model is not available, will be needed to tackle the problem. The OUFIR filter is very indifferent to the initial conditions. In this case, we apply an iterative Optimal Unbiased (OUFIR) filter [30].

8.1 Iterative OUFIR

The iterative OUFIR algorithm is stated below. The prediction phase calculates a single value, a priori state, considering input (u) equal to zero the a priori state is computed by (23.

$${\tilde{x }}_{{\varvec{l}}}={{A}_{l}\widehat{x}}_{l}^{-}+{Gain}_{l}({y}_{l}-{H}_{i}{\tilde{x }}_{l}^{-})$$
(23)

In the update stage, the state estimated is combined with the current observation state to refine the state. In the same way as UFIR, the estimate is iteratively updated to the a posterior state estimate using equations (24)–(28).

The residual covariance matrix is given by (10):

$${{S}}_{{n}}={{H}}_{{n}}{{{P}}}_{{n}}^{ -}{{H}}_{{n}}^{{T}}+{{R}}_{{n}}$$
(24)

The OUFIR filter gain:

$${{K}}_{{l}}={{P}}_{{n}}^{ -}{{H}}_{{n}}^{{T}}{{{S}}}_{{n}}$$
(25)
$${{K}_{l}^{-}{=(I-}{{K}}_{{l}}{H}_{l}{) }\,{G}_{l}{{N}}_{l}{G}_{l}^{T}{H}_{l}^{T}{{S}}_{{n}}}$$
(26)
$$Gain={{K}}_{{l}}+{K}_{l}^{-}$$
(27)

The a posteriori state estimate:

$${\tilde{x }}_{{\varvec{l}}}={\widehat{x}}_{l}^{-}+{Gain}_{l}({y}_{l}-{H}_{i}{\tilde{x }}_{l}^{-})$$
(28)

A pseudo-code of the Optimal Unbiased FIR filter is listed as Algorithm 4.

9 Experimental Tracking Test

Now we study the performance of the standard Kalman and FIR filters under study (Algorithm 1–Algorithm 4). In this section, we test the algorithms numerically by different simulated data. Our main goal is to evaluate the performance in object tracking using precision and F-score metrics. We consider the two-state model and suppose an object is disturbed by white Gaussian acceleration noise with a given value of standard deviation. The model of a moving target in a two-dimensional space was specified by (5) and (6) with matrices:

$${{A}}=\left[\begin{array}{c}1\; T\\ 0\; 1\end{array}\right], B=\left[\begin{array}{c}T\\ 1\end{array}\right],H=\left[1 0\right]$$
(29)

In simulation data four scenarios will be considered:

  1. 1)

    Simulated data 1. An object target is disturbed by white Gaussian acceleration noise with a standard deviation of \({\sigma }_{w}=5\,{\rm m}/{\rm s}^{2}\). The for the data noise (CMN) originates from white Gaussian \({\sigma }_{v}=10\,{\rm m}\). The simulation of the trajectory was 1000 points with sample time T = 1 s, \({P}_{0}=0\), \(Q={\sigma }_{w}^{2}\), \(R={\sigma }_{V}^{2}\), on a short horizon Nopt = 5.

  2. 2)

    Simulated data 2. A trajectory is simulated at 2000 points \({\sigma }_{w}=50\,{\rm m}/{\rm s}^{2}\), \({\sigma }_{v}=20\,{\rm m}\). With sample time T = 0.05 s, \({P}_{0}=0\), \(Q={\sigma }_{w}^{2}\), \(R={\sigma }_{V}^{2}\), on a short horizon Nopt = 9.

  3. 3)

    Simulated data 3. A trajectory is simulated at 2000 points with \({\sigma }_{w}=50\,{\rm m}/{\rm s}^{2}\), \({\sigma }_{v}=4\,{\rm m}\). With sample time T = 0.05 s, \({P}_{0}=0\), \(Q={\sigma }_{w}^{2}\), \(R={\sigma }_{V}^{2}\), on a short horizon Nopt = 5.

  4. 4)

    Simulated data 4. A trajectory is simulated at 2000 points \({\sigma }_{w}=60\,{\rm m}/{\rm s}^{2}\), \({\sigma }_{v}=30\,{\rm m}\). With sample time T= 0.03 s, \({P}_{0}=0\), \(Q={\sigma }_{w}^{2}\), \(R={\sigma }_{V}^{2}\), on a short horizon Nopt = 15.

figure d

9.1 Test on Simulated Data 1

Then we examine the results of algorithms in the object tracking simulation using the bounding box measurements or coordinates as a tool for metric evaluation. In Fig. 2 the true trajectory of the object and the estimations made by the algorithms are shown, where the black line is the real data, the blue line is KF, the red line is UFIR, the yellow line is OUFIR, and the green line is OFIR. Given that the Nopt for the FIR filters was 5, the estimates started from this.

Under the conditions given in the first simulation, with low values of white Gaussian acceleration noise and data noise. The Kalman and FIR filters showed similar behavior. To provide a more complete view, we calculate the root mean square error (RMSE). The RMSE values were 347.5495 for KF, 347.2659 for OFIR, 353.3701 for OUFIR, and 353.3701 for UFIR. According to these results, we consider that the algorithms presented a good performance, where OFIR showed the lowest value.

Fig. 2.
figure 2

Estimation of data 1 trajectory in the x-y plane using Kalman and FIR filters.

Performance Evaluation of Algorithms: Precision and Accuracy.

The precision results of the test of simulated data 1 are shown in Fig. 3. The OFIR and KF algorithms produced a high precision with similar behavior on the thresholds from 0 to 0.8, from which to decayed. The precision was greater than 0.8 until the threshold of 0.8. It can be inferred that in each detection the overlap of the Predicted Bounding Box (PBB) on the True Bounding Box (TBB) was good. It can be inferred that each detection of the Kalman and FIR filters covers 80% of the TBB area. Since the most used threshold values are 0.5% and 0.75% [20]. Therefore, we consider that Kalman and FIR filters algorithms gave favorable results in the most widely used threshold IoU range.

Fig. 3.
figure 3

Precision of Kalman and FIR filters in simulated data 1.

To measure the accuracy, the F-score metric was used as already mentioned, this parameter allows combining the precision and recall results as a harmonic mean. This metric is based on the bounding box overlap obtained between the algorithm and the real trajectory to calculate the accuracy with which the algorithm operates on an object displacement sequence. The results of the F-score for simulated data 1 are shown in Fig. 4. The Kalman and FIR algorithms produced a high accuracy from 0 to 0.75 threshold, from which to decay. The OFIR filter showed the highest accuracy with 0.7979, closely followed by KF with 0.7979, OUFIR with 0.7912, and UFIR with 0.7886.

Fig. 4.
figure 4

Accuracy of Kalman and FIR filters in simulated data 1.

9.2 Test on Simulated Data 2

We examine the results of algorithms in the object tracking simulation data 2. In Fig. 5 the true trajectory of the object and the estimations made by the algorithms are shown. The algorithms are identified with the same line colors as the previous section. The horizon length, Nopt, for the FIR filters was 9. In this case, a significant difference is observed in the estimates made by the algorithms, where the OUFIR and UFIR are the ones that are closest to the real trajectory with an RMSE value of 4575.38, and 4737.23, respectively. OFIR and KF differ in a greater way, the RMSE values were 8463.93 and 8463.55, respectively. This may be due to the fact that the data simulation was carried out with larger values in data and process noise.

Fig. 5.
figure 5

Estimation of data 2 trajectory in the x-y plane using Kalman and FIR filters.

Performance Evaluation of Algorithms: Precision and Accuracy.

The precision results of a test of simulated data 2 are shown in Fig. 6. OUFIR and UFIR presented a better performance, these produced a precision over 70% from 0 to 0.9 threshold, from which to decay. It can be inferred that each detection covers at least 70% of the TBB area. While OFIR and KF presented low precision values below 50% in the entire threshold range. The average precision for OUFIR was 0.7841, for UFIR was 0.7821, for OFIR was 0.4045, and for KF was 0.4040. Since usually, the threshold used is 0.5, we considered that the algorithms gave favorable results for OUFIR and UFIR.

Fig. 6.
figure 6

Precision of Kalman and FIR filters in simulated data 2.

The accuracy results of simulated data 2, the F-score metric, are shown in Fig. 7. The OUFIR and UFIR algorithms produced accuracy values over 0.7 from 0 to 0.6 threshold, from which to decayed. The value of accuracy towards the 1 threshold is close to 0.5. The OFIR and KF presented a low performance, the F-score values are less than 0.5 in the threshold of 0.1. The accuracy value decreases as the threshold value increases. The OUFIR filter showed the highest average accuracy with 0.7273, closely followed by UFIR with 0.7231, the average accuracy for OFIR was 0.3791, and for KF was 0.3788. According to the results, we consider that OUFIR and UFIR present a good performance in the object tracking task under the given conditions.

Fig. 7.
figure 7

Accuracy of Kalman and FIR filters in simulated data 2.

9.3 Test on Simulated Data 3

Figure 8 are shown the results of estimation of algorithms in the object tracking of simulation data 3. The algorithms are identified with the same line colors as the previous sections. The horizon length, Nopt, for the FIR filters was 5. In this case, there is also a significant difference in the estimates made by the algorithms, where OUFIR and UFIR provided estimates close to the real trajectory, while KF and OFIR showed erroneous estimates, the estimated trajectories are smoothed. The RMSE value for OUFIR, UFIR, OFIR, and KF were 3334.01, 5848.31, 6909.94, and 6910.42, respectively. OUFIR presented the best result. OFIR and KF differ in a greater way than the real data.

Fig. 8.
figure 8

Estimation of data 3 trajectory in the x-y plane using Kalman and FIR filters.

Performance Evaluation of Algorithms: Precision and Accuracy.

Figure 9 are shown the precision results of the test of simulated data 3. OUFIR and UFIR presented a better performance, these produced a precision around 80% from 0 to 0.7 threshold. In the full range of the threshold, the precision was over 70%. It can be inferred that each detection covers at least 70% of the TBB area. OFIR and KF presented a poor performance in the correct estimation of the trajectory, the precision was below 50% in most of the full range of the threshold. The average precision for UFIR was 0.8173, for OUFIR was 0.8153, for OFIR was 0.4025, and for KF was 0.4020. Since usually, the threshold used is 0.5, according to the results, it can be determined that the OUFIR and UFIR algorithms gave favorable results in the object tracking task.

Fig. 9.
figure 9

Precision of Kalman and FIR filters in simulated data 3.

In Fig. 10 the accuracy results of simulated data 3. The OUFIR and UFIR algorithms produced accuracy values over 0.7 from 0 to 0.6 threshold, from which to decayed. The value of accuracy towards the 1 threshold is close to 0.4. The OFIR and KF presented a poor performance from 0.3 to 1 threshold, with an accuracy value below 0.5. The accuracy value decreases as the threshold value increases. The OUFIR filter showed the highest average accuracy with 0.7402, closely followed by UFIR with 0.7379, the average accuracy for OFIR was 0.3150, and for KF was 0.3152. According to the results, we can be determined that the OUFIR and UFIR present a good performance in the object tracking process under the given conditions.

Fig. 10.
figure 10

Accuracy of Kalman and FIR filters in simulated data 3.

9.4 Test on Simulated Data 4

Finally, we analyze the results obtained for the simulated data test 4. The real trajectory and the estimates are shown in Fig. 11; the identification colors remain as already mentioned previously in this paper. The Nopt, for the FIR filters, was 15. In this test, the estimates of OUFIR and UFIR were the best compared with those obtained by KF and OFIR. To provide a more complete view, we calculate the root mean square error (RMSE). The RMSE values were 6596.12 for OUFIR, 6973.98 for UFIR, 12932.46 for OFIR, and 12932.46 for KF. According to these results, we consider that the OUFIR and UFIR algorithms presented a good performance, where OUFIR showed the lowest value of RMSE.

Fig. 11.
figure 11

Estimation of data 4 trajectory in the x-y plane using Kalman and FIR filters.

Performance Evaluation of Algorithms: Precision and Accuracy.

Analyzing the precision metric, it is observed that the performance of the algorithms was lower than in the previous tests. The results are shown in Fig. 12. Again, the OUFIR and UFIR showed higher precision compared to OFIR and KF. However, the precision is between 0.5 and 0.7 in the threshold range of 0.1 to 0.9. Taking as a reference that the Threshold most used to evaluate the precision is 0.5, we can determine that the performance of the algorithms was poor, since in this Threshold the precision just exceeds 0.6 for OUFIR and UFIR, while for OFIR and KF is at 0.2.

Fig. 12.
figure 12

Precision of Kalman and FIR filters in simulated data 4.

The F-score values, accuracy, are shown in Fig. 13. The FIR and Kalman algorithms produced accuracy values less than 0.7 in the entire Threshold range. OUFIR and UFIR algorithms produced accuracy values over 0.5 from 0.1 to 0.6 threshold, from which to decay. The value of accuracy towards the 1 threshold is close to 0.3. The OFIR and KF presented a low performance. The accuracy obtained was poor, the F-score values are less than 0.3 in the entire Threshold range. In this test, the OUFIR filter showed the highest average accuracy with 0.5715, closely followed by UFIR with 0.5631, the average accuracy for OFIR was 0.2600, and for KF was 0.2596. According to the results, we consider that OUFIR and UFIR present a poor performance in the object tracking task under the given conditions, with higher data and process noise.

Fig. 13.
figure 13

Accuracy of Kalman and FIR filters in simulated data 4.

10 Conclusions

The KF and FIR estimation algorithms appear to be efficient in the object tracking process under conditions of low the process and data noise. The algorithms showed favorable results in the tracking tests and provided an estimate of the state with greater precision and accuracy. In other hand, when the process and data noise is higher, the OUFIR and UFIR estimation algorithms are more efficient, showing favorable results with high precision and accuracy values, which can be useful in many visual tracking applications since it gives favorable results. Remarking that, UFIR does not require information about the noise and knowing the initial position. In the same way, the OUFIR is highly insensitive to the initial conditions.

Although the Unbiased FIR filter does not require knowing the noise statistics, it can produce larger errors than in KF, because it does not guarantee the optimization. According to the accuracy and precision results, the OUFIR filters showed better performance for tracking objects. Consequently, the OUFIR filter in general shows greater robustness against initial conditions and noise statistics than UFIR, OFIR, and KF.

Therefore, we conclude that the incorporation of state estimators can provide further development of object tracking algorithms for wide variety of application areas.

Regarding the good performance of OUFIR and UFIR filters algorithms, we are now working on develop practical modified algorithms for object tracking to mitigate CMN.