【OpenVI—论文解读系列】快速动作识别TPS ECCV论文深入解读

本文涉及的产品
视觉智能开放平台,图像通用资源包5000点
视觉智能开放平台,视频通用资源包5000点
视觉智能开放平台,分割抠图1万点
简介: 高效的时空建模(Spatiotemporal modeling)是视频理解和动作识别的核心问题。相较于图像的Transformer网络,视频由于增加了时间维度,如果将Transformer中的自注意力机制(Self-Attention)简单扩展到时空维度,将会导致时空自注意力高昂的计算复杂度和空间复杂度。

一、背景

 许多工作尝试对时空自注意力进行分解,例如ViViT和Timesformer。这些方法虽然减小了计算复杂度,但会引入额外的参数量。本文提出了一种简单高效的时空自注意力Transformer,在对比2D Transformer网络不增加计算量和参数量情况下,实现了时空自注意力机制。并且在Sthv1&Sthv2, Kinetics400, Diving48取得了很好的性能。文章已被ECCV 2022录用。立即体验:https://vision.aliyun.com/experience/detail?tagName=facebody&children=RecognizeAction


二、方法

 视觉Transofrmer通常将图像分割为不重叠的块(patch),patch之间通过自注意力机制(Self-Attention)进行特征聚合,patch内部通过全连接层(FFN)进行特征映射。每个Transformer block中,包含Self-Attention和FFN,通过堆叠Transformer block的方式达到学习图像特征的目的。

 在视频动作识别领域,输入的数据是连续采样的多帧图像(常用8帧、16帧、32帧等)学习视频的时空特征,不仅要学习单帧图像的空间视觉特征,更要建模帧之间的时域特征。本文提出一种基于视觉transformer的高效时空特征学习算法,具体来说,我们通过将patch按照一定的规则进行移动(patch shift),把当前帧中的一部分patch移动到其他帧,同时其他帧也会有一部分patch移动到当前帧。经过patch移动之后,对每一帧图像的patch分别做Self-Attention,这一步学习的特征就同时包含了时空特征。具体思想可以由下图所示:

11.png  在常用的2D图像视觉Transformer网络结构上,将上述patch shift操作插入到self-attention操作之前即可,无需额外操作,下图是patch shift transformer block,相比其他视频transformer的结构,我们的操作不增加额外的计算量,仅需进行内存数据移动操作即可。对于patch shift的移动规则,我们提出几种设计原则:1. 不同帧的块尽可能均匀地分布。2.合适的时域感受野。3.保持一定的移动块比例。具体的分析,读者可以参考正文。

我们对通道移动(Channel shift) 与 块移动(patch shift)进行了详尽的分析和讨论,这两种方法的可视化如下:

12.png

 通道移动(Channel shift) 与 块移动(patch shift)都使用了shift操作,但channel shift是通过移动所有patch的部分channel的特征来实现时域特征的建模,而patch shift是通过移动部分patch的全部channel与Self-attention来实现时域特征的学习。可以认为channel shift的时空建模在空域是稠密的,但在channel上是稀疏的。而patch shift在空域稀疏,在channel上是稠密的。因此两种方法具有一定的互补性。基于此,我们提出交替循环使用 patchshift和channel shift。网络结构如下图所示:

13.png


三、实验结果

1. 消融实验

14.png

2. 与SOTA方法进行对比

15.png

16.png

17.png

3. 运行速度

 可以看到,PST的实际推理速度和2D的Swin网络接近,但具有时空建模能力,性能显著优于2D Swin。和Video-Swin网络相比,则具有明显的速度和显存优势。

18.png

4. 可视化结果

19.png

 图中从上到下依次为Kinetics400, Diving48, Sthv1的可视化效果。PST通过学习关联区域的相关性,并且特征图能够反映出视频当中动作的轨迹。


四、更多体验

大家如果想要稳定调用及效果更好的API,详见视觉开放智能平台https://vision.aliyun.com/

相关文章
|
网络协议 Ubuntu
如何修改wsl的Ubuntu的dns,固定dns
本文介绍了如何在 WSL 中配置网络设置。首先,修改 `/etc/wsl.conf` 文件,添加 `generateResolvConf = false`。其次,编辑 `/etc/resolv.conf` 文件,指定 DNS 服务器地址。最后,重启 WSL 即可生效。
1556 2
|
安全 IDE Java
MapStruct - 原理讲解
MapStruct - 原理讲解
1539 2
MapStruct - 原理讲解
|
XML Dubbo fastjson
FastJson - 设置默认参数,全局配置方式及爬坑
FastJson - 设置默认参数,全局配置方式及爬坑
2117 0
|
9月前
|
机器学习/深度学习 自然语言处理 数据可视化
MOIRAI-MOE: 基于混合专家系统的大规模时间序列预测模型
MOIRAI 是 Salesforce 开发的早期时间序列基础模型,凭借出色的基准测试性能和开源的大规模预训练数据集 LOTSA 获得广泛关注。最新升级版本 MOIRAI-MOE 引入混合专家模型(Mixture of Experts, MOE),在模型性能上实现显著提升。本文深入分析 MOIRAI-MOE 的技术架构与实现机制,对比其与原版 MOIRAI 的差异,探讨 MOE 在提升预测准确率和处理频率变化问题上的作用,并展示其在分布内和零样本预测中的优异表现。实验结果显示,MOIRAI-MOE 以更少的激活参数量实现了更高的性能提升,成为时间序列预测领域的重要里程碑。
515 12
MOIRAI-MOE: 基于混合专家系统的大规模时间序列预测模型
|
数据可视化 Java 数据库
手把手实现springboot整合flowable,非常简单【附源码.视频】
手把手实现springboot整合flowable,非常简单【附源码.视频】
698 2
|
网络协议 Windows
电脑ip在哪里查看?windows系统查看ip地址的8种方法
在Windows系统中,有多种方法可以查看电脑的IP地址。
7145 2
|
机器学习/深度学习 算法 PyTorch
【PyTorch实战演练】深入剖析MTCNN(多任务级联卷积神经网络)并使用30行代码实现人脸识别
【PyTorch实战演练】深入剖析MTCNN(多任务级联卷积神经网络)并使用30行代码实现人脸识别
1280 2
|
数据采集 算法 开发者
如何使用Python爬虫处理多种类型的滑动验证码
如何使用Python爬虫处理多种类型的滑动验证码
|
存储 SQL 算法
LeetCode第三题:两数相加详解【3/1000 python】
LeetCode第三题:两数相加详解【3/1000 python】

热门文章

最新文章

下一篇
oss云网关配置