<Learning Spatio-Temporal Transformer for Visual Tracking>--阅读理解-cvpr2021

本文提出了一种基于编码器-解码器Transformer的视觉跟踪新架构,结合空间和时间信息,解决了传统卷积模型对全局依赖建模的不足。通过时空Transformer,模型能学习到目标对象的全局特征,提高了定位准确性。实验证明,该方法在多个短期和长期跟踪基准上取得最优性能,同时保持实时运行速度,比Siam R-CNN快6倍。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要

在本文中,我们提出了一种新的跟踪架构,其中的编码器-解码器transformer为关键组件。 编码器对目标对象和搜索区域之间的全局时空特征相关性进行建模,而解码器学习嵌入的查询以预测目标对象的空间位置。 我们的方法将目标跟踪转换为直接边界框预测问题,而无需使用任何建议或预定义锚。 使用编解码器变压器,对象的预测仅使用简单的全卷积网络,该网络可以直接估计对象的拐角。 整个方法是端到端的,不需要任何余弦窗口和边界框平滑之类的后处理步骤,从而大大简化了现有的跟踪管道。 拟议的跟踪器在五个具有挑战性的短期和长期基准测试中实现了最先进的性能,同时以实时速度运行,比Siam R-CNN快6倍[47]。
代码和模型在这里是开源的。

1. Introduction

视觉目标跟踪是计算机视觉中一个基本但具有挑战性的研究主题。 在过去的几年中,基于卷积神经网络,目标跟踪取得了显着进展[25,9,47]。 但是,卷积核并不擅长对图像内容和特征的长期依赖性进行建模,因为它们仅处理空间或时间上的局部邻域。 当前流行的跟踪器,包括离线Siamese跟踪器和在线学习模型,几乎都基于卷积运算[2,37,3,47]。 结果,这些方法仅在对图像内容的局部关系建模时表现良好,但仅限于很难收集到全局信息。 这种缺陷可能会降低处理全局情境信息对于定位目标对象(例如经历大规模变化或频繁进出视图的对象)很重要的场景时模型的能力。
在这里插入图片描述
图1:与LaSOT上的最新技术比较[13]。我们以每秒帧数(fps)跟踪速度可视化了成功性能。Ours-ST101和Ours-ST50分别以ResNet-101和ResNet-50为骨干,表明了建议的跟踪器。 彩色效果更好。
通过使用Transformer,在序列建模中解决了远程相互作用的问题[46]。
Transformer在诸如自然语言建模[11,39]和语音识别[34]等任务中获得了巨大的成功。 最近,在判别式计算机视觉模型中使用了变压器,并引起了极大的关注[12、5、35]。 受最近的DEtection TRans-former (DETR)的启发[5],我们提出了一种新的具有编码器-解码器transformer的端到端跟踪架构,以提高传统卷积模型的性能。
空间和时间信息对于目标跟踪都很重要。 前者包含用于目标定位的对象外观信息,而后者包含跨帧的对象的状态变化。 先前的Siamese跟踪器[25、51、14、6]仅利用空间信息进行跟踪,而在线方法[54、57、9、3]使用历史预测进行模型更新。 尽管成功,但这些方法并未显式地建模时空之间的关系。 在这项工作中,考虑到建模全局依赖项的出色能力,我们求助于转换器将空间和时间信息进行集成,以进行跟踪,生成可区分的时空特征以进行目标定位。
更具体地说,**我们提出了一种基于编码器-解码器Transformer的新型时空架构,**用于视觉跟踪。 新架构包含三个关键组件:编码器en,de解码器和预测pre-head头。
编码器接受初始目标对象,当前图像和动态更新的模板的输入。 编码器中的自注意模块通过它们的功能依赖性来学习输入之间的关系。
由于模板图像在整个视频序列中都会更新,因此编码器可以捕获目标的空间和时间信息。 解码器学习嵌入查询以预测目标对象的空间位置的查询。 基于角点的预测头用于估计当前帧中目标对象的边界框。
同时,学习得分的head去控制动态模板img的更新。
大量实验表明,我们的方法在短期[18,36]和长期跟踪基准[13,22]上都建立了新的最新性能。<

### 伪3D残差网络用于时空特征表示学习 伪3D残差网络(Pseudo-3D Residual Networks, P3D)是一种通过分解3D卷积操作来高效学习视频数据中时空特征的方法。这种方法的核心在于将复杂的3D卷积运算分为时间维度上的1D卷积和空间维度上的2D卷积,从而显著降低计算复杂度和内存需求。 #### 核心原理 传统的3D卷积可以直接捕捉视频中的时空信息,但由于其高计算成本和内存占用,难以扩展到深层网络结构。P3D网络通过引入三种不同的模块化设计——即 **Type A**, **Type B**, 和 **Type C** ——实现了对3D卷积的有效近似[^1]。这些模块分别对应于不同的时空建模策略: 1. **Type A**: 首先应用一个单独的时间卷积 (1×3×3),随后是一个标准的空间卷积 (3×1×1)。 2. **Type B**: 将时间卷积与空间卷积融合为单一的操作单元,其中时间卷积嵌入在两个空间卷积之间。 3. **Type C**: 反转顺序,首先执行空间卷积 (3×3×1),再接续时间卷积 (1×1×3)。 这种模块化的设计允许灵活调整模型的复杂性和性能表现,同时保持较低的资源开销。 #### 实现细节 为了进一步理解如何构建P3D网络,以下是其实现的关键部分: 1. **基础架构继承自ResNet** P3D网络的基础框架来源于经典的二维残差网络(ResNet)。它通过对原始ResNet层进行修改,加入额外的时间维度处理能力,形成适合视频分析的新组件。 2. **多尺度特征提取** 利用堆叠的不同类型的P3D块,可以在多个尺度上捕获丰富的动态特性。例如,在高层级上关注长期依赖关系;而在低层级则更注重局部运动模式。 3. **优化目标函数** 训练过程中通常采用交叉熵损失作为分类任务的主要指标,并可能结合其他正则项以提升泛化能力和防止过拟合。 下面展示了一段简单的PyTorch代码示例,演示如何定义基本的P3D Type B Block: ```python import torch.nn as nn class P3DBlockB(nn.Module): def __init__(self, in_channels, out_channels, kernel_size=3, stride=1, padding=1): super(P3DBlockB, self).__init__() # Spatial Convolution self.spatial_conv = nn.Conv3d(in_channels, out_channels, kernel_size=(1, kernel_size, kernel_size), stride=stride, padding=(0, padding, padding)) # Temporal Convolution self.temporal_conv = nn.Conv3d(out_channels, out_channels, kernel_size=(kernel_size, 1, 1), stride=1, padding=(padding, 0, 0)) def forward(self, x): identity = x # Apply spatial convolution first out = self.spatial_conv(x) # Followed by temporal convolution out = self.temporal_conv(out) return out + identity ``` 此代码片段展示了如何创建一个基于Type B配置的小型P3D块实例。 #### 特征可视化 文章还探讨了通过DeepDraw工具对学到的行为类别进行可视化的过程[^3]。尽管生成的结果质量有限,但它揭示了网络确实能够识别特定动作的相关视觉线索。例如,“摩托车竞赛”的案例显示出了清晰的比赛场景特征。 --- ### 总结 综上所述,伪3D残差网络提供了一种高效的解决方案,能够在减少硬件负担的同时保留强大的时空表达能力。这对于实时视频处理以及大规模数据集的应用尤为重要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值