A Hybrid Data Association Framework for Robust Online Multi-Object Tracking

一种用于鲁棒在线多目标跟踪的混合数据关联框架

摘要

全局优化算法在基于数据关联的多目标跟踪中表现出了令人印象深刻的性能,但处理在线数据仍然是一个难以克服的障碍。在本文中,我们提出了一个混合数据关联框架,其中包含最小成本的多商品网络流。强大的在线多目标跟踪。我们通过多个视频帧上的最佳数据关联的全局优化来构建本地特定于目标的模型。更具体地,在最低成本多商品网络流中,在线学习目标特定相似性以强制本地一致性以降低全局数据关联的复杂性。同时,考虑多个视频帧的全局数据关联减轻了由相邻帧之间的本地数据关联引起的不可恢复的错误。为了确保在线跟踪的效率,我们为提出的最小成本多商品流问题提供了一种有效的近似最优解,并提供了其次优性的经验证明。对真实数据的综合实验证明了我们的方法在各种挑战性情况下的卓越跟踪性能。指标术语 - 多目标跟踪,数据关联,优化,多商品流程。

1.导言

在线多目标跟踪是估计在线视频流中多个对象的时空轨迹(即,视频是逐帧提供的),这是许多实时应用(如视频)的基本问题。 监视,自动驾驶和机器人导航。 假设物体检测器可用于检测每个帧中的多个物体的潜在位置,因此跟踪问题被简化为数据关联过程,该过程将这些单独的检测联系起来以形成一致的轨迹。

在许多情况下,数据关联是一个具有挑战性的问题,特别是在复杂的场景中,由于存在遮挡,不准确的检测以及类似外观的对象之间的相互作用。用于数据关联的标准方法是逐帧递归地链接检测[1],[2],[3],[4],[5],[6],[7],[8],从而产生双向分类如图1(a)所示,在现有轨迹和新获得的检测之间进行匹配。这些方法在时间上是局部的并且计算效率高,使得它们适合于在线设置。但是,仅使用本地信息进行数据关联可能会在未检测到对象或与混乱混淆时导致无法恢复的错误。为了克服这个缺点,整个视频帧(或一批帧)的全局数据关联一直致力于推断最佳轨迹[9],[10],[11],[12],[13],[14] ,[15],[16],[17],如图1(b)所示。这种数据关联问题可以在具有精心设计的成本函数的优化框架中解决。遗憾的是,全局关联方法无法直接应用于在线视频流。重叠时间窗口是处理在线数据的常用选择[10],[12],[13],但连续批次之间的连接仍然是一个悬而未决的问题。

在本文中,我们提出了一种用于在线多目标跟踪的混合数据关联框架,它表征了本地和全局数据关联方法的优势。 我们方法的核心在于现有轨迹与时间窗内多个视频帧的检测之间的关联,如图1(c)所示。 我们利用小成本多商品流程,该流程相对于由多个帧的检测构建的成本流网络。 所提出的迷你成本多商品网络能够制定混合数据关联策略,以通过有效的近似最优解决方案处理在线数据。

在我们的框架中,具体地,检测之间的所有可能的关联由网络中的边缘表示,其中相应的边缘成本考虑了关联可能性。 然后,假定每个现有轨迹是特定商品,并且可以通过以最小成本通过网络发送特定商品流来找到其最佳关联。 为此,需要研究以下三个挑战:(i)自动识别新出现的物体; (ii)计算不同商品的边际成本; (iii)有效地解决最低成本的多商品流动问题。 通过应对这些挑战,我们带来了 以下三个贡献:

•我们在网络中引入虚拟商品以自动识别新对象。 虚拟商品对应于与目标无关的模型,其商品流指示在时间窗口中新出现的对象的允许轨迹。 •我们提出了一种在线判别外观建模方法,用于为不同的现有轨迹构建特定目标模型。 通过利用特定于目标的信息来区分特定目标与其他目标和背景,来估计网络中多种商品的边缘成本。 •我们针对最小成本的多商品流问题提出了近似最优解算法,并提供了其次优性的经验证明。 通过使用重新制定和列生成策略,我们的解决方案非常高效,并且在多目标跟踪方面表现出色。

