Multiple Hypothesis Tracking
核心思想:非贪心匹配,参考帧数目大于 2
可以参考 GTR,也是参考帧>2 的整体关联的思路
GTR 是采用外观特征,利用 Attention 机制去噪、增强特征,其本质也是扩大匹配的窗口长度,充分利用交互信息
跟踪流程
MHT 对应 Tracking by detection 的跟踪范式,每一帧需要有独立的检测器以及外观特征的提取器
MHT 需要做的就是在\(t = 1:k\)这个自开始以来的时间序列当中,确定哪些属于轨迹\(l\)
- 每一步都要计算一次 global optimal hypothesis,作为当前帧的轨迹输出
- global hypothesis 是指没有一个跟踪框被分配了两个 track id
- 具体计算过程中可以采用确定性算法或者近似算法
- 可以形式化为最大加权独立集问题
- 每次有一个新的帧到来,都需要计算条件概率
- 条件概率有一系列的假设
- 比如在运动上,空假设的各帧匹配情况条件独立
- 比如外观上,假设各帧的外观判别是条件独立于未来的外观特征的
- 并且有先验的物体检出概率以及 False Positive 概率,用于计算首帧的轨迹得分
- 条件概率有一系列的假设
迭代计算
树当中的每一个边,都对应着一个得分:\(P(d = T^{l}_{t}|T^{l}_{1:t-1})\)
这里\(T^{l}_{1:t-1}\)代表轨迹\(l\)在\(1:t-1\)这个时间段(从开始到 t-1 帧)内的匹配结果
也就是说给定一个先前的轨迹序列(轨迹序列的意思就是同一个 track id 对应的一系列框),在当前帧追加某个框的得分
_这个概率越高,框\(d\)就越应该追加到先前的\(T_{1:t-1}^{l}\)之上_
在得到每一个从根节点(第一帧的某个框)到叶子结点(第 t 帧的某个框)的序列之后,我们都可以通过累乘所有边的得分,得到一个轨迹的总分数
所以在每一步更新时,其实我们还是简单地计算当前帧的轨迹追加到先前的假设所对应的一个条件概率即可
在实际应用中,概率得分是取对数的,所以用的是相加
运动判据
我们会根据 Kalman 滤波器的权重生成一个二维高斯分布(以 2D MOT 为例)
从\(S_{\text{mot}}\)可以看出,运动线索的匹配度和协方差矩阵\(\Sigma\)(噪声程度)以及距离\(d\)都有关系。
外观判据
根据当前帧的外观特征,使用 one-vs-rest 判别,得到一个分类(-1 到 1)分数,进而可以计算外观得分
SOTMOT 这个模型也是基于最小二乘法的,对于每一个轨迹,逐帧更新外观判别器,采用的也是 one-vs-rest 的判别方式
最大加权独立集
the most likely set of tracks can be formulated as a Maximum Weighted Independent Set (MWIS) problem
每个节点代表一个track hypothesis,权重等于\(S_{k}^{l}\)
如果两个track hypothesis
在某一帧包括同一个框,那么在两个节点之间构建一条边,代表两者无法共存
剪枝
剪枝就是根据当前帧的状态,去掉那些没有被确认的假设
如果不剪枝,假设每一帧平均有\(N\)个检测结果,那么树的形式将会是完全 N 叉树,增长速度是指数级的
和主流 TBD 方法的关系
- 都建立在独立的单帧检测器以及外观特征提取器上
- 都是在线算法
- 都存在已有轨迹\(T^{l}\)以及检测结果\(d_{i}\)的相似度的计算
不同的是
- MHT 的匹配相对比较严谨,需要数学计算较多,建立在后验概率和条件概率之上
- 通常情况下 TBD 的参考帧只有两帧,而 MHT 的参考帧实际上是\(1:t-1\),几乎是一种全局优化
- GTR 等方法会进行多帧交互,然后再得到相似度得分
- MHT 必须要引入剪枝策略控制搜索空间
- MHT 得到跟踪结果的方式是求解一个最小带权独立集问题,而 TBD 算法通常是在每一帧直接进行 Hungarian Bipartite Matching
- 在 Multiple Hypothesis Tracking Revisited 这篇文章里面,用到了最小二乘算法
- 使用闭式解,逐帧更新one-vs-rest外观判别器
- 这一点和SOTMOT非常相似
Reference
- Multiple Hypothesis Tracking Revisited