图像跟踪--概述

1 术语

MOT:Multiple Object Tracking

SOT:单目标跟踪

Trajectory(轨迹):一条轨迹对应这一个目标在一个时间段内的位置序列

Tracklet(轨迹段):形成Trajectory过程中的轨迹片段。完整的Trajectory是由属于同一物理目标的Tracklets构成的。

ID switch(ID切换):又称ID sw.。对于同一个目标,由于跟踪算法误判,导致其ID发生切换的次数称为ID sw.。跟踪算法中理想的ID switch应该为0。

2 简介

​包括多目标跟踪(Multiple Object Tracking简称MOT)和单目标跟踪(Single Object Tracking简称SOT),MOT就是对连续视频画面中多个目标进行跟踪;SOT对连续视频画面中单个目标进行跟踪。而由于是多目标,自然就会产生新目标进入与旧目标消失的问题,这就是与单目标跟踪算法区别最大的一点。而由于这一点区别,也就导致跟踪策略的不同。在单目标跟踪中,我们往往会使用给定的初始框,在后续视频帧中对初始框内的物体进行位置预测。而多目标跟踪算法,大部分都是不考虑初始框的,原因就是上面的目标消失与产生问题。跟踪过程中,由于光照变换、目标尺度变化、目标跟踪遮挡、目标的形变、运动模糊、目标的快速运动、目标的旋转、目标逃离视差、背景杂波、比分辨率等现象,都是目标跟踪的挑战。

3 算法知识

3.1 基本知识

​通常,多目标跟踪可以认为是多变量估计问题,目的是找到所有目标“最好”状态序列。基于检测的多目标跟踪TBD(Tracking-by-Detecton)与基于初识框无需检测器DFT(Detection-Free Tracking)**的多目标跟踪。TBD则是目前学术界研究的主流、工业界用得也比较广的跟踪算法。

在这里插入图片描述
DBT:首先检测目标,然后链接到轨迹中,给定一个序列,在每帧中进行特定类型的目标检测或运动检测。有两个问题值得注意:第一,由于提前训练目标检测器,DBT大部分关注特定的目标类型,如行人、车辆或人脸。第二,DBT的性能非常依赖于所采用的目标检测器的性能。

DFT:要在第一帧手动初始化一定数量的目标,然后在后续帧定位这些物体。相对来说,DBT更受欢迎,因为它可以自动发现新目标、自动终止消失的目标。而DFT就不能处理新目标出现的情况,但它不需要提前训练目标探测器。

3.1.1 DBT详细介绍

​ 随着卷积神经网络的逐渐成熟,目标检测的准确性越来越高,常见的目标检测器分为两阶段如Faster RCNN等和单阶段如yolo系列等,因此基于深度学习的目标检测算法在工程落地越来越广泛,目标检测算法的输出是跟踪算法的输入。这种跟踪算法需要和检测算法搭配使用,可想而知,前面检测算法的稳定性会严重影响后面跟踪算法的效果。
在这里插入图片描述
说明:T帧代表视频抽帧得到的图像输入到检测模型,预测得到a、b、c三个检测框;T+1帧代表视频抽帧得到的图像输入到检测模型,预测得到A、B、D、E四个检测框,如何将前后帧目标正确关联起来是DBT算法需要解决的问题

​目标跟踪的本质是关联视频前后帧中的同一个物体,第T帧中有M个检测目标,第T+1帧中有N个检测目标,将前一帧中的M个物体和后一帧中的N个物体关联起来,并赋予唯一标识TrackID,这个过程就是Tracking By Detecting跟踪算法的宏观流程。

在这里插入图片描述

​ 上图描述目标关联的具体流程,在实际目标关联过程中,我们需要考虑的有:

1、如何处理中途出现的新目标

2、如何处理中途消失的目标

3、正确目标关联

