基于双流卷积神经网络的改进人体行为识别算法

2018-08-24 07:51
计算机测量与控制 2018年8期
关键词:光流双流卷积

(南京理工大学 自动化学院,南京 210094)

0 引言

人体行为识别的目的是分析并理解视频中的人体的动作和行为,与静态图像中二维空间的物体识别不同,行为识别主要研究如何感知目标对象在图像序列中的时空运动变化,将人体行为的表现形式从二维空间拓展到了三维时空。人体行为识别有着重要的理论意义且在很多领域有着重要的应用价值,如智能监控、视频检索和人机交互等[1]。

随着大规模数据集的涌现,传统算法已经很难满足如今大数据处理的需求,深度学习成为近几年国内外的研究热点。深度学习是机器学习领域的重点研究问题,它模拟人脑认知机制的多层次模型结构,通过组合低层特征形成更为抽象的高层特征来获得数据更有效的特征表示,相比于传统的人工提取特征更适合目标的检测和识别。

卷积神经网络是深度学习模型的典型代表,应用最为广泛,已经成为目前图像识别和语音分析等领域的一个应用热点。在人体行为识别方面,基于卷积神经网络的研究也有很多新进展。Ji等人[2]在传统CNN基础上加入时间信息构成三维CNN,将灰度、垂直和水平方向梯度、垂直和水平方向光流信息作为多通道输入,对于多个连续帧通过三维卷积操作实现视频数据在时间和空间维度的特征计算;Karpathy等人[3]提出双分辨率的CNN模型,使用原始分辨率和低分辨率的视频帧分别作为输入,学习两个CNN模型,并在最后两个全连接层实现数据融合,以实现视频的最终特征描述用于后续识别;Karen等人[4]提出双流CNN模型,将视频数据分成空间静态帧数据流和时域帧间动态数据流,分别将原始单帧RGB图像和多帧堆叠的光流图像分别作为两个CNN模型的输入进行特征提取,最后使用SVM分类器进行行为识别;Chéron等人[5]提出使用根据人体姿势的关节点分割的单帧RGB图像和光流图像分别作为两个CNN模型的输入进行特征提取,并使用特征融合策略将视频数据转换为固定维度的特征向量,最后使用SVM分类器进行行为识别。

本文借鉴文献[4]中双流卷积神经网络模型中的“双流”概念,提出了一种基于改进双流卷积神经网络的人体行为识别模型,将VGGNet_16模型应用于双流卷积神经网络的空间流CNN,替换原始的类AlexNet模型,从而加深网络结构;将Flow_Net模型应用于双流卷积神经网络的时间流CNN,替换原始的类AlexNet模型,使得模型更适用于提取光流图的特征,然后将空间流CNN模型和的时间流CNN模型的输出结果进行加权融合后作为双流CNN模型的输出结果,最终得到一个多模型融合的人体行为识别方法。

1 双流卷积神经网络

1.1 卷积神经网络

卷积神经网络[6]是一种特殊设计的深层模型,最早应用于图像识别领域。CNN模型通过卷积和下采样操作自动学习图像特征,并把特征提取和分类输出合并为一个整体,从而获得更高的识别效率和更佳的性能表现。CNN的核心思想是局部感受野、权值共享以及空间下采样,这使得网络的权值参数个数大幅减少,并获得了对图像位移、尺度、形变的不变性。典型的CNN网络结构如图1所示。

图1 卷积神经网络结构示意图

1.1.1 卷积层

卷积层是通过多个不同的卷积核对上一层的输入做卷积运算得到多个输出,即多个特征图。卷积公式如式(1)所示:

(1)

1.1.2 下采样层

下采样层是对上一层的特征图进行采样操作,从而减小特征图的分辨率。采样操作是指对采样范围区域内所有像素点求平均值或最大值作为该区域采样后的值,从而实现卷积特征的降维并获得具有空间不变性的特征。本文采用最大值下采样操作,采样公式如式(2)所示:

yij=max0

(2)

其中:H,W表示采样窗口的长和宽,x表示二维输入向量,y表示采样的输出值。

1.1.3 Softmax分类器

深度学习网络常用的分类器包括多分类SVM以及Softmax分类器。本文选择使用Softmax作为特征提取后的多分类器。对于一个k分类任务,包含m个样本的训练集可表示为:

T={(x(1),y(1)),...,(x(m),y(m))}

(3)

其中:"x(i)∈Rn+1表示一个n维向量的样本,y(i)∈{1,2,...,k}是类别标签。对于输入样本x,计算它属于每一个类别的概率:

