行为识别现状调研

在场景识别中,有很大一部分研究是针对于人体行为识别的,主要进行识别的也是一些家庭内的危险行为,如小孩、老人摔倒检测,外来人员闯入等,这些都可归为人体行为识别的范畴之内。
行为识别(action recognition),即根据视频图像完成对于人体动作的区分,这其中包括但不限于摔倒等危险动作。

计算机视觉与模式识别会议将其分为五 项 子 任 务 [1]:
1.未修剪视频分类(Untrimmed Video Classification) ,一段未修剪很长的视频序列,其中在时序上包含多个类型的动作,且其中很多动作并不需要特别关注,所以这类视频需要进行全局分析进行分类。
2.修 剪 动 作 识 别 (Trimmed Action Recognition),一段修剪的视频序列包含一类动作,序列时间长度不定,根据视频标签进行学习分类。
3.时序行为提名(Temporal Action Proposal),在一段较长的视频序列中找到含有动作的视频段,并将其提取分类,类似于图像目标检测任务中的候选框提取分类。
4.行为定位 (Temporal Action Localization),与上述的类似,即在长视频序列中找到存在动作行为的视频段,然后对视频段进行分类研究。
5.密集行为描述(Dense-Captioning Events) ,对于一段未经修剪的长视频序列,里面可能包含很多动作,找到存在的动作视频行为段,并对其进行视频行为描述

特征提取和分类是 AR 的核心问题

AR 面临以下技 术挑战问题:
1.据集训练,但视频数据的标签注释、动作定位等工作非 常费时,制约了视频数据集体量化和 AR 模型发展。
2.模型训练效率低。视频的数据量级较图像呈指数增长,导致 AR 模型拟合时空特征进行迭代优化的训练过程对硬件配置要求很高,需要大量时间。
3.类内高方差和类间低方差。AR 涵盖各类行为,同一类动作中各动作差别较大,而不同动作类又会呈现相似形式,这对 AR 特征提取器作出了更为精细的要求。
4.实时性较为不足。目前的 AR 模型为了追求高精度,轻量化工作较为滞后,另外基本在离线环境中仿真,视频都是预先修剪过的,很难对视频流在线识别行为。

AR 模型归纳

主要从三个方面来归纳:时间特征提取、高效率优化、长期特征捕获
各部分主流的方法:
行为识别现状调研_第1张图片

时间特征提取

因此本节按照双流卷积、三维卷积以及时态建模三种策略,对 AR 的时空特征提取工作进行分析比较。

双流卷积(Two-stream Network)

论文:Two-stream convolutional networks for action recognition in videos
论文下载地址
行为识别现状调研_第2张图片
双流架构分为空间流和时间流,如图所示都是5个卷积层,2个全连接层,1个softmax,也就是我们熟知的Alexnet,空间流的输入端是单个帧,也就是静态的信息;时间流的输入端是多光流图片的堆叠,假如,视频帧长11,得到的光流图是11-1=10,channel就等于2*10=20,(2个维度可以理解为水平和竖直方向上的维度,先是水平方向上的叠加,再是竖直方向上的叠加),最后再经过一个late fusion,预测概率加权平均,得到最终的概率。

Later fusion指的是不同的特征使用不同的分类器,得到基于每个特征的分类结果,再对所有结果进行融合(可能是投票、加权平均等),这个融和发生在不同特征分类结果之间的融合,称为"later fusion"或"decision fusion"。

光流神经网络

时序识别网络流的输入是通过堆叠几个连续视频帧的光流位移场形成,其光流信息有几种变体选择。图中是连续的两个视频帧,两个视频帧得到一个光流,(d)和(e)来表示水平和竖直方向上的维度,用来表示运动信息
行为识别现状调研_第3张图片

时间流卷积神经网络的两种输入方式

1.光流堆叠:就是简单的进行堆叠,不做任何处理,这种方法不会很好的利用光流信息
2.运动轨迹堆叠:已知在第一个光流图中的p1点移动到p2时,在下一帧p2点找它在下一帧的对应的位置p3.这种方法很好的利用了光流信息

总结

1.文章的结论存在相机自带的移动,而不是物体的移动,可采用直接减均值的方法来平衡
2.当我们发现卷积神经网络不能处理运动信息时,我们就教网络自己学习,于是就有了光流图的堆叠,也还是连续帧的图片
3.使用单一的神经网络或许不能够解决问题,当我们使用双流的神经网络的时候,往往会达到互补的作用,效果肯定是优于单个的神经的网络,这样的思路也为我们的研究提供了方向。

