虚拟现实交互游戏中的手势识别

2019-06-27 10:36陈立李颖昉刘志远王礼华王艳柏
科技创新与应用 2019年20期
关键词:卷积神经网络虚拟现实

陈立 李颖昉 刘志远 王礼华 王艳柏

摘 要:随着虚拟现实技术的发展和手势识别技术的不断提升,人们对自然交互的方式不断提出迫切需求。对于交互体验的游戏而言,尤为突出。此前的研究主要利用普通摄像头采集图像,获取手势的运动形态及像素信息,无法获得具有深度信息手势的三维特征。随着Leap Motion等深度传感器的出现,更多的深度信息可以被获取,为识别复杂的手势提供了可靠的数据保障。文章使用一种基于深度经网络的游戏交互手势识别系统,与以往的方法相比,具有更好的性能。

关键词:虚拟现实;手势识别;卷积神经网络

中圖分类号:TP393 文献标志码:A 文章编号:2095-2945(2019)20-0022-03

Abstract: With the development of virtual reality technology and the continuous improvement of gesture recognition technology, people continue to put forward an urgent need for the way of natural interaction. For interactive experience of the game, especially prominent. Previous studies mainly used ordinary cameras to collect images to obtain the motion form and pixel information of gestures, but could not obtain the three-dimensional features of gestures with depth information. With the emergence of depth sensors such as Leap Motion, more depth information can be obtained, which provides a reliable data guarantee for the recognition of complex gestures. In this paper, a game interactive gesture recognition system based on depth neural network is used, which has better performance than the previous methods.

Keywords: virtual reality; gesture recognition; convolution neural network

引言

近年来,在人机交互、机器人学、计算机游戏等众多的领域中[1,2],手势识别[3,4]吸引了越来越多学者的研究兴趣。其中,人机交互从最初的简单通过二维图像界面交互发展到了更为直观的自然手势或姿态的交互。Leap Motion等深度传感器的出现,可以获取更多的深度信息,为识别复杂的手势提供了可靠的数据保障。本文使用深度神经网络处理交互游戏中的手势识别,经实验,有良好的性能。

1 深度传感器Leap Motion

Leap Motion通过双目视觉以及红外摄像头,来获取每一帧的手部几何数据,将数据绑定模型中的手部骨骼,在虚拟场景中呈现虚拟手。Leap Motion以图像中的数据帧作为采集的基本单位,将识别到的几何信息封装在一个Frame实例中。表1中列出了其中的数据类型和意义。

Leap Motion采集到的数据格式为一组基于时间的序列信息,记录的是每个时刻下的序列元素,包含了手势位移变化、手势角度变化、手型弯曲变化和手指变化四个特征维度的数据集合。本文通过设定手势采集起始点和结束点的阈值,解决采集判断问题,定义动态手势的语义及手势特征并进行分解提取和存储。最后,通过对提取的数据进行归一化处理,以降低后续模型训练的计算成本。

2 手势识别

基于视觉的手势识别通常分为:手势检测与分割、手势建模和手势识别三个阶段。通常根据图像信息之间的向量差,或根据手部信息比如肤色、手型轮廓等来做检测或者分割。手势建模则是基于图像的信息向量序列进行模型分析,比如手部轮廓、向量特征、区域直方图或运动向量轨迹特征等。手势识别是通过对手势区域进行分割后对图像进行特征值提取,再对手势进行建模,可将参数空间中的动态点集合映照到该片区域中的里某些子集里。一般的手势识别过程如图1所示。

有许多国内外学者开展了手势识别的相关研究。如:Zhou和Du[5]比较了人类动物情感机器人触摸数据集(HAART)中手势识别的各种深度学习算法的性能,包括二维CNN、三维CNN和LSTMS,比较了GM LSTMS、LRCNS和3D CNN在社交触摸手势识别任务中的表现。其所提出的3D CNN方法的识别精度达到76.1%,明显优于其它算法。文中卷积层为4层,每层卷积核的数目分别为16-32-64-128。与8-16-32-64和32-64-128-256相比,3D CNN获得了最佳性能。Jung等人[6]应用了4种不同的方法和54种特征,如平均和最大压力、压力变异性、每行和每列的平均压力、每帧的接触面积,使用留一交叉验证用来评估算法的性能。其中分类准确率分别为,Bayesian分类器采用前馈网络训练60%,支持向量机(SVM)57%(SD=11%),决策树算法48%。

3 卷积神经网络(CNN)

受Hubel和Wiesel对猫视觉皮层电生理研究启发,有人提出卷积神经网络(CNN),其在手写数字识别领域,一直保持领先。最近,卷积神经网络在多个方向持续发力,在语音识别、人脸识别、通用物体识别、运动分析、自然语言处理甚至脑电波分析方面均有突破。卷积神经网络通常包含卷积层、线性整流层、池化层和分类层。

3.1 卷积层