所提出的混合策略提供优于现有方法的若干优点。 首先,它使轨迹的全局优化适用于在线数据。 连续帧之间的本地关联被扩展以考虑更多来自多个框架的假设。 可以减轻由噪声检测或频繁遮挡引起的不可恢复的错误,以改善在线跟踪性能。 其次,来自现有轨迹的特定于目标的信息被明确地建模以指导当前批帧上的全局优化。 在实践中,它强制执行局部约束以降低优化问题的复杂性,因为相关联的检测被限制为与特定于目标的模型一致。 我们认为,由于其效率和性能,本文中描述的技术具有广泛的兴趣。 提供定性解释和实验确认以支持该声明。

本文的其余部分安排如下。 第二节回顾了相关工作。 在第三部分中,我们描述了使用混合数据关联的在线多目标跟踪方法的细节,包括最低成本的多商品流量计算及其边缘成本。 第四节介绍了我们模型的全局最优解。 我们在第五节报告和讨论实验结果,并总结论文 在第六节。

2.相关工作

在多目标跟踪中,基于数据关联的方法属于称为逐个检测技术的子域,其在无约束环境中表现出令人印象深刻的跟踪性能。在[18]中可以找到彻底的评论。如第一部分所示,当地的协会方法引起了相当多的研究兴趣。特别是随着计算机视觉社区中递归神经网络(RNN)的成功[19],基于RNN的方法已经见证了MOT问题的显着进步。基于Ondruska和Posner [20]引入的先驱工作,基于RNNs的方法很快引起了对当地协会建模的重大兴趣,并启发了许多扩展,包括[21],[22],[23]。然而,在模型训练和推理期间,RNN通常具有高计算和存储器需求。我们在这里介绍明确地将地点强制执行到全局数据关联公式中,并引入混合数据关联框架,该框架能够集成本地和全局关联方法的优点。

维护全局数据关联的位置对于多对象跟踪性能至关重要,因为全局优化可能对于复杂场景和没有局部约束的长批量而言难以扩展。 许多全局关联方法通过迭代优化轨迹[24],[25],[26],[27]或使用轨迹(即短期轨迹片段)而不是单独检测来强制执行局部性[9],[28],[15]。 但是,这些策略很难应用于在线视频流。 或者,可以将在线视频流划分为具有时间滑动窗口的连续批次,并将全局数据关联应用于每个视频批次[10],[12],[13]。 为了产生一致的轨迹,需要考虑来自相邻批次的优化轨迹之间的连接。 然而,大多数现有方法采用启发式策略来连接相邻批次,并且不能确保轨迹的最优性。

为了保留处理在线数据的能力,我们转而明确地模拟来自先前观察的目标特定信息,类似于本地数据关联方法,以与多个帧上的全局数据关联合作。文献中很少提及整合本地和全球数据关联。伦茨等人。 [29]提出了有限内存和计算的最小成本网络流问题的近似在线解决方案。然而,在轨迹优化中忽略了局部一致性。 Choi [30]提出了一种近在线多目标跟踪方法,用于在时间窗口中制定先前跟踪的对象和检测之间的数据关联。该方法与我们的设置有类似的问题,而不同之处在于采用高度非凸的公式来为对象选择合适的假设。该解决方案严重依赖于亲和度测量和生成的轨迹假设。相反,我们使用更紧凑的公式,即最小成本的多商品流,来解决混合数据关联。现有轨迹中包含的特定目标信息以自然的方式结合到流动成本中,确保目标仍然是凸的。我们还提出了一种网络流问题的优化算法,并展示了其在多目标跟踪中的有效性。

