融入时序激励机制的人体行为识别

2020-11-02 11:52张兆雷李传秀
计算机工程与设计 2020年10期
关键词:时序卷积权重

梁 鸿,张兆雷,李传秀,钟 敏

(中国石油大学(华东) 计算机科学与技术学院,山东 青岛 266580)

0 引 言

基于视频的人体行为识别是计算机视觉领域的热点和富有挑战性的问题。由于深度卷积神经网络强大的特征学习能力,VGGNet[1]、ResNet[2]等优秀的网络模型被应用于人体行为识别任务中。

将深度卷积神经网络应用到人体行为识别中的关键问题是如何融合视频中的局部特征。Karpathy等[3]在人体行为识别任务中引入深度卷积神经网络并研究了连续视频帧作为输入的特征融合方法。Simonyan等[4]把光流作为表示运动的特征提出了双流卷积神经网络,在行为识别任务上具有重要的意义。双流卷积神经网络虽然有效地利用了时间维度信息,但是对长时序的运动缺乏特征表示,导致最后识别准确率并不高。Wang等[5]提出基于长时间范围结构建模的网络改进了传统双流CNN的缺点,但是各视频段特征的简单平均融合使不同的特征发挥相同的作用。Ng等[6]针对视频的时序问题设计了双流长短时记忆网络,但是效果不理想。

针对以上分析,本文总结了视频的一般特性:①相邻的帧之间具有高度相似性;②某些行为顺序的改变不会对识别结果产生明显影响;③某些行为只用少数几帧就可识别。因此本文提出了时序激励卷积神经网络(temporal excitation based convolutional neural network,TEN),通过时序激励模块(temporal excitation model,TE Model)建模局部特征之间的关系,提高人体行为识别的准确率。时序激励就是对局部特征的加权,使对行为识别有益的特征发挥更大的作用同时抑制冗余和噪声特征。另外,与近期提出的基于注意力机制的方法[7]不同的是,本文方法不仅利用单个局部特征,还在一定程度上利用了时序上不同位置局部特征的关系信息。

1 时序激励卷积神经网络

本文在提出时序激励机制时将人体行为识别任务分为3个主要阶段:局部特征提取阶段、局部特征融合阶段和全局特征分类阶段,每个阶段都可以通过合适的神经网络来解决。其中局部特征提取使用现有的深度卷积神经网络,例如ResNet、BN-Inception等,全局特征分类可以用全连接层。本文主要贡献在于局部特征融合阶段,即探索如何在给定一组局部特征的情况下生成具有辨别性的视频全局特征表示。为此本文设计了时序激励模块,并将其融入到卷积神经网络中,此模块能根据输入的局部特征序列自适应地为每一个局部特征分配权重。对行为识别有益的局部特征会得到比较大的权重,而冗余和噪声特征得到较小的权重,以此达到增加有益特征的作用并且抑制无用特征的目的。时序激励卷积神经网络模型结构如图1所示,模型的优势在于依然能够进行端到端的训练,这为整个模型的优化提供了方便。本文采用空间流与光流结合的方法进行人体行为识别,其中的每一个流都能输入到提出的方法中优化学习,最后的预测结果是由两流上预测的行为类别分数加权融合得到。

图1 时序激励卷积神经网络模型结构

将时序激励深度卷积神经网络(TEN)应用于人体行为识别可以分为以下6个步骤:

步骤1 将视频平均分成若干片段,在每个片段中随机挑选一帧RGB图像和光流图像的堆叠作为模型的输入;

步骤2 利用深度卷积神经网络提取每一帧RGB图像或光流图像的堆叠深度特征并且组成局部特征序列;

步骤3 将局部特征序列输入到设计的时序激励模块中,生成与局部特征相应的权重向量;

步骤4 将生成的权重向量赋值给第2步中的局部特征序列,完成局部特征的加权;

步骤5 分别将两个流的加权特征序列输入到共识函数中,生成视频的全局特征表示;

步骤6 将空间流与光流的行为类别得分加权融合得到最终的视频行为类别预测。

