ActionFormer: Localizing Moments of Actions with Transformers论文总结

ActionFormer(2022ECCV)

《ActionFormer: Localizing Moments of Actions with Transformers》

作者:南大-张晨麟&吴建鑫团队

原文地址:https://arxiv.org/pdf/2202.07925v2.pdf

参考博主的笔记:https://blog.csdn.net/zhuzyibooooo/article/details/126200854

(本人对该领域理解不深,本文可能会有错误,欢迎大佬们指正~)

背景:

基于自注意力的Transformer模型在图像分类和目标检测方面展示了令人印象深刻的结果,最近在视频理解方面也取得了很好的效果。受此启发,作者研究了Transformer网络在视频中用于时间动作定位的应用。

研究思路:

  • 之前的大多数工作基于卷积神经网络来做,且作为two-stage方法需要使用动作提议、生成锚框等;随着性能的稳定增长,提议生成、锚框设计、损失函数、网络架构设计、输出解码过程也越来越复杂。本篇工作意在提出利用Transformer作为基础模块设计一种极简主义的方案,同时要取得足够好的效果。
  • 本文采用的方法是比较简单的,包括用于提取特征的I3D,用于投影的浅层卷积网络,堆叠数层Transformer块组成的编码器,和用卷积神经网络实现的解码器。

研究内容:

  • 问题的形式化描述

    • 本文的模型将时序动作定位任务的预测问题转化为一个序列标记问题。输入是视频提取出来的特征序列X,将每个时刻归类为动作类别或背景,并进一步回归这个时间步与动作开始和结束之间的偏移距离,得到有标记的序列Y。
      在这里插入图片描述

    • 模型输出的y是每个时刻对应的三元组,包含了当前时刻各个动作类别的置信度,与此时与动作开始和结束边界之间的距离
      在这里插入图片描述

    • 通过下面的公式解码模型的输出,我们就可以得到每个的动作实例,包含预测的动作类别、动作开始边界及动作结束边界。

    在这里插入图片描述

    • 将得到的动作实例结果进行NMS,减去冗余、重叠部分大的动作实例,得到最终预测结果。最终得到的结果就是每个动作类别及其时间边界。

    • 模型运行在由特征网格定义的时间轴上,而不是绝对时间轴上,这允许它适应不同帧率的视频。

  • 整体框架

    ActionFormer: Localizing Moments of Actions with Transformers论文总结_第1张图片

    • 输入视频特征序列——投影:浅层卷积网络——编码器:多尺度transformer——解码器:轻量卷积网络——动作分类、边界回归
    • 输入的视频特征序列已经是预处理过了的,它使用了一个经过 Kinetics数据集预训练的 I3D模型来提取的视频特征。
    • transformer前加个卷积,合并时间序列数据的局部上下文,加入卷积可以稳定后续的训练
    • 编码器的结构就是上方右边这个图,有L层,每层都有MSA(多头自注意力)和MLP(多层感知机),每个前面都有LN(层归一化),还加入了跳跃连接,下采样是跨步一维卷积。
    • 解码器有分类和回归头部,
      • 分类head:输出每个时间上的分类动作的值。
      • 回归head:给出此刻与动作开始和结束的偏移距离
  • 编码器:多尺度transformer

    • 编码过程的关键包含两部分,第一部分是将特征变换到D维的空间,第二部分关键在于自注意力的操作,计算特征的加权平均。通过把输入序列做对应的变换得到QKV矩阵,权重与输入特征对之间相似度分数(相关性)成正比。

    在这里插入图片描述

    • 局部自注意力:本文采用了局部窗口中的局部注意力。相比于传统的全局自注意力来说,我们假定超出一定范围的时间背景对动作定位的帮助较小。局部自注意力降低了复杂度,与多尺度特征表示协同使用。这里多头注意力(MSA)并行若干自注意力操作,在整个序列上集成时间上下文信息

    • 多尺度特征表示:在Transformer块之间会穿插下采样层,构成特征金字塔,经过下采样之后特征图上的小窗口可以覆盖大的时间范围,不同level特征的感受野不同,从而能够关注到不同尺度的实例,这也适应了动作实例尺度差距大且多样的问题。

