APP下载

基于改进双流网络的周期性挥手识别

2023-03-06妍,杨

物联网技术 2023年2期
关键词:光流双流周期性

李 妍,杨 硕

(沈阳化工大学 计算机科学与技术学院,辽宁 沈阳 110020)

0 引 言

近年来,随着人工智能的发展,智能家居进入迅猛发展时期。在这样的大环境中,使用手势控制家电逐渐成为潮流。本文提出在手势中取一种特殊的手势,即周期性挥手动作来控制家电。周期性挥手相对于其他在家居环境下的手势有如下优势:

(1)在家居环境中,人手往往只是环境中的一小片区域,挥动的双手在静态背景下更容易被摄像头检测到;

(2)挥手具有周期性特征,相对于其他手势特征更为明显,不容易产生歧义,不容易存在误触的情况;

(3)挥手作为人的常用动作,更为方便。

周期性挥手动作识别属于动态手势识别的特殊方向。目前常见的基于视觉的手势识别主要有基于手部轮廓、基于肤色模型、基于多特征融合等。基于美国CMU Perceptual Computing Lab[1]开源的手部关键点模型能够快速定位手部位置;李元[2]等人通过结合关键点模型和肤色模型对手势进行识别;朱兆松[3]等人使用改进的SURF(Speeded-Up Robust Features)算法对目标区域和人手手形进行模板匹配,从而完成对视频的分类;Zhou K[4]等人将肤色分割法与SVM(Support Vector Machine)分类器相结合,对手势进行识别。但是受到背景、光照等的影响干扰较大,效果稍显不足。随着深度学习的发展,神经网络也被用于对手势进行分类。Cai[5]等人在手部姿态估计中引入了图卷积神经网络,通过学习时间及空间信息,对多个数据集进行了较好识别。崔虎[6]等人提出了一种基于异步多时域网络模型的动态手势识别方法。王粉花[7]等提出了一种I3D双流三维网络(Two-Stream Inflated 3D ConvNets)和CBAM(Convolutional Block Attention Module)注意力机制融合的动态手势识别方法CBAM-I3D,对动态手势识别的识别率达到了 90.76%,正确率有所提高。但以上方法均未对周期性挥手动作进行专门识别。

基于以上方法,本文提出了一种传统方法,即背景消除建模方法与双流卷积网络相结合的周期性挥手识别算法。为减轻背景干扰,采用背景消除建模这一传统方法将运动前景提取出来。双流卷积网络可以将空间流信息网络和时间流信息网络按一定的方法融合,进行分类。本文提出使用具有更深网络层次的ResNet-18来代替其主干网络,时间流和空间流的融合也选择了更佳的融合方式,以求达到更高准确率。算法总流程如图1所示。

图1 算法总流程

1 视频预处理

1.1 背景消除建模

为降低背景的干扰,提高检测精度,本文首先对视频中的运动目标进行了跟踪和检测,采用的方法是背景消除建模。背景消除建模是将视频原来的背景与当前视频帧进行比较做差值,将所获图像二值化,使背景变为全黑,前景为全白。由于人挥手时身体基本不动,所以身体也被视为背景,只有挥动的双手作为前景图像被提取出来。

背景消除建模有两种代表性算法,一种是图像分割,即GMM[8]高斯混合模型,另一种是KNN-K最近邻算法。GMM高斯混合模型将图像分为3~5个高斯模型,计算一个像素点与其他任何一个高斯模型的距离,若大于其2倍的标准差,则被视为前景运动物体;K最近邻分类算法是指在特征空间中,如果一个样本的K个最相邻样本中的大多数属于某一个类别,则该样本也属于该类别,即每个样本可以由最接近的K个相邻样本代表,同时具备此类样本的特性。由于本文所用数据集类域的重叠较多,所以使用K最近邻分类算法。

K最近邻分类算法计算空间中的两点使用欧式距离。在二维空间,两点的欧氏距离用公式表示为:

拓展到多维空间,公式变为:

通过将预测点与所有点之间的距离进行计算并排序,选出前K个值较多的类别,然后通过交叉验证选择合适的K值,最后生成前景图像。

1.2 Horn-Schunck光流法

单纯的连续帧不能很好地判断运动信息,于是将视频转化为光流图像。光流图像是由光流法提取的,光流法是目前研究物体运动的重要方法,它是指时变图像中各像素点的瞬时运动速度,可以对运动目标图像进行动态分析。

