发明内容
本发明解决的问题是提供一种操控方法、操控装置及电子装置,通过人手对虚拟环境内的虚拟物体进行操控,将双目立体图像处理和电子装置内的应用操作进行结合,提高用户的体验度。
为解决上述问题,本发明提供一种操控方法,包括:提供采集单元对人手进行识别,并按照采集频率,采集人手的空间信息,包括采集人手图像的深度信息,根据所述深度信息获取人手的空间信息,所述采集单元包括双摄像头; 分析所述人手的空间信息,并获得与人手的运动轨迹对应的轨迹数据;建立位于虚拟三维环境内的虚拟物体;利用所述轨迹数据,建立人手与虚拟物体之间的操控关系,以对所述虚拟物体进行操控。
可选的,所述双摄像头之间的相对距离固定,两个摄像头的中心距离范围为3cm~7cm;所述采集频率范围为每秒10帧到每秒30帧。
可选的,所述对虚拟物体进行操控为实时操控或延时操控。
可选的,所述获得轨迹数据还包括建立人手模型,获得所述与人手模型和人手对应的轨迹数据。
可选的,所述建立人手模型包括:首先采用骨骼模型识别,对采集单元获得的图像中人手的五个手指的中部关节和手腕部进行识别,找到上述的对应位置,并进行标识,作为标点;通过计算上述标点位移的轨迹数据,同时获得五个手指的平均屈伸度及手掌的仰俯角和倾斜角的轨迹数据。
可选的,还包括建立位于所述虚拟三维环境内的操控手,并建立操控手与人手之间的运动映射关系;通过所述操控手的运动状态对虚拟物体进行操控。
可选的,所述人手到操控手的运动映射的方法包括以下之一或组合:指尖映射、关节角映射、关键点映射和基于被操作的虚拟物体的映射。
可选的,所述操控手包括操控手掌及与操控手掌关联的操控手指。
可选的,所述操控手采用父子对象的拓扑结构,在所述操控手中,手掌为五个手指的父对象,没有子对象;子对象作为一个对象成员加入父对象,成为父对象的一部分,对父对象进行的各种操作同时对所述子对象有效。
可选的,所述操控包括对所述虚拟物体的抓移、移动、释放:当操控手与虚拟物体之间满足抓取条件时,调用所述操控手中增加的子对象的操作函数,即当满足抓取条件时,所述虚拟物体成为所述操控手的一个子对象,所述虚拟物体的坐标系与操控手的坐标系相对位置关系固化,虚拟物体被“抓取”,且随着操控手一起被“移动”;当抓取条件不满足时,操控手将该子对象删除,虚拟物体与操控手的坐标系固化关系解除,虚拟物体被“释放”。
可选的,所述操控手与虚拟三维环境的交互规则包括碰撞检测方法和操控手抓取规则。
可选的,所述采集单元采集人手的空间信息包括:通过采集单元中的双摄像头获得两幅人手图像;通过分别在两幅人手图像中寻找对应的匹配像素点,获得空间点坐标;按照上述方法,通过计算每个像素点对应的空间点坐标,确认整个图像的深度信息,以获得人手的空间信息;其中,查找匹配像素点的算法主要分为基于特征的和基于面积的匹配点搜寻两种算法。
本发明还提供一种利用所述操控方法的操控装置,包括:
采集单元,包括双摄像头,所述双摄像头设置有采集频率,用于在环境中识别并采集人手的图像信息,所述图像包括所述图像的深度信息,根据深度信息获取人手的空间信息;
分析单元,对所述空间信息进行分析,获得与人手的运动轨迹对应的轨迹数据;
虚拟单元,建立虚拟三维环境,所述虚拟三维环境中包括虚拟物体;
操控单元,利用所述轨迹数据,建立人手与虚拟物体之间的操控关系,以对所述虚拟物体进行操控。
可选的,所述分析单元内还包括人手建模单元,根据所述图像信息,建立与人手对应的人手模型,与人手对应的轨迹数据同时与人手模型相对应。
可选的,所述操控单元还包括操控手建模单元,用以在所述虚拟单元内建立操控手,并通过所述操控手对所述虚拟物体进行操控。
本发明提供一种电子装置,包括所述操控装置。
可选的,所述电子装置为移动电话、计算机、游戏机或电视。
与现有技术相比,本发明具有以下优点:
通过双摄像头,获得图像的深度信息,以获得人手的空间信息,以获得轨迹数据,并利用所述轨迹数据对虚拟物体进行操控,将立体图像和电子装置内的应用操作进行结合,提高用户的体验度;
进一步地,通过骨骼模型识别,建立与人手对应的人手模型,以获得同时与人手和人手模型对应的轨迹数据,并利用所述轨迹数据对虚拟物体进行操控,将立体图像和电子装置内的应用操作进行结合,提高用户的体验度;
进一步地,还包括建立位于所述虚拟三维环境内的操控手,并建立操控手与人手之间的运动映射关系;通过所述操控手的运动状态对虚拟物体进行操控,将立体图像和电子装置内的应用操作进行结合,提高用户的体验度。
具体实施方式
现有技术中,立体图像仅用于立体图像的显示,并未对获得的立体图像信息和电子装置中的应用操作,如手机中的应用操作进行结合。
为解决上述问题,本发明提供一种操控方法,通过人手对电子装置内的虚拟物体进行操控,如图1所示,包括:
执行步骤S1,提供采集单元对人手进行识别,并按照采集频率,采集人手的空间信息,包括采集人手图像的深度信息,根据所述深度信息获取人手的空间信息,所述采集单元包括双摄像头;
执行步骤S2,分析所述人手的空间信息,并获得与人手的运动轨迹对应的轨迹数据;
执行步骤S3,建立位于虚拟三维环境内的虚拟物体;
执行步骤S4,利用所述轨迹数据,建立人手与虚拟物体之间的操控关系,以对所述虚拟物体进行操控。
本发明通过双摄像头,获得图像的深度信息,即获得人手的立体信息,以获得轨迹数据,并利用所述轨迹数据对虚拟物体进行操控,将人手空间信息和电子装置内的应用操作进行结合,提高用户的体验度。
为了使本领域的技术人员可以更好的理解本发明,下面结合附图详细说明本发明的具体实施方式。
首先,执行步骤S1,提供采集单元对人手进行识别,并按照采集频率,采集人手的图像信息。所述采集单元为双摄像头,所述双摄像头之间的相对距离固定,两个摄像头的中心距离范围为3cm~7cm。所述采集频率范围为每秒10帧到每秒30帧。
包括首先需要对环境中识别出人手信息,若包含有所述人手信息,则按照采集频率,采集人手的图像信息;若无,则不进行操作。
其中所述图像包括所述图像的深度信息,所述双摄像头获得人手所处位置的深度信息包括:通过双摄像头获得两幅图像信息;通过分别在两幅图像中寻找对应的匹配像素点,获得空间点坐标;按照上述方法,通过计算每个像素点对应的空间点坐标,确认整个图像的深度信息;其中,查找匹配像素点的算法主要分为基于特征的和基于面积的匹配点搜寻两种算法。
具体地,所述图像采集包括:
步骤S11,通过双摄像头定标确定双摄像头相对于三维空间的方位和投影参数,利用双摄像头对人手进行采集图像采集;
步骤S12,将步骤S11采集的两幅同一帧的图像作为输入,利用立体图像的像素点匹配计算环境深度图。
其中,如图2所示为本发明一个实施例的像素点匹配的方法示意图。
C1和C2分别为两个摄像头的中心,对应的,c1c2为两个摄像头的中心连线的投影连线,P为空间中的三维点,I1和I2为双摄像头分别获取的左图和右图。上述图形位于XYZ轴的空间坐标系中,P1和P2为P在I1和I2上的投影点。
已知空间一个点P在两幅图像的投影点分别为P1和P2,假如能够为左图上的每一个像素点P1查找到其在右图上的对应点P2,则从两幅图像的投影中心C1和C2出发,分别经过该两点将在空间中交于一点。理想情况下当P1和P2精确匹配时,所得到的空间点就是P1。按照上述方法,通过计算每个像素点对应的三维坐标,从而确认整个环境的深度信息。其中,查找匹配像素点的算法主要分为基于特征的和基于面积的匹配点搜寻两种算法。通过上述算法,从双摄像头同时拍摄的两张图像中提取深度信息。
接着,执行步骤S2,分析由采集系统获得的人手的图像信息,并分析获得与人手的运动轨迹对应的轨迹数据。
其中,所述获得轨迹数据还包括建立人手模型,获得所述与人手模型和人手对应的轨迹数据。所述建立人手模型包括:首先采用骨骼模型识别,对采集单元获得的图像中人手的五个手指的中部关节和手腕部进行识别,找到上述的对应位置,并进行标识,作为标点;通过计算上述标点位移的轨迹数据,同时获得五个手指的平均屈伸度及手掌的仰俯角和倾斜角的轨迹数据。
执行步骤S3和S4,建立位于虚拟三维环境内的虚拟物体;并利用所述轨迹数据,建立人手与虚拟物体之间的操控关系,以对所述虚拟物体进行操控。
其中,通过模拟现实的三维世界,并将其表现出来形成虚拟三维环境,为现有的较成熟的技术,不多加赘述。
进一步地,还包括建立位于所述虚拟三维环境内的操控手,并建立操控手与人手之间的运动映射关系;通过所述操控手的运动状态对虚拟物体进行操控。
具体地,建立要在虚拟三维环境中操控手的各种动作,就必须先在电子装置中用某种方法把手表示出来。对人手特征的描述成为手模型。分析人手的解剖结构和运动特点是建立操控手的基础。如将操控手模型进行如下简化:整个操控手由一个手掌、一个拇指及其它四个相邻的手指组成,拇指包括远近两个指段,其他四个手指则包括远、中、近三个指段,各部分均为刚体。
上述人手的不同部分可视为不同的对象,并可将其属性和对应操作进行封装。对象的属性包括:所述对象的几何模型、比例大小、转角、位移、颜色、纹理、光照等特征,以及该对象所包含的子对象。对象的操作包括对特征属性的读取,更改、以及对子对象的查询、增加、删减等。
其中,人手各部分间存在运动继承关系。为了方便准确地表示这种运动继承关系,操控手的拓扑结构可采用“父子对象”的嵌套结构,如图3所示,在该操控手模型中,手掌palm为五个手指拇指Thumb、食指Index、中指Middle、无名指Ring、小指Little 的父对象,没有子对象。子对象作为一个对象成员加入父对象,成为父对象的一部分,对父对象进行的各种操作同时对所述子对象有效。各个子对象同时又有自己的相对独立的操作方法,这些操作只影响其本身。所以父对象的操作会同时作用于子对象,而子对象的操作则不会影响父对象。如在图3中,Thumb-1表示拇指第一指段,即近指段,它是palm的子对象,同时又是远指段Thumb-2的父对象。Palm的各种操作对palm、Thumb-1、Thumb-2同时有效,Thumb-1的操作则对Thumb-1、Thumb-2有效,而Thumb-2的操作只对它本身有效,不会影响其他对象。
其中,前述的人手模型的建立也可参照所述操控手的建立。
建立所述操控手后,还包括建立操控手与人手之间的运动映射关系;并通过所述操控手的运动状态对虚拟物体进行操控。其中,运动映射的本质是通过跟踪人手的运动来控制操控手的运动,目的是让操控手实现类似人手的复杂和多样的操作。所述人手到操控手的运动映射的方法包括以下之一或组合:指尖映射、关节角映射、关键点映射和基于被操作的虚拟物体的映射。在本实施例中,从人手指到操控手指的运动映射采用关节角映射:各指段的关节角转动值取数据手套上相应转动关节的传感值;从人手掌到操控手掌的运动映射采用关键点映射;将这一坐标系与操控手掌固化。
假设由所述操控手所需的n个运动参数组成的向量为R=(r1、r2、r3、r4…、rn),而由相应的人手的轨迹数据的读数组成的向量为T=(t1、t2、t3、t4…、tn),则R和T之间必然存在强耦合的映射关系,即f:TR。显然,从人手到操控手的运动映射就是要找出对应的映射关系f。实际上,由于不同操作者的手部尺寸不可能完全一样,人手与操控手模型亦不可能完全匹配。所以,相应的映射标定过程必不可少。
以手指关节转动角为例,若人手指关节可转动的角度范围为(VTmax、VTmin),定义操控手指关节可转动的角度范围为(VRmax、VRmin)。若人手指关节转动值为Vin,则此时操控手指关节转动的角度值Vout应满足如下映射关系:
f:Vout=(VRmax-VRmin)*(Vin-/Vtmin)/(VTmax-VTmin)
所述操控包括对所述虚拟三维环境中的虚拟物体的抓移、移动、释放:当操控手与虚拟物体之间满足抓取条件时,调用所述操控手中增加的子对象的操作函数,即当满足抓取条件时,所述虚拟物体成为所述操控手的一个子对象,所述虚拟物体的坐标系与操控手的坐标系相对位置关系固化,虚拟物体被“抓取”,且随着操控手一起被“移动”;当抓取条件不满足时,操控手将该子对象删除,虚拟物体与操控手的坐标系固化关系解除,虚拟物体被“释放”。
得到人手的轨迹数据和位置信息后,计算确定人手的运动状态,并提取操控手所需运动参数,然后将这些参数传递给操控手,操控手根据这些参数进行运动。作为一个实施例,整个虚拟工作环境是在Open Inventor平台上集成的,它包括操控手、虚拟物体及虚拟工作背景。操控手是人在虚拟工作环境中改造世界的工具,通过它对虚拟物体进行操作。虚拟工作背景可以是事先构造的虚拟环境,也可以是操作系统中用增强现实方法引入的现实环境。在虚拟工作环境中加入碰撞检测算法和抓取规则后,操控手就可以对所述虚拟物体进行抓取、移动、旋转、释放等虚拟操作。在整个操作过程中,会生成图像,用户可直接在现实世界里进行动作操作,并对应转换成对虚拟三维环境的控制。所述对虚拟物体进行操控为实时操控或延时操控。
将人手的轨迹数据的运动信息对应到操控手的运动后,再完成操控手与虚拟三维环境的交互,则需要建立操控手与虚拟三维环境的交互规则。所述交互规则包括碰撞检测方法和操控手抓取规则。即必须能够检测虚拟物体与操控手之间的相互接触和碰撞,否则就会出现物体之间相互穿透和彼此重叠等不真实的现象。
具体地,所述碰撞检测规则大致分为两类:空间分解法和层次包围盒法。
其中,所述层次包围盒法的核心思想是用体积略大而几何特征简单的包围盒近似描述复杂的几何对象。从而只需对包围盒的重叠进行进一步的相交测试。对虚拟环境中的每一个几何模型节点创建一个包围盒。所述包围盒可以固定的形状或者动态变化的形状。
进一步地,若要实现动态的包围盒,如要实现实时动态的碰撞检测,就需要实时给出各个动态几何节点的包围盒位置和姿态。即对应地,在操控手的手掌和各手指关节处加上一个包围盒,和虚拟三维环境中被抓取物体进行碰撞检测,那么操控手的各个包围盒是动态的,而被抓取物体的包围盒是静态的。
进一步地,还需要控制环境数据的对象,避免与环境中的其他对象发生碰撞。碰撞管理器可以对一个环境,也可以对一个对象或者一个位置检测。可以采用对象的实际图元(比如点线面等)进行碰撞检测。
为提高检测的实用性,也可以采用对象的包装盒。当对象间的包围盒发生碰撞,或对象内部的几何图元发生碰撞时,碰撞检测管理器通过内部的碰撞反馈函数,自动跟踪对象的运动轨迹。如当以一个运动物体与一面墙发生碰撞时,对象将沿着墙相反的方向运动。
其中,操控手抓取规则包括操控手对虚拟物体的稳定抓取的判断目前主要有两大类,一种是根据物理学中力和力矩的平衡原理,对被抓的虚拟物体进行受力分析,当该物体所受到的合力与合力矩均为零时,该物体被抓取,上述方法需要建立虚拟力模型。
另一种方法就是通过分析人手抓取物体时的特点,如抓取姿态,与物体的接触情况等,将所述操控手的姿态及与虚拟物体间的接触情况与之进行比较来判断虚拟物体是否被稳定抓持,即制定操控手抓取规则的方法。当操控手和虚拟物体之间的关系满足了抓取规则,则认为操控手抓取了物体;此时将物体的基坐标系附着在操控手模型上,从而使手的移动带动虚拟物体的移动;当到达目的地后,松开手指,此时操控手和虚拟物体之间的关系不再满足抓取规则,从而解除附着关系,物体被释放。
作为一个实施例,抓取规则主要有如下:
1)必须有三个或三个以上的手指(或指尖或手掌)与物体接触,其中至少有三个接触点不在同一条直线上;
2)任意两个接触面(平面或曲面)的法矢之间的夹角至少有一个大于某个预定一的临界角度值。(在此设定该角度值为90度)
在同时满足以上两个条件时,则认为此虚拟物体被抓取。如图4所示,有三个手指(大拇指指尖、食指指尖和中指)与长方体接触,而且三个接触点不在同一直线上;三个接触面的法矢N1、N2、N3两两之间组成三个夹角,其中,至少具有一个角是大于90度,因此被认定该物体被抓取。其中,点G为物体的重心;N1和N2为单位法矢;N3为准单位法矢。
本发明还提供一种利用所述操控方法的操控装置,包括:
采集单元100,包括双摄像头,所述双摄像头设置有采集频率,用于在环境中识别并采集人手的图像信息,所述图像包括所述图像的深度信息,根据深度信息获取人手的空间信息;
分析单元200,对所述空间信息进行分析,获得与人手的运动轨迹对应的轨迹数据;
虚拟单元300,建立虚拟三维环境,所述虚拟三维环境中包括虚拟物体;
操控单元400,利用所述轨迹数据,建立人手与虚拟物体之间的操控关系,以对所述虚拟物体进行操控。
进一步地,所述分析单元内还包括人手建模单元,根据所述图像信息,建立与人手对应的人手模型,与人手对应的轨迹数据同时与人手模型相对应。
进一步地,所述操控单元还包括操控手建模单元,用以在所述虚拟单元内建立操控手,并通过所述操控手对所述虚拟物体进行操控。
本发明提供一种电子装置,包括上述操控装置。其中,所述电子装置为移动电话、计算机、游戏机或电视。
与现有技术相比,本发明具有以下优点:
通过双摄像头,获得图像的深度信息,即获得人手的空间信息,以获得轨迹数据,并利用所述轨迹数据对虚拟物体进行操控,将立体图像和电子装置内的应用操作进行结合,提高用户的体验度;
进一步地,通过骨骼模型识别,建立与人手对应的人手模型,以获得同时与人手和人手模型对应的轨迹数据,并利用所述轨迹数据对虚拟物体进行操控,将立体图像和电子装置内的应用操作进行结合,提高用户的体验度;
进一步地,还包括建立位于所述虚拟三维环境内的操控手,并建立操控手与人手之间的运动映射关系;通过所述操控手的运动状态对虚拟物体进行操控,将立体图像和电子装置内的应用操作进行结合,提高用户的体验度。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。