三维卷积

C3D

论文:Learning Spatiotemporal Features with 3D Convolutional Networks
论文链接
针对时空特征的学习,我们提出了一个简单有效的方法,在大规模有监督视频数据集上使用深度3维卷积网络(3D ConvNets)。我们有3个发现:
1.3D ConvNets比2D ConvNets更适用于时空特征的学习;
2.对于3D ConvNet而言,在所有层使用3×3×3的小卷积核效果最好;
3.我们通过简单的线性分类器学到的特征名为C3D(Convolutional 3D),在4个不同的基准上优于现有的方法,并在其他2个基准上与目前最好的方法相当。

2D卷积网络输入图像会产生图像,输入视频输出的也是图像,3D卷积网络输入视频会输出另外一个视频,保留输入的时间信息。

行为识别现状调研_第4张图片

C3D卷积网络将完整的视频帧作为输入,并不依赖于任何处理,可以轻松地扩展到大数据集。

网络结构

网络有8个卷积层(filter:3×3×3,stride: 1×1×1),5个池化层(filter:2×2×2,stride: 2×2×2,除了第一个filter:1×2×2,stride: 1×2×2),2个全链接层(4096),和1个softmax分类层,最终的网络结构如下图所示。在这里插入图片描述
总结
C3D使用3D CNN构造了一个效果不错的网络结构,对于基于视频的问题均可以用来提取特征。可以将其全连接层去掉,将前面的卷积层放入自己的模型中,就像使用预训练好的VGG模型一样。

I3D

膨胀卷积网络,新的基于2D-ConvNet inflation的双流膨胀3D-ConvNet(I3D):将非常深的图像分类ConvNet的过滤器和池化核扩展到3D中,使得从视频学习无缝时空特征提取器成为可能,同时利用成功的ImageNet架构设计甚至参数。文章利用I3D将在Imagenet上训练成功的经典模型迁移学习到video数据集上,并借助two-stream结构实现了目前最好的效果。

论文:Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset
论文链接

行为识别现状调研_第5张图片
本文考虑的视频架构, K 代表视频中的总帧数,而 N 代表视频相邻帧的子集。

ConvNet+LSTM:每一帧都提取feature后整视频pooling,或者每一帧提feature+LSTM。缺点,前者忽略了时间信息,open和close door会分错,如图1(a);

改进C3D:比二维卷积网络有更多的参数,缺点参数量大,不能imagenet pretrain,从头训难训。Input,16帧 输入112*112,本文实现了C3D的一个变种,在最顶层有8个卷积层,5个pooling层和2个全联接层。模型的输入是16帧,每帧112x112的片段。不同于论文中的实现是,作者在所有的卷积层和全联接层后面加入了BN层,同时将第一个pooling层的temporal stride由1变为2,来减小内存使用,增加batch的大小,这对batch normalization很重要,如图1(b)。

双流网络:由于LSTM只抓住高层的卷积后的信息,底层的信息在某些例子上也非常重要,LSTM train消耗很大。RGB帧和10个堆叠的光流帧,光流输入是2倍的光流帧(x,y水平垂直的channel),可以有效train,如图1©。

新双流网络:作者实现使用InceptionV1,后面的融合部分改为3D卷积,3D pooling,最终通过一个全连接层进行分类。网络的输入是相隔10帧采样的5个连续RGB帧,采用端到端的训练方式,如图1(d)。

双流Inflated 3D卷积:扩展2D卷积base model为3D base model卷积,卷积核和pooling增加时间维,尽管3D卷积可以直接学习时间特征,但是将光流加进来后会提高性能。

I3D结构扩展方式:如果2D的滤波器为NN的,那么3D的则为NN*N的。具体做法是沿着时间维度重复2D滤波器权重N次,并且通过除以N进行归一化。

R3D

论文:ConvNet Architecture Search for Spatiotemporal Feature Learning
论文下载
鉴于 ResNet 能够缓解网络加深的退化问题,Tran 等人设计了三维残差网络(3D Residual Networks, R3D)。R3D 将ResNet 的 2D 卷积扩展为 3D,参数量较 C3D 降低了近 50%。
这是相较于C3D来说,已经有了明显的提高。

网络结构:

行为识别现状调研_第6张图片

T3D

论文:Temporal 3D ConvNets: New Architecture and Transfer Learning for Video Classification
论文下载