​理想情况下,同一个物体(目标)在视频画面中从出现到消失,跟踪算法应该能赋予它唯一一个标识(TrackID),不管目标是否被遮挡、目标是否发生严重形变、是否和其他目标相距太近(相互干扰),只要这个目标被正确检测出来,跟踪算法都应该能够正确关联上。但实际上,物体遮挡是跟踪算法最难解决的难题之一,物体被频繁遮挡是TrackID变化的主要原因。原因很简单,物体被遮挡后(或其他原因),检测算法检测不到,跟踪算法无法连续关联到每帧的数据,等该物体再出现时,物体在画面中的位置、物体的外观形状与消失之前相比都发生了很大变化,而跟踪算法恰恰主要是根据物体的位置、外观来进行数据关联的。下面主要介绍目标跟踪中两种方式,一种容易实现、速度快,算法纯粹基于目标在画面中的位置来进行数据关联;另一种相对复杂,速度慢,算法需要提取前后帧中每个目标的图像特征(features),然后根据特征匹配去做数据关联。

3.1.1.1 基于坐标的目标关联

​ 基于坐标(目标中心点+长宽)的目标关联是相对简单的一种目标跟踪方式,算法认为前后帧中挨得近的物体为同一个目标,因为物体移动是平滑缓慢的,具体可以通过IOU(交并比,前后两帧中目标检测方框的重叠程度)来计算,这种算法速度快、实现容易,在前面检测算法相对稳定的前提下,这种跟踪方式能够取得还不错的效果,由于速度快,这种方式一般可以用于对实时性(realtime)要求比较高的场合。缺点也很明显,因为它仅仅是以目标的坐标(检测算法的输出)为依据进行跟踪的,所以受检测算法影响非常大,如果检测算法不稳定,对于一个视频帧序列中的目标,检测算法经常漏检,那么通过这种方式去跟踪效果就非常差。另外如果场景比较复杂,目标比较密集,这种跟踪方式的效果也比不会太好,因为目标密集,相邻目标的坐标(left、top、width、height)重合度比较高,这给基于坐标的目标关联带来困难。
在这里插入图片描述

​ 如上图,在T+1帧中,我们根据目标前面若干帧的坐标预测它在本帧中的坐标(预测坐标),然后再将该预测坐标与本帧实际检测的目标坐标进行数据关联。之所以需要先进行预测再关联,是因为为了减少关联过程的误差,常见预测算法可以使用卡尔曼滤波,根据目标前面若干坐标值预测下一坐标值,并且不断地进行自我修正。IOU(交并比)是衡量两个矩形方框的重叠程度,IOU值越大代表矩形框重叠面积越大。

3.1.1.1 基于特征的目标关联

​ 纯粹基于坐标的目标跟踪算法有一定的局限性,单靠目标坐标去关联前后帧的同一目标在有些场合下效果比较差。在此基础上,有人提出结合目标外观特征匹配做目标关联,换句话说,在做目标关联的时候,除了依赖目标坐标外,还考虑目标的外观特征,道理很简单:

前后两帧中挨得近的物体且外观长得比较像的物体为同一目标。

​这样的跟踪方式准确率更高,但是同时出现了一个问题:如何判断两个物体外观长得像?在计算机视觉中,有一个专门的研究领域叫Target Re-Identification(目标重识别),先通过对两个待比较目标进行特征编码(特征提取),然后再根据两个特征的相似度,来判断这两个目标是否为同一个物体,两个特征越相似代表两个目标为同一个物体的可能性越大。

​外观特征提取是一个耗时过程,因此对实时性要求比较高或者需要同时处理视频路数比较多的场合可能不太适合。但是这种基于外观特征的跟踪方式效果相对更好,对遮挡、目标密集等问题鲁棒性更好,因为目标遮挡再出现后,只要特征提取网络训练得够好,目标尺寸、角度变化对它的外观特征影响不大,因此关联准确性也更高。类似的,这个也适用于目标密集场景。外观特征提取需要定义一个合适的神经网络结构,在实际场景中可以有监督训练一个分类模型作为特征提取网络。

3.2 分类方法

​ 目标跟踪可以分为在线跟踪(Online)离线跟踪(Offline)。在Online跟踪中,我们只能使用当前帧及之前帧的信息来进行当前帧的跟踪。而在Offline跟踪中则没有了这个限制,我们对每一帧的预测,都可以使用整个视频的信息,这样更容易获得一个全局最优解。两种方式各有优劣,一般视应用场合而定,Offline算法的效果一般会优于Online算法。而介于这两者之间,还有一种称之为Near-Online的跟踪方式,即可以部分利用未来帧的信息。Online跟踪是不允许修改以往的跟踪结果的,这一点也不难理解,因为一旦修改,算法自然就不再符合Online跟踪不能利用未来帧的要求了,变成了NearOnline或者Offline。

