ICCV2017跟踪算法BACF原理及代码解析

文章和代码下载地址:

Galoogahi H K, Fagg A, Lucey S. Learning Background-Aware Correlation Filters for Visual Tracking.

代码下载地址:http://www.hamedkiani.com/bacf.html

BACF就是将MCCF多通道特征应用到CFLB上,然后通过ADMM求解。

MCCF,CFLB和BACF都是同一个作者写的2333333。

MCCF原理参考:https://blog.csdn.net/qq_17783559/article/details/83663620

CFLB原理参考:https://blog.csdn.net/qq_17783559/article/details/83687050

首先回顾CFLB提出滤波器最小化岭回归问题:

E(h) = \frac{1}{2}\sum\limits_{i = 1}^N\sum\limits_{j = 1}^T {||y_i(j) - {h^{\rm T}P{x_i}[\Delta {\tau _j}]} ||_2^2} + \frac{\lambda }{2}||{h}||_2^2

循环移位后的x[\Delta _j]h的点乘来表示卷积。\rm T表示转置,N表示输入了多少张图片来训练,一般是通过仿射扰动产生的几张,相关滤波算法很多改进版本N直接设为1。D为输入训练滤波器图像的大小,T是整帧图像大小。P是表示矩阵,大小为D\times T,中间D个元素是1,边上的都是0,用于把信号x的中间D的元素提取出来。

BACF就是将多通道(HOG)特征应用到CFLB:

E(h) = \frac{1}{2}\sum\limits_{j = 1}^T {||y(j) - \sum_{k=1}^{K}{h_k^{\rm T}P{x_k}[\Delta {\tau _j}]} ||_2^2} + \frac{\lambda }{2}\sum_{k=1}^{K}||{h_k}||_2^2

就是将CFLB的N设置为1,然后加入了多通道特征(HOG),P的操作过程如下图所示:

ICCV2017跟踪算法BACF原理及代码解析_第1张图片

构造了一个辅助变量\hat g转到傅里叶域:

\begin{array}{l} E(h,\hat g) = \frac{1}{2} {||\hat y- \hat X\hat g ||_2^2} + \frac{\lambda }{2}||{h}||_2^2 \\ \;\;\;\;\;\;\;\;s.t. \hat g=\sqrt{T}(FP^{\rm T}\otimes I_K)h \end{array}

其中,\hat X = [diag{({\hat x_1})^{\rm{T}}},...,diag{({\hat x_K})^{\rm{T}}}]h = {[h_1^{\rm{T}},...,h_K^{\rm{T}}]^{\rm{T}}}\hat g = {[\hat g_1^{\rm{T}},...,\hat g_K^{\rm{T}}]^{\rm{T}}}。再看看CFLB的傅里叶域公式:

\begin{array}{l} E(h,\hat g) = \frac{1}{2}\sum\limits_{i = 1}^N\ {||\hat y_i - diag{(\hat x_i)}^{\rm T}\hat g ||_2^2} + \frac{\lambda }{2}||{h}||_2^2 \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;s.t. \hat g=\sqrt{D}FP^{\rm T}h \end{array}

BACF就是用K个特征通道连在一起CFLB而已23333。然后通过ADMM来求解。

ADMM参考:https://blog.csdn.net/qq_17783559/article/details/82965747

其中求解h^*是在时域中进行的,而求解子问题\hat g^*的时候,用了作者在MCCF文章中提出的通道组合方法。

你可能感兴趣的:(目标跟踪)