Multiple Object Tracking with Correlation Learning

CorrTracker

论文标题:Multiple Object Tracking with Correlation Learning

论文地址:http://arxiv.org/abs/2104.03541

论文源码:未开源

Alibaba Group的工作,被收录于CVPR2021

Abstract

​ CorrTracker文章中,为了整合空间布局,作者提出利用局部相关模块(correlation module)对目标及其周围环境之间的拓扑关系进行建模,以增强模型在拥挤场景中的判别能力。具体来说,该方法建立每个空间位置及其上下文的密集对应关系,并通过自监督学习显式地约束correlation volumes(相关性空间)。论文作者提出了一种可学习的相关性算子来在不同层的卷积特征图上建立帧与帧的匹配,从而对齐并传播时间上下文信息。以这些设计为基础构建的CorrTracker在多个基准数据集上达到了SOTA表现。、

Introduction

​ 传统的DBT方法,分为检测、特征表示学习和数据关联三步骤,随着检测器的效果提升可以获得很好的表现,但是效率不高对于联合学习检测和外貌特征的方法虽然可以达到SOTA,但是在在存在类干扰的情况下,外貌特征无法获得具有辨别性的和准确的匹配置信度(图1a),从而会影响关联,受限于局部表示符,辨别相似目标很困难。如图1c所示,

​ 如何联合优化多个阶段呢,一个可行的方法就是扩展端到端的检测框架来联合学习检测和外观特征,这个思路就是JDT范式。如果存在相似的干扰选项,仅采用外貌embedding进行目标与轨迹之间的匹配是不够的。通过外貌特征得到的匹配置信度不够精确,导致跟踪关联部分的性能下降。这些方法之所以无法很好地区分相似的目标,是因为其受限于局部的感受野。下图(b)便是这篇文章提出的方法生成的热度图,很轻易地能够看出,CorrTracker可以很好地区分不同的目标。
在这里插入图片描述

​ 基于此,论文作者提出了一种相关性网络来学习目标和上下文的拓扑信息。具体而言,通过一个空间相关性层来记录目标和相对空间位置的关系。虽然为所有位置类似non-local(全局)那样构建完全相关性在计算上无法实现实时MOT,但是这篇论文通过构建局部相关性空间(correlation volume)来限制每层特征金字塔上的搜索范围。*我的理解是,这里的correlation volume是一个三维张量, ( x , y , d ) (x,y,d) (x,y,d)便存储着特征图目标中 ( x , y ) (x,y) (x,y)位置与 ( x , y ) + d (x,y)+d (x,y)+d位置之间的相关性信息。)*此外,论文这种相关性学习不限于感兴趣类别的目标,车辆这些背景信息也被建模用于辅助目标的识别和关系推理。最终建立每个空间位置及其上下文的密集对应关系,并通过自监督学习显式约束相关量。

​ 而且,目前MOT中的检测器通常使用单帧图像输入,因此并没有充分利用时序信息(MOT里如何在不损失速度的情况下利用好时间信息其实非常重要),这就造成了密集场景下的漏检严重,增加了后续数据关联的难度。最近的一些方法开始采用相邻两帧甚至三帧来增强时序一致性,它们在遮挡场景下获得了一定程度的性能改善,但还是受限于帧数。为了解决这个问题,作者将空间相关性模块拓展到时间维度并结合历史信息以减少目标检测中的歧义。

综上所述,这篇论文的贡献可以总结如下。

  • 提出了CorrTracker,这是一个统一的相关性跟踪器,可以对目标之间的关联关系密集建模并通过关联传输信息。
  • 提出了一个局部结构感知网络并以自监督学习的方式增强相似性目标的判别能力。同时,将局部关系网络进行拓展,从而有效建模时序信息。
  • 通过在MOT基准数据集上测试,CorrTracker在当前SOTA结果得基础上有了进一步改善。

Methodology

​ 整个CorrTracker的pipeline如下图所示,它可以被精简为三个阶段:(1)通用特征提取;(2)从时空依赖中同时学习相关性并进行检测预测;(3)将检测结果关联到最接近的轨迹上。

