Press "Enter" to skip to content

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

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

 

行为识别

 

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

 

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

 

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

 

2D CNN vs. 3D CNN

 

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

 

基于2D CNN特征的方法

 

 

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

 

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

 

基于3D CNN特征的方法

 

 

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

 

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

 

视频图像中时空信息的分布并不是均衡的,同空域信息相比,视频中时域信息的冗余度较高,相邻两帧的内容通常很相似,如图3所示。因此,我们把特征学习中的研究重点更多地放在有关空域的分析上。

 

 

图3:运动员射箭视频

 

此外,我们也发现每个3D卷积都会产生一个混合了时空信息的2D特征图,如图4所示。所以,增强2D特征图的分析学习能力也能够进一步提升3D卷积的性能。

 

 

图4:3D卷积特征示例。卷积内核沿3D输入信号的空间和时间维度并生成3D时空特征图。

 

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

 

 

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

 

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

 

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

 

 

图6:3D和2D卷积共享空间信息

 

因此,我们进一步提出了一个3D/2D跨域残差并联模块 (Cross-domain Residue Connection)。如图7所示,我们提出在3D卷积的输入和输出之间引入另一个2D CNN的残差连接,以进一步降低时空融合的复杂性,并有效地促进整个网络的优化。

 

 

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

 

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

 

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

 

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

 

 

图8:MiCT模块

 

深度MiCT网络MiCT-Net

 

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

 

 

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

 

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

 

 

表1:MiCT-Net体系结构

 

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

 

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

 

 

表2:MiCT-Net和基础网络C3D间的性能比较

 

我们进一步对比了MiCT-Net和同类先进算法的在行为识别上的性能表现。如表3所示,我们简单实现的MiCT-Net算法在性能上超过了其它主流算法,同时处理速度可以达到394帧/秒。

 

 

表3:行为识别算法比较 (输入为RGB视频序列)

 

此外,我们也对MiCT-Net所学的特征图进行了可视化,如图10所示。上面的示例是一个慢动作太极视频,MiCT-Net学到的特征信息强调了背景及人体信息,对于慢动作的识别提供了有效的信息;而在下面的相对激烈的跳远视频中,MiCT-Net学到的特征信息更多的集中在运动区域。可见,我们提出的MiCT-Net能够很好地适应视频内容,学到有效的时空特征。

 

 

图10:MiCT-Net所学特征图的可视化示例

 

想要更多的实验结果及分析,请 查看论文原文

 

目前的MiCT-Net非常简单,我们只是简单地将4个MiCT模块堆叠在一起,并没有进行全面的架构探索,相关的研究仍然很有潜力。

 

总结

 

 

为了解决3D CNN在视频分析中性能不佳的问题,我们提出了一个2D/3D混合卷积模块(MiCT),它使3D CNN能够以更少的3D时空融合、更小的模型、更快的速度来提取到更深的时空特征。基于MiCT,我们进一步提出了一个端到端可训练的深度网络MiCT-Net,其性能在行为识别的测试实验中明显优于传统的3D CNN。

 

事实上,我们提出的MiCT是一个高效且通用的基本单元,可以很方便地被应用于其它3D CNN架构中(例如双流3D CNN),以实现其最佳性能。同时MiCT也可以用于其它3D信号的处理,从而提升相关任务的性能。

 

参考文献:

 

 

    1. K. Simonyan and A. Zisserman. “Two-Stream Convolutional Networks for Action Recognition in Videos.” Neural information processing systems (NIPS) 2014: 568-576.

 

    1. J. Donahue, L. A. Hendricks, S. Guadarrama, M. Rohrbach, S. Venugopalan, T. Darrell, K. Saenko, Long-term recurrent convolutional networks for visual recognition and description, Computer vision and pattern recognition (CVPR) 2015, 2625-2634.

 

    1. D. Tran, L. D. Bourdev, R. Fergus, L. Torresani and M. Paluri. Learning Spatiotemporal Features with 3D Convolutional Networks, International conference on computer vision (ICCV), 2015: 4489-4497.

 

 

作者简介

 

 

孙晓艳博士,微软亚洲研究院网络多媒体组主管研究员,中国科学技术大学兼职教授、 博士生导师。长期致力于图像、视频信号处理及计算机视觉方向的基础与应用研究。IEEE资深会员,担任该领域十余个着名国际会议和顶级国际期刊的技术委员、编委、评审等职务,包括IEEE JETCAS高级编委 (Senior Editorial Board)和Signal Processing: Image Communication期刊的领域编辑(Area editor),并于2014年当选为 IEEE MSA(Multimedia Systems & Applications)技术委员会委员。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注