CVPR 2018 TRACA:《Context-aware Deep Feature Compression for High-speed Visual Tracking》论文笔记
理解出错之处望不吝指正。
本文的模型叫做TRACA。模型中使用多个expert auto-encoder,在预训练阶段,每个expert auto-encoder针对一个特定类进行训练;在tracking阶段,对于给定的跟踪目标,只使用最优的expert auto-encoder。
在expert auto-encoder的预训练阶段,首先使用所有的训练样本训练出,对所有样本在上得到的compressed feature maps进行聚类,得到个簇,针对每个簇,使用该簇对应的样本基于进行训练得到个不同的expert auto-encoder。
在进行聚类的时候,为了避免有一些簇过小,作者提出了一个two-step方法来进行聚类。(1).在所有样本通过上得到的compressed feature maps中进行随机抽样得到个样本,重复这个过程1000次,并且将其中与其他样本具有最大欧几里得距离的样本作为初始的簇,然后使用k-means进行聚类,得到2Ne个簇;(2).将簇中样本数较少的个簇删除,剩余的簇的中心作为上一段落中聚类的初始簇心。
为了使训练得到的更加鲁棒,作者使用了两种降噪方法。(1).随机选择一些通道,将其数值置为0;(2).互换特征图中某些位置的值。
Context-aware Network的目的是,针对某个tracking target,选择出用哪个expert auto-encoder,故Context-aware Network的输出值即为expert auto-encoder的标号(簇的标号)。预训练过程很简单,使用如下的损失函数(为交叉熵损失、代表预测值、代表真实值):
以上都是预训练阶段,接下来是tracking阶段。
针对第一帧。
首先,使用高斯滤波和翻转进行数据增强,得到7个样本(初始1+高斯滤波4+翻转2)。
然后,使用这7个样本对选择的expert auto-encoder进行微调,这里使用到了CF正交损失(代表的层数):
代表使用compressed feature map中的第k个channel通过下式得到的估计权值:
上式中,即为该通道的向量值,为向量形式的响应图,为共轭,为预设的正则系数。戴帽子的原因是傅里叶变换。
微调后,删除那些在target bbox外有很大的响应值的channel。
在第二帧及其以后。
CF使用下式更新:
使用scaling factor 1.015和1/1.015来处理尺度变换。
当出现“全遮挡”时,要进行re-detection(使用上一帧的CF作为re-detection CF),若下式成立则视为发生“全遮挡”:
其中: