Track to Detect and Segment: An Online Multi-Object Tracker论文阅读总结

4 篇文章 0 订阅

论文与代码链接:地址

TraDes

主要结构:如图1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K7D1Io0c-1617282789053)(E:\Typora\upload\image-20210328211816824.png)]

图1

φ:CenterNet的backbone,输入是一帧图片,输出是特征:ft∈RHF×WF×64

这里的尺寸是原图的1/4

另一个产生P的分支还不太理解,需要看源码

CVA(Cost Volume based Association):这里提到的Cost Volume应该是Multi-View Stereo中用到的,他表示的是某一帧中某一个像素点与另一帧中其他像素点的相似度也可以说是匹配代价(更加生动形象的回答建议看https://www.zhihu.com/question/366970399中第一条和第三条回答)。在这里插入图片描述

  • σ中有三个卷积层,主要作用是提取该帧的re-ID embedding——et∈RHF×WF×128(个人认为这里可以理解成每个点都用128维的向量表示,然后以此来判断两点的相似度。)

  • MP+R:得到et之后需要进行最大池化和Reshape得到e’t ∈RHC×WC×128 ,HC = HF/2,WC = WF/2(这一步就是为了下采样,缩小为之前的1/2)。

  • C:在第 t t t帧和第 t − τ t-\tau tτ帧经过之前的操作之后,得到了各自最终的re-ID embedding。然后就要通过矩阵乘法得到两帧中各个点之间的相似度。 C i , j , k , l = e i , j ′ t e k , l ′ t − τ T C_{i,j,k,l}=e^{'t}_{i,j}e^{'t-\tau T}_{k,l} Ci,j,k,l=ei,jtek,ltτT(关于这里为什么使用向量的积衡量相似度可以看这里的第一条回答https://www.zhihu.com/question/366970399) , C ∈ R H C × W C × H C × W C C∈R^{H_C×W_C×H_C×W_C} CRHC×WC×HC×WC 因为一帧的特征图是 H C × W C H_C×W_C HC×WC然后每一个点都要和另一帧中每一个点求一个相似度,所以最终的维度就是 H C × W C × H C × W C H_C×W_C×H_C×W_C HC×WC×HC×WC。这里也对其维度进行了解释:在这里插入图片描述

在这里插入图片描述

这里的 C i , j C_{i,j} Ci,j代表的是,第t帧中的(i,j)点和第 t − τ t-\tau tτ帧中所有点的相似度。可以把每一个 C i , j C_{i,j} Ci,j看成是一个二维矩阵,如上图所示。1也即是说第t帧中每一个点都对应一个尺寸为Hc×Wc的二维矩阵,矩阵中每一个元素分别对应第t帧中某个点与第 t − τ t-\tau tτ帧中某一点的相似度。

  • Tracking Offset:

    例如要计算第t帧中的(i,j)点的offset就要找到第 t − τ t-\tau tτ中哪一点与该点的相似度最高。分别用尺寸为Hc×1和1×Wc的kernel对特征图进行最大池化,一遍确定k和l(第 t − τ t-\tau tτ中与(i,j)相似度最高的点)。
    在这里插入图片描述

    这个offset公式也不难理解

  • training:

    只有 σ ( ⋅ ) \sigma(·) σ()部分需要学习,也就是训练。训练的目标是使得其学到一个有效的re-ID embedding e。为了监督e,我们加强了对cost volume的监督,而不是像其他常见的re-ID loss那样直接对e进行监督。在这里插入图片描述

    当第t帧中的(i,j)点与 t − τ t-\tau tτ帧中的(k,l)点匹配上之后 Y i , j , k , l Y_{i,j,k,l} Yi,j,k,l的值即为1,否则为0,此处使用focal loss作为损失函数,该函数是为解决one-stage目标检测中正负样本比例严重失衡的问题。该损失函数降低了大量简单负样本在训练中所占的权重,也可理解为一种困难样本挖掘。也就是说,当 C i , j , l W C^W_{i,j,l} Ci,j,lW C i , j , k H C^H_{i,j,k} Ci,j,kH被优化为接近1时,它强制一个对象不仅在前一帧中接近自己,而且排斥其他对象和背景区域。

  • CVA的特点:

    • 常见的re-ID损失只强调类内差异,这可能会降低检测性能。相比之下,我们的loss,不仅强调类内差异,还强调类间差异。我们发现这种方法与检测损失更相容,并且学习有效的embedding而不损害检测。
    • 因为跟踪偏移是基于外观embedding相似性来预测的,所以它可以在大范围运动和低帧速率下跟踪对象,甚至在训练集中未看过大范围运动的情况下,在跟踪时依旧可以正确计算偏移。如下图所示在这里插入图片描述
    • CVA产生embedding和跟踪偏移,用于长期数据关联,并作为MFW的运动线索。

MFW:将预测的跟踪偏移OC作为运动线索来扭曲和传播 f t − τ f^{t-\tau} ftτ到当前时间,以便补偿和增强 f t f^t ft

  • γ \gamma γ:3×3卷积,这里我理解的是,该部分的输入是两帧之间各个前景的中心点的offset,We optionally incorporate the residual feature of f t − f t − τ f^t− f^{t−τ} ftftτas the input of γ(·) to provide more motion clues. O D ∈ R H F × W F × 2 K 2 O_D∈R^{H_F×W_F×2K^2} ODRHF×WF×2K2

  • f ˉ t − 1 \bar f^{t-1} fˉt1: f ˉ q t − 1 = f q t − 1 H a d a m a r d P a g n t − τ \bar f^{t-1}_q = f^{t-1}_q Hadamard P^{t-\tau}_{agn} fˉqt1=fqt1HadamardPagntτ ,q = 1,2,……,64 q表示的是通道索引, P a g n t − τ ∈ R H F × W F × 1 P^{t-\tau}_{agn}∈R^{H_F×W_F×1} PagntτRHF×WF×1 是从 P t − τ P^{t-\tau} Ptτ中获取的the class agnostic center heatmap,这里我的理解: P a g n t − τ ∈ R H F × W F × 1 P^{t-\tau}_{agn}∈R^{H_F×W_F×1} PagntτRHF×WF×1是一个标出来前景的一个图

  • DCN:deformable convolution network , f ~ t − τ = D C N ( O D , f ˉ t − τ ) ∈ R H F × W F × 64 \tilde f^{t-\tau} = DCN(O^D,\bar f^{t-\tau})∈R^{H_F×W_F×64} f~tτ=DCN(OD,fˉtτ)RHF×WF×64关于DCN的讲解可以参考https://zhuanlan.zhihu.com/p/52476083

  • 当发生遮挡或运动模糊时,检测器可能会遗漏对象。文中提出通过聚集传播的特征 f t − τ f^{t-\tau} ftτ来增强特征 f t f^t ft,在特征 f t f^t ft上遮挡和模糊的物体在特征 f t − τ f^{t-\tau} ftτ上是清晰的在这里插入图片描述

    f ~ t \tilde f^t f~t 是增强特征,这里看公式可以理解为把该帧图片和前T帧的图片特征通过加权的方式结合起来,这里T应该是自己设置的,文中如图1所示应该设置的为1,也就是只受前一帧的影响

Data Association:

给定以位置(i,j)为中心的检测和分割物体,我们要执行两轮数据匹配

  • 首先我们把该物体与上一帧中在区域A中的最接近的物体进行关联。区域A是以 ( i , j ) + O i , j C (i,j)+O^C_{i,j} (i,j)+Oi,jC为中心,γ为半径,其中r是检测到的盒子的宽度和高度的几何平均值, O i , j C O^C_{i,j} Oi,jC是前面求出来的tracking offset,这里的 ( i , j ) + O i , j C (i,j)+O^C_{i,j} (i,j)+Oi,jC也就是第t帧中该物体在上一帧中的位置。
  • 如果d在第一轮中没有匹配任何目标,我们计算其embedding e i , j t e^t_{i,j} ei,jt与所有未匹配或历史轨迹embedding的余弦相似度。如果它们的相似度最高并且大于阈值,例如0.3,则d将被分配给该轨迹。该轮关联可以进行长期关联,如果d在以上两轮中为与任何轨迹关联,那么d将创建一个新的轨迹。

TraDeS Loss

L = L C V A + L d e t + L m a s k L=L_{CVA}+L_{det}+L{mask} L=LCVA+Ldet+Lmask

与其他多目标跟踪算法的主要不同:如图2

在这里插入图片描述

图2

主要区别(也可以说目前其他JDT算法存在的在本文中被解决的问题):

  1. 与大多数JDT跟踪方法不同的是,所提出的JDT跟踪器在一个端到端的统一框架内将跟踪和检测紧密地结合在一起,其中来自跟踪的运动线索被用来增强检测或分割。其他的JDT类型算法就像图2(b)所示,detection是一个孤立的部分。

  2. 常见的re-ID跟踪损失与联合训练单个骨干网络时的检测损失不兼容,这甚至可能在某种程度上损害检测性能。re-ID侧重于类内差异,而检测旨在扩大类间差异和最小化类内差异。这里我的个人理解:多目标检测,无论是单阶段还是两阶段,最终都是要把检测到的物体进行分类,所以一定是要让类间的差异更加明显。而re-ID的话,就比如人员re-ID,这是要区分是否是同一个人,那这就是需要在增加同类中不同个体之间的差异。

以上仅代表个人见解,如有错误可以指出并讨论,希望大家多多包涵!

参考文献:https://blog.csdn.net/qq_41214679/article/details/114962745

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值