最近,在[31],[32]中已经将多商品流引入到多目标跟踪中。 Ben Shitrit等人。 [31]采用多商品网络来考虑预先固定的不同外观组。每个外观组(例如,篮球队)应该是网络中的特定商品,并且解决多商品流问题能够在优化过程中区分不同的外观组。德赫恩等人。 [32]专注于集成对象检测器学习和多对象跟踪,其中多商品网络用于跟踪短视频批次中的固定数量的对象。我们的方法与这些方法的不同之处在于,我们使用多商品网络来制定混合数据关联策略来处理在线数据。此外,通过有效的算法可以实现对最小成本多商品流问题的高质量近似最优解,特别是当对象(商品)的数量相对较大时。因此,我们不需要启发式地修剪图形[31]或迭代地放松硬约束[32]。

3.混合数据关联

5.实验

在本节中,我们将评估我们在真实世界视频中的方法,以展示其有效性。 具体来说,我们的方法的表现从三个方面进行了分析。 (i)我们评估时间窗口长度的影响,即Δt对我们的混合数据关联框架的多目标跟踪性能的影响; (ii)我们比较了本文介绍的列生成(CG)求解器和精确整数线性规划(ILP)求解器的次优性,收敛速度和MOTA得分; (iii)我们表明,我们的方法通过定量和定性评估产生优于现有技术的跟踪结果。

A.Datasets

B.Evaluation Metrics测评方法

我们使用广泛接受的CLEAR MOT性能指标[40]进行性能评估,其中包括测量估计轨迹与地面实况之间的平均重叠率的多目标跟踪精度(MOTP↑),即多目标跟踪精度(MOTA↑),结合误报(FP↓),假阴性(FN↓)和身份开关(IDS↓)的累积准确度。我们还报告了Li等人定义的绩效分数。 [41],包括大部分跟踪(MT↑)地面实况轨迹的百分比,大部分丢失(ML↓)地面实际轨迹的百分比,以及地面实况轨迹被中断的次数(Frag↓)。具体而言,当且仅当其被大于80%的百分比的估计轨迹覆盖时,确定基本真实轨迹被主要跟踪,而当覆盖百分比小于百分比时确定基本真实轨迹大部分丢失。 20%。此外,我们报告误报率以说明识别真实目标的准确性,这是通过每帧误报数(FAF↓)来衡量的。这里,↑意味着更高的分数表示更好的结果,↓表示更低的分数更好。

C.Appearance feature外观特征

至于外观特征,我们利用[42]中提出的基于区域的CNN特征,其中深度神经网络在ImageNet数据集上训练并在PASCAL VOC数据集上进行微调。 为了获得更通用的深度表示,我们遵循[43]中的策略使用求和池来聚合最后一个卷积层的输出,而不是直接使用最后一个完全连接层的特征。 对于每个检测区域,最终特征向量是256维的,具有更好的时间和空间复杂度。 考虑到感兴趣的物体倾向于靠近图像的几何中心,我们还在总和池策略之前应用中心来提高准确度,从而为区域中心的特征赋予更大的权重。

D.大时间窗的影响

E.Solver comparison解算器比较

在本文中,我们在多目标跟踪方面引入了基于列生成(CG)的求解器来解决最小成本的多商品流问题。或者,可以使用现有的整数线性编程包直接解决问题。为了证明所提出的CG求解器优于标准ILP求解器的优越性,我们报告了图5中用于PETS数据集的CG求解器和ILP求解器提供的解的次优性证书。次优性证书是按第IV-B节所述计算。对于ILP求解器,我们使用商业软件Gurobi,它代表了ILP的最新技术。 总的来说,CG求解器提供的证书非常小(在大多数情况下等于零)并且与ILP求解器相当,表明CG求解器是稳定的。如图5(a)所示,CG求解器在PETS-S2L1序列的每一帧上提供零证书,而ILP求解器提供非常接近零的证书。它表明,当ILP对LP有一个紧张的松弛时,CG求解器精确地找到最小成本多商品流问题的最优整数解。对于由多个对象的紧密交互引起的ILP不等于LP的情况,CG求解器通过使用列生成过程以有效的方式提供近似最优解,如图5(b)所示。 )和图5(c)。

