一种VR头戴设备的手势跟踪方法和VR头戴设备与流程

文档序号:11153851
一种VR头戴设备的手势跟踪方法和VR头戴设备与制造工艺

本发明涉及虚拟现实技术领域,尤其涉及一种VR头戴设备的手势跟踪方法以及VR头戴设备。



背景技术:

虚拟现实技术是仿真技术的一个重要分支方向。虚拟现实技术使用计算机,利用相关技术和软、硬件工具生成实时动态的、三维立体而且纹理逼真的图像和场景,并使其可以模仿人类的各种感知,并利用传感器与用户进行交互。从1963年虚拟现实技术萌芽至今,虚拟现实技术的理论已经比较完善,而且近年来,虚拟现实技术在军事仿真、娱乐游戏、医疗、建筑等多个行业中得到广泛和深入的研究和使用。

在现有的虚拟现实设备的人机交互过程中,除了传统的按键操作之外,还有手势识别功能,VR头戴设备通过设置在设备中的摄像头采集视野中的图像,并从图像中分离识别手部图像,对手部图像进行模型匹配来判别手势类别或者跟踪手势坐标。其中分离识别动作建立模型训练的基础上且通常采用卷积神经网络进行手势数据训练。

在现有的虚拟现实设备跟踪手势坐标的过程中,通常是采集手势深度数据并利用CNN进行回归训练得到模型。而现有CNN网络的训练核心是对二维图卷积提取特征,仅仅利用手势深度数据进行训练,所获得的信息可以说是从二维平面上提取的信息,手部的三维空间立体结构基本没有得到有效利用,由于CNN采集到的信息是平面信息,所以CNN的训练难度大,得到的数据误差大、跟踪的手势坐标也不够准确。



技术实现要素:

为解决现有VR头戴设备图像采集时,手部的三维空间立体结构基本没有得到有效利用,导致数据误差大、跟踪手势坐标不准确的问题,本发明公开了一种VR头戴设备的手势跟踪方法。

一种VR头戴设备的手势跟踪方法,包括以下步骤:

通过摄像头采集得到多个训练图像;

从多个所述训练图像中分离多个手部深度图像;

对多个所述手部深度图像中的三维手势的关键点进行标记,利用手部深度图像形成原始点云数据,所述关键点包括掌心和多个手部关节;

计算根据手部深度图像形成的原始点云数据的法向量和曲率;

将法向量、曲率和手部深度图像去均值归一化到[-1,1];

搭建CNN网络,所述CNN网络的输入端分别输入根据多个训练图像生成并归一化后的法向量、曲率和手部深度图像三路数据,输出端输出包括掌心在内的多个关节点的三维坐标;

训练完成的CNN网络作为三维手势的特征提取器,通过深度摄像头采集实时动作深度图像,所述特征提取器提取所述实时动作深度图像中的法向量、曲率和手部深度图像信息,输出实时动作深度图像中三维手势的三维坐标,所述处理器对识别出的三维手势进行跟踪。

进一步的,计算所述原始点云数据的法向量和曲率时,使用kd-tree算法构建所述原始点云的树结构,并利用原始点云的树结构查找计算手部深度图像原始点云数据的法向量和曲率。

进一步的,利用随机森林算法将通过摄像头采集得到的多幅训练图像中的手部深度图像与背景深度数据分离;对所述手部深度图像进行降噪。

进一步的,将降噪后的手部深度图像归一化降维,生成256×256的二维图像;

将降噪后的手部深度图像中的关键点进行标记,所述关键点包括多个关节点和掌心;

生成手部深度图像中任一点的图像坐标m=(x,y)T

利用手部深度图像中任一点的图像中坐标m=(x,y)T和相机坐标系下的空间坐标的关系求解所述手部深度图像中任一点的相机坐标系中的空间坐标xc,yc和zc,图像坐标和相机坐标系下空间坐标的关系如下:

其中zc为相机的光轴;

在相机坐标系下建立对应所述手部深度图像且包括多个关节点和掌心坐标的原始点云;利用kd-tree算法构建对应原始点云数据的树结构,并分别利用原始点云数据的树结构查找计算法向量和曲率。

为了提高处理效率,并尽可能的保存图像特征,搭建CNN网络之前,利用PCA算法对手部深度图像降维到96×96。

进一步的,所述CNN网络包括卷积层、池化层和全连接层,其中所述卷积层包括并行的第一卷积通道、第二卷积通道和第三卷积通道,所述第一卷积通道、第二卷积通道和第三卷积通道的输入端分别输入法向量、曲率和手部深度图像。

