SRDCF公式推导

1 标准DCF

  • 滤波器 f f f与样本 x x x的输出响应可 (1) S f ( x ) = ∑ l = 1 d x l ∗ f l S_f(x)=\sum_{l=1}^{d}{x^l}*{f^l}\tag{1} Sf(x)=l=1dxlfl(1) 1.*表示循环卷积
    2. l ∈ { 1 , . . . , d } l \in \lbrace1,...,d\rbrace l{1,...,d} d d d表示样本 x x x的特征维数
    3. x k l x_k^l xkl表示样本 x k x_k xk的第 l l l 维特征
    4.每个样本每个特征通道 x l x^l xl和每个通道对应的滤波器 f l f^l fl大小均为为 M M Mx N N N
  • L 2 L^2 L2误差可表示为: (2) ε t ( f ) = ∑ k = 1 t α k ∣ ∣ S f ( x k ) − y k ∣ ∣ 2 + λ ∑ l = 1 d ∣ ∣ f l ∣ ∣ 2 \varepsilon_t(f)=\sum_{k=1}^t\alpha_k||S_f(x_k)-y_k||^2+\lambda\sum_{l=1}^d||f^l||^2\tag{2} εt(f)=k=1tαkSf(xk)yk2+λl=1dfl2(2) 1. α k ≥ 0 \alpha _k \ge 0 αk0 决定每个训练样本的影响(权重衰减因子,于学习率有类似作用)
    2. λ ≥ 0 \lambda\ge 0 λ0 是正则化项的权重
    3.训练样本表示为 { ( x k , y k ) } k = 1 t \lbrace(x_k,y_k)\rbrace_{k=1}^t {(xk,yk)}k=1t t t t表示历史样本数
  • 快速检测表示为: (3) S f ( z ) = F − 1 { ∑ l = 1 d z ^ l ⋅ f ^ l } S_f(z)=\mathcal F^{-1}\lbrace\sum_{l=1}^d\widehat z^l \cdot {\widehat f^l}\rbrace \tag{3} Sf(z)=F1{l=1dz lf l}(3) 1. z z z表示目标区域提取的特征图
    2. f ^ l = F { f l } \widehat f^l=\mathcal F\lbrace {f^l}\rbrace f l=F{fl}表示滤波器的傅里叶变换

2 SRDCF

