我是靠谱客的博主 风趣溪流,最近开发中收集的这篇文章主要介绍TransTrack简述,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

引言

  如图1a所示,当前的MOT方法一直遭受模型复杂性和计算成本的困扰。目标检测和重新识别分别进行,它们不能互惠互利,即难以一个backbone实现这两个任务,不会给两个连续帧之间的无序目标对或每个帧中不完整的检测目标带来挑战。回顾单目标追踪中,使用的孪生网络就是一种Query-Key机制,对象目标就是query,图像区域为key(图1b)。相同目标在不同帧中的外貌特征是极度相似的,能够使用Query-Key机制来输出有序目标集。相同的思想运用于MOT,过去帧目标特征作为query,当前帧图像特征作为key(图1c)。但是直接引入表现很差,一个主要原因是新目标的出现,却没有相应的query加入,从而导致新进入目标的丢失。
在这里插入图片描述
  本文提出一个新的用于联合检测和跟踪的MOT框架:TransTrack,如图2所示,利用Query-Key机制追踪当前帧已经存在的目标的同时完成新目标的检测。基于transformer结构,输入key为当前帧的特征图,输入query为一系列过去帧的目标特征以及一系列可学习的query。可学习的query是在网络上中预先训练的一组学习参数,用以检测新目标和输出检测边界框。过去帧目标特征由过去帧检测产生,用于定位当前帧中已存在的目标和输出轨迹框,通过简单的匹配检测框和轨迹框完成输出。本方法同时优化两个子网络完成当前帧轨迹框和检测框的检测,无需TBD范式那种独立优化。不同于传统的JDE范式,该方法没有使用任何的基于锚或者点的检测框架,而是使用基于query-key机制,将追踪目标定义为query。
在这里插入图片描述

相关工作

  由于工作是将query-key机制引入多目标跟踪模型中,因此首先回顾一下query-key机制在目标检测和单目标跟踪中的应用,然后深入探讨有关多目标跟踪的相关工作。
  目标检测中的query-key机制:query-key已成功应用于其自注意力和交叉注意力的实体的目标检测区域《Attention is all you need》,即关系网络《Relation networks for object detection》,DETR 《End-to-End object detection with transformers》,可变形DETR 《Deformable detr: Deformable transformers for end-to-end object detection》。其中,关于目标query的关系和全局图像上下文的不同之处在于并行地直接输出最终预测集。DETR简化了检测管道,有效地消除了对非最大抑制过程和锚生成的需求。我们注意到,这些目标检测框架可以直观地应用于多目标跟踪管道以提供目标检测。
  单目标跟踪中的query-key机制:最近,基于孪生网络的单目标跟踪器因其出色的跟踪精度和效率而受到了广泛的关注,这些跟踪器将视觉跟踪公式化为交叉注意力相关问题,希望能够从端到端学习过程中更好地利用深层网络的优点,而无需任何后续过程。基于孪生网络的跟踪器由两个网络分支组成,一个分支用于目标模板,另一个分支用于图像搜索区域。然后,跟踪器将两个网络分支的特征图融合在一起,并生成一个相似度图。遵循基本思想,SINT和SiamFC采用离线方式学习对象目标和候选图像补丁之间的相似性。使用预定义的锚框,SiamRPN可以有效地捕获目标的比例变化。 SiameseRPN ++提出了一种具有更深层次的新模型架构,以执行分层和深度聚合,这不仅进一步提高了准确性,而且减小了模型大小。SiamMask提出了一种新架构,该架构同时执行目标跟踪和半监督目标分割。
  基于检测的跟踪:这些方法的优点是它们分别针对每个任务使用最合适的模型。此外,它们根据检测到的边界框裁剪图像补丁,并在将其馈入深度网络之前将其调整为相同大小,这样,它们可以减少目标的比例变化,但是,这些方法有两个缺点,首先,检测器和外观模型是分开训练的,因此检测器和外观模型不能相互利用以获得更好的性能,其次,现有方法中的两个单独的网络大大增加了模型的复杂性和计算成本,为了解决这些问题,需要联合检测和跟踪方法。
  联合检测和跟踪:最近,联合检测和跟踪框架已开始吸引更多关注,D&T 《Detect to track and track to detect》使用孪生网络,将当前帧和过去帧作为输入,并预测边界框之间的帧间偏移。 Integrated-Detection《Integrated object detection and tracking with tracklet-conditioned detection》使用跟踪的边界框作为其他区域建议以增强检测,然后是基于二分匹配的边界框关联。Tracktor直接将先前的帧跟踪结果用作区域建议,然后应用边界框回归来提供跟踪结果,从而消除了框关联过程。JDE和FairMOT从共享的神经网络主干学习目标检测任务和外观嵌入任务。CenterTrack是一种同步检测和跟踪算法,可对物体进行定位并预测其与前一帧的偏移量。 ChainedTracker 《Chained-tracker: Chaining paired attentive regression results for end-to-end joint multiple-object detection and tracking》链接成对的边界框回归结果,这些结果是根据重叠节点估算的,其中每个节点都覆盖两个相邻的帧。在视频目标检测中,FGFA《Flow-guided feature aggregation for video object detection》使用光流使前一帧中的中间特征弯曲以加快推理速度。T-CNN《T-cnn: Tubelets with convolutional neural networks for object detection from videos》将堆叠的连续帧馈入网络,并对整个视频段进行检测。