P(y=j|x),(j=1,...,k)

(4)

Softmax输出即为样本x(i)属于每个类别的所有概率值构成的一个k维的向量,计算函数如式(5)所示:

再者,美国对伊朗的制裁规则较一般法律文件具有更强的灵活性。这主要是考虑到制裁涉及的外交和政治复杂性,要为美国政府留下操作空间。例如,在判断构成受到制裁的“重大交易”问题上,制裁规则要求财政部综合考虑交易的数量、金额、频率等因素做出判断,并没有规定明确的判断标准③Iranian Financial Sanctions Regulations, 31 C.F.R. §561.404.。同时,其制裁方式也具有多样性。例如,在违反“次级制裁”的情况下,国务卿和财政部有从12项惩罚措施中任意选择5项对相关主体进行制裁的权力。

(5)

其中:θ是模型参数。

1.2 双流CNN网络结构

双流卷积神经网络的结构示意图如图2所示,该模型的核心在于空间流 CNN和时间流CNN构成的“双流”结构,其中:空间流CNN 以视频的单帧RGB 图像作为输入,实现人体在空间域上表观信息的特征描述;而时间流CNN 则是以多帧叠加后的光流图像作为输入,得到关于行为的运动特征表述,从而达到时间和空间互补的目的。针对给定的视频行为样本,首先分别通过时间流CNN和空间流CNN 进行特征提取,最终将两个分支的分类结果进行加权融合,以得到关于视频中人体行为类别的最终决策结果。

图2 双流卷积神经网络模型结构示意图

原始双流卷积神经网络模型结构设计基本上和AlexNet模型是同一种思路,包括5层卷积层和3层全连接层,网络的输入图像尺寸被固定为224×224。与AlexNet相比,原始双流CNN包含更多的卷积滤波器,第一层卷积层的卷积核尺寸缩小为7×7,卷积步长减小为2,其他层次的参数都与AlexNet相同。

随着对深度学习研究的深入,现在的网络结构发展呈现出层次结构更深,卷积核尺寸更小,滤波器数量更多,卷积操作步长更小的趋势,这些转变应用在物体检测任务上并获得了较好的效果。目前应用较广泛的深层次卷积神经网络结构有GoogleNet和VGGNet和ResNet等。

本文选用VGGNet-16模型作为空间流CNN模型,VGGNet-16是在数据库ImageNet上训练得到的具有1000个分类的模型,在2014年大规模视觉识别挑战赛(ILSVRC)中获得了第二名的成绩。VGGNet-16模型继承了AlexNet模型的网络框架,采用了16层的深度网络,包含13个卷积层和3层全连接层,与AlexNet模型相比,VGGNet-16模型使用了更深的网络,且所有卷积层都使用大小为3×3的卷积核,卷积步长也缩小到1,能够模仿出更大的感受野,且减少了自由参数数目。VGGNet-16模型结构如表1所示。

表1 VGGNet-16网络结构

另外,时间流CNN用来提取光流信息,因此本文采用在光流图像上预训练的Flow_Net[8]模型,Flow_Net模型是在包含13320个视频101类行为的UCF101数据库上训练光流图得到的模型,适合于用来进行光流图像的特征描述。Flow_Net模型的网络结构如表2所示。

表2 Flow_Net网络结构

1.3 基于迁移学习的模型训练

为避免因训练样本数量不足出现深度网络学习过拟合的情况,本文采用迁移学习的方法。迁移学习[9-10]是指利用已学习到的知识解决不同但类似问题的方法,本文利用预训练好的模型初始化用于人体行为识别的双流卷积网络模型。

原始双流卷积神经网络只在空间流CNN上使用预训练,本文在空间流和时间流上分别使用VGGNet-16和Flow_Net预训练模型初始化网络参数,并利用目标任务数据库对网络进行精调,得到目标任务网络模型。对于空间流CNN,输入为RGB图像,而VGGNet-16模型由ImageNet数据库中的RGB图像训练得到,该数据库包含各种物体和生物,模型能够很好地获取图像低级、局部的特征,将其迁移到其他图片数据上的泛化性非常好,适合进行人体行为识别;而对于时间流CNN,输入为光流图像,因此使用UCF101数据库上光流图像训练得到的Flow_Net模型初始化时间流模型。另外,需要调小模型训练初始的学习率,并根据训练的迭代次数对学习率实时进行调整,随着迭代次数的增多,减小学习率。

1.4 模型融合

