本文将多种处理不同属性(目标漂移、模糊、遮挡、尺度变化和纵横比改变)的滤波器当作一个集合 ,并且提出了一种新的跟踪框架,该框架利用一种注意力机制去选择相关联的相关滤波器的子集,以增加鲁棒性和计算效率,滤波器子集由深度注意网络根据跟踪目标的动态特性自适应地选择。
当目标发生遮挡时,就选择对处理遮挡具有鲁棒性的跟踪器,但尺度改变时,就选择可以自适应尺度的滤波器
ACFN提出的原因:
现有的基于深度学习的跟踪器,达到了很高的鲁棒性和准确性,但是需要经常微调网络以了解目标的外观,所以导致速率很慢,无法达到实时跟踪的要求
基于相关滤波器的跟踪器在跟踪速率上得到了满足,但是其跟踪精度以及鲁棒性表现的并不是很好,而且往往一种好的跟踪器,只可以解决一种特有的属性
创新点:
(1)引入注意力相关滤波器网络,允许对动态目标进行自适应跟踪
(2)利用注意力网络将注意力转移到最佳候选模块,并且预测当前不活动模块的估计精度。
(3)扩大覆盖目标漂移、模糊、遮挡、比例变化和灵活纵横比的相关过滤器的种类
(4)通过大量实验验证视觉跟踪的注意力机制的稳健性和效率
整体框架:
ACFN由两个网络组成:相关过滤网络和注意力网络。相关滤波器网络具有许多跟踪模块,这些模块用验证分数评估它们的精度。在注意力网络中,预测子网络预测当前帧的所有模块的验证分数,选择子网络基于预测的分数选择活动模块。具有最高估计验证分数的活动模块,即最佳模块,用于确定目标的位置和比例。最后,活动模块的估计验证分数与非活动模块的预测验证分数一起用于生成最终验证分数,并用于预测下一帧。每个跟踪模块根据最佳模块的跟踪结果进行更新。由于注意力网络学习动态目标的一般期望,而不是场景或目标的特定属性,所以它可以被预先训练,并且在跟踪时不需要更新。
相关滤波网络:
相关滤波器的组成类型:
特征类型、核函数类型、尺度类型、延迟更新
相关滤波网络的工作流程:
特征提取 注意力权重图评估 目标位置确定 验证精度 更新模型
相关滤波器网络结合了各种各样的跟踪模块,每个模块覆盖特定的外观或动态变化,包括由于模糊、结构变形、尺度变化和遮挡引起的变化。基于注意力特征的相关滤波器(AtCF) 用作跟踪模块,它由注意力权重图(AWM)和核化相关滤波器(KCF) [16]组成。由于每次只有所有跟踪模块的子集是活动的,我们可以增加模块的总数,这允许我们考虑新的属性类型:可变纵横比和漂移目标的延迟更新
相关滤波器的组成类型:
特征类型:
Colour feature :对于彩色图像,我们通过分别平均RGB和Lab空间中的R、G、B和L、a、b值来构建6维颜色特征向量。对于灰度图像,我们沿x和y方向平均亮度和拉普拉斯值作为三维颜色特征向量。
HOG feature:以四个像素为一个单元,将梯度方向分为9个,用直方图统计各个方向的梯度,共构成31维的特征向量。
核函数类型 :(将线性特征空间映射为非线性特征空间,便于从背景中区分出目标)
Gaussian kernel :
polynomial kernel:
尺度变化类型:
这里将搜索框划分为4×4的cell,
分别沿x方向,y方向增加和减少1到2个cell构成8个不同尺度。
同时沿x、y轴增加和减少1到2个cell,构成4个不同尺度
再加上原尺度,总共13的尺度
延迟更新:
基于上述模块,采用延迟更新策略,延迟1-5帧,便于处理目标漂移、部分遮挡和微小尺度变化
两种特征类型、两种内核类型、十三种相对比例变化以及延迟更新1-5帧。因此,相关滤波器网络总共包含260 (2×2×13×5)个不同的跟踪模块。由于注意力网络可以预测跟踪效果好的模块,所以再多的模块种类也不会减低跟踪的效率,只会增加跟踪的精度
相关滤波网络的工作原理:
特征提取:
每个跟踪模块的感兴趣区域(ROI)以先前帧目标的位置为中心, ROI的大小是前一个目标框大小的2.5倍。
注意力权重评估(AWM):
目标位置确定:
通过将相关联的相关滤波器与由AWM 加权的特征图做相关运算,获得第t帧的响应图Rt,也可以称为验证分数。
模块精度:
跟踪模块的精度通过验证分数Rt来估计
基于这个精度,可以选择出跟踪效果最好的模块,注意力网络也要用到这个值去预测下一帧的跟踪模块
模块更新:
在260个跟踪模块中,只更新两个特性类型(HOG、CN)和两个内核类型(高斯核、多项式核),共四个基本跟踪模块;
Rot代表第一帧给出的目标模板所对应的二维高斯窗口
具有比例变化的模块可以与没有比例变化的基本模块共享相关滤波器,因为缩放模块的ROI被调整为与基本跟踪模块的ROI相同的大小。具有延迟更新的模块可以重新使用先前帧的相关滤波器。在具有延迟更新的模块性能最佳的情况下,具有相同延迟更新的基本跟踪模块被用作更新源。基本跟踪模块通过由注意力权重图加权的特征图来更新
注意力网络:
注意力网络由预测子网络和选择子网络构成
预测子网络基于先前帧预测当前帧所有模块的验证分数
选择子网络基于预测子网络得出的验证分数选择对当前帧进行跟踪效果最好的几个模块
预测子网络:
前一帧验证分数的归一化:
当前帧验证分数的还原:
选择子网络:
选择子网络再这里由两个作用:
作用1:选择可能表现良好的前K个跟踪模块
作用2:激活长时间没有用于跟踪的模块,如果跟踪模块长时间未被激活,则很难估计其性能,因为预测误差会随着时间的推移而累积
选择具有最高预测验证分数的k个模块,产生二进制向量
四个完全连接的层,和一个tanh层,用于估计预测误差,得到一个值在-1和1之间的向量
将这两个向量进行最大池化整合到一起得到 ,再从中选出具有最高值的前Na个模块,构成注意力分数 (二进制向量)
当前帧的最终得分:
注意力网络通过前十帧的验证分数进行训练,并且初始跟踪时前十帧的跟踪模块全部被激活
首先训练预测子网络,然后训练选择子网络,因为如果将网络作为一个整体进行训练会导致选择子网络每次都选择相同的模块。如果先训练选择子网络,则会抑制预测子网络的准确性。
如果再第t帧内发生完全遮挡,则在之后的30帧内,持续添加并激活四个基本跟踪模块,不用更新它们,如果其中一个被选定为最佳跟踪模块则所有的跟踪模块都以这个模块为基准。