本文使用Horn-Schunck光流算法[9]提取光流图像,HS算法求的是稠密光流,需要对每一个像素都计算光流值。算法基于两种假设,第一是灰度不变假设,即不论物体是否运动,它在同一个点的图像灰度均不会发生变化;第二是平滑光流场假设,总体图像的光流场应该是平滑的。算法给定图像序列I(x,y,t),u表示水平流,v表示垂流,HS光流法通过最小化能量函数求解光流场问题。能量函数定义为:

式中:Ix,Iy,It为图像对x,y,t的导数;(Ixu+Iyv+It)是灰度变化因子;α2(‖∇u‖2+‖∇v‖2)是光滑因子。光流场问题的求解转化为求最小值的问题。

图2所示是视频预处理后的图像。

图2 视频预处理后的图像

2 双流卷积网络

2.1 传统双流卷积网络模型

通过视频进行行为识别,需要通过静止帧提取空间和帧间运动信息。双流卷积网络通过独立使用静态图像帧和帧间密集光流进行识别后的结果融合。通过多任务学习,结合时空信息的同时又提高了网络性能。

双流卷积网络的结构分为时间流卷积网络(Temporal Stream ConvNet)和空间流卷积网络(Spatial Stream ConvNet)。空间流输入的数据是单张静态图像,它表示每个帧的画面,描述了目标与背景的空间分布信息以及单个帧的运动信息。时间流输入的数据是多帧密集光流,多帧密集光流是多个相邻帧之间的光流位移场,描述了帧间的运动信息。空间流网络和时间流网络均由5个卷积层、2个全连接层和一层softmax组成,最后将2个网络的softmax输出进行融合后分类。

2.2 残差网络

为获取更多特征信息,本文使用网络层次更深的ResNet-18[10]网络作为基本网络。但是一味增加网络层数可能会造成更高的训练误差,即网络退化。残差神经网络的优势在于引入了恒等映射,由层数过高产生的退化问题通过计算残差解决。加入残差网络能够训练更深层次的网络。

在残差网络中,输入x,经过2个卷积层后,输出H(x)=F(x)+x,在通过捷径连接(Shortcut Connections)和第二个ReLU激活函数后,获得输出:

式中:w为权重参数;F(x,w)为非线性残差映射。残差学习模块如图3所示。

图3 残差学习模块

2.3 模型融合

将ResNet-18网络与双流卷积网络结合,在提取RGB图像和光流图像后分别采用ResNet-18网络提取空间特征和时间特征。以RGB图像作为空间流网络的输入信息,用ResNet-18网络提取人手的空间特征;同时以双手挥舞的光流图作为时间流网络的输入信息,用ResNet-18网络提取挥手的时间特征。图4表示融合后的双流卷积网络,图5是ResNet-18网络结构。

图4 双流卷积网络

图5 ResNet-18网络结构

原始的双流卷积网络在时间流和空间流融合时多采用求和融合,而本文通过对比以下几个不同的融合方式,选择了卷积融合方式,准确率相比较其他融合方式略有提高。第一种是相加融合方式,即融合结果由通道数一致的特征图1和特征图2中对应点的像素值相加得到,这种方法用公式表示为:

式中:y1(i,j,d)表示图像1在i,j空间点的像素值;y2(i,j,d)表示图像2在i,j空间点的像素值;d表示通道数。第二种方式是最大值融合方式,即融合结果取自通道数一致的特征图1和特征图2中对应点像素值的最大值,这种方法用公式表示为:

第三种是加权平均融合方式,即融合结果由通道数一致的特征图1和特征图2中对应点的像素值加权平均得到,这种方式用公式表示为:

式中:ω1,ω2分别表示图像1和图像2的加权系数,当二者均为0.5时,加权平均融合就变成平均融合。最后一种方式是卷积融合方式,它是指先将通道数一致的特征图1和特征图2在同一位置进行堆叠,然后使用D个维度的卷积核对堆叠结果进行卷积,最后加上偏置,这种方式可以用公式表示为:

式中:f表示卷积核;b表示D维度的偏置;ycat表示堆叠后的结果。经过卷积核卷积后,融合后的特征图维度重新变为D。

3 实 验

3.1 数据集

