发明内容
本发明提供了一种3D场景中输入手势的系统和方法,以解决现有技术在3D场景中无法真正模拟用户手部动作的问题。
为达到上述目的,本发明的技术方案是这样实现的:
一方面,本发明提供了一种3D场景中输入手势的系统,所述系统包括:手势采集单元、手势识别单元、手势解析单元和手势显示单元;
所述手势采集单元,用于分别对用户的手势实时采集至少两路视频流数据;
所述手势识别单元,用于从所述至少两路视频流数据中识别出实时变化的手势形状;
所述手势解析单元,用于解析所述实时变化的手势形状,获得对应的手势动作;
所述手势显示单元,用于将所述手势动作处理成3D图像实时显示在所述3D场景中。
优选地,所述系统还包括手势操作单元,
所述手势操作单元,用于在预先设定的语义数据库中获得所述手势动作的手势语义和该手势语义对应的操作指令;以及将所述手势语义对应的操作指令发送给所述3D场景,使所述3D场景进行所述手势语义的操作。
优选地,所述手势识别单元包括:
采样模块,用于对所述至少两路视频流数据中的各路分别进行采样处理,获得每次采样的视频图像数据;
手势轮廓提取模块,用于判断所述视频图像数据中是否包含手部信息,若包含则对所述视频图像数据进行二值化处理,提取手部轮廓信息;
手势形状识别模块,用于在预先设定的手势模型数据库中识别出所述手部轮廓信息对应的手势形状;
手势形状合成模块,用于合成各路视频流数据的每次采样识别出的手势形状,得到实时变化的手势形状。
优选地,所述手势解析单元包括:
位置信息获取模块,用于获得实时变化的手势形状的相对空间位置信息;
触点信息获取模块,用于根据实时变化的手势形状上确定出的触点,获得所述实时变化的手势形状上的触点的变化信息,所述触点为标识手部的特征关键点;
手势动作获取模块,用于根据所述相对空间位置信息和所述触点的变化信息,在预先设定的动作数据库中获得相应的手势动作。
进一步优选地,所述位置信息获取模块具体用于,
从所述至少两路视频数据流的视频图像信息中获得手势形状变化的角度信息;
根据所述手势形状变化的角度信息获得用户手势的距离信息,或者通过距离传感器实时感应用户手势的距离信息;
根据所述手势形状变化的角度信息和所述用户手势的距离信息获得用户手势的相对空间位置信息。
另一方面,本发明提供了一种3D场景中输入手势的方法,所述方法包括:
对用户的手势实时采集至少两路视频流数据;
从所述至少两路视频流数据中识别出实时变化的手势形状;
解析所述实时变化的手势形状,获得对应的手势动作;
将所述手势动作处理成3D图像实时显示在所述3D场景中。
优选地,所述方法还包括:
在预先设定的语义数据库中获得所述手势动作的手势语义和该手势语义对应的操作指令;
将所述手势语义对应的操作指令发送给所述3D场景,使所述3D场景进行所述手势语义的操作。
优选地,所述从所述至少两路视频流数据中识别出实时变化的手势形状包括:
对所述至少两路视频流数据中的各路分别进行采样处理,获得每次采样的视频图像数据;
判断所述视频图像数据中是否包含手部信息,若包含则对所述视频图像数据进行二值化处理,提取手部轮廓信息;
在预先设定的手势模型数据库中识别出所述手部轮廓信息对应的手势形状;
合成各路视频流数据的每次采样识别出的手势形状,得到实时变化的手势形状。
优选地,所述解析所述实时变化的手势形状,获得对应的手势动作包括:
获得实时变化的手势形状的相对空间位置信息;
根据实时变化的手势形状上确定出的触点,获得所述实时变化的手势形状上的触点的变化信息,所述触点为标识手部的特征关键点;
根据所述相对空间位置信息和所述触点的变化信息,在预先设定的动作数据库中获得相应的手势动作。
进一步优选地,所述获得实时变化的手势形状的相对空间位置信息包括:
从所述至少两路视频数据流的视频图像信息中获得手势形状变化的角度信息;
根据所述手势形状变化的角度信息获得用户手势的距离信息,或者通过距离传感器实时感应用户手势的距离信息;
根据所述手势形状变化的角度信息和所述用户手势的距离信息获得用户手势的相对空间位置信息。
本发明实施例的有益效果是:本发明实施例公开了一种3D场景中输入手势的系统和方法,所述系统的手势采集单元对用户手势实时采集至少两路视频流数据,手势识别单元从所述至少两路视频流数据中识别出具有完整手部信息的手势形状,经手势解析单元对该手势形状解析后获得相应的手势动作,通过手势显示单元将该手势动作处理成3D图像实时显示在3D场景中,从而达到了在3D场景中显示用户真实手势的目的。
并且,本发明的优选技术方案还将手势动作通过手势操作单元进行处理,生成相应的手势语义,使3D场景按该手势语义的进行相应操作,从而实现通过输入手势控制3D场景的目的。相比于现有技术,本技术方案不需键盘和鼠标就可以与虚拟设备进行交互,且该交互过程无需对使用者及使用环境做过多的约束,即无需在用户身体上佩戴任何标志与传感器,通过用户的真实手势实时控制用户与场景之间的交互,提高用户的使用体验。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明的整体思路是:利用至少两个摄像头从不同角度实时采集用户手势,根据每个摄像头采集的视频流数据识别用户的手势形状,对识别出的手势形状进行解析获得相应的手势动作,将所述手势动作处理成3D图像实时显示在3D场景中,并使3D场景进行该手势动作的操作,从而通过用户真实手势完成人机交互。
图1为本发明实施例提供的一种3D场景中输入手势的系统结构示意图,所述系统包括:手势采集单元11、手势识别单元12、手势解析单元13和手势显示单元14。
手势采集单元11,用于分别对用户的手势实时采集至少两路视频流数据。
其中,手势采集单元11可以通过多个摄像头,从不同角度实时采集用户的手势,从而获得多路视频流数据。在实际应用中,可以根据系统的数据处理性能和系统精度要求,选择合适数量的摄像头采集相应路数的视频流数据。需要说明的是,手势采集单元11中的摄像头可以为普通性能的白光摄像头,也可以是红外摄像头,本实施例并不对手势采集单元做特别限定。
手势识别单元12,用于从至少两路视频流数据中识别出实时变化的手势形状。
手势解析单元13,用于解析实时变化的手势形状,获得对应的手势动作。
手势显示单元14,用于将该手势动作处理成3D图像实时显示在3D场景中。
本发明中的手势显示单元14可以将该手势动作处理成3D图像叠加投影到3D场景中,实现该手势动作在3D场景中的实时显示。优选地,可以采用分屏技术将3D图像投影到3D场景中,即采用主显示屏显示3D场景,将处理成3D图像的手势动作通过另一显示屏进行显示,通过光学的相关原理,使呈现到人眼中的是包含手势动作的3D场景。
优选地,所述系统还包括手势操作单元,用于在预先设定的语义数据库中获得上述手势动作相应的手势语义和该手势语义对应的操作指令;以及将该手势语义对应的操作指令发送给3D场景,使3D场景进行该手势语义的操作。
其中,语义数据库可以是一个数据关系表,每一种手势动作分别对应一种手势语义和该手势语义对应的操作指令,例如可以将平移的手势动作定义为滑动屏幕以切换显示内容。
本实施例的手势采集单元对用户手势实时采集至少两路视频流数据,手势识别单元从至少两路视频流数据中识别出具有完整手部信息的手势形状,经手势解析单元对该手势形状解析后获得相应的手势动作,通过手势显示单元将该手势动作处理成3D图像实时显示在3D场景中,从而达到了在3D场景中显示用户真实手势的目的。
并且,优选实施例还将该手势动作通过手势操作单元处理,生成相应的手势语义,使3D场景进行该手势语义的操作,从而实现通过输入手势控制3D场景的目的。相比于现有技术,本技术方案不需键盘和鼠标就可以与虚拟现实设备进行交互,且该交互过程无需对使用者及使用环境做过多的约束,即无需在用户身体上佩戴任何标志与传感器。
优选地,在上述图1所示实施例中的手势识别单元12包括:采样模块、手势轮廓提取模块、手势形状识别模块和手势形状合成模块。
采样模块,用于对所述至少两路视频流数据中的各路分别进行采样处理,获得每次采样的视频图像数据。
手势轮廓提取模块,用于判断所述视频图像数据中是否包含手部信息,若包含则对所述视频图像数据进行二值化处理,提取手部轮廓信息。
需要说明的是,本实施例中的手势轮廓提取模块可以通过已有技术判断视频图像数据中是否包含手部信息,例如可以通过分析视频图像中是否出现五个手指的特征形状和手掌的特征形状等信息,来判断该视频图像中是否包含手部信息。
手势形状识别模块,用于在预先设定的手势模型数据库中识别出所述手部轮廓信息对应的手势形状。
示例性的,上述手势轮廓提取模块可以在用户第一次使用本系统时,将用户的各种手势(例如五指撑开、握拳等手势)保存到手势模型数据库中,此时手势形状识别模块则可以根据存储着用户的真实手势的手势模型数据库识别出对应于该手部轮廓信息的手势形状。当然手势模型数据库中预先存入的也可以是手型特征(例如五指的不同状态特征),通过检测手部轮廓信息中各手指的状态特征识别相应的手势形状。
手势形状合成模块,用于合成各路视频流数据的每次采样后识别出的手势形状,得到实时变化的手势形状。
在实际应用中,由于每一路视频流数据采用到的都是用户的手部的一部分,无法在同一时刻获得完整的手部,因此本实施例采用手势形状合成模块,将各路视频流数据的每次采样后识别出的手势形状进行合成处理,以获得更多信息的手势形状。
由上所述,手势识别单元根据各路视频流数据中的手势轮廓信息识别出相应的手势形状,并将多路视频流数据中已识别出的手势进行合成出来,得到包含用户手部全部信息的手势形状,从而加强显示在3D场景中的手势的真实效果,提高用户的使用体验。
优选地,在上述图1所示优选实施例中的手势解析单元包括:位置信息获取模块、触点信息获取模块和手势动作获取模块。
位置信息获取模块,用于获得实时变化的手势形状的相对空间位置信息。
由于多个摄像头同一时刻对用户手势进行拍摄时,每个摄像头发出的光线会和用户手势形成一个夹角,如用户手势发生移动或变化则每个摄像头发出的光线与用户手势形成的夹角可能会发生变化,而这些夹角的变化反映在视频流图像数据中则表现为空间位置的变化,因此本技术方案基于该客观事实获取实时变化的手势形状的相对空间位置信息。
具体的,本发明示意性的示出两种获取实时变化的手势形状的相对空间位置信息。其中,第一种获得手势形状的相对空间位置信息的方式是:
从上述手势采集单元中的所述至少两路视频数据流的视频图像信息中获得手势形状变化的角度信息;根据手势形状变化的角度信息获得用户手势的距离信息,结合手势形状变化的角度信息和用户手势的距离信息获得用户手势的相对空间位置信息。
第二种获得手势形状的相对空间位置信息的方式是:
从上述手势采集单元中的所述至少两路视频数据流的视频图像信息中获得手势形状变化的角度信息;通过距离传感器实时感应用户手势的距离信息;结合手势形状变化的角度信息和用户手势的距离信息获得用户手势的相对空间位置信息。
上述两种方案均通过结合手势变化的角度信息和手势的实时距离信息提高获得的手势形状的相对空间位置信息的准确度。其中第一种方案不需要额外的传感器,只通过视频流数据本身提供的信息就可以获得手势形状的相对空间位置信息,但是需要通过高级算法实现,会增加系统的计算复杂度;而第二种方案通过距离传感器实时感应手势的距离变化,通过简单的算法就可获得较高的精度的相对空间位置信息。在实际使用时,可以根据具体设计要求选择合适的方案。
触点信息获取模块,用于根据实时变化的手势形状上确定出的触点,获得实时变化的手势形状上的触点的变化信息,所述触点为标识手部的特征关键点。
需要说明的是,本模块中的触点为标识手部的特征关键点,该关键点优选地为手部的各个关节点,从而更好的确定实时变化的手势形状。本技术方案并不对手势形状上的触点的数量和触点设的设置方式做特别限定,在设计过程中可以综合衡量系统精度和系统的数据处理能力等方面的要求具体设计。
手势动作获取模块,用于根据相对空间位置信息和触点的变化信息,在预先设定的动作数据库中获得相应的手势动作。
为更加详细的说明本技术方案的有益效果,以一虚拟头戴设备为例进行说明。
该虚拟头戴设备包括:用于显示3D虚拟现实场景的3D显示屏和上述技术方案的3D场景中输入手势的系统,其中3D场景中输入手势的系统的手势采集单元为设置在虚拟现实头戴设备上的一前置摄像头和一底置摄像头。
该虚拟现实头戴设备的工作原理是:通过前置摄像头和底置摄像头对用户的手势进行实时采集,获得两路视频流数据,从两路视频流数据中识别出手势形状,通过解析所述手势形状获得相应的手势动作,将该手势动作处理成3D图像实时显示在3D虚拟现实场景中,同时将该手势动作对应的手势语义发送给虚拟现实头戴设备的主处理器,控制虚拟现实头戴设备进行所述语义的操作。
其中,根据视频流数据获取用户的手势动作,并根据该手势动作驱动虚拟现实头戴设备进行相应操作的技术流程如图2所示:
S200,获取前置摄像头和底置摄像头采集到的视频流数据。
S201,对当前时刻的两路视频流数据分别进行视频采样处理,得到相应的视频图像。
S202,判断视频图像中是否有用户的手势,如果有,则跳转到步骤S202,如果没有,则获取下一时刻的视频流数据。
S203,对视频图像数据进行二值化处理,提取手部轮廓信息。
S204,根据预先设定的静态手势模型从手部轮廓信息中识别出当前的手势形状。
S205,合成两路视频流数据采样后识别出的手势形状,获得包含更多手部信息的手势形状。
S206,获取手势的空间位置变化信息。
S207,根据手势触点的变化信息和手势空间位置变化信息,利用HMM(HiddenMarkov Model,隐马尔可夫模型)动态手势识别方法,获得实时变化的手势形状的相应手势动作。
S208,根据手势动作在预先设定的语义数据库中获得相应的手势语义。
S209,控制虚拟现实头戴设备进行上述手势语义的操作。
本实施例将3D场景中输入手势的系统应用在虚拟现实头戴设备中,将用户自己手部的动作作为虚拟现实头戴设备的输入,使用户通过自己的手来完成在虚拟现实场景中的相关操作,从而提高用户的体验,优化人机交互。
图3为本发明实施例提供的一种3D场景中输入手势的方法流程图,所述方法包括:
S300,对用户的手势实时采集至少两路视频流数据。
S301,从至少两路视频流数据中识别出实时变化的手势形状。
具体的,
对上述至少两路视频流数据中的各路分别进行采样处理,获得每次采样的视频图像数据;
判断该视频图像数据中是否包含手部信息,若包含则对该视频图像数据进行二值化处理,提取手部轮廓信息;
在预先设定的手势模型数据库中识别出手部轮廓信息对应的手势形状;
合成各路视频流数据的每次采样识别出的手势形状,得到实时变化的手势形状。
S302,解析实时变化的手势形状,获得对应的手势动作。
具体的,获得实时变化的手势形状的相对空间位置信息;
根据实时变化的手势形状上确定出的触点,获得实时变化的手势形状上的触点的变化信息,所述触点为标识手部的特征关键点;
根据相对空间位置信息和触点的变化信息,在预先设定的动作数据库中获得相应的手势动作。
其中,获得实时变化的手势形状的相对空间位置信息包括:
从上述至少两路视频数据流的视频图像信息中获得手势形状变化的角度信息;
根据手势形状变化的角度信息获得用户手势的距离信息,或者通过距离传感器实时感应用户手势的距离信息;
根据手势形状变化的角度信息和用户手势的距离信息获得用户手势的相对空间位置信息。
S303,将手势动作处理成3D图像实时显示在3D场景中。
优选地,本方法还包括:
在预先设定的语义数据库中获得上述手势动作的手势语义和该手势语义对应的操作指令;
将该手势语义对应的操作指令发送给3D场景,使3D场景进行该手势语义的操作。
综上所述,本发明实施例公开了一种3D场景中输入手势的系统和方法,所述系统的手势采集单元对用户手势实时采集至少两路视频流数据,手势识别单元从至少两路视频流数据中识别出具有完整手部信息的手势形状,经手势解析单元对该手势形状解析后获得相应的手势动作,通过手势显示单元将该手势动作处理成3D图像实时显示在3D场景中,从而达到了在3D场景中显示用户真实手势的目的。并且,本发明的优选技术方案还将手势动作通过手势操作单元进行处理,生成相应的手势语义,使3D场景按该手势语义的进行相应操作,从而实现通过输入手势控制3D场景的目的。相比于现有技术,本技术方案不需键盘和鼠标就可以与虚拟设备进行交互,且该交互过程无需对使用者及使用环境做过多的约束,即无需在用户身体上佩戴任何标志与传感器,通过用户的真实手势控制与场景进行交互,提高用户的使用体验。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。