Proposal Classifier for MOT

论文标题:Learning a Proposal Classifier for Multiple Object Tracking –CVPR

论文地址:https://arxiv.org/abs/2103.07889

论文源码:https://github.com/daip13/LPC_MOT

Introduction

​ 提出了一个新的基于proposal的可学习框架。该框架类似于两步目标检测器Faster-RCNN,可以以数据驱动的方式解决MOT问题。为了生成proposal,我们提出了一种迭代图聚类方法,以降低计算成本的同时保持生成的提案的质量。对于proposal评分,使用一个可训练的图卷积网络(GCN)来学习生成的proposal的结构模式,并根据估计的质量分数对它们进行排序。对于轨迹推断,采用了一种简单的去重叠策略来生成跟踪输出,同时遵守没有检测不能分配给多个跟踪的约束条件。

主要贡献

  1. 提出了一个新颖的可学习框架建模MOT为proposal的产生、打分和选择推理的过程。
  2. 为proposal的生成提出了一个图聚类策略,有效减少计算的同时保证提出了proposal的质量。
  3. 使用一个GCN为proposal进行打分,直接优化proposal,而非优化两两之间的匹配,通过GCN的信息聚合能力,增加预测的准确性。

​ 使用两个关键模块来设计MOT算法:1)proposal生成策略 2)使用图卷积网络(GCN)进行proposal评分策略。给定一组轨迹(使用简单机制局部分组检测集),proposal生成模块生成一组proposal,其中包含完全覆盖每个人最近帧的完整轨迹集,但也可能有多个受污染轨迹集的proposal(即将多个不同的人重叠生成一个proposal)。下一步是通过使用可训练的GCN来确定proposal最优的匹配,并使用学习到的排名/评分函数对它们进行排序。最后,采用一种推理算法,给定每个proposal的排名生成跟踪输出,同时遵守典型的跟踪约束,比如没有分配给多个轨道的检测。

Method

​ 以批处理方式进行模型数据关联的一种常用方法是使用图,其中每个节点表示一个检测,每条边表示节点之间可能的链接。然后,数据关联可以转换为一个图的划分任务,即找到最佳的活动边集来预测图的划分成轨迹。

​ 给定一批视频帧和相应的检测D={d1,d2,...dk}D=\lbrace d_{1},d_{2},...d_{k}\rbraceD={d1,d2,...dk}​,其中kkk​为所有输入帧的检测目标框总数。每个检测框都用di=(oi,pi,ti)d_{i}=(o_{i},p_{i},t_{i})di=(oi,pi,ti)​表示,其中oio_{i}oi​表示边界框的原始像素值,pip_{i}pi​包含其二维图像坐标,tit_{i}ti​表示表示时间帧。轨迹定义为一组时间有序的检测框Ti={di1,...din}\mathcal {T}_{i}=\lbrace d{i_{1}},...d_{i_{n}} \rbraceTi={di1,...din}​,其中nin_{i}ni是形成轨迹iii的检测次数。

Data Pro-Processing

​ 为了减少proposal生成过程中的模糊性和计算复杂度,轨迹集T={τ1,τ2,...τn}\mathcal T=\lbrace \tau_{1},\tau_{2},...\tau_{n} \rbraceT={τ1,τ2,...τn}的生成通过连接相邻帧的检测DDD。这些轨迹片段作为之后任务的基础模块。

Proposal Generation

​ 如图(b)所示,采用了G=(v,ϵ)G=(v,\epsilon)G=(v,ϵ),其中v={v1,v2,...vn}v=\lbrace v_{1},v_{2},...v_{n} \rbracev={v1,v2,...vn},ϵ∈v×v\epsilon \in v \times vϵv×v来表示结构化跟踪数据集T\mathcal TT。其中图中的一个子集Pi={vi}P_{i}=\lbrace v_{i} \rbracePi={vi}就是一个proposal。提出了一种迭代图聚类策略,通过模拟自下向上的聚类过程,它可以在proposal质量和计算成本之间提供良好的权衡。

Proposal Scoring

