关注公众号,发现CV技术之美

本篇分享 CVPR 2022 论文『MS-TCT: Multi-Scale Temporal ConvTransformer for Action Detection』,Inria&SBU提出用于动作检测的多尺度时间Transformer,《MS-TCT》,检测效果SOTA!代码已开源!

详细信息如下:

  • 论文链接:https://arxiv.org/abs/2112.03902

  • 项目链接:https://github.com/dairui01/MS-TCT

      01      

摘要

动作检测是一项重要且具有挑战性的任务,尤其是在标记密集的未剪辑视频数据集中。这些数据由复杂的时间关系组成,包括复合或共同发生的动作。要在这些复杂的环境中检测动作,有效地捕获短期和长期时间信息至关重要。为此,作者提出了一种用于动作检测的新型“ConvTransformer”网络:MS-TCT。

该网络由三个主要组件组成:

  1. 时间编码器模块,它以多个时间分辨率探索全局和局部时间关系;

  2. 时间尺度混合器模块,它有效地融合多尺度特征,创建统一的特征表示;

  3. 分类模块,它在时间上学习每个动作实例的中心相对位置,并预测帧级分类分数。

作者在多个具有挑战性的数据集(如Charades、TSU和MultiTHUMOS)上的实验结果验证了所提方法的有效性,该方法在所有三个数据集上都优于最先进的方法。

      02      

Motivation

动作检测是计算机视觉中的一个众所周知的问题,其目的是在未经剪辑的视频中发现动作之间精确的时间边界。它与现实世界的设置很好地吻合,因为视频的每一分钟都可能充满了要检测和标记的多个动作。有一些公共数据集提供了密集的标注来解决这个问题,其动作分布类似于真实世界。然而,这类数据可能具有挑战性,在不同的时间跨度内同时发生多个动作,并且背景信息有限。因此,了解行动之间的短期和长期时间依赖性对于做出良好的预测至关重要。

例如,“吃东西”(见上图)的动作可以从“打开冰箱”和“制作三明治”中获取上下文信息,分别对应于短期和长期的动作依赖关系。此外,“把东西放在桌子上”和“做三明治”的出现提供了上下文信息来检测复合动作“烹饪”。这个例子表明需要一种有效的时间建模技术来检测标记密集的视频中的动作。

为了对未剪辑视频中的时间关系进行建模,以前的多种方法都使用1D时间卷积。然而,受其核大小的限制,基于卷积的方法只能直接访问局部信息,无法学习视频中时间上遥远的片段之间的直接关系(这里,将一组连续帧视为一个片段)。因此,此类方法无法对可能对动作检测很重要的片段之间的远程交互进行建模。

随着Transformers在自然语言处理领域的成功,以及最近在计算机视觉领域的成功,最近的方法利用多头自注意(MHSA)在视频中建模长期关系以进行动作检测。这种注意力机制可以在视频的每个时间段(即时间token)之间建立直接的一对一全局关系,以检测高度相关和复合的动作。然而,现有的方法依赖于在输入帧本身上建模这种长期关系。

在这里,时间token仅覆盖一部分帧,相对一个动作来说,这些帧的数量太少了。此外,在此设置中,Transformer需要明确地学习由于时间一致性而产生的相邻token之间的强关系,而时间卷积(即局部归纳偏置)自然会产生这种关系。因此,纯transformer架构可能不足以为动作检测建模复杂的时间依赖关系。

为此,作者提出了多尺度时间ConvTransformer(MS-TCT),这是一种既包含了卷积优点又包含了自注意力优点的模型。作者在基于token的结构中使用卷积来提升token的多个时间尺度,并轻松地混合相邻的token,从而实现时间一致性。

事实上,MS-TCT构建在使用3D卷积主干编码的时间段之上。每个时间段被视为MS-TCT的单个输入token,以不同的时间尺度分多个阶段进行处理。这些尺度由时间段的大小决定,时间段在每个阶段的输入中被视为单个token。具有不同的尺度使MS-TCT能够在早期阶段了解原子动作(如“打开冰箱”)之间的细粒度关系,以及在后期阶段了解复合动作(如“烹饪”)之间的粗糙关系。

