这篇文章用到了transformer来对视频帧进行时序信息探索,网络结构是基于原型网络进行改进的,代码已开源。
paper: https://arxiv.org/abs/2101.06184
code: https://github.com/tobyperrett/trx


Motivation

在该文章之前,小样本学习方法都是将query视频和support集视频中最好的 视频相比,或是和所有视频匹配,最后取平均。该方法带来的问题是,同一个动作不同的视频有着不同的长度和速度,因此此种匹配方式不太符合视频的特点。因此作者提出了TRX来解决该问题,同时作者还探索了视频的时序关系。

方法


首先对视频进行稀疏采样,每个视频采样8帧,使用resnet50提取帧特征,得到一个8×2048的特征。因为动作在不同时刻有着不同的外观、很难用单帧表示,因此需要用至少两帧表示(论文中作者通过实验验证了选取2帧和3帧效果最好)。

接来下先介绍取2帧的操作。公式(1)中Φ是一个卷积操作,将C×W×3的特征转换为D维特征(此处D=2048)。选取两帧特征,进行拼接得到动作Qp{Q_p}Qp​。

公式(2)、(3)、(4)描述了如何构建support集的动作表征,对于第c类中的第k个视频,挑选任意两帧,计算Skmc{S_{km}^c}Skmc​作为动作特征,将第c类动作中的k个视频的Skmc{S_{km}^c}Skmc​进行拼接,得到第c类动作的表征Sc{S^c}Sc。

基于spatial CrossTransformer作者提出temporal CrossTransformer,前者基于图像像素块,后者基于视频图像对。CrossTransformer包含ΥΥΥ,Γ和Λ,分别将2×D的特征转化为dkd_kdk​维和dvd_vdv​维。

定义query视频和support集视频Skmc{S_{km}^c}Skmc​的相似度为akmpc{a_{kmp}^c}akmpc​,公式(6),其中L是一个标准的正则化层。对其应用一个softmax层获得一个注意力向量akmpc{a_{kmp}^c}akmpc​。对Skmc{S_{km}^c}Skmc​做一个value映射得到vkmc{v_{km}^c}vkmc​=Λ⋅Skmc{S_{km}^c}Skmc​。接着将前面得到的注意力向量与其结合得到公式(8),tpct_p^ctpc​即代表与搜索视频p对应的第c类prototype。最后T计算查询视频QpQ_pQp​和支持集视频ScS^cSc的距离,通过公式(10)定义这二者的距离。

该过程其实和self-attention有点类似,只不过其query、key和value不是来自同一输入,因此将其称为cross-transformer。ΥΥΥ和Γ讲特征经过线性变换后转化为dkd_kdk​维特征,即query_key和support_key,通过点积操作求得二者之间的相似度即akmpc{a_{kmp}^c}akmpc​。Λ是将特征转化为dvd_vdv​维,即得到query_value和support_value。query_value往后传用于计算与prototype之间的距离,而前面求得的相似度经过softmax层转化为分数后,作为一个注意力向量与support_value相乘,这样便得到了query-specific prototype。最后计算欧式距离,距离最小的类即为query类别。

训练时,每个query-class距离取负作为损失进行传播,在预测时,选取最小距离的类作为query视频的类,即arg⁡minT(Qp,Sc)arg⁡ minT(Q_p,S^c)arg⁡minT(Qp​,Sc)

Temporal Relational CrossTransformers

前面讲的是从query视频中选取一对将其与support视频比较,但是想要找到一对能最好的表示该视频动作是一件非常困哪的任务,因为作者提出构建多个随机选取的帧对来进行比较。同时作者通过考虑任意长度的有序子序列将temporal crossTransformer扩展到temporal Relational CrossTransformer。流程和temporal crossTransformer是一样的,不过考虑了3帧、4帧等情况。
Πω={(n1,…,nω)∈Nω:∀i(1≤ni<ni+1≤F)}\Pi^{\omega}=\left\{\left(n_{1}, \ldots, n_{\omega}\right) \in \mathbb{N}^{\omega}: \forall i\left(1 \leq n_{i}<n_{i+1} \leq F\right)\right\}Πω={(n1​,…,nω​)∈Nω:∀i(1≤ni​<ni+1​≤F)} (11)
Qpω=[Φ(qp1)+PE⁡(p1),…,Φ(qpω)+PE⁡(pω)]∈Rω×DQ_{p}^{\omega}=\left[\Phi\left(q_{p_{1}}\right)+\operatorname{PE}\left(p_{1}\right), \ldots, \Phi\left(q_{p_{\omega}}\right)+\operatorname{PE}\left(p_{\omega}\right)\right] \in \mathbb{R}^{\omega \times D}Qpω​=[Φ(qp1​​)+PE(p1​),…,Φ(qpω​​)+PE(pω​)]∈Rω×D (12)
Υω,Γω:Rω×D↦Rdk\Upsilon^{\omega}, \Gamma^{\omega}: \mathbb{R}^{\omega \times D} \mapsto \mathbb{R}^{d_{k}}Υω,Γω:Rω×D↦Rdk​ and Λω:Rω×D↦Rdv\Lambda^{\omega}: \mathbb{R}^{\omega \times D} \mapsto \mathbb{R}^{d_{v}}Λω:Rω×D↦Rdv​ (13)
TΩ(Q,Sc)=∑ω∈ΩTω(Qω,Scω)\mathbf{T}^{\Omega}\left(Q, \mathbf{S}^{c}\right)=\sum_{\omega \in \Omega} T^{\omega}\left(\mathbf{Q}^{\omega}, \mathbf{S}^{c \omega}\right)TΩ(Q,Sc)=∑ω∈Ω​Tω(Qω,Scω) (14)

