学习的第一篇MTMCT论文,如有错误请多指正
1.Introdution
MTMCT与MOT的最大区别为跨摄像头,多个摄像头比单摄像头有更广阔的视野范围,但是MTMCT比MOT有更大的挑战,比如相机之间的盲区、视点的变化、光照变化等。本文主要关注特征表示和遮挡处理两部分。外观特征对于减少id-switch有重要意义,颜色直方图和HOG特征对于遮挡条件下的鲁棒性比较差,直接使用行人Re-ID特征和低质量的检测器往往会导致性能低下。遮挡是造成id-switch的主要问题,在被高度遮挡的目标区域下提取特征是不合理的,如果得到遮挡的状态,则只保留稳定的特征,丢弃遮挡的特征。
本文贡献:
- 根据人体姿态信息推断目标状态,包括遮挡状态和方向。为了提高拥挤场景中跟踪过程的鲁棒性,提出了一种新的融合跟踪特征。
- 为了解决遮挡问题,设计了基于数据关联的距离矩阵,涉及了新的轨迹片段关联算法来处理轨迹碎片问题。
- 本文提出的状态感知(state-aware)MTMCT跟踪器在DukeMTMCT数据集上测试的IDF1值为83.1%。
2.Related Works
2.1 Single camera tracking单摄像机跟踪
分为离线和在线:离线通常生成简短精确的轨迹,然后在轨迹上构建图,在图上搜索最优解来确定最终轨迹;在线则是将预测轨迹与实时检测到的逐帧匹配。
2.2Multiple cameras tracking跨摄像头跟踪
主要难点:光照变化、视点变化、摄像头盲区。
2.3Appearance feature外观特征
采用深度特征,本文利用人体姿态特征来估计目标状态,包括遮挡状态和方向,这样可以更好的使用Re-ID特征。
3.Appearance feature
跟踪框架由两部分组成:单摄像机跟踪(SCT)和多摄像机跟踪(MCT),先在各个摄像机中生成轨迹,然后进行聚类,最后获得最终的轨迹。
3.1State estimation状态估计
Occlusion status estimation 遮挡状态估计:通过未被遮挡的关键点的数量来判断(Nvalid)Nvalid计算如下:
总体为一个事件函数的和,γvalid为判断i点是否可见的阈值。当该点的置信度ci大于阈值,则为有效关键点;当有效关键点数量大于阈值(θvalid),说明没有被遮挡,否则不启动Re-ID特征提取。
Orientation estimation 方向估计:采用几种身体关键点集合:左肩、右肩、左臀、右臀Kbody= {kls, krs, klh, krh}以及左耳、右耳关键点{kle, kre} 来估计方向,定义四种状态O = {Oleft, Oright, Ofront, Oback},用深度神经网络(DNNs)推断方向,输入维数为14(四个Kbody的位置(4 * 2)和置信度(4 * 1)以及耳朵的置信度(2 * 1)),输出维数为4,即四种状态O的值。
3.2Fused tracking feature融合跟踪特征
采用了一个带有很多种组合的基于已有的跟踪片段Re-ID特征的融合跟踪特征Ftrack。Ftrack有五种特征分别为Ftrack = {fcurrent, forientation, fcluster, finvalid, favg}。
- Current valid feature(fcurrent 当前跟踪特征)
选用最近的有效外观作为fcurrent,即图中ft-1,
- Orientation-aware feature(forientation 方位感知特征)
方向感知特征是所有有效特征中方向相同的特征值的平均值,有四种方向:forientation= {fleft, fright, ffront, fback}。图中,fleft=avg(ft-1+ft-2+ft-3),fright=avg(f6+…+ft-5),ffront=avg(f1+f2),fback=avg(f3+f5)。在数据关联中,选择与检测方向相同的forientation的一个元素来计算外观距离。两条轨迹的forientation距离定义为相同方向对应特征之间的欧氏距离的最小值。
- Cluster-based feature(fcluster)
特征聚类广泛应用于半监督和非监督Re-ID中。本文采用在线聚类方法,具有与高斯混合模型相似的初始化和更新策略。Nc为fcluster中的上限,初始化为fcluster=∅。
计算一个NcNc大小的距离矩阵Mcluster来获得来自两条轨迹的fcluster的距离dcluster。第i行第j列的值代表两个轨迹的第i个和第j个cluster center之间的欧几里得距离。Mcluster矩阵中的最小值被选为dcluster。fcluster的更新算法* (没看懂)如下:
- Temporal invalid feature(暂时性无效特征 finvalid)
当遇到无效特征时,上述三种特征不会更新,但是如果外观特征不及时更新,会出现IDswitch问题,所以采用finvalid来保留最后个无效帧,如果过期,则从ftrack中删除。图中ft。
- Averaged feature(平均特征 favg)
所有Re-ID特征的平均值。图中favg=avg(f1+f2+f3+f5+f6+…+ft-5+ft-3+ft-2+ft-1)。
3.3Single camera tracking(单摄像机追踪 SCT)
3.3.1Tracking phase(跟踪阶段)
定义了四个阶段:Tentative(暂定), Confirmed(确定), Invisible(不可见) and Disappeared(消失)
通过非匹配检测生成新轨迹,根据遮挡状态进行不同状态下的初始化:如果被高度遮挡,则初始化为Tentative暂定状态,否则,被初始化为Confirmed确认状态;如果Comfirmed确认状态下的目标消失了μm时间,则变为Invisible不可见状态;如果Invisible不可见状态下的目标消失了μd时间,则变为Disappeared消失状态;如果Invisible不可见状态下轨迹重新匹配,则重回Confirmed确认状态;Tentative暂定状态下如果有一帧没有匹配,则直接转变为Disappeared消失状态;Tentative暂定状态下如果与有效特征相匹配,则转变为Comfirmed确认状态。这样可以消除false positive假阳性(标记的轨迹在真实轨迹中无法匹配);Disappeared消失状态意味着目标消失或者目标离开场景。
3.3.2Overall SCT framework(整体SCT框架)
采用检测跟踪策略,有一个整体的轨迹集合,每K帧轨迹聚类后生成跟踪结果。SCT框架分为两部分:tracklets lining(轨迹连接)和 tracklets association(轨迹关联)。图中(1)为在线生成和更新轨迹;(2)为轨迹后处理,包括轨迹矫正和轨迹聚类;(3)为距离矩阵的计算:(a)(b)©(d)分别为finvalid, fcurrent, forientation, fcluster 。Distance为目标的Re-ID特征与四种融合特征之间的距离,最终的距离为四种Distance的融合。
整体SCT步骤:
- Step 1 在当前帧t,从检测器中获得检测Dt= {dti},提取Re-ID特征fti,并从相应区域估计关键点Kti。
- Step 2 根据关键点估计遮挡状态和方向(State estimation)。
- Step 3 计算检测轨迹和已有的轨迹集之间的距离矩阵Mdis= {dij}。(3)
- Step 4 在Mdis上采用Hungarian
algorithm匈牙利算法获取匹配结果,包括匹配轨迹Tmatched、不匹配轨迹Tunmatched和不匹配检测Dunmatched。
https://blog.csdn.net/keneyr/article/details/90377555(匈牙利算法介绍及计算过程)
- Step 5 根据相应的匹配结果更新Tmatched。
- Step 6 如果Tunmatched中轨迹长时间消失,则终止删除轨迹。根据遮挡状态,从Dunmatched中初始化新轨迹。
- Step 7 在Confirmed确认状态、Tentative暂定状态下的轨迹采用轨迹校正。(2)
- Step 8 在轨迹集中每K帧进行聚类,聚类后由最近的K帧生成跟踪结果。(2)
3.3.3Distance matrix in data association(数据关联中的距离矩阵)
SCT步骤图中(3)矩阵计算过程:
- 输入 t-1帧的检测轨迹为Tt-1,共有i个检测轨迹(tit-1);当前第t帧的检测为Dt,共有j个检测(djt)。
- 输出距离矩阵 Mdis={mij}。
- 将Mdis初始化为正无穷;
- 两次循环,计算每对(tit−1, djt)之间的距离,计算过程如下:
- 设置dcurr, dorien, dclu and dinvalid为正无穷
- 获得tit-1中的Re-ID特征fdet,以及djt中的融合跟踪特征finvalid, fcurrent, forientation, fcluster。
- 计算欧氏距离dcurr=dist(fcurrent,fdet)。
- 计算欧氏距离dorien=dist(forientation,fdet)。(forientation为与djt有相同方向的forientation)
- 计算欧氏距离dclu=min (dist(fcluster,fdet))。(fdet与每一个聚簇中心的fcluster的欧氏距离的最小值)
- 如果在Ftrack中finvalid存在并且fdet也是属于无效的,则计算欧氏距离dinvalid=dist(finvalid,fdet)。
- mij=(tit−1, djt)的距离,为min(dcurr,dorien,dclu,dinvalid)。
具体算法如下:
3.3.4Tracklet association(轨迹关联)
通过两种方式对遮挡后的目标进行重新跟踪:轨迹矫正和轨迹聚类,引用一些物理约束来避免一些不可能的关联并切节省构建距离矩阵的计算量。
- Physical constraints(物理约束)
设置了三个物理约束:
- 如果Traklets同时出现,则不能关联。
- 目标的移动速度不应超过一个阈值,若前一个Traklets的最后一次检测和后一个Traklets的第一次检测的距离过长,则不能关联。
- 目标不能消失太长时间,如果两个Traklets时间间隔过长则不能关联。
- Tracklet rectifying(轨迹矫正)(没看懂)
轨迹矫正的目的是对遮挡的目标进行重追踪。对于不可见的轨迹Tinvisible和已确认的轨迹Tconfirmed,如果长度达到了Lrectify,则进行轨迹矫正。如果在遮挡了一段时间之后,目标又重新出现,可能不会立即与原来的轨迹进行匹配,这样会导致生成新的轨迹,随着轨迹的增长,Ftrack变得更加稳定,当新的轨迹长度到达Lrectify时,可以来连接先前的轨迹。使用fcluster来测量距离矩阵Mrectify中Tinvisible和Tconfirmed的距离,采用贪婪算法获得匹配对(直到最小距离超过θrectify),将Tinvisible和Tconfirmed来进行关联。
- Tracklet clustering(轨迹聚类)
轨迹聚类的目的是关联除了Disappeared消失状态以外的所有轨迹。与轨迹矫正采用相同的策略,首先构造一个距离矩阵MT−cluster,使用距离阈值为θcluster来采用贪心算法,在计算距离矩阵和轨迹关联时,使用相同的约束。在构造MT−cluster时,利用favg和forientation来计算两条轨迹之间的距离,favg之间的距离为davg,forientation之间的距离为dori,davg和dori中较小的为两个轨迹的最终距离。
3.4Multi-camera tracking(多摄像机追踪 MCT)
MCT通过距离矩阵以及贪婪算法实现的。首先,从所有摄像机获取轨迹集,利用3.3.4中的策略来构建距离矩阵Mmct。之后采用贪婪算法来关联轨迹直到最小距离超过θmct,当一个轨迹与其他轨迹相关联时,Mmct中相应的行和列都会更新。另外本文只关联跨相机的轨迹,相机内的轨迹保持不变。
3.5Implementation details(实施细节)
- Re-ID model 重识别模型
采用ResNet-34来提取特征,输入为128×256。从最后一个全连接层提取128-d特征。训练过程中,使用了Market-1501, CUHK03, MSMT17, PRW, DukeMTMC-ReID公共数据集以及额外的私有数据集。
- Pose estimator 姿态估计
采用Alpha pose来进行姿态估计。
- Parameter setting 参数设置
µm=10, µd=300。状态估计中, γvalid=0.3,θvalid=7。在轨迹关联中, θrectify=20, θcluster=30。 在多摄像机追踪中,θmct=40。
4.Experiments
4.1 Duke MTMCT dataset(数据集)
八个摄像头记录,共有2834个不同ID的6791条轨迹,每个摄像机有25分钟。数据以60FPS记录,分辨率为1080p。数据集分为三个部分:trainval(训练), test-easy(简单), test-hard(困难), trainval-mini(迷你训练)为trainval(训练)的一部分,共包含59281帧 。
4.2Evaluation metric(评估标准)
三个数值:IDP IDR IDF1
4.3Ablation study(消融实验)
注:消融研究类似控制变量法,旨在研究不同模块单独的作用
消融实验是在trainval-mini(迷你训练)上进行的,考虑了forientation, fcluster, finvalid。Baseline跟踪器仅使用fcurrent进行数据关联,生成跟踪结果的的间隔K=10s,意味着数据集*有600帧,结果如下:
Cluster-based feature 对应表中第二行,与Baseline相比IDF1值提高了5.4%,但是由于fcluster在最开始对于遮挡的问题鲁棒性较低,而随着轨迹的增长才变得稳定,所以IDswitch会变多。
Orientation-aware feature forientation与fcluster是互补的,两者都有的话IFD1数值提高,并且IDswitch降低。
Temporal invalid Feature 与前三行数据相比最大的改变即为IDswitch由6564降低到了5466,说明finvalid的存在有效的降低了IDswitch,使追踪轨迹更加平滑。
4.4Compare with other state-of-the-art methods
在DukeMTMCT数据集上进行测试,与其他跟踪方法比较结果如下:
IDF1与IDR的数值上都优于很多其他方法
5.Conclusion
本文针对MTMCT提出了状态感知Re-ID特征;利用人体姿态信息来推断状态以及方向;设计融合跟踪特征来更好的利用Re-ID特征。