基于三维骨骼信息的动态手势识别

2021-06-28 06:59熊鹏文熊昆张宇余斯吉
南京信息工程大学学报 2021年3期
关键词:关键帧分类器手势

熊鹏文 熊昆 张宇 余斯吉

1 南昌大学 信息工程学院,南昌,330031

0 引言

随着社会的发展,传统的硬件输入设备已经无法满足人们对于人机交互的需要.手势识别作为人机交互的有效手段,成为当前研究的热点话题[1-2].手势识别的应用非常广泛,从手语识别到手势操控再到虚拟现实,它给人们提供了一种十分有效而且便利的人机交互方法.手势识别分为静态手势识别和动态手势识别.静态手势识别是指识别静止的手势图像,不具备时序性;动态手势由连续的手势序列组成,动态手势识别时需要克服其时空可变的特点.早期,基于视觉的动态手势识别方法是使用摄像头实现的[3-5].这些方法实现简单,但是容易受到光照等外界环境的影响,稳定性较差.近年来,各种低成本深度传感设备的发展给手势识别提供了新的机会.Tiwari 等[6]使用Kinect深度相机获取从0到9的人体深度图像,对手部轮廓进行离散余弦变换(DCT)处理得到符号数据集,再利用神经网络进行分类并识别,平均准确率达到83.5%.Sun等[7]介绍了基于Kinect和sEMG信号的手势识别方法.针对汽车内驾驶员的手势识别,Molchanov等[8]提出一种基于近程雷达、彩色摄像机和深度摄像机的手势识别系统,该系统对于不同光照情况下的手势识别都有较好的鲁棒性.Marin等[9]提出联合利用深度相机和Leap Motion传感器进行手势识别,两者相结合获取的最佳准确率为96.5%.Hakim等[10]收集深度摄像头和RGB摄像头的组合数据,实现了高精度的手势识别.

为了充分利用深度传感器获取的三维骨骼信息,本文提出了一种基于三维骨骼信息的动态手势识别方法.该方法先使用动态手势关键帧提取算法,从不同长度的动态手势中提取手势的关键部分;然后利用一组动态手势特征序列来有效表示动态手势的运动特征;最后通过提出的自适应融合算法用于融合多分类器的分类结果,避免了单独分类器效果的差异性,获取最优分类效果.

1 动态手势识别方法

基于三维骨骼信息的动态手势识别方法框架如图1所示,主要步骤包括数据预处理、特征提取和多分类器融合识别.该动态手势识别方法是基于三维骨骼信息的,输入为动态手势的三维关节坐标值.数据预处理包括动态手势的无效帧删除、手势关节长度的统一化和动态手势关键帧提取等步骤,目的是使输入的动态手势数据更加标准

图1 动态手势识别方法框架Fig.1 Framework of dynamic gesture recognition

化;特征提取是对预处理的动态手势数据进行空间特征和局部特征提取,减少冗余信息进而提高分类效果;多分类器融合识别是采用多个分类器对手势进行分类的方法减小单个分类器分类存在的偏差,并使用自适应融合算法对多个分类器分类结果进行自适应加权融合,得到最优的手势识别效果.

2 数据预处理

2.1 无效帧删除和关节长度统一化

动态手势具有复杂的时空可变性[11],同一用户和不同用户做同样的手势都存在不同的范围、幅度和速度的差异.另外,不同用户的手部大小与关节之间的长度也存在差异.为了减少手势无效帧对动态手势识别造成的影响,必须进行无效帧删除和关节长度统一化.

无效帧删除的关键在于动态手势序列起始帧与结束帧的标记,本文所使用的动态手势数据集已经对每个手势序列的起始帧与结束帧进行了有效标记,所以可以直接进行无效帧删除.针对手势骨骼坐标的个体差异性,需要对原始数据进行统一化处理.进行关节长度统一化可以有效提升动态手势识别准确率和识别方法泛化能力.本文采用Z-score方法进行统一化处理,将坐标转换到同一量级以消除不同个体之间的差异性.即

(1)

其中μ表示总体数据的平均值,δ表示总体数据的标准差.

2.2 关键帧提取

动态手势的时空可变性使得动态手势时间序列存在较大的差异性,手势序列的长度长短不一.经过无效帧删除之后,本文使用的动态手势数据集手势序列长度最小为7帧,最大为149帧.手势序列长度差异较大,仍然存在冗余信息.因此,本文提出了一种动态手势关键帧提取算法,对动态手势序列进行处理并提取指定数量的关键帧.具体描述如算法1所示.

2.3 特征提取

本文使用的动态手势数据集中的三维骨骼信息包含了手掌22个关节的坐标数据,如图2所示.利用这些坐标数据可以直接得到或者计算出动态手势的掌心位置、手指弯曲、手指间距离和手指间角度等局部特征,也可以计算得到手掌运动速度、手掌关节旋转等全局特征.

