使用虚拟现实头戴式显示器系统来执行真实目标检测和控制的装置和方法与流程

文档序号:15172655发布日期:2018-08-14 18:05阅读:205来源:国知局

本发明涉及一种使用虚拟现实头戴式显示系统来执行真实目标检测和控制的装置和方法,特别涉及但不限于在虚拟现实环境里检测和控制真实目标,如手部存在和姿势。

在大多数虚拟现实(vr)应用中,虚拟世界和自然交互的直观探索起着非常重要的作用。因此,非常希望用户能够在虚拟环境中获得有关其身体的视觉反馈。这种视觉反馈有多种益处,可以将虚拟身体的真实可视化纳入到虚拟现实环境中,虚拟身体可以由用户的肢体运动来实时控制,并以自我为中心的视角来观看。

但是,诸如在虚拟现实环境中徒手操作图形用户界面(gui)或在vr环境中触摸虚拟物体等最自然的方式尚未普及。目前市场上的主要vr头戴式显示器(hmd)(也被称为vr头盔或vr眼镜)系统不具有智能和有效方式以方便用户操作。其中大多数仍在使用笨重的游戏手柄控制器、触摸板、头部旋转等。



技术实现要素:

鉴于以上所述,根据本发明实施例披露了在vr应用或环境里使用vrhmd系统来检测自由空间中的手部存在以及利用手部检测来控制(例如手部姿势/移动)的vrhmd系统及方法。特别地,本发明实施例提供了一种vrhmd系统和方法,将自由空间划分为不同区域,并在每个区域应用检测到的色彩变化,用于手势检测和手部控制。

根据本发明的一个方面,提供了一种在虚拟现实环境中检测真实物体的存在和控制的方法,包括:获取图像传感器视野中拍摄图像的颜色像素值,并根据以拍摄图像的目标颜色概率密度函数作为输入值的一个函数产生变化的α值将拍摄图像的颜色像素与虚拟现实背景进行α混合;接收真实物体的输入即真实物体的不同种类的移动、或移动真实物体到真实空间中的一个或多个特定位置上,使用所述输入去操作虚拟现实中的图形用户界面gui或虚拟物体;检测真实空间中特定位置上的颜色变化序列;根据所接收到的真实物体的输入,呈现所述gui或虚拟物体对应于所述特定位置上所述颜色变化序列的相应改变。

根据本发明的另一方面,提供了一种用于在虚拟现实环境中检测真实物体存在和移动的系统,包括图像传感器、处理器;图像传感器用于获取视野中拍摄图像的颜色像素值;处理器包括真实物体存在模块、真实物体控制模块、和呈现模块;真实物体存在模块根据以拍摄图像的目标颜色概率密度函数作为输入值的一个函数产生变化的α值将拍摄图像的颜色像素与虚拟现实背景进行α混合;真实物体控制模块接收真实物体的输入即真实物体的不同种类的移动、或移动真实物体到真实空间中的一个或多个特定位置上,使用所述输入去操作虚拟现实中的图形用户界面gui或虚拟物体,并检测真实空间中特定位置上的颜色变化序列;呈现模块根据所接收到的真实物体的输入,呈现所述gui或虚拟物体对应于所述特定位置上所述颜色变化序列的相应改变。

根据本发明的另一方面,提供一种包含指令的非暂时性机器可读介质,当所述指令是由头戴式显示器系统的一个或多个处理器执行时,使得该介质能够执行操作,所述操作包括:获取图像传感器视野中拍摄图像的颜色像素值,根据以拍摄图像的目标颜色概率密度函数作为输入值的一个函数产生变化的α值将拍摄图像的颜色像素与虚拟现实背景进行α混合;接收真实物体的输入即真实物体的不同种类的移动、或移动真实物体到真实空间中的一个或多个特定位置上,使用所述输入去操作虚拟现实中的图形用户界面gui或虚拟物体;检测真实空间中特定位置上的颜色变化序列;根据所接收到的真实物体的输入,呈现所述gui或虚拟物体对应于所述特定位置上所述颜色变化序列的相应改变。

