基于双流CNN与Bi-LSTM的施工人员不安全行为轻量级识别模型

2022-08-19 02:02:02代新冠贾荣豪
西安科技大学学报 2022年4期
关键词:双流复杂度注意力

马 莉,王 卓,代新冠,贾荣豪

(西安科技大学 通信与信息工程学院,陕西 西安 710600)

0 引 言

近年来,随着深度学习技术的迅猛发展,行为识别技术广泛应用于安全、交通及医疗等领域,利用行为识别技术对建筑工地施工人员行为进行智能监察成为广泛研究的热点。传统的人员不安全行为识别主要采用前端视频采集并结合云端检测识别的模式,而边缘计算具有实时处理的优势,能减少网络传输带来的检测时延,并降低因网络传输带来的隐私数据泄露风险[1]。因此,设计并实现人员不安全行为的边缘检测模型具有重要的现实意义。

由于云端的行为识别模型主要基于GPU进行推理,对处理器性能有较高要求,大量网络参数也会占用较多存储空间。识别模型受限于处理器性能与内存空间无法直接在边缘端设备上实时运行,因此,需开展模型轻量化设计,在保证模型识别准确率的前提下降低模型计算复杂度和模型大小,解决识别模型在边缘设备上的部署问题。

基于深度学习的人员行为识别方法由于具有高效和高识别率的特点而被广泛使用。目前行为识别模型主要分为3类:双流CNN,3D CNN和CNN-LSTM。SIMONYAN等提出双流卷积神经网络[2](two stream convolutional neural network),通过将视频流划分为时间流和空间流,分别提取时间特征和空间特征,识别精度较传统方法有了明显提升,并且视频处理速度更快。双流CNN分别利用RGB图像和堆叠光流图像进行分析处理[3],能够有效地利用视频中的时间信息,但是对于长时动态信息利用率不高[4]。长短时记忆网络(long short-term memory,LSTM)网络适合处理长时序列,因此GAMMULLE等提出融合LSTM的双流CNN网络用于行为识别,利用双流CNN提取单帧图像的时空流特征,将得到的特征按时间顺序输入LSTM,最终得到视频数据的行为特征,且取得了很好的效果[5]。JI等提出利用3D卷积核[6]提取视频序列的时空间特征进行行为识别,由于采用了端到端的方式,具有处理速度快,但存在模型参数量大,识别准确率不高的问题。DONAHUE等提出长时循环卷积神经网络[7],将LSTM与CNN相结合,利用CNN提取单帧图像的卷积特征,将得到的特征按时间顺序输入LSTM,最终得到视频数据的行为特征,该方法处理速度较快,但也存在准确率不高的问题。

模型轻量化设计其中一个重要的技术路线是设计高效的网络结构,以牺牲部分准确率为代价,减少网络参数,以满足实时性与低内存的要求。近些年,轻量化的CNN模型相继被提出,最具代表性的有SqueezeNet,MobileNet,ShuffleNet等。SqueezeNet[8]将单个卷积运算进行拆分,拆分为为1×1大小的卷积核以及由3×3和1×1大小卷积核2部分,其比例可通过参数调节,能大幅降低模型参数。MobileNetV1[9]引入深度可分离卷积替换普通卷积降低模型计算复杂度和参数量,MobileNetV2[10]在此基础上借鉴残差网络引入反向残差和线性瓶颈,以提高模型的准确率,MobileNetV3[11]通过引入通道注意力进一步提高模型准确率。ShuffleNetV1[12]引入分组卷积,大幅降低计算量。ShuffleNetV2[13]针对大量的1×1卷积和元素级加法引入通道分离,避免元素级加法,降低计算复杂度。

1 模型设计

如图1所示,文中提出的基于双流CNN与Bi-LSTM的施工人员不安全行为轻量级识别模型,主要包含双流特征提取模块、特征融合模块和行为分类模块。模型在传统双流CNN的基础上进行改进,通过使用轻量化网络ShuffleNetV2结构代替传统CNN结构达到降低模型计算复杂度和模型参数量的目的。与此同时,为了保证模型识别准确率,模型在双流特征提取模块中引入卷积注意力模块提取时空双流特征,以较小的计算复杂度提升为代价提高行为识别准确率;在特征融合模块中引入Bi-LSTM网络,获取视频前后的关联信息,充分考虑特征之间的时序关系,更好的融合时空双流特征,提高识别准确率;在行为分类模块中利用注意力机制实现自适应分配权重,从而提升人员行为识别准确率。

