CTracker

2020年ECCV的一篇论文提出了链式跟踪算法Chained-Tracker,在MOT领域首创了基于两帧输入的链式跟踪框架,实现了端到端的联合检测跟踪,且自称是第一个真正实现端到端的网络。

传统的多目标跟踪算法都是基于先检测后跟踪的框架,它们通常包含目标检测、特征提取、数据关联三个部分,这三个模块相互独立,导致整个跟踪流程耗时长且无法进行全局优化,其后的一些端到端的跟踪算法也只能说是部分端到端,此外,数据关联严重依赖于目标检测的质量,并且由于丢失了相邻帧的时间关系,导致很难跨帧生成可靠和稳定的结果。

之后为了提升精度,部分网络加入了ReID分支和注意力机制,ReID更有利于提取强壮的外貌特征来进行数据关联,注意力机制有助于集中关注那些主要特征,从而区别于复杂的背景,尽管有效但这耗算比例大,增加模型复杂度。

为了解决这些问题,该论文提出了链式跟踪算法CTracker,联合MOT三个步骤形成端到端的模型,通过独创的相邻两帧输入模式,在一个单一的回归模型中进行联合检测和跟踪,同时对相邻两帧对中同时出现的成对边界框进行回归,大大提高了跟踪准确性并降低了跟踪耗时。

如上图所示,相较于传统多目标跟踪算法,链式算法简洁高效,将跟踪算法中最具挑战性的目标关联问题巧妙地转化为两帧检测框对(box pair)回归问题。

为了进一步提高CTracker性能,该论文引入了一个联合注意力模块来预测置信度映射,它使用两个分支模型来知道成对边界框回归分支关注空间区域信息。一个是目标分类分支,用于预测边界框对中的第一个框的是否为前景的置信度得分。另一个是ID验证分支,用以评估边界框对中的目标是否为相同目标,从而促进回归分支的精度。最后边界框对根据分类分支置信度进行过滤,然后在两个相邻帧对中的公共帧中生成的边界框对使用IoU进行匹配关联。这样一来,对目标跟踪过程就可以通过链接所有的相邻帧对实现。


创新点

  • 首次提出了基于两帧输入的链式跟踪框架,实现端到端联合检测跟踪,将目标检测,特征提取,数据关联三个模块融合到一个网络进行全局优化,CTracker是第一个将跟踪算法中的数据关联问题转化为两帧检测框对回归问题的算法

  • 设计了联合注意力模块(JAM,Joint Attention Module)来突出检测框对回归中的有效信息区域,进一步提高跟踪效果,包括目标分类分支中的目标注意力机制和身份验证分支中的身份注意力机制。


算法细节

输入

传统MOT都是一张图像输入网络,而这篇论文独创的同时输入相邻两帧至网络中,两个相邻帧称之为一个节点(Chain node),网络输出节点中的所有检测框对,并且每个检测框对包含同一个目标在前后帧中的两个检测框,通过这种方式可以得到目标在相邻两帧中的检测框以及检测框之间的关联关系。

节点连接

如上图所示,对于两个相邻节点,前节点的后一帧与后一节的前一帧是同一帧,在此共同帧中,前节点输出的检测框和后节点输出的检测框基本一致,因此可用IoU算法进行匹配(传统MOT算法需要用复杂的特征提取和目标关联算法),关联上的检测框就赋予同一个id,以此类推,从第一个节点连接到最后一个节点,即可以得到完整的目标跟踪轨迹。

鲁棒性增强

为增强模型对各种遮挡和短期消失的鲁棒性,算法保留终止的轨迹和对应的ID σ帧,在这σ帧中持续使用一个简单的持续速度预测模型来进行运动估计,寻找他们的匹配目标。

