ECO(Efficient Convolution Operators for Tracking)解析

前一段时间将ECO_HC使用C++重新实现了一下,使用多线程速度上达到原matlab版的4倍左右,电脑上能达到100帧,某些情况下能达到160帧。如果你也准备实现,使用Eigen进行矩阵操作是个很好的选择。未来有可能将我的实现代码开源

ECO的baseline是C-COT(Continuous Convolution Operator
Tracker),主要在一下三个方面有改进:
1.模型大小:高维特征(hog 31维,CN 10维)导致模型参数非常多,有时比输入图像的维度还要高,这样多的参数很容易导致Overfitting(过拟合),提高了计算复杂度导致计算过慢。
2.训练集大小:传统的State-of-art方法需要大的训练集,由于他们的迭代优化算法。
3.模型更新:大多数DCF跟踪方法使用连续学习策略,每帧都更型模型,事实上这种更新可能造成跟踪效果下降。

C-COT原理简介

C-COT通过在连续域进行卷积实现了多分辨率特征的融合,这样我们就能灵活的选择Cell Size,通过连续方程直接获得目标得分亚网格上的位置。

C-COT有区别的从M个训练样本中学习一个卷积滤波器,与传统的DCF有别,每个特征维度有独立的解,特征通过一个插值模型转到连续域。
这里写图片描述
其中, X d [ n ] 表示第n层特征, b d 是周期T>0的插值核。最终得到 J { x } 表示整个插值特征。
C-COT公式中一个连续多通道卷积滤波器被训练来预测目标得分
这里写图片描述

分数定义在对应的图像区域 t [ 0 , T ) ,(2)中单通道T周期函数卷积定义为 f g ( t ) = 1 / T 0 T f ( t τ ) g ( τ ) d τ ,多通道定义为所有通道的和,滤波器的学习通过最小化下式:
这里写图片描述

样本 x j 的检测得分 y j ( t ) 被设置为周期重复的高斯函数。通过L2归一化 | | g | | L 2 2 = 1 / T 0 T | g ( t ) | 2 d t 得到数据项加权分类误差, α j x j 的权重大于0,正则化集成了空间惩罚 w ( t ) 来缓解周期假设的缺点,同时允许扩展空间支持。
在以前的DCF方法,,通过改变傅里叶基获得更易于处理的优化问题。Parseval公式意味着
这里写图片描述
这里, g ^ 是T周期函数 g 的傅立叶序列系数 g ^ [ k ] = 1 / T 0 T g ( t ) e i 2 π T k t d t , L 2 归一化定义为 | | g ^ | | L 2 2 = | g ^ [ k ] | 2 ,检测分数的傅立叶系数为 S f { x } ^ = d = 1 D f ^ d X d b ^ d , X d x d 的离散傅立叶变换。
实际上,我们假设滤波器 f d 拥有有限的非零傅立叶系数 { f ^ d [ k ] } K d K d , K d = N d / 2 ,等式(4)变成一个二次问题,通过解决归一化等式优化,
这里写图片描述
这里, f ^ y ^ f d y i 的傅立叶系数, A 矩阵具有稀疏结构,对角块具有 X j d [ k ] b ^ d [ k ] 形式。 Γ 是权重 α j 的对角矩阵, W 是卷积矩阵核为 w ^ [ k ] ,C-COT运用共轭梯度发迭代解决(5),因为它被证明有效地利用了问题的稀疏结构。

ECO

由于(3)式过多参数可能造成over-fitting,我们缓解这个问题通过引入分解卷积公式,这个策略减少深度特征80%参数,同时提高性能,此外,我们还提出了一个紧凑的样本分布的生成模型,这增强了多样性,避免了先前讨论的与存储大样本集相关的问题。最后我们解决模型更新问题。

我们首先介绍一个因式分解的卷积积分的方法,以减少模型中的参数的个数。我们观察到许多C-COT包含许多能量可以忽略不计的过滤器。他们对定位没有作用又耗费计算,我们用更小的基础滤波器代替每个特征通道一个独立的滤波器,那么d层特征的滤波器将是小滤波器的现行组合,新的多通道滤波器可以看多矩阵和向量的乘积,我们得到分解的卷积操作
这里写图片描述
f 是分解的滤波器, P 是对应每个通道的矩阵,分解卷积可分为两步,特征向量 J { X } ( t ) 首先和 P T 相乘,得到的特征与滤波器做卷积。矩阵 P T 像一个线性的缩减为度的操作,通过最小化分解操作(6)的分类误差(3),我们联合学习的滤光器F和矩阵P。最终,通过线性化残差,我们使用高斯牛顿迭代方法求解。

我们分解卷积运算的主要目的是减少计算的复杂性和内存。由于滤波器的适应性,可以从第一帧学习矩阵P。这有两个重要的含义。首先,只有投影的特征映射需要存储,从而导致显著的内存节省。第二,滤波器可以在后续的帧中使用投影的特征图作为输入进行更新。这降低了特征维数D到维度C。

我们提出了一个紧凑的样本集,避免了先前所讨论的存储大量样本的问题。大多数DCF跟踪程序,在每一帧j添加样本 X j ,权重通常设置为指数衰减,由学习率 γ 控制。如果样本数量达到最大限制权重最小的样本被代替,然而,这种策略需要一个大样本m来获得一个有代表性的样本集。我们观察到,在每一帧中收集新的样本会导致样本集大量冗余,我们使用样本集的概率生成模型,通过消除冗余和增强多样性来实现对样本的紧凑描述。

ECO的方法是基于样本特征映射x和相应的期望输出分数y的联合概率分布p(x,y),给定p(x,y),直观的目标是找到最小化期望相关误差的滤波器。这是通过替换(3)
这里写图片描述

我们发现期望的样本x的输出y的形状是注定的,这里是一个高斯函数,在(3)中的标签函数 y i 只与将峰值与目标中心相匹配的转换不同,这种对准通过移动特征图x来执行。

更新GMM,给定一个新的样本 X j ,我们首先初始化一个新的对象m,其中 π m = γ , μ m = x j ,如果对想得数量超过了限制L,我们简化GMM,舍弃一个权重 π m 小于阈值的对象,否则我们将最近的对象k和l组成一个共同的对象n,
这里写图片描述

在傅里叶域使用的Parseval公式快速计算比较距离 | | μ k μ l | |

最终我们期望的Loss (10)近似位
这里写图片描述
注意,高斯均值 μ l 和优先级权重 π 直接代替(3)中的 x j α j ,我们可以用之前的策略。与(3)关键的不同是样本的数量从M减少到L,L根据经验可以被设置为M/8,获得跟踪性能的极大提高。

基于DCF跟踪的标准方法是在每个帧中更新模型。在c-cot,这意味着优化(3)后,每增加一个新的样本,通过迭代求解方程(5)。基于迭代优化的DCF方法的损失函数在帧间逐渐变化。因此,滤波器的当前估计提供了迭代搜索的良好初始化。然而,更新每个帧中的滤波器对计算能力有严重的影响。

我们用稀疏更新策略代替连续更新,直观地说,只有在目标发生充分变化时,才能开始优化过程。然而,找到这样的条件是不容易的,可能会导致不必要的复杂的尝试。此外优化条件与损失(3)的梯度有关,非常耗费计算,因此我们N帧更新一次滤波器。

猜你喜欢

转载自blog.csdn.net/huajun998/article/details/79802907
ECO