更具体地说,每个阶段包括一个用于合并token的时间卷积层,然后是一组多头自注意力层和时间卷积层,分别对全局时间关系进行建模,并在token之间注入局部信息。由于卷积引入了归纳偏置,MS-TCT中使用时间卷积层可以注入与token相关的位置信息。然后对不同尺度下的时间关系进行建模,利用混合模块对各个阶段的特征进行融合,得到统一的特征表示。

最后,为了预测密集分布的行为,作者在MS-TCT中除了通常的多标签分类分支之外,还引入了一个heat-map分支。该heat-map鼓励网络预测每个动作类实例的相对时间位置。上图展示出了基于由实例中心参数化的高斯滤波器及其持续时间计算的相对时间位置。它表示在任何给定时间相对于动作实例中心的相对时间位置。通过这一新分支,MS-TCT可以在token表示中嵌入一个class-wise的相对时间位置,鼓励在复杂视频中进行区分性token分类。

综上所述,这项工作的主要贡献是:

  1. 提出了一种有效的ConvTransformer,用于在未经剪辑的视频中建模复杂的时间关系;

  2. 引入了一个新的分支来学习相对于实例中心的位置,这有助于在密集标注视频中的动作检测;

  3. 在三个密集标注的动作检测数据集上达到SOTA的性能!

      03      

方法

对于长度为T的视频序列,每个时间步长t都包含一个ground-truth动作标签,其中表示动作类。对于每个时间步,动作检测模型需要预测类概率。

本文提出的动作检测模型MS-TCT如下图所示,它包含4个部分:

  1. 对初步视频表示进行编码的视觉编码器

  2. 在不同时间尺度(即分辨率)上对时间关系进行结构建模的时间编码器

  3. 结合多尺度时间表示的时间尺度混合器(TS Mixer),

  4. 预测类概率的分类模块

3.1. Visual Encoder

动作检测网络MS-TCT的输入是一段未经剪辑的视频,可能会持续很长时间(例如,几分钟)。然而,在空间和时间维度上处理长视频可能具有挑战性,主要是由于计算负担。作为一种折衷,类似于之前的动作检测模型,作者将3D CNN提取的视频片段的特征作为MS-TCT的输入,MS-TCT将空间信息潜在地嵌入为通道。

具体地说,作者使用I3D主干来编码视频。每个视频被分成T个不重叠的片段(在训练期间),每个片段由8帧组成。这样的RGB帧作为输入段馈送到I3D网络。每个分段级特征(I3D的输出)都可以看作是时间步的Transformer token(即时间token)。作者沿着时间轴堆叠token,形成一个的视频token表示,并将其输入到时间编码器。

3.2. Temporal Encoder

有效的时间建模对于理解视频中的长期时间关系至关重要,尤其是对于复杂的动作合成。给定一组视频token,有两个建模时间信息的主要方法:使用(1)1D时间卷积层,该层关注相邻的token,但忽略视频中的直接长期时间依赖性,或(2)建模时间信息的主要方法:使用(1)1D时间卷积层[31],该层关注相邻的令牌,但忽略视频中的直接长期时间依赖性,或(2)转换器层[45],该层全局编码所有令牌的一对一交互,同时忽略局部语义,这在建模高度相关的视觉信号时被证明是有益的,该层全局编码所有token的一对一交互,同时忽略局部语义,这在建模高度相关的视觉信号时被证明是有益的。本文的时态编码器交替探索局部和全局上下文信息。

如上图所示,时间编码器遵循具有N个阶段的层次结构:早期阶段学习具有更多时间token的细粒度动作表示,而后期阶段学习具有更少token的粗略表示。每个阶段对应于一个语义级别(即时间分辨率),由一个时间合并块和B个全局-局部关系块组成,如下图所示。

Temporal Merging Block

时间合并块是引入网络层次结构的关键组件,它在增加特征维数的同时减少了token的数量(即时间分辨率)。此步骤可以看作是相邻token之间的加权池化操作。实际上,作者使用单个时间卷积层(核大小为k,步长通常为2)将token数量减半,并将通道大小扩展×γ。在第一阶段,作者保持步长为1,以保持与I3D输出相同数量的token,并将特征大小从投影到。

