0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深度学习:多目标跟踪方向调研报告

新机器视觉 来源:新机器视觉 作者:Harlek@知乎 2020-11-05 10:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

导读

本文是一篇多目标跟踪方向的调研报告,从相关方向、核心步骤、评价指标和最新进展等维度出发,对MOT进行了全面的介绍,不仅适合作为入门科普,而且能够帮助大家加深理解。

最近做了一些多目标跟踪方向的调研,因此把调研的结果以图片加文字的形式展现出来,希望能帮助到入门这一领域的同学。也欢迎大家和我讨论关于这一领域的任何问题。

相关方向

这些是我所了解的多目标跟踪(MOT)的一些相关方向。其中单目标跟踪(VOT/SOT)、目标检测(detection)、行人重识别(Re-ID)都是非常热门的方向。而偏视频的相关方向就比较冷门。而且今年五月DukeMTMC因为隐私问题不再提供MTMCT的数据了,MTMCT的研究也是举步维艰。

核心步骤

MOT算法的通常工作流程:(1)给定视频的原始帧;(2)运行对象检测器以获得对象的边界框;(3)对于每个检测到的物体,计算出不同的特征,通常是视觉和运动特征;(4)之后,相似度计算步骤计算两个对象属于同一目标的概率;(5)最后,关联步骤为每个对象分配数字ID。

因此绝大多数MOT算法无外乎就这四个步骤:①检测 ②特征提取、运动预测 ③相似度计算 ④数据关联。 其中影响最大的部分在于检测,检测结果的好坏对于最后指标的影响是最大的。 但是,多目标追踪的研究重点又在相似度计算和数据关联这一块。所以就有一个很大的问题:你设计出更好的关联算法可能就提升了0.1个点,但别人用一些针对数据集的trick消除了一些漏检可能就能涨好几个点。所以研究更好的数据关联的回报收益很低。因此多目标追踪这一领域虽然工业界很有用,但学术界里因为指标数据集的一些原因,入坑前一定要三思。

评价指标

关于评价指标: 第一个是传统的标准,现在已经没人用了,就不介绍了。 第二个是06年提出的CLEAR MOT。现在用的最多的就是MOTA。但是这个指标FN、FP的权重占比很大,更多衡量的是检测的质量,而不是跟踪的效果。 第三个是16年提出的ID scores。因为都是基于匹配的指标,所以能更好的衡量数据关联的好坏。

数据集

数据集用的最多的是MOTChallenge,专注于行人追踪的。 第二个KITTI的是针对自动驾驶的数据集,有汽车也有行人,在MOT的论文里用的很少。 还有一些其他比较老的数据集现在都不用了。 15年的都是采集的老的数据集的视频做的修正。 16年的是全新的数据集,相比于15年的行人密度更高、难度更大。特别注意这个DPM检测器,效果非常的差,全是漏检和误检。 17年的视频和16年一模一样,只是提供了三个检测器,相对来说更公平。也是现在论文的主流数据集。 19年的是针对特别拥挤情形的数据集,只有CVPR19比赛时才能提交。

这个是MOT16公开检测器上的结果。可以看到从17年开始,MOTA就涨的很慢了。关注一下这个帧率有20Hz的算法MOTDT也是我后面要讲的一个。

这个是MOT16私有检测器上的结果。可以看到检测器性能的好坏对于结果的影响非常重要。SOTA算法换了私有检测器后性能直接涨了快20个点。

这个是MOT17公开检测器上这几年比较突出的算法。注意因为这个数据集用了三个检测器,所以FP、FN这些指标也都几乎是16数据集的三倍。

SORT和DeepSORT

关键算法

从这两个工业界关注度最高的算法说起。 SORT作为一个粗略的框架,核心就是两个算法:卡尔曼滤波和匈牙利匹配。卡尔曼滤波分为两个过程:预测和更新。预测过程:当一个小车经过移动后,且其初始定位和移动过程都是高斯分布时,则最终估计位置分布会更分散,即更不准确;更新过程:当一个小车经过传感器观测定位,且其初始定位和观测都是高斯分布时,则观测后的位置分布会更集中,即更准确。匈牙利算法解决的是一个分配问题。SK-learn库的linear_assignment___和scipy库的linear_sum_assignment都实现了这一算法,只需要输入cost_matrix即代价矩阵就能得到最优匹配。

不过要注意的是这两个库函数虽然算法一样,但给的输出格式不同。具体算法步骤也很简单,是一个复杂度的算法。 DeepSORT的优化主要就是基于匈牙利算法里的这个代价矩阵。它在IOU Match之前做了一次额外的级联匹配,利用了外观特征和马氏距离。外观特征就是通过一个Re-ID的网络提取的,而提取这个特征的过程和NLP里词向量的嵌入过程(embedding)很像,所以后面有的论文也把这个步骤叫做嵌入(起源应该不是NLP,但我第一次接触embedding是从NLP里)。然后是因为欧氏距离忽略空间域分布的计算结果,所以增加里马氏距离作为运动信息的约束。

