掌桥专利:专业的专利平台
掌桥专利
首页

虚拟现实场景的对象选择方法、装置和存储介质

文献发布时间:2024-04-29 00:47:01


虚拟现实场景的对象选择方法、装置和存储介质

技术领域

本发明涉及计算机仿真技术领域,尤其涉及一种虚拟现实场景的对象选择方法和装置。

背景技术

用户界面设计中,为了帮助用户结合现实经验快速上手,往往会借助隐喻来建立标准。目前的2D界面基本采用桌面隐喻,而3D界面中,比如虚拟现实(Virtual Reality,简称VR)游戏,基础选择交互任务通常采用虚拟手隐喻和虚拟指针隐喻两种隐喻方式。虚拟手隐喻也被称作抓握隐喻,是3D世界最为自然的交互之一,用户可在检测范围内移动或操作自己的手部(一般需要持握手柄或者佩戴手套),并对应地在虚拟世界中产生虚拟手,以触摸和抓握虚拟对象;虚拟指针隐喻也被称作基于矢量的指向技术,基于用户手柄发出的射线形成的方向矢量可以计算出用户想要选择和操作的对象,类似于3D版本的鼠标光标。这两种隐喻各有优缺,比如虚拟手隐喻具有自然沉浸的交互和快速的模式转换,常用于近处物体的交互和强调沉浸感的场合;而虚拟指针隐喻不受距离的限制,并且具有更高的精准度和更少的物理移动,常用于远处物体的选择和强调准确度的场合。实际情况中,这两种隐喻方式往往结合使用。

然而,目前利用隐喻进行物体选择时,通常仅使用单一指示方式(比如只用手部),因此存在以下问题:

(1)海森堡效应:当用户在手部指示和手部确认时,手柄会发生抖动,使得指示器指示的位置可能因为抖动而产生错误。

(2)手臂疲劳:长时间握举手柄带来手部的疲劳。

(3)手眼可见性不匹配:用户通过VR头显的视线和手柄发出的射线的起点并不同,有时用户可以直接看到的物体,但手柄发出的射线却被遮挡。

(4)准确度与速度的不可兼得:用户由于以上原因往往需要花更多的时间调整来提升选择的准确度,从而影响速度。

特别是当物体体积小、位置远、分布密集或者物体重叠时,容易产生出具有歧义的交互环境,使得以上问题会更加严重。

因此,亟需一种在物体体积小、位置远、分布密集或存在遮挡的情况下,能够提升选择效率的VR物体选择方法。

发明内容

鉴于此,本发明实施例提供了一种虚拟现实场景的对象选择方法和装置,能够解决目前手部指示进行物体选择存在的问题,并极大地提升在密集或遮挡下的物体选择效率。

本发明的一个方面提供了一种虚拟现实场景的对象选择方法,该方法包括以下步骤:

实时获取并识别手势和眼动数据,在识别出第一指示手势的情况下,进入第一模式;

在所述第一模式下,基于实时获取的眼动数据识别眼部关注的虚拟现实场景中第一指示范围内的物体,并将第一指示范围内的物体确认为候选组;

建立实时获取并识别的手势数据与所述候选组中物体的平面位置和/或深度位置的映射关系,或者与所述候选组中物体的展示视角的映射关系,并基于建立的映射关系至少通过手部手势来选择候选组中的物体;

在识别到确认动作的情况下,确认当前选择的物体为最终选择的目标对象。

在本发明的一些实施例中,在进入第一模式之前,还包括:

第二模式下,获取眼动数据集和手势数据集,识别所述眼动数据集和所述手势数据集;

基于识别的手势数据集和预存储的定义手势进行手势匹配;其中,匹配的手势包括第一指示手势。

在本发明的一些实施例中,建立实时获取并识别的手势数据与所述候选组中物体的平面位置和/或深度位置的映射关系,或者与所述候选组中物体的展示视角的映射关系,包括:

基于实时获取并识别的手势数据生成手部代理空间;其中,所述手部代理空间是以进入第一模式时手部在世界坐标系的位置为起点进行候选组中物体选择的;

基于线性映射,建立手部代理空间分别与候选组中物体的平面位置和/或深度位置的映射关系,以手部手势在手部代理空间的移动表示手部手势在候选组中的位置移动来选择物体;或者建立手部代理空间与候选组中物体的展示视角的映射关系,以手部手势在手部代理空间的移动表示展示视角移动速度的改变;其中,手部手势距离起点的位置越远,展示视角移动的速度越快。

在本发明的一些实施例中,所述方法还包括:在第一模式下,进行目标对象选择时包括物体状态的更改、视觉反馈和听觉反馈;

所述物体状态的更改包括:

基于实时获取的眼动数据将第一指示范围内的物体状态由默认状态更改为悬停状态,确认为候选组后物体状态更改为聚焦状态;以及

基于建立的映射关系至少通过手部手势来选择候选组中的物体时,将选择的候选组中的物体的状态由聚焦状态更改为悬停状态,确认为目标对象后该物体状态更改为选中状态,并且候选组中的其他物体的状态更改为默认状态;

所述视觉反馈包括:选择候选组时进行视觉反馈,以及,基于建立的映射关系至少通过手部手势来选择候选组中的物体进行视觉反馈;以及

所述听觉反馈包括:在模式进行切换时进行听觉反馈,以及,基于建立的映射关系至少通过手部手势来选择候选组中的物体时进行听觉反馈,并利用声像、音高和音量表示手部手势的空间位置关系。

在本发明的一些实施例中,在确定候选组之后,还包括:以物体质心表示物体位置,确定候选组中所有物体的质心在自定义坐标系的三个维度下的最大值和最小值,将其分别作为包围盒的边界值,从而形成候选组包围盒;其中,自定义坐标系包括屏幕坐标系和用户视线在世界坐标系水平面上投影形成的深度坐标系。

在本发明的一些实施例中,所述确认动作包括:确认手势、手部手势停留时间或眼部确认动作。

在本发明的一些实施例中,基于建立的映射关系至少通过手部手势来选择候选组中的物体,包括:

在自定义坐标系中,基于建立的映射关系,通过移动手部来改变手部手势对候选组中物体的选择,并选择第二指示范围内的物体为目标对象;其中,所述第二指示范围小于第一指示范围;或者

在深度坐标系中,基于设定间距阈值对候选组中的物体进行分组;在自定义坐标系中,通过移动手部来改变候选组中物体的选择,并选择第二指示范围内的物体为目标对象;或者

确定候选组后锁定候选组,基于候选组中的物体生成候选组窗口,通过移动手部来切换候选组窗口中物体的展示视角;基于实时获取的眼动数据识别眼部关注的第二指示范围内的物体,并选择第二指示范围内的物体为目标对象。

在本发明的一些实施例中,设定间距阈值为候选组中物体的质心在深度坐标系中的最大值与最小值的差值与物体间隔数量的比值;其中,物体间隔数量为候选组物体数量与1的差值;

基于设定间距阈值对候选组中的物体进行分组,包括:

若物体间的距离小于设定间距阈值则设为一组,若物体间的距离大于设定间距阈值则设为不同组。

