【Tracking】详解MOSSE算法中的求导运算

在目标跟踪问题中,我们经常会遇到一些对公式的求导(特别是偏导)运算。由于公式中的变量大多数是向量,矩阵,还有些实数和复数的操作,因此针对他们的求导运算可能会和普通变量的操作有些不一样。下面将详细介绍一下经典的跟踪算法-MOSSE方法中的求导运算。


MOSSE跟踪算法的简单介绍

假设 f f 是输入的图像, g g 是对应的理想输出, MOSSE算法的目标就是找到一个合适的滤波器 h h ,使得其满足以下公式:

h=minhi|fihgi|2 h = min h ⁡ ∑ i | f i ⋆ h − g i | 2

其中 表示训练表示两者卷积的操作,接下来将其转化到频域可得:

H=minHi|FiHGi|2 H = min H ⁡ ∑ i | F i ⊙ H ∗ − G i | 2

注意这里的 F F G G H H 都是频域中的变量, F F 是对原输入图像 f f 做2D的傅里叶变化而得到的,有 F=F(f) F = F ( f ) 表示对应元素相乘, 表示共轭操作, i i 表示训练数据的个数,即这里有 i i 组训练数据 {fi,gi} { f i , g i } 。因为这里的操作都是以元素为单位进行的,不同位置的元素之间的运算都是独立的,所以上式可以写成:

Hwv=minHwvi|FiwvHwvGiwv|2 H w v = min H w v ⁡ ∑ i | F i w v H w v ∗ − G i w v | 2

其中 Hwv H w v 表示矩阵 H H 中的第 w w 行第 v v 列的元素。一般的求解方法就是,求出上面式子对于变量 H H 的偏导,进而求出最优解。由于在上面的式子中包含 H H 的共轭部分,因此需要对 Hwv H w v Hwv H w v ∗ 分别进行求导。

求偏导过程

Hwv H w v ∗ 求偏导: 0=Hwvi|FiwvHwvGiwv|2 0 = ∂ ∂ H w v ∗ ∑ i | F i w v H w v ∗ − G i w v | 2 ,将该式展开可得:

0=Hwvi(FiwvHwvGiwv)(FiwvHwvGiwv) 0 = ∂ ∂ H w v ∗ ∑ i ( F i w v H w v ∗ − G i w v ) ( F i w v H w v ∗ − G i w v ) ∗

0=Hwvi[(FiwvHwv)(FiwvHwv)(FiwvHwv)GiwvGiwv(FiwvHwv)+GiwvGiwv] 0 = ∂ ∂ H w v ∗ ∑ i [ ( F i w v H w v ∗ ) ( F i w v H w v ∗ ) ∗ − ( F i w v H w v ∗ ) G i w v ∗ − G i w v ( F i w v H w v ∗ ) ∗ + G i w v G i w v ∗ ]

0=HwviFiwvHwvHwvFiwvFiwvHwvGiwvGiwvFiwvHwv+GiwvGiwv 0 = ∂ ∂ H w v ∗ ∑ i F i w v H w v ∗ H w v F i w v ∗ − F i w v H w v ∗ G i w v ∗ − G i w v F i w v ∗ H w v + G i w v G i w v ∗

0=HwviFiwvHwvHwvFiwvFiwvHwvGiwvGiwvFiwvHwv+GiwvGiwv 0 = ∂ ∂ H w v ∗ ∑ i F i w v H w v ∗ H w v F i w v ∗ − F i w v H w v ∗ G i w v ∗ − G i w v F i w v ∗ H w v + G i w v G i w v ∗

这里面的 Fiwv F i w v , Hwv H w v ∗ 等变量均为单一的数,因此可以互换位置,如下所示:

0=HwviFiwvFiwvHwvHwvFiwvGiwvHwvFiwvGiwvHwv+GiwvGiwv 0 = ∂ ∂ H w v ∗ ∑ i F i w v F i w v ∗ H w v H w v ∗ − F i w v G i w v ∗ H w v ∗ − F i w v ∗ G i w v H w v + G i w v G i w v ∗

0=iFiwvFiwvHwvFiwvGiwv 0 = ∑ i F i w v F i w v ∗ H w v − F i w v G i w v ∗

这样就可以计算 Hwv H w v 的值: Hwv=iFiwvGiwviFiwvFiwv H w v = ∑ i F i w v G i w v ∗ ∑ i F i w v F i w v ∗ ,将其转化为矩阵形式如下: H=iFiGiiFiFi H = ∑ i F i ⊙ G i ∗ ∑ i F i ⊙ F i ∗

参数更新方式

Hi=iFiGiiFiFi H i = ∑ i F i ⊙ G i ∗ ∑ i F i ⊙ F i ∗ ,所以有 Hi=iGiFiiFiFi H i ∗ = ∑ i G i ⊙ F i ∗ ∑ i F i ⊙ F i ∗ ,令 Ai=iGiFi A i = ∑ i G i ⊙ F i ∗ Bi=iFiFi B i = ∑ i F i ⊙ F i ∗ ,有 Hi=AiBi H i ∗ = A i B i

更新时有: Ai=ηGiFi+(1η)Ai1 A i = η G i ⊙ F i ∗ + ( 1 − η ) A i − 1 Bi=ηFiFi+(1η)Bi1 B i = η F i ⊙ F i ∗ + ( 1 − η ) B i − 1 ,即当前帧中的滤波器 Hi H i ∗ 与前一帧中的滤波器 Hi1 H i − 1 ∗ 的关系为:

Hi=ηGiFi+(1η)Ai1ηFiFi+(1η)Bi1=ηAi+(1η)Ai1ηBi+(1η)Bi1 H i ∗ = η G i ⊙ F i ∗ + ( 1 − η ) A i − 1 η F i ⊙ F i ∗ + ( 1 − η ) B i − 1 = η A i + ( 1 − η ) A i − 1 η B i + ( 1 − η ) B i − 1

参考文献资料

Visual object tracking using adaptive correlation filters[C]// CVPR, 2010:2544-2550.

你可能感兴趣的:(学习,Tracking,论文,算法)