【目标跟踪】|STARK

本文使用transformer集成时间上下文信息
通过更新输入的动态模板(文中设置200帧),获得时间上下文信息,再利用transformer进行处理
transformer 本身对空间上下文具有更好的建模能力

新架构包含三个关键组件:编码器、解码器和预测头。

编码器接受初始目标对象、当前图像和动态更新模板的输入。输入是由一个搜索区域和两个模板组成的三元组。它们来自主干的特征首先被展平并连接,然后发送到编码器。
编码器中的自注意力模块通过其特征依赖性学习输入之间的关系。由于模板图像在整个视频序列中更新,编码器可以捕获目标的空间和时间信息。
解码器学习查询嵌入来预测目标对象的空间位置。
基于角点的预测头用于估计当前帧中目标对象的边界框。同时,学习分数头来控制动态模板图像的更新。

背景

离线Siamese 跟踪器属于纯空间跟踪器,它们将目标跟踪视为初始模板和当前搜索区域之间的模板匹配。

无梯度方法[54,57]利用额外的网络来更新Siamese跟踪器的模板[2,61]。另一个代表性工作LTMU[8]学习元更新程序来预测当前状态是否足够可靠,以便用于长期跟踪中的更新。这些方法虽然有效,但会造成空间和时间的分离(未说明为什么分离,分离带来什么后果)。相反,我们的方法将空间和时间信息作为一个整体进行集成,同时使用transformer进行学习。

STARK-S结构

backbone

搜索区域x(3320320) , 初始化模板z (3128128) 经过resnet(s=16)得到特征fx(
2562020) fz(25688)
在这里插入图片描述
送到编码器之前,拼接展平,(256*(400+64))
在这里插入图片描述

编码器

 (0): TransformerEncoderLayer((self_attn): MultiheadAttention((out_proj): _LinearWithBias(in_features=256, out_features=256, bias=True))(linear1): Linear(in_features=256, out_features=2048, bias=True)(dropout): Dropout(p=0.1, inplace=False)(linear2): Linear(in_features=2048, out_features=256, bias=True)(norm1): LayerNorm((256,), eps=1e-05, elementwise_affine=True)(norm2): LayerNorm((256,), eps=1e-05, elementwise_affine=True)(dropout1): Dropout(p=0.1, inplace=False)(dropout2): Dropout(p=0.1, inplace=False))

N=6个encoder layer (多头自注意力和FFN)
并计算了sin位置嵌入,用法:

解码器

只在解码器中输入一个查询来预测目标对象的一个边界框。即只输出一组预测候选框值。

此外,由于只有一个预测,我们删除了DETR中用于预测关联的匈牙利算法[24]。与编码器类似,解码器堆叠M个解码器层,每个层由自注意力、编码器-解码器注意力和前馈网络组成。在编码器-解码器注意力模块中,目标查询可以关注模板上的所有位置和搜索区域特征,从而学习用于最终边界盒预测的鲁棒表示。

head

明确地建模了坐标估计中的不确定性,为目标跟踪生成了更准确和更稳健的预测。通过估计盒角点的概率分布来设计一个新的预测头。

我们首先从编码器的输出序列中提取搜索区域特征(400*256),然后计算搜索区域特征和解码器的输出嵌入(256)之间的相似性。

最后reshape得到特征图f 2562020 送入到FCN

在这里插入图片描述

        if self.head_type == "CORNER":# adjust shape#([1, 400, 256])enc_opt = memory[-self.feat_len_s:].transpose(0, 1)  # encoder output for the search region (B, HW, C)# .([1, 256, 1])dec_opt = hs.squeeze(0).transpose(1, 2)  # (B, C, N)# dot productatt = torch.matmul(enc_opt, dec_opt)  # (B, HW, N) ([1, 400, 1])# element-wise mulopt = (enc_opt.unsqueeze(-1) * att.unsqueeze(-2)).permute((0, 3, 2, 1)).contiguous()  # (B, HW, C, N) --> (B, N, C, HW)bs, Nq, C, HW = opt.size()opt_feat = opt.view(-1, C, self.feat_sz_s, self.feat_sz_s)# run the corner headoutputs_coord = box_xyxy_to_cxcywh(self.box_head(opt_feat))outputs_coord_new = outputs_coord.view(bs, Nq, 4)out = {'pred_boxes': outputs_coord_new}return out, outputs_coord_new

