参考链接:https://www.cnblogs.com/xiaozhi_5638/p/13845413.html IT周见智
1、介绍
多目标跟踪(Multiple Object Tracking,MOT),是对连续视频画面中多个目标进行跟踪,跟踪的本质是关联视频前后帧中同一物体(目标),并赋予唯一TrackID。
2、绝大多数MOT算法的四大步骤:
- 检测
- 特征提取、运动预测
- 相似度计算
- 数据关联
目标视觉跟踪,分为两大类方法:生成(generative)模型方法和判别(discriminative)模型方法,目前比较流行的是判别类方法,也叫检测跟踪(tacking by detection)。
3、Tracking by Detecting
基于目标检测的跟踪,即将目标检测算法的输出当做跟踪算法的输入。、
目标跟踪的本质是关联视频前后帧中的同一物体(目标)。第T帧中有M个检测目标,第T+1帧中有N个检测目标,将前一帧中M个目标和后一帧中N个目标一一关联起来,并赋予唯一标识TrackID。
目标跟踪中的两种方式:
(1)基于目标在画面中的位置来进行数据关联;
(2)提取前后帧中每个目标的图像特征(features),然后根据特征匹配去做数据关联。
4、基于坐标的目标关联
在T+1帧中,根据目标前面若干帧的坐标预测它在本帧中的坐标(预测坐标),然后再将该预测坐标与本帧实际检测的目标坐标进行数据关联。常见的预测算法比如卡尔曼滤波。
5、基于特征的目标关联
前后两帧中挨得近的物体且外观长得比较像的物体为同一目标。
Target Re-Identification(目标重识别),先通过对两个待比较目标进行特征编码,然后再根据两个特征的相似度,来判断这两个目标是否为同一个物体。可以使用神经网络提取得到特征向量,然后使用欧氏距离或者余弦距离计算特征向量之间的相似度。
6、Kcalman Filter
卡尔曼滤波是生成类方法中比较著名的一种,可以基于目标前一时刻的位置,来预测当前时刻的位置。
卡尔曼滤波分为两个步骤,预测(predict)和校正(correct)。预测是基于上一时刻状态估计当前时刻状态,而校正则是综合当前时刻的估计状态与观测状态,估计出最优的状态。
7、Sort
8、DeepSort
参考:https://blog.csdn.net/tudou880306/article/details/106361421
DeepSort是基于Simple online and realtime tracking (SORT)的基础上加入了Deep Apperance Descriptor,也就是加入了一个行人重识别的神经网络模块。有效的改善了遮挡情况下,ID的跳变问题。
(1)运动状态估计
依次为,bounding box的中心坐标,长宽比,高度,其余四个变量表示对应的在图像坐标系中的速度信息。使用一个基于常量速度模型和线性观测模型的标准卡尔曼滤波器进行目标运动状态预测,结果为(u,v,r,h)。
(2)工作过程
- 读取当前帧目标检测框的位置以及各检测框图像块的深度特征;
- 根据置信度对检测框过滤,对置信度不够高的检测框和特征予以删除;
- 对检测框进行非极大抑制,消除一个目标多个框;
- 预测:使用卡尔曼滤波预测目标在当前帧的位置
9、Optical Flow
参考https://blog.csdn.net/qq_41368247/article/details/82562165
光流(Optical flow)是空间运动物体在观察成像平面上像素运动的瞬时速度。
光流法是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系。通常将二维图像平面特定坐标点上的灰度瞬时变化率定义为光流矢量。
所谓光流就是瞬时速度,在时间间隔很小(比如视频的连续前后两帧之间)时,也等同于目标点的位移。