背景:感受野在图像任务中对最终的结果好坏有很大的影响,比如对于不同尺度的物体,在目标检测时通常需要不同尺度的feature-map来进行检测。在时间维度上也存在这个问题,比如同样一个动作,年轻人和老年人完成动作的时间不一样,那么我们需要用不同的时间维度上的感受野来进行行为分类。但是现有的方法通常在时间维度上的步长或窗口都是固定的,因此无法满足各种各样复杂动作的准确识别。

目的:
解决如下两个问题:
(1)在分解3D卷积为(2+1)D卷积的过程中,1D卷积仍然只能随机初始化,(2)inflate的方式必须要求我们使用的2D backbone和3D网络的结构完全相同,那么如果我们新假如一些block,就没有办法使用2D卷积的预训练权重了。

使用的方法:
1、作者构建了一种新的时间层在3DCNN中,这个时间层名为Temporal Transition Layer,即TTL。这个时间层可以综合性捕捉视频中短期、中期和长期的时间信息。2、提出了一种新的迁移学习的方法,便于把模型在imageNet上学到的权重迁移到3DCNN模型里。
行为识别现状调研_第7张图片
图的上部分是T3D模型,它的输入是视频剪辑,输出是视频级的预测。该网络由DenseNet网络结构改造,用3D内核替换了原来的2D内核。
TTL的优势是在不同的时间深度上运行,因此允许模型从短期、中期和长期捕获外观和时间信息。TTL由几个可变深度的3D卷积核和一个平均池化层构成。将前一层的输出的特征图作为TTL的输入,分别经过K个不同深度的3D卷积核卷积后得到K个特征图{S1,…,Sk}。这k个特征图的(h,w)大小是一样的,但t不一样。最后把k个特征图简单的合并成一个张量[S1,…,Sk],再喂给池化层。这个过程很简单,但却很好的整合了多个时间段的特征信息。
行为识别现状调研_第8张图片
上图是迁移学习2D网络中训练imageNet后模型参数的过程。图由一个2D卷积网络,一个3D卷积网络组成和一个二进制(0/1)匹配分类器构成。迁移学习的步骤分两步,首先是用imageNet训练好一个2D卷积网络,固定住2D卷积网络中的所有参数。然后是训练3D卷积网络,取500k个没有标签的视频剪辑作为迁移学习的输入。在训练3D卷积网络的过程中,喂给2D卷积网络的是一个时间段内x个帧,喂给3D卷积网络是一段视频,若视频与帧匹配则记为正,否则记为负。反向传播中只修改3D卷积网络中的参数,等训练反馈的结果趋近于正时,就代表3D卷积学习到了2D卷积的参数。

结果:
作者实验了各种模型在Kinetics数据集上预训练,在用UCF-101和HMDB51微调,比较了下准确值。
行为识别现状调研_第9张图片
表中的T3D+TSN很有意思,作者在实验的时候并没有用到光流图作为输入,只是运用了TSN的方法。使用来自每个视频的5个非重叠剪辑,用TSN聚合的方式得到最后的预测值,最后效果也很好。虽然T3D最后的结果达不到I3D那么高,但T3D的实验里没有用到光流,这点算是比I3D要进步的地方。

时态卷积

双流网络和 3D CNN 的计算量普遍较高,不利于实时应
用,且推理时间关系能力较弱。AR 模型需要随时间推移理解
动作信息,因此一些研究聚焦于设计具有时态建模机制和低计算量的时间模块,
行为识别现状调研_第10张图片
时态卷积架构

TSM

论文:Lin J, Gan C, Han S. Tsm: Temporal shift module for efficient video understanding [C]// Proc of IEEE/CVF International Conference on Computer Vision. Piscataway, NJ: IEEE Press, 2019: 7082-7092.

论文下载

目的:
从时间移位的角度提出TSM模型它兼具高效率和高性能,既能达到3DCNN的性能,又能保持2DCNN的复杂度
观察到,原始的转换不能达到高效率或高性能。在此基础上,提出了部分移位和残差移位两种技术改进,以实现高效的模型设计。
针对离线视频理解,我们提出了双向TSM,实现了最先进的性能。它在出版后在Someth-Something的排行榜上名列前茅。
提出了一种在边缘设备上具有较强时态建模能力、低延迟的在线实时视频识别的单向TSM算法。