实验

作者在四个数据集上进行了实验,也是行为识别里非常常用的四个数据集:UCF101、HMDB51、Kinectics和Something to Something。

结论

1、Trx采用两帧或3帧特征进行拼接表示动作特征;将简单的拼接操作使用类似卷积等网络提取出两帧之间的运动信息;
2、损失函数简单地采用的是query到prototype的距离乘以-1

Temporal-Relational CrossTransformers for Few-Shot Action Recognition相关推荐

  1. Dense Dilated Network for Few Shot Action Recognition

    Motivation 在视频的时空信息探索中,有使用3D卷积学习时空表征,也有使用2D+1D以及TCN,但是这些方法都需要大量的数据来获得一个满意的结果. 数据稀缺问题是新出现的行动类别的一个常见问题 ...

  2. 论文阅读_Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition

    Abstract 人体骨架动力学为人体动作识别提供了重要信息.传统的骨架建模方法通常依赖于手工制作的部件或遍历规则,从而导致表达能力有限和泛化困难.在这项工作中,我们提出了一种新的动态骨架模型,称为时 ...

  3. spatial temporal graph convolutional network for skeleton-based action recognition

    PPSIG:Paddlesports ST-GCN动作识别 - 飞桨AI Studio数据集为fsd-10花样滑冰,项目为ST-GCN从PaddleVideo抽取代码,可直接运行,acc为0.48 - ...

  4. 论文笔记 Semantics-Guided Neural Networks for Efficient Skeleton-Based Human Action Recognition - CVPR

    Semantics-Guided Neural Networks for Efficient Skeleton-Based Human Action Recognition 2020 CVPR | c ...

  5. Temporal Segment Networks: Towards Good Practices for Deep Action Recognition(时间段网络:使用深度行为识别的良好实现)

    本文的原作者为Limin Wang等人原文地址 #摘要 深度卷积网络在静止图像中的视觉识别方面取得了巨大成功.然而,对于视频中的动作识别,优于传统方法的优势并不明显.本文旨在探索为视频中的动作识别设计 ...

  6. 视频动作识别--Temporal Segment Networks: Towards Good Practices for Deep Action Recognition

    Temporal Segment Networks: Towards Good Practices for Deep Action Recognition ECCV2016 https://githu ...

  7. Temporal Pyramid Network for Action Recognition(CVPR2020)

    Abstract 视觉节奏表征了动作的动态和时间尺度.对不同动作的这种视觉节奏进行建模有助于动作的识别.以前的工作通常通过以多种速率采样原始视频,并构建输入级帧金字塔来捕获视觉节奏,而帧金字塔通常需要 ...

  8. 【论文阅读】Long-term Temporal Convolutions for Action Recognition

    [论文阅读]Long-term Temporal Convolutions for Action Recognition 这篇论文之前,几乎所有的3D卷积网络的输入视频长度都很短,例如C3D.Res3 ...

  9. 行为识别论文笔记|TSN|Temporal Segment Networks: Towards Good Practices for Deep Action Recognition

    行为识别论文笔记|TSN|Temporal Segment Networks: Towards Good Practices for Deep Action Recognition Temporal ...

最新文章

  1. 「多图」图解10大CNN架构
  2. LeetCode-剑指 Offer 50. 第一个只出现一次的字符
  3. 最容易理解的计算机网络 基础知识概论(下)
  4. 【.Net 学习系列】-- EF Core实践(Code First)
  5. placeholder插件详解
  6. java 隐藏cmd_bat启动java程序 可以隐藏cmd窗口
  7. linux下如何批量替换多个文件中的某个字符串?
  8. java连接Redis数据库
  9. 作者:刘新海(1976-),男,中国人民银行征信中心副研究员
  10. 零基础开始学前端有什么建议?
  11. 运算符重载——递增运算符重载
  12. 开源边缘计算平台研究分析
  13. html5dragw3c,HTML5拖拽功能drag
  14. 抖音巨量百应怎么入驻?
  15. 3D GAME PROGRAMMING WITH DIRECTX11 (1)
  16. 基于微信小程序的wifi模块使用
  17. 11.21的自动锁屏 ios_iPhone11 的新手小技巧
  18. Vue之Hello World!
  19. 计算机常用的网络安全技术有哪些,简述计算机的网络安全技术有哪些常用技术?...
  20. 虚拟化1-创建虚拟机

热门文章

  1. retain和release 的使用
  2. 成长与发展---如何在工作中名副其实地脱颖而出
  3. NJR推出NJW1194双电源运行的电子音量调节IC
  4. 应急管理综合应用解决方案
  5. 服务器控件的几个属性 SelectedIndex、SelectedItem、SelectedValue、SelectedItem.Text、selectedItem.value...
  6. PASCAL VOC 数据集的标注格式
  7. 职场小故事,工作大道理(17)
  8. 地理信息系统:绪论重点基础知识
  9. aaaaa22222
  10. springboot实现图片上传到又拍云中,并且保存图片外连接路径到数据库,外连接也可访问图片(一)