一种基于非接触式交互获取无形透明界面的方法转让专利

申请号 : CN201510163408.5

文献号 : CN104808790B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 冯仕昌冯志全

申请人 : 冯仕昌冯志全

摘要 :

本发明提供一种基于非接触式交互获取无形透明界面的方法,其特征是:包括如下步骤:(1)输入手势操作视频流,初始化,设置k=1,获取第k帧图像;(2)计算当前时刻k的手势指示位置,透明界面的长、宽、高和透明界面的重心;(3)k←k+1,计算Pk(p1,p2,p3);(4)如果当前手势位置脱离当前透明界面的区域范围,则重新定位透明界面的位置和大小,转步骤(2);(5)刷新透明界面的重心位置(6)刷新透明界面沿长、宽、高三个方向的长度;(7)判断当前操作是属于2D操作还是属于3D操作;(8)如果透明界面结构趋于稳定,则输出透明界面的位置、大小和结构信息。

权利要求 :

1.一种基于非接触式交互获取无形透明界面的方法,其特征是:包括如下步骤:(1)初始化,设置k=1,L(k,i)=0,i=1,2,3,L(k,i)表示透明界面的长、宽、高,当|H1-H2|<τ时,即当人手基本保持不动时,τ是一个非负经验参数,Pk(x,y,z)=(H1+H2)/2,其中,H1和H2分别表示相邻两帧之间通过Kinect设备接口获得的手势重心位置,Ok(x,y,z)=Pk(x,y,z),Ok(x,y,z)为k时刻透明界面的重心位置;

(2)k=k+1,计算Pk(x,y,z),Pk(x,y,z)为当前时刻k的手势重心位置;

(3)如果人体重心位置发生移动,则重新定位透明界面的位置和大小,亦即对于经验常数β,如果:|Ck(x,y,z)-Ck-1(x,y,z)|>β (1)则转第(1)步,Ck表示人体的重心位置;

(4)刷新透明界面的重心位置,

Ok(o1,o2,o3)=(nOk-1(x,y,z)+Pk(x,y,z))/(n+1) (2)其中,n表示透明界面中参与统计的手势重心位置的轨迹点的数目;

(5)刷新透明界面沿长、宽、高三个方向的长度:

L(k,i)=max(L(k-1,i),2*|Pk(x,y,z)-Ok(x,y,z)|) (2)其中,i=1,2,3;

(6)判断当前操作是属于物理界面的2D操作区的操作还是属于3D操作区的操作;

(7)如果透明界面结构趋于稳定,即

(||L(k,i)-L(k-1,i)||<μ)and(||Ok(x,y,z)-Ok-1(x,y,z)||<μ) (4)则输出透明界面的位置、大小和结构信息,μ为事先设定的常数,否则,转步骤(2)。

2.根据权利要求1所述的基于非接触式交互获取无形透明界面的方法,其特征是:所述步骤(7)包括如下步骤:(7.1)如果当前第k帧的手势重心位置与透明界面的重心位置之差超过规定阈值,则认为当前操作为3D操作区的操作;否则,当前操作被认定为2D操作区的操作,亦即:如果

λ<||Pk(x,y,z)-Ok(x,y,z)||

(7.2)刷新2DR和3DR:2DR和3DR分别指显示器上的二维区域和三维区域,分别求2DR和3DR的最大包围盒,得到(2DR_LB,2DR_RT)和(3DR_LB,3DR_RT),2DR_LB指2DR区域的左下角位置,2DR_RT指2DR区域的右上角位置,3DR_LB、3DR_RT分别指3DR区域的两个对角位置即左下角与右上角位置,从而,确定2DR和3DR区域的位置和大小。

3.根据权利要求1所述的基于非接触式交互获取无形透明界面的方法,其特征是:所述透明界面指计算机感知的位于用户与物理界面之间的3D交互感应区。

4.根据权利要求1所述的基于非接触式交互获取无形透明界面的方法,其特征是:所述物理界面指显示器的显示屏幕。