2 局部特征序列的提取

本文提出的时序激励深度卷积神经网络(TEN)结构如图1所示。为了得到视频中的局部特征序列,将每一段带有标签的输入视频V平均分为K段,即V={S1,S2,…,SK,y},Si代表视频中的第i个片段,y是此视频包含的行为类别标签。提取视频的局部特征采用的深度卷积神经网络是在ImageNet图像分类数据集上预训练过的BN-Inception,因为Wang等[5]已经验证了BN-Inception能在速度与准确率之间取得比较好的平衡。假设在视频中每个片段随机提取的帧Ti输入到卷积神经网络后映射成的深度特征可表示为

xi=(Ti,W),i=1,2,…,K

(1)

其中,W为卷积神经网络的参数,xi为M维的向量。对于RGB流,并且对于光流,并且

局部特征序列定义为同一视频中不同部分的帧经卷积神经网络所映射的一组深度特征的序列。为了方便,本文使用一个M*K矩阵X来表示包含K个局部特征序列

X=(x1,x2,…,xK)

(2)

值得注意的是,本文中提取的局部特征是有序的,即局部特征的顺序须和对应的视频帧顺序一致。

3 时序激励模块

本文设计的时序激励模块的结构如图2所示。本文提出的时序激励模块中包含对局部特征序列的压缩与激励操作,并且嵌入在网络的最后一个全连接层之后。

在局部特征序列输入到时序激励模块后,首先进行特征的压缩操作。本文采用与SENet[8]中一样的深度特征压缩方法,即平均池化方法,如式(3)所示

(3)

其中,ai表示视频中第i个局部特征经过压缩后的输出值,xji表示局部特征序列中第i个局部特征向量xi的第j个元素。因此,能够表示时序上局部特征依赖性的特征向量可以写为

A=(a1,a2,…,aK)

(4)

在局部特征融合的过程中,时序激励模块的输入是能代表局部特征序列的向量。它的任务是分析每个局部特征的重要性,然后赋予全局特征尽可能多的有用信息,同时抑制冗余的信息和噪声。这种时序激励输出可以看作是局部特征序列上的加权,加权之后的视频局部特征序列V可表示为

V=cX

(5)

其中,c是K维的权向量,由权重函数决定。权重函数的选择是时序激励模块的关键所在。它的输入是能够代表局部特征序列的向量A,输出是权向量c,权向量每一维的数值都对应其所在位置的局部特征。

使用权重函数计算局部特征权重的方法很多,全局平均可以看作是时序激励机制的一种退化形式,相应的权重函数可以表示为

(6)

其中,L是维度为K并且所有元素都等于1的向量。Lippmann在1987年的论文[9]中发现具有两个隐藏层的多层感知器足以表示任何所需形状的分类区域。受此启发,对于更具延展性的时序激励权重函数,本文首先使用包含一个隐藏层的全连接层(FC2)

c=sigmoid(w2relu(w1AT+b1)+b2)

(7)

其中,w1,w2分别为维度5*K的参数向量。类似地,也可以使用包含两个隐藏层的全连接层(FC3)

c=sigmoid(w3relu(w2relu(w1AT+b1)+b2)+b3)

(8)

其中,w1,w2是维度2*K的参数向量,w3是维度K的参数向量。

视频中的局部特征经过时序激励模块之后输出经加权的局部特征序列进入到全局特征融合的阶段,此处本文选择平均融合的方法将K个不同位置的局部特征序列V融合为代表整个视频的全局特征,最后将全局特征送入到时序激励模块之后的分类器中进行优化学习。

图2 时序激励模块结构

4 实验及结果分析

首先介绍了本文使用的两个人体行为识别数据集:HMDB51[10]和自建的油田生产现场行为识别数据集Oilfield-7,并且在这两个数据集上评估了本文提出的方法。通过与一些优秀方法的比较,验证了本文方法的有效性,最后对时序激励模块输出的局部特征权重进行可视化。

4.1 数据集