Global-Local Relational Block

全局-局部关系块进一步分解为全局关系块和局部关系块(见上图)。在全局关系块中,作者使用标准的多头自注意层来建模长期的动作依赖,即全局上下文关系。在局部关系块中,作者使用时间卷积层(核大小为k)通过注入相邻token的上下文信息(即局部归纳偏置)来增强token表示。这增强了每个token的时间一致性,同时对与动作实例相对应的短期时间信息进行建模。

对于块,作者将输入token表示为。首先,token通过全局关系块中的多注意力层,全局关系块由H个注意力头组成。对于每个头,输入投影到,其中

402 Payment Required

表示线性层的权重,表示每个头的特征尺寸。因此,每个头的自注意计算为:

然后,不同注意力头的输出与额外的线性层混合,如下所示:

其中表示线性层的权重。多头注意层的输出特征大小与输入特征大小相同。

接下来,将多头注意力的输出token送到局部关系块,该块由两个线性层和一个时间卷积层组成。如上图所示,token首先经过线性层以将特征维度从增加到,然后是核大小为k的时间卷积层,其混合相邻token以向时间token提供局部位置信息。最后,另一个线性层将特征尺寸投影回。该块中的两个线性层实现了多头注意力层和时间卷积层之间的转换。

来自每个阶段的最后一个全局-局部关系块的输出token被组合并馈送到以下时间尺度混合器。

3.3. Temporal Scale Mixer

在获得不同时间尺度的token后,剩下的问题是,如何聚合这些多尺度token以获得统一的视频表示?为了预测动作概率,本文的分类模块需要在原始时间长度作为网络输入进行预测。因此,需要跨时间维度内插token,这是通过执行上采样和线性投影步骤来实现的。

如上图所示,对于来自第个stage的输出,此操作可以表示为:

其中,上采样率为n。在本文的层次结构中,早期阶段(语义较低)具有较高的时间分辨率,而后期阶段(语义较高)具有较低的时间分辨率。为了平衡分辨率和语义,最后一个阶段N的上采样token通过线性层进行处理,并与每个阶段的上采样token相加。此操作可表述为:

其中,是第n个阶段的精炼token,⊕ 表示元素的加法和。这里,所有精炼的token表示都具有相同的时间长度。最后,将它们concat起来,得到最终的多尺度视频表示:

然后将多尺度视频表示发送到分类模块进行预测。

3.4. Classification Module

MS-TCT训练是通过联合学习两个分类任务来实现的。作者引入了一个新的分类分支来学习动作实例的heatmap。此heatmap不同于ground truth标签,因为它随时间变化,基于行动中心和持续时间。使用这种heatmap表示的目的是在MS-TCT的学习token中编码时间相对定位。

为了训练heatmap分支,首先需要构建基于类的ground truth heatmap响应,其中C表示动作类的数量。在这项工作中,作者构造了 通过考虑一组一维高斯滤波器的最大响应。每个高斯滤波器对应于视频中动作类的一个实例,在时间上以特定动作实例为中心。

更准确地说,对于每个时间位置t,ground truth heatmap响应公式如下:

这里,σ根据中心和实例持续时间提供特定于实例的高斯激活。此外,σ等于每个实例持续时间的,表示类c和实例a的中心。是视频中c类的实例总数。heatmap是使用核大小为k的时间卷积层和非线性激活,然后是具有sigmoid激活的另一线性层来计算的。给定ground truth 和预测的heatmap,作者计算了action focal loss,公式如下:

其中A是视频中动作实例的总数。

与前面的工作类似,作者利用另一个分支来执行常见的多标签分类。对于视频特征,使用两个具有sigmoid激活的线性层计算预测,并根据ground truth标签计算Binary Cross Entropy(BCE)损失。评估中仅使用该分支预测的分数。两个分支的输入都是相同的输出token。heatmap分支鼓励模型将实例中心的相对位置嵌入到视频token中。因此,分类分支也可以从这些位置信息中受益,从而做出更好的预测。