​ 关联方面,采用了一个比较精简的关联策略,与DeepSORT中控制轨迹的初始化和终止的策略类似。因此,CorrTracker的主要贡献是对特征图上的密集位置和其上下文之间的相关性进行高效建模,这有助于抑制复杂场景中的干扰因素。
在这里插入图片描述
Motivation

​ 对每个输入的视频帧 I t ∈ R H × W × 3 \mathbf{I}_{t} \in \mathbb{R}^{H \times W \times 3} ItRH×W×3 ,目标检测器对其检测得到当前帧所有的候选检测框 D t = { d t i } i = 1 N \mathcal{D}_{t}= \left\{\mathbf{d}_{t}^{i}\right\}_{i=1}^{N} Dt={dti}i=1N , d t i = ( x t i , y t i , w t i , h t i ) \mathbf{d}_{t}^{i}=\left(x_{t}^{i}, y_{t}^{i}, w_{t}^{i}, h_{t}^{i}\right) dti=(xti,yti,wti,hti)。现在已有轨迹集 T t − 1 = { T t − 1 j } j = 1 M , T t − 1 j = { d 1 j , … , d t − 2 j , d t − 1 j } \mathcal{T}_{t-1}=\left\{\mathbf{T}_{t-1}^{j}\right\}_{j=1}^{M}, \mathbf{T}_{t-1}^{j}= \left\{\mathbf{d}_{1}^{j}, \ldots, \mathbf{d}_{t-2}^{j}, \mathbf{d}_{t-1}^{j}\right\} Tt1={Tt1j}j=1M,Tt1j={d1j,,dt2j,dt1j},它表示到上一帧为止的轨迹集合。现在有M个轨迹和N个检测框,因此可以计算出相似度矩阵 A ∈ R N × M \mathbf{A} \in \mathbb{R}^{N \times M} ARN×M ,其中检测框使用依据检测框裁剪的图像块提取的外观特征。这个相似度矩阵同时考虑了外观特征 f ( ⋅ ) ∈ R d \mathbf{f}(\cdot) \in \mathbb{R}^{d} f()Rd和几何表示,计算式如下。
A i j = d i s t ( f ( d t i ) , f ^ ( T t − 1 j ) ) + α I O U ( d t i , d t j ^ ) \mathbf {A}_{ij}=dist(\mathbf {f}(\mathbf {d}_{t}^{i}),\hat {\mathbf {f}}(\mathbf {T}_{t-1}^{j})) +\alpha \mathbf {IOU}(\mathbf{d}_{t}^{i},\hat {\mathbf {d}_{t}^{j}}) Aij=dist(f(dti),f^(Tt1j))+αIOU(dti,dtj^)
​ 轨迹的辨别性特征$ \hat{\mathbf{f}}\left(\mathbf{T}_{t-1}^{j}\right)$随着外貌的变化通过常量赋权策略更新。外观特征的每个置信度值都是通过距离度量获得的,如内积空间。

​ 基于patch的特征提取裁剪的图片间的相关信息就丢失了,邻接空间关系只会被保留在坐标 d t i d_t^i dti中。直接使用Reid进行数据关联,而不考虑上下文信息,往往会造成较高的IDs以及降低模型追踪鲁棒性。为此,作者通过建模目标局部,进行干扰区分。

Spatial Local Correlation Layers

​ 采用Spatial Local Correlation Layers来建模将目标和其邻居关联的关系结构。在这个局部相关性层中,仅在目标和其坐标周围邻居之间进行特征相似度评估。令 l l l表示特征金字塔的层级, C l C^{l} Cl表示query特征 F q l ∈ R H l × W l × d l \mathbf {F}_{q}^{l} \in \mathbf {R}^{H_{l} \times W_{l} \times d_{l}} FqlRHl×Wl×dl和参考特征 F r l ∈ R H l × W l × d l \mathbf {F}_{r}^{l} \in \mathbf {R}^{H_{l} \times W_{l} \times d_{l}} FrlRHl×Wl×dl之间的correlation volume。那么 C l C^{l} Cl的计算公式如下:
C l ( F q , F r , x , d ) = F q l ( x ) T F r l ( x + d ) , ∣ ∣ d ∣ ∣ ∞ < = R C^{l}(F_{q},F_{r},\mathbf {x},d) = \mathbf {F}_{q}^{l}(\mathbf {x})^{T}\mathbf {F}_{r}^{l}(\mathbf {x}+d), ||\mathbf{d}||_{\infty}<= R Cl(Fq,Fr,x,d)=Fql(x)TFrl(x+d),d<=R

