Multi-Object Tracking with Multiple Cues and Switcher-Aware Classification 论文简读

前言

本文用了两个目前多目标跟踪领域最常用的信息:iou信息以及reid外观特征。在此基础上,又引入了一个潜在的可能引起身份转换的遮挡目标switcher来参与亲和计算,从而提高了模型对于身份转换的鲁棒性。

贡献

  1. 提出了一个有效的多目标跟踪框架,学习捕获长期和短期线索,并做出自适应决策,进行鲁棒跟踪。
  2. 提出了一个具有switcher感知的分类器,在数据关联时,提升了对于身份转换的多目标跟踪鲁棒性。

跟踪流程

  1. 初始化跟踪列表以及视频帧数 t = 0 t=0
  2. t t 帧时,对于目标 X X ,利用单目标跟踪器子网络寻找目标 X X 的模板 E X E_X 在下一帧 I t + 1 I_{t+1} 的位置。单目标跟踪子网络输出 E X E_X I t + 1 I_{t+1} 最有可能的位置 D t r a c k D_{track}
  3. 对于在 I t + 1 I_{t+1} 帧的检测结果 D d e t D_{det} ,它对应的检测图像区域 I t + 1 , D d e t I_{t+1, D_{det}} 以及目标的历史图像区域{ I t i X I^X_{t_i} }, i = 1 , 2 , 3 , . . . , K i=1,2,3,...,K 被输入到ReID网络中获取长期ReID特征。
  4. 目标的预测位置 D t r a c k D_{track} 、检测结果 D d e t D_{det} 以及步骤3中的长期特征被结合为目标的匹配特征。
  5. 找到目标的潜在switcher,既可能会引起目标发生身份转换的另一个目标,获取他在当前帧的预测位置以及历史ReID特征,并结合为匹配特征。
  6. 一个switcher感知的分类器利用switcher和目标的匹配特征生成目标和检测之间的匹配分数,标志着这个检测结果是否应该与跟踪目标相匹配。对 I t + 1 I_{t+1} 帧的所有检测都进行上述步骤,计算出其与目标之间的匹配分数。更换目标,计算出所有检测和跟踪之间的匹配分数。
  7. 利用目标和检测之间的匹配分数建立一个二部图,使用最小成本网络流算法找到匹配结果。
  8. 对于匹配的目标,利用匹配的检测更新其跟踪位置。对于未匹配的目标,利用预测结果更新其位置。终止掉那些被认为是丢失或者被遮挡的目标跟踪。对于独立的检测如果其置信分数满足新跟踪的条件,则将其添加到跟踪列表中。
  9. 对每一帧重复步骤2-步骤8。

短期线索

