具体实施方式
随着3D技术的不断发展和普及,还有人们对交互式系统的需求不断提高,本发明提出一种基于3D视频的实现体感交互的方法和系统,使得用户有很好的操作体验,具有身临其境的互动体验感。
图2所示为本发明提供的技术方案中基于3D视频系统实现体感交互的原理图,参照图2,首先,对操作者的动作进行感应,并将其动作映射为真实参照系的坐标;并对操作者得眼睛进行定位:得到人眼位置信息,测算人眼在真实参照系中的位置参数;其次,将3D图像进行视差计算和调整,结合显示参照系的视差信息和所述人眼位置参数,计算虚拟3D立体影像在真实参照系中的成像坐标,将所述显示参照系中的3D立体影像映射到真实参照系;检测映射后的人体动作与3D影像的互动信息;并根据检测结果进行互动操作。
参照图3,本发明提供的一种实现体感交互的方法,包括如下步骤:
S01,获取操作者的运动信息,并将该运动信息映射到真实参照系;
S02,计算虚拟3D立体影像在真实参照系中的成像坐标,将所述显示参照系中的3D立体影像映射到真实参照系;
测算人眼在真实参照系中的位置参数,结合显示参照系的视差信息和所述人眼位置参数,计算虚拟3D立体影像在真实参照系中的成像坐标,将所述显示参照系中的3D立体影像映射到真实参照系。
S03,在真实参照系中检测人体动作与3D影像的互动信息;
S04,根据所述互动信息进行相应的互动操作。
步骤S01中,获取操作者的运动信息,具体包括:
监测操作者的肢体动作,测算操作者所在场景的距离信息;
基于所述距离信息,根据所述操作者的肢体动作获得传感器参照系中所述操作者运动过程中的坐标参数。
所谓传感器参照系是以距离传感器已经操作者的位置构建的坐标参照系,主要反映操作者所在场景的距离及位置关系。
步骤S01中,设置至少两台摄像机对操作者所在场景采集图像;所述将该运动信息映射到真实参照系,具体包括:
11) 根据设置的所述至少两台摄像机所采图像的视差,结合所述摄像机之间的位置关系,计算出操作者与摄像机之间的距离;
12) 根据所述距离,将传感器参照系中操作者运动过程中的坐标参数计算出真实参照系中操作者的坐标。
步骤S03中,在真实参照系中检测人体动作与3D影像的互动信息,具体包括:
31)获取人体动作时对应在真实参照系中的坐标;
32)基于所获取的坐标与3D影像中的相互关系,判断人体动作是否与3D影像互动;若互动,则获取互动信息。
参照图4,本发明提供的一种实现体感交互的系统400,包括:
运动信息获取装置410,用于获取操作者的运动信息,并转换为传感器参照系中所述操作者运动过程中的坐标;
第一映射装置420,用于将传感器参照系中所述操作者运动过程中的坐标映射到真实参照系;
测算装置430,测算人眼在真实参照系中的位置参数,结合显示参照系的视差信息和所述人眼位置参数;
第二映射装置440,用于计算虚拟3D立体影像在真实参照系中的成像坐标,将所述3D立体影像映射到真实参照系;
检测装置450,用于在真实参照系中检测人体动作与3D影像的互动信息;
执行装置460,根据所述互动信息进行相应的互动操作。
在本发明具体实施例中,运动信息获取装置410,包括:
动作感应模块410a,用于感应操作者的肢体动作,得到肢体动作信息;
距离传感器410b,用于获得场景的距离信息,并生成距离图像;
坐标建立模块410c,根据所述肢体动作信息传感器参照系中所述操作者运动过程中的坐标。
在本发明具体实施例中,第一映射装置420,包括:
检测模块420a,用于监测操作者的肢体动作,测算操作者所在场景的距离信息,计算出操作者与摄像机之间的距离;
坐标转换模块420b,基于所述距离信息,根据所述操作者的肢体动作将传感器参照系中所述操作者的坐标参数转换为真实参照系中操作者的坐标。
为使本发明的原理、特性和优点更加清楚,下面结合具体实施例进行描述。
下面以双目视觉距离传感器为例,说明操作者对3D虚拟按钮的操作过程:
第一步、人体动作坐标映射;
由于人体动作是在真实参照系中发生的,而视觉传感器通过图像采集,将这种运动信息映射到了传感器参照系,因此首先要通过“人体动作坐标映射模块”将传感器参照系中的动作映射回真实参照系。动作是由一系列状态组成的,只要将动作中的每个状态都映射回真实参照系,那么由状态组成的动作也就在真实参照系中得到还原。以操作者按动虚拟按钮的动作来说,只要将每个时刻操作者手部的位置信息映射回真实参照系,则操作者按动按钮的动作就能得到还原。
利用基于双目视觉的距离传感器,传感器参照系中的位置信息可以按照如下方式映射回真实参照系。
双目视觉距离传感器利用立体成像原理计算距离信息。通过使用按照某种方式放置的多台摄像机对同一场景采集图像,根据这些摄像机所采图像的差异(视差),结合摄像机之间的位置关系,就可以计算出目标与摄像机之间的距离。考虑到设备与计算的复杂度,实用的方式是采用两台平行放置的摄像机组成距离传感器。
图5(a)和5(b)所示为平行双目视觉距离传感器测量距离的原理图。如图5所示,两台焦距为f的摄像机平行放置,光轴之间的距离为T,图5(a)所示的立体图中的两个矩形分辨表示左右摄像机的成像平面,O l 和O r 为左右摄像机的焦点,对于场景中的任意一点P,在左右摄像机成像平面上的成像点分别为p l 和p r ,它们在成像平面上的成像坐标(图像坐标)为x l 和x r ,则视差定义为d = x l - x r (图5(b)所示为俯视图)。
以图5中的左摄像机焦点O l 为原点, O l O r 所在直线为X轴,左摄像机光轴为Z轴,垂直于XZ轴的为Y轴,则P点在O l 坐标系中的坐标可以按照公式(1)计算:
(1)
由此,传感器参照系中的每个位置都可以依据距离信息d映射到O l 真实参照系。
针对操作者按动按钮的动作,“人体动作坐标映射模块”首先从图像中检测出人手的位置,然后将人手的位置信息映射到真实参照系。
第二步、立体影像坐标映射:
人体动作被映射到真实参照系后,还需要将立体影像也映射到真实参照系,如此才能在相同的参照系中判断两者是否发生互动。
立体影像坐标映射同样基于立体成像原理。为降低计算量,双目视觉距离传感器与显示屏采用图6(a)的方式放置,图6(b)所示为相应的俯视图。3D显示屏位于双目测距传感器的焦距平面,即XY平面,显示屏中心为O,O在O l 真实参照系中的坐标为(x,y)。
由于虚拟3D图像的在真实参照系中的成像位置与人眼的位置相关,因此还需要计算人眼在真实参照系中的坐标。计算方法与人体动作映射一样,利用双目视觉距离传感器,首先检测人的双眼在图像中的位置,然后利用视差d,将位置信息映射到真实参照系。
下面,就可以根据3D图像中按钮的位置和人眼的位置计算虚拟按钮在真实参照系中的位置。计算的原理如图7所示。
图7中给出了两个按钮A和B,根据它们在左右眼视图中的位置,计算出虚拟按钮A和B在真实坐标系中的位置:虚拟按钮A位于3D显示屏之后,虚拟按钮B位于3D显示屏之前。其具体坐标按照如下方式计算:
基于图6(a)的O l 真实参照系,假设左右眼在真实参照系中的坐标为(x lefteye , y lefteye , z lefteye )和(x righteye , y righteye , z righteye ),按钮的左右视图在真实参照系中的坐标为(x leftbutton , y leftbutton , 0)和(x rightbutton , y rightbutton , 0),由于按钮是显示在3D显示屏上,因此z = 0。此外,由于一般情况下,人是正视3D显示屏的,并且3D图像仅包含水平视差,则z lefteye = z righteye 且y leftbutton = y rightbutton 。如此,虚拟俺钮在真实参照系中的坐标可以按照公式(2)计算:
如此,就获得了虚拟按钮在真实参照系中的坐标。
第三步、互动检测:
针对操作者按动按钮的动作,此时有了操作者手部和虚拟按钮在真实参照系中的坐标,就可以直接根据两者坐标是否重合来判断操作者是否按动了虚拟按钮。针对图7中给出的按钮的两种情况:虚拟按钮B位于显示屏与操作者之间,可以直接根据坐标判断两者是否接触,若接触则激发互动事件,否则认为没有触动按钮;对于虚拟按钮A,由于其处于显示屏之后,因此若互动规则定义为“直接接触”的话,操作者无法针对按钮A进行动作,但如果定义了其他的非接触式互动规则(如根据手的运动方向触发按钮),则可以让操作者根据新的规则与按钮互动。
综上所述,本发明提供的实现体感交互的技术方案,通过将将操作者的位置信息与3D图像映射到统一参照系中,在该参照系中检测人体动作与3D影像的互动信息,并根据检测到的互动信息进行互动操作。根据本发明可在3D环境下实现人机交互,使得用户有很好的操作体验,操作者具有身临其境的互动体验感。
本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。