主要方法:
TSM网络
【四、 TSM的网络】
(1)Offline的双向TSM 模型
Backbone: ResNet-50
TSM的加入模式:Residual Block
特点1:对于每个插入的TSM模块,相当于其感受野得到了扩大2倍,因此可以获得很好的时序建模!
特点2:TSM可以应用的任意的现成的2DCNN上面,使其具有3DCNN的效果但是同时维持2DCNN的计算量
(2)Online的单向TSM模型
方式:把之前的frames shifts到当前的frames上,从而也达到了时序信息建模的作用,从而实现在线的recognition功能!
推理图如下:在推理的过程中,对于每一帧(比如Ft),只保存其首先的1/8的feature map。并且保存在cache中,对于下一帧(比如F t+1 ), 那么就是用Ft上的保存的1/8和当前帧Ft+1上的7/8组合起来。从而生成下一层feature map。如此循环下去!
行为识别现状调研_第11张图片

利用这样的单向shift策略!
有以下特点:
特点1:推理过程中的低时延;
特点2:低内存消耗
特点3:多层时序信息的融合(网络的每一层都能得到融合!)

实验结果:
用到的数据集:
Kinetics: 类别繁多但是对时序信息并不是太敏感
SomethingV1&V2 / Charades / Jester / 这些都是时序性比较强的
UCF101 / HMDB51:对时序特征不是那么的敏感!

高效率优化

时间关系网络(TRN)

论文:Temporal relational reasoning in videos
论文下载

解决以下问题:
根据之前学者的研究得知,视频的动作识别有两个重要方面:外观和时间动态。但是由于尺度变化、视点改变、相机移动等困难,使得关于视频的动作识别十分困难。因此,设计有效的特征表示对于学习分类信息很重要。

和图像分类不同,对于基于视频的动作识别来说,端到端深度卷积网络带来的改进仍然是有限的。论文作者认为有三个主要阻碍:

1.如何有效捕捉长距离时间结构的视频表示:尽管在传统方法中,长距离时间结构以及被证明对于理解动态信息非常重要,但在深度卷积网络架构方法中,仍然缺乏对于长距离时间结构的关注。现有的Convnet类方法通过关注外观和短期运动(最多16帧)。最近也出现一些解决这个问题的方法,采用的是预定义的采样间隔进行时间采样,这样计算成本高,且内存空间有限。
2.如何利用学到的ConvNet模型来更真实地处理未修剪的视频:现有动作识别方法多针对修剪过的视频。而实际上我们经常需要处理未修剪的视频如THUMOS, ActivityNet,其中每个动作可能仅占整个视频一小部分。主导背景部分可能干扰动作识别模型的预测。
3.如何在给定有限训练样本的情况下有效地学习ConvNet模型并将其应用于大规模数据:在实践上也有很大困难:1)训练深度网络通常需要大量样本,公开数据集如UCF101等在规模和多样性方面仍然有限,容易过拟合。2)光流提取以捕获短期运动信息成为将学习模型部署到大规模动作识别数据集的计算瓶颈。

使用的方法:

结果:
行为识别现状调研_第12张图片Table1是关于不同训练策略下双流网络的效果对比。可以看出交叉预训练和partial BN 对过拟合是有效的。

长期特征捕获

TSN

Temporal Segment Networks: Towards Good Practices for Deep Action Recognition
论文下载

存在问题:
1.如何对长时间视频进行行为判断。
2.处理数据量少的问题,如何防止过拟合现象。

方法:
TSN网络结构如下: 行为识别现状调研_第13张图片
时间段网络:将一个输入视频分为K个段,并从每个段中随机选择一个简短的代码段。 不同片段的类别分数由分段共识函数融合,以产生分段共识,这是视频级别的预测。 然后将来自所有模态的预测进行融合以产生最终预测。 所有摘录上的ConvNets共享参数。
这里 T 1 , T 2 , T 3... ) T1,T2,T3...) T1T2T3...是一个片段序列。从其对应的片段 S k S_k Sk中随机采样每个片段 T k T_k Tk F ( T k , W ) F(T_k,W) F(Tk,W)是表示带有参数W的ConvNet的函数,该函数在短代码段Tk上运行并为所有类别产生类别分数。分段共识函数G组合了多个简短摘要的输出,以获得其中的类假设的共识。基于此共识,预测函数H预测整个视频的每个动作类别的概率。在这里,我们选择H的广泛使用的Softmax函数。结合标准的分类交叉熵损失,关于分段共识的最终损失函数形成为 G = g ( F ( T 1 ; W ) , F ( T 2 ; W ) , . . . , F ( T k ; W ) ) G=g(F(T_1;W),F(T_2;W),...,F(T_k;W)) G=g(F(T1;W),F(T2;W),...,F(Tk;W)), (1),形成为
在这里插入图片描述
输入
防为了防止过拟合,作者采取了多个措施:

