问题
- 长时跟踪没有利用在线更新的优势;
- 引入在线更新到长时跟踪很危险,因为长时跟踪存在长时的不确定性和噪声观测;
方案
- 引入Meta-Updater解决上述问题;
- 判断在当前帧跟踪时,跟踪器是否准备更新,由此过滤长时跟踪中的噪声样本,使用更加准确的样本进行更新;
实现
-
整体框架
其中,local tracker为短时的局部跟踪器,此处使用ATOM。局部跟踪结果得到之后,放入MetaUpdater中进行判断是否需要更新外观模型. Verifier评估当前跟踪结果的正确性,如果验证得分大于设定阈值,跟踪器将持续进行局部跟踪;如果不正确,则使用faster-RCNN检测所有的可能候选区域,并且剪切出来,放入局部跟踪器输出对应的候选bbox;这些bbox被送入验证器中验证是否存在该目标,如果存在,则使用当前的目标外观重置局部跟踪器;在进入下一帧之前,将历史收集起来送入MetaUpdater中,以引导在线跟踪器的更新;
-
MetaUpdater
-
Sequential Information
记在线跟踪器为 τ \tau τ,第 t t t帧的响应图记为 R t R_t Rt,输出 的bbox记为 b t b_t bt,根据 b t b_t bt crop出来的图像记为 I t I_t It,第一帧的外观模型记为 I 0 I_0 I0。如下图所示:
通过挖掘一个时间段的序列信息,整合几何、判别和外观信息来建立MU模型;
-
Geometric Cue
- 输出的 b t = [ x t , y t , w t , h t ] b_t=[x_t,y_t,w_t,h_t] bt=[xt,yt,wt,ht],其中(x,y)表示左上角的坐标,(w,h)表示目标的长宽;
- 一个时间段的bbox则包含了目标的运动信息,如速度、加速度、尺度变化等;
- 因此将一个时间段的bbox作为集合信息输入MU;
-
Discriminative Cue
-
定义置信度得分 s t C s_t^C stC为 R t R_t Rt的最大值, s t C = m a x ( R t ) s_t^C=max(R^t) stC=max(Rt);
-
由下图可以看出,置信度得分并不稳定,所以利用CNN挖掘响应图中的信息,得到响应向量 v t R = f R ( R t ; W R ) v_t^R=f^R(R_t;W^R) vtR=fR(Rt;WR),f表示CNN,W表示CNN的参数。使用v编码当前帧的在跟踪器中的可靠信息,用于后续的序列模型挖掘目标的可靠信息;
-
-
Appearance Cue
- 由于在线更新时带有噪声样本,使得响应对外观的变化不敏感,故直接使用跟踪器的输出作为评价跟踪器好坏的标准不可靠;
- 使用模板匹配的方式,获得外观得分 s t A = ∣ ∣ f A ( I t ; W A ) − f A ( I 0 ; W A ) ∣ ∣ 2 s_t^A=||f^A(I_t;W^A)-f^A(I_0;W^A)||_2 stA=∣∣fA(It;WA)−fA(I0;WA)∣∣2,将target和候选目标嵌入到欧氏空间中进行判别, W W W为离线训练的函数 f f f的参数, s A s^A sA度量了跟踪结果 I t I_t It和目标的模板 I 0 I_0 I0之间的距离。这样的模板匹配策略不影响噪声观测;
-
Sequential Information.
- 将以上提到的几何信息、判别信息、外观信息整合进一个序列矩阵 X t = [ x t − t s + 1 ; . . . ; x t − 1 ; x t ] ∈ R d × t s X_t=[x_{t-t_s+1};...;x_{t-1};x_{t}]\in R^{d\times t_s} Xt=[xt−ts+1;...;xt−1;xt]∈Rd×ts,其中 x t ∈ R d × 1 x_t\in R^{d\times 1} xt∈Rd×1,其集中了 s s t C , V t R , s t A , b t ss_t^C,V_t^R,s_t^A,b_t sstC,VtR,stA,bt等信息, t s t_s ts为平衡历史经验和当前观测的时间步长。 X t X_t Xt这一序列信息最终送入级联的LSTM中进行信息的挖掘;
-
Cascaded LSTM
-
LSTM公式如下:
-
使用三个级联的LSTM对历史信息进行挖掘
-
将 X t X_t Xt送入级联的LSTM中,最后为两个全连接层+二分类,给出是否更新外观模型;
-
Meta-Updater Training
-
采样:首先,在不同的训练视频序列上运行局部跟踪器,记录所有帧的跟踪结果;
-
将这些结果划分为一系列的时间片,表示为 Y = { Y t v ∣ t = t s t v } ∣ v = 1 V Y=\{Y_t^v|_{t=t_s}^{t_v}\}|_{v=1}^V Y={Ytv∣t=tstv}∣v=1V, v v v为视频序列索引, V V V为训练序列的数量, t v t_v tv为第 v v v个视频序列的长度,其中 Y t v = { y t − t s + 1 , . . . , y t − 1 v , y t v } Y_t^v=\{y_{t-t_s+1},...,y_{t-1}^v,y_t^v\} Ytv={yt−ts+1,...,yt−1v,ytv},每一个时间slice y t v y_t^v ytv包含当前第 t t t帧的bbox,响应图,响应得分,预测得到的目标图像;
-
Y t v Y_t^v Ytv的标签为:
-
Model Training
局部跟踪器(短时跟踪器)和MU是紧密耦合的,局部跟踪器通过影响样本收集过程来训练MU; k k k表示k此迭代,一般 k = 3 k=3 k=3;
-
-
实现*细节
- 匹配网络 f A f^A fA:ResNet50,输入为 107 × 107 的 图 像 块 107\times 107的图像块 107×107的图像块;在GT周围随机采样,IOU大于0.7的作为正样本;使用来自SiamRPN为基础的网络得到的置信度较高但不属于目标的样本作为负样本;
- f R f^R fR: 50 × 50 50\times 50 50×50的响应图作为输入,经过两层卷积层+全局平均池化,得到 1 × 1 × 8 1\times 1\times 8 1×1×8的向量作为后续输入;
- 带有全连接层的级联LSTM:每个LSTM cell有64个units, t s , t 1 , t 2 t_s,t_1,t_2 ts,t1,t2分别为20,8,3,遗忘bias设置为1.0,输出64个units送入全连接层,最终得到binary value判断是否更新;
-
-
polo