APP下载

基于上下文特征融合的行为识别算法

2020-01-17祁大健杜慧敏常立博

计算机工程与应用 2020年2期
关键词:短时记忆卷积特征

祁大健,杜慧敏,张 霞,常立博

西安邮电大学 电子工程学院,西安710121

1 引言

人体行为识别技术是指利用模式识别、机器学习等方法,从一段未知的视频中自动分析识别人体的行为,在人机交互、智能化家居、智能视频监控、机器人等领域有着广泛的应用[1]。人体行为识别技术包括人体行为的特征提取和对人体行为特征的识别及理解,其中人体行为的特征提取方法可分为两类:(1)基于人工特征的方法,如HOG特征[2]、HOF特征[3]、密集轨迹[4]、改进的密集轨迹(iDT)[5]等。该类方法虽然算法复杂度低、实现简单,但是行为表达的能力会受到所提取特征的限制,算法的精度和鲁棒性较差。(2)基于深度学习提取人体行为特征的方法。由于卷积神经网络(Convolutional Neural Network,CNN)可以获取鲁棒的空间表达,因此与基于人工特征的方法相比,采用CNN 进行行为识别的算法的精度和鲁棒性均有较大的提高[6-7]。2014年Simonyan等人[8]提出使用双流框架来进行动作识别,将视频看作一段图像序列,使用了空间流和时间流两个独立的卷积网络。与传统的单流卷积网络相比,该算法的动作识别精度有很大的提升。2017年Wang等人[9]在双流架构的基础上将时间流细分为局部时间流和全局时间流,动作图像特征和光流特征分别作为空间流和局部时间流的输入,并将运动叠差图像的CNN 特征作为全局时间流的输入。实验表明该算法在HMDB51 数据集[10]中比双流CNN方法提高了1.9%的识别精度。

长短时记忆网络[11](Long Short-Term Memory Network,LSTM)是一种新型的递归神经网络,它将之前若干时刻的数据作为当前时刻的数据输入,从而保留时间维度上的信息。Donahue 等人[12]针对视频的识别与描述,将CNN与LSTM结合,提出了长时递归卷积神经网络,并取得了较好的识别率。2017 年Yu 等人[13]提出了一种递归混合网络模型,该模型首先从彩色图像和光流中提取空间特征和短时时间特征,然后对相邻的P 帧特征进行池化并将池化结果输入LSTM中,最后将LSTM模型学到的特征与视频的其他两种特征(STP 和IDT)进行融合,并经线性SVM 得到视频分类的最终结果。该方法虽然提高了行为识别的精度,但是计算复杂度过高。

综上所述,视频中各帧图像的有效特征提取和表达,以及对各帧时空上下文信息的挖掘和建模是提高视频行为识别算法精度的关键。本文结合卷积神经网络和LSTM 提出了一种基于上下文特征融合的卷积长短时记忆网络算法。首先使用多维卷积核获得相邻帧包含的时间特征,并将多通道信息进行融合,使网络能够学习局部短期的时空特征。然后使用LSTM 进行长期时间的特征学习,获取上下文的长期时空信息,最后用softmax分类器进行人体行为的分类。

2 算法设计

2.1 网络整体结构

行为识别的目标是从一个时空序列中分析正在进行的行为,既要提取序列的空间特征,又要提取序列的时间特征。为此,本文采用基于上下文特征融合的卷积长短时记忆网络模型学习动作序列的时空特征信息。

本文设计的网络整体架构如图1所示。网络模型共有三个部分,分别为短期时序特征学习模块、ConvLSTM模块和Softmax分类模块。首先将原始视频序列进行预处理,生成图像帧序列。接着依次提取图像帧序列的T帧图像形成动作序列<x1,x2,…,xT>,将其作为网络的输入以此来保持图像序列在时域上的短时连续性。然后使用3D卷积核对输入的动作序列提取其空间特征和短时时间特征,并通过特征相加的方式进行特征融合,将融合后的特征作为下一级卷积神经网络的输入。卷积神经网络处理后的特征数据会通过调整规模送入LSTM 层中,并按照时间顺序进行运算,每次运算的结果是当前时刻特征与之前时刻所有特征的融合。LSTM网络是在前一层卷积核处理各帧空间信息的基础上,进一步提取每帧图像之间的时域信息。为了避免长短时记忆神经网络出现过拟合的情况,在LSTM 层融入了Dropout 技术,以提高网络的泛化能力和准确率。最后经过全连接层和Softmax分类器获得视频序列中行为的分类结果。

2.2 短期时序特征学习方法

