EVAD

Efficient Video Action Detection with Token Dropout and Context Refinement[1]

作者是来自nju、蚂蚁集团、复旦和上海AI Lab的Lei Chen、Zhan Tong、Yibing Song等人。论文引用[1]:Chen, Lei et al. “Efficient Video Action Detection with Token Dropout and Context Refinement.” 2023 IEEE/CVF International Conference on Computer Vision (ICCV) (2023): 10354-10365.

Time

  • 2023.Aug

Key Words

  • spatiotemporal token dropout
  • maintain all tokens in keyframe representing scene context
  • select tokens from other frames representing actor motions
  • drop out irrelavant tokens.

总结

  1. 视频流clips with large-scale vieo tokens 阻止了ViTs for efficient recognition,特别是在video action detection领域,这是需要大量的时空representations来精确地actor identification。这篇工作,提出了端到端的框架 for efficient video action detection(EVAD) based on vanilla ViTs。EVAD包含两个为视频行为检测的特殊设计。首先:提出来时空token dropout from a keyframe-centric perspective. 在一个video clip中,main all tokens from its keyframe,保留其它帧中和actor motions相关的tokens。第二:通过利用剩余的tokens,refine scene context for better recognizing actor identities。action detector中的RoI扩展到时间域。获得的时空actor identity representations are refined via scene context in a decoder with the attention mechanism。这两个设计使得EVAD高效的同时保持精度。
  1. image patches视为ViT输入的tokens for 自注意力的计算。当识别一个video clip的时候,tokens 来自每个frame,形成大规模的input for ViTs,这些video tokens会在训练和推理的时候引入很多计算,特别是在计算自注意力的时候。有一些尝试来减少vision tokens for fast computations。对于video action detection 任务来说,平衡精度和效率是个挑战。这是因为在VAD中,需要定位每一帧中的actors,视频序列中的temporal motion需要保持 for consistent identification。同时,scene context 应该被保留以区别其它actors。大量的表示actor motions和scene context的video tokens会保持VAD的精度。这篇文章中,保留表示actor motions和scene context的video tokens,同时dropping out 不相关的tokens。基于视频clips的时序连贯性,从keyframe-centric的角度,提出来时空token dropout对于每个视频clip,选择代表scene context的keyframe,这里的所有tokens将被maintained。同时,从其它代表actor motions的帧中选择tokens。另外,drop out 这个clip中的剩余的video tokens

    通过一个keyframe-centric token pruning module with the ViT encoder backbone,实现spatiotemporal token dropout。这个keyframe要么是均匀采样得到的,要么人为在video clips中定义的。默认是选择input clip中带有box annotations的middle frame。另外,提取由这个keyframe增强的attention map。这个attention map在non-keyframe中知道toke dropout。在定位之后,需要分类每个定位好的bbox for actor identification。当video tokens 在non-keyframes中是不完整的时候,分类的性能在bbox regions (where tokens have been dropped out)中是较差的。然而,视频的内在时序一致性使得能够refine both actor和scene context from the remaining video tokens。扩展时域上的localized bboxes for RoIAlign,来获得与actor motion相关的token features。然后,引入一个decoder,通过这个clip中的剩余video tokens的指导,来refine actor features。这个decoder concatenates actor和token features,进行自注意力操作来产生丰富的actor features for better identification。在token dropout之后,退化的action classification能够用剩余的video tokens for context refinement来恢复。这个恢复的性能和用整个video tokens for action classification是一样的。通过这个context refinement,用减少了的video tokens保持了VAD的性能。

  2. 相关工作:

    • Spatio-temporal Action Detection:当前的SOTA方法采用两个分开的backbones、2个stages pipelines。例如2D backbone for actor localization on keyframes,3D backbone for video feature extraction.之前的方法通过端到端的方式训练这两个backbone,来简化pipeline。这个会导致很高的复杂度和优化困难。最近的方法用统一的一个backbone来进行action detection。 VAT是一个transformer风格的action detector,来汇聚目标actor附近的时空上下文。WOO和TubeR是query-based的action detectors,来预测actor bboxes和action classes。STMixer是一个但阶段的query-based detector,来adaptively sample discriminative features。几个新的基于transformer的方法,用ViT的变种backbone,用两阶段的pipeline得到了一个比较好的结果。
    • Spatio-temporal Redundancy
      1. Spatial Redundancy:DynamicViT观察到,精确的图像识别是基于最富有信息的tokens的子集,设计了一个dynamic token sparsification的框架,来剪掉多余的tokens。EViT计算了class token to each token的attentiveness,确定了top-k tokens using the attentiveness value。ATS引入了一个differentiable adaptive token sampler for adaptively sampling 重要的tokens based on image content。
      2. Spatio-temporal redundancy:由于视频数据集的高冗余性,有很多的研究关注于开发高效的视频识别。最近的方法展示了高效的schemes specialized for video transformers。MAR提出了一个人为设计的masking 策略,来丢弃 部分patches,减少video tokens。K-centered提出了patch-based sampling,超越了传统的frame-based sampling。STTS用transformer在时间和空间上sequentially 选择tokens。
      为了和这些方法对比,考虑keyframe和邻近帧的correlation,来drop out 冗余的tokens,然后执行端到端的基于transformer的action detector。
  3. Method:EVAD使encoder with token pruning 来去掉多余的tokens,decoder来refine actor spatiotemporal features。和WOO设置相同,利用encoder中的keyframe的多个中间的spatial feature maps for actor localization,最后一个encoder layer输出的spatiotemporal feature map 用来做action classification。

    • Keyframe-centric Token Pruning:相邻帧有着相似语义信息的video是高度冗余的,使得用一个比较高的dropout rate on video transformers来做token pruning是可能的。这里,将所有的spatiotemporal tokens分成keyframe tokens和non-keyframe tokens。keyframe中,保留所有的tokens for accurate actor localization。
    1. Non-keyframe token pruning:用 EViT中的方法,预先计算一个attention map来表示每个token的重要性,不需要额外的learnable parameters和计算开销。首先,average attention map的num_heads维度,来得到一个 \(N \times N\)的matrix,表示tokens之间的 attentiveness。因为没有classification token for video-level recognition,所以计算每个token的平均重要性分数 \(I_{j}=\frac{1}{N}\sum_{i=1}^{N}attn(i,j)\)。然后从 \(N_2\) non-keyframe tokens中,通过重要性分数的降序排列,找到 top(\(N \times \rho - N_1\)) tokens,这里\(N, N_1, N_2\)分别表示所有的tokens、keyframe tokens和non-keyframe tokens。\(\rho\) 表示 token keeping rate,通常情况下,keyframe包含当前样本的最精确的语义信息,其它帧会带来信息bias。guided by keyframe进行token pruning是符合实际的。为了这个目的,在acquiring attention map和计算non-keyframe token重要之间插入一个 Keyframe Attentiveness Enhancement step。用一个greater weight value to keyframe queries,保留和keyframe tokens高关联的tokens。每个token的重要性分数是这样更新的:

    \[I_j=\frac{1}{N}\sum_{i=1}^N \begin{cases} w_{tf} \cdot attn(i,j),&i \in (0,N_1)\\\\attn(i,j),&i \in (N_1,N)\end{cases}\]

    假设first \(N_1\) tokens属于keyframe,weigth value \(w_{kf}\) 是一个超参数。丢掉仅和non-keyframes 有high response的tokens,这些可能不是高质量的tokens。仅当non-keyframe变成了previous or next samples的keyframe的时候,这些highly responsive tokens才是高质量的。通过dropout 这些冗余的tokens,进一步减少tokens的数量;做完token pruning之后,将这些保留的tokens给到之后的FFN。

    第一次token pruning是在encoder layers 的1/3开始,之后,每个 1/4的 total layers进行一次 token pruning,丢弃冗余的tokens,保留effective ones。

    • Video Action Detection
    1. Actor localization branch 得到了keyframe tokens,就能得到多个完整的keyframe feature maps。然后对这些feature maps进行上采样或者下采样,来从palin ViT中产生hierarchical features。受Sparse RCNN的启发,引入了query-based actor localization head,来检测keyframe中的actors。actor localization branch的输出是 \(n\)个 prediction boxes in the keyframe和对应的actor confidence scores。

    2. Action Classification branch 不同于传统的特征提取,EVAD产生\(M\)个离散的video tokens。需要恢复video feature map的时空结构,然后进行location-related 操作例如RoIAlign。初始化blank feature map shape as \((T/2,H/16,W/16)\),用保留的tokens来填充这个feature map according to 它们对应的时空位置,剩余的用0进行pad。

    然后,用localization branch产生的boxes,通过3D RoIAlign来提取actor RoI features for subsequent action prediction。由于actor movement或者相机的变化,actor的空间位置是逐帧变化的,用keyframe box for 3D RoIAlign不能得到partial actor feature deviated from the box。直接扩展scope of the box来cover整个motion trajectory,可能会引入背景或者其它的干扰信息,对actor feature representation不利。然而,在EVAD feature extraction阶段,视频中的干扰项会被逐步去掉,因此可以扩展scope of box来增加deviated feature. 观察发现:直接用vision classification的token pruning 方法能减少计算中的tokens的数量,但是会对最后的检测性能有负面的影响。Video action detection要localizing和classifying actions of all actors,但是token pruning算法会导致时空上不连贯的actor features**。在encoder中,pair-wise self-attention能够modeling global dependency among tokens,actor regions内的dropout tokens的语义信息能够被incorporated into some preserved tokens,因此能够从保留的video tokens中恢复去掉的actor features。为了这个目的,设计了一个context refinement decoder来refine actor的spatiotemporal representation。具体地说:concatenate \(M\)个video tokens的 \(n\)个actor RoI features,然后送到deocder中,guiding by 保留的tokens,actor features can enrich themselves with actor represntation and motion information from other frames。没有token pruning,decoder会被用来作为relational modeling modules,来得到inter-actor和actor-context的interaction information。

    decoder输出的\(n\)个refined actor features are retrieved,然后通过一个classification layer,做最后的action prediction。

  4. 实验:

    • RoI extension:由于人的large motion,从keyframe中得到的box不能cover整个motion trajectory,Intuitively,通过适当地扩展box scope来解决这个问题。pruning mechanism能够消除extension带来的interference information。结合了RoI extension的pruning能够在一定程度上消除human movements的影响。
    • EVAD能够实现实时的推理in an end-to-end manner。
    • 之前流行的model 是VideoMAE,是一个两阶段的model,需要一个离线的person detector来pre-compute person proposals。现在EVAD,用同样的预训练的backbone,能够获得和VideoMAE相当的性能。和其它端到端的模型例如 WOOTubeR,用明显的性能提升;比基于CNN的model有更快的推理速度, more friendly to real-time action detection。 比STMixer的性能略微好一点,STMixer是最近的端到端的模型,设计了一个decoder来采样discriminative features。EVAD is deivsed for efficient video feature extraction,进一步结合这两个或许会得到更好的检测性能
  5. Conclusion:受video sequence的transformer的大量的计算开销和视频检测中高度冗余时空信息的的启发,通过 droping out spatiotemporal tokens and refining scene context to enable efficient transformer-based action detection,设计了EVAD的方法。 EVAD的局限是:它需要 retraining once to take the benefits of reduced computations and faster inference from removing redundancy。一个潜在的方法是探索 transformer-adaptive token pruning algorithms。另外,follow 端到端的框架 WOO来验证EVAD的效率和有效性,但是WOO是一个两阶段的pipeline,sequentially 执行actor localization和action classification modules。在未来的工作中,旨在将这两个modules集成到一个 unified head,能够减小通过 detector head的推理时间,能够amplify EVAD的高效的特点。

Structure

\(Figure \ 1^{[1]}\): Pipeline of EVAD. Our detector consists of three parts: an encoder with keyframe-centric token pruning for efficient video feature extraction, a query-based localization branch using multiscale features of the keyframe for actor boxes prediction, and a classification branch conducting actor spatiotemporal feature refinement and relational modeling between actor RoI features and compact context tokens from ViT encoder.

Keyframe-centric token pruning

\(Figure \ 2^{[1]}\): Structure of keyframe-centric token pruning.We conduct token pruning within the original encoder layer.Specifically, we calculate the importance scores of non-keyframe tokens using a keyframe-enhanced attention map.Then, we preserve the top-k important non-keyframe tokens concatenated with keyframe tokens as the results