通过双流卷积神经网络获取视频帧的RGB特征以及光流特征后,需要将空间流CNN和时间流CNN的Softmax输出进行加权融合得到最终概率输出,选取概率最大的类别作为分类结果。

对于人体行为识别的分类任务,模型的输入是单帧图像,而样本是以单个行为视频为单位的,因此需要对视频中所有图像对应输出的概率矢量进行融合,得到某个视频单个模型的预测概率矢量,再将时间流以及空间流模型所得到的概率矢量以不同的权值相加,得到预测样本属于各个类别的概率向量Vec:

(6)

其中:λ是一个介于(0,1)的常量,n是视频帧数。

2 实验结果与分析

2.1 实验平台与数据库

本文实验基于Caffe和GPU,GPU型号为NVIDIA Titan X,该显卡的显存容量大小为12G。

为验证模型的有效性,采用JHMDB人体行为数据库进行模型的性能测试,JHMDB数据库是HMDB51的子数据集,包含21类行为,共有928个视频片段,视频帧分辨率为320×240,其提供了训练集和测试集的划分,共有3个splits。为满足网络训练需求,抑制过拟合,本文对图像样本做了一系列的数据扩充,通过对视频帧进行随机剪裁、随机旋转、水平翻转、对比度变化、亮度变化、加噪和模糊等处理,将图像样本扩充了10倍,同时增强了样本数据的多样性。

2.2 模型训练与结果分析

根据JHMDB数据库包含的行为类别数将VGG-16模型和Flow_Net模型的最后一个Fc层分类参数设置为21;将RGB图像尺寸规范化到224×224,光流图根据文献[10]计算得到,并将尺寸规范化到227×227,每三帧光流图叠加作为一个输入样本,然后将单帧RGB原图和光流图像分别输入到VGGNet-16模型和Flow_Net模型中,VGGNet-16模型的初始学习率设为0.001,每经过10000次迭代学习率降为原来的10%,总共迭代60000次,Flow_Net模型的初始学习率设为0.001,每经过2000次迭代学习率降为原来的10%,总共迭代10000次,用测试集分别测试VGG-16模型和Flow_Net模型。将两个模型得出的预测值进行融合,通过选取5种不同的权重融合,得出最终识别结果,表3为不同权重融合下得到的对JHMDB数据库中行为识别准确率的对比。

表3 不同权重融合的效果比较

从表3可以看出,时间流CNN比空间流CNN模型识别效果好,而经过模型融合得到的识别效果与不同模型预测结果的所占比重有关,总的来说,使用模型融合的方法要比单模型的分类效果好,且当()即空间流CNN模型和时间流CNN模型的输出以1/3和2/3的比重进行融合时,得到的最终分类结果效果最好,在JHMDB数据库split1上测试混淆矩阵如图3所示。

图3 JHMDB-split1双流CNN混淆矩阵

从图3可以看出,改进的双流CNN通过在新的数据库上进行微调,可以有效实现人体行为识别。其中,golf的识别率最高,而kick_ball的识别率最低,很容易被错分为catch或jump。

本文提出的方法与其他人体行为识别方法的准确度进行对比,比较结果如表4所示。

表4 与其他方法的效果比较

从表4可以看出,本文提出的改进双流卷积神经网络相比于原始的双流卷积神经网络和文献[8]的方法在人体行为识别任务上的识别率略有提高。

3 结论

本文提出了一种改进的双流卷积神经网络模型,将VGGNet_16模型应用于空间流CNN,替换原始的类AlexNet模型,从而加深网络结构;将Flow_Net模型应用于时间流CNN,替换原始的类AlexNet模型,使得模型更适用于提取光流图的特征,然后将空间流CNN和的时间流CNN的Softmax输出进行加权融合作为双流CNN模型的输出结果,最终实现人体行为识别。为了避免由于训练样本不足而出现模型过拟合现象,本文采用了训练样本集扩充和迁移学习的方法。最后,基于JHMDB数据库的实验得到改进的双流卷积神经网络模型的识别率达到60.14%,证明了其在人体行为识别任务上的有效性。

猜你喜欢
光流双流卷积
国内首条双流制市域(郊)铁路开通运营
利用掩膜和单应矩阵提高LK光流追踪效果
四川省成都市双流区东升迎春小学
基于改进Cycle-GAN的光流无监督估计方法
种子醒了
一种多尺度光流预测与融合的实时视频插帧方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于自适应纹理复杂度的仿生视觉导航方法研究
卷积神经网络的分析与设计
从滤波器理解卷积