目标跟踪检测算法(四)——多目标扩展

author author     2023-03-13     321

关键词:

参考技术A 姓名:刘帆;学号:20021210609;学院:电子工程学院

https://blog.csdn.net/qq_34919792/article/details/89893665

【嵌牛导读】基于深度学习的算法在图像和视频识别任务中取得了广泛的应用和突破性的进展。从图像分类问题到行人重识别问题,深度学习方法相比传统方法表现出极大的优势。与行人重识别问题紧密相关的是行人的多目标跟踪问题。

【嵌牛鼻子】深度多目标跟踪算法

【嵌牛提问】深度多目标跟踪算法有哪些?

【嵌牛正文】

第一阶段(概率统计最大化的追踪)

1)多假设多目标追踪算法(MHT,基于kalman在多目标上的拓展)

多假设跟踪算法(MHT)是非常经典的多目标跟踪算法,由Reid在对雷达信号的自动跟踪研究中提出,本质上是基于Kalman滤波跟踪算法在多目标跟踪问题中的扩展。

卡尔曼滤波实际上是一种贝叶斯推理的应用,通过历史关联的预测量和k时刻的预测量来计算后验概率:

关联假设的后验分布是历史累计概率密度的连乘,转化为对数形式,可以看出总体后验概率的对数是每一步观察似然和关联假设似然的求和。但是若同时出现多个轨迹的时候,则需要考虑可能存在的多个假设关联。

左图为k-3时刻三个检测观察和两条轨迹的可能匹配。对于这种匹配关系,可以继续向前预测两帧,如图右。得到一种三层的假设树结构,对于假设树根枝干的剪枝,得到k-3时刻的最终关联结果。随着可能性增加,假设组合会爆炸性增多,为此,只为了保留最大关联性,我们需要对其他的节点进行裁剪。下式为选择方程

实际上MHT不会单独使用,一般作为单目标追踪的扩展添加。

2)基于检测可信度的粒子滤波算法

这个算法分为两个步骤:

1、对每一帧的检测结果,利用贪心匹配算法与已有的对象轨迹进行关联。

其中tr表示一个轨迹,d是某一个检测,他们的匹配亲和度计算包含三个部分:在线更新的分类学习模型(d),用来判断检测结果是不是属于轨迹tr; 轨迹的每个粒子与检测的匹配度,采用中心距离的高斯密度函数求和(d-p)表示;与检测尺寸大小相关的阈值函数g(tr,d),表示检测与轨迹尺度的符合程度, 而α是预设的一个超参数。

计算出匹配亲和度矩阵之后,可以采用二部图匹配的Hungarian算法计算匹配结果。不过作者采用了近似的贪心匹配算法,即首先找到亲和度最大的那个匹配,然后删除这个亲和度,寻找下一个匹配,依次类推。贪心匹配算法复杂度是线性,大部分情况下,也能得到最优匹配结果。

2、利用关联结果,计算每个对象的粒子群权重,作为粒子滤波框架中的观察似然概率。

其中tr表示需要跟踪的对象轨迹,p是某个粒子。指示函数I(tr)表示第一步关联中,轨迹tr是不是关联到某个检测结果,当存在关联时,计算与关联的检测d 的高斯密度Pn(p-d );Ctr§是对这个粒子的分类概率;§是粒子通过检测算法得到的检测可信度,(tr)是一个加权函数,计算如下:

3)基于马尔科夫决策的多目标跟踪算法

作者把目标跟踪看作为状态转移的过程,转移的过程用马尔科夫决策过程(MDP)建模。一个马尔科夫决策过程包括下面四个元素:(S, A, T(.),R(.))。其中S表示状态集合,A表示动作集合,T表示状态转移集合,R表示奖励函数集合。一个决策是指根据状态s确定动作a, 即 π: SA。一个对象的跟踪过程包括如下决策过程:

从Active状态转移到Tracked或者Inactive状态:即判断新出现的对象是否是真。

从Tracked状态转移到Tracked或者Lost状态:即判断对象是否是持续跟踪或者暂时处于丢失状态。

从Lost状态转移到Lost或者Tracked或者Inactive状态:即判断丢失对象是否重新被跟踪,被终止,或者继续处于丢失状态。

作者设计了三个奖励函数来描述上述决策过程:

第一个是:

即判断新出现的对象是否为真,y(a)=1时表示转移到跟踪状态,反之转移到终止状态。这是一个二分类问题,采用2类SVM模型学习得到。这里用了5维特征向量:包括x-y坐标、宽、高和检测的分数。

第二个是:

这个函数用来判断跟踪对象下一时刻状态是否是出于继续跟踪,还是处于丢失,即跟踪失败。这里作者用了5个历史模板,每个模板和当前图像块做光流匹配,emedFB表示光流中心偏差, 表示平均重合率。 和 是阈值。

第三个是:

这个函数用来判断丢失对象是否重新跟踪,或者终止,或者保持丢失状态不变。这里当丢失状态连续保持超过 (=50)时,则转向终止,其他情况下通过计算M个检测匹配,来判断是否存在最优的匹配使上式(3-14)奖励最大,并大于0。这里涉及两个问题如何设计特征以及如何学习参数。这里作者构造了12维与模板匹配相关的统计值。而参数的学习采用强化学习过程,主要思想是在犯错时候更新二类分类器值。

第二阶段 深度学习应用

1)基于对称网络的多目标跟踪算法

关于Siamese网络在单目标跟踪深度学习中有了介绍,在这里不再介绍,可以向前参考。

2)基于最小多割图模型的多目标跟踪算法

上述算法中为了匹配两个检测采用LUV图像格式以及光流图像。Tang等人在文献中发现采用深度学习计算的类光流特征(DeepMatching),结合表示能力更强的模型也可以得到效果很好的多目标跟踪结果。

基于DeepMatching特征,可以构造下列5维特征:

其中MI,MU表示检测矩形框中匹配的点的交集大小以及并集大小,ξv和ξw表示检测信任度。利用这5维特征可以学习一个逻辑回归分类器。

同样,为了计算边的匹配代价,需要设计匹配特征。这里,作者采用结合姿态对齐的叠加Siamese网络计算匹配相似度,如图9,采用的网络模型StackNetPose具有最好的重识别性能。

综合StackNetPose网络匹配信任度、深度光流特征(deepMatching)和时空相关度,作者设计了新的匹配特征向量。类似于[2], 计算逻辑回归匹配概率。最终的跟踪结果取得了非常突出的进步。在MOT2016测试数据上的结果如下表:

3)通过时空域关注模型学习多目标跟踪算法

除了采用解决目标重识别问题的深度网络架构学习检测匹配特征,还可以根据多目标跟踪场景的特点,设计合适的深度网络模型来学习检测匹配特征。Chu等人对行人多目标跟踪问题中跟踪算法发生漂移进行统计分析,发现不同行人发生交互时,互相遮挡是跟踪算法产生漂移的重要原因[4]。如图10。

在这里插入图片描述

针对这个问题,文献[4]提出了基于空间时间关注模型(STAM)用于学习遮挡情况,并判别可能出现的干扰目标。如图11,空间关注模型用于生成遮挡发生时的特征权重,当候选检测特征加权之后,通过分类器进行选择得到估计的目标跟踪结果,时间关注模型加权历史样本和当前样本,从而得到加权的损失函数,用于在线更新目标模型。

该过程分三步,第一步是学习特征可见图:

第二步是根据特征可见图,计算空间关注图(Spatial Attention):

其中fatt是一个局部连接的卷积和打分操作。wtji是学习到的参数。

第三步根据空间注意图加权原特征图:

对生成的加权特征图进行卷积和全连接网络操作,生成二元分类器判别是否是目标自身。最后用得到分类打分选择最优的跟踪结果。

4)基于循环网络判别融合表观运动交互的多目标跟踪算法

上面介绍的算法采用的深度网络模型都是基于卷积网络结构,由于目标跟踪是通过历史轨迹信息来判断新的目标状态,因此,设计能够记忆历史信息并根据历史信息来学习匹配相似性度量的网络结构来增强多目标跟踪的性能也是比较可行的算法框架。

考虑从三个方面特征计算轨迹历史信息与检测的匹配:表观特征,运动特征,以及交互模式特征。这三个方面的特征融合以分层方式计算。

在底层的特征匹配计算中,三个特征都采用了长短期记忆模型(LSTM)。对于表观特征,首先采用VGG-16卷积网络生成500维的特征ϕtA,以这个特征作为LSTM的输入计算循环。