为了进一步证明CG求解器在多目标跟踪方面的优越性,我们报告了三个CG求解器和ILP求解器的跟踪性能(MOTA得分)和收敛速度(每帧的平均运行时间)。 PETS数据集中具有不同对象密度的序列。结果显示在表I中。可以观察到,与ILP相比,CG解算器实现了更好的结果,速度明显更快。对于每个序列,CG求解器获得比ILP求解器更高的MOTA分数,表明CG求解器产生的近似最优解对于多对象跟踪更有意义。它归功于CG求解器中涉及的路径流重构,其在解决方案和估计的轨迹之间进行直接连接。此外,即使对象的数量从序列PETS-S2L1(每帧5个对象)到PETS-S2L3(每帧30个对象)快速增加,CG解算器也提供了有利的收敛速度。

6.结论

在本文中,我们提出了一种用于多目标跟踪的混合数据关联框架。 我们不是仅考虑相邻视频帧之间的本地关联,而是探索了在多个帧上进行全局优化以实现在线跟踪的卓越能力。 它被制定为最低成本的多商品流动问题,其中本地特定目标信息被建模以与全球协会合作。 我们采用强大的在线相似性学习算法来明确构建特定于目标的外观模型,以计算我们的多商品网络的边缘成本,从而提高框架的判别能力。 此外,我们还引入了经验性次优证书的高效有效解决方案,并验证了其在多目标跟踪方面的优势。对各种具有挑战性的数据集进行的大量实验表明,我们的方法优于最先进的方法。

我们未来的工作将探索更有效的方法来学习多商品网络的边缘成本,因为它是良好性能的最关键问题。 在线相似性学习只是使用外观提示来计算边缘成本的一个例子,我们相信通过引入更多有用的线索(如运动和形状),可以在多目标跟踪方面进一步改进混合数据关联框架。