算法1.动态手势关键帧提取算法输入:数据集T= (x11,y11,z11),(x12,y12,z12),…,(x122,y122,z122) ,(x21,y21,z21),(x22,y22,z22),…,(x222,y222,z222) ,…, (xn1,yn1,zn1),(xn2,yn2,zn2),…,(xn22,yn22,zn22) 和提取的关键帧数量m.1)初始化提取的每帧信息间距tstep=n/m.2)对22个关节坐标分别计算(j=1,2,…,22):①初始化信息间距t=0.②计算关键帧数据,s=1,2,…,m-1:a.信息间距t的整数部分和小数部分分别表示为ti和tr;b.计算平均变化的骨骼关节信息;(xsj,ysj,zsj)=(xtij,ytij,ztij)+(xti+1j,yti+1j,zti+1j)-(xtij,ytij,ztij) ×tr;c.更新信息间距t=t+tstep.③加入手势结束帧(xmj,ymj,zmj)=(xnj,ynj,znj).输出:m帧T'= (x11,y11,z11),(x12,y12,z12),…,(x122,y122,z122) ,(x21,y21,z21),(x22,y22,z22),…,(x222,y222,z222) ,…, (xm1,ym1,zm1),(xm2,ym2,zm2),…,(xm22,ym22,zm22) .

图2 手部骨骼关节Fig.2 The joint diagram of hand skeleton

手掌平移的方向由手势相邻两帧之间手腕位置坐标连成的方向向量来确定.为了简化平移方向的表示,本文利用8个标准向量将平面空间平均分为8个方向,8个标准向量分别为[1,0,0]、[1,1,0]、[0,1,0]、[-1,1,0]、[-1,0,0]、[-1,-1,0]、[0,-1,0]、[1,-1,0],对应的8个方向分别用1~8的数字表示.分别计算平移方向向量与8个标准向量的夹角大小,夹角最小的标准向量方向表示为平移方向.即

(2)

其中:T表示平移方向向量;Ei表示标准向量,i=1,2,…,8;V表示平移方向.

手掌拇指与食指夹角角度可以通过计算拇指方向向量和食指方向向量得到,拇指方向向量由拇指关节3和5连接表示,食指方向向量由食指关节7和9连接表示.即

(3)

3 多分类器融合识别

3.1 基本分类器

原始骨骼信息经过数据预处理和特征提取以后输入多个基本分类器进行分类,再利用自适应融合算法对多个分类结果进行加权融合,得到最优分类结果.利用多个分类器进行分类可以充分利用不同特点的基本分类器,不仅可以避免单个分类器的偏差性问题,还可以提高分类算法的泛化能力,提高手势识别准确率.基本分类器选取原则是选取不同分类原理的分类器,以便更好地提高融合效果,增加手势分类泛化能力.本文选择的3个基本分类器分别为支持向量机(Support Vector Machine,SVM)、朴素贝叶斯(Naive Bayes,NB)和多层感知器(Multi-Layer Perception,MLP).

3.2 自适应融合算法

传统的融合算法采用人工设定多分类器的权重系数进行加权融合,容易受到经验的影响,降低分类效果.因此,本文提出一种自适应融合算法实现多分类器融合,可以根据不同分类器分类结果自动更新融合权重,有效减少了人为因素的干扰,获取最优识别结果,结构如图3所示.自适应融合算法的具体描述见算法2.

图3 自适应融合算法结构Fig.3 Structure of adaptive fusion algorithm

4 实验结果与分析

4.1 实验环境

本文实验运行环境为Intel(R) Core(TM) i5-6300HQ CPU @ 2.3GHz,运行内存8 GB,操作系统为Windows10(64位),主要识别模型由Python语言编写,使用的开发软件为PyCharm2019.本文采用的实验数据集为DHG-14/28动态手势数据集,该数据集共有抓握、按等14种手势类别,包括Fine型和Coarse型两大类.每种手势类别又可以根据执行方式细分为两类:使用一根手指和整只手.数据集中每种动态手势都由20位参与者按照上述两种方式执行5次,总共包括2 800个手势序列.

4.2 动态手势关键帧帧数选取

进行动态手势关键帧提取之前必须确定关键帧帧数,不同的关键帧数对于动态手势识别效果有不同的影响.因此,使用不同的关键帧数n进行实验对比,选择识别准确率最高的帧数进行进一步分类.如图4所示,在不同关键帧下不同种类手势的识别准确率出现了明显变化.实验结果表明,当关键帧数不断增加,识别准确率呈现下降趋势.当n=10时,对于数据集中28种手势分类准确率最高达到81.57%.