本发明的另一方面提供了一种虚拟现实场景的对象选择装置,该系统包括:实现上述任一项实施例所述方法的装置以及采集眼动数据和手势数据的装置。

本发明的另一方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述方法的步骤。

本发明的虚拟现实场景的对象选择方法和装置,采用手眼协同的选择消歧方案,能够通过眼部指示与手部指示解决选择的海森堡效应;通过引入眼动追踪指示来解决手眼可见性不匹配的问题;在多模态(即同时使用眼部和手部输入作为选择工具)下手部的工作量减少,手臂疲劳问题得到缓解,从而同时提升准确度和速度,极大地提升在密集或遮挡下的物体选择效率。

本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。

本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:

图1为本发明一实施例中虚拟现实场景的对象选择方法的流程示意图。

图2为本发明一实施例中候选组选择的正视图和俯视图。

图3为本发明一实施例中手部代理空间的示意图。

图4为本发明一实施例中手部代理空间在候选组中的映射的示意图。

图5为本发明一实施例中最近邻模式和中心模式构建的手部代理空间的示意图。

图6为本发明一实施例中屏幕优先的选择方式的示意图。

图7为本发明一实施例中利用深度优先方式通过手部手势选择候选组中物体的示意图。

图8为本发明一实施例中深度优先的选择方式的示意图。

图9为本发明一实施例中候选组窗口选择方式的流程示意图。

图10为本发明一实施例中候选组窗口选择方式的示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。

在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。

应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。

在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。

在下文中,将参考附图描述本发明的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。

现有技术中对象指示和选择确认都是通过手部完成的,这导致了海森堡效应、手臂疲劳和手眼可见性不匹配等问题。例如,在VR解谜游戏中,经常会发生道具的拾取、放置和投掷,以及对于各种工具的使用,当遇到道具的拾取时,道具周围往往还有其他干扰物体,这就涉及到物体选择的问题。而现有技术常常是这样处理的:对于远处的物体,通过手柄指向的射线进行选取;对于近处的物体,通过手柄模拟手去抓握选取,在这个过程中,常常因为海森堡效应、手臂疲劳手和眼可见性不匹配等问题造成道具选取错误。同时,如果遇到物体遮挡问题,现有技术往往通过把前面的物体放到一边或者弹出一个渐进式菜单再次进行道具的选择,前者比较花时间,后者则破坏了游戏的沉浸感。因此在实际操作中,如果用户是完全的新手,仅仅是进行一个道具的拾取,就会大大影响用户的游戏体验,只有当用户逐渐熟悉VR游戏时,这些问题才会逐渐变得可以接受。

基于此,本发明实施例提供了一种虚拟现实场景的对象选择方法,通过引入眼动追踪技术,利用眼动追踪来完成指示,并结合手部交互来完成确认,以多模态的方式克服了以上问题,提升了选取效率。并且对于物体密集遮挡的情况,本发明提出的手眼协同的选择消歧方案,大大提升了指示这一过程的明确性,从而提升了指示和确认的正确率。

图1为本发明一实施例的虚拟现实场景的对象选择方法的流程示意图。如图1所示的方法,具体可包括步骤S110~S140。

为了简化描述,如没有特殊说明,在下文出现的物体均指对象。

在本发明的一些实施例中,在步骤S110之前还包括步骤S100,包括:步骤S101:获取眼动数据集和手势数据集,识别所述眼动数据集和所述手势数据集。步骤S102:基于识别的手势数据集和预存储的定义手势进行手势匹配。

用户在进入第一模式之前通常需要进行初步确认,即进行手势的匹配。但是若用户希望继续使用前次设置,也可跳过初步确认,直接通过第一指示手势进入第一模式。

更具体地,第二模式下(即正常模式下),眼动追踪模块可利用眼动追踪技术追踪用户的眼部运动,获取若干帧的眼动数据(即眼动数据集),并识别所获取的眼动数据集得到眼部动作特征。其中,眼部动作特征包括:凝视时间和凝视方向。凝视时间是通过累加眼动数据得到的:首先根据凝视方向得到当前的被凝视物体,然后逐帧累加眼动数据,从而得出该物体被连续凝视的时间,即为凝视时间。若当前帧的眼动数据与上一帧眼动数据的被凝视物体不同,则清空上一帧眼动数据中被凝视物体所累积的凝视时间。凝视方向为从用户角度出发,用户视线与凝视物体之间的连线的方向。

进一步地,正常模式下,手势追踪模块可利用手势追踪技术追踪用户的眼部运动,获取若干帧的手动数据(即手势数据集),并识别所获取的手动数据得到手部动作特征。其中,手动数据包括静态手势数据和/或动态手势数据,并且手部动作特征包括:识别静态手势数据获取的动作特征和/或识别动态手势数据获取的动作特征,以及手部坐标(即手部中心坐标)。

作为示例,本发明需要利用眼部和手部进行物体选择,因此可利用配备有眼动追踪模块和手势追踪模块的VR设备在正常模式下获取用户的眼动数据或手动数据,比如通过具备眼动追踪模块的HTC Vive Eye Pro VR头显搭载体感控制器设备Leap Motion(可作为外置手势追踪模块),来追踪用户的眼部运动和手部运动。其中,眼动数据指在眼部运动时获取的包括眼部的图像,手动数据指在手部运动时获取的包括手部的图像。

优选地,眼动数据集和手动数据集可通过采集用户的眼部运动和手部运动获取,也可从公开的眼动数据集和手动数据集中获取,本发明并不限于此。

作为示例,用户可利用手柄进行手部指示(或手部交互),或者利用手势追踪设备(比如Leap Motion体感控制器设备)替换手柄,通过徒手的手势进行手部交互以进一步减少手臂疲劳。

优选地,手动数据和眼动数据可通过分析和识别,获取手部动作特征和眼部动作特征。通过识别眼动数据可获得眼部动作特征,其中,眼部动作特征包括瞳孔直径(pupildiameter)、睁眼程度(eye openess)、凝视时间(gaze duration)和凝视方向(gazedirection combined)等。通过识别手动数据可获得手部动作特征,其中,手部动作特征包括手掌世界坐标(palm position,可简称为手部坐标,即手部中心坐标)、拇指与食指接近程度(pinch strength,可简称为捏力)以及四个手指与手掌的接近程度(grab strength,可简称为抓力)等。

在本发明的一些实施例中,基于识别的手势数据集和预存储的定义手势进行手势匹配,即,利用手部动作特征进行模式的匹配。

作为示例,本发明提及的对象的选择在不同模式下需要进行不同的操作,因此各个模式间的自然切换尤为重要。然而通过眼部动作切换模式容易误操作,基于此,本发明采用改变手部动作进行模式切换的方式:当VR交互系统识别到某一特定手势时,可进行模式的切换。优选地,根据识别的手部动作特征和预存储的定义手势可进行手势的匹配,并利用不同的匹配手势进行模式的切换。其中,定义手势可包括多种单一手势以及多种单一手势的组合。比如,通过捏力和抓力的不同组合,就可以定义出不同的多种手势,这些手势可被用于作为模式切换的触发事件。例如,做出A手势(如先捏力后抓力)表示选择的开始,做出B手势(如仅捏力)表示选择的确认,以及做出C手势(如先抓力后捏力)表示上一动作的撤销等等。或者说,可以结合力学进行手势的定义。比如A手势为捏力大于0.8,抓力小于1;B手势为捏力大于0.8,抓力小于0.2,表示撤销的手势为在抓力和捏力都小于0.2的情况下快速摆手。