A Hybrid Data Association Framework for Robust Online Multi-Object Tracking(2017 IEEE Transactions on Image Processing)的更多相关文章

  1. 在.Net Framework中调用Python的脚本方法 (以VB和C#为例)

    某个项目中涉及到这样一个情景: VB/C#写的原始项目要调用Python的一些方法完成特殊的操作, 那么这就涉及到了,在.Net Framework中如何调用Python的脚本方法. 具体步骤流程如下 ...

  2. 多目标跟踪笔记三:Global Data Association for Multi-Object Tracking Using Network Flows

    Abstract 针对用于多目标跟踪的数据关联(data association),本文提出了一种基于网络流(network flow)的优化方法.将最大后验概率(maximum-a-posterio ...

  3. Django REST framework+Vue 打造生鲜电商项目(笔记二)

    (转自https://www.cnblogs.com/derek1184405959/p/8768059.html)(有修改) 接下来开始引入django resfulframework,体现它的强大 ...

  4. 基于 SailingEase WinForm Framework 开发优秀的客户端应用程序(目录)

    本系统文章将详细阐述客户端应用程序的设计理念,实现方法. 本系列文章以  SailingEase WinForm Framework 为基础进行设计并实现,但其中的设计理念及方法,亦适用于任何类型的客 ...

  5. Restful framework【第十篇】响应器(渲染器)

    基本使用 -响应器(一般用默认就可以了) -局部配置 renderer_classes=[JSONRenderer,] -全局配置 'DEFAULT_RENDERER_CLASSES': ( 'res ...

  6. ASP.NET#命名空间"System.Data"中不存在类型或命名空间名称"Linq"(是否缺少程序集引用?)

    添加完.dbml(LINQ to SQL类文件)文件后,双击.designer.cs源文件时,发现编译器提示:命名空间"System.Data"中不存在类型或命名空间名称" ...

  7. .NET Framework 历史版本(2017年)

    .NET简介 这个平台相信我们都知道,不过随着技术发展,现在的.NET平台也今非昔比. .NET平台类似Java平台,是微软于2000年推出的Windows操作系统的应用软件开发框架,发展至今形成巨大 ...

  8. 搞懂.NET Framework 历史版本(2017年)

    最近被.NET平台各种名词.以及各种版本弄得有些疑惑,开发和部署,对于开发平台版本选择是个基本问题,因此,花了些时间,学习汇总了有关.NET版本演进的历史. .NET简介 这个平台相信我们都知道,不过 ...

  9. Entity Framework 5.0 Code First全面学习 (转)

    原文地址:感谢原文作者 http://blog.csdn.net/gentle_wolf/article/details/14004345 不贴图片了,太累. Code First 约定 借助 Cod ...

随机推荐

  1. 写 Java 这么久了,来编译个 JDK 玩玩儿吧

    你每天写的 Java 代码都需要 JDK 的支持,都要跑在 JVM 上,难道你就不好奇 JDK 长什么样子吗.好奇,就来编译并实现一个自己的 JDK 吧. 本次编译环境 macOS 10.12,编译的 ...

  2. Asp.Net Core 3.0 Kestrel服务器下 高性能 WebSocket Server

    最近研究.net core 的各种高性能类型,内存池之类的东西,基于kestrel 服务器的websocket ,写个例子练下手 把原生的Websocket用ArrayPool<T>,Me ...

  3. Spirng Boot2 系列教程(二十二)| 启动原理

    一个读者,也是我的好朋友投稿的一篇关于 SpringBoot 启动原理的文章,才大二就如此优秀,未来可期. 我一直想了解一下 SpirngBoot 的是如何启动的,我想就来写一篇关于 SpirngBo ...

  4. docker安装的gitlab的备份与恢复

    1.对docker容器安装gitlab备份 1) 查看容器id docker ps 2) 将容器备份成镜像文件 docker commit -a 'James' -m 'gitlab_backup' ...

  5. .net core ef动态orderby

    前言 最近在给大家写一套开源的.net core权限管理框架.现在已经写到前台UI + 后台动态查询的部分. 发现需要动态orderby但是网上没有现成的例子 二话不说上代码 建议namespace ...

  6. Java中SMB的应用

    目录 SMB 服务操作 Ⅰ SMB简介 Ⅱ SMB配置 2.1 Windows SMB Ⅲ 添加SMB依赖 Ⅳ 路径格式 Ⅴ 操作共享 Ⅵ 登录验证 SMB 服务操作 Ⅰ SMB简介 ​ SMB(全称 ...

  7. 手把手写一个基于Spring Boot框架下的参数校验组件(JSR-303)

    前言 之前参与的新开放平台研发的过程中,由于不同的接口需要对不同的入参进行校验,这就涉及到通用参数的校验封装,如果不进行封装,那么写出来的校验代码将会风格不统一.校验工具类不一致.维护风险高等其它因素 ...

  8. 有关PyCharm安装库失败的问题的解决方法

    最近因为要使用Python的缘故,安装了python IDE+pycharm,如此安装的原因是因为Pycharn 并不像anaconda一样拥有相对完整的依赖库和开发包,可以直接运行python,但因 ...

  9. C语言—期末小黄衫获奖感言

    小黄衫获奖感言 一,感谢环节 非常感谢邹欣,周筠老师给提供的小黄衫,我非常荣幸的能够获得这个奖项,我感到无比自豪.感谢两位老师对教学事业的大力支持,对我们学生的亲切关怀.同时感谢我的C语言老师彭琛(琛 ...

  10. Python学习,第七课 - 文件操作

    Python中对文件的相关操作详解 文件的操作在今后的Python开发中也是使用非常频繁的. 先说下对文件操作的流程 打开文件,得到文件的一个句柄,赋值给一个变量 然后通过句柄对文件进行操作(内容的增 ...