算法2.自适应融合算法输入:3个类别概率向量P1,P2,P3,分别代表3个基本分类器分类预测的类别概率向量.1)建立3个概率矩阵E1,E2,E3,分别代表3个基本分类器的分类预测概率矩阵;矩阵大小为M×N,M代表分类的动态手势样本总数,N代表动态手势类别总数.E1=a1,1…a1,N︙︙aM,1…aM,N, E2=b1,1…b1,N︙︙bM,1…bM,N, E3=c1,1…c1,N︙︙cM,1…cM,N.2)利用概率矩阵计算得出各分类器的类别权重向量w1,w2,w3:w1=w11,w12,…,w1N ,w2=w21,w22,…,w2N ,w3=w31,w32,…,w3N ,其中w1j,w2j,w3j分别代表3个分类器在类别j的类别权重,类别权重由下式可得:w1j=∑Mi=1∑Nk=1ai,k/(MN)∑Mi=1ai,j/M, w2j=∑Mi=1∑Nk=1bi,k/(MN)∑Mi=1bi,j/M, w2j=∑Mi=1∑Nk=1ci,k/(MN)∑Mi=1ci,j/M.3)计算标准化类别权重向量W1,W2,W3,即Wi=wiw1+w2+w3,i=1,2,3,其中向量之间的除法代表向量对于元素的除法.4)计算融合概率向量P,即P=W1×S1×P1+W2×S2×P2+W3×S3×P3,其中S1,S2,S3分别代表3个基本分类器的动态手势样本分类准确率,向量之间的乘法代表向量对于元素相乘.输出:最优分类结果F,即融合概率向量P中概率最大值对应的动态手势类别.

图4 14/28种不同手势在n个关键帧时的识别准确率Fig.4 Recognition accuracy of 14 (a) and 28 (b) gestures at n keyframes

因此,根据准确率的变化,可以确定本文中关键帧提取帧数选取为10帧.

4.3 多分类器融合对比

为了验证多分类融合识别方法可以有效减少单个分类器偏差性和增强手势识别泛化能力,本文在相同条件下对比了单个分类器与多分类器融合之间手势识别效果.

由图5可以看出,单分类器中SVM分类器效果优于MLP分类器和Bayes分类器,主要原因在于SVM是一种基于统计理论的分类方法,对于选取的各类手势特征数据有更好的分割效果.多分类器融合分类准确率普遍高于单分类器,说明多分类器融合分类可以减少偏差性,从而提高分类效果.

图5 单分类器与多分类器融合识别效果对比Fig.5 Comparison of 14 (a) and 28 (b) gestures recognition accuracy between single classifier and multi-classifier fusion

4.4 不同动态手势识别方法对比

为了验证本文提出的动态手势识别方法的有效性,将本文的方法与其他手工提取特征的方法进行了比较,得出的实验结果如表1所示.由表1可以看出,本文方法与文献[11]同样基于骨骼信息进行手势识别,但是分类性能平均增加5.19个百分点.实验结果表明,本文方法相比传统手工特征方法在Fine、Coarse和所有手势方面都实现了更高的识别准确率,其中14种手势识别准确率达到85.91%,28种手势识别准确率达到81.57%.

表1 实验结果比较

为了进一步说明本文提出的方法的性能,图6中显示了28种手势分类结果混淆矩阵.在矩阵当中,x轴代表分类结果,而y轴代表真实结果.序号1到28分别代表使用一根手指和整只手进行14种手势的28种结果,其中1和2分别代表使用一根手指和整只手进行的抓握动作,其他序号类似.由图6可以看出,序号1和7、2和8之间混淆最为严重,有27%的手势1被分类为手势7,33%的手势2被分类为手势8,在文献[12-14]中也存在类似结果,这说明抓握手势和捏手势运动特征较为相似导致难以分类.另外,文献[12-13]存在将向上滑动手势与展开手势混淆的现象,表明其对于手部展开的局部特征提取存在缺失.本文提出了手掌手指运动和拇指与食指夹角角度等特征,可以有效表示手部的局部运动.同时,由图6可以看出,本文提出的方法对于同一种手势不同执行方式之间的分类误差较小,这表明局部特征的表示可以避免一根手指和整只手两种执行方式之间的混淆.对于其他手势,结果显示没有较为严重的混淆现象,最终验证了本文所提出动态手势运动特征以及多分类器融合分类的有效性.

图6 28种手势分类混淆矩阵Fig.6 Confusion matrices of 28 gesture classification

5 结论

本文提出了一种基于三维骨骼信息的动态手势识别方法,该方法包含动态手势关键帧提取和多分类器自适应融合算法.动态手势关键帧提取可以有效提取出动态手势的关键部分,避免了动态手势信息的冗余.多分类器自适应融合算法可以充分利用多个基本分类器的信息,减少个体差异性,提高分类方法的泛化能力.实验结果表明,本文方法比现有的方法具有更好的性能,验证了本文所提出的动态手势识别方法的有效性.

猜你喜欢
关键帧分类器手势
少样本条件下基于K-最近邻及多分类器协同的样本扩增分类
基于图像熵和局部帧差分的关键帧提取方法
学贯中西(6):阐述ML分类器的工作流程
基于朴素Bayes组合的简易集成分类器①
挑战!神秘手势
基于误差预测模型的半自动2D转3D关键帧提取算法
基于AdaBoost算法的在线连续极限学习机集成算法
胜利的手势
基于计算机三维动画建模技术的中国皮影艺术新传承
运动图像关键帧快速跟踪系统的改进