进一步地,本发明中提及的物体选择模式包括:正常模式、预选模式和消歧模式。正常模式下用户可以进行自由的观察而不会产生任何指示,此时手势追踪模块和眼动追踪模块虽然一直保持着采集手动数据与眼动数据的操作(即追踪手势与捕捉视线),同时进行着分析与匹配,但是不会对用户界面造成任何的交互影响,因此也不会有任何反馈。在该模式下用户需要完成手势的匹配,才能通过匹配的手势切换进入预选模式。当用户做出开始选择手势(即预选匹配手势)时,交互系统会匹配出来并切换到预选模式,在预选模式下用户可以通过凝视或手部运动的方式控制指示器与可交互物体进行交互,并且用户可通过视觉反馈观察到交互过程,该模式以选取包括目标对象的较大范围内的物体作为候选组为目标。当用户做出消歧手势时,交互系统会匹配出来并切换到消歧模式,消歧模式下,用户通过手眼协同的方式在候选组中选择出目标对象即可。其中,预选模式和消歧模式都是为了进行目标对象的选择,可将其看做一个模式,即第一模式。由此,在物体选择过程中,为了完成模式切换和手部确认的操作,匹配手势需要包括:开始选择的手势(即第一指示手势)、确认的手势和结束选择的手势。此外,在具体语义下同一手势可具有不同的含义,可由用户进行自定义设置。比如,在消歧模式下进行利用确认手势进行手部确认时,可认为该模式下的确认手势也与结束选择手势具有相同的定义,即利用确认手势确认目标对象后结束选择(或结束消歧模式)。

步骤S110:实时获取并识别手势和眼动数据,在识别出第一指示手势的情况下进入第一模式。

第一模式可分为预选模式(确定候选组)和消歧模式(在候选组中选择目标对象)两种选择模式。基于可预选匹配手势进入预选模式,基于消歧手势可进入消歧模式。

进一步地,在用户进行物体选择的过程中,需要实时获取并识别用户的的手势数据和眼动数据,以进行物体的选择。当用户作出第一指示手势时,交互系统可识别到该手势,并且交互系统进入第一模式。

在进入第一模式之后,若用户需要调整眼部指示参数,可基于识别的眼动数据集重新确定眼部指示参数,即利用眼部动作特征进行眼部指示参数在屏幕坐标系的映射。眼部指示参数包括:视点、凝视时间和指示范围,所述视点为用户视线与屏幕坐标系的交点,并且所述指示范围为在凝视时间大于设定凝视值的情况下,基于视点生成的物体选择范围。

可利用眼部动作特征和当前的物体选择模式,可进行眼部指示参数的映射,以便用户通过眼部指示选择VR场景中的物体。比如,在预选模式和消歧模式下,可先调整眼部指示参数,再通过映射眼部指示参数进行物体的选择。其中,眼部指示参数包括:视点、视点保持时间和指示范围,所述视点为凝视方向与屏幕坐标系的交点,所述指示范围为用户视线所选择的范围,是在凝视时间大于设定凝视值的情况下,基于视点生成的物体选择范围。

优选地,视点的确定方式为:首先获取用户双目在世界坐标系中所在的位置(即VR头像摄像机在虚拟世界中的世界坐标系的位置),将其作为起点,然后通过凝视方向可获得凝视向量,利用起点和凝视向量可实例化出一条用户视线,用户视线与屏幕坐标系的交点即为视点。为方便理解,可将凝视方向理解为用户视线。

视点保持时间指视点(或用户视线)固定不移动的时间,与眼部动作特征中的凝视时间表示相同的含义,可用凝视时间表示视点保持时间。

在本发明的一些实施例中,本发明是通过在自定义坐标系下生成眼部指示范围进行物体选择的,并且该自定义坐标系能够减少计算时间和编程代码量。自定义坐标系是由屏幕坐标系和凝视方向(或者是视线坐标系)在世界坐标系水平面上投影形成的深度坐标系组成的。虽然现有技术中通常采用视线坐标系(或屏幕深度坐标系),即与用户视线平行的、垂直于屏幕坐标系的坐标系,但考虑到实际对象选择过程中,深度坐标系更容易获取,并且采用深度坐标系可以显著减少计算时间和编程代码量。而且,根据相似三角形的原理,深度坐标系与视线坐标系是线性相关的,也就是说这两种坐标系在本发明中的指示结果可看作是等价的,因此本发明采用自定义坐标系与相机坐标系可看做是等价的。其中,自定义坐标系中的屏幕坐标系与深度坐标系不垂直,并且世界坐标系水平面可理解为用户在虚拟世界中脚踩的地面。比如,Unity引擎开发的VR游戏为左手坐标系,水平面为XOZ面;Unreal引擎开发的VR游戏为右手坐标系,水平面为XOY面。

作为示例,眼部指示范围是通过以下方式确定的:

首先,在凝视时间大于设定凝视值的情况下,交互系统可采集用户的眼动数据进行眼部指示;

然后,识别采集的眼动数据获取视点。在屏幕坐标系中,将以视点为圆心,半径为设定半径阈值(设定半径阈值在正常模式下是用户可调的)的圆圈作为屏幕范围,并且以用户为起点,基于视场角(Field of View,FOV)形成的圆锥体范围则为眼部指示范围。

作为示例,凝视时间或视点凝视时间不小于167毫秒的情况下可进行眼部指示,即眼部指示聚焦眼部指示范围内的可交互物体超过167毫秒后,眼部指示范围内的物体就会产生反馈。

优选地,眼部指示范围是基于自定义坐标系的三维形状的范围。并且,为减少用户在对象选择过程中的干扰,眼部指示范围在用户进行物体选择过程中并不具象化显示,但可通过物体状态的变化观察到(即视觉反馈),用户仅在进行指示范围调整时可观察到具象化的眼部指示范围。

作为示例,本发明的眼部指示范围在屏幕坐标系形成的所述屏幕范围,不仅包括圆形,还可以是基于视点形成的任意形状,比如以视点为中心形成的矩形、六边形等,本发明并不限于此。

作为示例,用户也可使用默认设置的眼部指示参数或之前设置的眼部指示参数进行眼部指示,即跳过眼部指示参数的调整步骤,本发明并不限于此。

步骤S120:在第一模式下(或在预选模式下),基于实时获取并识别的眼动数据选择第一眼部指示范围内的物体,并将第一眼部指示范围内的物体确认为候选组。

优选地,本发明的物体选择过程中的选择工具包括眼部指示和手部指示,其中手部指示包括手部消歧和手部确认。眼部指示通常是粗略的指示,会指示出一个范围内的多个物体;而手部指示(此处单指手部消歧)是精确的指示,指示结果唯一,通常是在眼部指示出某个范围后,用户以做出指示手势的位置为起点,通过保持指示手势的手部进行小范围的移动,利用手部消歧指示出眼部指示范围内的某个物体,并将其作为最终指示结果,从而完成多个物体的选择消歧;此外,用户在确定指示结果为选择目标时,可作出确认手势,从而完成该阶段的选择任务。

