ECO追踪方法是一种针对CCot方法进行的改进,而CCOT是一种利用卷积神经网络的特征层与相关滤波器进行视觉追踪的方法。为了融合多分辨率的特征图,C-COT跟踪算法提出了一个使用连续空间域的卷积操作的理论框架。相比其他基于相关滤波的跟踪算法,C-COT算法主要有以下两个优点:第一,可以自然地融合不同分辨率的特征图,如卷积特征或多分辨率的HOG特征、颜色特征等,因此可以用于跟踪、检测和行为识别等任务;第二,连续的规划能够精确的进行次像素定位(sub-pixel localization),对于很多特征点的跟踪问题来说是很重要的。

    对于M个图像采样x来说,ccot通过如下公式来提取特征图层:
    Screenshot from 2020-08-27 19-59-28.png
    其中Nd是为不同特征层的特征维度,例如从VGG网络中提取不同的d个卷积层,其每个尺寸就标记为Nd。标量T为时空支撑区间的大小。在实际的实验中,T表示坐标系缩放比,因此可以取任意值;bd为三次样条函数。经过上式处理后,特征图被进行了周期性扩展,不同维度的特征图被插值到一起。

    CCOT追踪算法的最终目标将图像样本x∈χ映射到一个定义在连续区间[0,T)上的目标置信函数s(t)=Sf{x}(t)。s(t)是目标在图像中的置信分数,t代表他的位置:
    Screenshot from 2020-08-27 20-07-30.png
    每个特征通道首先利用Jd表达公式进行插值,然后与对应的滤波进行卷积,最终的置信函数由所有滤波的卷积响应叠加而成。滤波器的求取问题与KCF一样属于类岭回归问题,其损失函数如下:
    Screenshot from 2020-08-27 20-17-14.png
    我们将上式进行傅里叶变换之后代入到频域当中,然后可以得到其问题的解:
    Screenshot from 2020-08-27 20-19-27.png
    其中A=X[k]*bd,Γ为αj的矩阵,W为核函数w的矩阵。

    CCOT算法进行实际应用时,首先从预训练的深度神经网络(如VGG)中提取多分辨率的特征图Xj作为训练样本,,每一帧中只提取单个训练样本。训练样本从以目标位置为中心的图像区域中提取,并将图像区域的大小设置为目标框面积的52倍。其相应的重要性权重设置为αj=(αj−1)/(1−λ),其中学习率参数λ=0.0075,并将权重进行归一化,使得∑︀αj=1。通过替换最小权重的样本,使得样本存储个数的最大值为m=400。。在目标检测阶段,采用多尺度搜索策略,即选取5个相对比例因子为1.02的不同尺度的目标框。使用网格搜索对置信度函数最大化之后,进行5次牛顿迭代。

    相对于CCOT,ECO做了以下改进:
    1,因式分解的操作,将hog,cn,cnn的特征维度,通过projection_matrix这个矩阵,将高纬度feature转换到压缩后的维度,eco这里hog压缩到10,cn压缩到3,cnn第1,5卷积层滤波器维度压缩到16,64。这样,训练参数减少,既降低复杂度,又防止过拟合。如下图,ccot那些高维度存在的滤波器很多没有响应,eco大部分有效响应。
    v2-f6e42d2e82e8013c9e3f682f6dabdb25_b.png
    D是Factorized Convolution Operator因式分解中的参数,D是没有降低维度前的滤波器维度,降低之后是C.因式分解方法如下,以计算的最后置信度推导,ECO:Efficient Convolution Operators for Tracking - 图6是滤波器的组合矩阵,和已经映射到空间连续域的ECO:Efficient Convolution Operators for Tracking - 图7特征卷积(文章题目的卷积算子就是这里)。ECO:Efficient Convolution Operators for Tracking - 图8分解为ECO:Efficient Convolution Operators for Tracking - 图9就是D维度向C转化,有个矩阵映射关系。

    Screenshot from 2020-08-27 20-26-23.png
    2.在训练样本上,之前ccot是每帧都获取样本,但是随着时间推移,很多样本之间存在冗余,因为前一帧后一帧之间的样本相似度一般很大,eco采取了计算样本之间的差异,设定存储的最大样本数是50,随着时间推移,计算和存储样本之间的差异,差异小的将替换掉,保证存储的50个样本的多样性,提高了速度,减少计算复杂度。
    Screenshot from 2020-08-27 20-31-53.png

    上图中下方为CCOT的样本序列,上方为ECO样本序列。在CCOT中,更新过程的样本是这样产生的:每帧都有样本,用ECO:Efficient Convolution Operators for Tracking - 图12来学习控制样本,如果样本数到达最大样本数m,权重ECO:Efficient Convolution Operators for Tracking - 图13最小的样本将会替代。eco中则是采用Gaussian Mixture Model(GMM)高斯混合模型来构造样本集。之前的最大样本数M变成现在的components数目L,L=M/8。构造高斯混合模型时,概率分布:ECO:Efficient Convolution Operators for Tracking - 图14
    L是compents总数目,ECO:Efficient Convolution Operators for Tracking - 图15是compent的权重,ECO:Efficient Convolution Operators for Tracking - 图16是高斯分布的均值。如果components总数达到最大,抛弃权重低于阈值的component,如果没有,就权重相加、均值平均来合并现有的component k 和component l 成为一个component n。

    总之,若是抛弃之前的样本留取最新的样本,这种做法会导致模型更加倾向于最近帧的样本;而忘记了old samples,这样很容易模型漂移,于是eco在给定最大存储样本数情况下,选取具有一定差异的样本,保证多样性。