MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition论文笔记

2D/3D联合卷积模块MiCT:全面提升行为识别的性能和效率

编者按:行为识别是计算机视觉领域的一个重要研究方向,在监控、自动驾驶等日常场景中具有广泛的应用前景。为了提升3D CNN在行为识别分析中的性能,微软亚洲研究院网络多媒体组在CVPR 2018上提出了一个简单而高效的3D/2D混合卷积模块(MiCT)。MiCT模块使3D CNN能够以更少的3D时空融合、更小的模型、更快的速度来提取到更深的视频时空特征,进而大幅提升行为识别的表现。

行为识别

计算机帮助摄像师自动分析视频中的动作类型,给出相应的动作标签便于后续的视频检索及编辑;在机器人及自动驾驶领域,系统捕捉、理解、预判人类的动作行为,从而及时做出相应的判断及反应;监控系统通过摄像头自动检测某些特定或异常行为,例如打架、抢劫、老人/儿童摔倒、虐童等,并自动采取报警或警告措施。

这些已经或者即将出现在我们日常生活中的应用场景中,都应用到了计算机视觉领域中的一个基础研究方向——行为识别。行为识别的本质是视频理解,既对于给出的一段视频,机器对视频中主要行为类型的一个判断。它在视频监控、人机交互、自动驾驶等很多现实场景中具有重要的应用价值。

但是,基于视频的行为分析是一个很有挑战的问题。在现实环境中,由于姿态、角度、光照、以及遮挡等问题,一个相同的动作在不同的视频中可以呈现出巨大的差异性,同类行为间的类内距可能大于不同类行为之间类间距。目前,部分大多数人可以轻而易举分辨的动作,让机器准确判断还是很困难的。

2D CNN与3D CNN对比

行为分析中的一个关键问题是确定鲁棒的特征。基于提取的鲁棒特征,机器学习相应的分类器来给出视频中主体行为的一个判断。早期关于鲁棒特征提取的研究工作集中于人为定义或设计的一些特征,如灰度、梯度、光流等。随着深度学习的日益普及,基于深度学习的行为分析方法不断涌现。实验结果显示,目前基于深度网络自主学习的特征表达的性能已经超越了基于人为设计的特征方法。目前面向行为识别的深度学习方法大体可分为两类:基于二维(2D)卷积神经网络(CNN)特征和基于三维(3D)CNN特征的方法。

基于2D CNN特征的方法

一个6层的2D卷积神经网络

简言之,基于2D CNN特征的方法的共性在于涉及的特征都是通过2D CNN获得的。在视频中使用2D CNN的一个简单方法就是对视频中的每一帧使用2D卷积,但是视频是三维数据,这种方法忽略了视频中时间维度的信息,没有利用连续帧间的运动信息。于是,双流(two-stream)体系结构应运而生。它的基本思想就是分别训练两个2D卷积网络分别学习外观(RGB帧)和运动(光流)两路输入信息的特征,并基于这两类2D特征来做出行为的判断。此外,递归神经网络(RNN)也被用于动作识别,例如通过LSTM网络来探索帧级2D特征的时空关系。

基于3D CNN特征的方法

MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition论文笔记_第1张图片

一个6层的3D卷积神经网络

基于3D CNN特征的方法在建立在3D卷积神经网络的基础上。如图1和图2显示,2D CNN和3D CNN在结构上其实是相似的,但是3D CNN在卷积过程中可以将视频中的连续帧堆叠为立方体,并在此立方体中运用3D卷积核,从而能够提取时空混合特征。此类方法的代表工作是C3D,它基于3D CNN来提取3D时空特征并用于行为识别。

但是,由于3D CNN比2D CNN结构复杂,参数量大,通常其网络深度有限,难于训练。于是,出现了一些近似的深度神经网络,如I3D或P3D。这些方法通过2D卷积网膨胀(inflation)或2D+1D卷积网络来逼近3D卷积网络。此外,同基于2D特征的方案类似,递归神经网络,如LSTM,也被引入基于3D特征的算法中来实现更复杂的时空融合策略。

3D/2D混合卷积模块(MiCT)

2D CNN在图像等二维信号处理和分析的相关任务中取得了令人瞩目的性能。然而其相对应的3D CNN在三维信号(比如视频信号)的处理和分析中并没有取得相应的高性能。就行为识别而言,目前实验室测试结果显示最佳的性能仍然是基于2D CNN特征的双流网络获得的。

为什么3D CNN在视频分析中没有获得它应有的性能呢?事实上,3D CNN理论上能够有效地提取时空特征。然而,将时空维度混合在一起的同时,也增加了3D CNN网络的优化难度。与相应的2D卷积相比,3D 卷积的参数量大,大量参数堆叠在一起形成3D CNN,这极大地增加了优化的难度、内存使用和计算成本,使得训练一个深度3D CNN变得非常困难。除此之外,我们也缺少一个可以用来训练深度3D CNN网络所需的大型(如ImageNet数量级的)视频数据。