对于运动特征,取相对位移vit为基本输入特征,直接输入LSTM模型计算没时刻的输出ϕi,对于下一时刻的检测同样计算相对位移vjt+1,通过全连接网络计算特征ϕj,类似于表观特征计算500维特征ϕm,并利用二元匹配分类器进行网络的预训练。

对于交互特征,取以目标中心位置周围矩形领域内其他目标所占的相对位置映射图作为LSTM模型的输入特征,计算输出特征ϕi,对于t+1时刻的检测计算类似的相对位置映射图为特征,通过全连接网络计算特征ϕj,类似于运动模型,通过全连接网络计算500维特征ϕI,进行同样的分类训练。

当三个特征ϕA,ϕM,ϕI都计算之后拼接为完整的特征,输入到上层的LSTM网络,对输出的向量进行全连接计算,然后用于匹配分类,匹配正确为1,否则为0。对于最后的网络结构,还需要进行微调,以优化整体网络性能。最后的分类打分看作为相似度用于检测与轨迹目标的匹配计算。最终的跟踪框架采用在线的检测与轨迹匹配方法进行计算。

5)基于双线性长短期循环网络模型的多目标跟踪算法

在对LSTM中各个门函数的设计进行分析之后,Kim等人认为仅仅用基本的LSTM模型对于表观特征并不是最佳的方案,在文献[10]中,Kim等人设计了基于双线性LSTM的表观特征学习网络模型。

除了利用传统的LSTM进行匹配学习,或者类似[5]中的算法,拼接LSTM输出与输入特征,作者设计了基于乘法的双线性LSTM模型,利用LSTM的隐含层特征(记忆)信息与输入的乘积作为特征,进行匹配分类器的学习。

这里对于隐含层特征ht-1,必须先进行重新排列(reshape)操作,然后才能乘以输入的特征向量xt。

其中f表示非线性激活函数,mt是新的特征输入。而原始的检测图像采用ResNet50提取2048维的特征,并通过全连接降为256维。下表中对于不同网络结构、网络特征维度、以及不同LSTM历史长度时,表观特征的学习对跟踪性能的影响做了验证。

可以看出采用双线性LSTM(bilinear LSTM)的表观特征性能最好,此时的历史相关长度最佳为40,这个值远远超过文献[5]中的2-4帧历史长度。相对来说40帧历史信息影响更接近人类的直觉。

[ai开发]基于深度学习的视频多目标跟踪实现

据我目前了解掌握,多目标跟踪大概有两种方式:Option1基于初始化帧的跟踪,在视频第一帧中选择你的目标,之后交给跟踪算法去实现目标的跟踪。这种方式基本上只能跟踪你第一帧选中的目标,如果后续帧中出现了新的物体... 查看详情

论文解读sortdeep-sort多目标跟踪算法

前言基于视觉的目标跟踪在智能监控、动作与行为分析、自动驾驶等领域都有重要的应用。例如,在自动驾驶系统中,目标跟踪算法要对运动的车、行人、其他物体的运动进行跟踪,对它们的未来的位置、速度等信息作出预测。... 查看详情

目标跟踪算法

参考技术A一般将目标跟踪分为两个部分:特征提取、目标跟踪算法。其中提取的目标特征大致可以分为以下几种:1)以目标区域的颜色直方图作为特征,颜色特征具有旋转不变性,且不受目标物大小和形状的变化影响,在颜色... 查看详情

目标跟踪(3)multitracker:基于opencv(c++/python)的多目标跟踪

...搜索,而不是全局搜索。因此,我们可以通过每n帧进行目标检测,并在中间帧中跟踪目标,从而为我们的系统获得很高的帧率。那么,为什么不在第一次检测后无限期地跟踪对象呢?跟踪算法有时可能会丢失它正在跟踪的对象... 查看详情

多假设追踪方法mht是啥算法

MHT算法是多假设多目标跟踪算法,这种方法简单来说就是把所有出现的目标都进行跟踪假设,连续跟踪几帧之后,有些假设就站不住脚了,被“剪枝”掉。留下来的就是真实的目标跟踪。显然,这种方法理想情况下表现不错,但... 查看详情

基于二轴云台目标跟踪系统设计

文章目录前言机器学习之前的目标检测研究一、系统总览 上位机及其功能下位机及其功能二、基本方案设计 云台结构设计机器视觉运算需求分析三、目标识别算法与跟踪算法 运用HOG特征结合SVM的目标识别和跟踪算法改进的HOG... 查看详情