图1 基于双流CNN与Bi-LSTM的施工人员不安全行为轻量级识别模型Fig.1 Lightweight recognition model for unsafe behaviors of construction workers based on two-stream CNN and Bi-LSTM

1.1 引入卷积注意力模块的轻量双流特征提取模块设计

双流神经网络利用时间流和空间流分别提取视频行为特征,空间流网络将多个RGB图像帧作为输入,提取人员动作的空间特征;时间流网络将多个光流图作为输入,提取人员运动的时间特征。基于双流网络框架将特征提取网络替换为引入了卷积注意力模块的ShuffleNetV2网络,在保证准确率的前提下大幅提升了行为识别速度。

1.1.1 ShuffleNetV2网络

传统双流特征提取网络基于CNN,存在特征提取耗时较长、网络参数量较大的问题。因此采用轻量化结构ShuffleNetV2替换原有的特征提取网络,利用有限的计算资源来实现较高的模型精度,实现在速度和准确度之间的平衡,降低模型计算复杂度,提高识别效率。ShuffleNetV2网络由ShuffleNet网络升级而来,ShuffleNet的核心是逐点组卷积和通道混洗,ShuffleNetV2在此基础上又引入了通道分离操作。逐点组卷积即逐点卷积和分组卷积的结合。分组卷积是对输入的特征图进行分组,然后对每组分别进行卷积,能够大幅降低卷积参数量。逐点卷积为使用卷积核大小为1×1的卷积操作,可以起到一个跨通道聚合的作用,所以进一步可以起到降维(或者升维)的作用,达到减少参数的目的[14]。分组卷积可用于减少模型参数量,但是ShuffleNet中使用了过多的分组卷积导致内存访问时间(memory access cost,MAC)增加,也导致通道间信息分离。为了实现特征图之间的通道信息融合,如图2所示,ShuffleNetV2在通道混洗操作上又引入了通道分离的操作。网络通过将输入特征划分为2个分支,通道数分别为C-C1和C1。左边分支保持不变,右边分支经过多次卷积,再将2个分支合并,经过通道混洗操作将每一组的特征分散至不同的组后再进行分组卷积,实现不同通道之间的信息交流。

图2 ShuffleNetV2单元Fig.2 ShuffleNetV2 unit

1.1.2 卷积注意力模块

利用轻量化结构ShuffleNetV2提取双流特征能有效降低网络的计算量及其大小,但也导致行为识别准确率下降。因此引入卷积注意力模块(convolutional block attention module,CBAM)以较小的计算开销提升网络性能。CBAM[15]是一个轻量级的通用模块,可以集成到其他CNN框架中。CBAM结合了空间和通道注意力机制,既考虑不同道像素的重要性,又考虑了同一通道不同位置像素的重要性,是一种简单而有效的注意力模块。CBAM的结构如图3所示,模块的输入为上一卷积层的输出特征,通过一个通道注意力模块,得到加权结果之后,会再经过一个空间注意力模块,最终进行加权得到结果。

图3 卷积注意力模块结构Fig.3 Structure of convolutional block attention module

通道注意力模块结构如图4所示,其利用平均值池化和最大值池化将输入特征在空间上进行压缩得到2个不同的空间信息描述符,再输入到多层感知机中压缩输入特征图的空间维度,逐元素求和合并得到通道注意力特征图。

(4)协作程度(体现为设计方案的链长)与方案的平均质量之间有正向关系,但高分方案的链长与方案数量呈近似正态分布。

图4 通道注意力模块Fig.4 Channel attention module

空间注意力模块结构如图5所示,其对通道注意力特征图的通道进行压缩,在通道维度上分别进行了平均值池化和最大值池化,再将所得到的特征图合并得到空间注意力特征图。

图5 空间注意力模块Fig.5 Spatial attention module

1.1.3 引入卷积注意力模块的轻量双流特征提取模块的网络结构

