CSR-DCF视频目标跟踪论文笔记(2)——关于滤波器Learning的推导(Augmented Lagrangian方法)

1. 论文基本信息

  • 论文标题:Discriminative Correlation Filter with Channel and Spatial Reliability
  • 作者:Alan Lukezic等
  • 出处:CVPR,2017
  • 文章链接:https://arxiv.org/abs/1611.08461
  • 补充材料:https://www.semanticscholar.org/paper/Discriminative-Correlation-Filter-with-Channel-and-Luke%C5%BEi%C4%8D-Voj%C4%B1-%C5%99/7b485979c75b46d8c194868c0e70890f4a0f0ede
  • 源码链接:https://github.com/alanlukezic/csr-dcf

这篇笔记主要针对滤波器求解的推导过程进行分析(拉格朗日乘子法),主要参考内容是原文的补充材料,关于论文其他部分创新点及其整体思路会在后续文章中进行分析。(笔记1的链接:http://blog.csdn.net/discoverer100/article/details/78182306)

2. 滤波器求解目标函数的构建

在多通道情况下,目标函数为

argminhd=1Nd(fdhdg2+λhd2)=argminhd=1Nd(h^Hddiag(f^d)g^d2+λh^d2)(1) (1) arg ⁡ min h ⁡ ∑ d = 1 N d ( ‖ f d ⊙ h d − g ‖ 2 + λ ‖ h d ‖ 2 ) = arg ⁡ min h ⁡ ∑ d = 1 N d ( ‖ h ^ d H d i a g ( f ^ d ) − g ^ d ‖ 2 + λ ‖ h ^ d ‖ 2 )

其中, h h 表示滤波器, d=1toNd d = 1 t o N d 表示 Nd N d 个通道, g g 表示期望的响应输出, λ λ 表示正则项用于防止过拟合(关于正则项为什么可以防止过拟合可以参考: http://www.cnblogs.com/alexanderkun/p/6922428.html)

根据上述(1)式,为简化推导过程,将多通道情况改为单通道情况模式,则目标函数为

argminhfhg2+λh2=argminhh^Hdiag(f^)g^2+λh^2(2) (2) arg ⁡ min h ⁡ ‖ f ⊙ h − g ‖ 2 + λ ‖ h ‖ 2 = arg ⁡ min h ⁡ ‖ h ^ H d i a g ( f ^ ) − g ^ ‖ 2 + λ ‖ h ^ ‖ 2

引入变量 hc h c 并定义约束条件
hchm=0(3) (3) h c − h m = 0

其中, hmmh h m ≡ m ⊙ h ,而 m m 表示论文中的空间置信图(spatial reliability map),也可以理解为一个mask,具体概念可以参考前面的一篇文章: http://blog.csdn.net/discoverer100/article/details/78182306,上述(3)式中引入的变量 hc h c 可以先不理会其物理意义,它的主要作用是让算法能够收敛(论文原文表述:prohibits a closed-form solution),个人猜测:这里的下标命名为c,可能就是取constrained的第一个字母。

对(2)式引入上述约束条件,并进一步调整,得到最终的目标函数

argminhc,hmh^Hcdiag(f^)g^2+λ2h^m2s.t.hchm=0(4) (4) arg ⁡ min h c , h m ⁡ ‖ h ^ c H d i a g ( f ^ ) − g ^ ‖ 2 + λ 2 ‖ h ^ m ‖ 2 s . t . h c − h m = 0

上述的正则项前面多出了一个系数 1/2 1 / 2 ,其主要意图是求导数后系数可以变为 1 1 ,便于公式书写。

这样,公式(4)就是我们推导的起始表达式。

3. 构建Lagrange表达式

根据上述目标函数,以及Augmented Lagrangian方法(参考Distributed optimization and statistical learning via the alternating direction method of multipliers),构建Lagrang表达式,如下

L(h^c,h,I^|m)=h^Hcdiag(f^)g^2+λ2hm2+[I^H(h^ch^m)+I^H(h^ch^m)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯]+μh^ch^m2(5) (5) L ( h ^ c , h , I ^ | m ) = ‖ h ^ c H d i a g ( f ^ ) − g ^ ‖ 2 + λ 2 ‖ h m ‖ 2 + [ I ^ H ( h ^ c − h ^ m ) + I ^ H ( h ^ c − h ^ m ) ¯ ] + μ ‖ h ^ c − h ^ m ‖ 2

其中,字母 I I 表示Lagrange乘数,字母上面的横杠表示 共轭矩阵,字母右上方的 H H 表示 共轭转置矩阵,因此有规律: A¯T=AH A ¯ T = A H (后面的推导中可能同时存在两种表示,需要留意)。将上述(5)式进行向量化表示,可得
L(h^c,h,I^|m)=h^Hcdiag(f^)g^2+λ2hm2+[I^H(h^cDFMh)+I^H(h^cDFMh)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯]+μh^cDFMh2(6) (6) L ( h ^ c , h , I ^ | m ) = ‖ h ^ c H d i a g ( f ^ ) − g ^ ‖ 2 + λ 2 ‖ h m ‖ 2 + [ I ^ H ( h ^ c − D F M h ) + I ^ H ( h ^ c − D F M h ) ¯ ] + μ ‖ h ^ c − D F M h ‖ 2

不难看出,上述(5)式到(6)式,主要变化就是将变量 h^m h ^ m 的表达式替换为 DFMh D F M h ,其中 F F 表示离散傅里叶变换矩阵,它相当于一个常量, D D F F 的大小( F F 是一个 D×D D × D 的方阵), M=diag(m) M = d i a g ( m )

将上述(6)式简单表述为四个项的和,为

L(h^c,h,I^)=L1+L2+L3+L4(7) (7) L ( h ^ c , h , I ^ ) = L 1 + L 2 + L 3 + L 4

其中,
L1=h^Hcdiag(f^)g^2=(h^Hcdiag(f^)g^)(h^Hcdiag(f^)g^)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯TL2=λ2hm2L3=I^H(h^cDFMh)+I^H(h^cDFMh)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯L4=μh^cDFMh2=μ(h^cDFMh)(h^cDFMh)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯T(8) (8) { L 1 = ‖ h ^ c H d i a g ( f ^ ) − g ^ ‖ 2 = ( h ^ c H d i a g ( f ^ ) − g ^ ) ( h ^ c H d i a g ( f ^ ) − g ^ ) ¯ T L 2 = λ 2 ‖ h m ‖ 2 L 3 = I ^ H ( h ^ c − D F M h ) + I ^ H ( h ^ c − D F M h ) ¯ L 4 = μ ‖ h ^ c − D F M h ‖ 2 = μ ( h ^ c − D F M h ) ( h ^ c − D F M h ) ¯ T

4. 开始优化,首先对h_c求偏导数

对上述公式(4)的优化可以表述为下面的迭代过程

h^optc=argminhcL(h^c,h,I^)hopt=argminhL(h^optc,h,I^)(9) (9) h ^ c o p t = arg ⁡ min h c ⁡ L ( h ^ c , h , I ^ ) h o p t = arg ⁡ min h ⁡ L ( h ^ c o p t , h , I ^ )

现在看关于变量 h^c h ^ c 的优化,需要令满足 h^c¯¯¯¯¯¯L0 ∇ h ^ c ¯ L ≡ 0 ,也就是
h^c¯¯¯¯¯¯L1+h^c¯¯¯¯¯¯L2+h^c¯¯¯¯¯¯L3+h^c¯¯¯¯¯¯L40(10) (10) ∇ h ^ c ¯ L 1 + ∇ h ^ c ¯ L 2 + ∇ h ^ c ¯ L 3 + ∇ h ^ c ¯ L 4 ≡ 0

对各个分量求偏导数,有
h^c¯¯¯¯¯¯L1=h^c¯¯¯¯¯[(h^Hcdiag(f^)g^)(h^Hcdiag(f^)g^)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯T]=h^c¯¯¯¯¯[h^Hcdiag(f^)diag(f^)Hh^ch^Hcdiag(f^)g^Hg^diag(f^)Hh^c+g^g^H]=diag(f^)diag(f^)Hh^cdiag(f^)g^H0+0=diag(f^)diag(f^)Hh^cdiag(f^)g^H(11) (11) ∇ h ^ c ¯ L 1 = ∂ ∂ h ^ c ¯ [ ( h ^ c H d i a g ( f ^ ) − g ^ ) ( h ^ c H d i a g ( f ^ ) − g ^ ) ¯ T ] = ∂ ∂ h ^ c ¯ [ h ^ c H d i a g ( f ^ ) d i a g ( f ^ ) H h ^ c − h ^ c H d i a g ( f ^ ) g ^ H − g ^ d i a g ( f ^ ) H h ^ c + g ^ g ^ H ] = d i a g ( f ^ ) d i a g ( f ^ ) H h ^ c − d i a g ( f ^ ) g ^ H − 0 + 0 = d i a g ( f ^ ) d i a g ( f ^ ) H h ^ c − d i a g ( f ^ ) g ^ H

h^c¯¯¯¯¯¯L2=h^c¯¯¯¯¯¯[λ2hm2]=0(12) (12) ∇ h ^ c ¯ L 2 = ∇ h ^ c ¯ [ λ 2 ‖ h m ‖ 2 ] = 0

h^c¯¯¯¯¯¯L3=h^c¯¯¯¯¯[I^H(h^cDFMh)+I^H(h^cDFMh)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯]=h^c¯¯¯¯¯[I^Hh^cI^HDFMh+I^Th^c¯¯¯¯¯I^TDFMh¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯]=00+I^T0=I^(13) (13) ∇ h ^ c ¯ L 3 = ∂ ∂ h ^ c ¯ [ I ^ H ( h ^ c − D F M h ) + I ^ H ( h ^ c − D F M h ) ¯ ] = ∂ ∂ h ^ c ¯ [ I ^ H h ^ c − I ^ H D F M h + I ^ T h ^ c ¯ − I ^ T D F M h ¯ ] = 0 − 0 + I ^ T − 0 = I ^

h^c¯¯¯¯¯¯L4=h^c¯¯¯¯¯[μ(h^cDFMh)(h^cDFMh)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯T]=h^c¯¯¯¯¯[μ(h^ch^Hch^cDhHMFHDFMhh^Hc+DFMhDhHMFH)]=h^c¯¯¯¯¯[μ(h^ch^Hch^cDhHMFHDFMhh^Hc+DFMhhHMFH)]=μ(h^c0DFMh+0)=μh^cμDFMh(14) (14) ∇ h ^ c ¯ L 4 = ∂ ∂ h ^ c ¯ [ μ ( h ^ c − D F M h ) ( h ^ c − D F M h ) ¯ T ] = ∂ ∂ h ^ c ¯ [ μ ( h ^ c ⋅ h ^ c H − h ^ c ⋅ D h H M F H − D F M h h ^ c H + D F M h ⋅ D h H M F H ) ] = ∂ ∂ h ^ c ¯ [ μ ( h ^ c ⋅ h ^ c H − h ^ c ⋅ D h H M F H − D F M h h ^ c H + D F M h h H M F H ) ] = μ ( h ^ c − 0 − D F M h + 0 ) = μ h ^ c − μ D F M h

于是,上述公式(10)可以写成

diag(f^)diag(f^)Hh^cdiag(f^)g^H+0+I^+μ(h^c0DFMh+0)0diag(f^)diag(f^)Hh^cdiag(f^)g^H+I^+μ(h^c0DFMh+0)0(15) (15) d i a g ( f ^ ) d i a g ( f ^ ) H h ^ c − d i a g ( f ^ ) g ^ H + 0 + I ^ + μ ( h ^ c − 0 − D F M h + 0 ) ≡ 0 d i a g ( f ^ ) d i a g ( f ^ ) H h ^ c − d i a g ( f ^ ) g ^ H + I ^ + μ ( h ^ c − 0 − D F M h + 0 ) ≡ 0

回顾公式(6),我们曾将变量 h^m h ^ m 的表达式替换为 DFMh D F M h ,现在我们将它替换回来,得
diag(f^)diag(f^)Hh^cdiag(f^)g^H+I^+μ(h^c0h^m+0)0(16) (16) d i a g ( f ^ ) d i a g ( f ^ ) H h ^ c − d i a g ( f ^ ) g ^ H + I ^ + μ ( h ^ c − 0 − h ^ m + 0 ) ≡ 0

针对 h^c h ^ c 合并同类项,得
h^c[diag(f^)diag(f^)H+μ]=μh^m+diag(f^)g^HI^(17) (17) h ^ c ⋅ [ d i a g ( f ^ ) d i a g ( f ^ ) H + μ ] = μ h ^ m + d i a g ( f ^ ) g ^ H − I ^

于是,
h^c=diag(f^)g^H+μh^mI^diag(f^)diag(f^)H+μ(18) (18) h ^ c = d i a g ( f ^ ) g ^ H + μ h ^ m − I ^ d i a g ( f ^ ) d i a g ( f ^ ) H + μ

根据对角矩阵的乘法性质以及相关滤波基础概念,我们可以将上述(18)式的表达进行简化,得
h^c=f^g^+μh^mI^f^f^+μ(19) (19) h ^ c = f ^ ⊙ g ^ ∗ + μ h ^ m − I ^ f ^ ⊙ f ^ ∗ + μ

由于右上角得星号表示共轭矩阵,为与作者原文表述一致,也可用顶部的横杠表示,有
h^c=f^g^¯¯¯+μh^mI^f

你可能感兴趣的:(视频目标跟踪(Visual,tracking),论文笔记,filter),傅里叶变换,数字图像处理,模式识别与深度学习)