1.交叉预训练。以图像为输入的spatial ConvNets网络可以用在imagenet数据集上预训练的网络来初始化。以光流作为输入的temporal stream ConvNets网络就通过交叉预训练进2.行初始化。交叉预训练其实是将图像领域的预训练模型迁移到光流领域。
partial BN,通过冻结除第一个BN层以外的所有BN层的均值和方差。

网络结果测试:
不同训练策略下双流网络的效果对比
关于网络的几种不同输入形式下two stream convnets的效果对比,数据集是UCF101
关于前面TSN公式中的不同g函数对实验结果的影响
在UCF101数据集(split 1)上探索不同的非常深的ConvNet架构
总结本文的一些基于双流网络的改进效果
和其他视频行为识别算法在HMDB51和UCF101数据集上的对比

长期递归卷积网络(LRCNs)

LSTM
LSTM介绍可参考我之前的笔记
论文:Donahue J, Anne Hendricks L, Guadarrama S, et al. Long-term recurrent convolutional networks for visual recognition and description [J]// IEEE Trans on Pattern Analysis and Machine Intelligence, 2017, 39 (4): 677-
691.
论文下载

Transformer-VidTr

Transformer
行为识别现状调研_第14张图片

链接Transformer讲解
VidTr
论文
论文下载
背景:传统基于卷积的视频分类建模方法一般是先提取图像特征,再对多帧图像特征进行聚合得到视频特征。考虑到 Transformer 模型在时序数据建模上具有先天优势,再加上 ViT 在图像分类领域上的成功,因此作者提出了 VidTr 这一基于 Transformer 直接对视频像素级数据进行时空特征提取的分类模型。
作者首先提出了 vanilla video transformer 直接利用 ViT 对视频进行像素级数据建模,但存在内存消耗过大的问题,因此借鉴了R(2+1)D模型中3D卷积空域和时域分离执行的思想,提出了 separable-attention 分别执行 spatial & temporalttention,spatial attention 能够关注到信息量更大的patches,temporal attention 能够减少视频数据中存在的过多冗余。

方法:

video Transformer
行为识别现状调研_第15张图片
Vanilla Video Transformer
首先将一个帧数为 T T T 的视频片段 V ∈ R C ∗ T ∗ H ∗ W {V \in R^{C*T*H*W} } VRCTHW转化为一段大小为s*s 的 patches 序列,然后将每个 patch 使用全连接层转化为 embedding 得到序列 S ∈ R T H W / s 2 ∗ C ′ S\in R^{{THW/s^2*C'}} SRTHW/s2C ,其中 是根据网络而定的自定义维度,再对 增加一个用于最终分类的 token 维度后,叠加 positional embedding 得到 S ′ ∈ R ( T H W / s 2 + 1 ) ∗ C ′ S' \in R^{{(THW/s^2+1)*C'}} SR(THW/s2+1)C

作为 transformer encocer 的输入。
一个基础的 transformer encoder 结构由两部分组成:MSA(multi-headed self-attention)和MLP(multi-layer perceptron)。如上图所示,vanilla video transformer 采用和 ViT-Base 几乎一样的参数设置:12层叠加,每层中 MSA head 数量为8,MSA channel 数量为768,MLP channel 数量为3072。
由于视频数据在图像以外引入了额外的时序维度 T T T,因此在进行参数优化反向传播时内存消耗增加了 T 2 T^2 T2倍,为了解决这个问题,作者进一步提出了 separable-attention 结构。

作者将传统的 MSA 结构解耦为 spatial 和 temporal 进行两阶段计算:
在这里插入图片描述
具体做法是将一维的 embedding 序列 S分解为二维的 embedding 序列
在这里插入图片描述
同时增加对应空间的分类 token 和对应时间的分类 token,两种 token 的交集 intersection 用于最终的视频分类。
首先在每个 spatial location 独立进行 temporal attention 的计算得到 在这里插入图片描述
;然后对其进行 spatial attention 的计算。

结果:
在 Kinetics 400 数据集上,对比实验结果如下,对比当前基于卷积的SOTA综合优势十分明显。

行为识别现状调研_第16张图片

引用文献

[1] 马立军. 基于 3D 卷积神经网络的行为识别算法研究 [D]. 北京: 中国地质大学, 2018. (Ma Lijun. Research on action recognition algorithm based on 3d convolutional neural network [D]. Beijing: China University of Geosciences, 2018.)

你可能感兴趣的:(计算机视觉)