QDTrack

论文标题:Quasi-Dense Similarity Learning for Multiple Object Tracking

论文地址:https://arxiv.org/pdf/2006.06664.pdf

论文源码:https://github.com/SysCV/qdtrack

收录于2021CVPR

Motivation

​ 过去工作,相似度学习知识是作为一个检测后的事后阶段,并且只是用稀疏GT框作为训练样本。事实上,如果目标的表示被尽可能的学到,那么就使用embedding的最近邻方法也可以关联和区别实例。

除了GT框,其实密集的检测框也是有监督价值的,接近GT框的检测框,可以提供类似正样本的参考。相反接近背景的可以作为负样本的参考。

​ 作者提出的QDTrack密集匹配一对图片上的上百个感兴趣区域,通过对比损失进行学习参数,密集采样会覆盖图片上大多数的信息区域。通过对比学习,一个样本会被训练同时区分所有的Proposal,相较于只使用GT标签来训练监督,更加的强大且增强了实例的相似度学习。对于消失轨迹的处理,会将背景作为一类,从而进行双向softmax增强一致性。实验采用使用轻量级embedding提取器和残差网络的Faster R-CNN来构建QDTrack模型。

​ 并且不同于其他工作依赖运动模型和位移预测,将外貌相似度作为第二补充,QDTrack直接从密集连接对比对中学习实例相似度,且最终关联步骤只是简单的最近邻搜索。

Methodology

作者定义了数据关联时三种匹配:

  1. 密集匹配:匹配所有像素点的候选边界框
  2. 拟密集匹配:考虑信息丰富区域的可能目标候选间的匹配
  3. 稀疏匹配:只考虑GT标签作为匹配候选

利用准密集匹配进行多目标跟踪的主要成分是目标检测、实例相似性学习和对象关联。

Object detection

论文中使用带有FPN的Faster R-CNN作为检测器。整个任务可以优化为一个多任务损失函数:
Ldet=Lrpn+λ1Lcls+λ2Lreg\mathcal{L}_{det}=\mathcal{L}_{rpn}+\lambda_{1}\mathcal{L}_{cls}+\lambda_{2}\mathcal{L}_{reg} Ldet=Lrpn+λ1Lcls+λ2Lreg
其中RPN损失Ldet\mathcal{L}_{det}Ldet、分类损失Lcls\mathcal{L}_{cls}Lcls、回归损失Lreg\mathcal{L}_{reg}Lreg与原论文相同。损失权重λ1和λ2默认设置为1.0

Quasi-dense similarity learning

​ 如上图,一张关键图I1I_{1}I1用于训练,随机选择一个时序邻域作为推理图片I2I_{2}I2,邻域距离限制为k∈[−3,3]k\in [-3,3]k[3,3]个时间间隔。使用RPN从两张图片产生RoI,通过RoI Align从FPN来获得不同尺度的相应特征图。增加了一个轻量的embedding head,平行于原始的bounding box head,用于提取RoI的特征embedding。若RoI和某个GT的IoU大α1=0.7\alpha_1=0.7α1=0.7,则定义为该ID的正样本。若小于 α2=0.3\alpha_2=0.3α2=0.3则定义为负样本。不同帧上的RoI关联相同的ID则互相为正样本,否则互为负样本。

​ 假设关键图上有VVV个样本用来训练,推理图上有KKK个样本用作对比目标。对于每个训练样本,使用非参数softmax和交叉熵来优化特征embedding:
Lembed=−log⁡exp⁡(v⋅k+)exp⁡(v⋅k+)+∑k−exp⁡(v⋅k−)\mathcal {L}_{embed}=-\log \frac {\exp(\mathbf {v}\cdot\mathbf {k}^{+})}{\exp(\mathbf {v}\cdot \mathbf{k}^{+})+\sum_{k^{-}}\exp(\mathbf{v}\cdot\mathbf{k}^{-})} Lembed=logexp(vk+)+kexp(vk)exp(vk+)
v,k+,k−v,k^{+},k^{-}v,k+,k为训练样本,正目标样本,负样本的特征embedding。总体损失为所有训练样本的损失的均值,上面只显示了一个样本的一般情况。即只有一个相关的正样本情况下的损失。