由上可知,虽然手部指示的指示结果是建立在眼部指示的指示结果的基础之上的(比如,手部指示不变的情况下改变眼部指示,手部指示结果可能会发生改变;反过来眼部指示不变的情况下改变手部指示,眼部指示的结果绝不会受到影响),但是眼部指示和手部指示这两种指示方式是可以同步进行的。也就是说,眼部指示和手部指示只存在着计算最终指示结果的逻辑顺序的先后,不存在指示过程中执行顺序的先后。

优选地,在所有模式下交互系统都可利用手势追踪模块和眼动追踪模块实时检测手势数据和眼动数据,一旦用户做出指示,都会被交互系统检测并匹配出来。

优选地,候选组中的物体选择的具体步骤如下:

步骤S01:交互系统匹配到开始选择手势,进入预选模式,并触发眼部指示和手部指示。

步骤S02:采集眼动数据,识别眼动数据确定视点,并遍历所有物体的质心。在屏幕坐标系中,若物体质心与视点之间的距离小于设定半径阈值,则认为该物体处于屏幕范围内。

步骤S03:基于FOV沿着深度坐标系延伸直至包括最远深度的物体,生成第一眼部指示范围(第一眼部指示范围内的物体被认为其可能是用户想要通过眼部选择的对象),并将第一指示范围内的物体确定为候选组。

优选地,步骤S01和步骤02不存在指示过程中执行顺序的先后,可看作是同步进行的。

作为示例,本发明中采用物体质心的坐标表示物体位置,也可采用物体重心、物体垂心或物体中心等的坐标表示物体位置,本发明并不限于此。物体质心由交互系统计算得到。

优选地,预选模式下,在进行眼部指示时可进行物体状态的更改。

更具体地,当交互系统匹配到开始选择手势时,进入预选模式。在凝视时间大于设定凝视值的情况下开始进行眼部指示,利用眼部指示选择第一指示范围(或第一眼部指示范围)内的物体,并将处于第一指示范围的物体的状态由默认状态更改为悬停状态。当交互系统将其确定为候选组,此时物体的状态由悬停状态更改为聚焦状态。

优选地,在物体状态进行更改的过程中,会通过视觉反馈来表示可交互物体,从而间接具象化选择工具,使得用户观察到。例如,物体状态进行更改时,可通过半透明化、改变物体自身的高亮颜色或描边颜色等方式区分物体状态、可交互物体与不可交互物体。

作为示例,如图2所示,预选模式下进行眼部指示时,可首先遍历屏幕坐标系中所有物体的质心,将质心与视点之间的距离小于设定半径阈值的物体作为屏幕范围的物体,并基于FOV沿着深度坐标系方向延伸,生成第一指示范围,将指示范围内的物体由默认状态(同正常模式下的物体显示)更改为悬停状态(如利用橙色描边高亮显示)。然后通过确认手势将处于悬停状态的物体确定为候选组,并将候选组中的物体的状态由悬停状态(如利用橙色描边高亮显示)更改为聚焦状态(如利用红色描边高亮显示)。并且,候选组之外的物体为不可交互物体,可通过半透明化不可交互物体进行视觉反馈,也可不进行任何视觉反馈,只突出显示候选组中的物体。

步骤S130:建立实时获取并识别的手势数据与所述候选组中物体的平面位置和/或深度位置的映射关系,或者建立实时获取并识别的手势数据与所述候选组中物体的展示视角的映射关系;并基于建立的映射关系至少通过手部手势来选择候选组中的物体。

该步骤中的手部手势并不是指交互系统所识别的手势,而是仅指虚拟手的移动。

更具体地,基于消歧匹配手势进入消歧模式,实时获取和识别眼动数据和手势数据,基于识别的手势数据确定虚拟现实场景中的手部坐标,将手部坐标映射至候选组中的物体上以进行手部消歧(手部消歧,即通过手部手势来选择候选组中的物体)。基于识别的眼动数据和手部消歧,选择位于候选组中的第二指示范围内的物体,并将其确认为目标对象。

在该步骤中,由于需要利用眼部指示和手部指示这两种选择工具,因此当匹配到用户做出消歧匹配手势后,交互系统会从预选模式切换为消歧模式,并同时触发眼部指示和手部消歧。

为方便后续的手部消歧,在进入消歧模式之前,需要生成候选组包围盒,以便在自定义坐标系中映射手部坐标;或者在交互系统匹配到消歧手势时(即触发手部消歧时),即可生成候选组包围盒。优选地,候选组包围盒是基于候选中的所有物体的位置确定的。例如,利用物体的质心表示物体的位置,则将候选组中所有物体的质心在自定义坐标的三个维度的最大值和最小值分别作为包围盒的边界,形成的立方体可作为候选组包围盒。

在本发明的一些实施例中,在进入消歧模式之前,还包括:以物体质心表示物体位置,确定候选组中所有物体的质心在自定义坐标系的三个维度下的最大值和最小值,将其分别作为包围盒的边界值,从而形成候选组包围盒。

在本发明的一些实施例中,触发手部消歧指的是,采集用户的手势数据,并识别采集的手势数据,基于识别的手势数据确定手部坐标以及确定手部坐标在候选组中的映射。更具体地,交互系统匹配到消歧手势后,实时采集用户的手势数据,并识别用户的手势数据,将进入消歧模式时手部在世界坐标系中的位置(可通过手势追踪模块分析获得)为手部消歧的起始位置。

作为示例,手部坐标也可用手部代理空间表示,基于实时获取并识别的手势数据可生成手部代理空间。如图3所示,手部代理空间为世界坐标系固定偏移位置产生原点(比如原点是基于游戏引擎确认的),生成的一个立方体空间,该立方体空间的宽度为W,高度为H,深度为D。该手部代理空间中包括虚拟手,该虚拟手在手部代理空间的位置(例如可用手部质心的位置表示虚拟手的位置)可表示为(w,h,d),在手部代理空间的立方体内可按照手部的位置沿立方体的坐标轴的三个方向偏离原点的距离确定手部的坐标。其中,立方体空间的大小可由用户自定义调整,并且该立方体空间代表着手部在世界坐标系中的运动范围,即虚拟手必须在手部代理空间中移动,若虚拟手无法选取世界坐标中的某一物体,则通过重新调整手部代理空间的位置以调整手部代理空间中虚拟手的位置。

由于手部坐标在VR场景中通常为点坐标,难以完成映射,因此本发明利用手部代理空间在候选组包围盒中的映射获得手部坐标在候选组中的映射。作为示例,手部代理空间在候选组包围盒中的映射可以仅为手部代理空间在屏幕坐标系的映射,也可为手部代理空间在自定义坐标系三个维度的映射。

优选地,如图4所示,手部代理空间在屏幕坐标系的映射过程包括:

交互系统遍历屏幕坐标系下候选组中所有物体的质心坐标,分别得到两个维度下的最大值和最小值。假设左边界值为xl,右边界值为xr,上边界值为yu,下边界值为yd;