卷积层由若干卷积单元组成,每个卷积单元的参数都是通过反向传播算法优化得到的。卷积运算的目的是提取输入的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更多层的网络能从低级特征中迭代提取更复杂的特征。每个卷积操作都由步幅、卷积核大小和零填充指定。步幅是一个正整数,它决定了滑动步幅。在同一卷积运算中使用的所有卷积核上,卷积核大小必须是固定的。零填充主要是为了在输入矩阵的边缘包含数据。在没有零填充的情况下,卷积输出的大小比输入的小。因此,网络大小通过具有多个卷积层而缩小,这限制了网络中卷积层的数量。而零填充可以防止网络的收缩,并在网络体系结构中提供无限的深层结构。

3.2 线性整流层

使用非线性单元的主要目的是调节或切断产生的输出。CNN中有几种非线性函数,校正线性单元(ReLU)是应用于各种领域的最常见的非线性单元之一。

3.3 池化层

池化层的引入,主要是为了减少输入的维度。常用的如Max Pooling,是一个广泛的和有希望的方法,因为它提供了显著的结果,通常可降低输入尺寸大小的75%。

3.4 分类层

SoftMax层是证明分类分布的一种很好的方法,主要用于输出层,是输出值的标准化指数[7]。这个函数是可微的,表示输出的一定概率。此外,指数元素增加了最大值概率。

4 本文方法

本文使用CNN和传感器数据对游戏交互手势进行分类识别,具体实现画圆、画叉、向左划、向右划、向上划、向下划、向前划和向后划8种手势的分类。其中,主要的困难在于找不到一个最佳的CNN架构。为此,本文首先定义网络的输入和输出结构,具体结构见表2。LeapMotion以超过每秒200帧的速度追踪手部移动,每个样本都是一个640×240的矩阵。本文采集实验了5~50帧数的数据,为有效实现,输入帧数固定为25,并对具有短帧的样本使用零填充。网络输入(640×240×25)为CNN提供了一个巨大的输入

量,并且计算成本很高。因此使用固定长度分割样本,将每个样本划分为子样本。当帧数不能完全被给定的子样本长度整除时,对于帧数小于给定子样本的用零填充。该方法具有以下优点:

(1)训练神经网络的样本数量增加,具体数量由帧长度决定。帧长度短的表示附加的子样本信息较少,反之亦然。

(2)从主样本的一部分获得了子样本。

(3)在接收到固定帧数的数据后识别手势。

本文使用传感器中的输出数据作为计算分类,具有8个类的SoftMax函数是方法的输出。在CNN中,卷积阶段的输出特征图数量等于使用的卷积核数量。因此,在卷积层中使用的卷积核的增加会导致输出特征映射的增加。通过输入通道增加,从而增加卷积运算,如前所述,卷积运算的计算成本很高。

5 结论

对于交互手势的分类识别,本文方法使用Python语言实现,Jupyter NoteBook作为开发环境,深度学习框架使用Keras和TensorFlow。轮数为50,批量大小为250,简单随机梯度下降(SGD)作为学习函数;动量项为0.9,学习率分别为1、0.5、0.1、0.05和0.001。在每10个周期中,通过前一批数据搜索一个新的学习率,并选择损失最小的学习。并在算法中进行了二次采样,产生了更多的训练数据,提高了正确的分类率,表3为本文方法的识别率。该方法不需要数据预处理或人工特征提取,可以端到端應用。其次,可以在接收到少量的传感器数据后识别分类。

参考文献:

[1]Kumar S, Singh S K, Singh R, et al. Deep Learning Framework for Recognition of Cattle Using Muzzle Point Image Pattern[J]. Measurement, 2017,116.

[2]Yawei Hou, Huailin Zhao. Handwritten Digit Recognition Based on Depth Neural Network[C]. ICIIBMS 2017-2nd International Conference on Intelligent Informatics and Biomedical Sciences , Nov.24-26,2017, Okinawa, Japan. P35-38.

[3]Tian C, Liu J, Peng Z M. Acceleration Strategies for Speech Recognition Based on Deep Neural Networks[J]. Applied Mechanics & Materials, 2014,556-562:5181-5185.

[4]Zhang Q , Yang L T , Chen Z , et al. A survey on deep learning for big data[J]. Information Fusion, 2018,42:146-157.

[5]N. Zhou and J. Du, "Recognition of social touch gestures using 3D convolutional neural networks," in Proceedings of Chinese Conference on Pattern Recognition, November 2016,Changsha,China, pp. 164-173.

[6]M. M. Jung, M. Poel, R. Poppe, and D. K. Heylen, "Automatic recognition of touch gestures in the corpus of social touch,"Journal on Multimodal User Interfaces, 2017, vol. 11, no. 1,pp. 81-96.

[7]Nnhacks,https://nnhacks.github.io/A_Simple_Introduction_to_Soft

max_Function.html, 2017.

猜你喜欢
卷积神经网络虚拟现实
虚拟现实,让学习更“沉浸”
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现
基于卷积神经网络的树叶识别的算法的研究
虚拟现实LG 360 VR眼镜
View Master虚拟现实显示器