SORT

这个SORT的流程图非常重要,可以看到整体可以拆分为两个部分,分别是匹配过程和卡尔曼预测加更新过程,都用灰色框标出来了。一定要把整个流程弄明白。后面的多目标追踪的大框架基本都由此而来。 关键步骤:轨迹卡尔曼滤波预测→ 使用匈牙利算法将预测后的tracks和当前帧中的detecions进行匹配(IOU匹配) → 卡尔曼滤波更新对于没有匹配上的轨迹,也不是马上就删掉了,有个T_lost的保存时间,但SORT里把这个时间阈值设置的是1,也就是说对于没匹配上的轨迹相当于直接删了。 关于这点论文里的原话是:

首先,恒定速度模型不能很好地预测真实的动力学,其次,我们主要关注的是帧到帧的跟踪,其中对象的重新识别超出了本文的范围。

这篇文章的机翻在《SORT》论文翻译

DeepSORT

这是DeepSORT算法的流程图,和SORT基本一样,就多了级联匹配(Matching Cascade)和新轨迹的确认(confirmed)。 这篇文章的机翻在《DeepSORT》论文翻译 关键步骤:轨迹卡尔曼滤波预测→ 使用匈牙利算法将预测后的tracks和当前帧中的detecions进行匹配(级联匹配和IOU匹配) → 卡尔曼滤波更新级联匹配是核心,就是红色部分,DeepSORT的绝大多数创新点都在这里面,具体过程看下一张图。 关于为什么新轨迹要连续三帧命中才确认?个人认为有这样严格的条件和测试集有关系。因为测试集给的检测输入非常的差,误检有很多,因此轨迹的产生必须要更严格的条件。

级联匹配流程图里上半部分就是特征提取和相似度估计,也就是算这个分配问题的代价函数。主要由两部分组成:代表运动模型的马氏距离和代表外观模型的Re-ID特征。 级联匹配流程图里下半部分数据关联作为流程的主体。为什么叫级联匹配,主要是它的匹配过程是一个循环。从missing age=0的轨迹(即每一帧都匹配上,没有丢失过的)到missing age=30的轨迹(即丢失轨迹的最大时间30帧)挨个的和检测结果进行匹配。也就是说,对于没有丢失过的轨迹赋予优先匹配的权利,而丢失的最久的轨迹最后匹配。 论文关于参数λ(运动模型的代价占比)的取值是这么说的:

在我们的实验中,我们发现当相机运动明显时,将λ= 0设置是一个合理的选择。

因为相机抖动明显,卡尔曼预测所基于的匀速运动模型并不work,所以马氏距离其实并没有什么作用。但注意也不是完全没用了,主要是通过阈值矩阵(Gate Matrix)对代价矩阵(Cost Matrix)做了一次阈值限制。 关于DeepSORT算法的详细代码解读我比较推荐:目标跟踪初探(DeepSORT) 但关于卡尔曼滤波的公式讲的不是很详细,具体推导可以看看 Kalman Filter 卡尔曼滤波

改进策略

看到这个DeepSORT的流程图不知道大家可以想到什么优化的地方?其实有几个点是很容易想到的。

第一点,把Re-ID网络和检测网络融合,做一个精度和速度的trade off; 第二点,对于轨迹段来说,时间越长的轨迹是不是更应该得到更多的信任,不仅仅只是级联匹配的优先级,由此可以引入轨迹评分的机制; 第三点,从直觉上来说,检测和追踪是两个相辅相成的问题,良好的追踪可以弥补检测的漏检,良好的检测可以防止追踪的轨道飘逸,用预测来弥补漏检这个问题在DeepSORT里也并没有考虑; 第四点,DeepSORT里给马氏距离也就是运动模型设置的系数为0,也就是说在相机运动的情况下线性速度模型并不work,所以是不是可以找到更好的运动模型。

最新进展

这是最近比较新的一些方法。 工业界青睐的算法在学术界其实并不重视,一方面是因为开源的原因,另一方面可以看到顶会的算法都不是注重速度的,通常用了很复杂的模块和trick来提升精度。 而且这些trick不是一般意义的trick了,是针对这个数据集的或者说针对糟糕检测器的一些trick, 对于实际应用几乎没有帮助。 第一篇论文是基于DeepSORT改进的,它的创新点在于引入了轨迹评分机制,时间越久的轨迹可信度就越高,基于这个评分就可以把轨迹产生的预测框和检测框放一起做一个NMS,相当于是用预测弥补了漏检。 第二篇论文是今年9月份发在arxiv上的一篇论文,它的工作是把检测网络和嵌入网络结合起来,追求的是速度和精度的trade off。

