Learning the Model Update for Siamese Trackers
文章标题:《Learning the Model Update for Siamese Trackers》
文章地址:[1] arXiv,[2] ICCV2019 openaccess
github地址:https://github.com/zhanglichao/updatenet
单目标跟踪方法主要有两种范式:一种是用 Siamese 深度神经网络,一种是 tracking-by-detection。
Siamese 的方法从当前帧提取被跟踪物体的特征,作为模板(template),在下一帧利用该模板对目标进行定位。由于目标外观的变化、各种类型的遮挡、干扰物的存在、运动模糊、照明变化等环境因素的影响,对跟踪效果带来非常大的挑战。
问题
在早期的 Siamese 跟踪器里,第一帧就对目标模板进行初始化,后面都固定使用这个模板进行跟踪。然而实际任务中目标外观变化通常很明显,如果不能有效地更新目标模板,很快就会跟踪失败。
为了解决这个问题,目前已经有人做了一些简单的更新策略,通过固定学习率的移动平均方法,对目标模板进行线性更新:
T i表示从当前帧图像利用上一帧的跟踪结果提取的模板。
T~i-1为上一帧保留的动态模板。
T~i表示当前帧的更新的动态模板。
在 DCF 这类跟踪器里,T 对应于相关滤波核(correlation filter)。在 Siamese 这类跟踪器里,T 是 backbone 提取的特征。
我们认为这种方法有一些缺点:
对于所有视频,它都用一个固定的更新率。但是不同情况下,对于更新的需求是不一样的,要考虑的因素很复杂。例如相机运动模糊,不同时刻的动态变化等。
这个更新率对于模板的所有空间维度(包括通道维度)上也是固定的。但有时候我们只需要更新模板的一部分,例如发生遮挡时。
跟踪器不能从累计漂移中恢复过来。随着模板的更新,我们失去了 T 0 的原始信息,而第一帧的模板 T 0 才是我们最开始想要跟踪的目标。
公式(1)只是一个非常简单的线性组合,但是我们需要灵活的更新机制,这在目标外观变化复杂时非常有必要。用更复杂的组合函数也许会好点。
方法
我们提出了一个模型,它学习一个自适应的更新策略。
由于我们用的是 Siamese 的跟踪方法,T 表示目标的深度特征模板。
我们根据以下公式来更新模板:
UpdateNet ϕ 是一个学习到的函数,用于计算更新的模板,它有3个输入:
T0GT :初始模板,提供了高度可靠的信息,增强了对于后期跟踪漂移的鲁棒性。
T~i-1为上一帧保留的动态模板。
T i :当前模板 ,根据上帧结果在该位置抠出来的图像再经过 backbone 提取成的特征。
在第一帧的时候三帧一致