那么手部代理空间中手部在候选组包围盒中的映射坐标(xi,yi)为:

xi=xl+w*(xr-xl)/W;

yi=yd+h*(yu-yd)/H;

即,在屏幕坐标系的两个不同的维度下,基于线性映射,将手部代理空间映射到候选组包围盒中。用户通过移动手部在代理空间的位置,手部映射在候选组包围盒中也可进行相应的移动,进而进行对象的选择。

优选地,建立实时获取并识别的手势数据与所述候选组中物体的平面位置和/或深度位置的映射关系,或者与所述候选组中物体的展示视角的映射关系,即手部代理空间与候选组包围盒的映射关系,包括:

(1)手部坐标的位置映射:基于线性映射,建立手部代理空间分别与候选组中物体的平面位置和/或深度位置的映射关系,以手部在手部代理空间的移动表示手部在候选组中的位置移动来选择物体。

(2)摄像机视角(即候选组中的物体展示视角)的移动速度映射:建立手部代理空间与候选组中物体的展示视角的映射关系,以手部在手部代理空间的移动表示展示视角移动速度的改变;其中,手部坐标距离手部起始位置的位置越远,展示视角移动的速度越快。

在本发明的一些实施例中,如图5所示,手部代理空间可通过最近邻模式或中心模式进行构建,两种构建模式具有不同的手部代理空间原点和世界坐标系的偏移关系。通过最近邻模式构建的手部代理空间中,手部位于与深度坐标系垂直并与用户距离最近的面(或与深度坐标系垂直并与候选组中的物体距离最远的面)的中心;通过中心模式构建的手部代理空间中,手部位于手部代理空间的中心。

最近邻模式中手部的起始位置位于手部代理空间最近邻面的中心,即虚拟手部的起始位置的坐标为(W/2,H/2,0),当手部沿着正前方方向移动(手部代理空间中沿着D维度所在的直线方向),则手部在d维度的坐标将会增加;中心模式中虚拟手的默认坐标(或起始位置)为该立方体空间的中心,即虚拟手部的默认坐标为(W/2,H/2,D/2)。

例如,当用户刚做出消歧手势时,两种构建模式的默认的手部在代理空间中的位置都为(W/2,H/2),将w=W/2,h=H/2代入上述公式中,可得出xi=(xr+xl)/2,yi=(yu+yd)/2,即默认的手部的映射坐标位于候选组包围和的中心。

更具体地,当交互系统匹配到消歧手势时进入消歧模式。在消歧模式下,通过手眼协同(眼部指示和手部指示结合)可从候选组中选择出处于第二指示范围的目标对象。并且,同预选模式一样,消歧模式进行物体选择时也存在物体状态的更改、视觉反馈以及听觉反馈。

在本发明的一些实施例中,交互系统中包括多感官反馈系统,可在物体选择过程中进行视觉反馈和听觉反馈。反馈系统的目的是帮助用户感知当前选择工具的空间信息和状态信息,从而提升用户使用选择工具的效率。在用户通过手眼协同的选择消歧方案进行对象选择时,反馈系统都会实时提供持续的反馈。视觉反馈通常不会直接提供,而是通过可交互物体的状态进行视觉反馈以及通过手部控制器进行听觉反馈,使得用户能够感知当前选择工具的空间信息和状态信息。

优选地,从作用机制上,多感官反馈系统可以分为强调、映射和排除三个部分,这三部分都是通过视觉和听觉这两种感官来呈现:

(1)强调机制的作用在于提醒用户物体状态的更改或者当前选择模式的切换,即强调的作用在于防止用户丢失当前注视的物体,使得用户正常使用选择工具,因此所有利用强调机制的反馈必须与眼部指示器严格同步。比如,用户状态进行更改时可利用强调机制进行视觉反馈(假设可通过改变物体材质、改变物体自身的高亮或物体的描边颜色来反馈),选择模式进行切换时可利用强调机制进行听觉反馈(可通过音效和音量进行听觉反馈,假设用户进入预选模式或消歧模式时会播放不同的提示音效,用户进行手部确认或撤销上一步操作时也会播放不同的提示音效)。

(2)映射机制的作用在于帮助用户量化当前选择工具的参数。虽然在进行物体选择的过程中会根据输入的用户手势数据和眼动数据映射选择工具的参数,但由于选择工具并不具象化显示,因此除了能感觉到手部的移动和眼部的转移外,选择工具的参数并不能够很好的量化。比如,用户在手部消歧时的手部移动,或者说自定义坐标系的手部映射移动时可通过听觉进行反馈:在虚拟场景的3D空间中,手部的移动包括6个自由度(可以向前、向后、向左、向右、向上或者向下移动手部),即在三个维度中移动,可通过声像、音高和音量分别表示这三个维度,比如用户在进行手部消歧的过程中会持续进行听觉反馈,当手部映射坐标位于候选组靠左的位置时听觉反馈的声像会靠左。并且为减少干扰,眼部指示器通常只进行同步地视觉反馈。

作为示例,通过声像、音高、音量来表达空间位置关系的6个自由度。假设在用户进行手部消歧过程中会持续听到指示声音,当映射坐标位于候选组靠左的位置时,指示声音的声像会靠左,当映射坐标位于候选组靠右的位置时,指示声音的声像会靠右;当映射坐标位于候选组靠上的位置时,指示声音的音调会变高,当映射坐标位于候选组靠下的位置时,指示声音的音调会变低;当映射坐标位于候选组靠近处的位置时指示声音的音量会变大,当映射坐标位于靠远处时指示声音的音量会变小。这些维度变化的幅度都是可以通过听觉直观感受的,当用户移动手的时候声音的变化会帮助用户量化自己选择工具的参数,从而可以更好的使用选择工具。

(3)排除机制的作用在于剔除掉不需要交互的部分(如不可交互物体)或者影响交互的部分,即排除干扰信息,使得用户的注意力集中到重要的区域,有利于减少用户的误操作。比如,在消歧模式下,在深度坐标系中选择物体的时候,前面的物体可能会造成遮挡,因此可将其进行半透明化的视觉反馈,以便更好地观察当前消歧效果;在消歧模式下,当用户指示到被排除的物体时,可停止听觉反馈,使用户了解指示情况。

作为示例,排除的听觉反馈可通过动静结合来表现。例如,当用户选择到被排除的物体时,指示声音会通过大幅降低音量或者利用声音消失的音频技术,使得听觉反馈“由动到静”,从而提醒用户,当前选择工具指示到了被排除的物体,需要调整回原来的状态。

在本发明的一些实施例中,用户的选择工具包括眼部指示和手部指示,也可将其划分为控制器和指示器。控制器包括手部控制器(即手部代理空间)和眼部控制器(即用户的眼部指示);指示器包括手部指示器(即手部指示,也可为手部代理空间在自定义坐标系下的映射))和眼部指示器(即眼部指示范围)。对于控制器和指示器,多感官反馈系统通常不会直接向用户提供反馈,即用户不能直接观察到,这是因为这些可视化的工具,尤其是视觉反馈通常会干扰用户的视线,影响用户选择效率。而对于VR场景的新使用者来说,可选择显示任意选择工具以加快熟悉操作,例如,可以选择开启部分视觉反馈、可视化视线光标(眼部指示)、手部代理空间或可视化手部映射坐标(比如在候选组包围盒的手部映射坐标上放一个指示箭头)等等。