双流特征提取模块的网络结构见表1。表中L为输入数据通道数,空间流中L=30,时间流中L=20;重复次数表示该模块在网络中堆叠个数。

1.2 引入Bi-LSTM的特征融合模块

由于传统双流结构提取的时空特征仅在最后的Softmax层进行融合,没有充分考虑时空特征时序连续性[16]。因此,在特征融合模块中引入Bi-LSTM强化时空特征关联性与时序性。Bi-LSTM的核心在于引入了可控自循环[17],以产生让梯度能够得以长时间可持续流动的路径,克服长序列模型训练过程中的梯度消失和梯度爆炸问题[18]。由于运动特征是具有时序性的人员行为信息,而在Bi-LSTM中,当前时刻的输入同时依赖前后的视频帧,充分考虑视频帧的时序信息[19],因此考虑将双流网络提取的时空特征作为Bi-LSTM网络的输入特征。Bi-LSTM网络结构如图6所示。

图6 Bi-LSTM网络结构Fig.6 Network structure of Bi-LSTM

ht=f(w1xt+w2ht-1+b1)

(1)

(2)

(3)

式中Ot为Bi-LSTM的输出特征向量;b1,b2为前馈层和反馈层的网络偏置,f()为tanh函数,g()为Sigmoid函数。Bi-LSTM通过同时对前向和后向LSTM单元信息的更新,输出不同时刻的时空融合特征向量,最后将该特征输入到注意力机制模块中。

1.3 引入注意力机制的行为分类模块

注意力机制模仿人类视觉系统中大脑处理信号的机制,通常被运用在图像处理和自然语言处理领域。注意力机制通过网络中不同时刻Bi-LSTM网络输出的特征向量动态分配权重,对识别结果有利的帧赋予更高的权重,提高识别的准确率[20]。利用Bi-LSTM网络可以提取到视频中的行为特征,但是当视频较长时,提取到的行为特征中会包含大量冗余信息,关键信息会被淹没,这会对后续的行为识别的准确度产生影响。注意力机制结构如图7所示。

图7 注意力机制结构Fig.7 Attention mechanism structure

图7中Ot为Bi-LSTM网络输出的第t个特征向量;St为第t个隐藏层的输出Ot在所有视频帧中所占的分值;αt为权重系数,表示各个时刻的注意力概率分布值。计算公式如下

St=tanh(wtOt+bt)

(4)

(5)

(6)

式中wt和bt分别为权重和偏置;tanh()为非线性激活函数。γ为包含特征信息的特征向量,经Softmax分类函数后可以得到行为识别结果。

2 数据集构建与模型训练

2.1 数据集构建

实验数据使用UCF-101数据集和自建建筑工地施工人员数据集进行不安全行为识别。UCF-101视频数据集是在行为识别领域被广泛使用的公开数据集,主要来源于YouTube视频平台,类别包括人与物的互动、人与人的互动、人员动作、乐器运动和体育运动,共计101种行为类别。UCF-101数据集不仅包含多种行为类别,还包含各种的复杂背景,存在光线不足和相机晃动等问题,对于模型的鲁棒性有较高要求[21]。自建建筑施工人员数据集主要来源于在某建筑工地实拍的施工人员行为视频,类别主要分为正常行为和危险行为,正常行为包括正常行走、搬运物品、使用推车、驾驶车辆、搭建脚手架、清理工地、施工作业7类行为,危险行为包括攀爬高处、翻越围栏、快速奔跑、抛掷物品、打闹推搡、意外摔倒和使用手机7类行为,正常行为和危险行为共计14种[22]。所提模型只考虑正常施工环境,对于人员密集场所不做考虑。如图8所示,自建数据集在稀疏场景下进行数据采集,采集时人员佩戴安全帽,身穿反光背心。

图8 自建数据集示例Fig.8 Examples of self-built data set

实验所用数据集具体参数见表2。

表2 实验所用数据集参数

实验所需数据集需要进行预处理,数据集划分以及数据采样后才可用于模型训练。实验首先对数据集进行预处理,主要分为3步:①将每段视频依据25 fps的帧率进行采集,获得多帧RGB图像;②基于OpenCV视觉库中的稠密光流帧提取方法,分别提取视频中水平和垂直方向上的光流帧;③通过随机采样的方式对数据采样[23],将视频帧序列共分为十段,每段随机取一帧RGB图像帧与光流帧,10帧为一组,并将图像帧的大小裁剪为244×244。因此,空间流数据的输入大小为244×244×30,时间流数据的输入大小为244×244×20。