2.1 空间正则化
  • 抑制边界区域的影响,给滤波器加上一个相同大小 ( M (M (Mx N ) N) N)的正则项 w w w,则式(2)可表示为: (4) ε t ( f ) = ∑ k = 1 t α k ∣ ∣ S f ( x k ) − y k ∣ ∣ 2 + ∑ l = 1 d ∣ ∣ w ⋅ f l ∣ ∣ 2 \varepsilon_t(f)=\sum_{k=1}^t\alpha_k||S_f(x_k)-y_k||^2+\sum_{l=1}^d||w\cdot f^l||^2\tag{4} εt(f)=k=1tαkSf(xk)yk2+l=1dwfl2(4) 1. w w w 为空间正则化项,离目标区域越远越大,表示处罚越大(如:倒置的高斯分布)
    2.当 w ( m , n ) = λ w(m,n)=\sqrt \lambda w(m,n)=λ 时,则变为标准DCF
    3. w ^ \widehat w w 具有稀疏特性(后面推导有用到这一性质)
    4. w ⋅ f l w\cdot f^l wfl 表明正则项 w w w 和滤波器 f f f 是进行点乘运算的

  • 正则项 w w w 可视化如下图所示

  • 加速计算,基于帕斯瓦尔定理,将 ( 4 ) (4) (4)式转换到频率为: (5) ε t ( f ^ ) = ∑ k = 1 t α k ∣ ∣ ∑ l = 1 d x ^ k l ⋅ f ^ l − y ^ k ∣ ∣ 2 + ∑ l = 1 d ∣ ∣ w ^ M N ∗ f ^ l ∣ ∣ 2 \varepsilon_t(\widehat f)=\sum_{k=1}^t\alpha_k||\sum_{l=1}^d\widehat x_k ^l \cdot {\widehat f ^ l}-\widehat y_k||^2+\sum_{l=1}^d||\frac {\widehat w}{MN}\ast \widehat f^l||^2\tag{5} εt(f )=k=1tαkl=1dx klf ly k2+l=1dMNw f l2(5) 1.时域的点乘 w ⋅ f l w\cdot f^l wfl 转换到频率变为卷积 w ^ ∗ f ^ l \widehat w \ast \widehat f^l w f l
    2. w ⋅ f l ⟺ w ^ M N ∗ f ^ l w\cdot f^l \Longleftrightarrow\frac {\widehat w}{MN}\ast \widehat f^l wflMNw f l M N MN MN 相当于周期

  • 方便实际计算,将 ( 5 ) (5) (5)式全部向量化为: (6) ε t ( f ^ ) = ∑ k = 1 t α k ∣ ∣ ∑ l = 1 d D ( x ^ k l ) f ^ l − y ^ k ∣ ∣ 2 + ∑ l = 1 d ∣ ∣ C ( w ^ ) M N f ^ l ∣ ∣ 2 \varepsilon_t(\widehat f)=\sum_{k=1}^t\alpha_k||\sum_{l=1}^d\mathcal D(\widehat \boldsymbol x_k ^l){\widehat \boldsymbol f ^ l}-\widehat \boldsymbol y_k||^2+\sum_{l=1}^d||\frac {\mathcal C(\widehat \boldsymbol w)}{MN}\widehat \boldsymbol f^l||^2\tag{6} εt(f )=k=1tαkl=1dD(x kl)f ly k2+l=1dMNC(w )f l2(6) 1. D ( v ) \mathcal D(\boldsymbol v) D(v) 表示对角线上元素为 v \boldsymbol v v 的对角阵, 大小为 M N × M N MN \times MN MN×MN
    2. C ( w ^ ) \mathcal C(\widehat \boldsymbol w) C(w ) 表示从 w ^ \widehat \boldsymbol w w 得到的循环矩阵, w ^ \widehat \boldsymbol w w 大小为 M N × 1 MN\times1 MN×1 C ( w ^ ) \mathcal C(\widehat \boldsymbol w) C(w ) 大小为 M N × M N MN \times MN MN×MN
    3. f ^ l \widehat \boldsymbol f^l f l y ^ k \widehat \boldsymbol y_k y k 的大小为 M N × 1 MN \times 1 MN×1
    4. C ( w ^ ) f ^ l \mathcal C(\widehat \boldsymbol w) \widehat \boldsymbol f^l C(w )f l w ^ ∗ f ^ l \widehat \boldsymbol w \ast \widehat \boldsymbol f^l w f l的向量化(通过循环操作可以去掉卷积符号,因为卷积的本质就是移位相乘相加)

  • 为将所有变量转到实域来求解,作者构造了一个大小为 M N × M N MN \times MN MN×MN 的转换矩阵 B B B(具体构造见论文中式 ( 7 ) (7) (7)),如实数向量 f ~ l = B f ^ l \widetilde \boldsymbol f^l=B\widehat \boldsymbol f^l f l=Bf l ,对 ( 6 ) (6) (6)式全部左乘 B B B 可得: (7) ε t ( f ^ ) = ∑ k = 1 t α k ∣ ∣ ∑ l = 1 d B D ( x ^ k l ) f ^ l − B y ^ k ∣ ∣ 2 + ∑ l = 1 d ∣ ∣ B C ( w ^ ) M N f ^ l ∣ ∣ 2 = ∑ k = 1 t α k ∣ ∣ ∑ l = 1 d B D ( x ^ k l ) B H B f ^ l − B y ^ k ∣ ∣ 2 + ∑ l = 1 d ∣ ∣ B C ( w ^ ) B H M N B f ^ l ∣ ∣ 2 = ∑ k = 1 t α k ∣ ∣ ∑ l = 1 d D k l f ~ l − y ~ k ∣ ∣ 2 + ∑ l = 1 d ∣ ∣ C f ~ l ∣ ∣ 2 \begin{aligned} \varepsilon_t(\widehat f)&=\sum_{k=1}^t\alpha_k||\sum_{l=1}^d B\mathcal D(\widehat \boldsymbol x_k ^l){\widehat \boldsymbol f ^ l}-B\widehat \boldsymbol y_k||^2+\sum_{l=1}^d||\frac {B\mathcal C(\widehat \boldsymbol w)}{MN}\widehat \boldsymbol f^l||^2\\ &=\sum_{k=1}^t\alpha_k||\sum_{l=1}^d B\mathcal D(\widehat \boldsymbol x_k ^l)B^HB{\widehat \boldsymbol f ^ l}-B\widehat \boldsymbol y_k||^2+\sum_{l=1}^d||\frac {B\mathcal C(\widehat \boldsymbol w)B^H}{MN}B\widehat \boldsymbol f^l||^2\\ &=\sum_{k=1}^t\alpha_k||\sum_{l=1}^d D_k ^l{\widetilde \boldsymbol f ^ l}-\widetilde \boldsymbol y_k||^2+\sum_{l=1}^d||C\widetilde \boldsymbol f^l||^2\\ \end{aligned}\tag{7} εt(f )=k=1tαkl=1dBD(x kl)f lBy k2+l=1dMNBC(w )f l2=k=1tαkl=1dBD(x kl)BHBf lBy k2+l=1dMNBC(w )BHBf l2=k=1tαkl=1dDklf ly k2+l=1dCf l2(7) 1. B B B 是稀疏的酉矩阵,满足 B H B = I B^HB=I BHB=I
    2. B D ( x ^ k l ) B H ⟺ D k l B\mathcal D(\widehat \boldsymbol x_k ^l)B^H \Longleftrightarrow D_k ^l BD(x kl)BHDkl
    3. B f ^ l ⟺ f ~ l B\widehat \boldsymbol f^l \Longleftrightarrow \widetilde \boldsymbol f^l Bf lf l
    4. B y ^ k ⟺ y ~ k B\widehat \boldsymbol y_k \Longleftrightarrow \widetilde \boldsymbol y_k By ky k
    5. B C ( w ^ ) B H M N ⟺ C \frac {B\mathcal C(\widehat \boldsymbol w)B^H}{MN} \Longleftrightarrow C MNBC(w )BHC

  • ( 7 ) (7) (7) 式进一步简化可得: (8) ε t ( f ~ ) = ∑ k = 1 t α k ∣ ∣ D k f ~ − y ~ k ∣ ∣ 2 + ∣ ∣ W f ~ ∣ ∣ 2 \varepsilon_t(\widetilde \boldsymbol f)=\sum_{k=1}^t\alpha_k||D_k{\widetilde \boldsymbol f}-\widetilde \boldsymbol y_k||^2+||W\widetilde \boldsymbol f||^2\tag{8} εt(f )=k=1tαkDkf y k2+Wf 2(8) 1. D k = ( D k 1 ⋅ ⋅ ⋅ D k d ) D_k=(D_k^1 \cdot \cdot \cdot D_k^d) Dk=(Dk1Dkd),大小为 M N × d M N MN\times dMN MN×dMN
    2. f ~ = ( ( f ~ 1 ) T ⋅ ⋅ ⋅ ( f ~ d ) T ) T \widetilde \boldsymbol f=((\widetilde \boldsymbol f^1)^T\cdot \cdot \cdot (\widetilde \boldsymbol f^d)^T)^T f =((f 1)T(f d)T)T,大小为 d M N × 1 dMN\times 1 dMN×1
    3. W W W 的大小为 d M N × d M N dMN\times dMN dMN×dMN 对角块矩阵,每个对角块等于 C C C

  • ( 8 ) (8) (8) 式与岭回归求解类似,求解得 A t f ~ = b ~ t A_t\widetilde \boldsymbol f=\widetilde \boldsymbol b_t Atf =b t(具体求解参考KCF算法推导中的岭回归求解)其中: (9) A t = ∑ k = 1 t α k D k T D k + W T W b ~ t = ∑ k = 1 t α k D k T y ~ k \begin{aligned} &A_t=\sum_{k=1}^t\alpha_kD_k^TD_k+W^TW\\ &\widetilde \boldsymbol b_t=\sum_{k=1}^t\alpha_kD_k^T\widetilde \boldsymbol y_k \tag{9} \end{aligned} At=k=1tαkDkTDk+WTWb t=k=1tαkDkTy k(9)

