一种虚拟现实系统的交互控制方法和装置及虚拟现实设备
技术领域
本发明涉及虚拟现实技术领域,具体涉及一种虚拟现实系统的交互控制方法、一种虚拟现实系统的交互控制装置及一种虚拟现实设备。
背景技术
随着虚拟现实技术的发展,体感技术作为与虚拟场景进行交互的关键技术,得到了科技巨头的普遍重视,无论是微软的Kinect,还是谷歌的Tango,都希望在人机交互上获得突破式创新,引领用户体验变革。
但是,目前与虚拟现实系统的人机交互方式主要是按键控制和手势控制等方面,无法满足某些需要用户脚部操作的应用场景的需求,也使得某些有特殊要求的用户,例如不能使用手部动作来操作虚拟现设备的残疾用户,无法使用虚拟现实设备。
发明内容
本发明提供了一种虚拟现实系统的交互控制方法和装置及一种虚拟现实设备,以解决现有的虚拟现实系统的交互控制方式无法满足某些需要用户脚部操作的应用场景的需求,也使得某些有特殊要求的用户无法使用虚拟现实设备的问题。
根据本发明的一个方面,本发明提供了一种虚拟现实系统的交互控制装置,包括模式选择单元、第一深度摄像头、第二深度摄像头、动作识别单元和指令发送单元;
所述模式选择单元,用于根据应用场景选择对用户肢体动作的识别模式,所述识别模式包括:仅手部模式、仅脚部模式、手脚并用模式;
所述第一深度摄像头,用于当所述模式选择单元选择仅手部模式或手脚并用模式时,按预设的频率采集用户手部的图像;
所述第二深度摄像头,用于当所述模式选择单元选择仅脚部模式或手脚并用模式时,按预设的频率采集用户脚部的图像;
所述动作识别单元,用于根据所述第一深度摄像头采集的图像识别用户手部的动作;以及根据所述第二深度摄像头采集的图像识别用户脚部的动作;
所述指令发送单元,用于对所述动作识别单元识别出的用户手部和/或脚部的某一动作,若存在与该动作对应的预先定义的控制指令时,则向所述虚拟现实系统的虚拟场景发送该控制指令,在所述虚拟场景中执行该控制指令。
根据本发明的另一个方面,本发明提供了一种虚拟现实设备,包括显示屏,还包括模式选择单元、第一深度摄像头、第二深度摄像头、动作识别单元和指令发送单元;
所述模式选择单元,用于根据应用场景选择对用户肢体动作的识别模式,所述识别模式包括:仅手部模式、仅脚部模式、手脚并用模式;
所述第一深度摄像头,用于当所述模式选择单元选择仅手部模式或手脚并用模式时,按预设的频率采集用户手部的图像;
所述第二深度摄像头,用于当所述模式选择单元选择仅脚部模式或手脚并用模式时,按预设的频率采集用户脚部的图像;
所述动作识别单元,用于根据所述第一深度摄像头采集的图像识别用户手部的动作;以及根据所述第二深度摄像头采集的图像识别用户脚部的动作;
所述指令发送单元,用于对所述动作识别单元识别出的用户手部和/或脚部的某一动作,若存在与该动作对应的预先定义的控制指令时,则向所述显示屏播放的虚拟场景发送该控制指令,在所述虚拟场景中执行该控制指令。
根据本发明的又一个方面,本发明提供了一种虚拟现实系统的交互控制方法,包括:
根据应用场景选择对用户肢体动作的识别模式,所述识别模式包括:仅手部模式、仅脚部模式、手脚并用模式;
当选择仅手部模式时,利用第一深度摄像头按预设的频率采集用户手部的图像;当选择仅脚部模式时,利用第二深度摄像头按预设的频率采集用户脚部的图像;当选择手脚并用模式时,同时利用第一深度摄像头和第二深度摄像头按预设的频率分别采集用户手部和脚部的图像;
根据采集到的图像识别用户手部和/或脚部的动作;
对识别出的用户手部和/或脚部的某一动作,若存在与该动作对应的预先定义的控制指令,则向虚拟现实系统的虚拟场景发送该控制指令,在所述虚拟场景中执行该控制指令。
本发明的有益效果是:本发明实施例可以根据应用场景选择对用户肢体动作的识别模式,并利用两个深度摄像头分别采集用户手部和脚部的图像,从而识别用户手部和/或脚部的动作,若存在与用户动作对应的预先定义的控制指令,则向虚拟现实系统发送相应的控制指令,并在虚拟场景中执行该控制指令。用户可以实际需求选择仅使用双手、或仅使用双脚、或手脚并用地与虚拟现实系统进行交互,满足了需要多重控制的应用场景。由于用户可以通过脚部的动作控制虚拟现实系统,因而对于某些不便于使用手部动作进行操作的特殊用户,也可以通过双脚方便地使用虚拟现实设备。
附图说明
图1是本发明一个实施例提供的一种虚拟现实系统的交互控制装置的功能框图;
图2是本发明一个实施例提供的一种虚拟现实设备的功能框图;
图3是本发明一个实施例提供的一种虚拟现实系统的交互控制方法的流程图。
具体实施方式
本发明的设计构思是:现有的虚拟现实系统人机交互方式比较单一,主要是按键控制和手势控制,无法满足某些需要用户脚部操作的应用场景,也使得某些有特殊要求的用户,例如残疾用户,无法使用虚拟现实设备。针对这种情况,本发明通过两个深度摄像头分别采集用户手部和脚部的图像,从而识别用户和脚部的动作,用户可以根据选择的动作识别模式,仅使用双手、或仅使用双脚、或手脚并用地与虚拟现实系统进行交互,满足了需要多重控制的应用场景。由于用户可以通过脚部的动作控制虚拟现实系统,因而对于某些不便于使用手部动作进行操作的特殊用户,也可以通过双脚方便地使用虚拟现实设备。
实施例一
图1是本发明一个实施例提供的一种虚拟现实系统的交互控制装置的功能框图,如图1所示,本实施例提供的虚拟现实系统的交互控制装置包括模式选择单元110、第一深度摄像头120、第二深度摄像头130、动作识别单元140和指令发送单元150。
模式选择单元110选择用户肢体动作的识别模式,包括:仅手部模式、仅脚部模式和手脚并用模式。用户可以通过操作设备外部的硬件开关或虚拟现实场景的操作界面与模式选择单元110进行交互。
本实施例中的第一深度摄像头120和第二深度摄像头130均为TOF(Time ofFlying)摄像头,通过给目标连续发送光脉冲,然后用传感器接收从目标返回的光脉冲,通过探测光脉冲的飞行时间可以得到目标物的距离。
当模式选择单元110选择仅手部模式时,第一深度摄像头120按预设的频率采集用户手部的图像,第二深度摄像头130不工作。当模式选择单元110选择仅脚部模式时,第一深度摄像头120不工作,第二深度摄像头130按预设的频率采集用户脚部的图像。当模式选择单元110选择手脚并用模式时,第一深度摄像头120按预设的频率采集用户手部的图像,同时,第二深度摄像头130按预设的频率采集用户脚部的图像。
每当第一深度摄像头120或第二深度摄像头130采集了一帧图像,动作识别单元140根据第一深度摄像头120采集的图像识别用户手部的动作,根据第二深度摄像头130采集的图像识别用户脚部的动作。
第一深度摄像头120和第二深度摄像头130以特定的频率采集图像,通常两个摄像头的频率相同,也就是说在相同的时间内可以采集到相同数量的图像。当选择手脚并用模式时,两个摄像头采集到的图像都需要动作识别单元140进行处理,此时动作识别单元140需要处理的图像是仅手部模式或仅脚部模式的两倍,在处理资源比较紧张的情况下,有可能无法满足系统实时性的需要。针对这种情况,在一个优选实施例中,交互控制装置还包括图像选择单元160,当模式选择单元110选择手脚并用模式时,图像选择单元160按照预设的权重从第一深度摄像头120采集的图像中和第二深度摄像头130采集的图像中各选择若干图像输入到动作识别单元140。权重可以根据应用场景设定,例如对于弹钢琴这种虚拟应用场景,需要用户手脚并用,手部动作比较复杂,而脚部的动作相对简单,此时可以从第一深度摄像头120采集的图像中选择80%并从第二深度摄像头130采集的图像选择20%,例如根据图像采集时间的先后顺序,先选取第一深度摄像头120采集的4帧图像,然后选择第二深度摄像头130采集的1帧图像,以此类推。然后将选择的图像输入到动作识别单元140。动作识别单元140仅根据图像选择单元160选择的图像识别用户手部和脚部的动作,根据图像的时间戳,可以将识别出的用户手部和脚部动作组合起来,提高了动作识别的速度,满足了系统实时性需求,提高了用户的沉浸感。
优选地,本实施例中动作识别单元140包括训练模块141和匹配模块142。训练模块141使用预先采集的用户手部各种动作的图像和用户脚部各种动作的图像对一卷积神经网络(CNN)模型进行训练,建立用于识别用户手部和/或脚部动作的识别模型。本实施例采用如caffe、tensorflow等CNN的算法架构,这些CNN架构内部都已经存在图像处理模块。也就是说在进行训练或进行识别的时候CNN内部会首先进行图片处理。完成训练后,得到的模型可以用于识别用户手部和脚部的动作。
匹配模块142将第一深度摄像头120采集到的图像和第二深度摄像头130采集到的图像与训练模块141建立的识别模型进行匹配,从而识别出用户手部和/或脚部的动作。采集到的图片经过CNN内部的图像处理,提取特征后会和模型进行匹配,如果匹配成功,匹配模块142会输出识别的是用户手部还是脚部,并且判定是哪一种动作。
动作识别单元140识别出的用户手部或脚部的某一动作之后,若存在与该动作对应的预先定义的控制指令,则指令发送单元150向虚拟现实系统的虚拟场景发送该控制指令,在虚拟场景中执行该控制指令。
例如,预先定义“以脚跟为支点滑动”的动作控制页面滑动,当动作识别单元140根据第二深度摄像头130采集的图像识别出用户脚部“以脚跟为支点滑动”的动作时,指令发送单元150向虚拟现实系统的虚拟场景发送页面滑动的控制指令,且页面滑动的距离以脚部滑动的角度大小为依据。
再例如,预先定义“以脚跟为支点点动”的动作控制鼠标点击,当动作识别单元140根据第二深度摄像头130采集的图像识别出用户脚部“以脚跟为支点点动”的动作时,指令发送单元150向虚拟现实系统的虚拟场景发送鼠标点击的控制指令,脚部点动一次对应鼠标单击,脚部快速点动两次次对应鼠标双击。
本实施例通过深度摄像头采集用户手部和脚部的图像,从而识别用户的动作,使得用户可以根据需要使用手部动作或脚部动作与虚拟现实系统进行交互,满足了需要多重控制的应用场景。由于用户可以通过脚部的动作控制虚拟现实系统,因而对于某些不便于使用手部动作进行操作的特殊用户,也可以通过双脚方便地使用虚拟现实设备。
实施例二
图2是本发明一个实施例提供的一种虚拟现实设备的功能框图,如图2所示,本实施例提供的虚拟现实设备包括显示屏210、模式选择单元220、第一深度摄像头230、第二深度摄像头240、动作识别单元250和指令发送单元260。本实施例中的虚拟现实设备可以为头戴设备,此时第一深度摄像头230可以设置在虚拟现实头戴设备的前方,便于向前采集用户手部的图像;第二深度摄像头230可以设置在虚拟现实头戴设备的下方,便于向下采集用户脚部的图像。
模式选择单元220用于选择用户肢体动作的识别模式,包括:仅手部模式、仅脚部模式、手脚并用模式。第一深度摄像头230用于当模式选择单元220选择仅手部模式或手脚并用模式时,按预设的频率采集用户手部的图像。第二深度摄像头240用于当模式选择单元220选择仅脚部模式或手脚并用模式时,按预设的频率采集用户脚部的图像。模式选择单元220可以是虚拟现实设备外部设置的硬件开关,也可以是显示屏210显示的用户操作界面中设置的软件开关。
动作识别单元250根据第一深度摄像头230采集的图像识别用户手部的动作;以及根据第二深度摄像头240采集的图像识别用户脚部的动作。指令发送单元260对动作识别单元250识别出的用户手部和/或脚部的某一动作,若存在与该动作对应的预先定义的控制指令时,则向显示屏210的虚拟场景发送该控制指令,在虚拟场景中执行该控制指令。
优选地,本实施例提供的虚拟现实设备还包括图像选择单元270,当模式选择单元220选择手脚并用模式时,图像选择单元270按照预设的权重从第一深度摄像头230采集的图像中和第二深度摄像头240采集的图像中各选择若干图像;动作识别单元250仅根据图像选择单元270选择的图像识别用户手部和/或脚部的动作。
动作识别单元250包括训练模块251和匹配模块252。训练模块251使用预先采集的用户手部各种动作的图像和用户脚部各种动作的图像对一卷积神经网络模型进行训练,建立用于识别用户手部和/或脚部动作的识别模型。匹配模块252将第一深度摄像头230采集到的图像和/或第二深度摄像头240采集到的图像与训练模块251建立的识别模型进行匹配,从而识别出用户手部和/或脚部的动作。
实施例三
图3是本发明一个实施例提供的一种虚拟现实系统的交互控制方法的流程图。如图3所示,本实施例提供的虚拟现实系统的交互控制方法包括:
步骤S310:根据应用场景选择对用户肢体动作的识别模式。
步骤S320:判断识别模式为仅手部模式、仅脚部模式、或手脚并用模式。当识别模式为仅手部模式时,执行步骤S330;当识别模式为仅脚部模式时,执行步骤S340;当识别模式为手脚并用模式时,执行步骤S350。
步骤S330:利用第一深度摄像头按预设的频率采集用户手部的图像。
步骤S340:利用第二深度摄像头按预设的频率采集用户脚部的图像。
步骤S350:同时利用第一深度摄像头和第二深度摄像头按预设的频率分别采集用户手部和脚部的图像。
步骤S360:根据采集到的图像识别用户手部和/或脚部的动作。
在优选实施例中,步骤S360具体包括:使用预先采集的用户手部各种动作的图像和用户脚部各种动作的图像对一卷积神经网络模型进行训练,建立用于识别用户手部和/或脚部动作的识别模型;将第一深度摄像头采集到的图像和/或第二深度摄像头采集到的图像与识别模型进行匹配,从而识别出用户手部和/或脚部的动作。
考虑到系统的实时性需求,优选地,在步骤S360之前还包括:当选择手脚并用模式时,按照预设的权重从第一深度摄像头采集的图像中和第二深度摄像头采集的图像中各选择若干图像,仅根据选择的图像识别用户手部和/或脚部的动作,从而提高动作识别的速度,提高了用户的沉浸感。
步骤S370:对识别出的用户手部和/或脚部的某一动作,若存在与该动作对应的预先定义的控制指令时,则向虚拟现实系统的虚拟场景发送该控制指令,在虚拟场景中执行该控制指令。用户可以根据实际需要使用手部动作或脚部动作与虚拟现实系统进行交互,满足了需要多重控制的应用场景,由于用户可以通过脚部的动作控制虚拟现实系统,因而对于某些不便于使用手部动作进行操作的特殊用户,也可以通过双脚方便地使用虚拟现实设备。
以上所述,仅为本发明的具体实施方式,在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上进行其他的改进或变形。本领域技术人员应该明白,上述的具体描述只是更好的解释本发明的目的,本发明的保护范围应以权利要求的保护范围为准。
需要说明的是:
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
本发明的虚拟现实系统的交互控制装置传统上包括处理器和以存储器形式的计算机程序产品或者计算机可读介质。存储器可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器具有用于执行上述方法中的任何方法步骤的程序代码的存储空间。例如,用于程序代码的存储空间可以包括分别用于实现上面的方法中的各种步骤的各个程序代码。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为便携式或者固定存储单元。该存储单元可以类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括用于执行根据本发明的方法步骤的计算机可读代码,即可以由例如处理器读取的代码,这些代码被运行时,导致该虚拟现实系统的交互控制装置执行上面所描述的方法中的各个步骤。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。单词“包括”不排除存在未列在权利要求中的元件或步骤。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。