Object Track(十一):经典论文TransTrack速读

一、overview

TransTrack基于Query-Key目前最火热的Transformer架构构建。

最中间的key来自骨干网络对当前帧图像提取的特征图。

而query按照两个分支的需求分别来自上一帧的目标特征query集和一个可学习的目标query集。这两个分支都很有意思,我们先看下面这个检测分支,这里这个learned object query思路来自于DETR,是一种可学习的表示,它能逐渐学会从key中查询到目标的位置从而完成检测,想知道得更明白得可以去看看DETR论文。可以很明显地看明白,这个检测分支完成了当前帧上所有目标的检测得到detection boxes。

然后我们看上面这个跟踪框分支,这个object feature query其实就是上一帧的检测分支产生的目标的特征向量(也就是说转换关系是Ft object feature --> Ft-1 object feature  query),这个object feature query从key中查询目标当前帧中位置,用CenterTrack的思路来理解,这可以认为是一个位移预测分支,它最终得到tracking boxes。

最后,由于跟踪框和检测框都在当前帧上了,进行简单的IOU匹配就能完成跟踪了,至此,MOT任务完成。

二、pipeline详解

直译:图3:TransTrack的架构细节。首先,将当前帧图像输入到CNN主干以提取特征图。然后,当前帧特征图和前一帧特征图都被送入编码器以生成复合特征。接下来,将学习到的对象查询解码为检测框,并将前一帧的对象特征解码为跟踪框。最后,使用IoU匹配将检测框与跟踪框相关联。

详解:在 MOT 任务中,理想的输出是视频中每一帧上的一组完整且正确排序的对象。为此TransTrack使用来自两个来源的查询来获得自适应线索。一方面,类似于通常的基于transformer的检测器,TransTrack将对象查询(object query)作为输入以提供常见的对象检测结果。 另一方面,TransTrack利用先前检测到的对象的特征来形成另一个“跟踪查询”,以发现后续帧中的关联对象。 在该方案下,TransTrack生成平行的两组边界框,称为“检测框”和“跟踪框”。最后TransTrack使用匈牙利算法,其中代价是框之间的IoU区域,从两个边界框集实现最终有序框集。pipeline如图3所示。

TransTrack的encoder将连续两帧合成的特征图作为输入,为了避免重复计算,将当前帧提取的特征暂时保存下来,再用于下一帧。 TransTrack 中使用了两个并行解码器。从编码器生成的特征图被两个解码器用作公共key。(所以这里是Cross attention, key与query相同极为self-attention) 两个解码器被设计为分别执行对象检测和对象传播。 具体来说,解码器将学习到的对象查询作为输入并预测检测框。另一个解码器将前一帧的对象特征,即“track query”作为输入,预测当前帧中相应对象的位置,其边界框称为跟踪框。

检测部分

仿照DETR,TransTrack利用学习对象查询(object query)进行对象检测。 对象查询是一组可学习的参数,与网络中的所有其他参数一起训练。 在检测过程中,关键是从输入图像生成全局特征图,对象查询在图像中查找感兴趣的对象并输出最终的检测预测,称为“检测框”。图3中的左侧解码器块完成此过程。

目标传播阶段

给定在前一帧中检测到的对象,TransTrack通过将它们的特征作为跟踪查询传递到下一帧来传播这些对象。该阶段由图3中右侧的解码器块执行。解码器与左侧的具有相同的架构,但从不同的来源获取查询。这种继承的对象特征传达了先前看到的对象的外观和位置信息,因此该解码器可以很好地定位当前帧上相应对象的位置并输出“跟踪框”。

box关联阶段

提供检测框和跟踪框,TransTrack使用框IoU匹配方法得到最终的跟踪结果,如图3所示。将Kuhn-Munkres(KM)算法应用于检测框和跟踪框的IoU相似度,检测框与跟踪框匹配。保留那些不匹配的检测框以创建新的轨迹。

看到匈牙利算法可能会比较亲切,这与SORT算法可能类似,但仔细阅读后发现TransTrack其实与Trackor++更为类似。

三、针对overview需要补充的知识点

DETR中的object query

1.每个Decoder有两个输入:一路是Object Query(或者是上一个Decoder的输出),另一路是Encoder的结果。

2.Object Query是一组nn.Embedding的weight (其实就是一组学到的参数)

3.DETR的输出是定长的:100个检测框和类别。DETR可以被认为具有100个adaptive archor,其中Encoder和Object Query分别对特征和Anchor进行编码,最后用Decoder+FFN得到检测框和类别。

参考:【论文笔记】从Transformer到DETR - 知乎

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白 AI 日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值