x ∈ Z 2 \mathbf {x}\in \mathbf {Z}^{2} xZ2是query特征图上的一个坐标, d ∈ Z 2 \mathbf{d}\in\mathbf {Z}^{2} dZ2则表示的当前位置的位移。这个位移会受到限制约束,即在任何方向的最大运动就是 R R R​。作者在这里使用了膨胀残差网络的技巧扩大感受野

使用逐一元素加法将correlation feature 合并到同意的外观表示中,为了实现这个操作,需要对context correlation feature编码以匹配外观特征 F t l F_{t}^{l} Ftl的通道数 d l d_{l} dl,编码结构采用MLP,合并之后的特征表示:
F C l = F t l + M L P l ( C l ( F t l , F t l ) ) \mathbf {F}_{C}^{l}=\mathbf {F}_{t}^{l} +\mathbf {MLP}^{l}(\mathbf {C}^{l}(\mathbf {F}_{t}^{l},\mathbf {F}_{t}^{l})) FCl=Ftl+MLPl(Cl(Ftl,Ftl))
​ non-local通过 F C l ∈ R H l × W l × d l F^l_C\in R^{H_l\times W_l\times d_l} FClRHl×Wl×dl增强成对信息的交互,生成四维的相关量: N L ( F c l ) ∈ R H l × W l × H l × W l NL(F_{c}^{l}) \in R^{H_l\times W_l\times H_l\times W_l} NL(Fcl)RHl×Wl×Hl×Wl捕获了所有成对图片位置的密集的匹配置信度。计算量大且吃缓存。作者提出的构建相关量十分高效,对于全局相关,该局部相关模型减少了延迟的开销。

Correlation at Multiple Pyramid Levels

​ 为了尽可能捕获长程依赖,作者提出在特征金字塔上进行correlation的学习,其示意图如下所示。一方面,作者希望correlation module能够捕获尽可能远距离的依赖,但是随着局部区域尺寸 R R R的增大,计算量和内存占用也会极具增加,这有损于模型的实时推理。另一方面,多目标跟踪天然需要处理多尺度目标。二阶段检测通过RoI pooling来估计目标尺度的不同,但是这种方法处理较慢。

在这里插入图片描述
​ 为了解决上述问题,作者使用卷积神经网络中通用的金字塔结构并且在特征金字塔上进行相关性学习。这里的多尺度金字塔相关性也可以看作多粒度特征的比较,其覆盖的空间上下文范围达到了 [ 0 , R × D × 2 l ] \left[0, R \times D \times 2^{l}\right] [0,R×D×2l],这里的 D D D表示膨胀率。接着,将这个相关性结果自顶向下传递,传递方式如下。
F ^ C l − 1 = C o n v ( U p s m a p l e ( F C l ) ) + F C l − 1 \hat {\mathbf {F}}_{C}^{l-1} = \mathbf {Conv}(\mathbf {Upsmaple}(\mathbf {F}_{C}^{l}))+\mathbf {F}_{C}^{l-1} F^Cl1=Conv(Upsmaple(FCl))+FCl1
​ 这样,可以在保持紧凑性和效率的同时,获得目标与整个全局上下文之间的近似相关性。pyramid correlation利用了视频中自然的时空连贯性。MOT可以分解为多个独立的SOT。论文的方法可以等效于特征金字塔上的密集孪生网络跟踪。另一方面,从集合匹配的角度来看,需要考虑全局特征。多尺度关联考虑了信息传输的两个方面。