实验:

  • 数据集:THUMOS14,ActivityNet-1.3,EPIC-Kitchens 100

  • 评价指标:mAP、tIoU

  • baseline:G-TAD\BC-GNN\TAL-MR\A2Net\GTAN\AFSD\TadTR

  • THUMOS14

    • 数据集:包含413个未修剪的视频,包含20类动作。验证集包含200个视频,测试集包含213个视频。
    • I3D在Kinetics上预训练提取视频特征。用19的窗口。
    • 比之前所有方法实验结果都好,比同期也涉及了transformer的TadTR也好。首次超过65%的mAp,达到了66.8%。
  • ActivityNet-1.3:

    • 一个大型的动作数据集,包含200个活动类和大约20,000个超过600小时的视频。数据集分为三个子集:10024个训练视频,4926个验证视频,5044个测试视频。
    • 预训练用R(2+1)D,在效果第二好,36.6%
  • EPIC-Kitchens 100

    • 是最大的以自我为中心的行动数据集。该数据集包含来自700个环节的100小时视频,记录了不同厨房的烹饪活动。参加动作识别竞赛,和Slow Fast、ViViT结合获得第二。
    • baseline BMN、G-TAD,实验结果大幅度提升。
  • 消融实验:

    • 一维卷积作为baseline,替换卷积为transformer,增加LN,CTR,探索PE,Fusion
    • 对比局部注意力的窗口大小
    • 特征金字塔:对比不同层级,不同的初始回归范围

总结:

  • 作为第一个 TAL 任务下的 Transformer 模型,将局部自注意力与多尺度特征表示进行了结合

  • 结构简单,无需生成proposal或预先定义anchor window即可实现分类及回归。

  • 在基准数据集上的实验效果达到SOTA

发现相似论文:Adaptive Perception Transformer for Temporal Action Localization

同期在时序动作定位中引入transformer的Liu, X., Wang, Q., Hu, Y., Tang, X., Bai, S., Bai, X.: End-to-end temporal action detection with transformer. arXiv preprint arXiv:2106.10271 (2021)

相关知识

注意力机制、自注意力、transformer

  • 三个矩阵:Q,K,V。

    【注意力机制的本质|Self-Attention|Transformer|QKV矩阵-哔哩哔哩】 https://b23.tv/1PXWI5r

  • 为什么 transformer比CNN好?好在哪里

    • 总结:
      • transformer:dynamic attention、global context fusion、better generalization
      • CNN:multi-scale features by multi-stage、shift,scale and distortion invariance、local spatial modeling
    • 相互促进的模型:hierarchical vision transformer:swin transformer、Introducing convolutions to vision transformers (CvT)、CSWin Transformer: A General Vision Transformer Backbone with Cross-Shaped Windows

LayerNorm

(15条消息) BatchNorm和LayerNorm——通俗易懂的理解_WSLGN的博客-CSDN博客_batchnorm和layernorm

  • BatchNormVS LayerNorm

    • ActionFormer: Localizing Moments of Actions with Transformers论文总结_第2张图片
    • 上图画的是一个batch_size为N的图像特征张量。BatchNorm把一个batch中同一通道的所有特征(如上图红色区域)视为一个分布(有几个通道就有几个分布),并将其标准化。
    • 这意味着:不同图片的的同一通道的相对关系是保留的,即不同图片的同一通道的特征是可以比较的,同一图片的不同通道的特征则是失去了可比性
    • ActionFormer: Localizing Moments of Actions with Transformers论文总结_第3张图片
    • 上图画的是一个N个句子的语义特征张量。LayerNorm把一个样本的所有词义向量(如上图红色部分)视为一个分布(有几个句子就有几个分布),并将其标准化。
    • 这意味着:同一句子中词义向量(上图中的V1, V2, …, VL)的相对大小是保留的,或者也可以说LayerNorm不改变词义向量的方向,只改变它的模。不同句子的词义向量则是失去了可比性。
  • 总结:BatchNorm适用于CV,而LayerNorm适用于NLP,这是由两个任务的本质差异决定的,视觉的特征是客观存在的特征,而语义特征更多是由上下文语义决定的一种统计特征,因此他们的标准化方法也会有所不同。

你可能感兴趣的:(时序动作定位,深度学习,人工智能,计算机视觉,transformer)