OSTrack: Joint Feature Learning and Relation Modeling for Tracking: A One-Stream Framework论文和代码结构解读

论文地址
代码地址

写在前面

OSTrack和ODTrack代码结构和内容基本一致,主要是采样方法有所区别

问题在哪?

  • Two-Stream框架提取的特征,对目标的敏感度不高。其提取的特征是在离线训练后确定的,因此Template和Search区域之间没有交互。同时,由于Target是在不断变化的,所以Two-Stream对前景和背景的区分能力是有限的。
  • Two-Stream大致就是Template和Search的Feature Map经过特征融合等操作之后,送入Head,这样的过程会浪费算力。
    One_Two_stream

作者贡献

  • 修改ViT作为Backbone,实现One-Stream的框架;
  • 提出Candidate-Elimination模块,在Embedding中筛选Topk的值,消除无信息的背景信息,加强有信息的前景信息;
  • 在Patch-Embedding阶段进行特征早融合;
    在这里插入图片描述

具体方法

sample和ce_template_mask生成方法

在这里插入图片描述Search、Template和ce_template_mask各采样一张,这里没什么难度的。
主要是ce_template_mask生成,在OSTrack中,作者使用的是 C T R _ P O I N T CTR\_POINT CTR_POINT模式,说人话就是,如果以template的Feature为size生成的 12 × 12 12 \times 12 12×12mask为全0矩阵,而中心点处 2 × 2 2 \times 2 2×2的位置为1,如图所示
CTR_POINT
不同于ODTrack,用的是 G T _ B O X GT\_BOX GT_BOX模式,如上上张图中的第一个mask那般。

ce_keep_rate

ce_keep_rate在代码中有两个名字,另一个是keep_ratio_search,作用是在token的注意力中,将生成的embedding抽取topk,然后生成一个 [ B a t c h , H × W × c e _ k e e p _ r a t e , C ] [Batch, H \times W \times ce \_ keep \_ rate, C] [Batch,H×W×ce_keep_rate,C]的embedding
从这里可以看出, ce_keep_rate的作用就是把search的嵌入向量截断,只选取最大的一部分

什么是CE?

代码中使用了很多CE的前缀,比如,vit_ce、ce_block等,这就是单纯的使用了candidate_elimination模块,所以会加一个ce前缀
ce

pipeline

如图,看起来和ODTrack几乎一样,但是确实一样,就是Template和Search的数量不同。
作者使用的是ViT作为backbone和CornerHead作为检测头
在这里插入图片描述
由于CSDN的图片尺寸限制,这里是压缩图,将就看一下,如果需要无损的svg图,点击下载

  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值