MOT综述 (2021)
Posted Arrow
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MOT综述 (2021)相关的知识,希望对你有一定的参考价值。
@TOC
1. 简介
- 参考论文《Analysis Based on Recent Deep Learning Approaches Applied in Real-Time Multi-Object Tracking: A Review》
- JDE:Joint Detection and Embedding (一阶段:一个端到端的网络同时输出检测结果和对应检测Box的外观特征向量)
- SDE:Separate Detection and Embedding (两阶段:先检测Box, 然后再计算检测Box对应的外观特征向量)
- MOT方法分类:
- 在线方法(Online Method):只使用当前和过去的信息
- 批处理方法(Batch Method):使用未来的信息
1.1 轨迹与检测Box的关联特征
- 运动特征(motion)
- 外观特征(appearance)
- 位置特征(location)
1.1 MOT挑战
- 人体姿势、摄像机视角、照明、遮挡、分辨率、背景杂乱和其他意外场景的复杂变化频繁发生
- 人员拥挤并快速移动 (crowded scenes and fast motion, 如长跑)
1.2 轻量级网络
- SqueezeNet:通过使用 1×1 卷积层“挤压”特征图通道来实现更高的运行速度
- MobileNet: 通过使用低成本的深度卷积层和逐点卷积层替换高资源消耗的卷积层来减少运行时间
- ShuffleNet:通过减少element-wise算子和平衡输入输出通道,在推理过程中降低了MAC(Memory Access Cost),进一步提高了网络运行速度
2. 方法汇总及分类
3. FairMOT
- FairMOT:使用外观特征可以执行长距离的关联,而且可以处理遮挡情况
3.1 One-shot跟踪器中的不公平性问题
3.1.1 Anchors导致的不公平
- 基于anchor的设计不适合学习re-ID特征,尽管检测结果很好,但会导致大量的ID切换,其原因如下:
- re-ID任务得不到公平的学习:导致re-ID特征质量不高
- 一个Anchor对应多个目标:提取的特征在准确性和有区别地表示目标对象方面不是最优的
- 多个Anchors包含同一个目标:一个具体的目标取哪一个Anchor很难准确判断
3.1.2 特征导致的不公平
- 大部分特征在对象检测和re-ID任务间共享,但不同任务需要不同层次的特征
- 对象检测:需要深层抽象特征估计对象的类别和位置
- re-ID任务:需要浅层外观特征,以区分相同类别的不同实例
- 从多任务损失函数优化的角度看,对象检测与re-ID的优化目标是冲突的,所以必须有对应的策略来平衡这个优化
3.1.3 特征维度导致的不公平
- 以前的re-ID,为了在benchmarks上获得好的效果,经常学习高维的特征向量
- 对于one-shot MOT,学习低维特征更好的理由:
- 高维 re-ID 特征显着损害目标检测精度:由于两个任务的竞争,从而对最终跟踪精度产生负面影响 (对象检测的特征维度很低:类别号+box位置),所以需要学习低维re-ID特征以平衡这两个任务
- MOT任务不同于re-ID任务:MOT任务在相邻两帧间执行1到1匹配,而re-ID任务需要查询大量的候选项,因此需要更高维的特征
- 学习低维特征可以提高推理速度
3.2 FairMOT网络组成
- FairMOT主要由以下三部分组成:
- 主干网络
- 对象检测分支
- re-ID分支
3.2.1 主干网络(Backbone Network)
- 为取得最佳的准确度和速度,主干网络使用ResNet-34,把深层聚合(DLA:Deep Layer Aggregation)应用到主敢网络以融合多层特征。不同于原始的DLA,在低级与高级特征间有更多skip链接,类似于特征金字塔(FPN:Feature Pyramid Network)
3.2.2 检测分支(Detection Branch)
- 检测分支构建于CenterNet之上,三个并行的heads附加在DLA-34上,用于分别估计:
- heatmaps
- object center offsets
- bounding box sizes
- 每个head把具有256个channels的3x3卷积应用于DLA-34输出的特征图上,然后由一个1x1的卷积层输出最后的结果
3.2.2.1 热图头(Heatmap Head )
-
此热图头负责估计对象中心的位置
-
如果热图中某个位置的响应与真实对象中心重合,则该位置的响应预计为 1
-
响应随着热图位置和对象中心之间的距离呈指数衰减
-
对于图像中的真实Box的位置:
b i = ( x 1 i , y 1 i , x 2 i , y 2 i ) b^i = (x_1^i, y_1^i, x_2^i, y_2^i) bi=(x1i,y1i,x2i,y2i) -
则对象的中心为:
( c x i , c y i ) = ( x 1 i + x 2 i 2 , y 1 i + y 2 i 2 ) (c_x^i, c_y^i) = (\\fracx_1^i + x_2^i2, \\fracy_1^i + y_2^i2 ) (cxi,cyi)=(2x1i+x2i,2y1i+y2i) -
对象中心在特征图中的坐标为:
( c ~ x i , c ~ y i ) = ( ⌊ c x i 4 ⌋ , ⌊ c y i 4 ⌋ ) (\\widetilde c_x^i, \\widetilde c_y^i) = (\\lfloor \\fracc_x^i4 \\rfloor, \\lfloor \\fracc_y^i4 \\rfloor) (c xi,c yi)=(⌊4cxi⌋,⌊4cyi⌋) -
热图在位置 ( x , y ) (x,y) (x,y)处的响应为:
M x y = ∑ i = 1 N e x p − ( x − c ~ x i ) 2 + ( y − c ~ y i ) 2 2 σ c 2 M_xy = \\sum_i=1^N exp^-\\frac(x - \\widetilde c_x^i)^2 + (y - \\widetilde c_y^i)^22 \\sigma_c^2 Mxy=i=1∑Nexp−2σc2(x−c xi)2+(y−c yi)2- N:表示图像中对象的个数
- σ c \\sigma_c σc:表示标准偏差
-
热图的损失函数:定义为具有焦点损失(focal loss)的像素级逻辑回归
L h e a t = − 1 N ∑ x y ( 1 − M ^ x y ) α l o g ( M ^ x y ) , if M x y = 1 ( 1 − M x y ) β ( M ^ x y ) α l o g ( 1 − M ^ x y ) , otherwise ( 1 ) L_heat = - \\frac1N \\sum_xy \\begincases (1 - \\hat M_xy)^\\alpha log (\\hat M_xy), & \\textif $M_xy=1$ \\\\ (1 - M_xy)^\\beta(\\hat M_xy)^\\alpha log (1- \\hat M_xy), & \\textotherwise \\endcases \\quad (1) Lheat=−N1xy∑(1−M^xy)αlog(M^xy),(1−Mxy)β(M^xy)αlog(1−M^xy),if Mxy=1 otherwise(1)- M ^ \\hat M M^:是估计的热图
- M M M:是真实的热图
- α , β \\alpha, \\beta α,β:是focal loss中预定义的参数
3.2.2.2 检测框偏移量头(Box Offset Head)
- 检测框偏移量头:使目标的定位更加准确
- 由于最终特征图的步幅为四,因此将引入多达四个像素的量化误差。 该分支估计每个像素相对于对象中心的连续偏移,以减轻下采样的影响。
- 检测框偏移量头输出的估计值:
以上是关于MOT综述 (2021)的主要内容,如果未能解决你的问题,请参考以下文章