智慧交通day02-车流量检测实现02:多目标追踪

简介: 多目标跟踪,即MOT(Multi-Object Tracking),也就是在一段视频中同时跟踪多个目标。MOT主要应用在安防监控和自动驾驶等领域中。

1.多目标跟踪分类


多目标跟踪,即MOT(Multi-Object Tracking),也就是在一段视频中同时跟踪多个目标。MOT主要应用在安防监控和自动驾驶等领域中。


2b6920ebe38b478fa78ef5cb3424def8.png

826e12ad680446d5ba92fc03eab741a3.png


1.1 初始化方法


多目标跟踪,即MOT(Multi-Object Tracking)问题中并不是所有目标都会在第一帧出现,也并不是所有目标都会出现在每一帧。那如何对出现的目标进行初始化,可以作为跟踪算法的分类表针。常见的初始化方法分为两大类,一个是Detection-Based-Tracking(DBT),一个是Detection-Free-Tracking(DFT)。下图比较形象地说明了两类算法的区别。


1901eca2ea89424ebcfe5865bfc55253.png


  • DBT


DBT的方式就是典型的tracking-by-detection模式,即先检测目标,然后将目标关联进入跟踪轨迹中。那么就存在两个问题,第一,该跟踪方式非常依赖目标检测器的性能,第二,目标检测的实质是分类和回归,即该跟踪方式只能针对特定的目标类型,如:行人、车辆、动物。DBT则是目前业界研究的主流。


  • DFT


DFT是单目标跟踪领域的常用初始化方法,即每当新目标出现时,人为告诉算法新目标的位置,这样做的好处是target free,坏处就是过程比较麻烦,存在过多的交互,所以DBT相对来说更受欢迎。


1.2 处理模式


多目标跟踪,即MOT(Multi-Object Tracking)也存在着不同的处理模式,Online和Offline两大类,其主要区别在于是否用到了后续帧的信息。下图形象解释了Online与Offline跟踪的区别。


cb76de185a084bb8928e405ff9055bb4.png


  • Online Tracking


Online Tracking是对视频帧逐帧进行处理,当前帧的跟踪仅利用过去的信息。


  • Offline Tracking


Offline Tracking利用前后视频帧的信息对当前帧进行目标跟踪,这种方式只适用于视频,如果应用于摄像头,则会有滞后效应,通常采用时间窗方式进行处理,以节省内存和加速。


2.运动模型


为了简化多目标跟踪的难度,我们引入运动模型类简化求解过程,运动模型捕捉目标的动态行为它估计目标在未来帧中的潜在位置,从而减少搜索空间。在大多数情况下,假设目标在现实中是平缓运动的,那么在图像空间也是如此。对于车辆的运动,大致可分为线性和非线性两种运动:


  • 线性运动:线性运动模型是目前最主流的模型,即假设目标的运动属性平稳(速度,加速度,位置);


  • 非线性运动:虽然线性运动模型比较常用,但由于存在它解决不了的问题,非线性运动模型随之诞生。它可以使tracklets间运动相似度计算得更加准确。


3.跟踪方法


多目标跟踪中基于神经网络的算法,端到端的算法并不多,主要还在实验室的刷榜阶段,模型复杂,速度慢,追踪结果也不好,主要给介绍以下两种主流的算法:


b95bc4024695425ebf20f9ad0e2f60a3.png


3.1 基于Kalman和KM算法的后端优化算法


该类算法能达到实时性,但依赖于检测算法效果要好,特征区分要好(输出最终结果的好坏依赖于较强的检测算法,而基于卡尔曼加匈牙利匹配的追踪算法作用在于能够输出检测目标的id,其次能保证追踪算法的实时性),这样追踪效果会好,id切换少,其代表性的算法是SORT/DeepSORT。


241d360152b84dc5beef645121aed984.png


SORT 是一种实用的多目标跟踪算法,引入了线性速度模型与卡尔曼滤波来进行位置预测,在无合适匹配检测框的情况下,使用运动模型来预测物体的位置。


匈牙利算法是一种寻找二分图的最大匹配的算法,在多目标跟踪问题中可以简单理解为寻找前后两帧的若干目标的匹配最优解的一种算法。


卡尔曼滤波可以看作是一种运动模型,用来对目标的轨迹进行预测,并且使用确信度较高的跟踪结果进行预测结果的修正。


多目标追踪一般接在目标检测后。在工业界目标检测采用比较多的是YOLO检测网络,单阶段式,速度快,精度不差,部署在NV的平台帧率可以达到30fps以上。


所以要实现目标检测代码和多目标追踪代码集成的任务,需要将两者的框架统一。即先实现目标检测网络,检测的输出结果主要是将检测框的位置信息输入到多目标追踪算法中。


3.2 基于多线程的单目标跟踪的多目标跟踪算法


这类算法特点是跟踪效果会很好,因为其为每一类物体都单独分配了一个跟踪器。但该算法对目标尺度变化要求较大,参数调试需要合理,同时该算法极耗cpu资源,实时性不高,代表算法是利用KCF进行目标跟踪。


多目标追踪本质上是多个目标同时运动的问题,所以有提出将单目标跟踪器引入到多目标追踪的问题,为每一个目标分配一个跟踪器,然后间接地使用匹配算法来修正那些跟踪失败或新出现的目标。代表性的单目标跟踪算法为核相关滤波算法(KCF),在精度和速度上能够同时达到很高的水平,是当时单目标跟踪最优秀的算法之一,后来的很多单目标跟踪算法都是基于此做的改进。