附图说明

从以下结合附图对实施例的描述,本发明的这些和/或其它方面以及优点将越发明显且更易于理解,其中:

根据本发明实施例,图1a是虚拟现实头戴式显示器(hmd)或头盔的正面透视图,图1b是vrhmd的背面透视图,图1c显示vrhmd的垂直视野,图1d显示vrhmd的水平视野。

图2是根据本发明实施例的虚拟现实头戴式显示器(vrhmd)的示意性框图。

图3描述根据本发明实施例的一种基于用户肤色在vr应用中用于校准和手部存在以及控制的方法的流程图。

图4a和4b是分别描述如何获得肤色检测校准概率密度函数(pdf)以及手部检测色彩分布的示意图。

图5a-5c描述根据本发明实施例的(a)真实空间块;(b)由n个真实空间块组成的合并真实空间;(c)一个预定义映射函数,将肤色概率映射到α混合值。

图6描述根据本发明实施例的在vr环境里的手部控制(例如手部姿势和手部移动)以及用于确定手部姿势和移动的数据。

图7a和7b描述根据本发明实施例的在vr里的(a)手部存在和(b)手部控制的模拟结果。

具体实施方式

现将详细参考本发明的当前实施例,其示例在附图中示出,其中,相同的附图标记始终表示相同的元件。以下通过参考附图来描述实施例以便更好地解释本发明。

在以下的披露中,为了简化描述,短语“虚拟现实”通常用于描述虚拟现实和增强现实。根据本发明实施例,图1a是虚拟现实头戴式显示器(hmd)或头盔的正面透视图,图1b是vrhmd的背面透视图,图1c显示vrhmd的垂直视野,图1d显示vrhmd的水平视野。

虚拟现实头戴式显示器(vrhmd)10包括壳体12、包括左侧立体摄像机14a和右侧立体摄像机14b的图像传感器、以及头带16。壳体12容纳vrhmd10的电子器件。用户将vrhmd10安置在其头上,并将头带16紧固在用户头部周围(图中未示出)以便将vrhmd10保持在头部的正确位置。显示器17使用户能够观看vr环境。

左侧和右侧立体摄像机14a和14b用于在垂直和水平视野(fov)18、19中观看真实物体,例如手部。

图2是根据本发明实施例的vrhmd10的示意性框图。

惯性测量单元(imu)传感器20用于进行vrhmd10的用户的头部朝向的旋转跟踪。处理器24通过执行存储在存储器26里的操作系统程序和一个或多个应用程序来控制vrhmd10的整体操作。处理器24可以是一个或多个,可以是但不限于cpu、gpu、dsp、apu或fpga。存储器26可以是一个或多个,可以是但不限于易失性或非易失性的,诸如sdram、dram、sram、闪存、mram、f-ram或p-ram。处理器24从左侧和右侧摄像机14a、14b接收图像数据,并将其显示在透镜15a、15b上,将图像数据显示在显示器17上也是可能的,显示器17的数目可以是一个或多个。因此,vrhmd10可以连接到支持hdmi连接的显示器17。在摄像机模式里,左侧和右侧摄像机14a、14b和imu传感器20将真实世界输出指示到处理器24,使用户能够看到用户周围的真实世界以及增强现实(ar)视频内容。

处理器24包括校准模块30、肤色检测模块31、手部存在模块32、手部控制模块34、呈现模块36、以及vr内容模块38。vr内容模块38从imu传感器20接收头部朝向数据。存储器40(可以是但不限于非易失性的,如硬盘)存储来自校准模块30的目标颜色概率密度函数。

广义上来说,由于本发明实施例可以包含不是手部的真实物体,因此肤色检测模块31、手部存在模块32和手部控制模块34可以被称为真实物体色彩检测模块31、真实物体出现模块32和真实物体控制模块34。

