UpdateNet -- 大致理解
Abstract
Siam方法通过从当前帧中提取外观模板来解决视觉跟踪问题,该模板用于在下一帧中定位目标。
通常,此模板与前一帧中累积的模板线性组合,导致信息随时间呈指数衰减。 尽管这种更新方法可以改善结果,但其简单性限制了通过学习更新可能获得的潜在收益。 因此,我们建议用一种学习更新的方法来代替手工更新功能。 我们使用一个称为UpdateNet的卷积神经网络,该网络给出了初始模板,累积的模板和当前帧的模板,旨在估计下一帧的最佳模板。 UpdateNet紧凑,可以轻松集成到现有的暹罗跟踪器中。 我们通过将其应用于两个Siamese跟踪器SiamFC和DaSiamRPN来证明该方法的一般性。 在VOT2016,VOT2018,LaSOT和TrackingNet数据集上进行的大量实验表明,我们的UpdateNet有效地预测了新的目标模板,优于标准的线性更新。
在大规模TrackingNet数据集上,我们的UpdateNet改进了DaSiamRPN的结果,相对于成功分数,绝对提高了3.9%。 代码和模型可从https://github.com/zhanglichao/updatenet获得。
2. Related work
- 跟踪框架。
大多数现有的跟踪方法要么基于检测跟踪,要么采用模板匹配。 基于跟踪检测的对象跟踪器将目标定位的任务定位为分类问题,其中通过使用来自目标对象和背景的图像斑块在线学习判别式分类器来获得决策边界。 在通过检测进行跟踪的方法中,基于判别相关滤波器的跟踪器[19、48、11、7]最近在几种跟踪基准[42、43、24、22]上显示了出色的性能。 这些跟踪器从目标外观的示例补丁中学习相关过滤器,以区分目标外观和背景外观。
另一个主要的跟踪框架基于模板匹配,通常使用暹罗网络[1、40、41、18、27、50],该网络通过空间互相关实现相似网络。 Bertinetto等。 [1]提出了一种基于两流架构的暹罗跟踪器。 一个流根据包含要跟踪对象的示例图像提取对象模板的功能。 另一流接收目标图像中的大搜索区域作为输入。 两个输出互相关以生成搜索区域的响应图。 许多跟踪器已经扩展了SiamFC体系结构[40、16、41、27、50、49]进行跟踪。 基于Siamese的跟踪器由于在计算速度和跟踪性能之间提供了良好的折衷,因此受到欢迎。 然而,由于没有在线学习,这些方法大多数都难以对目标进行有效分类,尤其是在存在干扰因素的情况下。 在这项工作中,我们分析了暹罗跟踪器在模板模型更新方面的局限性,并提出了解决方案。
3.更新对象模板
在本节中,我们介绍了学习如何在在线跟踪过程中更新对象模板的方法。 我们首先回顾标准更新机制,以跟踪并确定其缺点。 然后,我们介绍克服它们的公式,并详细描述我们的模型和训练过程。 本文的重点是Siam跟踪器。 但是请注意,我们的方法不仅限于Siam追踪器,相同的提法也可以应用于其他类型的追踪器,例如 DCF [19,11,7]。
3.1。 标准更新
T e i =φ(T 0 GT,T e i-1,T i)。
几种最新的跟踪方法[4、3、19、40、41、27、50]使用简单的平均策略,在给定新数据样本的情况下更新对象外观模型。 这种策略可以追溯到早期的跟踪方法[36],并且由于其可接受的结果并且尽管存在局限性,但长期以来一直是在线更新的标准。 模板将作为运行平均值进行更新,权重随时间呈指数衰减。 选择指数权重将产生以下用于更新模板的递归公式,
在这里,i是帧索引,T i是仅使用当前帧计算的新模板样本,T e i是累积的模板。 通常,假设对象的外观在连续的帧中平滑且一致地变化,则将更新率γ通常设置为固定的小值(例如γ= 0.01)。 在DCF跟踪器中(例如[3,19]),T对应于相关滤波器。 相反,在暹罗跟踪器中,T是由全卷积特征提取器从特定帧提取的对象外观模板。
尽管原始的SiamFC跟踪器[1]不执行任何模型更新,但较新的Siamese跟踪器[1、41、27、50]已采用(1)来更新其模板。
模板平均为集成新信息提供了一种简单的方法,但它具有几个严重的缺点:
• 尽管由于多种因素(例如摄像机运动)可能导致更新需求不同,但它对每个视频都采用恒定的更新速率。 即使在同一视频中,对象模板上所需的更新也可能在不同时间动态变化。
• 更新在模板的所有空间尺寸(包括通道尺寸)上也是恒定的。
这样可以防止仅更新模板的一部分,例如在部分遮挡下需要这样做。
• 跟踪器无法从漂移中恢复。 部分原因是由于它无法访问外观模板T 0,而外观模板T 0无疑是唯一与对象无关的模板。
• 更新功能仅限于先前外观模板的非常简单的线性组合。
这严重限制了更新机制的灵活性,这在目标经历复杂外观更改时很重要。 考虑更复杂的组合功能有望改善结果。
3.2. Learning to update
我们通过提出学习自适应更新策略的模型来解决上面列出的缺点。 由于本文的重点是暹罗跟踪器,因此T在此表示对象外观模板。 为了解决简单模板平均的局限性,我们建议学习一个通用函数,该函数根据以下内容更新模板:
所学习的函数基于初始地面真相模板T 0 GT,最后累积的模板T e i-1和从当前帧中的预测目标位置提取的模板T i来计算更新的模板。
本质上,该函数通过整合当前帧T i给出的新信息来更新先前累积的模板T e i-1。 因此,基于当前模板和累积模板之间的差异,可以使适应当前帧的特定更新要求。 此外,它还在每帧中考虑初始模板T 0 GT,它提供了高度可靠的信息并提高了抵抗模型漂移的鲁棒性。 函数φ被实现为卷积神经网络,它具有强大的表达能力和从大量数据中学习的能力。 我们将此神经网络称为UpdateNet,并在以下部分中对其进行详细描述。
图2.使用UpdateNet跟踪框架的概述。
( 左)对象模板的在线更新由UpdateNet执行,UpdateNet接收初始gt模板,最后累积模板和当前预测模板作为输入,并输出更新的累积模板。
(右)使用到下一帧上的真实对象模板的距离训练UpdateNet。
3.3。 使用UpdateNet跟踪框架
我们训练UpdateNet来预测下一帧中的目标模板,即,如果GT与从下一帧的真实位置提取的模板T i + 1匹配,则预测模板T ei(图2,右) 。 该选择背后的直觉GT是T i + 1是在下一帧中搜索目标时要使用的最佳模板。 为了实现这一目标,我们通过最小化更新模板与下一帧的地面真实模板之间的欧几里德距离来训练UpdateNet,定义为:我们在此介绍UpdateNet的结构,并描述如何将其应用于在线跟踪。 图2(左)概述了使用具有暹罗跟踪器的UpdateNet的自适应对象更新策略。 我们使用与SiamFC跟踪器[1]中相同的特征提取器,通过固定的全卷积网络φ从图像区域提取深层特征。 我们从初始帧(图2中的数字0)的真实地面位置提取T 0 GT。 为了获得当前帧的T i,我们使用所有先前帧T e i-1的累加模板来预测帧i中的对象位置(紫色虚线)并从该区域提取特征(蓝色实线)。 注意,T e i-1对应于先前时间步的UpdateNet输出,为简洁起见,此处未显示。 我们将提取的特征T 0 GT和T i与累积的特征T e i-1连接起来,形成UpdateNet的输入。 然后,通过一系列卷积层(第4.3节)处理此输入,并输出预测的新累积模板T e i。 对于第一帧,我们将T i和T e i-1设置为T 0 GT,因为之前没有任何帧。
UpdateNet唯一使用的真实信息是给定对象在初始帧中的位置,所有其他输入均基于预测位置。 因此,T 0 GT是UpdateNet用来指导更新的最可靠信号。 因此,我们采用了残差学习策略[17],其中UpdateNet学习如何为当前帧修改地面真相模板T 0 GT。 这是通过从T 0 GT向UpdateNet的输出添加跳过连接来实现的。 这种方法仍然考虑了要更新的对象的历史外观集,但是将这种更新放在最准确的样本上。 我们还尝试过添加来自其他输入的跳过连接,并且完全没有残留的学习知识(请参阅第4节)。
3.4。Training UpdateNet
3.3。 使用UpdateNet跟踪框架我们训练我们的UpdateNet来预测下一帧中的目标模板,即,预测的模板T ei应该与下一帧中从真实位置提取的模板T i + 1匹配(图2,右) 。 该选择背后的直觉GT是T i + 1是在下一帧中搜索目标时要使用的最佳模板。 为了实现这一目标,我们通过最小化更新模板与下一帧的地面真实模板之间的欧式距离来训练UpdateNet,定义为
在本节的其余部分,我们将描述用于生成训练数据的过程,并介绍UpdateNet的多阶段训练方法。
- 训练样本。
*为了训练UpdateNet以最小化(3),我们需要成对的输入三元组(T 0 GT,T e i-1,T i)和GT输出T i + 1,它们反映了在线应用期间跟踪器的更新需求。 通过从相应帧的地面位置提取特征,可以轻松获得初始帧T 0 GT和目标帧T i + 1的对象模板。 但是,在当前帧的模板T i的情况下,使用真实位置表示实际很少遇到的情况,对于这种情况,当前帧中的预测位置非常准确。 这种不切实际的假设使更新偏向于期望相对于T i的变化很小,因此UpdateNet无法学习有用的更新功能。 因此,我们需要通过在第i帧中使用不完美的定位来提取用于训练的T i样本。 我们可以通过使用累积的模板T e i-1来模拟这种情况,理想地呈现在线跟踪过程中发生的定位错误。
它会为每个帧生成累积的模板和实际预测的位置。 我们将更新率γ设置为跟踪器的推荐值。 尽管没有那么复杂的线性更新策略,但这对应于UpdateNet在跟踪推断过程中可能输入的第一近似值。 在每个后验训练阶段k∈{1,…,K},我们使用在前一个阶段训练的UpdateNet模型来获得累积的模板和对象位置预测,如下所示
这样的训练数据样本非常类似于推理时预期的数据分布,因为它们已由UpdateNet输出。 我们在实验部分(第4节)中调查了K级总数的合适值