FairMOT

  • FairMOT
  • FairMOT介绍
  • Two-step方法
  • One-shot方法
  • The Technical Approach
  • backbone
  • Detection Branch
  • Heatmap Head
  • Center Offset Head
  • Box Size Head
  • Identity Embedding Branch
  • Loss Functions
  • Heatmap Loss
  • Offset and Size Loss
  • Identity Embedding Loss
  • Online Tracking
  • Network Inference
  • Online Box Linking
  • Anchors don’t fit Re-ID
  • 介绍
  • 实验
  • Multi-Layer Feature Aggregation
  • 介绍
  • 实验
  • Dimensionality of the ReID Features
  • 介绍
  • 实验
  • SOTA实验结果
  • One-shot方法比较
  • Two-shot方法比较

A Simple Baseline for Multi-Object Tracking

FairMOT

FairMOT是华中科技大学和微软亚洲研究院,论文分析现存one-shot目标追踪算法的问题所在,提出了三个观点:

  1. anchors对于Re-ID并不友好,应该采用anchor-free算法。
  2. 多层特征的融合。
  3. 对于one-shot方法,Re-ID的特征向量采用低维度更好。

在MOT15、MOT16、MOT17、MOT20等数据集上以30fps的帧数达到了目前的SOTA水平。

FairMOT介绍

多目标跟踪(MOT)一直是计算机视觉的一个长期目标,目标是估计视频中多个目标的轨迹,该任务的成功解决将有利于许多应用,如动作识别、运动视频分析、老年护理和人机交互。
现存的SOTA方法当中大部分都是采用two-step方法两步走:

  1. 通过目标检测算法检测到目标。
  2. 再经过Re-ID模型进行匹配并根据特征上定义的特定度量将其链接到一个现有的轨迹。

尽管随着近年来目标检测算法与Re-ID的发展,two-step方法在目标跟踪上也有明显的性能提升,但是two-step方法不会共享检测算法与Re-ID的特征图,所以其速度很慢,很难在视频速率下进行推理。
随着two-step方法的成熟,更多的研究人员开始研究同时检测目标和学习Re-ID特征的one-shot算法,当特征图在目标检测与Re-ID之间共享之后,可以大大的减少推理时间,但在精度上就会比two-step方法低很多。所以作者针对one-shot方法进行分析,提出了上述三个方面的因素。

Two-step方法

一些SOTA的跟踪算法通常是two-step算法,他们将检测目标和Re-ID分成了两个任务:

  1. 首先通过检测算法获取到物体的位置(预测框)。
  2. 将预测的物体裁剪下来进行缩放传入身份特征提取器来获取Re-ID特征,连接框形成多条轨迹。

连接框形成轨迹的标准做法就是:根据Re-ID特征和框的IOU来计算一个代价矩阵,再利用卡尔曼滤波和匈牙利算法实现连接轨迹的任务。有一小部分研究使用了更复杂的关联策略,如群体模型和RNNs。

two-step方法的好处就是,可以在两个任务当中分别使用合适的模型,并且可以将预测的框进行裁剪和缩放传入Re-ID特征提取器当中,有助于处理对象比例变化。并且跟踪效果也很好,但是速度很慢,难以以视频速率进行推理。

One-shot方法

One-shot方法核心思想是在一个网络中同时完成目标检测和身份嵌入(Re-ID feature),通过共享大部分计算量来减少推理时间。

  • Track-RCNN通过添加一个Re-ID head的部分为每个候选区域来回归框和Re-ID的部分。
  • JDE则是实现在YOLOV3框架的基础上并实现了视频速率的推理。

然而,单步one-shot方法的跟踪精度往往低于two-step跟踪方法。论文发现这是因为学习的ReID特性不是最优的,这导致了大量的ID切换。

The Technical Approach

backbone