​ 对于所有的Proposal集合P={Pi}P=\lbrace P_{i} \rbraceP={Pi},需要进行计算相应得分并进行排序,从而选择轨迹的最优表示。得分可以定义为准确率和召回率的组合:
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{aligned…

​ 其中w是控制精度分数的加权参数,PiP_{i}Pi​是所有检测标签的GT集,|·|测量检测的数量,n(Pi)n(P_{i})n(Pi)​表示一个Proposal中包含的目标数量。prec测量纯度,rec反映了Pi与匹配的GT集的接近程度。

​ 采用基于GCN的网络来学习估计上述定义的prospoal分数。proposal的准确率可以通过训练过程学习双交叉熵损失的精度。但是召回率不遍历所有的proposal就很难学习,作者发现当精度较高时,标准化后的轨道长度(∣Pi/C∣|P_{i}/C|Pi/C,其中C是归一化的常数)与提案的召回率呈正相关。可以通过近似这个参数估计召回率,将网络集中训练提高Proposal准确率。最后的轨迹推断使用类似NMS的去重叠算法,将排序后的轨迹集T⋆\mathcal T_{\star}T匹配最优结果。

Iterativate Proposal Generation

​ 作者使用trackletsT={T1,…,Tn}\mathcal T = \{\mathcal T_1,\dots,\mathcal T_n\}T={T1,,Tn}作为图构建的基础单元,n表示tracklets的数目,远少于检测数目k。首先使用CNN对于每个检测did_{i}di提取相应的ReID特征αi\alpha_{i}αi​ 。然后基于外貌时间和位置信息这三个相似度计算两个检测或者检测和tracklets之间的总体相似度。最终,通过基于affifity使用匈牙利算法连接检测产生tracklets。tracklets的纯度直接影响后续的推理实验。

​ 这里作者使用一个双向阈值策略,对于高affifity相关的使用高的阈值θ1\theta_1θ1 ,使用低阈值θ2\theta_2θ2​​ 避免关联存在相似的目标。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qNeUUtrS-1640485103450)(image/

​ 迭代proposal生成的可视化。在每次迭代中,只有满足阈值的一小部分边(红色实线)是激活的。在迭代iii​​中生成的每个集群将在迭代i+1中被分组为一个顶点。为了保持集群的纯度,在前几次迭代中设置了严格的阈值。随着迭代次数的增加,这些阈值将逐渐放宽,以增加proposal的生成。

​ 集群,为了在早期迭代中保持生成的集群的高纯度,我们将每个集群的最大限制在一个阈值smaxs_{max}smax值以下。在这个阶段,目标对象的顶点可能会被过度分割成几个集群。在迭代i中生成的集群被用作下一次迭代的输入顶点。一个新的图可以建立在这些集群的基础上,从而产生更大大小的集群。最终的proposal集包括每次迭代中的所有集群,从而提供了一个过于完整和多样化的proposal集群P=PiP={\mathbf P_{i}}P=Pi

Affifinity Graph Construction.

​ 在每次迭代iii​就会构建一个Affifinity图建模所有顶点V:={v1,v2...vn}V:=\lbrace v_{1},v_{2}...v_{n} \rbraceV:={v1,v2...vn}​之间的相似度。顶点oi=(αi,ti,pi)o_{i}=(\alpha_{i},t_{i},p_{i})oi=(αi,ti,pi)​,其中αi\alpha_{i}αi​是proposal的平均ReID特征,ti={tis,...tie}t_{i}=\lbrace t_{i}^{s},...t_{i}^{e} \rbraceti={tis,...tie}​是proposal中检测的排序时间戳,也就是不同时间内的目标对象的位置pi={pis,...pie}p_{i}=\lbrace p_{i}^{s},...p_{i}^{e} \rbracepi={pis,...pie}​是相应的二维图像坐标。一个边缘的affifinity得分(vi,vj)(v_{i},v_{j})(vi,vj)​定义为基于时间、空间和外观相似性的平均得分:
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{aligned…
​ g(⋅)表示两定点间的最小时间距离,如果两节点在相同的时间戳上g(ti,tj)=−1\mathbf{g}(t_i,t_j)=−1g(ti,tj)=1, f(⋅)\mathbf {f}(\cdot)f()代表顶点viv_ivi的预测框中心和顶点vjv_{j}vj的开始框中心之间的欧氏距离,σp,σt\sigma_{p},\sigma_{t}σp,σt为控制参数。

Purity Classifification Network

​ 在经过前面网络的生成集群得到了一个Affifinty 矩阵和proposal集群P=PiP={\mathbf P_{i}}P=Pi。在此阶段用纯度分类网络来估计生成的Proposal集的精度分数{prec(Pi)}\lbrace prec(\mathbf {P_{i}})\rbrace{prec(Pi)}​。具体来说,给定一个proposalPi={vi}i=1NiP_{i}=\lbrace v_{i} \rbrace_{i=1}^{N_{i}}Pi={vi}i=1NiNiN_{i}Ni顶点,GCN网络将其顶点和子图affifity矩阵作为输入,预测PiP_{i}Pi是概率。

Design of Feature Encoding

​ 对于每个检测框did_{i}di​​,使用CNN进行特征提取。每个ReID特征图表示为αi\alpha_{i}αi​​,对应的节点为viv_{i}vi​​使用检测特征图的均值表示。每个PropoalPi={vi}i=1NiP_{i}=\lbrace v_{i} \rbrace_{i=1}^{N_{i}}Pi={vi}i=1Ni​都是按照每个顶点的开始帧升序排序的,即在相邻帧中不同检测目标按时间排序,对于每一对时间关联的跟踪轨迹viv_{i}vi​和vi+1v_{i+1}vi+1​,节点viv_{i}vi​的结束时间戳和节点vi+1v_{i+1}vi+1​的开始时间戳分别表示为teit_{ei}tei​和tsi+1t_{si+1}tsi+1​,时间戳中的边界框参数为(xi,yi,wi,hi)(x_{i},y_{i},w_{i},h_{i})(xi,yi,wi,hi)​和(xi+1,yi+1,wi+1,hi+1)(x_{i+1},y_{i+1},w_{i+1},h_{i+1})(xi+1,yi+1,wi+1,hi+1),并且通过公式计算节点viv_ivi的时间特征stist_{i}sti
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{aligned…
​ 通过外观相似度和时间特征,concat形成特征编码fi=concat(αi,sti)f_{i}=concat(\alpha_{i},st_{i})fi=concat(αi,sti).

Design of GCN

​ 在获得检测框集PiP_{i}Pi节点的特征记为F0(Pi)F_{0}(P_{i})F0(Pi)。对于PiP_{i}Pi的affifity矩阵记为A0(Pi)A_{0}(P_{i})A0(Pi)​,使用零一全连接的L层图网络。计算每个顶点和其邻居的特征的带权均值和,经过变换学习到每个Proposal的内在一致性。
Fl+1(Pi)=σ(D(Pi−1)⋅(A(Pi)+I)⋅Fl(Pi)⋅Wl)F_{l+1}(P_{i})=\sigma(D(P_{i}^{-1})\cdot (A(P_{i})+I)\cdot F_{l}(P_{i})\cdot W_{l}) Fl+1(Pi)=σ(D(Pi1)(A(Pi)+I)Fl(Pi)Wl)
​ 其中D(Pi)=∑jAij(Pi)D(P_{i})=\sum_{j}A_{ij}(P_{i})D(Pi)=jAij(Pi)是对角的出入度矩阵,Fl(Pi)F_{l}(P_{i})Fl(Pi)表示第L层的特征embedding。WlW_{l}Wl是变换矩阵,σ\sigmaσ为非线性激活函数,在顶层的特征embeddingFl(Pi)F_{l}(P_{i})Fl(Pi),所有的顶点使用一个最大池化来获取最终的结果,最后使用一个全连接层进行分类。​

Trajectory Inference

​ 获得了纯度分类的结果,可以通过公式1获得所有proposals的质量得分。通过一个简单的去重叠算法保证每个tracklet都可以被分配到一个独一无二的ID。

​ 首先:对所有的proposals按照质量得分进行降序排序。然后:从排名列表中序列化的为proposal中每个节点分配ID,并且去除所有proposal中已经被处理过的顶点。

Result


执行以下步骤:首先,估计所有现有proposal的置信度;其次,收集质量分数最高的建议,并为该proposal中的顶点分配唯一的跟踪ID;第三,通过删除在前面的proposal中的顶点来修改剩余的proposal。

Learning a Proposal Classifier for Multiple Object Tracking相关推荐

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

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

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

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

  3. Quasi-Dense Similarity Learning for Multiple Object Tracking

    QDTrack 论文标题:Quasi-Dense Similarity Learning for Multiple Object Tracking 论文地址:https://arxiv.org/pdf ...

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

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

  5. Improving Multiple Object Tracking with Single Object Tracking

    论文地址:Improving Multiple Object Tracking with Single Object Tracking SOTMOT 介绍和相关工作 SOTMOT Backbone网络 ...

  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,以便实现后续的轨迹预测.精准查找等工作. 多目标跟踪中即要面对 ...

  10. Multiple Object Tracking with Mixture Density Networks for Trajectory Estimation 详细解读

    文章目录 简介(abstract) 介绍(introduction) 相关工作(Related Work) 轨迹预测(Trajectory Estimation) Mixture Density Ne ...

最新文章

  1. iMeta期刊推特官方帐号@iMetaJournal上线
  2. 清华大数据软件成果亮相第三届数字中国建设峰会成果展览
  3. stm32 udp连续发送大量数据_TCP和UDP详解
  4. OpenWrt-DreamBox 20120201下设置二级路由
  5. wpservice.exe应用程序错误
  6. 攻防世界-web-ics-07-从0到1的解题历程writeup
  7. linux 文件的压缩和打包
  8. css图片的全屏显示代码-css3
  9. php接收base64图片并保存
  10. Xshell 连接腾讯云、阿里云centos服务器
  11. sa结构组网方式_5G建网:先NSA还是SA?
  12. Atitit httpclient 概述 rest接口 目录 1. Httpclient 利用http协议的client类库与技术方法 1 2. 功能用途 why 2 2.1. 上传下载文件 2
  13. 毕业设计| 语音识别智能家居制作
  14. 局域网SDN技术硬核内幕 一 从二层到大二层
  15. HashMap源码分析与实现
  16. Android显示raw格式,手机上怎么处理RAW格式?有何不同?
  17. 脚崴了!又肿又疼怎么办?
  18. 论文写作——如图所示
  19. 1023: 大小写转换
  20. 企业官网小程序有什么作用

热门文章

  1. 第一章 : JVM与体系结构
  2. 老徐和阿珍的故事:Runnable和Callable有什么不同?
  3. Hibernate 检索策略的学习
  4. 3DMAX的vray自发光材质为什么渲出来是黑的?
  5. WTL 自绘控件库 (CQsComboBox)
  6. 学校固定资产计算机台账,(一)固定资产台账.doc
  7. 快速了解电力IEC104协议规约
  8. 想打游戏/追剧,又放心不下学习,该怎么办?
  9. 碳带与标签匹配规则及效果测试
  10. Windows10创建系统还原点