Temporal Correlation Learning

​ 在MOT领域,不同帧之间的相关性常常被忽略,跟踪器一般通过数据关联来克服遮挡问题。单帧检测器很难确保良好的时间一致性,这使得算法在遮挡、运动模糊和小目标场景下的性能显著下降。作者拓展了上文设计的空间局部相关性到时间维度上,建立了不同帧上目标的相关性。两个帧之间的相关性可以看作是运动信息的学习。作者使用这种相关性来增强特征表示,从而可以提高检测精度。

​ 具体来看,作者在不同的帧之间建立多尺度相关性并且使用参考图像作为memory来增强图像特征,这个方法帮助跟踪器克服目标遮挡和运动模糊等问题,并且增强了检测和识别特征的一致性。
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{aligned…
​ 上面的式子是时间correlation volume的计算方式,类似多头注意力,这里采用嵌入特征和点积相似度。标准化因子设置为 ( 2 R + 1 ) 2 (2 R+1)^{2} (2R+1)2并且局部进行特征聚合。这种缩小区域的设计也源于MOT场景下的运动先验。为了最小化内存消耗和最快的运行时间,作者只能将以前的特征 F t − 1 \mathbf{F}_{t-1} Ft1保存在内存中。 为了获得最大的准确性,长程模型默认情况下会保存最新的5帧图像特征

Self-supervised Feature Learning

​ correlation module可以作为一个插件模块,在不需要显式引入约束的前提下嵌入网络中,类似non-local模块。作者研究了一种多任务学习方法,该方法实施了一种来自视觉目标跟踪的语义监督和来自correspondence flow的基于correlation的自监督训练。这里的correlation module是可解释的,它评估不同目标之间的相似性。实际上,论文的方法会密集进行 M × N M \times N M×N次孪生跟踪操作以增加判别度。从这个角度来看,可以显式施加跟踪监督。具体来看,GT标签设置如下,其中的 y \mathbf{y} y是特征图中相应位置的ID标签。忽略没有目标的位置即 y q ( x ) < 0 \mathbf{y}_{q}(\mathbf{x})<0 yq(x)<0并且使用类平衡交叉熵损失进行训练。
KaTeX parse error: Undefined control sequence: \mbox at position 93: …in{cases} 1, & \̲m̲b̲o̲x̲{if } y_{q}(\ma…
​ 受到最近的自监督跟踪的启发,作者使用着色作为代理任务来训练局部相关性模块,在将颜色空间量化为离散类别之后,使用交叉熵分类损失。从reference图像到query图像的的变换如下。
I ^ q ( x ) = ∑ ∀ ∣ ∣ d ∣ ∣ ∞ < R C l ( F q , F r , x , d ) ( 2 R + 1 ) 2 I r ( x + d ) \hat {I}_{q}(\mathbf {x}) =\sum_{\forall ||d||_{\infty}<R} \frac {\mathbf {C}^{l}(\mathbf {F}_{q},\mathbf {F}_{r},\mathbf {x},\mathbf {d})}{(2 \mathbf{R}+1)^{2}}\mathbf{I}_{r}(\mathbf {x}+\mathbf {d}) \\ I^q(x)=d<R(2R+1)2Cl(Fq,Fr,x,d)Ir(x+d)
Tracking Framework

​ 这里的backbone作者采用和FairMOT类似的设计,只是在IDA模块前加了个correlation模块。保持原有的检测和ReID分支的前提下,增加了一个correlation loss来进行多任务学习。使用匈牙利算法基于相似度矩阵对当前帧检测和历史轨迹进行匹配。未匹配的检测用来初始化新的轨迹,为了减少假阳性,将这些新轨迹标记为"inactive"知道下一帧依然匹配上才确认为"active"。未匹配的轨迹设置为"lost"状态,当连续lost时间 t l o s s t_{loss} tloss达到阈值 $\tau_{loss} $时,将其移入移出集中。如果在移入前重新匹配上,则恢复这个轨迹。使用卡尔曼滤波来建模运动,这和FairMOT类似。

Experiments
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值