Deep Meta Learning for Real-Time Target-Aware Visual Tracking

论文

Motivation

当跟踪目标外观发生变化时,需要对模型进行更新。使用传统的SGD、岭回归这些更新方法耗时且容易过拟合,因此本文提出用元学习(meta-learning)方式对模型进行更新。本文方法的motivation如图1所示,分为匹配网络和元学习网络。前者是标准的孪生网络,元学习网络接收来自匹配网络的元信息,并为匹配网络提供自适应的target-specific特征空间。而元学习网络仅需一次前向传播就可以得到target-specific特征空间的参数,实时性较好,达到了48fps。

Method

图2是算法整体框架,可以看到,图1中描述的匹配网络输入到元学习网络的元信息指的是训练样本的loss梯度,而元学习网络输出的target-specific信息指额外的卷积核和通道注意力。

Components

匹配网络是标准的孪生网络

其中,$x$是模板,$z$是搜索区域,$w = \{ w_1, w_2, …, w_N \}$​表示每一层卷积层的权重参数。

元学习网络根据历史得到的M个context patch $z = \{z_1, z_2, …, z_M\}$以及target patch $x$,来计算能够适应目标变化的新增参数。首先计算损失函数对匹配网络最后一层卷积层的平均负梯度 $\delta$:

其中 $\widetilde{y}_i$ 表示假设目标落在正确位置时生成的二值响应图。meta-learner设计的依据是目标发生变化时 $\delta$ 也发生变化,所以将 $\delta$​​ 作为元学习网络的输入,可以生成target-specific的权重。

将生成的$\omega^{target}$与原始的权重拼接起来得到新的自适应权重$w^{adapt} = \{ w_1, w_2, …, [w_N, \omega^{target}] \}$​,将其用于目标定位

此外,元学习网络还生成了通道注意力权重进一步调整特征表示空间。

Tracking algorithm

在跟踪过程中,会保存一个context image的集合 $z_{mem} = \{ z_1, z_2, …, z_K \}$​​​​​​ 以及对应生成的响应图$\hat{y}_{mem} = \{ \hat{y}_1, \hat{y}_2, …, \hat{y}_K \}$​​​​​​。只有当 $\hat{y}$​​​​​​ 的最大响应值大于阈值时,$z$​​​​​​才会被加入memory集合中。在更新权重时,从K个context image中选择M个来进行计算,筛选标准是$\hat{y}_{mem}$​​​​​​​的最小熵,熵越大响应图分布越杂乱,这样可以避免模糊的响应图引入false positive。

整体跟踪流程如下:

Training

首先单独训练匹配网络,然后在此基础上按照图3的方式训练元学习网络。类似在线跟踪过程,从同一个视频序列中随机采样 M’ 个context patch,然后从中选取M个送入元学习网络训练(M’ >M),这样是为了避免过拟合。优化损失为:

Experiments

消融实验,MLT-mt表示只有匹配网络,MLT-mt+ft表示对匹配网络最后一层进行在线微调更新。可以发现在线微调甚至比不进行更新效果更差,因为过拟合。

最后可视化了target-specific特征空间的效果,可以更聚焦目标并且抑制周围的干扰。

Conclusion

这篇文章发表在ICCV2019,整体实验结果并没有刷得太高,但是meta learning运用在siamese跟踪中的思想无疑是优秀的。目标跟踪同样可以看做是一个few-shot learning的任务,如何运用历史跟踪的少量结果来微调模型参数,meta learning是一个不错的方案。