方法

  假设一个理想的跟踪模型输出完整且有序的目标集。为此,TransTrack将学习的目标query和上一帧的目标特征作为输入query。学习到的目标query被解码成每帧的检测框,以提供常见的目标检测结果。 先前帧中的目标特征被解码为跟踪框。TransTrack基于同一帧上的跟踪框和检测框执行跟踪关联。 这使简单的基于bbox的IoU匹配策略能够关联两个连续的帧。TransTrack的架构细节如图3所示:
在这里插入图片描述
  TransTrack建立在Transformer上,Transformer是广泛使用的query-key机制实体。它包括编码器和解码器,两者均由堆叠的多头注意层和逐点完全连接的层组成。如果输入查询和输入键相同,则注意力称为自注意力,否则称为交叉注意力。逐点完全连接的层称为前馈网络,由线性变换和非线性激活函数组成。在transormer体系结构中,编码器生成密钥(key向量),而解码器将输入特定于任务的查询(Q向量)作为输入。这种query-key注意机制使其适合于序列任务,并具有出色的性能,例如自然语言处理和视频理解。
  TransTrack的编码器将两个连续帧的组合特征图作为输入来捕获有用的相关性,如图3的编码器块所示。为避免重复计算,当前帧的提取特征被临时保存,然后重新使用于下一帧。TransTrack中使用了两个并行解码器。从编码器生成的特征图被两个解码器用作公用密钥。这两个解码器设计为分别执行对象检测和对象传播。具体而言,解码器将学习的目标query作为输入,并预测当前帧上的检测框。另一个解码器将先前帧中的对象特征作为输入,并预测当前帧(即跟踪框)上相应对象的位置。
  目标检测:TransTrack利用学习到的目标query的概念在每个帧中执行目标检测。学习目标query首先在DETR中提出,DETR是一种基于query-key机制的新型目标检测器。学习目标query是一组可学习的参数,它们与网络中的所有其他参数一起训练。在检测期间,关键是从输入图像生成的全局特征图,学习的目标query将查找图像中感兴趣的对象,并输出最终的检测预测,称为“检测框”。 图3中的左侧解码器块说明了TransTrack的目标检测阶段。
  对象传播:给定在前一帧中检测到的对象,TransTrack通过对象传播的方式将这些对象传播到当前帧,如图3右侧的解码器块所示。该解码器的结构与左侧的解码器基本相同,但是它具有取之前帧中的目标特征作为输入query。
  Bbox关联:如果在同一帧中提供检测框和跟踪框,则TransTrack使用框IoU匹配方法来获取最终的跟踪结果,如图3所示。由于检测框和跟踪框都是同一帧中对象的位置,因此存在它们之间只有轻微的偏移。它允许一种简单的匹配策略(即box-IoU匹配)来关联两组盒。将Kuhn-Munkres(KM)算法《Naval research logistics quarterly》应用于检测盒和跟踪盒的IoU相似性,将检测盒与跟踪盒进行匹配。那些不匹配的检测框将作为新目标添加。
  训练数据:TransTrack的训练数据可能与大多数其他跟踪方法相同,其中将两个连续的帧或从短序列中随机选择的两个帧用作训练样本。此外,训练数据也可以是静态图像,其中通过随机缩放和转换静态图像来模拟相邻帧。
  训练损失:跟踪框和检测框都可以视为当前帧的目标检测。它允许以相同的训练损失同时训练两个解码器,损失函数定义如下:
