## 3 The CFSA Tracker
### Updating Schema  
During tracking, it is important to adaptively updating correlation filters, because the target object's appearance may undergo significant changes such as occlusion, background clutter, rotation and deformation. So, we train the new filter (\(\boldsymbol{\alpha}^{t}\), \(\boldsymbol{\mathbf{x}}^{t}\)) at the newly estimated target location by linearly interpolating the newly estimated filter coefficients \(\boldsymbol{\alpha}\) and the object appearance features \(\boldsymbol{\mathbf{x}}\) with the ones in frame \(t-1\) only if the PSR of the maximum response in frame \(t\) is bigger than the given threshold _Th_, otherwise we keep the previous filters:  
\[\boldsymbol{\hat{\alpha}}^{t}=\left\{\begin{array}{ll}(1-\gamma)\boldsymbol{ \hat{\alpha}}^{t-1}+\gamma\boldsymbol{\hat{\alpha}}&if\ r\geq Th\\ \boldsymbol{\hat{\alpha}}^{t-1}&otherwise\end{array}\right. \tag{14}\]  
\[\boldsymbol{\hat{x}}^{t}=\left\{\begin{array}{ll}(1-\gamma)\boldsymbol{\hat {x}}^{t-1}+\gamma\boldsymbol{\hat{x}}&if\ r\geq Th\\ \boldsymbol{\hat{x}}^{t-1}&otherwise\end{array}\right. \tag{15}\]  
where \(\gamma\) is the learning rate, which determines how fast the tracker adapts itself to the changes in the scenes. \(r\) is the maximum response of the candidate proposals in frame \(t\) and _Th_ is a given threshold of PSR that is used to determine whether the correlation filter is updated. As a confidence metric, the PSR is adopted to predict the tracking quality and estimate the reliability of a patch, which is widely used in signal processing to measure the signal peak strength in a correlation filter response map. A higher PSR value indicates that the estimated target object is more accurate. A smaller _Th_ may add more background information into the new filter while a higher _Th_ is not able to cope with appearance variations of the target object, which can lead to tracking failures. As we can see, the update schema is stopped to reduce the impact of the surrounding background when PSR of the estimated target object is smaller than the given threshold _Th_. Finally, the overall CFSA tracker is summarized into Algorithm 1.  
```
Input: Previous target position \(\ell_{t-1}\); target object model \(\boldsymbol{\hat{\alpha}}^{t-1}\) and \(\boldsymbol{\hat{x}}^{t-1}\); frame \(F_{t}\) Output: Estimated position \(\ell_{t}\) and scale \(\mathcal{S}\) of the target; Updated target object model \(\boldsymbol{\hat{\alpha}}^{t}\) and \(\boldsymbol{\hat{x}}^{t}\);
1:ifthe initial framethen
2: Perform water flow driven MBD algorithm to detect object \(b_{1}^{d}\) and determine scales in subsequent frames \(t\) are Equation (13) or the size of \(b_{t}^{d}\);
3:endif
4: Generate object proposals with Equation (2) and get the pool of candidate object proposals \(\boldsymbol{\mathbf{C}}=\{\boldsymbol{\mathbf{\epsilon}}_{t-1},\boldsymbol{ \mathbf{\epsilon}}_{t1},\ \boldsymbol{\mathbf{\epsilon}}_{t2},\ \ldots,\boldsymbol{ \mathbf{\epsilon}}_{tN}\}\);
5:for each candidate object proposalsdo
6: Perform KCF tracker on its position using Equation (7);
7:endfor
8: Estimate target position \(\ell_{t}\) by maximizing all responses;
9: Perform water flow driven MBD algorithm to detect object \(b^{d}\) on image patch centered at \(\ell_{t}\) using Equations (8) to (12);
10: Estimate the target scale \(\mathcal{S}_{e}\) using Equation (13) or the size of \(b^{d}\);
11: update the target model with Equations (14) and (15);
```  
**Algorithm 1**The proposed CFSA tracker.