精读《ACTION-Net: Multipath Excitation for Action Recognition》论文

文章目录

  • 1 背景说明
  • 2 之前方法存在的问题
  • 3 文章要解决的核心问题
  • 4 文章的贡献
  • 5 结论
  • 6 Design of ACTION
    • 6.1 Spatio-Temporal Excitation (STE)
    • 6.2 Channel Excitation (CE)
    • 6.3 Motion Excitation (ME)
    • 6.4 ACTION-Net
  • 实验
    • 提高2DCNN的性能
    • 与SOTA的比较
    • 消融实验
    • 效率和灵活性分析

精读《ACTION-Net: Multipath Excitation for Action Recognition》论文_第1张图片

论文名:ACTION-Net: Multipath Excitation for Action Recognition
论文链接:https://arxiv.org/abs/2103.07372
代码链接:https://github.com/V-Sense/ACTION-Net

1 背景说明

和上一篇TSM论文的背景其实都是差不多的,略过。
点击:上一篇TSM论文精读超链接

2 之前方法存在的问题

  • 传统的2DCNN计算成本低,但无法捕捉时间关系;3DCNN具有较好的性能,但计算量大。

3 文章要解决的核心问题

在这项工作中,他们要设计一个通用,有效,且可以嵌入到2DCNN中的模块,来提高性能,但又不让计算量大幅增加。

4 文章的贡献

  • 他们提出了一个以即插即用方式工作的ACTION模块,它能够提取适当的时空特征、通道特征和运动信息来识别动作。
  • 他们在三个backbone上测试Action-Net(一种简单而有效的神经结构),包括ResNet-50,BNIception 和 MobileNet V2。
  • 在三个数据集Something-Something V2, Jester 和 EgoGesture 上展示了他们优越的性能。

5 结论

他们的目标是设计一个插入到2DCNN的模块运用于视频动作识别建模,并提出了一种新颖的Action模块,该模块利用时空特征、通道特征和运动特征等多分支激励(有点类似于注意力机制)。所提出的模块可以被任何2DCNN利用,以构建用于视频动作识别的新架构Action-Net。他们在三个大规模数据集上证明了ACTION-Net的有效性和效率。

6 Design of ACTION

ACTION模块由三个子模块组成,即时空激励(STE)、通道激励(CE)和运动激励(ME),首先分别介绍这三个子模块,然后概述如何将它们集成到一个ACTION模块中。符号说明:N (batch size大小), T(时间), C (通道), H (高度), W (宽度) 和 r (通道压缩比例)。而且,除了Action模块外,所有的tensor维度都是4维度(N×T, C, H, W),只有在Action模块的输入输出地方,tensor维度都是5维度(N, T, C, H, W)。

6.1 Spatio-Temporal Excitation (STE)

精读《ACTION-Net: Multipath Excitation for Action Recognition》论文_第2张图片

图1:Action模块中STE子模块的结构

由图1可知,对于Action模块中STE子模块,输入是5维度的tensor。STE子模块的整个计算方法可以归结为公式3:
在这里插入图片描述
其中X是输入,M是STE子模块中产生的注意力,然后M和X进行点乘先和X相加。M的计算方法就是图1中间那条线,在通道维度进行pooling,把通道进行压缩到1,然后进行3D卷积,再使用Sigmoid激活函数。要注意的时,由于这个时候通道数量为1,因此这个时候3D卷积增加的运算量和参数量是非常少的。

6.2 Channel Excitation (CE)

精读《ACTION-Net: Multipath Excitation for Action Recognition》论文_第3张图片

图2:Action模块中CE子模块的结构

其中,CE子模块的作用与SE模块的作用是差不多,都是通道注意力。CE子模块的整个计算方法与公式3其实也差不多,只是里面的M变成了通道的注意力。M的计算方法也是图2中间那条线,在空间维度进行pooling,把空间尺寸压缩到1,然后进行空间11的卷积,将特征通道变成之前的1/16。和SE模块不同的是,他还会在时间维度上进行一次卷积操作,融合时间信息。然后再进行一次空间11的卷积,把特征通道维数变成和之前一样,再进行Sigmoid激活函数。

6.3 Motion Excitation (ME)

精读《ACTION-Net: Multipath Excitation for Action Recognition》论文_第4张图片

图3:Action模块中ME子模块的结构

ME子模块其实是想建模相邻帧的运动信息,如公式9:
在这里插入图片描述
其实就是将当前帧的特征经过一次2D卷积后,在减去上一帧的特征,从而体现出它的运动信息。(这个运动信息能体现在不同时间帧的不同空间位置上,比如第 i 帧,运动信息明显的是空间中的左上角区域;而第 j 帧运动信息明显的是空间中的右下角区域。再对这个运动信息特征进行空间池化,只剩下时间维度和特征维度,再经过1*1的2D卷积之后将特征通道维数复原,再经过Sigmoid激活函数得到motion的注意力,再和之前的输入做点乘。(个人理解,其实motion的注意力指的就是在空间位置的不同时间节点进行增强,比如左上角的空间区域,motion注意力在前面几帧;右下角的空间区域,motion注意力在后面几帧。)

6.4 ACTION-Net

精读《ACTION-Net: Multipath Excitation for Action Recognition》论文_第5张图片

图4:Action-Net(ResNet-50)

图4显示了ResNet-50的Action-Net结构,其中ACTION模块被插入到每个残差块的开头。而在ACTION模块内部,首先将输入进行时间Shift操作,可参见TSM论文中的描述TSM论文精读。然后再将特征输入到STE、CE、ME中,将其输出进行相加,再输入到后面的2DCNN中。

实验

在本节中,他们在3个数据集上(EgoGesture、Something-Something V2 和 Jester)和TSM、TSN对比、和SOTA方法对比以及各种消融实验。最后还进行了不同backbone上的实验。

提高2DCNN的性能

精读《ACTION-Net: Multipath Excitation for Action Recognition》论文_第6张图片

表1:在3个数据库上TSN、TSM和Action-Net的对比

TSN不包含任何能够对时间信息建模的组件。TSM通过对部分通道进行时间移位操作,向网络中引入了一些时间信息,与TSN相比,显著提高了2D CNN基线。然而,
TSM仍然缺乏显式的时间建模。而Action-Net引入了显示的时间建模,增强了2DCNN的性能。

与SOTA的比较

精读《ACTION-Net: Multipath Excitation for Action Recognition》论文_第7张图片

表2:在3个数据库上与其他SOTA方法的对比

消融实验

精读《ACTION-Net: Multipath Excitation for Action Recognition》论文_第8张图片

表3:在 EgoGesture数据库上进行消融实验(输入为8帧/video)
可以看出,3个子模块增加的计算量的比例其实都不算很高,就ME稍微高点。且显示时间维度的建模确实比TSM的单纯shift要好一些。

精读《ACTION-Net: Multipath Excitation for Action Recognition》论文_第9张图片

表4:在 EgoGesture数据库上探究Action-Net中ACTION模块的配置

效率和灵活性分析

精读《ACTION-Net: Multipath Excitation for Action Recognition》论文_第10张图片

表5:在3个数据库上对比TSM和Action-Net(基于3个backbone)

你可能感兴趣的:(视频理解,深度学习,计算机视觉,人工智能)