在这里插入图片描述

损失函数

不使用分类损失。
在这里插入图片描述
在推理时,固定了第一帧模板的特征,将每一帧获取搜索区域作为输入。

STARK-ST

在这里插入图片描述
在这里插入图片描述
输入增加了 动态模板(3128128)(第一帧的动态模板用什么?

经过backbone得到动态模板特征(25688)
送到编码器之前,拼接展平,(256*(400+64+64))

分类头

增加分类头,设置阈值,判断是否为目标

训练

区分为主干网络和分类头,分成两个阶段进行训练。
用18和19年的两篇说 分开训练是好的。但是目前有大量论文是将分类和定位联合。
分类损失
在这里插入图片描述

实验

训练设置

训练训练数据包括LaSOT[13]、GOT-10K[18]、COCO2017[30]和TrackingNet[36]

搜索图像和模板的大小分别为320×320像素和128×128像素,分别对应于目标盒面积的52倍和22倍。

STACK-ST的整个训练过程分为两个阶段,分别需要500个阶段进行本地化,50个阶段进行分类。每个epoch 使用6W个训练三元组。损耗权重λL1和λiou分别设置为5和2。AdamW weight decay 10−4.
每个GPU 包含16个三元组,因此每个iteration 的minibatch size =128

主干和其余部分的初始学习率为10−5和10−分别为4。第一阶段400个阶段后,学习率下降了10倍,第二阶段40个阶段后,学习率下降了10倍。

结果和对比

我们在三个短期基准(GOT-10K、TrackingNet和VOT2020)和两个长期基准(LaSOT和VOT2020-LT)测试
在这里插入图片描述
GOT-10K[18]是最近发布的一个大规模和高多样性的用于野外一般目标跟踪的基准测试。它包含了10000多段真实运动物体的视频片段。所有方法使用数据集提供的相同训练和测试数据的协议确保了深度跟踪器的公平比较。训练数据集和测试数据集中的类是零重叠的。上传跟踪结果后,官方网站自动进行分析。所提供的评估指标包括成功图、平均重叠(AO)和成功率(SR)。AO表示所有估计边界框和地面真实框之间的平均重叠。SR0.5表示重叠超过0.5的成功跟踪帧的速率,而SR0.75表示重叠超过0.75的帧。

考虑到Ground Truth框的尺度大小,将Precision 进行归一化,得到Norm. Prec,它的取值在[0, 0.5] 之间。即判断预测框与Ground Truth框中心点的欧氏距离与Ground Truth框斜边的比例。
在这里插入图片描述
AUC: area under curve 成功率图的曲线下面积

VOT2020

在这里插入图片描述
https://blog.csdn.net/Dr_destiny/article/details/80108255
EAO是VOT的对短时跟踪的综合评价指标,它可以反应准确性(A)和鲁棒性(R),但不是由准确性(A)和鲁棒性(R)直接计算得到的。
在这里插入图片描述
Accuracy用来评价tracker跟踪目标的准确度,数值越大,准确度越高。

Robustness用来评价tracker跟踪目标的稳定性,数值越大,稳定性越差。

LASOT

LaSOT[13]是一个大规模的长期跟踪基准,在测试集中包含280个视频,平均长度为2448帧
在这里插入图片描述

VOT2020-LT

VOT2020-LT由50个长视频组成,其中目标对象经常消失和重新出现。此外,跟踪器需要报告当前目标的置信度分数。在一系列置信阈值下计算精度(Pr)和召回率(Re)。Fscore
在这里插入图片描述
在这里插入图片描述

组件对比

在这里插入图片描述
分析
当移除分数头时性能降低,这表明时间信息的不当使用可能会损害性能,因此筛选出不可靠的模板非常重要。
Corner更准
encoder 更重要

其他框架对比

共同学习本地化和分类。

如第3.2节所述,本地化被视为首要任务,并在第一阶段进行培训。而分类在第二阶段作为次要任务进行训练。我们还做了一个实验,在一个阶段中共同学习本地化和分类。如选项卡所示。7.该策略导致次优结果,比STARK策略低3.9%。两个潜在的原因是:(1)分数头的优化干扰了盒头的训练,导致盒预测不准确。(2) 这两项任务的训练需要不同的数据。具体来说,本地化任务希望所有搜索区域都包含跟踪目标,以提供强大的监督。相比之下,分类任务期望均衡分布,一半的搜索区域包含目标,而剩下的一半不包含目标。

在这里插入图片描述
编码器注意。图6的上半部分显示了来自Cat-20的模板搜索三元组,以及来自最后一个编码器层的注意力地图。可视化注意力是以初始模板的中心像素为查询,以三元组中的所有像素为关键字和值来计算的。可以看出,注意力集中在跟踪的目标上,并已将其与背景大致分离。此外,编码器产生的特征在目标和干扰物之间也具有很强的区分能力。解码器注意。图6的下半部分展示了来自BOWS-13的模板搜索三元组,以及来自最后一个解码器层的注意力映射。可以看出,解码器对模板和搜索区域的注意力是不同的。具体来说,模板上的注意力主要集中在目标的左上角区域,而搜索区域上的注意力往往放在目标的边界上。此外,学习到的注意力对干扰具有鲁棒性。

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

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

相关文章

漫话拥塞控制:BBR 是个单流模型

概要(便于检索主题):单流,多流收敛,probe buffer 挤压带宽,maxbw-filter wnd。 我曾经经常说 BBR 是个单流模型,而不是多流收敛模型,也做过不少评论,最近在复听 IETF 的大会,在 IET…

2023年中国HPV宫颈癌疫苗需求量、竞争格局、市场规模及行业细分产品规模分析[图]

HPV宫颈癌疫苗也是人乳头瘤病毒疫苗,由重组表达的HPV主要衣壳蛋白L1病毒样颗粒制备而成,可以预防由HPV感染及其引起的各种疾病,包括宫颈癌、阴道癌、肛门癌和口咽癌等癌症,及相关癌前病变。 目前中国在售的HPV疫苗包括万泰生物的二…

2023年中国日志审计市场竞争格局、市场规模、下游应用领域及行业发展趋势[图]

日志是行为或状态详细描述的载体,其时效性与信息丰富程度在网络安全事件分析、事件回溯和取证过程中起到重要作用。在法律层,日志也是重要的电子证据,日志记录、监控、审计手段等,可以帮助有效地减少信息破坏、信息泄露的问题&…

CSS进阶(17)—— CSS中的文本处理(上)

CSS能够在众多的布局标准中脱颖而出的制胜手段就是其强大的文本处理能力,比如最"简单"的盒子边缘文字即将超出就自动换行的能力在CSS流的概念里几乎是天生的,并逐渐成为了行业内的“常规认知”,然而同时代的SVG标准要想让文字换行&…

【易语言】微信跳一跳教程详细版,分分钟让新手学会的教程(附源码)

前言:最近跳一跳太火,大家都在写,今天把原理来说说,说得不对欢迎指出! 注:请不要加我微信,免得尴尬!(^_^) 准备工作: 1.电脑 2.数据线 3.安卓手机&#xff08…

1024对话内核大神谢宝友

我看了CSDN的采访,感觉比较官方,不知道是不是编辑的原因把一些内容给隐藏了,所以我还是想完整的内容放出来给大家看看,这些问题,可能是很多后辈程序员非常关心的。 今天是1024节,这个数字对于写在电脑前写代…

对话谢宝友:搞真正自研的国产操作系统,而不是伪创新

作者 | 郑丽媛 责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 从国外操作系统的长期垄断到中国自主研发操作系统数十年的起落浮沉,技术自主创新独立已成为国产基础软件的主要突破口。近几年间,随着物联网时代的到来&#xff0…

Oracle数据库硬核知识

大家好🙌!我是你们的好朋友,大数据老虾😀。相遇是缘,既然来了就拎着小板凳坐下来一起唠会儿,万水千山总是情,一起学习行不行~如果在文中有所收获,请别忘了一键三连,你的鼓励&#xf…

NOIP蒟蒻组初赛攻略

系统与网络安全 计算机相关 计算机发展史 1946-1958年第一代电子管计算机,主要用于科学计算、军事研究; 1959-1964年第二代晶体管计算机,主要用于数据处理; 1965-1970年第三代集成电路计算机,主要用于工业控制、科…

Misc小总结

文章目录 Misc分类编码贝斯家族base16base32base64base62base45base58base85base91base100base换表base隐写WhiteSpace编码零宽隐写垃圾邮件加密JSfuck当铺密码百家姓Wakandan符号九宫八卦二十八星宿拼音编码编码总结 压缩包爆破伪加密CRC爆破明文攻击 PNG隐写宽高修改IDAT块隐…

ModaHub魔搭社区——Milvus 、Qdrant、Waeviate、Pinecone、ElasticSearch矢量数据库对比

资本市场上,2022年也是风起云涌的一年的,各大向量数据库公司纷纷完成了千万美元级别新一轮的融资。可以预见,2023年将会是向量数据库继续快速发展的一年,也会是这一新兴技术由发展走向成熟的一年。这里针对Milvus 、Qdrant、Waeviate、Pinecone、ElasticSearch这五个流行的…

激活函数总结(六):ReLU系列激活函数补充(RReLU、CELU、ReLU6)

激活函数总结(六):ReLU系列激活函数补充 1 引言2 激活函数2.1 RReLU激活函数2.2 CELU激活函数2.3 ReLU6 激活函数 3. 总结 1 引言 在前面的文章中已经介绍了介绍了一系列激活函数 (Sigmoid、Tanh、ReLU、Leaky ReLU、PReLU、Swish、ELU、SEL…

【C++】STL---string

string类 一、C语言中的字符串二、string类三、模拟实现 string 类0. string 类的声明1. 构造函数2. 析构函数3. 拷贝构造函数4. 赋值运算符重载5. 迭代器6. 元素访问:[] 重载7. 流插入与流提取重载8. 与容量相关的接口(1)size(2&…

EVE-NG 隐藏没有镜像的模板

eve-ng 默认情况下,在添加node时,会列出所有的模板,这样用着很不方便。 通过以下方式,可以使没有设备的模板不可见 cp /opt/unetlab/html/includes/config.php.distribution /opt/unetlab/html/includes/config.php 如下图&#…

宴会及会议座位排版软件

本人正在基于XDesignerLib软件开发了一个宴会/会议座位排版软件,这是一种很具特色的软件,它以非常形象生动的图形化界面来展示座位的排版和人员的入座信息,并能根据座位礼仪的规定自动调整显示。 本软件能使用方便快捷的拖拽操作来设置人员…

怎么让计算机锁屏之后网络不断,win10系统如何设置锁屏时不断网|win10系统锁屏断网的还原办法...

win10系统使用久了,好多网友反馈说win10系统如何设置锁屏时不断网|win10锁屏断网的问题,非常不方便。有什么办法可以永久解决win10系统如何设置锁屏时不断网|win10锁屏断网的问题,面对win10系统如何设置锁屏时不断网|win10锁屏断网的图文步骤…

虚拟服务器怎么解除锁屏,虚拟服务器怎么不设置锁屏

虚拟服务器怎么不设置锁屏 内容精选 换一换 裸金属服务器支持敏感操作保护,在控制台进行敏感操作时,需要输入一种能证明身份的凭证,身份验证通过后方可进行相关操作。为了账号安全,建议开启操作保护功能,该功能对账号以…

<optional>true</optional> 依赖不传递

为什么不包含依赖的ConditionOnClass 能成功导入? 这里涉及到依赖传递的问题 滑动验证页面https://segmentfault.com/a/1190000019266080?utm_sourcetag-newest

深信服云桌面linux客户端,深信服桌面云

VDI是一款基于互联网的云上虚拟windows桌面服务,即可在线体验大屏超清画质视频,在线一键配置升级,无需其它硬件,一个账号可满足家庭成员各类需求,深信服桌面云具有多平台、稳定性好、维护安装过程简化等特点&#xff0…

gnome桌面显示计算机,桌面应用|如何在 GNOME 3 中显示桌面

你如何在 GNOME 3 中显示桌面?GNOME是一个很棒的桌面环境但是它更加专注于在程序间切换。如果你想关闭所有运行中的窗口,仅仅显示桌面呢? 在Windows中,你可以按下WindowsD。在Ubuntu Unity中,可以用CtrlSuperD快捷键。…