在这里插入图片描述

说明:上图为Online,下图为Offline

4 评价指标

MOTAMOTP共同衡量算法连续跟踪目标的能力(即,在连续帧中能准确判断目标的个数,精确的划定其位置,从而实现不间断的连续跟踪)。

4.1 MOTA

​ 对于多目标跟踪,最主要的评价指标就是MOTA。这个指标综合了三点因素:FP、FN、IDsw.。FP即False Postive,为误检测的目标数量;FN即False Negetive,为未检出的真实目标数量;IDsw.即同一目标发生ID切换的次数。MOTA越高,代表一个Tracker综合性能越好,上限为100,下限负无穷。

MOTA(multiple object tracking accuracy)多目标跟踪的准确度,体现在确定目标的个数,以及有关目标的相关属性方面的准确度,用于统计在跟踪中的误差积累情况,包括FP、FN、ID Sw。

在这里插入图片描述
在这里插入图片描述

4.2 MOTP

MOTP(multiple object tracking precision)多目标跟踪的精确度,体现在确定目标位置上的精确度,用于衡量目标位置确定的精确程度。

在这里插入图片描述

$$
c_𝑡 :表示第t帧目标𝑜_𝑖和假设h_𝑗的匹配个数;

𝑑_𝑡^𝑖 :表示第t帧目标𝑜_𝑖与其配对假设位置之间的距离,即匹配误差。
$$

4.2 具体实现

假设对于每一帧的图像中有目标:

在这里插入图片描述

tracker在该帧输出的假设为:

在这里插入图片描述

有效的匹配:

在目标和假设间,采取最近邻的方法,将相互距离最小的假设匹配给对应的目标。如图所示:

在这里插入图片描述

在t,t+1帧都是有效的匹配,而t+2帧显然不是有效的匹配(则假设h_𝑗和𝑜_j不存在对应关系,这时候目标𝑜j应该是一个漏检目标)。距离可以采用欧氏距离计算,而阈值T可以设置为假设和目标最少重叠(overlap)时两者中心的距离。

跟踪一致性:

追踪器使追踪假设和对应目标长时间保持对应关系不变的能力。但是持续跟踪容易出现的问题就是错误匹配问题。如图所示:

在这里插入图片描述

从图中可以看出来𝑜1在正确匹配三帧后发生了误匹配问题,导致轨迹偏斜,继续匹配在t+5帧时再次发生误匹配问题,导致再次轨迹偏斜。**如何统计该类错误呢?**如下图所示:

在这里插入图片描述

一种统计该错误的方式:首先寻找目标和假设间的一个最优对应(oi,hj),或者是出现频率最大的对应,然后将其余出现的所有和这个对应不同的对应视为错误匹配。如上图所示:我们将出现频率最大的对应视为正确的对应关系,然后case1下出现2次错误对应,case2条件下出现4次错误对应。但是这种方式会造成不公正评判指标。

为此我们采用最优匹配序列对整个跟踪链统计,构建假设位置与目标的匹配序列。Mt = {(oi,hj)}该变量表示到t帧为止所建立的匹配序列),在t+1帧,如果 oi的匹配对象是hk,与Mt 中的匹配记录不同,则记录一次误匹配,同时将(oi,hj)更新到Mt+1中去。并开始后续帧的判断。即仅仅统计对应出现跳变的次数。这样的话,上图中case1和case2均仅出现一次跳变。而对于连续跟踪中的旧对象消失,隔几帧后又重新出现,**这样的问题如何解决呢?**如下图所示:

在这里插入图片描述

在t+1帧,旧对象的消失,当前跟踪对象没有能匹配的假设位置,则该目标漏检。

在t+2帧,新对象产生,并且有两个假设位置,则有两个有效的匹配但是为了降低错误率,减少对应发生跳变的次数,选择之前已经存在的匹配,则这时候我们选择(oi,hj)。

http://www.noobyard.com/article/p-thciumav-qd.html

https://zhuanlan.zhihu.com/p/62827974

https://www.cnblogs.com/xiaozhi_5638/p/13845413.html

https://zhuanlan.zhihu.com/p/75776828

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值