进一步的,所述第一卷积通道、第二卷积通道和第三卷积通道均包括三级卷积,且每一级卷积层后均跟随一层池化层,第一卷积通道、第二卷积通道和第三卷积通道输出至全连接层,所述全连接层包括三级全连接层。

优选的,所述CNN网络的激活函数为Relu函数。

优选的,所述卷积层的卷积核为5×5,所述池化层的池化核为2×2。

本发明在对原始手势深度数据的预处理过程中对数据的法向量、曲率这两种三维空间特征信息进行了提取,并在横向尺度和纵向层深上做了改进。通过对采集数据三维空间描述信息的提取和利用,弥补了手部深度图像特征纹理单一的不足,强化了手势深度数据所具有的三维空间特征,三维手势无需做分类,因此本发明所提供的方法可以适用于对连续变动手势的追踪,同时,由于在采集数据中增加了三维空间的描述信息,因此可以最大可能的排除相机采集角度带来的误差。本发明提高了CNN训练模型的精确度,进而提高了VR头戴设备对手势跟踪的精确度。

一种VR头戴设备,采用VR头戴设备的手势跟踪方法控制,所述VR头戴设备的手势跟踪方法包括以下步骤:

通过摄像头采集得到多个训练图像;

从多个所述训练图像中分离多个手部深度图像;

对多个所述手部深度图像中的三维手势的关键点进行标记,利用手部深度图像形成原始点云数据,所述关键点包括掌心和多个手部关节;

计算根据手部深度图像形成的原始点云数据的法向量和曲率;

将法向量、曲率和手部深度图像去均值归一化到[-1,1];

搭建CNN网络,所述CNN网络的输入端分别输入根据多个训练图像生成并归一化后的法向量、曲率和手部深度图像三路数据,输出端输出包括掌心在内的多个关节点的三维坐标;

训练完成的CNN网络作为三维手势的特征提取器,通过深度摄像头采集实时动作深度图像,所述特征提取器提取所述实时动作深度图像中的法向量、曲率和手部深度图像信息,输出实时动作深度图像中三维手势的三维坐标,所述处理器对识别出的三维手势进行跟踪。

本发明所公开的VR头戴式设备,所采用的手势跟踪方法中提取融合的三维手势的空间特征,并且通过CNN网络充分利用手部三维信息,提升了卷积神经网络的训练效果,足以满足高精确度的仿真场景,扩大了VR头戴式设备的使用范围。同时由于本发明可以对连续变化的手势实现识别,因此可以脱离实体控制按键,实现远距离多种手部命令控制。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明所公开的VR头戴设备手势跟踪方法一种实施例的流程图;

图2为图1所公开的VR头戴设备手势跟踪方法中所搭建的CNN网络的网络架构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1所示为本发明所公开的VR头戴设备的手势跟踪方法一种实施例的流程示意图。具体来说,本实施例所公开的跟踪方法包括图像预处理、三维特征提取、搭建卷积神经网络、卷积神经网络训练、识别、利用识别结果操控等几个步骤,以下按照上述过程分别详细描述。

首先为建立卷积神经网络进行前期准备。通过摄像头采集多个训练样本图像。训练样本图像优选在5000张左右,也可以根据实际识别精度的要求调整训练样本图像的数量,训练样本图像中均包含一个三维手势图像。摄像头可以选择使用设置在VR头戴设备上的摄像头,也可以选择其它独立设置的高清摄像头。对训练样本图像预处理时,假定三维手势是距离摄像头最近的目标物体,考虑到VR头戴设备的应用场景,对于VR头戴式设备会采集到的图像数据来说,图像背景中人体数据较多,其它因素基本可以忽略。利用随机森林算法将训练图像中的手部深度图像块和背景物体的深度图像分离,提取出对应每一个三维手势图像的手部深度图像块作为手部深度图像,并进一步对手部深度图像进行去噪处理,去除手部深度图像上的噪点,完成图像分离预处理。

将降噪后的手部深度图像图像归一化降维,获得分辨率为256×256的二维图像。256×256的像素选择是基于长期对VR生成图像的处理经验,这一分辨率可以尽可能保持图像信息的完整并降低后续图像处理系统的信息处理量。在本实施例中,识别手势的最终目的是可以自动判定三维手势,并利用三维手势图像特征的变化产生的控制信号进行VR头戴设备的下一步操作。在本方法中,识别的基准在于形成不同手势变化时手部各个指关节会产生对应的变化以及各个指关节会出现不同位置的组合,所以在对手部深度图像预处理时,对手部各个指关节的图像坐标进行标记,同时标记图像中掌心的图像坐标,生成每一个关键点的二维图像坐标。

