一种基于增强现实的手势识别方法、系统及装置与流程

文档序号:18144613发布日期:2019-07-10 11:31阅读:145来源:国知局
一种基于增强现实的手势识别方法、系统及装置与流程
本申请涉及信息处理
技术领域
,特别是涉及一种基于增强现实的手势识别方法、系统及装置。
背景技术
:增强现实又称ar(augmentedreality,增强现实),随着人机交互技术的发展,增强现实作为一种提升现实和虚拟之间交互能力的技术,越来越受到人们的关注。目前的增强现实技术中,多数是基于数据手套等穿戴设备或者利用手势识别传感器来完成真实手和虚拟场景的融合。因此,如何在增强现实技术中进行手势识别,是个重要问题。目前,比较常用的一种手势识别方法是基于几何特征的手势识别方法。具体地,该方法主要是针对训练样本集中的测试对象,对每个测试对象的对手势的边缘和手势区域特征进行识别,提取出手势图像的边缘,把图像的边缘看成一条曲线,然后对曲线进行处理,从而确定手势识别的模型,然后根据该识别模型对测试集中的手势进行识别。然而,目前的手势识别方法中,由于该方法所需要的训练样本比较复杂或者训练样本集比较大,导致计算速度较低,使得手势识别的实时性较低。而且,由于在基于几何特征的手势识别的方法中,根据需要首先采用局部平均法对图像进行平滑,再对图像采用最大方差法进行二值化,最后用八方向邻域搜索法对二值化图像做轮廓提取过程中,对轮廓提取得误差比较大,使得手势识别率较低,从而导致用户对真实自然空间的沉浸感较低,用户体检较差。技术实现要素:本申请提供了一种基于增强现实的手势识别方法、系统及装置,以解决现有技术的手势识别方法中手势识别的实时性较差以及手势识别率较低的问题。为了解决上述技术问题,本申请实施例公开了如下技术方案:一种基于增强现实的手势识别方法,所述方法包括:获取人手的手势深度图和手势深度信息,所述手势深度图包括静态视频帧和动态视频帧,所述手势深度信息包括关节点坐标;按照训练集和测试集7:3的比例,将所述手势深度图分为训练集和测试集;分别将训练集和测试集中的手势深度图剪切为大小相等的n个单元,n为自然数;分别利用dtw(dynamictimewarping,动态时间归整)算法对训练集和测试集中的动态视频帧进行优化,获取可被cnn(convolutionalneuralnetwork,卷积神经网络)神经网络识别的动态视频帧;利用双结构神经网络,对训练集中的手势深度图进行分类和训练,建立一双结构网络识别模型;将测试集输入至所述双结构网络识别模型中进行测试,获取手势识别结果;在增强现实环境中,根据所获取的手势深度信息和所述双结构网络识别模型,对手势进行识别。可选地,所述分别将训练集和测试集中的手势深度图剪切为大小相等的n个单元,n为自然数,包括:将训练集中手势深度图的人手区域剪切为n个单元;对训练集中n个单元的人手区域进行调整,获取大小相等的n个单元的训练集人手区域;将测试集中手势深度图的人手区域剪切为n个单元;对测试集中n个单元的人手区域进行调整,获取大小相等的n个单元的测试集人手区域。可选地,所述利用双结构神经网络,对训练集中的手势深度图进行分类和训练,建立一双结构网络识别模型,包括:将训练集中的全部手势深度图分别输入cnn神经网络和dbn(deepbeliefnetwork,深度信念网络)神经网络中,提取手势特征;利用分类器将cnn神经网络提取得到的手势特征和dbn神经网络提取得到的手势特征分别分为一个k维向量,其中,k为训练集中全部手势深度图种类的数量,k为自然数,且k>2;根据所述k维向量,确定k类手势深度图中每一个类的概率;分别利用公式计算得出cnn神经网络训练得到的k类累计概率密度,利用公式计算得出dbn神经网络训练得到的k类累计概率密度,其中,hc(n)和hd(n)分别是cnn神经网络中每类的概率密度和dbn神经网络中每类的概率密度;根据所述cnn神经网络训练得到的k类累计概率密度和dbn神经网络训练得到的k类累计概率密度,建立双结构网络识别模型pcd=ωpc(k)+(1-ω)pd(k),其中,ω为权值,pc(k)为cnn神经网络训练得到的k类累加概率密度,pd(k)为dbn神经网络训练得到的k类累加概率密度。可选地,所述分类器为softmax分类器。可选地,所述在增强现实环境中,根据所获取的手势深度信息和所述双结构网络识别模型,对手势进行识别,包括:分别根据第n帧手势深度图和第n-1帧手势深度图,获取同一位置关节点在不同时刻的两个关节点坐标sn(θ,γ)和sn-1(θ,γ),其中,θ为深度三维坐标,γ为手部关节自由度;判断两个关节点坐标sn(θ,γ)和sn-1(θ,γ)是否相等;如果是,判定当前的手势为静止;如果否,判定当前的手势为双结构网络识别模型对应的手势识别结果。可选地,所述手部关节自由度根据所述关节点坐标在真实空间中的映射以及深度三维坐标确定,且所述关节点坐标与真实空间之间的映射关系为:其中,(kinectx,kinecty,kinectz)是真实空间中利用深度摄像头获取的手部关节坐标,(ux,uy,uz)是unity环境下的虚拟场景坐标,w是在场景中控制虚拟物体与真实手的坐标对应的比例关系,(valx,valy,valz)是真实空间的人手与虚拟物体视点原点的对应关系。一种基于增强现实的手势识别系统,所述系统包括:信息获取模块,用于获取人手的手势深度图和手势深度信息,所述手势深度图包括静态视频帧和动态视频帧,所述手势深度信息包括关节点坐标;集合分类模块,用于按照训练集和测试集7:3的比例,将所述手势深度图分为训练集和测试集;剪切模块,用于分别将训练集和测试集中手势深度图剪切为大小相等的n个单元,n为自然数;优化模块,用于分别利用dtw算法对训练集和测试集中的所述动态视频帧进行优化,获取可被cnn神经网络识别的动态视频帧;识别模型建立模块,用于利用双结构神经网络,对训练集中的手势深度图进行分类和训练,建立一双结构网络识别模型;测试模块,用于将测试集输入至所述双结构网络识别模型中进行测试,获取手势识别结果;识别模块,用于在增强现实环境中,根据所获取的手势深度信息和所述双结构网络识别模型,对手势进行识别。可选地,所述识别模型建立模块包括:提取单元,用于将训练集中的全部手势深度图分别输入cnn神经网络和dbn神经网络中,提取手势特征;向量获取单元,用于利用分类器将cnn神经网络提取得到的手势特征和dbn神经网络提取得到的手势特征分别分为一个k维向量,其中,k为训练集中全部手势深度图种类的数量,k为自然数,且k>2;概率确定单元,用于根据所述k维向量,确定k类手势深度图中每一个类的概率;累计概率密度计算单元,分别利用公式计算得出cnn神经网络训练得到的k类累计概率密度,利用公式计算得出dbn神经网络训练得到的k类累计概率密度,其中,hc(n)和hd(n)分别是cnn神经网络中每类的概率密度和dbn神经网络中每类的概率密度;双结构网络识别模型建立单元,用于根据所述cnn神经网络训练得到的k类累计概率密度和dbn神经网络训练得到的k类累计概率密度,建立双结构网络识别模型pcd=ωpc(k)+(1-ω)pd(k),其中,ω为权值,pc(k)为cnn神经网络训练得到的k类累加概率密度,pd(k)为dbn神经网络训练得到的k类累加概率密度。可选地,所述识别模块包括:关节点坐标获取单元,用于分别根据第n帧手势深度图和第n-1帧手势深度图,获取同一位置关节点在不同时刻的两个关节点坐标sn(θ,γ)和sn-1(θ,γ),其中,θ为深度三维坐标,γ为手部关节自由度;判断单元,用于判断两个关节点坐标sn(θ,γ)和sn-1(θ,γ)是否相等;手势判定单元,用于当两个关节点坐标sn(θ,γ)和sn-1(θ,γ)相等时,判定当前的手势为静止;当两个关节点坐标sn(θ,γ)和sn-1(θ,γ)不相等时,判定当前的手势为双结构网络识别模型对应的手势识别结果。一种基于增强现实的手势识别装置,所述装置包括:处理器以及与所述处理器通信连接的存储器,其中,所述存储器中存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行如上任意一项所述的基于增强现实的手势识别方法。本申请的实施例提供的技术方案可以包括以下有益效果:本申请提供一种基于增强现实的手势识别方法,该方法首先获取人手的手势深度图和手势深度信息,然后按照训练集和测试集7:3的比例,将手势深度图分为训练集和测试集,再分别将训练集和测试集中的手势深度图剪切为大小相等的n个单元,利用dtw算法对训练集和测试集中的动态视频帧进行优化,获取可被cnn神经网络识别的动态视频帧,然后利用双结构神经网络对训练集中的手势深度图进行分类和训练,从而建立一双结构识别模型,将测试集输入该模型中进行测试可获取手势识别结果,最后根据手势深度信息和双结构网络识别模型,在增强现实环境中进行手势识别。本申请首先获取人手的手势深度图和手势深度信息,然后利用双结构神经网络对手势深度图进行分类和识别,最后提出了在增强现实环境下的手势识别方法,从而实现真实环境中的手势识别。通过利用神经网络对手势深度信息进行深度学习,提高手势识别率。通过利用dtw算法对动态视频帧进行优化,能够获取到可被cnn神经网络识别的动态视频帧,从而提高动态手势识别率,进而提高对真实自然空间的沉浸感,有利于提高用户体验。本申请实施例利用双结构神经网络对训练集中的手势深度图进行分类,通过两种神经网络不断调整权值,从而得到两个神经网络的最佳融合模型,进而得到每个类的最佳概率密度,有利于提高手势识别率。本申请还实时采集实时获取人手的手势深度信息,并根据同一位置不同时刻两个关节点坐标是否相等以及结合双结构网络识别模型,快速判断当前手势,因此本申请实施例中手势识别的实时性较高。本申请还提供一种基于增强现实的手势识别系统,该系统主要包括:信息获取模块、集合分类模块、剪切模块、优化模块、识别模型建立模块、测试模块和识别模块七部分。通过优化模块的设置,能够分别利用dtw算法对动态手势深度图中的动态视频帧进行优化,从而获取可被cnn神经网络识别的动态视频帧,有利于提高动态手势识别率,进而提高用户对自然空间的沉浸感,有利于提高用户体验。识别模型建立模块的设置,能够利用双结构神经网络对训练集中的手势深度图进行分类和训练,从而建立一双结构网络识别模型,通过两种神经网络不断调整权值,从而得到两个神经网络的最佳融合模型,进而得到每个类的最佳概率密度,有利于提高手势识别率。信息获取模块和识别模块的设置,能够实时获取人手的手势深度信息,有利于快速判断当前手势,从而提高手势识别的实时性。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例所提供的一种基于增强现实的手势识别方法的流程示意图;图2为本申请实施例所提供的一种基于增强现实的手势识别系统的结构示意图。具体实施方式为了使本
技术领域
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。为了更好地理解本申请,下面结合附图来详细解释本申请的实施方式。实施例一参见图1,图1为本申请实施例所提供的一种基于增强现实的手势识别方法的流程示意图。由图1可知,本实施例中基于增强现实的手势识别方法,主要包括如下步骤:s1:获取人手的人手的手势深度图和手势深度信息,其中,手势深度图包括静态视频帧和动态视频帧,手势深度信息包括关节点坐标。本实施例中可以采用kinect体感设备获取人手的手势深度信息和手势深度图。利用kinect体感设备的骨骼信息获取到人手的关节点坐标,即:深度坐标,并获取手势深度图。本实施例中手势深度图包括静态视频帧和动态视频帧,第n帧手势深度图所对应的关节点坐标为sn(θ,γ),其中,θ为该关节点的深度三维坐标,γ为该关节点的手部关节自由度。获取到人手的关节点坐标和手势深度图之后,调整手势深度图的大小,执行步骤s2:按照训练集和测试集7:3的比例,将手势深度图分为训练集和测试集。具体地,将数据集合按照训练集和测试集7:3的比例,抽样分层抽取手势深度图,将全部手势深度图组成的数据集合,分为训练集和测试集,且训练集和测试集的比例为7:3。通过对手势深度图按照训练集和测试集进行分类,有利于后续利用神经网络进行深度学习。s3:分别将训练集和测试集中的手势深度图剪切为大小相等的n个单元,n为自然数。将全部手势深度图划分为训练集和测试集之后,对于训练集和测试集中的手势深度图中人手区域分布剪切为n个单元,然后对n个单元进行调整,使其大小相等。具体地,步骤s3包括如下过程:s31:将训练集中手势深度图的人手区域剪切为n个单元,n为自然数。s32:对训练集中n个单元的人手区域进行调整,获取大小相等的n个单元的训练集人手区域。通过调整使得n个单元的训练集人手区域相等,有利于提高训练集训练过程的稳定性,从而提高手势识别的准确性。s33:将测试集中手势深度图的人手区域剪切为n个单元。s34:对测试集中n个单元的人手区域进行调整,获取大小相等的n个单元的测试集人手区域。当然,本实施例中也可以先执行步骤s33和s34,然后执行步骤s31和步骤s32。s4:分别利用dtw算法对训练集和测试集中的动态视频帧进行优化,获取可被cnn神经网络识别的动态视频帧。本实施例通过dtw算法分别对训练集中的动态视频帧和测试集中的动态视频帧进行优化,获取到可被cnn神经网络识别的动态视频帧,从而可以将优化后的动态视频帧输入cnn神经网络进行训练,有利于提高动态视频帧的识别率,进而提高手势识别率。s5:利用双结构神经网络,对训练集中的手势深度图进行分类和训练,建立一双结构网络识别模型。本实施例中的cnn神经网络,即:卷积神经网络的结构如表1所示。layers#kernelsfiltersizestridepad1conv13*3200*200*641same2pmax13*3100*100*641same3conv23*3100*100*1281same4pmax23*350*50*1282same5conv33*350*50*2561same6conv41same7conv550*50*1281same8pmax33*325*25*1282same9fc11*1*1024same10fc2same11fc31*1*7same12smax表1卷积神经网络结构表具体地,步骤s5又包括如下过程:s51:将训练集中的全部手势深度图分别输入cnn神经网络和dbn神经网络中,提取手势特征。本实施例将训练集中全部手势深度图输入tensorflow框架下的cnn神经网络中,经过5个卷积层,3个池化,最后通过3个全连接层提取出手势特征。同时,将训练集中全部手势深度图输入dbn神经网络中提取手势特征。s52:利用分类器将cnn神经网络提取得到的手势特征和dbn神经网络提取得到的手势特征分别分为一个k维向量。其中,k为训练集中全部手势深度图种类的数量,k为自然数,且k>2。本实施例中分类器采用softmax分类器,能够快速获取属于每一个类的概率,从而提高手势识别效率。提取到训练集中的手势特征之后,cnn神经网络和dbn神经网络分别经过softmax分类器,将手势深度图各分成一个k维向量。s53:根据k维向量,确定k类手势深度图中每一个类的概率。由于每个类中会获取到多个概率,取当前类的多个概率中的最大值作为当前类的概率。本实施例通过步骤s51,将手势深度图分别输入cnn神经网络和dbn神经网络中提取手势特征之后,通过步骤s52和s53,cnn神经网络和dbn神经网络分别得到手势特征概率。s54:分别利用公式计算得出cnn神经网络训练得到的k类累计概率密度,利用公式计算得出dbn神经网络训练得到的k类累计概率密度。其中,hc(n)是cnn神经网络中每类的概率密度,hd(n)是dbn神经网络中每类的概率密度。s55:根据cnn神经网络训练得到的k类累计概率密度和dbn神经网络的k类累计概率密度,建立双结构网络识别模型pcd=ωpc(k)+(1-ω)pd(k)。其中,ω为权值,可以进行调节使得pcd的值达到最大,pc(k)为cnn神经网络训练得到的k类累加概率密度,pd(k)为dbn神经网络训练得到的k类累加概率密度。由以上步骤s54和s55可知,本实施例分别对cnn神经网络训练softmax分类器输出得到cnn神经网络训练得到的k类累计概率密度,对dbn神经网络训练softmax分类器输出得到dbn神经网络的k类累计概率密度,然后融合两个网络,通过调整权值ω计算得到每个类的最佳概率密度,也就是两个神经网络的最佳融合模型,因此,本实施例采用双结构神经网络,能够提高手势识别率和手势识别的准确性。获取到双结构网络识别模型之后,执行步骤s6:将测试集输入至双结构网络识别模型中进行测试,获取手势识别结果。s7:在增强现实环境中,根据所获取的手势深度信息和双结构网络识别模型,对手势进行识别。具体地,步骤s7包括如下过程:s71:分别根据第n帧手势深度图和第n-1帧手势深度图,获取同一位置关节点在不同时刻的两个关节点坐标sn(θ,γ)和sn-1(θ,γ),其中,θ为该同一位置关节点的深度三维坐标,γ为该同一位置关节点的手部关节自由度。s72:判断两个关节点坐标sn(θ,γ)和sn-1(θ,γ)是否相等。如果两个关节点坐标相等,也就是手部状态为0,则执行步骤s73:判定当前的手势为静止。如果两个关节点坐标不相等,也就是手部状态不为0,则执行步骤s74:判定当前的手势为双结构网络识别模型对应的手势识别结果。也就是当两个关节点坐标不相等时,根据双结构网络识别模型对应的状态识别为对应的手势。进一步地,本实施例中手部关节自由度根据关节点坐标在真实空间中的映射以及深度三维坐标确定。也就是说,本实施例中手部关节的自由度γ是根据kinect中获取的人手坐标在真实空间中的映射,然后根据过程中得到的三维坐标确定的。且本实施例中关节点坐标与真实空间之间的映射关系为:其中,(kinectx,kinecty,kinectz)是深度摄像头呈现的真实空间中利用深度摄像头得到的手部关节坐标,本实施例中可以采用kinect体感设备的深度摄像头,(ux,uy,uz)是unity环境下的虚拟场景坐标,w是在场景中控制虚拟物体与真实手的坐标对应的比例关系,(valx,valy,valz)是真实空间的人手与虚拟物体视点原点的对应关系。本实施例通过步骤s1中实时获取人手的手势深度信息,并根据同一位置关节点在不同时刻的两个关节点坐标是否相等以及结合双结构网络识别模型,快速判断当前手势,有利于大大提高手势识别的实时性。实施例二在图1所示实施例的基础之上参见图2,图2为本申请实施例所提供的一种基于增强现实的手势识别系统的结构示意图。由图2可知,本实施例中基于增强现实的手势识别系统主要包括:信息获取模块、集合分类模块、剪切模块、优化模块、识别模型建立模块、测试模块和识别模块七部分。其中,信息获取模块用于获取人手的手势深度图和手势深度信息,手势深度图包括静态视频帧和动态视频帧,手势深度信息包括关节点坐标。集合分类模块用于按照训练集和测试集7:3的比例,将手势深度图分为训练集和测试集。剪切模块用于分别将训练集和测试集中手势深度图剪切为大小相等的n个单元,n为自然数。优化模块用于分别利用dtw算法对训练集和测试集中的动态视频帧进行优化,获取可被cnn神经网络识别的动态视频帧。识别模型建立模块用于利用双结构神经网络,对训练集中的手势深度图进行分类和训练,建立一双结构网络识别模型。测试模块用于将测试集输入至双结构网络识别模型中进行测试,获取手势识别结果。识别模块用于在增强现实环境中,根据所获取的手势深度信息和双结构网络识别模型,对手势进行识别。进一步地,识别模型建立模块包括:提取单元、向量获取单元、概率确定单元、累计概率密度计算单元和双结构网络识别模型建立单元。其中,提取单元用于将训练集中的全部手势深度图分别输入cnn神经网络和dbn神经网络中,提取手势特征。向量获取单元用于利用分类器将cnn神经网络提取得到的手势特征和dbn神经网络提取得到的手势特征分别分为一个k维向量,其中,k为训练集中全部手势深度图种类的数量。概率确定单元用于根据k维向量,确定k类手势深度图中每一个类的概率。累计概率密度计算单元分别利用公式计算得出cnn神经网络训练得到的k类累计概率密度,利用公式计算得出dbn神经网络训练得到的k类累计概率密度,其中,hc(n)和hd(n)分别是cnn神经网络中每类的概率密度和dbn神经网络中每类的概率密度。双结构网络识别模型建立单元用于根据cnn神经网络训练得到的k类累计概率密度和dbn神经网络的k类累计概率密度,建立双结构网络识别模型pcd=ωpc(nc)+(1-ω)pd(nd),其中,ω为权值,pc(nc)为cnn神经网络训练得到的k类累加概率密度,pd(nd)为dbn神经网络训练得到的k类累加概率密度。进一步地,本实施例中识别模块包括:关节点坐标获取单元、判断单元和手势判定单元。其中,关节点坐标获取单元用于分别根据第n帧手势深度图和第n-1帧手势深度图,获取同一位置关节点在不同时刻的两个关节点坐标sn(θ,γ)和sn-1(θ,γ),其中,θ为深度三维坐标,γ为手部关节自由度。判断单元用于判断关节点坐标sn(θ,γ)和sn-1(θ,γ)是否相等。手势判定单元用于当关节点坐标sn(θ,γ)和sn-1(θ,γ)相等时,判定当前的手势为静止;当关节点坐标sn(θ,γ)和sn-1(θ,γ)不相等时,判定当前的手势为双结构网络识别模型对应的手势识别结果。该实施例未详细描述的部分,可以参见图1所示的实施例1,两个实施例之间可以互相参照,在此不再赘述。本申请还包括一种基于增强现实的手势识别装置,该装置主要包括:处理器以及与所述处理器通信连接的存储器。其中,存储器中存储有可被处理器执行的指令,该指令被处理器执行,以使处理器能够执行如上所述的基于增强现实的手势识别方法。以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1