0%

多目标跟踪-JPDAF, MHT 和RFS

Multitarget tracking (MTT) 多目标跟踪一直是一个热点话题,这个问题已经都50年了,但是一直得不到一个很好的解决,在图像跟踪上,大家可能比较熟悉相关滤波,我们今天从另一个角度去思考这个问题,多目标跟踪是单目标的复杂形式,但是问题就变成了如何处理,检测丢失,噪点,初始位置不清和target的增减等问题,注意这里讨论的问题不仅仅是图像领域而是一种很通用的MTT问题,比如传感器网络等。

现在主要的三类解决方式是:JPDAF (joint probabilistic data association filter, 联合概率数据互联滤波器), MHT (multiple hypothesis tracking, 多假设跟踪) 和 RFS (random finite set, 随机有限子集)。 这是从处理measurement 和 target 的关系的角度来说明的,我们在这总结一下。我会尽量用最少的语言和少量的公式讲明白。因为RFS是我的研究方向可能笔墨会多一点。现在很多的方法其实主要还是用的是JPDAF的思想来消除false alarm,减少了误检,但是如果要解决目标丢失和目标重叠等问题,我觉得还是要从MHT和RFS的角度来思考。

基本MTT问题

  • 图中展现了一个典型的MTT问题,一个target没有被雷达检测到(missed detection),两个临近的目标叠加在了一起(unresolved),同时还有噪点(fasle alarm),这些统称为measurment的原始不确定性。
  • target 数目是时变得,同时每个target产生多个随机的measurement。
  • target 排列是无序的。

JPDAF

JPDAF是单目标的PDAF在多目标问题上的延伸。

基本假设

  • measurement 可以包含false alarm。
  • target数目是已知的
  • 每个物体的初始位置是已知的
  • 每个target 状态方程可以不同。
  • measurement 可以多个近似的,但是一个measurement 最多只能代表一个target
  • 一个target 只能至多产生一个measurement
  • target的检测是独立的,并且检测的概率已知。
  • target 是高斯的和independent across target(均值和方差可以迭代的)。

基本步骤

  • 设置了一个验证矩阵(validation matrix),他显示了每个测量的所有可能来源。
  • 从这个验证矩阵中,根据规则计算所有可行的联合关联事件。
    • 每个测量都有一个源。
    • 每个目标的至多有一个测量(或不测量)。
  • 这些联合事件可以通过以下假设评估:
    • 目标产生的测量值的分布概率是高斯的。
    • 虚假测量均匀随机分布的。
    • 虚假测量的数量遵循。
      • 泊松先验 - 参数JPDAF。
      • 弥散先验 - 非参数JPDAF
  • 边际(目标的独立测量)关联概率可以从联合关联概率获得。
  • 通过使用这些边际概率,target state 可以被独立(未耦合的)PDA滤波器估计。

小结

因为他要求目标已知,很大方面限制了他的局限性,但是它想法直观,很多方法都还有他的影子,现在很多基于detection的tracking方法,也是通过建立data association去消除false alarm。
code

MHT

MHT会为每个候选目标建立一个潜在跟踪假设树,然后,计算每一个跟踪的概率,选出最有可能的跟踪组合。因为在计算概率时,整个跟踪假设都会被考虑到,所以MHT理论上适用于高阶信息例如长期的运动和外观模型。MHT分为两类HOMHT(hypothesis-oriented MHT)和TOMHT(track-oriented MHT)。其中TOMHT又分tree based 和non-tree based。
Hypothesis 是estimated target的轨迹。

基本假设

  • 不知道 measurement 不知道是属于target 还是 clutter。如果属于target,也不知道属于哪个target。
  • 当target miss的概率小于检测的联合概率时,miss是不知道的。
  • 为了限制data association的数目,算法采用gatting。其中fine gatting(椭圆gatting)最为常见。矩形 gatting 也有采用,因为计算量比较少。
  • measurement 可以包含false alarm。
  • 考虑了miss detection 或者 target death,(现在也会考虑bitrh)。
  • target数目是未知的
  • 每个物体的初始位置是未知的
  • 每个target 状态方程可以不同。
  • measurement 可以多个近似的,但是一个measurement 最多只能代表一个target
  • 一个target 能至多产生一个measurement
  • target的检测是独立的。