HMDB-51:包含来自51个动作类的6766个视频剪辑。数据集中的视频多数来源于电影片段,还有一小部分来自公共数据库以及YouTube等网络视频库。这些动作类包括一般的面部动作、带有对象操作的面部动作、一般身体动作以及带有人体互动的身体动作。这个数据集具有挑战性,因为它包含了许多摄像机运动造成的低质量视频。

Oilfield-7:本文自建的油田生产现场行为识别数据集包含7类动作:Tank Clean,Rig Walk,Room Operate,Site Walk,Room Stand,Tank Construction,Tank Walk,囊括了日常工作中的常见行为:擦拭,走,作业等。数据集中所有的视频均来自油田生产现场的监控视频,裁剪时确保每个视频片段中只包含一个行为类别。最终形成的数据集共包含剪辑的视频200个,平均每个视频300帧。本文借鉴公共数据集的标准评估准则[11],将数据集随机划分为3种不同的训练集和测试集。

4.2 实验细节

训练时,本文使用在ImageNet图像分类数据集上预先训练的BN-Inception模型初始化网络的权重,将在视频中采样得到的RGB图像和光流图像裁剪到224*224的大小作为网络的输入。训练过程遵循TSN[7]中所使用的训练策略(冻结除第一个之外的所有批量标准化层和在全局池化后加入dropout)。TEN中处理每个流的卷积神经网络单独训练,基于标准交叉熵损失函数,采用随机梯度下降算法(SGD)优化损失函数,批处理大小为32。在HMDB51数据集上,对于空间流,总共训练45个Epochs。使用0.001的初始学习率,每20个Epochs学习率下降到原来的0.1。对于时间流,本文也使用0.001的初始学习率,总共训练100个epochs,每40个epochs学习率下降到原来的0.1。所有SGD动量都固定在0.9,为减小过拟合的风险将dro-pout设置为0.8。对于自建的Oilfield-7数据集,模型的训练过程与HMDB51的过程相同,只是根据数据集大小调整训练的次数。测试时,对每个测试视频,均匀采样固定数量的片段(本文的实验中空间流为25段,时间流为20段)。使用中心裁剪,水平移动,角裁剪和刻度抖动等技术对采集的图像做增强处理。使用加权平均融合空间流与时间流的预测得分生成视频中行为类别的预测,分别在两个数据集的3个测试集上评估本文的方法并报告了实验结果。

在整个训练和测试的过程使用到了Pytorch深度学习框架和CUDA8.0,并且使用Opencv提取视频中的光流,本文的实验在NVIDIA GTX1080Ti上进行。

4.3 结果分析

首先,比较了本文提出的方法与另外两种时序特征融合方法:①最大片段融合;②平均片段融合。与本文的方法一样,最大片段融合与平均片段融合都在网络的最后一个全连接层之后分类层之前。实验结果见表1,本文在HMDB51数据集的第一个split上进行实验,训练时视频的片段数K设置为5。通过引入时序激励模块,本文将只是用RGB图像作为输入的平均准确度提高到了54.9%。比平均片段融合方法高1.2%,比最大片段融合方法高1.5%。由此可见通过引入时序激励模块,在融合视频中的局部特征时,使得对行为识别有益的特征能够获得更多的关注,并且在一定程度上抑制冗余和噪声特征,使得到的全局特征更具鉴别力。

表1 HMDB51上不同的融合方法比较(RGB帧,split1)

另外,本文对提出的时序激励模块中不同的权重函数对全局特征的影响进行分析,考虑了第3节中描述的含有一个隐藏层的FC2和含有两个隐藏层的FC3。为保证权重函数能有效地为局部特征分配权重,在隐藏单元的设置上,FC2中的隐藏单元数设置为输入层单元的5倍,FC3中两层隐藏单元的数量均设置为输入层单元数量的两倍。虽然FC3较FC2多出一层隐藏单元,但是实际的参数量FC3要比FC2减少约20%,同时使用FC3权重函数输出的权重要优于使用FC2输出的权重。使用不同权重函数在HMDB51上的实验结果见表2,本文观察到,当输入的局部特征数量比较小时,使用FC2的表现要好于FC3的表现,随着输入的局部特征数量的增加,FC2的性能要比FC3差。经过分析本文认为随着局部特征数量的增加,FC2的表达能力逐渐趋向饱和,而拥有两个隐藏层的FC3的表达能力逐渐显现出来。