当卷积神经网络应用于单帧静态图像中动作的识别时,其具有很好的效果。而当卷积神经网络被应用到视频或者是长序列图像中时,视频文件则需要被解码成单独的图像帧数据进行处理。为了不丢失相邻帧之间的时域相关性,使网络适用于序列化的图像,本文使用3D 卷积核提取输入动作序列的短时动作特征,即将传统二维卷积核(3×3)拓展为3D卷积核(3×3×T),T 为输入图像序列的长度。3D卷积示意图如图2所示。

图1 网络整体架构

图2 3D卷积示意图

3D卷积过程可以通过式(1)来表示:

式(1)中,x、y 分别表示图像序列中第z 张图像的像素坐标。 Pi、Qi、Ri表示图像序列中图像的高度、宽度和该张图像在图像序列中的位置。表示第i 层第j个特征块经过神经元运算后(x,y,z) 位置的输出。表示第i 层第j 个特征块中第m 张图像中(p,q,r)位置的权重。bij表示第i 层第j 个特征块的偏置。

在卷积处理过程中,卷积核以固定步长平移,对图像序列进行卷积运算。使用多个不同的卷积核进行卷积,获得多样的高层次特征。

3DCNN 模块用于学习短期时空特征,且采用了3D Conv+ReLU+Pooling架构,3D卷积层滤波器的卷积核大小为3×3×T ,步长为1×1×1,并采用最大值池化,步长为1×2×2。为了提取到效果较好的短期时间信息,本文在UCF-101 数据集上研究了不同时间深度对网络检测精度的影响。图3 显示了不同时间深度下的实验结果。可见,在T 值取3的时候网络表现最好。

图3 不同时间深度时的网络检测精度对比

为了提高网络检测效率,本文网络架构将输入视频序列下采样到固定的N 帧,如果某一输入视频序列少于N 帧,则最后一帧使用相同图像进行填充。3D卷积层接收输入数据,数据规模为320×240×N,N 为帧数或者序列的长度,320×240 为每个时间戳上图像的大小。数据经过3D卷积层输出的特征图通过相加的操作进行特征融合降低维度,然后送入ConvLSTM网络进行处理。网络中每一层所使用的激活函数都是ReLU 激活函数。ReLU 激活函数计算量小,一部分神经元的输出为0,形成网络的稀疏性,可减少参数的相互依存关系,缓解了过拟合问题的发生。

2.3 长短时记忆网络

LSTM 网络模型的构建思想主要是通过使用预训练好的卷积神经网络与LSTM 节点进行结合来搭建新的网络结构。因此,该多任务递归卷积神经网络可以分为两个部分,一是卷积神经网络部分,二是递归神经网络部分。在递归神经网络模型部分中采用长短时记忆网络模型,即LSTM,并采用Dropout 技术,避免过拟合和训练困难问题。由于LSTM 具有长时间记忆信息的能力,因此该网络具有学习长时间序列的能力,在行为识别领域具有更好的特征表达能力。图4所示为LSTM记忆单元。

图4 LSTM单元

一个LSTM 记忆单元包含了四个门结构的特殊网络结构:输入门、输出门、遗忘门和一个记忆细胞。其中,输入门和输出门是控制门,是为了解决输入输出时更新权值产生的冲突。遗忘门可以控制记忆细胞的状态,即自连接的权重不是一个固定的值,而是通过遗忘门动态输出一个值,它能够控制记忆细胞状态的值。当遗忘门取值为0时,起到遗忘的作用。每个门有一个激活函数,输入门、输出门、遗忘门使用的是Sigmoid激活函数,令σ 为Sigmoid激活函数,cell记忆细胞采用Tanh激活函数。具体LSTM每个门的公式定义如下:

其中,xt为输入的数据序列,σ 为激活函数,⊙符号为点乘运算,W、b 分别表示为系数矩阵和偏置向量,it、ft、ot分别表示t 时刻输入门、遗忘门、输出门的计算方法。ct表示t 时刻记忆单元的计算方法,ht为t 时刻LSTM的状态输出。

由于使用CNN 全连接层进行特征融合,全连接层后的高层特征会丢失空间特征在时域上的信息,因此本文使用LSTM网络对CNN最后一层输出的卷积特征进行融合以获取CNN输出特征的长时域信息。如公式(7)所示,xt是CNN层提取得到的视频特征。

在公式(7)中,feacnns是CNN层提取到的1 024维阵列,feacnns作为LSTM的输入,每一时刻运算的结果是前面所有特征和当前特征的融合。同时,长短时记忆网络后面接全连接层对所有输入值进行平均操作,综合各个时间输出对分类结果的影响,最后由Softmax 分类层对人体行为进行分类。