基本步骤

  • 设现在有2个target轨迹,和三个measurements。
  • 建立树形结构。
  • 得到所有的track hypotheses。
  • 只保留一个best global hypothesis(BGH)其他的丢掉。
  • 可以通过多次扫描再做取舍来提高系统正确率。单次扫描被称作2D assignment problem,多次被成为multi-frame assignment (MFA) 或者 multi-dimensional assignment (MDA)。
  • association hypotheses随measurement而指数增多。为了抑制增多,我们可以采用clustering, gating, N-scan pruning 和 track-score based pruning。

小结

随之计算机性能提升,经典MHT算法在标准测试数据集上能与目前一流的方法媲美。比如在MOT2017上排第9。可见性能还是很不错的。
code

RFS

RFS就是把多目标的state看成单目标的state,这样就能通过单目标的方法解决问题,他与前两个区别在于它不需要data association。最简单的RFS,是伯努利RFS。我们也可以取RFS的泰勒一阶展开,即PHD(Probability Hypothesis Density)或者intensity function。 PHD的卷积就是估算的target数量。

  • generalized labeled multi-Bernoulli filter 和 particle marginal Metropolis-Hasting tracker都考虑了物体的label信息,所以有滤波递归的解析解。
  • PHD,CPHD 和 multi-Bernoulli filter不考虑label信息,所以有近似解析解。

基本假设

  • RFS在空间X的有限子集上取值,而不是在空间X上取值,所以他不符合在X上的贝叶斯理论,它是建立在采样理论上的计算。
  • 通常考虑的是FISST(Finite Set Statistc), 因为他易于形成测量理论结构。
  • 考虑了miss detection 或者 target death,也会考虑bitrh,同时兼顾appear and disappear。
    • target数目是未知的
    • 每个物体的初始位置是未知的
    • 每个target 状态方程可以不同。
    • measurement 可以多个近似的,但是一个measurement 能代表多个target
    • 一个target 能至多产生多个measurement
    • target的检测是独立的。
    • 网络是非齐次的,非泊松的。
    • 检测概率和state相关方程明确

PHD

计算廉价,假设更新和预测的RFS为Possion的。他的closed form形态被称为GM-PHD。对于非线性,还有SMC-PHD。CPHD就还考虑了基数分布,通过高计算复杂来获取高性能,同时假设更新和预测的RFS为cluster 的独立同分布。他们的计算量和target数量成线性,PHD同measurement的数量成线性,CPHD是成$N_z^2\log{N_Z}$
对于PHD filter 大家可以读一下advances in statistical multisource-multitarget information fusion。书也不贵1000左右吧。。。

伯努利滤波器

欢迎大家看我之前发的blog:

伯努利滤波器(一)——背景和数学基础

伯努利滤波器(二)——随机动态方程和更新函数

伯努利滤波器(三)—— 强度测量信模型息

伯努利滤波器(四)—— 点状测量信息模型

伯努利滤波器(五)——拓展目标的测量模型

伯努利滤波器(六)——不确定测量

伯努利滤波器(七)——伯努利粒子滤波器

文章还没修正,而且我不是专业做Bernourlli的,所以字符会有点乱。。。。见谅。

Generalized Labeled Multi-Bernoulli Tracker

前面的filter 包括multi-Bernoulli filter 都是不输出轨迹的。而GLMB是输出轨迹的。他的label包含两个部分一个是出生的时间,一个是对应的target。它是Bayes 多目标filter的第一个完全close form解。但是计算量很大和观测成立方增长
他的数学推导我们会再开专题,paper