MOTDT

这是刚才列举的第一篇论文(MOTDT)的流程图,大概和DeepSORT差不多。这个图画的比较简单,其实在NMS之前有个基于SqueezeNet的区域选择网络R-FCN和轨迹评分的机制。这两个东西的目的就是为了产生一个统一检测框和预测框的标准置信度,作为NMS的输入。 这篇文章的翻译在《Real-Time Multiple People Tracking With Deeply Learned Candidate Selection And Person Re-ID》论文翻译

JDE

这是刚才第二篇论文(JDE)里的结构图。这个方法是基于YOLOv3和MOTDT做的。它网络前面都和YOLOv3一样的,主要就是在特征图里多提取了一个嵌入(embedding)向量,采取的是类似于交叉熵的triplet loss。因为是多任务学习,这篇论文还用了一篇18年的论文提出来的自动学习损失权重方案:通过学习一组辅助参数自动地对非均匀损失进行加权。最后的结果是精度上差不太多,FPS高了很多。 这篇文章的翻译在 《Towards Real-Time Multi-Object Tracking》论文翻译

未来展望

最后用多目标追踪未来的一些思考作为结尾,这句话是最近的一篇关于多目标追踪的综述里的。 它在最后提出对未来的方向里有这样一句话,用深度学习来指导关联问题。其实现在基于检测的多目标追踪都是检测模块用深度学习,Re-ID模块用深度学习,而最核心的数据关联模块要用深度学习来解决是很困难的。现在有一些尝试是用RNN,但速度慢、效果不好,需要走的路都还很长。 我个人觉得短期内要解决实际问题,还是从Re-ID的方面下手思考怎样提取更有效的特征会更靠谱,用深度学习的方法来处理数据关联不是短时间能解决的。

参考文献:[1] Alex Bewley, Zongyuan Ge, Lionel Ott, Fabio Ramos, and Ben Upcroft. Simple online and realtime tracking. In2016 IEEE International Conference on Image Processing (ICIP), pages 3464–3468. IEEE, 2016. [2] Nicolai Wojke, Alex Bewley, and Dietrich Paulus. Simple online and realtime tracking with a deep associationmetric. In2017 IEEE International Conference on Image Processing (ICIP), pages 3645–3649. IEEE, 2017. [3] Chen Long, Ai Haizhou, Zhuang Zijie, and Shang Chong. Real-time multiple people tracking with deeplylearned candidate selection and person re-identification. InICME, 2018. [4] Zhongdao Wang, Liang Zheng, Yixuan Liu, Shengjin Wang. Towards Real-Time Multi-Object Tracking. arXiv preprint arXiv:1909.12605 [5] Gioele Ciaparrone, Francisco Luque Sánchez, Siham Tabik, Luigi Troiano, Roberto Tagliaferri, Francisco Herrera. Deep Learning in Video Multi-Object Tracking: A Survey. arXiv preprint arXiv:1907.12740

责任编辑:xj

原文标题:基于深度学习的多目标跟踪(MOT)技术一览

文章出处:【微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4760

    浏览量

    97142
  • 目标跟踪
    +关注

    关注

    2

    文章

    89

    浏览量

    15249
  • 深度学习
    +关注

    关注

    73

    文章

    5590

    浏览量

    123900