本文使用的数据集分为两部分,一部分是完成至少一个周期的挥手动作的数据集,来自KTH数据库,视频FPS均为25,包含同一个人在近处、远处等4个不同环境中的挥手动作。另一部分数据集来自florence3d_actions数据集,本文选取了与手部抬起动作有关的视频作为负样本。这些动作由于并未完成一个周期的挥手动作,可以与前一个数据集作对照。数据集共二百个视频,将这些视频先通过背景消除建模输出前景,再生成RGB图像与光流图像,图像共四千张,分辨率为1 000×750,输入到双流卷积网络中,训练集从中随机选取70%,测试集选取20%,验证集选取10%。

3.2 实验环境

本文的实验环境为:Windows 10 操作系统;CPU:AMD Ryzen 5 4600H;GPU:GTX 1650Ti Super;内存:16 GB。

背景消除建模算法由OpenCV(3.4.11)和Visual Studio 2017完成,交叉验证后选取K为3。双流卷积网络使用Python语言完成,使用SGD优化器。RGB图像和光流图像制作由MATLAB 2018a使用Image Processing Toolbox工具箱完成。初始学习率设置为0.001,动量值设置为0.95,学习率每30轮衰减0.1,批次大小为4,epoch设置为500。损失函数为交叉熵损失函数:

式中,p(x)和q(x)分别表示真实概率分布和预测概率分布。

3.3 结果对比与分析

经过实验,本文将用3个指标对性能进行评估,分别是精确率(Precision)、召回率(Recall)和准确率(Accuracy)。

计算公式分别为:

式中:TP表示将周期性挥手预测为周期性挥手的数量;FN表示将周期性挥手预测为非周期性挥手的数量;FP表示将非周期性挥手预测为周期性挥手的数量;TN表示将非周期性挥手预测为非周期性挥手的数量。

3.3.1 模型性能对比

本文对比了数据集在原始双流卷积网络、结合传统方法的双流卷积网络以及使用ResNet-18结构的双流卷积网络的结果,具体对比见表1所列。由表1可以发现,通过不断改进,对周期性挥手识别的准确率也在不断提高。传统方法的加入使目标前景被提取出来,ResNet-18网络的加入使模型具有更深层次的网络结构,恰当的时空双流融合方式提高了识别准确率。

表1 模型性能对比 %

3.3.2 背景消除建模算法对准确率的影响

由于人所处的位置可能会受到光照条件等的影响,本文使用背景消除建模算法。背景消除建模算法将没有发生运动的背景变为黑色,减轻了背景对识别的影响,使得空间流和时间流的识别准确率有所上升。表2所列表示背景消除建模算法对结果的影响。

表2 背景消除建模算法对准确率的影响 %

3.3.3 不同时空双流融合方式对性能的影响

表3所列表示不同时空双流融合方式对周期性挥手识别的影响。

表3 融合方式对比 %

从表3可以看出,使用卷积融合方式的效果最好,卷积融合方式将时空双流特征融合的同时保持了图像维度的不变性,相较于简单的加法运算、取最大运算以及平均运算,能够使图像特征实现更好融合。

3.3.4 与已有算法对比

将本文使用算法与已有算法进行对比,对于周期性挥手识别的准确率见表4所列。

表4 与已有算法对比 %

由表4可知,本文提出的周期性挥手识别算法模型相比之前已有算法的识别准确率略有提升,本算法先排除了背景的干扰,再加上使用卷积融合的时空双流融合方式进行分类,相比3D卷积网络和传统方法识别准确率均有不同程度的提升。而且因为非周期性挥手数据集的加入,使得周期性挥手和非周期性挥手的识别得以分开。

4 结 语

本文构建了一种基于传统方法结合双流卷积网络的周期性挥手识别算法,该算法通过传统方法提取前景,加深网络层次,相较于原始的双流卷积网络识别准确率略有所上升,为家居环境的周期性挥手识别提供了一种较完善的算法。但由于数据集较小,并没有使用更深层次的ResNet-50等,相信使用更高的网络层次会得到更高的精确度。

猜你喜欢

光流双流周期性
利用掩膜和单应矩阵提高LK光流追踪效果
四川省成都市双流区东升迎春小学
双流板坯侧面鼓肚与边角挂钢原因与对策
双流机场一次低能见度天气过程分析
四川省成都双流中学实验学校
数列中的周期性和模周期性
基于物理学的改善粒子图像测速稳健光流方法研究
一类整数递推数列的周期性
基于扩频码周期性的单通道直扩通信半盲分离抗干扰算法
融合光流速度场与背景差分的自适应背景更新方法