多目标跟踪简称 MOT(Multiple Object Tracking)或 MTT(Multiple Target Tracking),多目标跟踪的主要需要解决的问题是在一个图像序列中,找到序列中所需要跟踪的目标,并将不同帧的目标一一对应。所跟踪的物体可以是任意的,从泛化性和实用性来考虑,目前多目标跟踪的主要研究对象是行人和车辆。因为行人是典型的非刚体追踪目标,相比于刚体目标的跟踪难度更大,实用价值和研究价值也更高,因此相比于车辆跟踪问题的研究,更多人选择研究行人跟踪的问题。
多目标跟踪问题可以公式化描述为,给定图像序列{I1,I2,...,It,...},每帧图像中有Mt个目标,其中 t 为当前帧标号,每个目标的状态表示为s(t),其中目标的状态包括目标的位置,形状,大小,外观等,也可以将目标状态理解为当前帧 某 一 目 标 的 特 征 , 则 每 一 帧 图 像 中 所 有 目 标 的 状 态 集 合 可 以 表 示 为St={s1(t),s2(t),...sM(t)}, 相应的每个目标(第 i 个目标)到当前帧(t 帧)为止的轨迹可以描述为si(1:t)={si(1),si(2),si(t)},到当前帧(t 帧)为止的所有目标的状态集合可以表示为S(1:t)={S1,S2,...,St},对应的目标的观测结果(detection observations)分别通过oi(t),oi(1:t)和O(1:t)表示。多目标跟踪的任务就是通过观测结果找出所有帧的状态结合S(1:t)于是可以将多目标跟踪问题使用后验概率进行描述:
解决上式的方法主要分为两种,概率推导法(Probabilistic Inference)和确定性优化法(Deterministic Optimization),这两种方法分别对应的是在线多目标跟踪(online)和离线多目标跟踪(offline)。
其中在线多目标跟踪算法是指,该算法仅使用当前帧和当前帧之前帧的信息,而当前帧之后的信息对于算法来说是不可用的信息。这种方法的步骤分为两步,即预测和更新,分别对应的表达式为如下两公式。属于这类跟踪算法的有粒子滤波法(Praticle Filter)、蒙特卡洛拟退火法(MCMC)等。
而离线多目标跟踪算法则是利用了当前帧的的信息和,当前帧相邻或不相邻的前后帧信息进行优化求解的跟踪算法,这种算法可通过直接优化P(O(1:t)|S(1:t))来得出原问题的答案。除此之外多目标跟踪问题也可以通过直接求解相关能量函数来解决,其具体算法有二分图匹配、动态规划、最大权重独立集等方法。
根据初始化目标的方式可分为 Detection Based Tracking(DBT)和 Detection Free Tracking(DFT),其中 DBT 类算法是指,在进行跟踪前目标已经被检测出来了,也就是说有一个独立的目标检测过程,通过目标检测算法将帧中的目标检测出来,然后目标跟踪算法将当前帧检测出的目标和跟踪轨迹进行匹配,得到截至当前帧的目标轨迹,以此类推得到整个序列的跟踪结果。从中可以看出目标检测的结果很大程度上影响了此次多目标跟踪的结果。
而 DFT 类算法没有独立的检测模块进行每一帧的目标检测工作,目标的初始化工作由人工完成,而后再根据初始化的目标进行下一帧的目标检探测和跟踪。和 DBT 类算法相比,DFT 的实用性较弱,由于这类算法需要通过人工标定需要跟踪目标,对于非第一帧出现的目标和中间帧目标消失问题都不能取到很好的跟踪效果,这类算法的优点在于跟踪的精确度较高,有特定的目标。
相对于单目标跟踪来说,多目标跟踪问题更复杂,除了需要解决单目标跟踪中存在的物体形变,背景干扰等问题,还需要解决以下问题:
(1)目标的出现和消失问题,每一帧都可能有新的目标出现再图像中,也可能有老的目标从图像范围中消失或是重新出现。
(2)准确的区分每一个目标,并与跟踪路径进行匹配。