3 实验过程与结果分析

3.1 实验环境和参数设置

本文的实验环境基于Ubuntu 16.04 LTS 系统,实验使用的处理器是Inter Core E3 2.8 GHz处理器,8 GB内存和具有2 GB显存的NVIDIA 960 GPU。实验所采用的深度学习框架为keras,集成开发环境是Pycharm,使用GPU加速网络模型训练。

本文使用广泛的人体行为数据集UCF101 公用数据集[14]进行行为识别实验。UCF101是目前人体行为最大的数据集之一,它包括101个动作类,超过13 KB的剪辑和27小时的视频数据。该数据集的视频由实际用户上传,视频包含相机运动和混乱的背景。本次实验选取整个UCF的101种动作作为数据集,将数据集的80%作为训练集,余下的20%作为测试集,使用ffmpeg 编解码器[15]将数据集的视频数据转化为图像帧序列,对数据集进行处理。UCF-101 数据集中每个动作视频的单帧图像大多为相似且重复的动作,因此为提高算法效率,本文网络架构将输入视频序列下采样到固定的32 帧,如果某一输入视频序列少于32 帧,则最后一帧使用相同图像进行填充。

网络训练使用交叉熵代价函数作为损失函数[16]来评估当前训练得到的概率分布与真实分布的差异情况,同时利用交叉熵代价函数解决权重更新过慢的问题。

3.2 实验结果分析

本文将所提出的基于上下文特征融合的卷积长短时记忆模型与未做特征融合的卷积长短时记忆模型作对比实验。实验使用反向传播和梯度下降算法不断迭代更新权重和偏置。模型的学习率设置为0.002 5,训练集训练批次大小设置为64。

两种网络模型训练过程的准确率变化曲线如图5所示。图6 表示两种网络模型在训练过程中的损失变化情况。图中用Our module表示本文将所提出的基于上下文特征融合的卷积长短时记忆模型,用CNN+LSTM表示未作特征融合的卷积长短时记忆模型。

图5 两种网络模型训练过程的准确率变化曲线

图6 两种网络模型的损失变化曲线

使用UCF101 数据集作为训练集与验证集测试网络的识别率,文中算法与典型算法对比如表1 所示,典型算法性能数据参考文献[5,10]。

表1 不同算法在UCF101数据集上的准确率对比

在数据集中随机挑选6种行为,使用本文算法与未进行特征融合的卷积长短时记忆算法在测试行为识别所需时间上进行对比,结果如表2所示。

表2 模型测试时间对比 s

由表1可见,本文提出的基于上下文特征融合的卷积长短时记忆模型的行为识别准确率要高于iDT 算法和LRCN算法,相比于未做特征融合的卷积长短时记忆模型的准确率提高了1.28%。由表2 可见,基于上下文特征融合的卷积长短时记忆网络的平均检测时间相比于未做特征融合的卷积长短时记忆模型的平均检测时间降低了37.1%。可见,对运动背景较为复杂且包含相机运动的UCF101数据集,加入上下文特征融合能提升人体行为识别的性能,在复杂背景环境中有助于提高算法的检测效率和识别效果。

为了分析本文网络算法对行为的识别效果,图7给出了在UCF101数据集下的部分检测结果图,图7(a)为本文算法的检测结果,图7(b)为未使用特征融合的卷积长短时记忆算法(CNN+LSTM)的检测结果。

图7(a)本文算法结果示意图

图7(b)CNN+LSTM算法结果示意图

从图7看出,本文算法在BreastStroke、BandMarching有较高的识别精度,分别为95%、99%的精度。而未使用特征融合的卷积长短时记忆算法在其他动作上容易发生混淆,其中在BandMarching 的行为识别中出现错误检测的情况。从以上多个实验可以得出:本文提出的基于上下文特征融合卷积长短时记忆网络架构对运动信息识别具有良好的结果,获得了93.62%的准确率。

4 结束语

本文提出了一种融合上下文特征信息的卷积长短时记忆网络模型。在UCF101 数据集上的测试结果表明该网络模型能够获得93.62%的行为识别准确率,说明该网络提取出了行为数据库中的具有共性的特征信息,在行为识别领域中具有较好的表达能力。

猜你喜欢

短时记忆卷积特征
根据方程特征选解法
基于非稳态调和分析和长短时记忆神经网络的河口潮位短期预报混合模型
基于长短时记忆神经网络的动力电池剩余容量预测方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
从滤波器理解卷积
不忠诚的四个特征
基于傅里叶域卷积表示的目标跟踪算法
抓住特征巧观察
短时记忆理论的影响