例:In greater details, suppose target (D t−1l, D tl) cannot find its match is node t, we apply the constant velocity model to predict its bounding box P t+τ l in frame t + τ (1 <= τ <= σ) according to Dt−1 l (not the less reliable D t l ). When we chain node t + τ − 1 and node t + τ with { D t+τ−1 , D t+τ } and { D t+τ , D t+τ+1 } , the current set of all the predicted bounding boxes of retained targets denoted by P t+τ , is appended to D t+τ for matching with D t+τ . If P t+τ i gets a match, its tracklet will be extended by linking to the new bounding boxes.

有效性和局限性

有效性:当目标不在第t−1帧但出现在第t帧时,很可能在链节点(Ft−1,Ft)(F_{t-1}, F_t)(Ft−1​,Ft​)上没有生成边界框对。但是,只要这个目标在t+1帧继续出现,它就会被检测到下一个链节点(Ft,Ft+1)(F_t, F_{t+1})(Ft​,Ft+1​),并在那里得到一个新的轨迹和标识。类似地,如果目标在第t−1帧,但从第t帧消失,它将不会在节点(Ft,Ft+1)(F_t, F_{t+1})(Ft​,Ft+1​)中被检测到,导致其轨迹在节点t−1甚至t−2中终止。

局限性:链接操作本身不能完全参数化,因此它不能与回归一起优化。由于回归模型是主要的工作,并且不需要从链接操作中得到反馈,所以我们仍然使用“端到端”属性来描述CTracker。一个纯粹的端到端可训练模型需要对当前基于IoU匹配的链接策略进行可微分替换。


网络结构

CTracker的网络结构如上图所示,该网络使用两个相邻帧作为输入,回归相同目标的边界框,使用ResNet-50作为backbone提取高层语义特征,然后集成FPN生成特征金字塔用于后续预测,不同帧之间的backbone权重共享。为了相邻帧的数据关联,每个独立帧的不同尺度特征图首先需要连接到一起,然后输入预测网络对边界框进行回归。如上图所示,成对边界框回归分支为每个目标返回一个边界框时,目标分类分支预测一个目标是前景的置信度得分。目标分类ID确认分支用来引导注意力,从而避免无关信息的干扰。

为使得检测框对回归分支关注图像中的有效信息,该论文提出了联合注意力模块JAM,将目标分类分支和身份验证分支的注意力图同时到组合特征中,再输入至检测框对回归分支。检测框分类分支的注意力图使得检测框对回归分支更专注于感兴趣前景区域,身份验证分支的注意力图使得检测框对回归分支更专注于相同目标检测框对的回归。

为进一步降低检测跟踪的耗时,设计了内存共享机制Memory Sharing Mechanism (MSM),由于共同帧会输入到网络两次,为了避免重复输入导致的额外耗时,网络将对当前节点的后一帧进行保存,并直接输入到下一个节点作为前帧特征,对于最后一个节点,直接将最后一帧的特征复制一遍作为后帧特征即可。


以上便是CTracker的基本原理。