面对这些挑战,通过3D CNN来有效地学习深度时空融合特征是否依然可行呢?

我们在CVPR 2018上发表的MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition论文中,提出了一个简单而高效的模块——3D/2D混合卷积模块(MiCT),来处理视频数据,尝试解决这一挑战。

3D/2D串联混合模块 (Concatenate Connection)

视频图像中时空信息的分布并不是均衡的,同空域信息相比,视频中时域信息的冗余度较高,相邻两帧的内容通常很相似,如下图所示。因此,我们把特征学习中的研究重点更多地放在有关空域的分析上。MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition论文笔记_第2张图片

此外,我们也发现每个3D卷积都会产生一个混合了时空信息的2D特征图,如下图所示。所以,增强2D特征图的分析学习能力也能够进一步提升3D卷积的性能。MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition论文笔记_第3张图片

因此,我们首先提出3D/2D串联混合模块 (Concatenate Connection)。如下图所示,在3D/2D串联模块中,我们提出在每个3D卷积之后串联一个深度2D CNN。通过3D/2D串联模块的使用,我们可以有效地增加3D CNN的深度,加强2D空域的学习能力,从而生成更深更强的3D特征,并使得3D CNN可以充分利用在图像数据上预先训练的2D CNN模型。在相关的网络设计中,我们提出相应地减少3D卷积的数量,从而进一步减小模型的大小,提升模型的效率。

MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition论文笔记_第4张图片

3D/2D跨域残差并联模块 (Cross-domain Residue Connection)

通过3D/2D串联模块的使用,我们得到一个更深的3D卷积神经网络。然而,更深的CNN通常意味着更难的训练过程。如果只是通过简单的层数堆叠来加深网络可能造成梯度消失并导致更大的训练错误。为了解决这个问题,我们提出利用3D和2D特征图之间的相关性,让3D和2D卷积共享空间信息,如下图所示。 由于2D空间特征相对容易学习,我们可以利用2D卷积并通过残差学习的方式来促进3D特征的学习。

 

MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition论文笔记_第5张图片

因此,我们进一步提出了一个3D/2D跨域残差并联模块 (Cross-domain Residue Connection)。如下图所示,我们提出在3D卷积的输入和输出之间引入另一个2D CNN的残差连接,以进一步降低时空融合的复杂性,并有效地促进整个网络的优化。MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition论文笔记_第6张图片

与之前ResNet中的残差连接不同,我们方案中的2D CNN捷径(shortcut)是跨域的。并联的两路并不是相同的两路2D或3D卷积,其中一路是处理3D输入的3D卷积,另一路是处理2D输入的2D卷积。

由于视频流通常包含大量的相似连续帧,这导致沿着时间维度的特征图中包含大量的冗余信息。通过引入2D卷积块来提取信息丰富但静态的2D特征,MiCT中的3D卷积仅需要沿时间维度学习残差信息。同时,2D和3D卷积共享空域信息。因此,跨域残余连接在很大程度上降低了3D特征学习的复杂性。

最终,我们提出的MiCT模块结合了上面提出的两个子模块:3D/2D串联混合模块和3D/2D跨域残差并联模块,实现了性能和效率两方面的全面提升。

深度MiCT网络MiCT-Net

为了验证MiCT的有效性,我们通过将MiCT堆叠在一起,构建一个简单的3D CNN网络MiCT-Net。如下图所示,MiCT-Net由四个MiCT组成,这也意味着我们使用了4个3D卷积。MiCT-Net将RGB视频序列作为输入,可进行端到端训练。表1中提供了网络体系结构的更多信息。我们在网络的最后一层使用时间维度上的全局池,以使网络能够接受任意长度的视频作为输入。

MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition论文笔记_第7张图片MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition论文笔记_第8张图片

MiCT-Net网络。绿色块表示3D卷积;橘色和蓝色块分别表示2D跨域残差并联和串联混合模块。马赛克块表示n-路特征图。

同基础网络C3D相比,MiCT-Net包含较少的用于时空融合的3D卷积,但是产生了更深的特征图,同时有效地控制了整个深度模型的复杂性。此外,与传统的3D CNN不同,我们的框架能够利用在大型图像数据集上预训练的2D模型。大图像数据集上预先训练的参数有可能为MiCT中的2D卷积模块提供更好的初始化。MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition论文笔记_第9张图片

鲁棒特征提取性能全面提升

为了验证MiCT-Net的性能,我们使用了三个行为识别的公共数据集(UCF101、Sport-1M和HMDB-51)来进行测试。和基础网络C3D相比,MiCT-Net取得了全方面的提升。如下表所示,MiCT-Net以更小的模型、更快的速度实现了更高的准确性。

 

......................................................................................................................................................................................................................................................................................................................................................................................................................

论文主要内容:

本文考虑到在识别人体动作的时候,3D CNN的水平不及2D CNN在识别静态图片时的水平,认为这是由于3D CNN消耗的计算资源和存储资源过大导致不能很好的训练,因此在本文中提出了一个2D和3D CNN结合的模型进行动作识别。

摘要:首先介绍背景,即目前有人探索使用3D CNN进行动作识别。接着就指出当前方法的不足,就是说3D CNN在处理视频的时候,达到的水准并不及CNN在处理2D静态图片时达到的水准。接着进行了简要的分析分析原因以便引出自己的模型。原因的分析是3D卷积所需要的spatio-temporal fusion带来的训练复杂度以及所需的存储消耗限制了3D CNN的表现。接着引出本文的模型,将2D和3D CNN混合得到的mixed convolutional tube(MiCT),这个模型将2D3D CNN结合起来,以便生成更深的且更加informative的feature map,并同时减少每一轮spatio-temporal fusion的训练复杂度。这种模块堆叠在一起还能形成新的端到端的深度网络MiCT-Net,用来探索人体动作中的spatio-temporal信息。最后作者介绍了一下实验结果,在一些数据集上取得了state-of-the-art的结果。

技术部分,本文提出了两种混合2D和3D卷积的方式,concatenating connections和cross-domain residual connections。首先,下图是使用了2D3D concatenated connection的模型的示意图:

         MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition论文笔记_第10张图片

用数学语言来描述的话,在t时刻的feature map表示为,那么将可以表述为

                                                                                       

其中是从t时刻到时刻的切片张量,上式不是最终版本,M其实只是时-空域特征图的线性融合操作,最终版本是另外提出了一个函数,这个,而这里的H其实就是2D卷积,也就是说这个数学描述描述的就是上图所示的过程,先进行3D卷积,接着对feature map进行2D卷积。这个过程可以理解为:3D卷积聚合了时空两个维度的信息,之后如果像是3D CNN那样继续叠加3D卷积层的话,会极大增加计算复杂度,因此退而求其次,使用2D卷积继续提升feature map的abstract level,同时又不会增加太大的计算负担。

跨域 residual connection的模型示意图如下所示:

MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition论文笔记_第11张图片

这里的cross-domain residual指的是添加的residual不是普通意义上的直接将输入加到卷积后的结果上,而是将输入先用2D卷积处理一下,再添加到3D卷积的输出上,称之为cross-domain residual,数学描述如下

                                                                       

这里o指的就是3D卷积的输出结果,而H和之前一样指的是2D卷积,是输入tensor在t0时刻的slice,并且,这个2D卷积不是在所有的帧上都进行,而是经过采样的某些帧上进行。作者指出,引入这种residual的原因是考虑到视频信息中,相邻的几帧经常是差不多的,造成了冗余信息,而模型中2D卷积只在采样的某几帧进行,抓取了稳定而且更加抽象的feature,3Dconvolution就只需要在这些经过2D卷积处理的,冗余大大减少的数据上进行卷积了。

最终作者还将这两种connection合起来形成一个MiCT模型,如下图所示

MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition论文笔记_第12张图片

这个模型前面用了residual的,后面又加了一层2D卷积,像concatenate connection的。

进行实验的时候,作者用四个这种MiCT模块搭建了深度网络,网络用端到端的方式训练,整个网络就只有4层3D卷积,大大减少了训练的复杂度。具体来讲整个网络如下图所示

MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition论文笔记_第13张图片

具体每一层的参数如下表

MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition论文笔记_第14张图片

这里面2D网络用的是别人提出来的inception block,如下图所示

MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition论文笔记_第15张图片

采取不同的卷积,然后将结果合并在一起。模型中的2D卷积层可以使用在大的image dataset上训练好的参数,作为一个很好的初始化,这也增加了模型的能力。

本文的实验部分做的并不是很复杂,但是也算丰富,首先是对比了MiCT网络和基础的3D CNN的表现,然后是和其他state-of-the-art的方法的对比,这个对比进行了两项,一个是直接的对比,另一个是和一些two-stream的模型对比(MiCT也设置成2stream的),最后,文章对模型进行了一下可视化,指出模型能够适应不同速度的action,具有不错的能力。

总结一下本文的模型,我认为本文的模型主要的贡献是cross-domain residual connection的这个操作,通过sample一些frames进行2D卷积,结合3D卷积,大大减少了模型的复杂度,并且使得很多冗余数据不需要再去学习。主要贡献就是改进了3D CNN的网络模型。

参考文献:

论文 http://openaccess.thecvf.com/content_cvpr_2018/papers/Zhou_MiCT_Mixed_3D2D_CVPR_2018_paper.pdf

博客 https://zhuanlan.zhihu.com/p/54844623

https://blog.csdn.net/b224618/article/details/82533177

我觉得论文描述的也挺清晰的,这篇博客转载了这两篇的内容。

你可能感兴趣的:(论文笔记)