在这里插入图片描述
  其中Lcls是预测分类和地面真相类别标签的focal loss,LL1和Lgiou分别是标准化中心坐标与预测框和地面真相框的高度和宽度之间的L1损耗和广义IoU损耗。λcls、λL1、λgiou是每个分量的系数。训练损失与匹配成本相同,不同之处在于仅对匹配对执行训练。最终损失是通过训练批次内的对象数量归一化的所有对的总和。
  TransTrack首先在第一帧中执行目标检测,其中合成特征图是第一帧特征图的两个副本。 然后,TransTrack进行从第一帧到第二帧的对象传播和框关联。在所有相邻帧上依次执行此过程,最后完成多目标跟踪任务。
  在TransTrack的推理过程中引入了Track Rebirth,以增强对遮挡和短期消失的鲁棒性。 具体来说,如果跟踪框不匹配,它将保持为“非活动”跟踪框,直到K个连续帧保持不匹配为止。无效的跟踪框可以与检测框匹配并重新获得其ID。 类似于《Tracking objects as points》,本文选择K = 32。

实验

  在MOT17数据集上进行实验,仅对行人进行注释。类似于《Tracking objects as points》,本文在消融研究中将每个训练序列分为两半,并使用前半部分进行训练,第二部分进行验证。基准评估是对整个培训集进行培训,并对测试集进行评估。跟踪性能是通过广泛使用的MOT指标来衡量的,包括多目标跟踪准度(MOTA),多目标跟踪精度(MOTP),假阴性(FN),假阳性(FP),身份切换总数 (IDs),以及“最跟踪的轨迹”(MT),“最丢失的轨迹”(ML)的百分比。 ID F1分数(IDF1)也用于测量轨迹标识的准确性。其中MOTA是衡量检测和跟踪的整体性能的主要指标:
在这里插入图片描述
  其中,GTt是t帧中真值框的数量。
  本文在CrowdHuman上对网络进行了预训练。表1显示了外部训练数据的影响:
在这里插入图片描述
  对于Transformer架构的消融实验如表2所示:
在这里插入图片描述
  关于query的消融实验如表3和图4所示:
在这里插入图片描述
在这里插入图片描述
  在MOT2017上的实验效果如表4所示:
在这里插入图片描述

总结

  这篇是第一次将transformer应用到MOT上面的文章,这也是我第一次听query-key这个概念,虽然文章对于query-key的描述说这是单目标跟踪中的机制,之前由于query-key无法检测到新的对象,因此很少进行研究,在Transtrack中,利用query-key机制,并将学习到的目标query引入pipline中,以检测新的对象,不过从文章里的关联部分理解,上一帧就表示query,当前帧表示key。TransTrack使用learned object query和上一帧的object feature query作为输入query,前者经过decoder之后变为当前帧的检测框,后者经过decoder之后变为跟踪框(上一帧目标在当前帧的位置预测),因此TransTrack在当前帧完成了数据关联步骤,也就是说先用一个backbone,获取图片的特征,然后将特征分别输入检测分支和识别分支,分别得到检测结果和跟踪结果,最后将这两个框进行iou匹配。训练里提到了可以使用静态图片训练,通过随机缩放和转换静态图像来模拟相邻帧,也就是说可以使用目标检测集训练跟踪,在推理里,文章提到使用Track Rebirth,为了增强对遮挡的鲁棒性,只有32个连续帧不匹配才丢弃,但在实验里,TransTrack的IDS指标非常高,达到了五千,说明该方法的鲁棒性真不行,比较的大部分方法都是两千左右。论文里还提到了利用CrowdHuman数据集预训练,这是为了提升检测性能,不过此方法就不会适用于船舶了,其实还有很多其他的re-id之类的提升方法都不确定是否能作用于车辆行人之外的效果,后续针对实验的努力还需加大。这篇文章相比MOTS,思路简单明了不少,即使有些概念不明白,但对于整体流程还是非常清晰的。

最后

以上就是风趣溪流为你收集整理的TransTrack简述的全部内容,希望文章能够帮你解决TransTrack简述所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部