5.根据权利要求1所述的基于非接触式交互获取无形透明界面的方法,其特征是:所述透明界面为水平长方形。

6.根据权利要求1所述的基于非接触式交互获取无形透明界面的方法,其特征是:所述透明界面为竖直长方形。

7.根据权利要求1所述的基于非接触式交互获取无形透明界面的方法,其特征是:所述透明界面为半圆柱形。

8.根据权利要求1所述的基于非接触式交互获取无形透明界面的方法,其特征是:所述物理界面分为2D操作区和3D操作区。

9.根据权利要求1所述的基于非接触式交互获取无形透明界面的方法,其特征是:所述步骤(3)的人体重心位置的计算步骤为:(3.1)通过Kinect设备获取人体骨骼坐标;

(3.2)用 左、右 膝 关 节 坐 标(A1(x,y,z),A2(x,y,z))、左、右 髋 关 节 坐 标(A3(x,y,z),A4(x,y,z))、左、右肩关节坐标(A5(x,y,z),A6(x,y,z))、左、右胸锁关节坐标(A7(x,y,z),A8(x,y,z))和下颌关节(A9(x,y,z))的平均值代替人体重心位置Ck(x,y,z),即其中,Ai(x,y,z)表示关节位置,该位置可以从Kinect设备编程接口直接获取,它用(x,y,z)三维坐标表示。

10.根据权利要求1所述的基于非接触式交互获取无形透明界面的方法,其特征是:所述步骤(2)和(3)手势重心位置的计算步骤为:(2.1)从k时刻获取的视频帧图像中根据肤色和深度值把手势图像从背景图像中分割出来,得到手势的RGB位图I;

(2.2)在位图I中计算手势图像的二维重心位置(x,y);

(2.3)根据Kinect设备提供的编程接口中,读出(x,y)对应的深度值z,从而得到Pk(x,y,z)。

说明书 :

一种基于非接触式交互获取无形透明界面的方法

技术领域

[0001] 本发明涉及虚拟手势操作领域,具体地讲,涉及一种基于非接触式交互获取无形透明界面的方法。

背景技术