优选地,多感官反馈系统能够用于反馈选择工具的空间信息和选择工具的状态信息。选择工具的空间信息包括指示器和控制器在虚拟空间中的位置,手部的移动方向和速度,以及手部映射坐标与可交互物体的相对空间关系等。选择工具的状态信息包括指示器与控制器当前所处的选择模式和可与选择工具进行交互的物体状态等。

在本发明的一些实施例中,本发明中提出了三种结合眼部指示和手部指示进行物体选择的方式,包括:

(1)屏幕优先的方式,包括以下步骤:

步骤S11:在屏幕坐标系下,消歧模式时可基于实时获取并识别的眼动数据,利用眼部指示选择处于第三眼部指示范围内的物体(此时用户视线同候选组确定时的用户视线一样,即眼动数据不发生改变,但交互系统进入消歧模式后,会根据视点再次重新确认一个更小的眼部指示范围,即第三眼部指示范围),使得物体的状态从聚焦状态(如红色描边高亮显示)转化为悬停状态(如橙色描边高亮显示),并将处于悬停状态的物体确定为子候选组(比如通过确认动作确认),物体状态更改为聚焦状态(如红色描边高亮显示);候选组中其他物体状态更改为默认状态(同正常状态下的物体显示)。

步骤S12:在深度坐标系下,利用手部坐标在候选组中的映射,通过移动手部来进行手部消歧,直至手部选择到处于第二指示范围内的目标对象(消歧过程中可以通过将候选组中存在遮挡的物体变为半透明的材质进行视觉反馈,并在该过程中伴随有映射机制和排除机制的听觉反馈):通过移动虚拟手在手部代理空间的位置,可对应地移动手部映射坐标在第三眼部指示范围内的位置,选择目标物体。在该步骤S12中,用户视线同步骤S11中一样,不发生任何变化。

例如,如图6所示,根据手部在屏幕坐标系的候选组包围盒中的坐标(xi,yi),通过眼部指示将候选组中物体质心在第三指示范围以内的物体(以(xi,yi)为中心得到第二屏幕范围,并基于FOV沿深度坐标系延伸直至最远深度的物体,得到第三指示范围)列为子候选组(包括立方体状物体和球状物体);然后对子候选组进行深度排序,即按照物体质心在深度坐标系的值,按照从近到远的方式,将每个物体都分为单独的一组。最后保持眼部不动(即眼部指示参数不改变,同第二指示范围相同),前后移动(沿深度坐标系所在的方向)手部得到唯一的目标对象,完成手部消歧,选择目标对象(选择子候选组中的立方体状物体)。

优选地,为方便理解,本发明对上述步骤S11和步骤S12分别进行表述,然而用户在实际进行物体选择时,可同时进行步骤S11和S12,并且该方式也可以不经过子候选组的选择,在确定候选组后直接通过手部手势选择候选组中的物体:在基于眼动数据选择候选组后,用户视线不发生任何改变,仅通过手部手势进行候选组中物体的选择,此时用户的手部可在自定义坐标系下进行自由移动(即同时在屏幕坐标系和深度坐标系下移动),直接通过手部选择第二指示范围内的物体为目标物体。在该方式中(不包括子候选组的情况),无需过多的确认动作,在整个第一模式下,用户仅在目标对象进行确定时执行确认动作即可。

然而,由于进行手部消歧时,子候选组(和候选组)并未锁定,所以当用户移动眼部时,子候选组(和候选组)也会发生变化,即手部消歧过程中眼部指示参数可实时发生变化(即用户移动眼部使得第三指示范围发生改变)。

(2)深度优先的方式

在本发明的一些实施例中,设定间距阈值为候选组中物体的质心在深度坐标系中的最大值与最小值的差值与物体间隔数量的比值;其中,所述物体间隔数量为候选组物体数量与1的差值。

①利用深度优先方式进行物体选择时,通过手部在手部代理空间的D维度的坐标值d,可以改变当前手部消歧所指示的物体组别,可以将其看作手部代理空间在候选组包围盒中深度坐标系维度的映射。

例如,如图7所示,根据设定间距阈值可将候选组中的物体分为N=3个深度组,分别为:第一组,圆锥状物体;第二组,齿轮状物体和立方体状物体;第三组,球形物体。将手部代理空间的深度D进行N等分,则根据此时手部在深度坐标系的坐标d可以得出现在手部指示的物体组别。假设手部指示的为第n组(1≤n≤3,n为整数),则公式可表示为:

n=d*N/D;

其中,n向上取整。

假设手部还处于触发消歧模式时的起始位置,手部代理空间为中心模式,则手部的坐标为(W/2,H/2,D/2),此时n=1.5,向上取整为2,则当前手部指示的为第二组中的物体。若用户想要指示其他组别的物体,例如第三组,则需要沿着正前方方向移动的距离应大于D/6,使得d大于2D/3,才能够手部指示到第三组。

作为示例,由于用户在进行物体选择过程中交互系统并不会提示用户如上述计算方式得到的移动距离,仅通过视觉反馈使用户观察到,因此在进行物体选择时也可不进行手部代理空间在深度坐标系的映射。

②深度优先的方式,包括以下步骤:

步骤S21:在深度坐标系下,基于设定间距阈值对候选组中的物体进行分组,通过移动手部来改变手部映射坐标在候选组中的位置,直至手部选择到处于第三手部指示范围内的物体(手部消歧过程中可将遮挡的物体变为半透明化,并伴随有映射机制和排除机制的听觉反馈),处于第三手部指示范围内的物体的状态由聚焦状态更改为悬停状态;将其确定为子候选组后,第三手部指示范围内的物体的状态更改为聚焦状态。

在该步骤中,凝视方向与候选组确定过程中的凝视方向一样,不发生改变。

步骤S22:在屏幕坐标系中,利用手部消歧选择处于第二手部指示范围内的物体,使得物体的状态从聚焦状态更改为悬停状态,再更改为聚焦状态,而候选组中的其他物体(除目标对象外的物体)恢复默认状态。

深度优先方式中针对物体状态变化的视觉反馈和听觉反馈同屏幕优先方式,在此不赘述。

优选地,深度优先的选择方式中,用户也可直接结合步骤S21和步骤S22,在进行手部消歧时不区分深度坐标系和屏幕坐标系:确定候选组后,在自定义坐标系下自由移动手部,省略子候选组的选择,直接在候选组中选择目标对象。在该方式中(不包括子候选组的情况),无需过多的确认动作,在整个第一模式下,用户仅在目标对象进行确定时执行确认动作即可。

作为示例,设定间距阈值的计算方式如下所示,通过该设定间距阈值的划分方式,最多可将物体分为n个深度组。

假设候选组中共包括n个物体,其中最远深度的物体的质心在深度坐标下的值为Zmax,最近深度的物体的质心在深度坐标下的值为Zmin,则设定间距阈值G的公式可表示为:

G=(Zmax-Zmin)/(n-1);

例如,如图7所示,在深度坐标系中深度组的划分方式如下:

圆锥状物体的质心在深度坐标系中的投影表示该物体的位置,则圆锥状物体的深度为z1,齿轮状物体的深度为z2,立方体状物体的深度为z3,以及球形物体深度为z4。若z2-z1大于G,则圆锥状物体为第一组;若z3-z2小于G,则为同一组;若z4-z2大于G,则z4不属于第二组,将其划分为第三组。按照上述步骤,可见图7中的候选组的四个物体分为三个深度组,即第一组,圆锥状物体;第二组,齿轮状物体和立方体状物体;第三组,球形物体。其中,z1、z2、z3和z4表示图中四个物体的质心在深度坐标系投影。即根据相似三角形原理,物体在深度坐标系和视线坐标系的间距比值是等价的,为减少运算时间和代码量,用物体质心在深度坐标系的距离表示物体间的间距。

作为示例,在进行深度组划分时,与该深度组中最小深度值进行比较,确认物体间的间距是否大于设定间距阈值。若物体间的距离小于设定间距阈值则设为一组,若物体质心间的距离大于设定间距阈值则设为不同组。

优选地,如图8所示,深度优先方式首先按照设定的间距阈值将候选组中的物体进行深度排序,通过改变手部在手部代理空间中的d,可在深度坐标系方向上选择某个特定的深度组作为子候选组(在该过程中眼部不动,即眼部指示参数保持与第一指示范围相同的指示参数),即图8中的圆锥状物体;然后根据手部代理空间在屏幕坐标系的候选组包围盒中的映射,选择第二指示范围的物体(比如,物体质心距离手部映射坐标(xi,yi)最近的物体)作为目标对象,完成手部消歧;最后选择唯一的目标对象(也即图8中的圆锥状物体)。

例如,处于第二指示范围的物体为质心距离手部映射坐标最近的物体,若手部消歧时距离手部映射坐标最近的物体并不是想要选择的物体(即目标对象),则移动手部直至目标对象距离手部映射坐标最近。

屏幕优先的方式和深度优先的方式都是从较大的第一眼部指示范围中选择的较小的第三指示范围,再从第三指示范围中选择出处于第二指示范围的目标对象。另外,这两种方式的候选组确定之后,由于并没有进行目标锁定,若用户的视线移动,则指示范围会发生改变,候选组相应的也会发生改变。

优选地,由于屏幕坐标系为二维线性映射,深度坐标系为一维非线性映射,所以无法同时进行物体的选取,因此需要考虑利用屏幕优先的方式(先在屏幕坐标系下得到子候选组,再在深度坐标系下从子候选组中选择出唯一的目标对象)还是深度优先的方式(现在深度坐标系下得到子候选组,再在屏幕坐标系下从子候选组中得到唯一的目标对象)进行物体的选取。两种方式对于同样的虚拟现实场景可能会产生不同的选择结果。屏幕优先方式由于首先进行二维选取,选择的准确性较高,这是因为用户对三维空间的信息感知过程中,对于深度信息的感知要弱于屏幕信息,即用户往往优先感知面向自己的屏幕信息,其次才是垂直的深度信息。

(3)候选组窗口的方式

利用候选组窗口进行消歧的原理为,在当前视角下看上去重叠遮挡的物体在另外的视角下通常不会存在遮挡,以致于无法进行物体的选择。该候选组窗口进行消歧的方式主要通过手眼协同的方式生成新的候选组窗口,在候选组窗口中完成对被遮挡物体的消歧选择。该候选组窗口进行消歧的方式的选择工具中的指示器仅包括眼动指示器,即本方案只需要进行眼部指示,不存在手部消歧的动作,并且手部代理空间在自定义坐标系的映射用于改变候选组窗口中的摄像机视角,并不同于屏幕优先方式和深度优先方式中的手部映射坐标。

候选组窗口选择方式如图9和10所示,具体步骤包括:正常模式下,选择工具对用户不可见,也不会对虚拟场景产生任何影响,即用户可以自由观察而不会影响虚拟场景中的任何物体(图10(a))。当用户做出开始选择手势时会进入预选模式(若交互系统没有匹配到开始选择手势,则继续上一步的操作,即用户继续保持自由观察),在预选模式下,眼部指示器通过指示选择出相应的第一眼部指示范围,第一眼部指示范围内的物体都会被选中,通过眼部控制器生成候选组,并手部确认(图10(b))。当用户做出消歧手势时会进入消歧模式(若交互系统没有匹配到消歧手势,则继续上一步的操作),在消歧模式下,锁定候选组并生成候选组窗口(候选组以外的物体将全部半透明化以进行视觉反馈),通过移动手部改变候选组窗口中的摄像机视角(图10(c)),最后用户在候选组窗口通过眼部控制器从候选组中选择出第二眼部指示范围内的目标物体,并通过手部确认将其确定为目标对象(图10(d))。进一步地,完成消歧选择后(交互系统识别到结束选择手势),候选组窗口消失,候选组取消锁定,消歧模式结束,返回正常模式以进行后续操作(图10(e))。

作为示例,候选组窗口的默认摄像机视角位于候选组包围盒最短轴的垂直方向上,其中,候选组包围盒最短轴指候选组包围盒的最短边,计算方式如下:

以物体质心表示物体位置,确定候选组中所有物体的质心在自定义坐标系的三个维度下的最大值和最小值,计算每个维度下的最大值与最小值的差,差值最小值所在的维度对应的候选组包围盒的边为包围盒最短轴。

进一步地,摄像机的默认视角设置为候选组包围盒最短轴的垂直方向是因为,候选组包围盒体积恒定的情况下,假设候选组包围盒与x轴对应的边最短,则和该x轴垂直的yoz面就最大,以yoz面的视角能够看到的候选组物体就越分散,遮挡就越少。

在本发明的一些实施例中,当默认的摄像机视角存在遮挡时,需要移动手部代理空间中的虚拟手的位置,从而转换摄像机视角,以减少遮挡。例如,当手向前或向后时,小窗口的摄像机将拉近或推远;当手向左或向右时,小窗口的摄像机将围绕候选组中心左右旋转;当手向上或向下时,小窗口的摄像机将围绕候选组中心上下旋转。更具体地,手部在手部代理空间中的移动距离表示摄像机移动速度,虚拟手(即手部)距离手部起始位置越远,则摄像机移动速度越快。

优选地,候选组窗口方式不同于屏幕优先方式和深度优先方式的是,会对候选组进行锁定,因此用户可以移动视线而不会改变候选组的状态,因此用户可以利用眼部指示在候选组窗口中进行指示,选择被遮挡的目标物体;通过手部确认(即确认手势)将其确定为目标对象,从而完成消歧选择。

步骤S140:在识别到确认动作的情况下,确认当前选择的物体为最终选择的目标对象。