左侧和右侧摄像机14a、14b和imu传感器20位于hmd主体12中。本发明描述了处理器24、存储器26、显示器16和存储器40是vrhmd10的一部分,然而,这些元件可以位于vrhmd10的外部,可以与图2的其他元件一起被认为是vrhmd系统的一部分。

vr内容模块38提供诸如游戏、全景360视频/图片、或任何vr图形的内容。所有这些内容都是根据用户的头部朝向(绕x轴、绕y轴、绕z轴)来呈现。因此,vr内容模块38从imu传感器20接收数据。通常,vr内容模块38存储vr应用。

图3是根据本发明实施例的一种用于校准和确定虚拟现实环境中真实物体并控制的方法100,该方法是由处理器24执行。应当注意的是,在本实施例里,真实物体被描述为手部,但应该理解,本发明实施例可以使用除手部之外的真实物体。

存储器22可以包括非临时性机器可读介质、机器可读存储介质、计算机可读存储介质、或其任何适当的组合,其存储一种非暂时性的、有形的计算机程序产品,包括计算机程序代码,当处理器24执行该计算机程序代码时,被认为执行以下任何方法。

校准是在图3的步骤101-104中由校准模块30执行。

在步骤101,左侧和右侧摄像机14a、14b(图像传感器)在1秒钟内拍摄处于垂直和水平视野-18、19内的用户的一只手或两只手的图像,如图4a所示,但容易理解,这个时间可能会有所不同。将拍摄的图像提供给处理器24的校准模块30。通过在校准过程期间拍摄图像的有限集合里收集来自真实物体(例如手部)的颜色像素值作为数据样本,处理器24找到在hsv(色调、饱和度、和数值)色域中的目标颜色概率密度函数(pdf)。

在步骤102,从皮肤的预定义采样区域获取像素的颜色像素值,该预定义采样区域是由如图4a所示的手形界定的区域。

在步骤103,确定肤色的校准目标颜色概率密度函数(pdf),图4b所示;在步骤104,将目标色彩校准pdf的数据库存储在存储器40中。

在步骤105,肤色检测模块31根据在步骤104存储在存储器40里的校准pdf来执行肤色检测。

接着,在步骤106,根据肤色检测输出,手部存在模块32确定vr环境中手部存在,并在步骤107检测手部位置。

然后,在步骤108,手部控制模块34确定手部控制如手部姿势/运动。在步骤108,手部控制模块34接收来自肤色检测模块31的输出,并通过位移和移动速度来确定vr环境中的手势。在步骤109,用户通过使用不同种类的手势如手滑动(handswiping)(任何方向)、或单击或双击(不限于此,仅作为示例)、或在真实空间中将手(真实物体)移动到特定位置,来操作虚拟现实中的图形用户界面(gui)或虚拟物体,如图6所示。手部控制模块34根据肤色检测输出来检测真实空间中特定位置上的色彩变化次序。

在步骤110,呈现模块36根据gui/虚拟对象对应于特定位置的颜色变化序列的相应改变,以及来自手部存在模块32、手部控制模块34和vr内容模块38的输入,来执行vr呈现。

如果没有检测到gui或虚拟物体,则该校准过程返回到步骤105。

需要注意的是,在本发明的其他实施例里,不需要执行校准过程。

在步骤101-104的校准期间,处理器24开启在vrhmd10上的左侧和右侧摄像机14a、14b,并要求用户将手放在如图4a所示的专用区域上。由左侧和右侧摄像机14a、14b收集(拍摄)该区域的像素的所有颜色像素值(步骤101),并由校准模块30在预定义的颜色空间中进行分析以形成一个概率密度函数,如图4b所示的手部检测颜色分布图。boolean函数p(x,y)被确定为过滤最可能是皮肤像素的像素。通过实验结果,α被定义为肤色的阈值概率值。当φ(i(x,y))>α时,p(x,y)被设置为1;否则被设置为0,在步骤103,φ(i(x,y))返回图像像素(x,y)上的颜色的肤色概率。

