1. 论文基本信息
这篇笔记主要针对滤波器求解的推导过程进行分析(拉格朗日乘子法),主要参考内容是原文的补充材料,关于论文其他部分创新点及其整体思路会在后续文章中进行分析。(笔记1的链接:http://blog.csdn.net/discoverer100/article/details/78182306)
2. 滤波器求解目标函数的构建
在多通道情况下,目标函数为
argminh∑d=1Nd(∥fd⊙hd−g∥2+λ∥hd∥2)=argminh∑d=1Nd(∥∥h^Hddiag(f^d)−g^d∥∥2+λ∥∥h^d∥∥2)(1)
其中,
h
表示滤波器,
d=1toNd
表示
Nd
个通道,
g
表示期望的响应输出,
λ
表示正则项用于防止过拟合(关于正则项为什么可以防止过拟合可以参考:
http://www.cnblogs.com/alexanderkun/p/6922428.html)
根据上述(1)式,为简化推导过程,将多通道情况改为单通道情况模式,则目标函数为
argminh∥f⊙h−g∥2+λ∥h∥2=argminh∥∥h^Hdiag(f^)−g^∥∥2+λ∥∥h^∥∥2(2)
引入变量
hc
并定义约束条件
hc−hm=0(3)
其中,
hm≡m⊙h
,而
m
表示论文中的空间置信图(spatial reliability map),也可以理解为一个mask,具体概念可以参考前面的一篇文章:
http://blog.csdn.net/discoverer100/article/details/78182306,上述(3)式中引入的变量
hc
可以先不理会其物理意义,它的主要作用是让算法能够收敛(论文原文表述:prohibits a closed-form solution),个人猜测:这里的下标命名为c,可能就是取constrained的第一个字母。
对(2)式引入上述约束条件,并进一步调整,得到最终的目标函数
argminhc,hm∥∥h^Hcdiag(f^)−g^∥∥2+λ2∥∥h^m∥∥2s.t.hc−hm=0(4)
上述的正则项前面多出了一个系数
1/2
,其主要意图是求导数后系数可以变为
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+λ2∥hm∥2+[I^H(h^c−h^m)+I^H(h^c−h^m)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯]+μ∥∥h^c−h^m∥∥2(5)
其中,字母
I
表示Lagrange乘数,字母上面的横杠表示
共轭矩阵,字母右上方的
H
表示
共轭转置矩阵,因此有规律:
A¯T=AH
(后面的推导中可能同时存在两种表示,需要留意)。将上述(5)式进行向量化表示,可得
L(h^c,h,I^|m)=∥∥h^Hcdiag(f^)−g^∥∥2+λ2∥hm∥2+[I^H(h^c−D−−√FMh)+I^H(h^c−D−−√FMh)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯]+μ∥∥h^c−D−−√FMh∥∥2(6)
不难看出,上述(5)式到(6)式,主要变化就是将变量
h^m
的表达式替换为
D−−√FMh
,其中
F
表示离散傅里叶变换矩阵,它相当于一个常量,
D
是
F
的大小(
F
是一个
D×D
的方阵),
M=diag(m)
将上述(6)式简单表述为四个项的和,为
L(h^c,h,I^)=L1+L2+L3+L4(7)
其中,
⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪L1=∥∥h^Hcdiag(f^)−g^∥∥2=(h^Hcdiag(f^)−g^)(h^Hcdiag(f^)−g^)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯TL2=λ2∥hm∥2L3=I^H(h^c−D−−√FMh)+I^H(h^c−D−−√FMh)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯L4=μ∥∥h^c−D−−√FMh∥∥2=μ(h^c−D−−√FMh)(h^c−D−−√FMh)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯T(8)
4. 开始优化,首先对h_c求偏导数
对上述公式(4)的优化可以表述为下面的迭代过程
h^optc=argminhcL(h^c,h,I^)hopt=argminhL(h^optc,h,I^)(9)
现在看关于变量
h^c
的优化,需要令满足
∇h^c¯¯¯L≡0
,也就是
∇h^c¯¯¯L1+∇h^c¯¯¯L2+∇h^c¯¯¯L3+∇h^c¯¯¯L4≡0(10)
对各个分量求偏导数,有
∇h^c¯¯¯L1=∂∂h^c¯¯¯¯⎡⎣(h^Hcdiag(f^)−g^)(h^Hcdiag(f^)−g^)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯T⎤⎦=∂∂h^c¯¯¯¯[h^Hcdiag(f^)diag(f^)Hh^c−h^Hcdiag(f^)g^H−g^diag(f^)Hh^c+g^g^H]=diag(f^)diag(f^)Hh^c−diag(f^)g^H−0+0=diag(f^)diag(f^)Hh^c−diag(f^)g^H(11)
∇h^c¯¯¯L2=∇h^c¯¯¯[λ2∥hm∥2]=0(12)
∇h^c¯¯¯L3=∂∂h^c¯¯¯¯[I^H(h^c−D−−√FMh)+I^H(h^c−D−−√FMh)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯]=∂∂h^c¯¯¯¯[I^Hh^c−I^HD−−√FMh+I^Th^c¯¯¯¯−I^TD−−√FMh¯¯¯¯¯¯¯¯¯¯¯¯¯¯]=0−0+I^T−0=I^(13)
∇h^c¯¯¯L4=∂∂h^c¯¯¯¯[μ(h^c−D−−√FMh)(h^c−D−−√FMh)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯T]=∂∂h^c¯¯¯¯[μ(h^c⋅h^Hc−h^c⋅D−−√hHMFH−D−−√FMhh^Hc+D−−√FMh⋅D−−√hHMFH)]=∂∂h^c¯¯¯¯[μ(h^c⋅h^Hc−h^c⋅D−−√hHMFH−D−−√FMhh^Hc+DFMhhHMFH)]=μ(h^c−0−D−−√FMh+0)=μh^c−μD−−√FMh(14)
于是,上述公式(10)可以写成
diag(f^)diag(f^)Hh^c−diag(f^)g^H+0+I^+μ(h^c−0−D−−√FMh+0)≡0diag(f^)diag(f^)Hh^c−diag(f^)g^H+I^+μ(h^c−0−D−−√FMh+0)≡0(15)
回顾公式(6),我们曾将变量
h^m
的表达式替换为
D−−√FMh
,现在我们将它替换回来,得
diag(f^)diag(f^)Hh^c−diag(f^)g^H+I^+μ(h^c−0−h^m+0)≡0(16)
针对
h^c
合并同类项,得
h^c⋅[diag(f^)diag(f^)H+μ]=μh^m+diag(f^)g^H−I^(17)
于是,
h^c=diag(f^)g^H+μh^m−I^diag(f^)diag(f^)H+μ(18)
根据对角矩阵的乘法性质以及相关滤波基础概念,我们可以将上述(18)式的表达进行简化,得
h^c=f^⊙g^∗+μh^m−I^f^⊙f^∗+μ(19)
由于右上角得星号表示共轭矩阵,为与作者原文表述一致,也可用顶部的横杠表示,有
h^c=f^⊙g^¯+μh^m−I^f^⊙f^¯¯¯+μ(20)
这样就完成了对变量
h^c
的最优化求解,它对应论文官方源码中的变量G(位于create_csr_filter.m中)
G = (Sxy + mu*H - L) ./ (Sxx + mu);
5. 对变量h求解偏导数
前面的公式(10)-(20)都是针对变量
h^c
求解偏导数,由于论文提出的Lagrange表达式中含有两个变量,现在还需要针对变量
h¯¯
求解偏导数,也就是
∇h¯L1+∇h¯L2+∇h¯L3+∇h¯L4≡0(21)
首先回顾(8)式,也就是L1、L2、L3和L4这四个优化项
⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪L1=∥∥h^Hcdiag(f^)−g^∥∥2=(h^Hcdiag(f^)−g^)(h^Hcdiag(f^)−g^)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯TL2=λ2∥hm∥2L3=I^H(h^c−D−−√FMh)+I^H(h^c−D−−√FMh)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯L4=μ∥∥h^c−D−−√FMh∥∥2=μ(h^c−D−−√FMh)(h^c−D−−√FMh)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯T(8)
其关于变量
h¯¯
的偏导数为
∇h¯L1=∂∂h¯¯⎡⎣(h^Hcdiag(f^)−g^)(h^Hcdiag(f^)−g^)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯T⎤⎦=0(22)
∇h¯L2=∂∂h¯¯[λ2∥hm∥2]=∂∂h¯¯[λ2∥m⊙h∥2]=∂∂h¯¯[λ2(Mh)¯¯¯¯¯¯¯¯T(Mh)]=∂∂h¯¯[λ2hHMHMh](23)
观察(23)式,由于其中的
M
表示论文定义的mask(也就是Spatial reliability map)的对角线元素,这个矩阵中的所有元素仅为0或者1,它们都是实数,因此(23)式中的
MHM
可以简化表示为
M
,于是,
∇h¯L2=∂∂h¯¯[λ2hHMh]=∂∂h¯¯[λ2((hHMh)T)T]=∂∂h¯¯[λ2(hTMTh¯¯)T]=(λ2(hTMT))T=λ2Mh(24)
∇h¯L3=∂∂h¯¯[I^H(h^c−D−−√FMh)+I^H(h^c−D−−√FMh)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯]=∂∂h¯¯[I^Hh^c−I^HD−−√FMh+I^Th^c¯¯¯¯−I^TD−−√FMh¯¯¯¯¯¯¯¯¯¯¯¯¯¯]=0−0+0−I^TD−−√FM¯¯¯¯¯¯¯¯¯¯¯¯=−D−−√⋅I^T⋅F¯¯¯⋅M¯¯¯¯=−D−−√⋅(I^)T⋅(FH)T⋅(MH)T=−D−−√(MHFHI^)T=−D−−√(MFHI^)T(25)
注意:(25)式的求解结果与论文补充材料表述不一致,本人的求解结果多出了一个转置,原因还需要进一步确认。
上述(25)式中,利用了矩阵\bf M
M
为实数矩阵的性质,所以有
MH=M
,最后是L4项
∇h¯L4=∂∂h¯¯[μ(h^c−D−−√FMh)(h^c−D−−√FMh)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯T]=∂∂h¯¯[μ(h^c⋅h^Hc−h^c⋅D−−√(F¯¯¯⋅M¯¯¯¯⋅h¯¯)T−D−−√FMhh^Hc+DFMh(F¯¯¯⋅M¯¯¯¯⋅h¯¯)T)]=∂∂h¯¯[μ(h^c⋅h^Hc−h^c⋅D−−√hHMFH−D−−√FMhh^Hc+DFMhhHMHFH)]=0−∂∂h¯¯[μ⋅h^c⋅D−−√hHMFH]−0+∂∂h¯¯[μ⋅DFMhhHMHFH]=−[∂∂hH[μ⋅h^c⋅D−−√hHMFH]]T+[∂∂hH[μ⋅DFMhhHMHFH]]T=−[∂∂hH[μ⋅D−−√⋅h^c⋅hHMFH]]T+[∂∂hH[μ⋅DFMh⋅hH⋅MHFH]]T=−μ⋅D−−√⋅[(h^c)T⋅(MFH)T]T+μ⋅D⋅[(FMh)T⋅(MHFH)T]T=−μ⋅D−−√⋅[(MFH)T]T⋅[(h^c)T]T+μ⋅D⋅[(MHFH)T]T⋅[(FMh)T]T=−μ⋅D−−√⋅MFH⋅h^c+μ⋅D⋅MHFH⋅FMh=−μ⋅D−−√⋅MFH⋅h^c+μ⋅D⋅MHIMh=−μ⋅D−−√⋅MFH⋅h^c+μ⋅D⋅(M⋅M)h=−μD−−√MFHh^c+μDMh(26)
上述(26)式末尾利用了
MM=M
,这是因为
M
表示空间置信图(Spatial reliability map),根据论文中的定义,矩阵
M
中的元素要么为1,要么为0,因此
MM=M
将上述(22)-(26)式代入到(21)式中,有
λ2Mh−D−−√MFHI^−μD−−√MFHh^c+μDMh=0(27)
对上式中的
Mh
进行合并同类项,有
(λ2+μD)MhMhMhMhMh=D−−√MFHI^+μD−−√MFHh^c=D−−√MFHI^+μD−−√MFHh^cλ2+μD=M⋅D−−√FH(I^+μh^c)λ2+μD=M⋅D√DFH(I^+μh^c)1D(λ2+μD)=M⋅1D√FH(I^+μh^c)λ2D+μ(28)
现在简单回顾一下傅里叶逆变换的定义
F−1(x^)=1D−−√FHx^(29)
据此,可以将上述(28)式表示为
Mh=M⋅F−1(I^+μh^c)λ2D+μdiag(m)h=diag(m)⋅F−1(I^+μh^c)λ2D+μm⊙h=m⊙F−1(I^+μh^c)λ2D+μ(30)
由于论文中最优化表达式的约束为
m≡m⊙h
(这里左边的
h
实际上也就是
hm
),因此上述(30)式也可以表示为
h=m⊙F−1(I^+μh^c)λ2D+μ(31)
上述(31)式就对应论文原文中的公式(10),相应的代码位于create_csr_filter.m中的变量H
H = fft2(real((1/(lambda + mu)) * bsxfun(@times, P, ifft2(mu*G + L))));
6. 小结
论文为求解最优的滤波器值,在原始目标函数的基础上,引入约束条件,利用Augmented Lagrangian方法构造最优化表达式,最后利用偏导数值为0的情况进行求解,这种利用拉格朗日最优化方法进行目标跟踪算法的建模思想值得我们学习,关于(25)式的转置问题,也欢迎大家共同讨论交流。