2.2 模型训练

实验基于PyTorch深度学习框架搭建模型,具体实验环境为:Intel i7-8700处理器、NVIDIA GTX 2080 Ti显卡和16G运行内存。模型采用交叉熵函数作为损失函数进行训练,用于衡量训练后样本分类结果与训练样本标签的相似度。模型训练采用自适应矩估计(Adam)方法,实现损失函数收敛到最小值。Adam方法特点在于自适应调整学习率,适合大规模数据及参数场景,实现简单,计算高效,对内存需求少。实验采用迁移学习方法,首先基于UCF101数据集进行模型训练,训练完成后固定部分模型参数,利用自建建筑施工人员行为数据集进行训练,获得最终实验结果。实验的训练超参数设置见表3。

表3 模型超参数设置

初始学习率用于限制初始时梯度更新时的步长,通常设置为0.001;批量大小受GPU内存限制,当大小为8时能够在内存不溢出的情况下最大化提高模型训练效率;一阶矩估计指数衰减率用于控制动量与当前梯度的权重分配,通常取接近于1的值,默认为0.9。二阶矩估计指数衰减率用于控制梯度平方的对动量的影响,默认为0.999。Epsilon参数是增加数值计算的稳定性而加到分母里的常数,避免除数为0,默认为1.0×10-8。

图9为所提模型在对UCF-101数据集训练过程中的损失函数曲线与测试集识别准确率变化曲线。从图中可以看出随训练轮数增加,每轮的平均损失函数与平均准确率趋于稳定,最终损失值下降到0.1左右,测试集识别准确率最高可达94.3%,由此可以分析出所提模型的训练结果比较理想,具有较高的识别准确率。

图9 模型训练中损失与准确率变化Fig.9 Changes of loss and accuracy in model training

模型利用迁移学习方法在自建建筑工地数据集上进行二次训练,固定双流特征提取网络中Flatten层及之前的网络参数,并对其余网络参数进行训练,最终在测试集上得到最高识别准确率为94.8%。模型通过在UCF-101数据集上的训练已经具有较高的识别准确率,并且由于自建数据集数据量较少,场景相对单一,行为类别相对较少,因此在自建数据集上具有更高的识别准确率。

2.3 模型评价指标

考虑到所设计的模型主要应用于边缘设备,因此,除了识别准确率之外,模型的计算复杂度和模型参数量也成为评估模型的主要指标,需要对模型的计算量与大小进行评估[24]。模型的计算复杂度使用累加乘积操作次数作为衡量标准,利用模型所包含乘法操作与加法操作次数来表征。模型的大小通常利用模型的参数量来表示,直接决定模型文件的大小,也影响模型推断时对内存的占用量。模型准确率通过统计正确识别行为类别样本占总分类样本的比例来表征。模型性能评价指标见表4。

表4 模型性能评价指标

其中,Ci,Co为输入、输出特征通道数;Hk,Wk为卷积核大小;H,W为输入特征图的大小;TP为将正类预测为正类数;TN为将负类预测为负类数;FP将负类预测为正类数;FN为将正类预测为负类数。

3 模型对比实验

3.1 CNN模型的双流结构模型性能对比实验

为了验证不同方法的性能指标,对多种方法进行实验。实验选取多种经典双流CNN结构作为特征提取网络,分别计算其模型复杂度模型参数量和识别准确率。由于UCF-101数据集样本较多,同一行为涵盖多种场景,对模型鲁棒性要求较高,因此实验利用该数据集进行不同算法的对比,实验结果见表5。

由表5可以看出,利用ResNet作为特征提取骨干网络的双流CNN网络参数量较大,行为识别率也不高,性能表现不佳。利用VGG16提取双流特征的方法可以较大的提升识别准确率,但是模型参数量与计算量均较高。所提模型在UCF101上的识别准确率较高,可达94.3%,计算复杂度为7.79 G,模型参数量为5.38 M,通过对比可以看出,该模型的计算复杂度和参数量均最小,相较于传统双流识别方法具有较大的优势,综合性能更好。