2.2 优化
  • 由于正则化项 W T W W^TW WTW,破坏了标准DCF的对角块结构。直接对上式求解(需要求逆)非常耗时,作者利用 A t A_t At的稀疏性(较少的迭代次数内到达一个收敛值)等性质,采用Gauss-Seidel方法迭代求解得到 f ~ \widetilde \boldsymbol f f
  • 参考Gauss–Seidel迭代 A t A_t At 可分解成下三角矩阵 L t L_t Lt 和严格上三角矩阵 U t U_t Ut(不包括对角线),即 A t = L t + U t A_t=L_t+U_t At=Lt+Ut。则 A t f ~ = b ~ t A_t\widetilde \boldsymbol f=\widetilde \boldsymbol b_t Atf =b t可变形为: (10) L t f ~ = b ~ t − U t f ~ L_t \widetilde \boldsymbol f=\widetilde \boldsymbol b_t-U_t\widetilde \boldsymbol f\tag{10} Ltf =b tUtf (10)
  • 迭代公式如下式: (11) L t f ~ ( j ) = b ~ t − U t f ~ ( j − 1 ) L_t \widetilde \boldsymbol f^{(j)}=\widetilde \boldsymbol b_t-U_t\widetilde \boldsymbol f^{(j-1)}\tag{11} Ltf (j)=b tUtf (j1)(11)