在本发明的一些实施例中,确认动作包括:确认手势、手部手势停留时间或眼部确认动作。例如,交互系统识别到确认手势,则将指示的物体确定为目标对象;或者,交互系统识别到消歧模式下手部在候选组中某个物体上的停留时间大于设定停留时间,则将该物体确定为目标对象;或者交互系统识别到眼部确认动作(比如连续眨眼三次),则将指示结果确定为目标对象。此外,确认动作还可为眼部动作与手部动作的结合,用户可自行定义,本发明并不限于此。

在屏幕优先和深度优先的选择方式中,用户可在仅在目标对象确定时执行确认动作(无需确定子候选组的情况下),用户可快速进行目标对象的选择;而在候选组窗口的选择方式中,确定候选组和确定目标对象时,都需要执行确认动作。

更具体地,在通过手部确认手部消歧或眼部指示的指示结果(即通过手部确认处于第二指示范围的物体)为目标对象后,目标对象的物体状态由聚焦状态更改为选中状态(如红色高亮显示),候选组中的其他物体(除目标对象外的物体)恢复默认状态。

优选地,用户完成目标对象的选择后,可结束第一模式,返回正常模式。

作为示例,物体状态还包括按下状态,指选择物体的瞬间状态,介于悬停状态和聚焦状态之间,类似于2D界面中按下鼠标的瞬间状态。由于其状态维持较短,本发明中未进行详细阐述。在该状态下也可以做出视觉反馈,比如给该状态下的物体持续的动效以提醒用户当前正在选择该物体。

本发明提出的三种对象选择方式,都需要可交互物体件具有碰撞体积,如果物体之间可互相重叠,那么最终目标对象的选择可能会出现误差。

本发明提出的虚拟现实场景的对象选择方法具有以下的优势:

(1)利用手眼协同的选择消歧方案,消除了目前物体选择过程中的手眼可见性不匹配的问题,通过眼部指示与手部确认的方式解决选择的海森堡效应,有利于减少的眼部与手部疲劳,能够同时提升准确度和速度。

(2)可以更好的选择重叠、小而远的物体,具有更高的物体选择率。

(3)具有更丰富的反馈系统,帮助用户更好地理解交互系统的响应和当前状态,从而调整自己的行为,提升交互效率;并且能够扩展VR游戏场景,可以设计出更加丰富的游戏玩法。

与上述方法相应地,本发明还提供了一种虚拟现实场景的对象选择装置,该装置包括:能够实现上述所述方法的装置以及采集眼动数据和手势数据的装置。

在本发明的一些具体实施例中,该装置包括:

(1)数据采集模块,包括眼动追踪模块和眼动追踪模块,用于获取用户的眼动数据和手动数据。例如,可使用对应硬件的接口(Application Programming Interface,简称API)来获取用户交互行为的原始数据。

(2)数据处理模块,用于识别眼动数据,确定眼部指示参数,以及识别手动数据并进行手势匹配;其中,匹配的手势包括开始选择手势、确认手势、消歧手势和结束选择手势,所述眼部指示参数包括:凝视时间、视点和指示范围,所述视点为凝视方向与屏幕坐标系的交点,所述指示范围为眼部指示所选择的范围,是基于视点确定的。比如,处理与分析采集到的数据,将输入的原始数据转化为具有更高语义的,便于交互应用模块理解的高级数据。

(3)交互应用模块,用于识别开始选择手势以进入预选模式,在凝视时间大于设定凝视值的情况下进行眼部指示以选择处于第一指示范围内的物体,通过识别确认手势进行手部确认,使得处于第一指示范围内的物体被确定为候选组;识别消歧手势以进入消歧模式,通过识别眼部指示、手部确认和手部消歧,选择候选组中处于第二指示范围内的物体为目标对象;识别结束选择手势以返回正常模式;其中,手部消歧是利用手部代理空间在虚拟现实场景中的映射进行消歧的。

更具体地,该模块会将上一模块传递过来的数据进行分析匹配,根据上述三种不同的选择方式来转化为对应的模式与工具参数。比如,当通过特定的手势开启手动消歧(触发选择工具)后,屏幕优先方式和深度优先方式会把代理空间下的坐标根据屏幕坐标计算和深度坐标计算转化为映射坐标,然后根据映射坐标指示出唯一物体,完成消歧;而候选组窗口的方式会根据代理空间下的坐标改变摄像机视图,此时也可以做出特定手势来切换不同摄影机模式。这一过程中用户再通过凝视射线在候选组中进行二次选择,指示出唯一物体,完成消歧。

(4)物体状态模块,用于在预选模式和消歧模式下,进行眼部指示和手部确认时进行物体状态的更改。作为一个接口,所有可以被用户交互的物体都添加这个接口,记录着物体在选择过程中的各种状态,比如默认状态、选中状态、悬停状态、聚焦状态、按住状态等等。状态与状态之间通过指示和选择事件进行转移。比如没有指示器影响下的物体有两种状态:默认状态表示未被选中,选中状态表示已被选中。对默认状态的物体完成一次选择,选择结束后,物体将变为选中状态;对选中状态的物体完成一次选择,选择结束后,物体将变回默认状态。一次完整的选择中,物体的状态会这样变化:当物体被指示器指示为候选组时,这些物体会变为聚焦状态,在聚焦状态的基础上又被消歧机制中的映射坐标指示到,那么又会变为悬停状态,此时如果做出确认选择的手势保持不释放,悬停状态的物体会变成按住状态,释放后,物体将变回选中状态或者默认状态。可以看出不同状态之间还存在优先级,同时存在多个状态时,优先级高的状态将覆盖优先级低的状态。状态按优先级排序分别是:按住状态>悬停状态>聚焦状态>默认和选中状态。在物体没有选择交互的情况下,物体状态包括默认状态和选中状态;当物体处在交互过程中,物体状态包括悬停状态、按下状态和聚焦状态。默认状态指正常模式下物体呈现的状态,选中状态指物体被选中为目标对象的状态,悬停状态指选择工具(包括眼部关注和手部手势的选择)指示物体的状态,按下状态指选择工具对物体进行选择的瞬间状态,聚焦状态指选择工具确定指示物体的状态。

(5)反馈模块,用于在对象选择过程中进行视觉反馈和听觉反馈。在这一模块中,视觉反馈的功能主要是根据物体状态和交互行为动态地改变物体的视觉显示方式,从而起到视觉提示、帮助用户进行选择的作用;而听觉反馈的功能主要是是根据交互行为动态地播放声音,从而从听觉上能够帮助用户进行空间信息感知,帮助用户做出选择。交互应用模块、物体状态模块和反馈模块之间可进行数据的联动,即针对交互应用模块中某一交互指示,可利用物体状态模块进行物体状态的更改和利用反馈模块进行反馈。

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述边缘计算服务器部署方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。

本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。

需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。

以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 选择对象的方法、装置、终端及存储介质
  • 一种Hadoop对象存储高可用方法、系统、装置及可读存储介质
  • 分布式对象存储数据冗余方法、装置、设备及存储介质
  • 对象关系识别方法和装置、存储介质及电子装置
  • 测试库失效对象监控方法及装置、计算机装置及存储介质
  • 虚拟现实中的对象选择方法及装置、电子设备、存储介质
  • 虚拟场景的对象选择方法、设备、存储介质及程序产品
技术分类

06120116593754