作者发现使用ResNet-34结构作为骨干网络能够很好的兼容精度和速度,通在骨干网络上添加Deep Layer Aggregation (DLA)结构来实现不同尺度的检测,与原本的DLA不同的是在低层和高层之间添加了更多的连接(与FPN相似),另外在上采样的时候采用的是可形变卷积,可以根据目标的尺度和姿势动态的适应感受野,这个改进也有助于缓解对齐问题。最终的模型为DLA-34,下采样stride=4。
DLA-34:

  • ResNet-34
  • 改进的DLA
  • 可变形卷积(上采样采用)

backbone

Detection Branch

与centernet一样,作者将目标检测看作是高分辨率特征图上基于中心的边界盒回归任务。三个平行回归head被添加到backbone中,分别用来预测heatmap、对象中心偏移量和box大小。每个head的实现方法是对backbone的输出特征图进行3×3卷积(256通道),再经过1×1卷积层生成最终目标。

Heatmap Head

这个head负责预测物体中心的位置。本文采用了基于heatmap的表示,它是关键点预测任务的实际标准。heatmap的大小为H * W * 1,如果热图中的某个位置与标签物体中心坍塌,则该位置的响应预计将是一致的。随着热图上的位置与物体中心之间的距离,响应呈指数衰减。

Center Offset Head

这个head负责更精确地定位对象。feature map的步长是4,这将引入不可忽略的量化误差。注意,这对目标检测性能的好处可能是边际的。但这对于跟踪是至关重要的,因为Re-ID特征需要根据准确的目标中心提取。作者在实验中发现,ReID特性与对象中心的仔细对齐对性能至关重要。

Box Size Head

这个head负责估计每个锚点处目标边界框的高度和宽度。该头部与Re-ID特征没有直接关系,但定位精度将影响目标检测性能的评价。

Identity Embedding Branch

身份嵌入分支的目标是生成能够区分不同对象的特征。理想情况下,不同物体之间的距离应该大于同一物体之间的距离。为了实现这一目标,作者在backbone特征图上应用一个有128个核的卷积层来提取每个位置的身份嵌入特征,得到128×W×H的feature map,一个(x, y)上的Re-ID特征向量就是来自这个feature map。

Loss Functions

Heatmap Loss

(cxi, cyi)是标签框的中心点,stride=4:

Mxy是heatmap上(x, y)的响应:

heatmap损失函数:

Offset and Size Loss

(x1i, y1i, x2i, y2i)是标签框的坐标, s为框的长和宽,c是中心点:

Identity Embedding Loss

将对象识别嵌入作为分类任务。训练集中具有相同标识的所有对象实例都被视为一个类。
对于图片中的每一个标签框,在heatmap上获得目标中心(cxi, cyi),提取一个恒等特征向量Exi,yi定位并学习将其映射到一个类分布向量p(k),表示标签的one-hot编码为Li(k):

Online Tracking

Network Inference

网络以大小为1088×608的图像作为输入,与之前的工作JDE相同。在预测的heatmap之上,根据heatmap得分执行非最大抑制(NMS)来提取最大的关键点。我们保留heatmap得分大于阈值的关键点的位置。然后,我们根据预测的偏移量和框的大小计算相应的边框。我们还在预测的目标中心提取Re-ID特征向量。

Online Box Linking

使用标准的在线跟踪算法来实现框的链接。根据第一帧中的估计框初始化了一些轨迹,在接下来的帧中,根据Re-ID特征和IoU所测量的轨迹距离,将方框与现有轨迹链接起来。也使用卡尔曼滤波来预测在当前帧中的轨迹位置。如果距离连接检测太远,将相应的代价设为无穷大,可以有效地阻止大运动的链接检测。我们在每个时间步中更新跟踪器的外观特征,以处理外观变化。

Anchors don’t fit Re-ID

介绍

在此之前,所有的one-shot追踪方法都是改进自anchor-based的检测算法,然而anchors并不适合学习Re-ID特征。

  1. 多个anchor对应于不同的图像块,可能负责估计同一物体的身份,这会造成严重的网络起歧义。

anchor-based(左)vsanchor-free(右)