2.3 训练
  • A t A_t At b ~ t \widetilde \boldsymbol b_t b t 更新方式: (12) A t = ( 1 − γ ) A t − 1 + γ ( D t T D t + W T W ) b ~ t = ( 1 − γ ) b ~ t − 1 + γ D t T y ~ t \begin{aligned} &A_t=(1-\gamma)A_{t-1}+\gamma(D_t^TD_t+W^TW)\\ &\widetilde \boldsymbol b_t=(1-\gamma)\widetilde \boldsymbol b_{t-1}+\gamma D_t^T \widetilde \boldsymbol y_t \tag{12} \end{aligned} At=(1γ)At1+γ(DtTDt+WTW)b t=(1γ)b t1+γDtTy t(12) 1. γ ≥ 0 \gamma \ge 0 γ0 表示学习率
    2.第1帧: A 1 = D 1 T D 1 + W T W A_1=D_1^TD_1+W^TW A1=D1TD1+WTW b ~ t = D 1 T y ~ 1 \widetilde \boldsymbol b_t=D_1^T \widetilde \boldsymbol y_1 b t=D1Ty 1 作为初始值
    3.正则化项 W T W W^TW WTW 可在整个跟踪过程中预先计算好
    4.采用上式这种momentum更新方式由于不需要存储所有样本 x k x_k xk,可有效节省内存
    5.采用固定的迭代次数 N G S N_{GS} NGS
    6.上述更新方式与指数衰减权重 α k \alpha _k αk 效果类似
    7.第 t t t 帧的初始值 f ~ t ( 0 ) = f ~ t − 1 ( N G S ) \widetilde \boldsymbol f_t^{(0)}=\widetilde \boldsymbol f_{t-1}^{(N_{GS})} f t(0)=f t1(NGS)
  • 对于第1帧的初始值 f ~ 1 ( 0 ) \widetilde \boldsymbol f_1^{(0)} f 1(0) 通过求解 M N × M N MN \times MN MN×MN线性方程得到: (13) ( ∑ p = 1 d ( D 1 P ) T D 1 P + d C T C ) f ~ 1 l , ( 0 ) = ( D 1 l ) T y ~ 1 ( l = 1 , . . . , d ) (\sum_{p=1}^d(D_1^P)^TD_1^P+dC^TC)\widetilde \boldsymbol f_1^{l,(0)}=(D_1^l)^T\widetilde \boldsymbol y_1(l = 1,...,d)\tag{13} (p=1d(D1P)TD1P+dCTC)f 1l,(0)=(D1l)Ty 1l=1,...,d(13)