SiamRPN
如图所示:

  1. 跟踪预测采用SiamRPN单目标跟踪器实现。
  2. 当前帧目标 X X 的模板 E X E_X ,调整尺寸为 127 × 127 127\times 127
  3. 根据目标 X X 的位置,从 I t + 1 I_{t+1} 帧上裁取搜索区域的图像,将其尺寸调整为 255 × 255 255\times 255 ,其缩放尺度与模板 E X E_X 的缩放尺度相同。
  4. 模板和搜索区域图像分别输入到一个共享权重的CNN网络中,得到CNN特征。将得到的CNN特征输入两个分支,一个分支生成锚点图的得分映射,一个分支生成锚点的边界框回归。
  5. 模板 E X E_X 的位置是搜索区域的得分映射中具有最高得分的位置 D t r a c k D_{track}
  6. 对于检测的边界框位置 D d e t D_{det} ,用以下公式计算短期特征: f s ( D t r a c k , D d e t ) = I o U ( D t r a c k , D d e t ) f_s(D_{track}, D_{det})=IoU(D_{track}, D_{det})
  7. 对于目标 X X ,跟踪质量 q X q_X 如下计算: q X , t + 1 = { q X , t + I o U ( D t r a c k , D d e t ) . p 2 , i f m a t c h e d q X , t . d e c a y . p k , o t h e r w i s e q_{X,t+1}=\left\{ \begin{aligned} &\frac{q_{X,t}+IoU(D_{track}, D_{det}).p}{2}&, if matched \\&q_{X,t}.decay.p^k&, otherwise \end{aligned} \right. 其中 d e c a y , k decay, k 是超参数。如果目标跟踪的 q X q_X 低于阈值,则终止掉该不可靠跟踪。

长期线索

ReID_backbone
ReID_backbone_2

  1. 使用一个结构如图的GoogLeNet inception-V4的修改版本作为ReID子网络的backbone。ReID特征由分类之前的FC层获取。
  2. 使用下面的公式获取目标 X X K K 帧历史图像: t i = arg min t i δ < t ^ < t ( i 1 ) δ Q ( I t ^ X , i = 1 , 2 , 3 , . . . , K ) t_i =\mathop{\arg\min}\limits_{t-i\delta<\widehat{t}<t-(i-1)\delta}Q(I^X_{\widehat{t}}, i=1,2,3,..., K) 其中 Q Q 是一个由Resnet-18实现的输出的质量分数的网络。 δ \delta 是一个决定选择时间间隔的超参数。
  3. 将所选择的目标历史图像和检测输入到ReID网络中得到他们的ReID特征,利用得到的检测特征按照如下公式得到目标与检测的 K K 个长期特征: F l X = { f l ( A t i X A d e t ) i = 1 , . . . , K } F^X_l=\lbrace f_l(A^X_{t_i}A_{det})|i=1,...,K\rbrace
    其中 f l ( A t i X A d e t ) = A t i X T . A d e t A t i X A d e t f_l(A^X_{t_i}A_{det})=\frac{{A^X_{t_i}}^T.A_{det}}{|A^X_{t_i}||A_{det}|} A t i X A^X_{t_i} 是值在 t t 帧得到的目标 X X 的第 i i 个历史图像的ReID特征, A d e t A_{det} 是被匹配的检测提取的ReID特征。

switcher感知的分类器

  1. 通过以下公式找到当前目标 X X 的潜在switcher: Λ = arg max Y S   s . t . Y X I o U ( X t , Y t ) \Lambda=\mathop{\arg\max}\limits_{Y\in S\ s.t. Y\neq X}IoU(X_t, Y_t) 其中 S S 为目标集合
  2. S O T SOT 和ReID子网络作为一个特征提取操作 ϕ \phi ,将这两个子网络的输入,既目标 X X 和检测结果 D D 表示为 Γ X , D \Gamma_{X,D} ,则得到的检测 D D 对于目标 X X 的匹配特征为: ϕ ( Γ X , D ) = { f s ( D t r a c k , D d e t ) } F l X \phi(\Gamma_{X,D})=\lbrace f_s(D_{track},D_{det})\rbrace\cup F^X_l 其中 ϕ ( Γ X , T ) \phi(\Gamma_{X,T}) 的维度为 K + 1 K+1 ,switcher与检测 D D 之间的匹配特征为 ϕ ( Γ Λ , D ) \phi(\Gamma_{\Lambda,D}) 也是如此计算。然后将switcher以及目标 X X 对于检测 D D 的匹配特征拼接起来作为分类器的输入。
  3. 采用正则化牛顿增强决策树作为分类器。分类步骤时,由分类器得到输出 y y ,如果大于阈值 ζ m \zeta_m ,则将对应的边赋值 1 y 1-y 添加二部图中。

个人感悟

这篇文章最大的创新就是在计算亲和力时引入了一个switcher来增强模型对于遮挡的鲁棒性,有效减少了IDS的数量。其次,采用跟踪全局质量分数决定目标跟踪的终止,相比直接在连续 N N 帧的丢失后把跟踪终止,考虑到了每个丢失跟踪的丢失程度,更准确的选择该终止的跟踪,一定程度上抑制了IDS和FP。然后,采用一个质量过滤器选择目标的历史图像,相比在前 N N 中的固定帧数选择历史图像,能够得到与目标更相似的外观特征。
作者在MOT16和MOT17上评估了模型,都取得了SOTA的结果。可惜就是没开源,看不到具体的实现。

发布了4 篇原创文章 · 获赞 0 · 访问量 111

猜你喜欢

转载自blog.csdn.net/yjmlaile/article/details/104901462
今日推荐