可以看到上图左边,两个锚点框都用于检测蓝色T恤的人,但是这两个框对应不同的图像块,会有很严重的网络歧义,而右图anchor-free方法则会好很多。

  1. 通常特征图会下采样8x,对于检测算法是可以接受的,但是对于Re-ID来说就太粗糙了,anchor-based方法都是基于网格进行预测,很可能anchor提取的用于预测目标身份的特征与对象中心不对其。

实验

实验将head部分替换为 JDE所使用的anchor-based方法,其他的均不变。可以看到anchor-free方法作为检测器,追踪性能有很大的提升,ID切换次数也减少了很多。TPR(假接受率为0.1的True Positive Rate)指标是Re-ID的指标,可以看到anchor-free方法在此指标上有很大提升,也验证了anchor确实会产生网络歧义。顺便说一句,没有stride=2的anchor-based实验,是因为stride=2会产生更多的anchor框,作者显存溢出了。。
stride由8变成4,有很大的性能提升,但stride=2时指标却下降了,是因为低层特征的引入使得表示对外观变化的鲁棒性降低。

下面是对anchor-based和anchor-free方法所训练的Re-ID特征向量分布进行的可视化:

我们可以看到,anchor-based方法(左边两幅)不同身份的特征是混合的,特别是当步幅为4时。相比之下,我们的anchor-free方法(右边两幅)将它们很好地分开。

Multi-Layer Feature Aggregation

介绍

这对MOT很重要,因为Re-ID很需要高层特征与低层特征来适应大目标和下目标,在文中的实验中发现这个能很有效的减少ID切换次数,但是多层特征融合对于two-step方法提升效果不大,因为two-step方法中都是采用裁剪和缩放到相同大小的图片传入Re-ID特征提取器中的。

实验

该实验评估了骨干网络中多层特征融合的影响,实验了 ResNet, Feature Pyramid Network (FPN), High-Resolution Network (HRNet) 和 DLA-34(论文方法,基于ResNet-34改进),其他网络stride也设置为4,并且其他实验因素都相同,实验结果是基于2DMOT15数据集,HRNet等模型相比于ResNet-34有很大的提升(MOTA),但主要还是得益于检测算法的性能(AP)提升,可以看到论文方法的TPR(Re-ID指标)最高,并且从ResNet-34的35.0增加到67.3,ID切换次数也是最低,从ResNet-34的372减少到136,验证了多层特征融合对于Re-ID的效果。

HRNetV2的MOTA最高,最主要还是得益于他的检测器性能(AP),DLA-34的Re-ID性能(TPR)比HRNetV2好很多,主要还是得益于在DLA-34中使用可形变卷积,因为它可以缓解小物体下降采样造成的不对准问题。下面实验可以看到DLA-34主要是在小物体和中物体上效果比HRNetV2好:

Dimensionality of the ReID Features

介绍

在一些之前的研究当中,Re-ID的特征向量通常维度较高(512)。训练高维Re-ID特征需要大量的训练图像,这对于one-shot方法跟踪问题是不可用的之前的two-step方法较少受到这个问题的影响,因为它们可以利用丰富的reid数据集,这些数据集提供裁剪的人物图像。包括论文方法的one-shot不能使用它们,因为需要原始的未裁剪的图像。一种解决方案是通过降低reid特征的维数来减少其对数据的依赖。所以采用更低维度的特征向量对MOT更友好,学习更低维度的特征向量可以降低过拟合的风险,提高跟踪的鲁棒性。

实验

可以看到当特征向量尺寸从512降至128时,TPR会持续改进,这说明了使用低维特征的优势。进一步降低维数到64,TPR开始下降,因为reid特征的代表性能力受到影响,尽管MOTA提升较小,但是ID切换次数从210降到了136。

SOTA实验结果

One-shot方法比较

Two-shot方法比较

*号表示one-shot方法