总损失表示为上述两种损失的加权和:

      04      

实验

如上表所示,仅具有分类分支的I3D特征被视为代表性baseline。该baseline包含一个分类器,该分类器在每个时间步中用I3D特征,而无任何进一步的时间建模。添加本文的时间编码器显著提高了性能(+7.0%)。这反映了时间编码器在建模视频中的时间关系方面的有效性。

此外,如果引入一个时间尺度混合器来混合来自不同时间尺度的特征,它可以在计算量最小的情况下提高+0.5%。最后,作者研究了heatmap分支在分类模块中的实用性。注意这个发现,当与分类分支一起优化时,heatmap分支是有效的,但在没有它的情况下优化时,无法学习区分表示。

在上表中,作者给出了与时间编码器中一个阶段的设计选择相关的消融。上表中的每一行表示在每个阶段移除组件的结果。可以发现移除任何组件都会显著降低性能。这一观察结果表明,在本文的方法中,联合建模全局和局部关系的重要性,以及多尺度结构的有效性。

作者还深入挖掘了每个阶段中的局部关系块。在局部关系块中有两个线性层和一个时间卷积层。在上表中,作者进一步对这些组件进行消融。首先,作者发现,如果没有时间卷积层,检测性能会下降。这一观察显示了将Transformer Token与时间位置混合的重要性。

此外,当特征大小保持不变时,使用过渡层可以将性能提高1.8%,这表明了过渡层的重要性。最后,作者研究了扩展率对网络性能的影响。在设置不同的特征扩展率时,作者发现当输入特征位于高维空间时,时间卷积可以更好地建模局部时间关系。

上表的展示了本文方法和SOTA方法的对比结果,可以看出本文方法具有明显性能优势。

上表展示了Charades数据集的动作条件度量来评估本文的网络。

上图展示了Charades数据集上对PDAN和MS-TCT进行了定性评估。由于 Coarse-Fine Network的预测类似于X3D网络,仅限于几十帧,因此无法在整个视频上与 Coarse-Fine Network进行比较。从上图中可以观察到MS-TCT可以比PDAN更精确地预测动作实例。这种比较反映了transformer结构和多尺度时间建模的有效性。

上表展示了提出的ConvTransformer在很大程度上优于纯transformer和纯卷积网络(分别为3.1%和4.0%)。这表明ConvTransformer可以更好地建模复杂动作的时间关系。

上图可视化了Ground Truth Heatmap() 以及相应的预测Heatmap()。作者观察到,通过Heatmap分支,MS-TCT预测动作实例的中心位置,表明MS-TCT将中心相关信息嵌入到token中。

      05      

总结

在这项工作中,作者提出了一种新的ConvTransformer网络:MS-TCT用于动作检测。它得益于卷积和自注意力,分别在多个时间尺度上建模局部和全局时间关系。此外,作者还引入了一个新的分支来学习动作实例中心在类方面的相对位置。MS-TCT在三个具有挑战性的密集标记动作检测基准上进行评估,并在此基础上取得了最新的结果。

参考资料

[1]https://arxiv.org/abs/2112.03902
[2]https://github.com/dairui01/MS-TCT

END

加入「动作检测交流群