​ 不同于于过去方法中的只用GT框来进行稀疏匹配学习不同对象的相似性,这里需要匹配图上所有的ROI,即I1I_{1}I1上的每一个样本都要匹配I2I_{2}I2上的样本,所以这里的关键图上的训练样本在推理帧上就不一定只有一个正目标,所以需要将公式改写为:
Lembed=−∑k+log⁡exp⁡(v⋅k+)exp⁡(v⋅k+)+∑k−exp⁡(v⋅k−)\mathcal {L}_{embed}=-\sum_{k^{+}}\log \frac {\exp(\mathbf {v}\cdot\mathbf {k}^{+})}{\exp(\mathbf {v}\cdot \mathbf{k}^{+})+\sum_{k^{-}}\exp(\mathbf{v}\cdot\mathbf{k}^{-})} Lembed=k+logexp(vk+)+kexp(vk)exp(vk+)
​ 但是上述公式,负样本依旧被使用了多次,而正样本只考虑了一次,所以需要重写改写公式:
Lembed=log[1+∑k+∑k−exp⁡(v⋅k−−v⋅k+)]\mathcal {L}_{embed}=log[1+\sum_{k^{+}}\sum_{k_{-}}\exp(\mathbf {v}\cdot \mathbf{k}^{-}-\mathbf{v}\cdot\mathbf{k}^{+})] Lembed=log[1+k+kexp(vkvk+)]

​ 进一步定义辅助L2损失:
Laux=(v⋅k∣∣v∣∣⋅∣∣k∣∣−c)2\mathcal {L}_{aux}=(\frac {\mathbf{v}\cdot{k}}{||\mathbf{v}||\cdot||\mathbf{k}||}-c)^{2} Laux=(vkvkc)2
​ 整个网络的联合优化为:
L=Ldet+γ1Lembed+γ2Laux\mathcal{L}=\mathcal{L}_{det}+\gamma_{1}\mathcal{L}_{embed}+\gamma_{2}\mathcal{L}_{aux} L=Ldet+γ1Lembed+γ2Laux
​ 实验中γ1\gamma_{1}γ1设为0.25,γ2\gamma_{2}γ2设为1.0.采样的所有正样本和三次的负样本计算辅助损失。

Object association

​ 例如,如果一个对象在匹配过程中没有目标或有多个目标,那么最近搜索将是不明确的。换句话说,一个对象在匹配的候选对象中应该只有一个目标。我们观察到,我们的推理策略,包括维护匹配的候选对象和测量实例相似性的方法,可以减轻这些问题。

Bi-directional softmax

​ 假设ttt帧中有NNN个的检测对象,特征embedding为nnn,以及过去xxx帧中存在MMM的候选对象,特征embedding为mmm,则通过双向softmax得到对象与匹配候选对象之间的相似性f\mathbf{f}f:
f(i,j)=[exp⁡(ni⋅mj)∑k=0M−1exp⁡(ni⋅mk)+exp⁡(ni⋅mj)∑k=0N−1exp⁡(nk⋅mj)]\mathbf{f}(i,j)=[\frac {\exp(\mathbf{n_{i}\cdot\mathbf{m}_{j}})}{\sum_{k=0}^{M-1}\exp(\mathbf{n}_{i}\cdot\mathbf{m}_{k})}+\frac {\exp(\mathbf{n_{i}\cdot\mathbf{m}_{j}})}{\sum_{k=0}^{N-1}\exp(\mathbf{n}_{k}\cdot\mathbf{m}_{j})}] f(i,j)=[k=0M1exp(nimk)exp(nimj)+k=0N1exp(nkmj)exp(nimj)]
​ 由这个f\mathbf{f}f直接通过最简单的最近邻搜索获得最终匹配。

No target cases

​ 若特征空间无目标对象,则不应和任何候选进行匹配。包括新出现的目标,消失的轨迹,以及一些假正性情况。通过双向softmax,这类目标和任何匹配候选最终都会获得很低的相似度得分。

​ 当检测置信度很高时,那就是新目标,作为新的轨迹开端。实验过程中,对于得分很低的目标,以往操作会直接丢弃,不参与匹配轨迹,这里作者认为尽管大多是都是假正性的,但是任然是有用的,因为可能会有未来的目标会和他们相匹配,因此会保留。实验表明这样的操作会减少假正的数量。

Multi-targets cases

​ 为了避免一个目标匹配上多个候选,会采用一个内间NMS进行去除后处理重复,对于检测置信度高于0.5的目标IoU上阈值设置为0.7保留,对应的,检测置信度低于0.5的,NMS下阈值设置为0.3直接丢弃。

Experiment