在一个实施例中,对于预定义的颜色空间,一个颜色可以用3个分量表示:色调(hue)、饱和度(saturation)和明度(value)。“色调”表示以循环方式(色环)排列的感知颜色(例如红、黄、绿等)。色调是在[0-179]范围内表示,其中红为0,黄为30,绿为60,依此类推,并在179回到红。“饱和度”表示色彩度,在[0-255]范围内表示。数字越小,颜色越接近灰度色。“明度”是指亮度,也在[0-255]范围内表示。数字越小,颜色越暗。

hsv颜色空间适合描述手的颜色分布,手对光线和阴影敏感。hsv值的集合给出了一个3d直方图。一个特定hsv矢量的频率即计数数量(图4b所示的3d区域的h/s/v范围被指定,例如{h=[28-32],s=[240-255],和v=[240-255]}用于“非常明亮的黄色”),用以确定在hsv颜色空间的子区域内的像素有多密集。

整个hsv颜色空间被分成均匀长度的hsv矢量。每个hsv矢量是一个大小为(4x85x85)的3d区域。换言之,h分为45个等级([0-3],[4-7],...,[176-179]),s和v分别被分成以下3个等级([0-85],[86-170],[171-255])。对于每个hsv矢量,通过(频率/集合里的像素总数)获得每个hsv矢量的“概率”。所有hsv矢量的概率之和等于1。

从校准获得的概率密度函数(pdf)被称为“校准pdf”,其存储在存储器40里。然后,校准pdf用于手部存在和控制。

在步骤105,肤色检测模块31对来自左侧和右侧摄像机的拍摄图像进行非肤色检测的详细计算,具体如下:

如果p(x,y,z)=pl(xl,yl)^pr(xr,yr)等于0,确定在位置上没有发现肤色。

通过将针孔摄像机模型扩展到立体摄像机场景:

其中d被称为视差,是两个摄像机14a、14b之间的长度。

(x,y,z)是从两个摄像机14a、14b之间的中点(0,0,0)所定义的位置。fl和fr分别是左侧和右侧摄像机14a、14b的焦距(以像素为单位)。

(xl,yl)和(xr,yr)是2d坐标,其中3d点分别投影在来自左侧和右侧摄像机14a、14b的左右图像上。

pl,pr分别是左侧和右侧摄像机14a、14b的boolean函数。

在步骤106,根据目标颜色概率函数,通过变化的α值对拍摄图像与虚拟现实背景执行颜色像素α混合。在vr环境里手部存在的详细计算如下。

手部存在模块32定义一个由n个真实空间块组成的合并真实空间(其中手与虚拟现实环境合并),如图5b所示;并且左侧和右侧摄像机14a、14b的相应图像像素集合对应到一个具有宽度w、高度h、深度d和中心(xs,ys,zs)的真实空间块(参考图5a),如下:

其中i∈{-m..m},j∈{-n..n},k∈{-q..q}。

对每个区块,

如果(p(xs,ys,zs)==0){

在图像像素(xslik,ysljk)上的α值被设定为τ

在图像像素(xsrik,ysrjk)上的α值被设定为τ

}

否则{

在图像像素(xslik,ysljk)上的α值=ψ(φl(i(xslik,ysljk)))

在图像像素(xsrik,ysrjk)上的α值=ψ(φr(i(xsrik,ysrjk)))

}

其中τ∈[0,1],s∈{0..n-1},φl是左侧摄像机的pdf,φr是右侧摄像机的pdf,i是颜色,ψ:x→y,x∈[0,1]和y∈[τ,1],是一个预定的映射函数,将肤色概率映射到α混合值,其范围是从0.0到1.0,其中0.0表示一个完全透明的颜色,而1.0表示一个完全不透明的颜色,如图5c所示。