[0002] 电视正在变成一个与许多内容进行交互的枢纽。这些大型的、高分辨率的显示器可以被用于浏览数码照片、选择音乐、玩游戏、看电影和电视节目。现在许多电视与互联网连接,允许访问在线内容和社会媒体,这进一步导致了像苹果电视和谷歌电视这样的新产品的发展,它们增加了从电视屏幕获取信息的数量和复杂性。国内的乐视和小米也很火爆,其中乐视互联网电视去年10月份以后超越了海信、长虹等传统品牌高居第一位,它有语音交互和基于触摸操作的智能遥控器。在许多情况下,电视遥控器本身就是一个限制因素,通常它只提供简单的固定按钮来与电视进行交互,缺少鼠标和手势交互的灵活性。Nasser H.Dardas和Mohammad Alhaj利用手势识别技术来产生控制命令,利用这些控制命令来控制游戏中物体的运动,在该手势识别系统中利用词袋技术和支持向量机技术来实现用户和计算机之间的交互。Werner等人在不违反用户心理模型的情况下,通过隐式调整控制显示来适应当前用户的需要,解决了远程交互中指点设备的精度问题。Joe Weakliam等人提出了CoMPASS系统,它不需要来自用户的显式输入,而是当用户根据特征和感兴趣的区域浏览地图特定空间内容时,监控用户的隐式操作。该系统可以分析用户的隐式行为,并将分析结果用于建立用户模型。Kaori Fujinami等人把增强技术融入到普适计算中,采用自然或隐式的方法获取用户环境信息,而用户不需要学习如何获取信息,填补了用户和复杂计算环境间的差距。Paul Dietz等人提出了基于多投影仪的隐式交互技术,他们把投影仪作为实时输出设备,当用户进入红外线区域时,系统可以隐式地关注用户并在显示区显示用户,同时用卡通技术循环地展示有关内容。Stavros Antifakos等人设计了一个面向非意外同步运动的“智能”对象的隐式交互实例,当打开门时系统隐式访问控制。发明内容:
[0003] 本发明要解决的技术问题是提供一种基于非接触式交互获取无形透明界面的方法,弄清透明界面的空间功能分布与用户行为模型和体验愉悦感之间的关系,探明基于透明界面的透明感知的认知机理和行为特征,为三维用户界面系统、虚拟现实系统、动漫游戏软件系统,尤其是为交互式智能数字电视、3D游戏等界面的设计提供更加智能化、人性化、自然化的交互范式。
[0004] 本发明采用如下技术方案实现发明目的:
[0005] 一种基于非接触式交互获取无形透明界面的方法,其特征是:包括如下步骤:
[0006] (1)初始化,设置k=1,L(k,i)=0,i=1,2,3,L(k,i)表示透明界面的长、宽、高,当|H1-H2|<τ时,即当人手基本保持不动时,τ是一个非负经验参数,Pk(x,y,z)=(H1+H2)/2,其中,H1和H2分别表示相邻两帧之间通过Kinect设备接口获得的手势重心位置,Ok(x,y,z)=Pk(x,y,z),Ok(x,y,z)为k时刻透明界面的重心位置;
[0007] (2)k=k+1,计算Pk(x,y,z),Pk(x,y,z)为当前时刻k的手势重心位置;
[0008] (3)如果人体重心位置发生移动,则重新定位透明界面的位置和大小,亦即对于经验常数β,如果:
[0009] |Ck(x,y,z)-Ck-1(x,y,z)|>β (1)
[0010] 则转第(1)步,Ck表示人体的重心位置;
[0011] (4)刷新透明界面的重心位置,
[0012] Ok(o1,o2,o3)=(nOk-1(x,y,z)+Pk(x,y,z))/(n+1) (2)
[0013] 其中,n表示透明界面中参与统计的手势重心位置的轨迹点的数目;
[0014] (5)刷新透明界面沿长、宽、高三个方向的长度:
[0015] L(k,i)=max(L(k-1,i),2*|pk(x,y,z)-ok(x,y,z)|)
[0016] (2)
[0017] 其中,i=1,2,3;
[0018] (6)判断当前操作是属于物理界面的2D操作区的操作还是属于3D操作区的操作;
[0019] (7)如果透明界面结构趋于稳定,即
[0020] (||L(k,i)-L(k-1,i)||<μ)and(||Ok(x,y,z)-Ok-1(x,y,z)||<μ)[0021] (4)
[0022] 则输出透明界面的位置、大小和结构信息,μ为事先设定的常数,否则,转第步骤(2)。
[0023] 作为对本技术方案的进一步限定,所述步骤(7)包括如下步骤:
[0024] (7.1)如果当前第k帧的手势重心位置与透明界面的重心位置之差超过规定阈值,则认为当前操作为3D操作区的操作;否则,当前操作被认定为2D操作区的操作,亦即:
[0025] 如果
[0026] λ<||Pk(x,y,z)-ok(x,y,z)||
[0027] 则当前手势操作为2D操作,否则当前手势操作为3D操作,λ、L3为常数;
[0028] (7.2)刷新2DR和3DR:2DR和3DR分别指显示器上的二维区域和三维区域,[0029] 分别求2DR和3DR的最大包围盒,得到(2DR_LB,2DR_RT)和(3DR_LB,3DR_RT,2DR_LB指2DR区域的左下角位置,2DR_RT指2DR区域的右上角位置,3DR_LB、3DR_RT分别指3DR区域的两个对角位置即左下角与右上角位置,从而,确定2DR和3DR区域的位置和大小。
[0030] 作为对本技术方案的进一步限定,所述透明界面指计算机感知的位于用户与物理界面之间的3D交互感应区。
[0031] 作为对本技术方案的进一步限定,所述物理界面指显示器的显示屏幕。
[0032] 作为对本技术方案的进一步限定,所述透明界面为水平长方形。
[0033] 作为对本技术方案的进一步限定,所述透明界面为竖直长方形。
[0034] 作为对本技术方案的进一步限定,所述透明界面为半圆柱形。
[0035] 作为对本技术方案的进一步限定,所述物理界面分为2D操作区和3D操作区。
[0036] 作为对本技术方案的进一步限定,所述步骤(3)的人体重心位置的计算步骤为:
[0037] (3.1)通过Kinect设备获取人体骨骼坐标;
[0038] (3.2)用左、右 膝关节坐 标(A1(x,y,z),A2(x,y,z))、左、右 髋关节坐 标(A3(x,y,z),A4(x,y,z))、左、右肩关节坐标(A5(x,y,z),A6(x,y,z))、左、右胸锁关节坐标(A7(x,y,z),A8(x,y,z))和下颌关节(A9(x,y,z))的平均值代替人体重心位置Ck(x,y,z),即[0039]
[0040] 其中,Ai(x,y,z)表示关节位置,该位置可以从Kinect设备编程接口直接获取,它用(x,y,z)三维坐标表示。
[0041] 作为对本技术方案的进一步限定,所述步骤(2)和(3)手势重心位置的计算步骤为:
[0042] (2.1)从k时刻获取的视频帧图像中根据肤色和深度值把手势图像从背景图像中分割出来,得到手势的RGB位图I;
[0043] (2.2)在位图I中计算手势图像的二维重心位置(x,y);
[0044] (2.3)根据Kinect设备提供的编程接口中,读出(x,y)对应的深度值z,从而得到Pk(x,y,z)。
[0045] 与现有技术相比,本发明的优点和积极效果是:本发明赋予手势操纵物理空间以信息空间的属性,结构化交互感应区,达到物理空间(透明界面)“实”化的目的;通过建立物理界面与透明界面的对应关系,达到物理界面“虚”化的目的。这样,一方面,实者虚之,虚者实之,实现物理界面与透明界面二者的信息增强和无缝融合,“拉近”用户与物理界面的距离,使之更加逼近用户的心理模型;另一方面,通过透明界面构建隐式交互界面范式,有望为人机交互中的部分热点问题或难点问题找到新的解决方法。例如,有可能为Midas Touch、手势操作疲劳、混合多模态手势之间的透明切换等问题,提供新的突破口。弄清透明界面的空间功能分布与用户行为模型和体验愉悦感之间的关系,探明基于透明界面的透明感知的认知机理和行为特征,为三维用户界面系统、虚拟现实系统、动漫游戏软件系统,尤其是为交互式智能数字电视、3D游戏等界面的设计提供更加智能化、人性化、自然化的交互范式。

附图说明

[0046] 图1为本发明的透明界面结构图。
[0047] 图2为本发明为从透明界面到物理界面的映射的示意图。
[0048] 图3为本发明的透明界面为平面的示意图。
[0049] 图4为本发明的透明界面为圆弧形的示意图。
[0050] 图5为本发明的透明界面的投影效果图。具体实施方式:
[0051] 下面结合实施例,进一步说明本发明。
[0052] 一、基本概念
[0053] (1)透明界面
[0054] 通过对用户手势操作行为进行分析,计算机将透明感知位于用户与物理界面之间的3D交互感应区,该区域将与用户的身体位置及姿态亦步亦趋、就好像用户手势附近有一个看不见但却随用户手势运动“亦步亦趋”的操作屏幕,本发明将这种具有特定结构和功能的用户交互感应区称为(无形)透明界面。
[0055] 透明界面的意义在于,它不仅从一个侧面反映了用户的手势操作行为模型,而且刻画了用户的心理模型,并且规范了非接触式交互的界面范式,使得非接触式交互界面是可以计算、可以感知的。从这个意义上讲,透明界面将接触式交互与非接触式交互很好地统一起来。
[0056] (2)物理界面
[0057] 本发明将显示器的显示屏幕称为物理界面,物理界面上设置有3D操作区和2D操作区。
[0058] (3)物理空间
[0059] 用户与物理界面之间的手势操作空间称为物理空间。图1中给出了一种可能的透明界面结构图。在该界面中,不同的功能区分布在不同的层上,不同的层上可以设置不同的子块。
[0060] 二、透明界面的构建
[0061] 2.1透明界面的获取
[0062] 通过计算机对用户手势操作范围的感知,构建具有动态自适应能力的透明界面,即容许用户随意移动手势或身体,透明界面可以随着用户手势位置的改变而亦步亦趋地自动调整,从而实现手势操纵物理空间的“实”化和信息增强。除了可以通过用户学习和训练的方法得到透明界面之外,本文提出一种获取透明界面的新方法。
[0063] 设当前透明界面的重心为Ok(x,y,z),长、宽、高三个方向的长度分别为L(k,i),(i=1,2,3),当前手势位置为Pk(x,y,z),图像帧序号为k;2DR和3DR分别表示二维(2D)区域三维(3D)区域,2DR_LB和3DR_LB分别表示2DR和3DR的左下角位置,2DR_RT和3DR_RT分别表示2DR和3DR的右上角位置。具体算法如下:
[0064] (1)初始化,设置k=1,L(k,i)=0,i=1,2,3,L(k,i)表示透明界面的长、宽、高,当|H1-H2|<τ时,即当人手基本保持不动时,τ是一个非负经验参数,Pk(x,y,z)=(H1+H2)/2,其中,H1和H2分别表示相邻两帧之间通过Kinect设备接口获得的手势重心位置,Ok(x,y,z)=Pk(x,y,z),Ok(x,y,z)为k时刻透明界面的重心位置;
[0065] (2)k=k+1,计算Pk(x,y,z),Pk(x,y,z)为当前时刻k的手势重心位置;
[0066] (3)如果人体重心位置发生移动,则重新定位透明界面的位置和大小,亦即对于经验常数β,如果:
[0067] |Ck(x,y,z)-Ck-1(x,y,z)|>β (1)
[0068] 则转第(1)步,Ck表示人体的重心位置;
[0069] (4)刷新透明界面的重心位置,
[0070] Ok(o1,o2,o3)=(nOk-1(x,y,z)+Pk(x,y,z))/(n+1) (2)
[0071] 其中,n表示透明界面中参与统计的手势重心位置的轨迹点的数目;
[0072] (5)刷新透明界面沿长、宽、高三个方向的长度:
[0073] L(k,i)=max(L(k-1,i),2*|pk(x,y,z)-ok(x,y,z)|)
[0074] (2)
[0075] 其中,i=1,2,3;
[0076] (6)判断当前操作是属于物理界面的2D操作区的操作还是属于3D操作区的操作;
[0077] (7)如果透明界面结构趋于稳定,即
[0078] (||L(k,i)-L(k-1,i)||<μ)and(||Ok(x,y,z)-Ok-1(x,y,z)||<μ)[0079] (4)
[0080] 则输出透明界面的位置、大小和结构信息,μ为事先设定的常数,否则,转第步骤(2)。
[0081] 所述步骤(7)包括如下步骤:
[0082] (7.1)如果当前第k帧的手势重心位置与透明界面的重心位置之差超过规定阈值,则认为当前操作为3D操作区的操作;否则,当前操作被认定为2D操作区的操作,亦即:
[0083] 如果
[0084] λ<||Pk(x,y,z)-ok(x,y,z)||
[0085] 则当前手势操作为2D操作,否则当前手势操作为3D操作,λ、L3为常数;
[0086] (7.2)刷新2DR和3DR:2DR和3DR分别指显示器上的二维区域和三维区域,[0087] 分别求2DR和3DR的最大包围盒,得到(2DR_LB,2DR_RT)和(3DR_LB,3DR_RT,2DR_LB指2DR区域的左下角位置,2DR_RT指2DR区域的右上角位置,3DR_LB、3DR_RT分别指3DR区域的两个对角位置即左下角与右上角位置,从而,确定2DR和3DR区域的位置和大小。
[0088] 所述步骤(3)的人体重心位置的计算步骤为:
[0089] (3.1)通过Kinect设备获取人体骨骼坐标;
[0090] (3.2)用左、右 膝关节坐 标(A1(x,y,z),A2(x,y,z))、左、右 髋关节坐 标(A3(x,y,z),A4(x,y,z))、左、右肩关节坐标(A5(x,y,z),A6(x,y,z))、左、右胸锁关节坐标(A7(x,y,z),A8(x,y,z))和下颌关节(A9(x,y,z))的平均值代替人体重心位置Ck(x,y,z),即[0091]
[0092] 其中,Ai(x,y,z)表示关节位置,该位置可以从Kinect设备编程接口直接获取,它用(x,y,z)三维坐标表示。
[0093] 所述步骤(2)手势重心位置的计算步骤为:
[0094] (2.1)从k时刻获取的视频帧图像中根据肤色和深度值把手势图像从背景图像中分割出来,得到手势的RGB位图I;
[0095] (2.2)在位图I中计算手势图像的二维重心位置(x,y);
[0096] (2.3)根据Kinect设备提供的编程接口中,读出(x,y)对应的深度值z,从而得到Pk(x,y,z)。
[0097] 透明界面的获取相当于人机交互系统的初始化阶段,一旦透明界面结构趋于稳定,就可以通过透明界面到物理界面的映射关系,就可以像操作实物界面那样非接触式操作物理界面或与环境中的设备进行交互。
[0098] 2.2透明界面与物理界面之间的映射
[0099] 一般情况下,透明界面VI可以是二维平面,也可以是3维立体面,透明界面VI与物理界面PI所在的平面平行。实验表明,从透明界面VI到物理界面PI的关系可以近似地用透视映射进行表达(图2):
[0100] ()
[0101] 其中,
[0102] ()
[0103] 这里,3×3阶子矩阵ai,j(i,j=1,2,3)是比例变换或旋转变换参数,(t1,t2,t3)是平移变换参数,(p1,p2,p3)是透视变换参数,r是整体比例变换参数。显然,从图中的4个顶点的映射对应可以解出矩阵T,于是得到从透明界面到物理界面的映射关系;同样,可以得到从物理界面到透明界面的映射关系。
[0104] 2.3多风格透明界面
[0105] 透明界面固然反映了用户的行为模型,但这个模型是在要求用户在面对物理界面操作任务的条件下得到的,在用户的潜意识里,操作所在的范围几乎与物理界面平行。然而,这种要求往往会让用户在长时间操作后感到疲劳,即用户的操作负荷往往比较重。为了降低用户的操作负荷,我们进一步提出多风格透明界面的研究设想。根据这种研究设想,透明界面与物理界面之间可以呈任意角度,且计算机可以自动感知多风格透明界面并自动找到透明界面与物理界面之间的对应关系。实现多种风格的任意转换,可能更能降低用户的操作负荷。图中,给出了一种可能的透明界面风格。在这个实例中,物理界面PI所在的平面是竖直的,而透明界面VI所在的平面是水平的。事实上,根据透明界面VI和物理界面PI之间的对应关系,总可以求出透视矩阵T,从而方便地实现不同风格的透明界面。
[0106] 此外,透明界面VI还可以被映射为呈球面状或柱面状(图3和图4)。根据VI和PI之间四个角点之间的对应关系,很容易求出对应球面状或柱面的有关参数。
[0107] 多风格透明界面在一定程度上降低了用户对于物理界面的依赖程度,克服了目前基于手势输入的非接触式界面中式单一、刻板的交互模式,更加体现“以人为中心”的设计理念。