标记完成后,通过计算机系统记录手部深度图像中任一点的图像坐标m=(x,y)T,利用手部深度图像中任一点的图像坐标m=(x,y)T和相机坐标系下的空间坐标的关系求解所述手部深度图像中任一点的相机坐标系中的空间坐标xc,yc和zc,图像坐标和相机坐标系下空间坐标的关系如下:

其中zc为相机的光轴;

在zc已知的条件下,可以求出每一点对应xc和yc,利用相机坐标系下的空间坐标建立对应每一幅手部深度图像且包括关节点和掌心坐标的原始点云。

为了在弥补手部深度图像特征纹理单一的缺点,在本实施例中,对训练样本的预处理重点增加了手势的三维空间特征。具体来说,三维空间特征优选包括根据手部深度图像生成的原始点云数据中包含的法向量和曲率。在获得对应每一幅手部深度图像且包括关节点和掌心坐标的原始点云后,首先计算根据手部深度图像形成的原始点云数据的法向量和曲率。原始点云数据的法向量可以通过拟合法计算,曲率可以通过抛物面拟合法计算。在拟合计算的过程中,为了提高运算的速率,使用kd-tree算法构建原始点云的树结构,并利用原始点云的树结构查找计算原始点云数据的法向量和曲率。

在得到原始点云数据的法向量和曲率后,对手部深度图像、对应每一幅手部深度图像的法向量和曲率进一步进行去均值,利用方差归一化至[-1,1],并进一步利用PCA算法将手部深度图像降维到96×96,减少后续卷积神经网络的数据处理量,同时保证有效特征保留充分。

获得归一化后的曲率、法向量和降维到96×96的手部深度图像后,基本完成了对训练图像的预处理。

下一步利用预处理后的图像和数据训练CNN网络。在本实施例中,参见图2所示,搭建的CNN网络包括并行的第一卷积通道,第二卷积通道和第三卷积通道,其中第一卷积通道、第二卷积通道和第三卷积通道的输入端分别输入预处理生成的对应手部深度图像的原始点云的法向量、曲率和手部深度图像,在并行的第一卷积通道、第二卷积通道和第三卷积通道中均包括三级卷积,如图2所示C1,C2,C3,在每一级卷积层后均跟随一层池化层,如图2所示P1,P2,P3,即采样层,第一卷积通道、第二卷积通道和第三卷积通道输出至全连接层。全连接层包括三级全连接层,如图2所示f1,f2,f3,其中优选第一级全连接层f1包括1024个神经元,第二级全连接层f2包括1024个神经元,第三级全连接层f3包括512个神经元。第三级全连接层f3输出包、对应手部深度图像中多个关节点,包括掌心在内的三维坐标3J,其中J代表关节数。如图2所示,在本实施例中,优选每一级卷积层的卷积核为5×5,优选选择8个卷积核,池化层的池化核为2×2。在CNN网络中,激活函数为Relu函数。

通过训练得到的CNN网络作为三维手势的特征提取器存储在VR头戴式设备的存储单元中。当VR头戴式设备运行时,通过VR头戴式及设备本身带有的深度摄像头采集含有三维手势的实时动作深度图像,对实时动作深度图像进行预处理,将实时动作深度图像中的手部深度图像和背景深度图像区分开,提取前部的手部深度图像,并对手部深度图像进行去噪。对手部深度图像进行降维,将图像分辨率降为256×256,根据实时动作深度图像建立点云数据,利用点云数据计算法向量和曲率,并将实时动作深度图像、法向量和曲率输入至CNN网络的三个卷积通道的输入端,利用特征提取器识别实时动作深度图像中的三维手势,并生成识别出的三维手势中关节点和掌心的坐标,定位三维手势动作,并将识别结果输出至处理器,处理器对识别出的手势进行跟踪。

本发明在对原始手势深度数据的预处理过程中对数据的法向量、曲率这两种三维空间特征信息进行了提取,并在横向尺度和纵向层深上做了改进。通过对采集数据三维空间描述信息的提取和利用,弥补了手部深度图像特征纹理单一的不足,强化了手势深度数据所具有的三维空间特征,三维手势无需做分类,因此本发明所提供的方法可以适用于对连续变动手势的追踪,同时,由于在采集数据中增加了三维空间的描述信息,因此可以最大可能的排除相机采集角度带来的误差。本发明提高了CNN训练模型的精确度,进而提高了VR头戴设备对手势跟踪的精确度。

本发明同时公开了一种VR头戴式显示设备,采用如上述实施例所详细描述的VR头戴式显示设备的手势跟踪方法。手势跟踪方法的具体数据采集、处理和识别过程参见上述实施例,在此不再赘述,本发明所公开的VR头戴式显示设备具有同样的技术效果。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

...
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1