单目标追踪——【Transformer】Autoregressive Visual Tracking

news2025/1/13 8:02:57

目录

  • 文章侧重点
  • 网络结构
      • Encoder(特征提取与融合得到Vision Features)
      • Decoder(Vision Feature+Motion Feature 特征融合与输出)
        • 运动特征生成
        • 特征融合与输出
  • 消融实验
    • N与Vocabulary
    • Bins

论文链接:https://paperswithcode.com/paper/autoregressive-visual-tracking
代码链接:https://github.com/miv-xjtu/artrack

文章侧重点

  1. ARTrack 利用目标先前帧的预测位置,建模目标运动信息来辅助当前的目标追踪定位。原本的基于帧的追踪任务(次最优化)变成了序列追踪任务(最优化),这一点与目标追踪本身的定义一致。
  2. 端到端的实现,没有预测头和后置操作。
  3. 受到Pix2Seq的启发,利用相似的构建离散的坐标体系与Vision feature一同输入后续的Decoder。
  4. 先前SwimTrack将目标运动信息作为特征输入Decoder再借助Head输出定位相比,ARTrack 旨在用先前的轨迹教会模型如何进行输出(这点与Pix2Seq一致),直接借助Decoder回归出目标的位置。

网络结构

请添加图片描述该网络一共有两个组成部分:Encoder(Vision Feature的特征提取融合)+ Decoder(Vision Feature+Motion Feature 特征融合与输出)

Encoder(特征提取与融合得到Vision Features)

图取自ViT
请添加图片描述

  1. 输入:模板图片、包含历史帧和当前帧的序列图片们
  2. 沿用了ViT encoder作为backbone,与OStrack一致:
    • Search Regions和Template进行patch embeding生成Patches
    • 针对Search Region Patches和Template Patches分别进行flatten并映射生成一个token embeddings的序列。
    • 加上位置编码,再将两个tokens拼接起来,送入ViT backbone(encoder的操作和原始Transformer中完全相同)得到编码后的Vision Features。
  3. 输出:特征融合后的Vision Features

Decoder(Vision Feature+Motion Feature 特征融合与输出)

运动特征生成

历史轨迹的量化一共有两个步骤:坐标值离散化和坐标映射。

  • 坐标值离散化
    1. 历史帧中的目标定位例如: [ x m i n , y m i n , x m a x , y m a x ] [xmin, ymin, xmax, ymax] [xmin,ymin,xmax,ymax] 将这4个值的范围变为[1, nbins],nbins就是图像的最大宽高, 例如输入600x600的图像, nbins为600。如果nbins大于等于图像的最大宽高,则没有量化误差。
    2. 将量化后的目标坐标值作为一个可学习的词典(Vocabulary)的索引,这样就可以得到坐标相关的Tokens。使得这些Tokens输入到语言模型的decoder中可以回归出坐标。
  • 坐标映射

因为历史帧中的坐标有两种:在全图的坐标和在Search Region的坐标。因为Search Region是全图经过变换裁剪得到的,所以当追踪模型的输入是Search Region,那么模型中用到的历史帧中目标坐标也得是基于Search Region中的坐标。由此才需要坐标映射。
如果模型使用整张图片帧作为输入(而非Search Region),则坐标映射不需要。

请添加图片描述