在步骤107,在vr环境里确定手部位置。

接着,在步骤108,手部控制模块34确定手部控制,如手势/移动。在步骤108,手部控制模块34接收来自肤色检测模块31的输出,并通过位移和移动速度确定vr环境里的手势。在步骤109,如图6所示,用户通过使用不同种类的手势如手指滑动(任何方向)、或单击或双击(不限于此,仅作为示例)、或在真实空间中将手(真实物体)移动到特定位置,来操作虚拟现实中的图形用户界面(gui)或虚拟物体。手部控制模块34根据肤色检测输出来检测真实空间中特定位置上的颜色变化序列。

此外,应该注意到,尽管本实施例披露了在手部存在检测之后执行手部控制检测,但根据其他实施例,手部控制检测可以在手部存在检测之前执行,或可以仅执行手部存在检测和手部控制检测中的一个。

如图6所示vr环境里手部控制(姿势/移动)的详细计算具体如下:

检测手部的水平滑动

s={p(x,ys,zs)}其中x∈{-ws/2,ws/2}

s’=s(t+δt)其中δt是一个单元集合

h={s’(x+δxi)}其中

其中ys和zs分别是感兴趣真实空间块的y坐标和z坐标,以左侧和右侧摄像机14a、14b之间的中点为参考。

ws是在x方向上平铺的感兴趣真实空间块的宽度之和。

s是在特定时间t时的感兴趣真实空间块的一系列肤色出现值p(x,ys,zs),而s’是在下一个时间t+δt时的感兴趣真实空间块的一系列肤色出现值。

δxi是在感兴趣真实空间块的x方向上的移动距离。

h是具有不同移动距离的s’的副本的集合。

如果(s∩s’(x+δx)=max(s∩h)

以及

max(s∩h)>δswipe

其中δswipe是阈值。

检测手部单击或双击:

s={p(xt+k,yt+k,zt+k)}

s’={s(t+δt)}其中和i∈{0,30}

其中{k}是目标真实空间块和相邻真实空间块。

s是在特定时间t时的感兴趣真实空间块的一系列肤色出现值p(xt+k,yt+k,zt+k),而s’是在随后时间段上的感兴趣真实空间块的一系列肤色出现值。

更特别地,对双击手部姿势:

如果s∩sdouble-tap>δdouble-tap,则双击=真

其中sdouble-tap是预定义的,δdouble-tap是阈值

sdouble-tap是在给定的s’序列在某些标准下与之匹配时确定双击的预定义序列模式。

更特别地,对单击手部姿势:

如果s’∩ssingle-tap>δsingle-tap,则单击=真

其中ssingle-tap是预定义的,δsingle-tap是阈值

ssingle-tap是在给定的s’序列在某些标准下与之匹配时确定单击的预定义序列模式。

图7a是根据本发明实施例由手部存在模块32执行的手部存在的模拟结果图,图7b是根据本发明实施例由手部控制模块34执行的vr环境里手部控制的示意图。模拟结果显示,在vr应用/环境中使用立体摄像机(左侧和右侧摄像机14a、14b)用于检测手部存在是有希望的。结果还显示,在vr环境中执行手部控制是可行的,包括(i)水平滑动,(ii)双击、和(iii)操作虚拟物体,仅作为示例。虽然图7a和7b中未显示单击,但可以简单地将双击中的两次单击的其中一次认为是单击。

如上所述,根据本发明实施例,一种使用虚拟现实头戴式显示器系统检测自由空间中的手部存在的装置和方法,利用所检测到的手部来确定vr环境里所检测到的手部的手部控制(姿势/移动)。

尽管已经显示并描述了本发明的一些实施例,但本领域技术人员应该理解,在不脱离本发明原理和精神的情况下,可以对本实施例进行改变,其范围仍由权利要求及其等同物定义。

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