原文标题:基于深度学习的多目标跟踪(MOT)技术一览

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    预告 多目标追踪24G雷达传感

    在智能家居、智慧商业、物联网设备日益普及的今天,精准、可靠的人体感知与定位技术成为产品智能化的核心。深圳市海凌科电子有限公司正式推出HLK-LD2453高精度多目标识别毫米波雷达传感器,以毫米波技术
    的头像 发表于 12-01 11:08 306次阅读
    预告 <b class='flag-5'>多目标</b>追踪24G雷达传感

    如何在机器视觉中部署深度学习神经网络

    图 1:基于深度学习目标检测可定位已训练的目标类别,并通过矩形框(边界框)对其进行标识。 在讨论人工智能(AI)或深度
    的头像 发表于 09-10 17:38 692次阅读
    如何在机器视觉中部署<b class='flag-5'>深度</b><b class='flag-5'>学习</b>神经网络

    【开发实例】基于GM-3568JHF开发板安装OpenCV并使用视频目标跟踪 ( CamShift)

    在计算机视觉领域,视频目标跟踪是一个非常重要的任务。视频目标跟踪广泛应用于监控、自动驾驶、人机交互等多个领域。OpenCV提供了多种目标
    的头像 发表于 09-02 08:04 460次阅读
    【开发实例】基于GM-3568JHF开发板安装OpenCV并使用视频<b class='flag-5'>目标</b><b class='flag-5'>跟踪</b> ( CamShift)

    【GM-3568JHF开发板免费体验】OpenCV 视频目标跟踪 ( CamShift)

    Adaptive MeanShift)算法是 MeanShift 的改进版本,它通过自适应调整窗口大小来更好地跟踪目标。CamShift 算法在 MeanShift 的基础上增加了窗口大小和方向
    发表于 08-09 13:19

    基于RK3576开发板的yolov11-track多目标跟踪部署教程

    1.yolov11_track简介(多目标跟踪算法)YOLO11是UltralyticsYOLO系列实时物体检测器的最新版本,重新定义了在尖端准确度、速度和效率方面的可能性。在前几代YOLO版本
    的头像 发表于 07-25 15:21 1225次阅读
    基于RK3576开发板的yolov11-track<b class='flag-5'>多目标</b><b class='flag-5'>跟踪</b>部署教程

    【HarmonyOS NEXT】多目标产物构建实践

    : string = BuildProfile.baseApiUrl ![](<> \"点击并拖拽以移动\") 参考文章 配置APP多目标构建产物 ​
    发表于 05-16 16:22

    分时电价下光伏园区电动汽车有序充电多目标优化策略

    安科瑞徐赟杰18706165067 摘要:   以配电网负荷方差和用户充电费用为目标函数,提出一种分时电价 背景下光伏出力园区电动汽车的有序充电策略。以多目标优化遗传算法对某一特定 主 园区
    的头像 发表于 04-18 09:07 619次阅读
    分时电价下光伏园区电动汽车有序充电<b class='flag-5'>多目标</b>优化策略

    分时电价下光伏园区电动汽车有序充电多目标优化政策研究

    摘要: 技术支持 187 0211 2087 以配电网负荷方差和用户充电费用为目标函数,提出一种分时电价 背景下光伏出力园区电动汽车的有序充电策略。以多目标优化遗传算法对某一特定 主 园区内电动汽车
    的头像 发表于 04-07 10:48 652次阅读
    分时电价下光伏园区电动汽车有序充电<b class='flag-5'>多目标</b>优化政策研究

    新款24G两发四收带蓝牙多目标人体轨迹跟踪雷达模块

    海凌科全新推出HLK-LD2460雷达模块,主要应用于多目标运动轨迹感知,集人体存在、人数统计、实时测距、运动方位感知等功能于一体,感应范围6米,自带BLE5.3蓝牙功能,预计3月内发售,首发价限量
    的头像 发表于 03-17 12:06 850次阅读
    新款24G两发四收带蓝牙<b class='flag-5'>多目标</b>人体轨迹<b class='flag-5'>跟踪</b>雷达模块

    无人机低延时目标跟踪识别智算系统

    计算资源,轻松应对复杂的运算任务。其内置的NPU(神经网络处理器)具有6 TOPS的算力,支持多种混合运算,适用于人工智能和深度学习领域,能够进行人脸识别、目标检测、语音识别等任务。 (三)主芯片图形
    发表于 03-06 15:48

    使用RTSP摄像头执行多摄像头多目标Python演示,缺少输出帧是怎么回事?

    使用 RTSP 摄像头执行 多摄像头多目标 Python 演示 。 现场视频每 5 秒出现一次启动和抖动,但帧缺失。 输出生产低 FPS (1 至 0.3 FPS)。 人员检测发生在各种位置,因为实时视频缺少帧。
    发表于 03-06 07:55

    军事应用中深度学习的挑战与机遇

    人工智能尤其是深度学习技术的最新进展,加速了不同应用领域的创新与发展。深度学习技术的发展深刻影响了军事发展趋势,导致战争形式和模式发生重大变化。本文将概述
    的头像 发表于 02-14 11:15 818次阅读

    百度深度学习专利申请量位列全球第一

    近日,全球领先的知识产权解决方案提供商Questel,发布全球深度学习专利全景报告
    的头像 发表于 01-15 09:29 818次阅读

    浅谈多目标优化约束条件下充电设施有序充电控制策略

    随着电动汽车的普及,充电设施的需求日益增长,如何在多目标优化约束下实现充电设施的有序充电成为亟待解决的问题。新能源汽车的快速发展为清洁能源和可持续交通带来了新机遇,但也引出了许多问题。其中,充电设施的有序充电控制策略在多目标优化约束条件下显得尤为重要。
    的头像 发表于 01-07 13:17 821次阅读
    浅谈<b class='flag-5'>多目标</b>优化约束条件下充电设施有序充电控制策略