表2 HMDB51上两种权重函数随着局部特征数量的增加产生的准确率变化(RGB帧,split1)

为了进一步评估本文所提方法的有效性,本文在HMDB51数据集中3种不同的测试集上进行验证,最后取这3个数据集上准确率的平均值作为评价指标,实验结果见表3,本文提出的方法展示了较好的性能,在只用RGB图像作为输入的情况下比TSN提高了2.9%,比Attention Pooling[14]方法提高了1.7%。此外,通过与时间流分数的加权融合,本文方法比Two-Stream高出12.2%,比TSN高出1.3%,见表4,本文提出的方法达到了目前最先进的性能,表中还可以看出本文的方法相比于Attention系列[7,18]只能依据单个局部特征分配权重的方法具有一定的优越性,这种优越性体现在能在一定程度上关注到局部特征之间的时序关系使生成的权重更具区分性,增加有益特征的作用从而使局部特征融合成的全局特征更具代表性。

表3 不同方法在HMDB51上的比较(只用RGB帧)

接下来本文在自建的油田生产现场行为识别数据集OilField-7上评估提出方法的有效性,本文选择基线模型Two-stream以及TSN作为比较的对象,这两个模型是双流法中的比较有代表性的模型。在Oilfield-7上,实验设置同HMDB51一样,对于空间流选择25个片段,时间流选择20个片段进行测试,在最后的双流分数融合阶段本文把权重设置为1和1.5。结果如表5所示,本文的方法在准确率上较Two-Stream与TSN分别提升了5.3%与2.2%。每类行为的识别准确率见表6,在表中可以看出‘Tank Clean’和‘Tank Construction’两类的准确率较低,因为这两个行为不明显并且距离监控摄像头较远,而‘Tank Walk’的准确率较高说明模型加入时序激励模块之后能关注到行为发生的帧,增加其在全局特征中的影响。

最后,本文对提出的时序激励模块对时序上不同位置的局部特征的响应进行可视化,以便更好展示网络在学习过程中对时序局部特的关注程度。如图3所示,本文在随机挑选的几段视频上测试提出的方法并将时序激励模块产生的权重可视化。图3(c)是本文自建数据集中工作人员的站起行为,底部的数字是时序激励模块为采样得到的帧所分配的权重,可以看出在人还没有站起时分配的权重比较低,当有明显的站起特征时,时序激励模块会给予更多的关注即分配更大的权重。

表4 不同方法在HMDB51数据集上的比较(RGB帧+光流)

表5 在oilfield-7数据集上3种方法的比较

表6 在OilField-7数据集每个行为类别上3种方法的比较

图3 时序激励模块生成的局部特征权重的可视化

5 结束语

本文为了改进现有的基于双流模型的人体行为识别方法不能有效融合局部特征的不足,提出了融入时序激励机制的卷积神经网络,设计的时序激励模块可以为局部特征序列生成具有区别力的权重,并且嵌入时序激励模块的卷积神经网络依然能够端到端的学习。通过与经典方法在HMDB51和自建的OilField-7数据集上的结果对比,验证了本文提出的方法能有效提高人体行为识别的准确率。此外,本文的方法还可以用于未裁剪视频的人体行为识别,将在未来的工作中在其它行为识别数据集上评估和改进本文的方法。

猜你喜欢
时序卷积权重
清明
基于3D-Winograd的快速卷积算法设计及FPGA实现
权重常思“浮名轻”
基于不同建设时序的地铁互联互通方案分析
卷积神经网络的分析与设计
从滤波器理解卷积
为党督政勤履职 代民行权重担当
基于傅里叶域卷积表示的目标跟踪算法
基于FPGA 的时序信号光纤传输系统
基于模体演化的时序链路预测方法