表5 CNN模型的双流结构模型性能对比

3.2 轻量级CNN模型的双流结构模型性能对比实验

为了验证模型所引入轻量化结构的对模型性能的影响,选取多种经典的轻量级模型结构引入双流CNN网络并在UCF101数据集上进行实验对比,实验结果见表6。

表6 轻量级CNN模型的双流结构模型性能对比

由表6可以看出,ShuffleNetV2虽然模型复杂度最高,但模型参数相对较少,而且具有最高的识别准确率。因此,选取双流CNN-ShuffleNetV2轻量化模型作为双流CNN网络的特征提取网络。

3.3 消融实验

3.3.1 卷积注意力模块引入前后性能对比

为了验证卷积注意力模块对模型性能的影响,使用双流CNN-ShuffleNetV2模型作为参照模型在UCF101数据集上进行实验对比,对应表7中基准模型1,实验结果见表7。

表7 卷积注意力模块引入前后模型性能对比

由表7可以看出,在引入CBAM后模型计算复杂度与模型参数量虽均有较小提高,但模型识别准确率有较大提升。实验结果表明,CBAM的引入以模型参数量与计算复杂度较小幅度的增加换取了识别准确率0.4%的提升,可满足文中模型设计的需求,因此,文中将CBAM引入该模型以提高模型识别准确率。

3.3.2 LSTM,Bi-LSTM引入前后性能对比

为了验证LSTM与Bi-LSTM引入后对网络性能的影响,以表7中基准模型1+CBAM作为实验对比的参照模型在UCF101数据集上进行实验对比,对应表8中的基准模型2,实验结果见表8。

由表8可以看出,将LSTM与Bi-LSTM引入模型后,模型的计算复杂度没有变化,模型参数量变化较小,但模型的识别准确率有较大的提升,说明引入Bi-LSTM模型后的识别准确率比引入LSTM的高0.3%,表明Bi-LSTM结构对于长时序列的双流特征融合具有更好的表现。

3.3.3 注意力机制引入前后性能对比

为了验证注意力机制引入后对网络性能的影响,文中使用以基准模型2+Bi-LSTM作为实验对比的参照模型在UCF101数据集上进行实验对比,对应表9中的基准模型3,实验结果见表9。

实验结果表明,引入注意力机制后,模型计算复杂度与模型参数不变,而模型的识别准确率提升0.2%。

4 结 论

1)采用高效轻量化网络结构ShuffleNetV2替代传统CNN能够大幅降低模型计算复杂度和模型参数量,且在UCF-101数据集上行为识别准确率可达93.1%,相较传统双流CNN综合性能更优,相比其他轻量级双流CNN具有最高的识别准确率,适合部署在边缘设备上。

2)为提高识别准确率,模型引入卷积注意力模块,以较小的计算复杂度和模型参数量增加为代价,使得识别准确率提升0.4%。模型针对行为的长时序性引入Bi-LSTM增强时空特征关联性,使得识别准确率提升0.6%。模型引入注意力机制自适应分配行为权重,使得识别准确率提升0.2%。

3)所提模型与传统的双流CNN网络相比具有更低的计算复杂度和更小的模型参数量,累加乘积操作次数为7.73 G,参数量为5.38 M,且行为识别率较高,在UCF101数据集和自建数据集上可达94.3%,94.8%,适合在边缘设备上部署和运行。

猜你喜欢
双流复杂度注意力
方一帆
现代艺术(2025年1期)2025-03-07 00:00:00
四川省成都市双流区东升迎春小学
中小学校长(2022年7期)2022-08-19 01:36:36
让注意力“飞”回来
双流板坯侧面鼓肚与边角挂钢原因与对策
冶金设备(2020年2期)2020-12-28 00:15:22
四川省成都双流中学实验学校
一种低复杂度的惯性/GNSS矢量深组合方法
“扬眼”APP:让注意力“变现”
传媒评论(2017年3期)2017-06-13 09:18:10
求图上广探树的时间复杂度
A Beautiful Way Of Looking At Things
某雷达导51 头中心控制软件圈复杂度分析与改进