实际应用过程中会为每个目标分配一个KCF跟踪器并采用多线程的方式组织这些跟踪器。同时因为实际硬件条件的限制,不可能提供强大的计算力资源,会采用检测器与跟踪器交替进行的跟踪策略。由于检测的帧率不高,使得跟踪的维持效果出现滞后或框飘的现象较为严重,实用性不大。


总结:


1.多目标跟踪,即MOT(Multi-Object Tracking),在一段视频中同时跟踪多个目标


  • 基于初始化方法:


  • DBT:基于检测的目标跟踪方法
  • DFT:每当新目标出现时,人为告诉算法新目标的位置


  • 基于处理模型的方法:


  • 离线处理:利用前后视频帧的信息对当前帧进行目标跟踪
  • 在线处理:对视频帧逐帧进行处理,当前帧的跟踪仅利用过去的信息


  • 运动模型


线性运动(常用)和非线性运动


  • 常用算法:


  • 基于Kalman和KM算法的后端优化算法


  • 和基于多线程的单目标跟踪的多目标跟踪算法
目录
相关文章
|
传感器 安全 前端开发
井下空气质量检测预警系统学习
随着现代化煤矿深入开采,井下空气质量监测已成为重要的安全问题。煤矿通常有大量地瓦斯、煤尘等气体,如果空气质量不良,无疑会给矿工的健康和安全带来极大的威胁。因此,煤矿必须配备有效的井下空气质量检测预警系统,用来监测空气质量,预警可能的问题,为矿工提供更安全的工作环境。
井下空气质量检测预警系统学习
|
编解码 计算机视觉 智慧交通
智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamRPN++(2019)
严格的平移不变性只存在于无填充网络中,如AlexNet。以前基于孪生的网络设计为浅层网络,以满足这一限制。然而,如果所使用的网络被ResNet或MobileNet等现代网络所取代,填充将不可避免地使网络变得更深,从而破坏了严格的平移不变性限制,不能保证物体最后的heatmap集中于中心。
169 0
智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamRPN++(2019)
|
机器学习/深度学习 算法 智慧交通
智慧交通day04-特定目标车辆追踪02:Siamese网络+单样本学习
Siamese network就是“连体的神经网络”,神经网络的“连体”是通过共享权值来实现的,如下图所示。共享权值意味着两边的网络权重矩阵一模一样,甚至可以是同一个网络。
146 0
智慧交通day04-特定目标车辆追踪02:Siamese网络+单样本学习
|
算法 计算机视觉 智慧交通
智慧交通day02-车流量检测实现10:多目标追踪实现
该方法实现了SORT算法,输入是当前帧中所有物体的检测框的集合,包括目标的score,输出是当前帧标的跟踪框集合,包括目标的跟踪的id要求是即使检测框为空,也必须对每一帧调用此方法,返回一个类似的输出数组,最后一列是目标对像的id。
132 0
|
算法 计算机视觉 智慧交通
智慧交通day02-车流量检测实现04:卡尔曼滤波器
卡尔曼滤波(Kalman)无论是在单目标还是多目标领域都是很常用的一种算法,我们将卡尔曼滤波看做一种运动模型,用来对目标的位置进行预测,并且利用预测结果对跟踪的目标进行修正,属于自动控制理论中的一种方法。
204 0
|
机器学习/深度学习 Web App开发 BI
智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamFC(2016)
SiamFC采用了全卷积式的Siamese网络实现目标跟踪,其网络结构如下图所示,具有两个权值共享的分支。其中,z为127×127的模板图像相当于要追踪的目标,x为255×255的搜索图像,我们要完成的就是在x中找到z的位置。
187 0
|
计算机视觉 智慧交通
智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamMask(2019)
与普通的视频跟踪网络不同的是,SiamMask可以同时完成视频跟踪和实例级分割的任务。如下图所示,与传统的对象跟踪器一样,依赖于一个简单的边界框初始化(蓝色)并在线操作。与ECO(红色)等最先进的跟踪器不同,SiamMask(绿色)能够生成二进制分割,从而更准确地描述目标对象。
180 0
|
机器学习/深度学习 计算机视觉 智慧交通
智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-汇总
Siamese网络衡量两个输入的相似程度,输出是一个[0,1]的浮点数,表示二者的相似程度。孪生神经网络有两个输入(Input1 and Input2),将两个输入feed进入两个神经网络(Network1 and Network2),这两个神经网络分别将输入映射到新的空间,形成输入在新的空间中的表示。通过Loss的计算,评价两个输入的相似度。
115 0
|
数据挖掘 计算机视觉 智慧交通
智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamRPN(2017)
Siam-RPN提出了一种基于RPN的孪生网络结构,由孪生子网络和RPN网络组成,前者用来提取特征,后者用来产生候选区域。其中,RPN子网络由两个分支组成,一个是用来区分目标和背景的分类分支,另外一个是微调候选区域的回归分支,使整个网络实现了端到端的训练。
146 0
|
算法 计算机视觉 智慧交通
智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-DaSiamRPN(2018)
DaSiamRPN网络的全称为Distractor-aware SiamRPN,是基于SiamRPN网络结构,提出更好的使用数据,针对跟踪过程的干扰物,利用更好的训练方式是跟踪更加的鲁棒。
125 0