Quasi-Dense Similarity Learning for Multiple Object Tracking相关推荐

  1. Quasi-Dense Similarity Learning for Multiple Object Tracking(用于多目标跟踪的拟密集相似度学习)

    Quasi-Dense Similarity Learning for Multiple Object Tracking 论文:下载地址 代码:下载地址 QDTrack: 一. 介绍 二. 方法 1. ...

  2. Quasi-Dense Similarity Learning for Multiple Object Tracking 详细解读

    文章目录 摘要(abstract) 介绍(Introduction) 相关工作(related work) 理论(Methodology) object detection Quasidense si ...

  3. 【2D多目标跟踪】Quasi-Dense Similarity Learning for Multiple Object Tracking阅读笔记

    1.为什么要做这个研究(理论走向和目前缺陷) ? 之前的2D MOT里只用gt样本训练(基本沿用reid的训练所用的损失)embedding特征(记为reid特征).但是GT样本是稀疏的,没有充分利用 ...

  4. 多目标跟踪综述、论文、数据集大汇总 Awesome Multiple object Tracking

    Awesome Multiple object Tracking(持续更新) 综述 论文 2022 2021 2020 2019 2018 2017 2016 数据集 综述 Multiple Obje ...

  5. 阅读心得:Learning a Neural Solver for Multiple Object Tracking

    论文地址:Learning a Neural Solver for Multiple Object Tracking Learning a Neural Solver for Multiple Obj ...

  6. 跟踪算法基准--Tracking the Trackers: An Analysis of the State of the Art in Multiple Object Tracking

    Tracking the Trackers: An Analysis of the State of the Art in Multiple Object Tracking https://arxiv ...

  7. Multiple Object Tracking:多目标跟踪综述

    Multiple Object Tracking:多目标跟踪综述 多目标跟踪综述 多目标跟踪综述 摘要 1. 介绍 2. 算法知识 3. 总结 4. 可学习的资源及代码 摘要 本篇博客是多目标跟踪最综 ...

  8. FairMOT: On the Fairness of Detection and Re-Identification in Multiple Object Tracking 效果展示

    FairMOT: On the Fairness of Detection and Re-Identification in Multiple Object Tracking 效果展示 公开数据集指标 ...

  9. 多目标跟踪(MOT,Multiple Object Tracking)评价指标

    简述 在事先不知道目标数量的情况下,对视频中的行人.轿车.卡车.自行车等多个目标进行检测并赋予ID进行轨迹跟踪.不同的目标拥有不同的ID,以便实现后续的轨迹预测.精准查找等工作. 多目标跟踪中即要面对 ...

最新文章

  1. vscode插件可以直接复制到_一款可以让代码“跳舞”的 VS Code 插件:Power Mode
  2. 数据竞赛Tricks集锦
  3. div嵌套div 背景图片 不显示的问题
  4. java 括号匹配_java---括号匹配
  5. hdu1261 JAVA
  6. 攻防世界dice_game(pwn)
  7. Java方法中的参数太多,第2部分:参数对象
  8. 天津市电子计算机职业学院,天津市电子计算机职业中等专业学校
  9. [Java]向上/下转型Casting
  10. 2.1 物理层的基本概念
  11. 网页内置html5游戏,爽爆HTML5网页游戏!教你怎么精选浏览器
  12. web开发 学习_是否想学习Web开发但不知道从哪里开始?
  13. 【英语学习】【WOTD】katzenjammer 释义/词源/示例
  14. python爬虫-8个最高效的Python爬虫框架,你用过几个?
  15. android-studio-ide下载安装配置JDK第一个helloworld 一条龙
  16. Win10修改用户名及用户文件夹名
  17. 点击文件实现WPS工具预览功能
  18. 轻松又酷炫地实现弹幕效果——手把手教学
  19. java捕鱼增值版游戏下载_捕鱼游戏 java
  20. JavaWebJavaEE重要基础知识

热门文章

  1. 计算机设置休眠密码,win10系统如何设置电脑待机密码?windows10设置待机密码图文教程...
  2. Android11.0下应用管控实现解决方案(家长管理)(一)
  3. 中银国际证券java面试_Re: 【offer求比较】深圳关内老师vs中银国际证券后  - 找工作啦(Job)版 - 北大未名BBS...
  4. CC00082.spark——|HadoopSpark.V08|——|Spark.v08|Spark 原理 源码|Spark Context|
  5. 微信云开发——日记小程序
  6. 常见开关电源优缺点对比
  7. 微信 不用手机号注册
  8. 苹果iOS/iPadOS 15.2 Beta 1发布 app隐私报告?
  9. java面试基础题整理(二)
  10. 红星美羚育儿经:宝宝上火,是奶粉的祸?