多目标跟踪(Multi-Object-Tracking)入门

点击上方码农的后花园”,选择星标” 公众号

精选文章,第一时间送达

目标跟踪(Object-Tracking)问题是目前深度学习中研究的热点问题,主要用在安防监控和自动驾驶上,其中目标跟踪问题又分为单目标跟踪问题和多目标跟踪问题。

单目标跟踪是指在视频的初始帧上框出单个目标,然后预测后续帧中该目标的大小和位置,单目标跟踪典型算法有:Mean Shift、TLD(基于在线学习的跟踪)、KCF(基于相关滤波性)。多目标跟踪不像单目标跟踪一样先在初始帧上框出单个目标,而是追踪多个目标的大小和位置,且每一帧中目标的数量和位置都会有变化,多目标跟踪算法典型有:SORT、DeepSORT。

多目标跟踪(Multi-Object-Tracking)入门_第1张图片

多目标跟踪MOT(Multi-Object-Tracking):主要任务是给定一个图像序列,找到图像序列中运动的物体,并将不同帧的运动物体进行识别,也就是给定一个确定准确的ID,这些物体可以是任意的,物体可以是人、车辆、各种动物等。

多目标跟踪算法分类

多目标跟踪(Multi-Object-Tracking)入门_第2张图片

如上图所示,多目标跟踪算法可分为基于检测的多目标跟踪DBT(Detection-Based Tracking)和基于初始框无需检测器的多目标跟踪DFT(Detection-Free Tracking)。在单目标跟踪中,我们往往会使用给定的初始框,在后续视频帧中对初始框内的物体进行位置预测。而多目标跟踪算法,大部分都是不考虑初始框的,原因是目标的频繁消失与产生问题。

在多目标跟踪领域常用的跟踪策略是TBD(Tracking-by-Detecton),又或者也可叫DBT(Detection-Based-Tracking)。即在每一帧进行目标检测,再利用目标检测的结果来进行目标跟踪,这一步也称为数据关联。而DFT(Deteciton-Free Tracking),常常用于需要人工标定视频的第一帧图像中的目标,之后边检测边跟踪,常用于单目标跟踪,因为DFT目标需要人工标定,对于非第一帧出现的目标或者中间帧消失的目标没办法处理。

多目标跟踪(Multi-Object-Tracking)入门_第3张图片

如上图,多目标跟踪又可以分为在线跟踪(Online Tracking)和离线跟踪(Offline Tracking)。在线跟踪(Online)是指当前帧的预测只能使用当前帧与之前的帧的信息来进行跟踪,也就是说视频中的第3帧只能使用视频之前的第2帧和第一帧的目标的信息来进行跟踪,Online跟踪是不允许修改以往的跟踪结果。离线跟踪(Offline) : 没有在线跟踪只能使用之前帧的局限,对于每一帧的预测,离线跟踪都能使用整个视频的信息,更容易获得一个全局最优解,Offline跟踪是可以修改以往的跟踪结果。

多目标跟踪问题

一般多目标跟踪,需要处理以下几个问题:

  • 处理新目标的出现和老目标的消失;

  • 跟踪目标的运动预测和相似度判别,即上一帧与下一帧目标的匹配;

  • 跟踪目标之间的重叠和遮挡处理;

  • 跟踪目标丢失一段时间后再重新出现的再识别。

多目标跟踪(Multi-Object-Tracking)入门_第4张图片

如上图,多目标跟踪算法工作流程如下:

第一步:给定视频原始帧

第二步:运行对象检测器,如Faster Rcnn、YOLO等目标检测算法,检测以获得对象的边界框。

第三步:将所有目标检测框中对应的目标抠出来,进行特征提取(包括表观特征或者运动特征)。

第四步: 进行相似度计算,计算前后两帧目标之间的匹配程度(前后属于同一个目标的之间的距离比较小,不同目标之间的距离比较大)。

第五步:数据关联,为每个对象分配目标的ID,常用匈牙利算法。

多目标跟踪算法benckmark

  • MOT 数据集:是2015年开始的 MOT Challenge多目标检测跟踪挑战赛提出的数据集,关注的目标主要是移动的行人和车辆,目前MOT Challenge挑战赛发布了MOT15、MOT16、MOT17、MOT18、MOT19、MOT20版本数据集。数据集主页:https://motchallenge.net/

    多目标跟踪(Multi-Object-Tracking)入门_第5张图片

  • KITTI数据集: 针对自动驾驶的数据集,由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。KITTI包含市区、乡村和高速公路等场景采集的真实图像数据,每张图像中最多达15辆车和30个行人,还有各种程度的遮挡与截断。数据集主页:http://www.cvlibs.net/datasets/kitti/raw_data.php

    多目标跟踪(Multi-Object-Tracking)入门_第6张图片

多目标跟踪算法评价指标

多目标跟踪(Multi-Object-Tracking)入门_第7张图片


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

往期精彩

《-》Yolov3算法实现社交距离安全检测项目讲解和实战(Social Distance Detector)

《-》万字长文,用代码的思想讲解Yolo3算法实现原理,Visdrone数据集和自己制作数据集两种方式在Pytorch训练Yolo模型

多目标跟踪(Multi-Object-Tracking)入门_第8张图片

                                            分享给更多朋友,转发,点赞,在看

你可能感兴趣的:(算法,python,机器学习,人工智能,计算机视觉)