多目标跟踪笔记十一:Deep Affinity Network

1.介绍:

用于跟踪的数据关联仍然依赖于手工制作的约束, 如外观、运动、空间接近度、分组等, 以计算不同帧中对象之间的相关性。

differ from prior work
本文通过以端到端的方式联合建模对象外观及其在不同帧之间的亲和力, 加入深度学习进行数据关联跟踪。使用DAN网络在任意两帧内对抽取的检测过的目标的特征进行配对,来推断对象的相关性。

Dan 还考虑了视频帧之间出现和消失的多个对象。我们利用生成的高效关联计算将当前帧中的对象深入到前面的帧中进行关联。

最后根据此DAN网络,进行视频帧的亲和力计算,将视频帧中的对象与以前多个帧中的对象相关联, 使用匈牙利算法生成可靠的轨迹。

Current problems
1.没有考虑到外观的多个抽象级别。因此, 当必须跟踪外观相似的对象时, 尤其是在遮挡情况下, 基于外观模型的技术往往很吃力。
2.线性和非线性模型都不能很好地处理长帧间对象的遮挡。


2.相关工作

在数据关联一般分为本地和全局关联方法。
1.本地关联 一般只考虑两帧作为数据关联。这在实际检测过程中可行, 但是, 其性能很容易被跟踪无关的因素, 如相机运动, 姿势变化等影响。
2.全局关联一般采用大批量帧进行数据关联。(减轻遮挡与目标相似)
2.1 很少全局关联采用网络流方法。
2.2 使用基于网络流的K最小距离算法进行数据关联。基于网络流


减轻检测器带来的影响的方法是:目标在线训练分类器,其在单目标跟踪取得了很大的成功。

处理遮挡与杂波:
1. milan 等人采用了一个连续能量最小化框架的 mot, 其中包括遮挡显式推理和外观建模。Continuous energy minimization for multitarget tracking

基于深度学习的跟踪方法:

1.在单一物体跟踪的情况下使用完全卷积的全连接网络
Fully-convolutional siamese networks for object tracking
2.修改了 siamese 网络, 以学习具有对象关联的多个对象跟踪的判别深度表示
Confidence-BasedDataAssociationand Discriminative Deep Appearance Learning for Robust Online Multi-Object Tracking
3.它们的网络被最小标签传播方法用来关联目标。
“Multi-ObjectTrackingwith Quadruplet Convolutional Neural Networks
4.网络在多个对象跟踪的背景下接受数据关联培训
Deep Network Flow for Multi-Object Tracking
5.一个多功能 cnn 用于在 r-fcn 的检测框架下同时检测和跟踪
Detect to Trackand Track to Detect
6.insafutdinov 等人 [67] 提出了基于深度学习的姿态估计和跟踪方法。他们训练了一个模型, 将身体部位分组, 并使用头关节追踪一个人。但是, 如果头被遮挡, 则执行它们下的方法
ArtTrack: Articulated multi-person tracking in the wild


提出的深度亲和力网络进行了全面的外观建模, 并进一步利用它来估计帧对中的对象亲和力。高效的亲和力计算允许我们的技术深入回顾前面的帧以进行对象关联。这使得所提出的技术对目标遮挡的跟踪具有鲁棒性。


3.方法
本文提出的深度亲和网络,它在两个不一定相邻的不同帧上共同建模对象外观及其相关性关系。整体方法利用 dan 的有效亲和力估计, 将当前帧中的对象与以前多个帧中的对象关联起来, 以计算可靠的轨迹。


具体
method:Object detection and localization
mot数据集采用fasterrcnn 、sdp、DPM目标检测器检测

method:Deep Affinity Network (DAN)

1、对视频帧对象进行外观建模,使用DAN计算跨帧相关性(这里也叫亲和力)。
2、将网络分为两部分:特征提取器和亲和力估计器
3、将视频帧I及其目标中心Ct、视频帧I-n及其目标中心Ct-n作为网络输入。(可以隔多帧,作者说使用隔多帧进行网络训练能够帮助当前帧能够更好的与之前帧数据进行关联)
4、还需要groudtruth二进制数据关联矩阵(Lt-n,Lt) 来计算网络损失 

method:Data process

为了解决公开数据集在相机光度扭曲、背景场景变化和跟踪方法应保持稳健的其他实际因素等方面的情况少见的情况,作者决定自己预处理下数据集,让情况变得更加复杂些,出现更多多样的追踪环境。

数据预处理整体思路参考SSD目标检测算法SSD: Single shot multibox detector

1) 光度失真: 视频帧的每个像素首先由 [0.7, 1.5] 范围内的随机值缩放。生成的图像将转换为 hsv 格式, 其饱和度通道将在 [0.7, 1.5] 中由随机样本再次缩放。然后将帧转换回 rgb 格式, 并由同一范围内的随机样本重新调整。这种光度畸变过程类似于 [76], 这也激发了使用的范围值。 

2) 框架扩展: 我们以采样范围内的随机比率 [1, 1.2] 来扩展框架。扩展会导致帧大小增加。我们用数据的平均像素值填充添加到展开帧中的像素。

 3) 裁剪: 我们使用随机采样的裁剪比率 [0.8, 1] 裁剪框架。我们只保留那些在原始帧中包含所有检测框中心点的裁剪。 上述每个步骤都按顺序应用于帧对, 概率为0.3。然后将框架调整为固定尺寸 h*w*3, 并水平翻转, 概率为0.5。修改训练数据的总体策略是由SSD所启发的, 他改变图像来训练物体探测器。然而, 与 SSD不同的是, 我们通过将上述转换应用于两个帧来同时处理它们。