FairMOT论文详解相关推荐

  1. 智能城市dqn算法交通信号灯调度_博客 | 滴滴 KDD 2018 论文详解:基于强化学习技术的智能派单模型...

    原标题:博客 | 滴滴 KDD 2018 论文详解:基于强化学习技术的智能派单模型 国际数据挖掘领域的顶级会议 KDD 2018 在伦敦举行,今年 KDD 吸引了全球范围内共 1480 篇论文投递,共 ...

  2. Fast R-CNN论文详解

    Fast R-CNN论文详解 作者:ture_dream &创新点 规避R-CNN中冗余的特征提取操作,只对整张图像全区域进行一次特征提取: 用RoI pooling层取代最后一层max po ...

  3. 限时9.9元 | 快速领取数学建模竞赛备战必备技巧与论文详解!

    全世界只有3.14 % 的人关注了 青少年数学之旅 大家晚上好,随着美赛时间的公布以及大大小小的数学建模竞赛的进行,小天经常可以收到来自很多小伙伴们提出的问题,"竞赛中如何去考虑选题?&qu ...

  4. transfromer-XL论文详解

    transfromer-XL论文详解 – 潘登同学的NLP笔记 文章目录 transfromer-XL论文详解 -- 潘登同学的NLP笔记 Vanilla Transformer Segment-Le ...

  5. KernelGAN论文详解分享

    KernelGAN- Blind Super-Resolution Kernel Estimation using an Internal-GAN论文详解 论文地址:https://arxiv.org ...

  6. ShuffleNetv2论文详解

    ShuffleNet v2 论文详解 近期在研究轻量级 backbone 网络,我们所熟悉和工业界能部署的网络有 MobileNet V2.ShuffleNet V2.RepVGG 等,本篇博客是对 ...

  7. 【论文精读3】MVSNet系列论文详解-P-MVSNet

    P-MVSNet全名为"P-MVSNet: Learning Patch-wise Matching Confidence Aggregation for Multi-View Stereo ...

  8. Spark RDD 论文详解(三)Spark 编程接口

    前言 本文隶属于专栏<1000个问题搞定大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见1000个问题搞定大数据技 ...

  9. Spark 3.2.0 版本新特性 push-based shuffle 论文详解(一)概要和介绍

    前言 本文隶属于专栏<大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见大数据技术体系 目录 Spark 3.2.0 ...

最新文章

  1. 【深度学习】基于Colab Pro的TPU训练模型教程(Tensorflow)
  2. 20165328 预备作业3 Linux安装及命令
  3. Android开发 ----------怎样真机调试?
  4. SAP One Order redesign里的新CDS view
  5. AndroidStudio_开发工具的设置_代码编辑器使用_新特性---Android原生开发工作笔记73
  6. 班尼机器人怎么语音_每日一句中话西说巧学英语:“我们今天就到这儿吧。”英语怎么说?...
  7. Native Instruments West Africa for Mac(西非打击乐音色资源)
  8. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第3节 两种获取Stream流的方式_10_练习:集合元素处理(传统方式)...
  9. 金融风控模型前世今生
  10. java如何开根号?
  11. 使用URLOS在linux系统中极速部署NFS共享存储服务
  12. c语言的按位取反运算符
  13. 解决“不是有效的win32应用程序”
  14. js 获取元素的html代码
  15. symbian3 java游戏测试,Symbian^3愤怒的小鸟测试版C7首发实测
  16. 【代码】获取日期所在月份的 月初、月末的日期
  17. 利用公网IP访问部署在阿里云服务器的spring boot项目(一)
  18. 华为鸿蒙价格是多少,华为5G新旗舰已确认,双曲面屏+升级到鸿蒙2.0,价格很感人...
  19. MySql ORDER BY排序用法
  20. 性能之巅:常用性能分析方法

热门文章

  1. win7下手动配置apache+ php + mysql 记
  2. hdu 1588 Gauss Fibonacci
  3. 数据库系统原理教程-作业
  4. 用命令行批处理bat,设置代理服务器、DNS、网关、WINS等
  5. Star-shaped polygon
  6. Q96:PT(3.1):基本的基于噪声的纹理(Basic Noise-Based Textures)
  7. 传感器的定义、构成、分类
  8. java集合框架介绍_Java集合框架全面介绍(一)
  9. 关于java集合的知识点_java中集合的知识点
  10. Trie(字典)树详解