Author: Anton Milan, S. Hamid Rezatofighi, et al.
Time: 2017-02-AAAI
需要处理的问题:
恢复视频序列中多个目标的时空轨迹。
1. 物体检测。给定一个帧序列,然后对每一帧里面的目标进行检测;
2. 数据关联。对相邻两帧序列的目标的进行匹配。
提出的模型:
端到端的在线训练多目标追踪,使用RNN和LSTM
符号的设定:
数据:从一个生成模型中采样生成任意数量的生成数据
:在一个实例中包含所有目标状态的向量,目标是由边界框的坐标表示(x,y,w,h)。其中,D为bounding box坐标,本文中D=4。N是每一帧中表示相互作用的目标的数量。当N=1时,就是说所有的目标之间都是独立的运动。横坐标为每一帧中用于跟踪的数目,纵坐标为(x,y,w,h)
是在一帧中所有测量信息的向量,M是每一帧中可以检测的最大的数量。横坐标为探测器的数目,纵坐标为(x,y,w,h).
是分配的概率矩阵,表示为每个目标(行)分配单独的测量值到该目标的分布,,需要A中的额外列以包含缺少测量的情况。横坐标为目标的数目,纵坐标为探测器的数目,每一行表示,探测器在目标i的概率是多少,多出来的一行是指在探测器没有检测到目标下的概率。
是一个指示向量,用来表示目标存在的可能性,e=0是指目标不存在,e=1指目标存在,在测试阶段,丢弃e低于0.6的值。为一个列向量,每一行表示目标i为真实目标的可能性。
把问题分为两个方面:
- 状态预测和更新及跟踪
- Data association
Approach:
左边是用来状态更新和预测及追踪的,右边是用来进行data association。
Prediction:学习一个在没有测量的情况下,预测目标的运动的动态模型(卡尔曼滤波);
Update:在给定目标测量任务情况下学习纠正状态分布(粒子滤波);
Birth/Death:对于特定帧,有新的target进入该帧或者旧的target在此帧中消失了的判定。
方面一:
其中,RNN输入有五个值:xt(当前状态),ht(网络的隐层),zt+1(测量值),At+1(数据关联),et(当前可能性)。输出为:x*t+1(所有目标的预测状态), ht+1(下一个时刻网络的隐藏层的值), xt+1(预测的下一个状态), et+1(下一个状态的目标与真实状态之间的相似度), e*t+1(与et的绝对值的差)
数据:从一个生成模型中采样生成任意数量的生成数据
Loss:
其中x* ,x和e是预测值,x~和e~是真实值,这个loss function中删除了时间。第一部分是prediction,第二部分是update,第三部分是birth/death,第四部分是reg,
在实际中,感兴趣的区域中的目标总是若隐若现,应当有一种方法判断目标是否存在。
其中,。但是使用BCE loss时,RNN可能会导致在追踪的末端导致目标的丢失。于是,加入了smoothness prior e∗来连续变化的e的绝对值变化。
方面二:
解决Data association的问题。
对于错误分配的代价函数,采用通用的负对数似然损失。
其中除去Ait+1这一部分的w的计算是一个标准的lstm模块,则hi,ci,hi+1,ci+1都是t时刻的值。其中h为隐藏层,c为记忆cell。
Loss:Aij是表示目标i为j的可能性;a是正确的assignment。即,Aia是lstm中输出的Ait+1。
训练数据
Image NET和Mirosoft COCO数据集用于行人跟踪的数据很有限,于是研究者们通过从真实数据中学习的一个生成轨迹模型进行采样来合成生成数据。
Code
Available,Using Lua and Torch7,https://bitbucket.org/amilan/rnntracking
Network size:
RNN是一层300个隐藏单元;LSTM是有两层,有500个隐藏单元。
Result
首先在合成的数据上进行实验,如figure 4所示,其中有5个随机出生和死亡时间的目标是在一个相当混乱的环境中产生的。在MOTChallege2015中测试了数据,
Fig 4展示了对合成数据的跟踪的结果。
其中,横坐标为时间。
TOP:五条线是代表随机生成的五个目标的ground turth值。
MT(↑):目标的大部分被跟踪到的轨迹占比(大于百分之八十);
ML(↓):目标的大部分跟丢的轨迹占比(小于百分之二十);
MOTA(↑):结合了缺失目标数,误判数,误配数之后的准确性;MOTP(↑): 体现在确定目标位置上的精确度;
FP:假正(False Positive, FP)是指被模型预测为正的负样本,可以称为误报率;
FN:假负(FALSE Negative, FN)是指被模型预测为负的正样本,可以称为漏报率;
IDs:指跟踪轨迹中行人ID瞬间转换的次数,通常能反应跟踪的稳定性,数值越小越好。