2020年2月28日笔记--记录下每天学习的内容

Multi-Object Tracking
多目标跟踪的问题是这样的:有一段视频,视频是由 N 个 连续帧构成的。从第一帧到最后一帧,里面有多个目标,不断地有出有进,不断地运动。我们的目的是对每个目标,能跟其他目标区分开,能跟踪它在不同帧中的轨迹。
1 Input: detection responses。现在拿来一段视频,我们先用 state-of-art detectors 把各帧中的人检测出来,包括位置、大小。当然,这个检测是有 noise 的,否则也就没必要用各种 MOT 方法来处理了。每个 detection 产生的结果就是 response,它还有一个可信度,比如80%可信,20%可信。
2 Output: Tracklets. 就是最终得到每个 target 的轨迹。
Challenges: Occlusions,similar appearance,complex motion,false alarms.这些问题基本上是每篇论文都在努力解决的。
3 Occlusions:有三种,被场景中的物体遮挡,被其他 target 遮挡,被自己遮挡(如变形,无法检测到),遮挡之后,本来应该检测到的 target 就检测不到了。解决的方法如根据 temporal 信息,估计出某一帧的某个位置有 target 被遮挡了。
4 Appearance:一是怎么把 target 与背景分开;二是怎么把不同的 target 分开。一般需要设计一个很好的外观模型,比如用 HOG、color histogram 等等。
5 Motion: 最简单的情况是匀速直线运动,这样我们很好预测下一帧中这个 target 在哪,但实际情况往往并不如此。比如可能来了个急转弯,可能突然转身往回走。解决之道,一般要设计更灵活、更复杂的运动模型。

6 False Alarms: detector 给出了 response,但实际上那个地方并没有 target,误检。这就要根据可信度,以及多种 refinement 方法来甄别。

 

视频多目标跟踪(MOT)主要目标是将视频中的每个目标的轨迹画出来,也就是把属于同一目标的bounding box标成同一ID。
1、tracking-by-detection  :先将每一帧中的目标检测出来,然后对这些检测出来的框做跟踪。
离线跟踪(offline MOT)一次性输出所有的视频帧,将每一帧中所有的目标检测出来,然后将问题转化成数据关联(Data association)的问题 图模型优化和分层小轨迹关联方法
 在线跟踪(Online MOT)输入一段视频流的时候,当前帧之后的图形无法获得,只是利用当前帧和之前帧的信息,并且只能改变当前帧的关联情况,而之前已经关联好的轨迹则无法修改  强化学习 RNN网络 单目标跟踪辅助 注意力机制
 近似在线跟踪(Near-Online)在出来视频流的时候,只利用当前帧以及之前帧的信息,但是允许修改最近T帧内的轨迹关联
参考很多信息来判断一段已经跟踪好的轨迹和一个候选检测框之间的相似度。信息包括:外观模型(CNN模型),运动模型(匀速直线运动模型或者RNN模型),交互模型(反映人和人之间的位置的相互影响)

2、model-Free:先将第一帧中的目标检测出来,然后在之后的帧中跟踪第一帧标注出来的目标。

 

 

MOT领域解决的关键问题还是数据关联(data association)

SORT使用的方法是:

  • Tracking-by-Detection(TBD)类别的方法:基于检测进行目标跟踪, 只根据当前和上一帧得到的内容进行跟踪。

  • 强调加强实时跟踪,并且引入自动驾驶领域的行人跟踪进行提升

  • 之前的跟踪方法只是基于Bounding Box的位置和大小进行数据关联和移动估计(motion estimation),忽略了appearance feature

  • 忽视短期/长期的遮挡

  • 不考虑使用物体重识别方法(object reid),因为会影响到检测速度(sort目的在于尽可能的快)

  • 使用了faster rcnn作为目标检测器,使用了基于VOC数据集训练得到的权重,只关心person这个类,置信度阈值为0.5来判断是否是一个人

  • 运动预测模型:使用了卡尔曼滤波算法进行预测,使用了线性恒速运动模型进行位置预测。如果没有检测框对应目标,那就使用线性恒速运行模型对其进行简单的位置预测而不需要修正。

  • 数据关联模型:使用了匈牙利算法进行数据关联,其中匈牙利算法中框与框之间的距离由IOU来决定的,但是必须大于IOU_{min}IOUmin​ ,如果小于该阈值。

  • ID的创建与销毁:目标进入或者离开图片会导致ID的创建和销毁,如果有检测框与现存在的检测框之间的IOU小于IOU_{min}IOUmin​的时候,就认为他是一个新的目标框(而sort只关心前一帧与当前帧,如果检测器得到的偏差较大,那在SORT中可能就会被认为是新的目标,从而分配新的ID)

    如果连续 T_{lost}Tlost​ 帧没有实现已追踪目标预测位置和检测框的IOU匹配,则认为目标消失。实验中设置 T_{lost}=1​Tlost​=1​ ,原因有二,一是匀速运动假设不合理,二是作者主要关注短时目标追踪。另外,尽早删除已丢失的目标有助于提升追踪效率。但是,问题就出现了,这样的话目标的ID一定会频繁的切换,这样就会造成跟踪计数的不准确!

你可能感兴趣的:(记录每天学习的内容)