对于多目标跟踪论模型CTracker的解析相关推荐

  1. 不等距双杆模型_对磁场中双杆模型问题的解析(精)

    - 1 - 1 对磁场中双杆模型问题的解析 南京市秦淮中学 汪忠兵 研究两根平行导体杆沿导轨垂直磁场方向运动是力电知识综合运用问题, 是电磁感应部 分的非常典型的习题类型,因处理这类问题涉及到力学和电 ...

  2. MAYA影视动漫高级模型制作全解析出_完整版PDF电子书下载 带索引书签目录高清版...

    MAYA影视动漫高级模型制作全解析_页数384_出版日期2016.04_完整版PDF电子书下载 带索引书签目录高清版_13936277 下载链接  http://pan.baidu.com/s/1sk ...

  3. DeepLearning | 图注意力网络Graph Attention Network(GAT)论文、模型、代码解析

    本篇博客是对论文 Velikovi, Petar, Cucurull, Guillem, Casanova, Arantxa,et al. Graph Attention Networks, 2018 ...

  4. KBQA_多轮对话——模型源码解析(一)Pickle模块功能详解

    KBQA_多轮对话--模型源码解析(一)Pickle模块功能详解 pickle --- Python 对象序列化的基本功能 1.pickle基本概念 2.pickle 与 json 模块的比较 3.p ...

  5. matlab中非线性回归标准误,SPSS—非线性回归(模型表达式)案例解析_spss培训

    SPSS-非线性回归(模型表达式)案例解析 由简单到复杂,人生有下坡就必有上坡,有低潮就必有高潮的迭起,随着SPSS的深入学习,已经逐渐开始走向复杂,今天跟大家交流一下,SPSS非线性回归,希望大家能 ...

  6. HoloLens MRTK模型切割算法解析

    HoloLens MRTK模型切割算法解析 脚本解析 算法实现 修改shader实现不同的功能 修改Clipping Plane裁剪的范围 修改模型透明度 多个ClippingPrimitive对同一 ...

  7. 双11专栏 | 基于可微渲染模型的妆容解析技术

    2021年,我们推出了基于妆容解析技术的美妆AR自动配色服务,从而大幅度提升了美妆AR素材生产效率,加速了AR虚拟试妆的商品规模化覆盖.此外,基于妆容解析技术,我们推出了"口红搜" ...

  8. unet模型及代码解析

    什么是unet 一个U型网络结构,2015年在图像分割领域大放异彩,unet被大量应用在分割领域.它是在FCN的基础上构建,它的U型结构解决了FCN无法上下文的信息和位置信息的弊端 Unet网络结构 ...

  9. tensorflow打印模型图_从Tensorflow模型文件中解析并显示网络结构图(pb模型篇)...

    最近看到一个巨牛的人工智能教程,分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.平时碎片时间可以当小说看,[点这里可以去膜拜一下大神的" ...

最新文章

  1. python没基础可以学吗-无基础学python,能学会吗?
  2. 动态规划问题之一马当先
  3. 箱线图怎么判断异常值_箱形图(Box-plot)识别异常值,是否有数据依据?还是经验法则?...
  4. leetcode - 688. “马”在棋盘上的概率
  5. 深度学习最常用的10个激活函数!
  6. Django echarts初试随笔
  7. linux的环境变量相关的小记
  8. c语言入门自学ppt,《C语言基础知识》PPT课件.ppt
  9. android WebView加载淘宝天猫页面报找不到网址的错误
  10. 计算机专业博士发论文,计算机专业博士论文提纲范本模板 计算机专业博士论文大纲怎样写...
  11. 视网膜静脉阻塞危害大,及早治疗是关键!
  12. Linux OBS虚拟摄像头 解决方案
  13. 【面试系列三】面试是面试者与面试官的双向沟通,如何抓住面试官的小尾巴以及面试过程中需要避开的一些减分项!
  14. 数字经济2.0—趋势、逻辑、选择
  15. 字节一面:“为什么网络要分层?每一层的职责、包含哪些协议?”
  16. 学习笔记 | 高效能团队打造
  17. 02计蒜客 002蓝桥模拟
  18. 装逼必备:大型分布式网站术语分析
  19. 温度传感器php,温度传感器基础知识
  20. 计算机文档库怎么进,Windows电脑注册表怎么进?

热门文章

  1. python算24点穷举法_24点游戏7节课–第1节-游戏介绍与基本算法 | 学步园
  2. 【无标题】免费源码资源,游戏源码下载
  3. 12306订票候补是个坑_12306实现自动抢票了,候补购票功能在哪里,怎么用?
  4. python百度地图标注自己的店名_百度地图上怎么显示店名 百度地图标注店名方法...
  5. 港科夜闻|香港科技大学参与共建「粤港水安全保障联合实验室」,开展水资源风险评估等方面交叉研究和成果转化...
  6. Ubuntu 16.04 安装 uTorrent
  7. 算法设计与分析——动态规划(二):钢条切割
  8. 写给两个月前的自己的一封信
  9. 白盒测试简介与逻辑覆盖
  10. 韩乔生最牛的一次解说 (超级搞笑)