-----------------------------------------------------

作者设置了每帧最大目标数为80


method: Feature extractor

1. 特征提取是通过两个VGG卷积层流传递对视频帧和对象中心,它们共享模型参数。
2.作者在 VGG的基础上将全连接层和softmax层改成了卷积层,对象的空间信息更容易通过卷积层进行处理表示。在VGG最后一层,仍能得出56*56的feature map。
3.在VGG层之后,将得到的特征图通过更深的卷积层,将featuremaps 进行空间降维。卷积层后面的extension将featuremaps 减少到3*3.

因为图像帧和对象中心点通过深度卷积过后,如果单独使用最终的featuremaps 进行计算预测,则可能无法达到想要的结果。所以作者采用了目前常用的多层特征融合的方法,根据经验选取了图1的九个卷积层得到的特征,再分别进行特征维度降维处理。最后进行多层(九层)特征的拼接,从而得到了拼接的特征矩阵。

若不存在该对象,则特征矩阵对应位置变成0向量。


method:Affinity estimator

根据上面特征抽取器得到的两帧的对象特征,亲和力估计器则就要对这些特征下手,来估计两帧各目标之间的相关性了。作者将前面得到的特征矩阵经过compression network.得到损失值Loss

这里用到了一个compression network.

method:Dan deployment

虽然 dan 的特征提取器组件被训练为双流网络, 但在作者方法中, 它被部署为一个单流模型。网络希望有一个单一的帧它作为它的输入, 沿着对象中心位置 ct。 特征提取器计算框架的特征矩阵 ft, 并将其传递给关联估计器。后者使用前一个帧的特征矩阵, It-n 来计算帧对的排列张量。然后, 此排列张量通过一个简单的正向传递通过网络和连接操作映射到一个亲和力矩阵,

这个网络是可以将当前帧与前面任一帧计算亲和力相关,得到相关性后再去数据关联,同时当前帧也会被暂时存储在track assciation中,方便下一帧与之前的某帧进行相关性计算。

PS:每个帧只通过对象检测器和特征提取器一次, 但这些特征被多次用于计算与多个其他帧成对的亲和力。

method:Deep track association   (具体参看原论文)

为了将当前帧中的对象与以前的多个帧相关联, 我们将帧的特征矩阵及其时间戳存储在一起.可以使用当前帧中的对象和任何以前帧中的对象使用它们的特征矩阵来计算它们之间的相关性。

(1)初始化我们的轨道集 t0 它与 i0 中检测到的对象数量一样多的轨迹(二元组:(tracks,detection))
(2)基于匈牙利算法和累加器矩阵,在每个时间戳点t更新轨迹集。使用的累加器矩阵集成了当前帧中的对象与以前帧之间的相关性


这个方法是一个在线方法,不使用未来的帧来预测对象的轨迹。同时,该网路设置了最大轨道关联时长,若超过最大时长,则将删除早期的轨道(我觉得这个没什么很大关系),同时对于视频消失的目标对象,允许最大等待时间为w帧。等待过后才进行删除对应轨迹。


PS:作者使用了MOT17,MOT15和 ua-detrac三个多目标跟踪基准去测试跟踪效果。该数据集提供检测视频帧中的对象与三个探测器, 即 sdp, fasterrcnn和 dpm。挑战接受在线和离线跟踪方法, 允许后者使用未来的视频帧预测轨道。同时在处理严重遮挡的情况下,还能不断深入以前的帧来进行快速恢复。

4.结论
 运行起来每秒6.3 FPS

相关贡献:

1.DAN关联对较大的光照变化是鲁棒性的。
2.DAN能够舒适地处理重要的对象遮挡。
3.能够对多个相似目标进行有效的区分。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Nity图表插件是在Unity游戏引擎中的一款绘制和呈现各种图表和图形的插件。它是一个强大的工具,可帮助游戏开发人员轻松地创建各种图表,例如柱状图,饼状图,线条图等。Nity图表插件提供了适当的界面以及简单易用的API,可以很容易地自定义图表的样式,颜色,大小和坐标轴等元素。此外,Nity图表插件还具有数据可视化的功能,游戏开发人员可以使用它来快速分析和理解游戏中的数据。 使用Nity图表插件有很多优势。首先,它可以提高开发效率。开发人员可以快速创建和显示图表,而不必手动编写大量的代码。同时,Nity图表插件还提供了各种图表的样式和模板,可以轻松应用到自己的项目中。其次,使用Nity图表插件可以提高数据可视化的效果。它可以将复杂的数据集转化为直观,易于理解的可视化图表,提高游戏开发人员分析游戏数据的效率。最后,Nity图表插件还具有跨平台性,可以在多个平台上使用。 总而言之,Nity图表插件是一款功能强大,易于使用的图表和数据可视化工具,可提高游戏开发的效率和数据可视化的效果。 ### 回答2: Nity图表插件是一款功能强大的数据可视化工具,可以让用户快速创建各种类型的图表和图形,如折线图、饼图、柱状图、散点图等。Nity图表插件与Unity游戏引擎完美结合,可以方便地在游戏中呈现数据、统计结果、甚至是动态数据效果。Nity图表插件具有易于使用和定制的优点,非常适合初学者和拥有基础编程知识的开发者使用。此外,Nity图表插件也支持导出多种格式的图表,如PNG、JPG、PDF和SVG,方便用户将图表用于印刷品或在网页上展示。总之,Nity图表插件是一款非常有用和实用的工具,可以帮助用户将复杂的数据变得简单易懂、美观可视化,同时也可以在游戏中为用户提供更好的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值