特征融合与输出

  • 输入:坐标Tokens Y t − N : t − 1 Y^{t-N:t-1} YtN:t1Command tokenVision Features
    其中,Command token表示一个轨迹预测值(trajectory proposal),旨在与Search X t X^t Xt、Template Z t Z^t Zt的特征们Vision Features得到当前帧的目标坐标估计值 Y t Y^t Yt
  • decoder包括两类Attention
    • 坐标Tokens应用Masked Self-Attention,旨在传递交互时空信息。
    • Cross-Attention旨在交互Vision Features与Motion Features(坐标Tokens Y t − N : t − 1 Y^{t-N:t-1} YtN:t1Command token
      请添加图片描述
      为了改进效率,将上面default decoder结构(self-attn+cross-attn)x6,改进下列altered decoder的分开的结构。
      请添加图片描述

消融实验

N与Vocabulary

请添加图片描述

  • N表示历史帧的长度,当N=1时,就基于前一帧的历史信息,当N越大,就有更多的历史信息。
  • Vocabulary表示坐标范围,一般设置为Search Region大小的倍数,Vocabulary的范围越大,就可以包含更多的历史帧边界框,就有更多的运动信息。

实验结论
如上图所示,当Vocabulary=1时,N=3能达到最佳性能,而N越大性能反而下降是因为虽然历史帧多了,但是落在Vocabulary以外的是无效的。这时候可以考虑扩大Vocabulary的范围,不过虽然性能也有提升,但也为定位目标带来了困难,所以从图中可以看到,相同的N=3下,扩大Vocabulary反而带来了性能下降。

Bins

请添加图片描述

  • Bins是在坐标量化中用到的参数。
  • 固定Search Region的分辨率为256,Vocabulary= 2 × 256 2\times256 2×256

实验结论
可以看到适当增加Bins的值可以改进性能,但是过大的Bins,例如1600,会使得计算后的坐标映射到Vocabulary后反而容易超界。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/961274.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CocosCreator3.8研究笔记(三)CocosCreator 项目结构说明及编辑器的简单使用

我们通过Dashboard 创建一个2d项目,来演示CocosCreator 的项目结构。 等待创建完成后,会得到以下项目工程: 一、assets文件夹 assets文件夹:为资源目录,用来存储所有的本地资源,如各种图片,脚本…

一文快速了解代理https和sock5协议的区别

一、什么是https协议 HTTPS 协议全称:HyperText Transfer Protocol Secure(超文本传输安全协议),是一种通过计算机网络进行安全通信的传输协议。 作用于应用层(application layer)中。 HTTPS 是在HTTP 的…

[C++]学习中的一个问题

#include<iostream> #include<string> #include<cstring> using namespace std;int main(){char str[31];cout << "----" << sizeof(str) << endl;// 给了memset(str, 0, sizeof(str));for (size_t i 0; i < 31; i){cout &l…

打造高权重店铺的秘密,详解Shopee平台权重评估机制(测评补单)

很多虾皮卖家经常提到的"权重"是指商品或店铺在Shopee平台上的重要性程度。权重评估了商品或店铺是否符合用户需求&#xff0c;并且能否促进订单转化率&#xff0c;为平台带来收益。说白了权重就是给商品和店铺打分的机制&#xff0c;得分越高&#xff0c;权重越高&a…

C语言——函数的使用

无参无返回值 语法格式如下&#xff1a; // 函数定义 void 函数名() {函数体 }// 函数调用 函数名();函数名是标识符的一种&#xff0c;需要遵循规则函数只需要定义一次&#xff0c;反复调用只定义函数, 不调用函数, 函数永远不会被执行案例需求&#xff1a; 编写一个函数&am…

python爬虫-Selenium

一、Selenium简介 Selenium是一个用于Web应用程序测试的工具&#xff0c;Selenium 测试直接运行在浏览器中&#xff0c;就像真正的用户在操作一样。模拟浏览器功能&#xff0c;自动执行网页中的js代码&#xff0c;实现动态加载。 二、环境配置 1、查看本机电脑谷歌浏览器的版…

Idea安装免注册版ChatGPT

文章目录 一、前期准备二、开始使用 一、前期准备 1.准备Idea开发软件并打开&#xff08;VS Code同理&#xff09;! 2.【CtrlAltS】快捷键调出Settings窗口&#xff0c;如图 3.找到NexChatGPT 此插件不需要注册&#xff0c;可以直接使用&#xff08;高级一些的需要会员收费限…

数据库-DML

DML&#xff1a;用来对数据库中表的数据记录进行增、删、改等操作。 添加数据&#xff08;INSERT&#xff09; insert语法&#xff1a; 指定字段添加数据&#xff1a;insert into 表单&#xff08;字段名1&#xff0c;字段名2&#xff09;values&#xff08;值1&#xff0c;值…

QT文件对话框,将标签内容保存至指定文件

一、主要步骤 首先&#xff0c;通过getSaveFileName过去想要保存的文件路径及文件名&#xff0c;其次&#xff0c;通过QFile类实例化一个文件对象&#xff0c;再读取文本框中的内容&#xff0c;最后将读取到的内容写入到文件中&#xff0c;最后关闭文件。 1.txt即为完成上述操作…

学习JAVA打卡第四十九天

Random类 尽管可以使用math类调用static方法random&#xff08;&#xff09;返回一个0~1之间的随机数。&#xff08;包括0.0但不包括0.1&#xff09;&#xff0c;即随机数的取值范围是[0.0&#xff0c;1.0]的左闭右开区间。 例如&#xff0c;下列代码得到1&#xff5e;100之间…

【数据分享】2006-2021年我国城市级别的燃气相关指标(免费获取\20多项指标)

《中国城市建设统计年鉴》中细致地统计了我国城市市政公用设施建设与发展情况&#xff0c;在之前的文章中&#xff0c;我们分享过基于2006-2021年《中国城市建设统计年鉴》整理的2006—2021年我国城市级别的市政设施水平相关指标、2006-2021年我国城市级别的各类建设用地面积数…

如何查一个期刊是不是EI检索

目录 如何查一个期刊是不是EI检索 一、什么是EI&#xff1f; 二、EI检索方法&#xff1a; 三、EI检索视频&#xff1a;(点击放大播放) 四、EI检索图文版 常见问题 如何查一个期刊是不是EI检索 1. 访问EI Compendex官方网站&#xff1a;访问EI Compendex的官方网站…

用ChatGPT做一个Chrome扩展 | 京东云技术团队

用ChatGPT做了个Chrome Extension 最近科技圈儿最火的话题莫过于ChatGPT了。 最近又发布了GPT-4&#xff0c;发布会上的Demo着实吸睛。 笔记本上手画个网页原型&#xff0c;直接生成网页。网友直呼&#xff1a;前端失业了&#xff01; 但我觉着啊&#xff0c;真就外行看热闹…

go语言--锁

锁的基础&#xff0c;go的锁是构建在原子操作和信号锁之上的 原子锁 原子包实现协程的对同一个数据的操作&#xff0c;可以实现原子操作&#xff0c;只能用于简单变量的简单操作&#xff0c;可以把多个操作变成一个操作 sema锁 也叫信号量锁/信号锁 核心是一个uint32值&#…

DCMM数据能力成熟度评估模型--学习笔记(1)

DCMM数据能力成熟度评估模型--学习笔记 1、DCMM简介、结构组成和成熟度评估等级划分1.1 DCMM简介1.2 DCMM结构组成1.3 DCMM关键过程域1.3.1、数据战略&#xff08;指导方针&#xff09;1.3.2、数据治理 &#xff08;机制保障&#xff09;1.3.3、数据架构 (施工图纸)1.3.4、数据…

GPT-4.0技术大比拼:New Bing与ChatGPT,哪个更适合你

随着GPT-4.0技术的普及和发展&#xff0c;越来越多的平台开始将其应用于各种场景。New Bing已经成功接入GPT-4.0&#xff0c;并将其融入搜索和问答等功能。同样&#xff0c;在ChatGPT官网上&#xff0c;用户只需开通Plus账号&#xff0c;即可体验到GPT-4.0带来的智能交流和信息…

SpringBatch结合SpringBoot简单使用实现工资发放批处理操作

最近有接触到批处理相关的需求&#xff0c;学习了下SpringBatch的使用方法。SpringBatch能把复杂的批处理任务进行step分解&#xff0c;并能通过reader和writer满足不同来源数据的处理需求&#xff0c;支持在step定义时设置异常重试策略等&#xff0c;比较方便拓展。简单记录下…

【Java基础】深入理解反射、反射的应用(工厂模式、代理模式)

文章目录 1. Java反射机制是什么&#xff1f;1.2 Java反射例子 2. Java反射机制中获取Class的三种方式及区别&#xff1f;3. Java反射机制的应用场景有哪些&#xff1f;3.1. 优化静态工厂模式&#xff08;解耦&#xff09;3.1.1 优化前&#xff08;工厂类和产品类耦合&#xff…

【仿写spring之ioc篇】一、预期目标以及项目结构介绍

前言 最近系统的学习了一下spring的源码&#xff0c;准备简单仿写一下spring&#xff0c;目前是仿写ioc篇&#xff0c;在ioc篇中将完成整套的bean的生命周期&#xff0c;当然是简单的实现&#xff0c;不会像spring真正源码那样做非常系统性的校验以及接口设计。 预期目标 将…

关于“VS2022无法打开头文件<graphics.h>” 以及编译时 “没有与参数列表匹配的重载函数实例”俩个问题的解决思路

前言&#xff1a; 今天无聊没什么事干&#xff0c;突然看见一条视频梦回20年前杀马特横行的年代&#xff0c;炫酷而又土嗨的灯光闪烁&#xff0c;我又想了想之前写扫雷小游戏的时候&#xff0c;有的人写的游戏界面非常的炫酷&#xff0c;各种颜色都有&#xff0c;抱着没事没事干…