交互式多模型-扩展卡尔曼滤波imm-ekf——机动目标跟踪中的应用

交互式多模型-扩展卡尔曼滤波IMM-EKF——机动目标跟踪中的应用原创不易,路过的各位大佬请点个赞针对机动目标跟踪的探讨、技术支持欢迎联系,也可以站内私信WX:ZB823618313机动目标跟踪——交互式多模型算法IMM交互式... 查看详情

运动目标检测跟踪主流算法

不全,需要慢慢补充 一.运动目标检测 (一)背景差 1.帧差2.GMM等 背景减算法可以对背景的光照变化、噪声干扰以及周期性运动等进行建模,在各种不同情况下它都可以准确地检测出运动目标。因此对于固定摄... 查看详情

实时车辆行人多目标检测与跟踪系统-上篇(ui界面清新版,python代码)

...如何利用深度学习中的YOLO及SORT算法实现车辆、行人等多目标的实时检测和跟踪,并利用PyQt5设计了清新简约的系统UI界面,在界面中既可选择自己的视频、图片文件进行检测跟踪,也可以通过电脑自带的摄像头进行实时处理,可... 查看详情

运动对象检测和描述

运动图像检测基于背景减法目标跟踪,背景分割器:KNN、MOG2和GMGBasicmotiondetectionandtrackingwithPythonandOpenCV使用背景减除进行目标检测用OpenCV实现多目标追踪(C++/Python)通过形态学改善图像过滤,追踪人脸,检测前景/背景区域和深度... 查看详情

目标跟踪检测算法(一)——传统方法

...ttps://blog.csdn.net/qq_34919792/article/details/89893214【嵌牛导读】目标跟踪算法研究难点与挑战在于实际复杂的应用环境、背景相似干扰、光照条件的变化、遮挡等外界因素以及目标姿态变化,外观变形,尺度变化、平面外旋转、平面内... 查看详情

多目标跟踪算法简述——量测-航机关联

多目标跟踪算法简述——量测-航机关联原创不易,路过的各位大佬请点个赞针对机动目标跟踪的探讨、技术支持欢迎联系,也可以站内私信WX:ZB823618313多目标跟踪算法简述——量测-航机关联多目标跟踪算法简述——量测-... 查看详情

交互式多模型算法imm——机动目标跟踪中的应用

机动目标跟踪——交互式多模型算法IMM原创不易,路过的各位大佬请点个赞WX:ZB823618313机动目标跟踪——交互式多模型算法IMM机动目标跟踪——交互式多模型算法IMM1.对机动目标跟踪的理解2.机动目标跟踪方法概述3.交互式多... 查看详情

多目标跟踪算法|deepsort(代码片段)

前言本文分享多目标跟踪算法的经典算法DeepSort,它是一个两阶段的算法,达到实时跟踪效果,曾被应用于工业开发。DeepSort是基于Sort目标跟踪进行的改进,它引入深度学习模型,在实时目标跟踪过程中,... 查看详情

[ai开发]视频多目标跟踪高级版(离自动驾驶又‘近’了一点点)

**本文恐怕不是完全的标题党**视频多目标跟踪需要解决的关键点是前后两帧之间的TargetAssociation,这是最难的环节(没有之一)。第T帧检测到M个目标,第T+S(S>=1)帧检测到N个目标,怎样将这M*N对目标正确地关联起来,是“... 查看详情

扩展卡尔曼滤波ekf—目标跟踪中的应用(算法部分)(代码片段)

扩展卡尔曼滤波EKF—目标跟踪中的应用(算法部分)原创不易,路过的各位大佬请点个赞机动目标跟踪/非线性滤波/传感器融合/导航等探讨代码联系WX:ZB823618313仿真部分见博客:扩展卡尔曼滤波EKF—目标跟踪中的应用(仿真部... 查看详情

多目标跟踪匈牙利-卡尔曼滤波算法

查看详情

目标跟踪与检测技术介绍

基于有限集统计学理论的目标跟踪技术研究综述杨威,付耀文,龙建乾,... - 《电子学报》 - 2012 - 被引量: 31有限集统计学理论为杂波背景下的目标跟踪问题提供了一种工程友好的理论工具.对近年来基... 查看详情