github地址 https://github.com/HJCYFY/ECO.git

前一段时间将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 的 插 值 核 。 最 终 得 到 是周期T>0的插值核。最终得到 T>0 J\lbrace x \rbrace$ 表示整个插值特征。
C-COT公式中一个连续多通道卷积滤波器被训练来预测目标得分
这里写图片描述

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

样本$ x_j $的检测得分 $ y_j(t) 被 设 置 为 周 期 重 复 的 高 斯 函 数 。 通 过 L 2 归 一 化 被设置为周期重复的高斯函数。通过L2归一化 L2 ||g||2_{L2}=1/T\int_0^T |g(t)|^2 ,{\rm d}t 得 到 数 据 项 加 权 分 类 误 差 , 得到数据项加权分类误差, , \alpha_j 是 是 x_j 的 权 重 大 于 0 , 正 则 化 集 成 了 空 间 惩 罚 的权重大于0,正则化集成了空间惩罚 0 w(t) 来 缓 解 周 期 假 设 的 缺 点 , 同 时 允 许 扩 展 空 间 支 持 。 在 以 前 的 D C F 方 法 , , 通 过 改 变 傅 里 叶 基 获 得 更 易 于 处 理 的 优 化 问 题 。 P a r s e v a l 公 式 意 味 着 ! [ 这 里 写 图 片 描 述 ] ( h t t p s : / / i m g − b l o g . c s d n . n e t / 20180403133538867 ? w a t e r m a r k / 2 / t e x t / a H R 0 c H M 6 L y 9 i b G 9 n L m N z Z G 4 u b m V 0 L 0 h V Q U p V T j k 5 O A = = / f o n t / 5 a 6 L 5 L 2 T / f o n t s i z e / 400 / f i l l / I 0 J B Q k F C M A = = / d i s s o l v e / 70 ) 这 里 , 来缓解周期假设的缺点,同时允许扩展空间支持。 在以前的DCF方法,,通过改变傅里叶基获得更易于处理的优化问题。Parseval公式意味着 ![这里写图片描述](https://img-blog.csdn.net/20180403133538867?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hVQUpVTjk5OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) 这里, DCFParseval![](https://imgblog.csdn.net/20180403133538867?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hVQUpVTjk5OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) \hat g$是T周期函数 $ g$ 的傅立叶序列系数 $ \hat g[k] = 1/T\int_0Tg(t)e{-i\frac {2\pi}Tkt\rm }\rm dt , , , \cal L^2$归一化定义为 $ ||\hat g||{L2}2 = \sum{-\infty}^\infty |\hat g[k]|^2 , 检 测 分 数 的 傅 立 叶 系 数 为 ,检测分数的傅立叶系数为 , \hat {S_f\lbrace x \rbrace} = \sum_{d=1}^D\hat fdXd\hat b_d$ ,$ X^d 是 是 x^d 的 离 散 傅 立 叶 变 换 。 实 际 上 , 我 们 假 设 滤 波 器 的离散傅立叶变换。 实际上,我们假设滤波器 f^d 拥 有 有 限 的 非 零 傅 立 叶 系 数 拥有有限的非零傅立叶系数 \lbrace\hat fd[k]\rbrace_{-K_d}{K_d} , , , K_d = \lfloor N_d/2 \rfloor , 等 式 ( 4 ) 变 成 一 个 二 次 问 题 , 通 过 解 决 归 一 化 等 式 优 化 , ! [ 这 里 写 图 片 描 述 ] ( h t t p s : / / i m g − b l o g . c s d n . n e t / 20180403141337327 ? w a t e r m a r k / 2 / t e x t / a H R 0 c H M 6 L y 9 i b G 9 n L m N z Z G 4 u b m V 0 L 0 h V Q U p V T j k 5 O A = = / f o n t / 5 a 6 L 5 L 2 T / f o n t s i z e / 400 / f i l l / I 0 J B Q k F C M A = = / d i s s o l v e / 70 ) 这 里 , ,等式(4)变成一个二次问题,通过解决归一化等式优化, ![这里写图片描述](https://img-blog.csdn.net/20180403141337327?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hVQUpVTjk5OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) 这里, ,4![](https://imgblog.csdn.net/20180403141337327?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hVQUpVTjk5OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) \hat f 和 和 \hat y $是 f d f_d fd y i y_i yi的傅立叶系数, A A A矩阵具有稀疏结构,对角块具有 X j d [ k ] b ^ d [ k ] X_j^d [k] \hat b_d[k] Xjd[k]b^d[k]形式。$ \Gamma$是权重 $ \alpha _j 的 对 角 矩 阵 , 的对角矩阵, W 是 卷 积 矩 阵 核 为 是卷积矩阵核为 \hat w[k]$ ,C-COT运用共轭梯度发迭代解决(5),因为它被证明有效地利用了问题的稀疏结构。
ECO

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

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

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

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

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

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

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

在傅里叶域使用的Parseval公式快速计算比较距离$ ||\mu _k−\mu_l||$。

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

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

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

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