2.4 检测—Fast Sub-grid Detection
  • ( 3 ) (3) (3)式来粗略估计所有网格位置的得分 s ( m , n ) s(m,n) s(m,n) ( m , n m,n m,n并不是以像素为单位的,如一般HOG特征提取 cell=4 pixels)
  • 将最大得分位置 ( u ( 0 ) , v ( 0 ) ) (u^{(0)},v^{(0)}) (u(0),v(0)) 作为初始估计
  • 连续位置 ( u , v ) (u,v) (u,v)的得分 s ( u , v ) s(u, v) s(u,v)按下式插值,用牛顿法进行迭代,使下式最小 (14) s ( u , v ) = 1 M N ∑ m = 0 M − 1 ∑ n = 0 N − 1 s ^ ( m , n ) e i 2 π ( m M u + n N v ) s(u,v)=\frac{1}{MN}\sum_{m=0}^{M-1}\sum_{n=0}^{N-1}\widehat s(m,n)e^{i2\pi(\frac{m}{M}u+\frac{n}{N}v)}\tag{14} s(u,v)=MN1m=0M1n=0N1s (m,n)ei2π(Mmu+Nnv)(14) 1. i i i表示虚部
    2.连续位置 ( u , v ) ∈ [ 0 , M ) × [ 0 , N ) (u,v)\in[0,M)\times[0,N) (u,v)[0,M)×[0,N)通过DFT系数的三角多项式插值得到(不太明白!!!)
  • 每次迭代的梯度和Hessian通过分析 ( 14 ) (14) (14)式的微分得到,发现只要几次迭代就可以收敛
  • 对于每个尺度单独进行迭代,使用最大的检测得分来更新目标的位置和尺度
2.5 实验
  • 正则项 w w w 用二次函数来构造: w ( m , n ) = μ + η ( m / P ) 2 + η ( n / Q ) 2 w(m,n)=\mu+\eta(m/P)^2+\eta(n/Q)^2 w(m,n)=μ+η(m/P)2+η(n/Q)2 1. P × Q P\times Q P×Q 表示目标尺寸
    2. w w w 的最小值 μ = 0.1 \mu=0.1 μ=0.1
    3.正则化影响因子 η = 3 \eta=3 η=3
    4.实际上频域下的 w w w 只有几个值有较大的幅值,如下图所示。为保证 w ^ \widehat w w 的稀疏特性,设置阈值来移除较小的值,结果包含约10个非零值。

    5.HOG特征,cell大小为 4 × 4 4\times 4 4×4,特征大小为 M × N ( M = N ) M \times N(M=N) M×N(M=N)
    6.样本区域是目标区域的 4 2 4^2 42
    7.初始尺度的样本 M = 50 M=50 M=50
    8.学习率 γ = 0.025 \gamma=0.025 γ=0.025,Gauss-Seidel迭代次数 N G S = 4 N_{GS}=4 NGS=4
    9.在普通台式机matlab环境下5FPS
  • 15
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值