MS-TCT:InriaSBU提出用于动作检测的多尺度时间Transformer,效果SOTA!已开源!(CVPR2022)...相关推荐

  1. 何恺明大神新作:一种用于目标检测的主流ViT架构,效果SOTA

    链接:https://arxiv.org/abs/2203.16527 作者单位:Facebook AI Research 1导读 3月30日,何恺明大神团队在ArXiv上发布了最新研究工作,该工作主 ...

  2. rcnn 改进mask_李沐团队提出最强ResNet改进版,多项任务达到SOTA | 已开源

    十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 在图像处理领域中,近年来的新模型可谓是层出不穷. 但在大多数的下游任务中,例如目标检测.语义分割,依旧还是用ResNet或其变体作为骨干网络 ...

  3. 李沐团队提出最强ResNet改进版,多项任务达到SOTA | 已开源

    十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 在图像处理领域中,近年来的新模型可谓是层出不穷. 但在大多数的下游任务中,例如目标检测.语义分割,依旧还是用ResNet或其变体作为骨干网络 ...

  4. ACM MM2021 HANet:从局部到整体的检索!阿里提出用于视频文本检索的分层对齐网络HANet!代码已开源!...

    关注公众号,发现CV技术之美 ▊ 写在前面 视频-文本检索是视觉语言理解中一项重要但具有挑战性的任务,它旨在学习一个相关的视频和文本实例相互接近的联合嵌入空间.目前的大多数工作都只是基于视频级和文本级 ...

  5. Align and Prompt:SalesforceANU提出ALPRO,进行细粒度的视频文本对齐!代码已开源!...

    关注公众号,发现CV技术之美 本文分享论文『Align and Prompt: Video-and-Language Pre-training with Entity Prompts』,由 Sales ...

  6. DyFPN:浙大华为诺亚西湖大学等提出用于目标检测的动态特征金字塔,减少40%的FLOPs!...

    关注公众号,发现CV技术之美 ▊ 写在前面 特征金字塔网络(FPN)是目标检测框架的重要组成部分.大多数现有FPN变体的性能提高主要归因于计算负担的增加.增强FPN的一种方法是通过扩展感受野来丰富空间 ...

  7. TPT:中科院等提出用于VideoQA的跨模态交互时间金字塔Transformer

    关注公众号,发现CV技术之美 ▊ 写在前面 视频问答(VideoQA)一个具有挑战性的任务,因为它需要进行视觉理解和自然语言理解的多模态结合.现有的方法很少在多个时间尺度上利用视频中的外观-运动信息, ...

  8. ICCV 2021| GRF: 用于三维表征和渲染的通用神经辐射场(已开源)

    作者丨Bo Yang@知乎 来源丨https://zhuanlan.zhihu.com/p/399867075 编辑丨3D视觉工坊 论文链接: https://arxiv.org/abs/2010.0 ...

  9. CVPR 2022 Oral | MLP进军底层视觉!谷歌提出MAXIM:刷榜多个图像处理任务,代码已开源!...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 作者:假熊猫 |  已授权转载(源:知乎)编辑:CVer https://zhuanlan.zhihu.co ...

最新文章

  1. Mybatis映射文件(3)
  2. Function in loop and closure
  3. Android时钟的widget
  4. HandlerInterceptorAdapter或HandlerInterceptor的使用
  5. IE 10的新HTML​解析规则​
  6. [置顶] Ubuntu 12.04中文输入法的安装
  7. linux 建立用户kde目录,安装KDE Plasma后,你要做的七件事
  8. 高级UI-符合MD的常用控件
  9. 首个万人远程培训项目顺利启动
  10. mysql double 和Oracle,oraclemysql对比
  11. android qq输入法表情,QQ输入法-问题反馈
  12. 9、网友问答----有关清零问题------------------labview宝典
  13. C#方法名前的方括号作用
  14. python编程财务_Python笔记 财务小白的 day3 python编程基础(1)
  15. 【转载】《Real-Time Rendering 3rd》 提炼总结】(二) 第二章 · 图形渲染管线 The Graphics Rendering Pipeline
  16. uni-app 第三方授权登录
  17. mysql 日期截止,MySQL查询以开始日期和结束日期计算日期范围内的天数
  18. OAuth2第三方登录快速接入
  19. Python 1~500 求和(循环遍历求和,高斯求和,定义函数求和)
  20. C#如何设置Excel文档保护——工作簿、工作表、单元格

热门文章

  1. sap 标准委外和工序委外_SAP PP 工序委外详解
  2. 使用poi实现excel导入导出
  3. 推荐一些景观美学的书哟~
  4. 聊聊个人站长的自我修养
  5. 旧时光的伤感日志:我们的转身,泪倾城
  6. 若依主子表el-table 校验
  7. 【Java】Java方法详解篇
  8. Spring Integration sftp 技术专栏
  9. 欧洲为何没有很牛掰的互联网公司
  10. 985大学计算机专业保研率排名,中国高校保研率排名,前二十名多数是985大学