一种三维人机交互方法

文档序号:10569526阅读:544来源:国知局
一种三维人机交互方法
【专利摘要】本发明提供了一种三维人机交互方法,属于人机交互领域。该方法利用粒子滤波方法跟踪手势,并对手势进行预测得到预测值,然后将预测值与当前值之间的向量延长,求出与功能菜单的交点,根据该交点获得用户意图。该方法减少了用户的记忆负担和操作负担并且在时间开销及精度上有明显的改善,实现了人机交互界面的自然性和高效性。
【专利说明】
一种三维人机交互方法
技术领域
[0001 ]本发明属于人机交互领域,具体涉及一种三维人机交互方法。
【背景技术】
[0002] 近年来,三维自然手势交互技术已经在手指鼠标、商品应用、移动设备、交通控制、 帮助残疾人等方面得到应用。自然、高效、智能化、无障碍的人机交互界面已经成为新一代 智能的主要发展方向,建立智能化的、自然的、和谐的、人性化的人机界面已经成为新一代 发展的主要趋势。比如,国内现代汽车公司在其推出的一款概念车中配备了车载手势控制 系统,其中驾驶员或者乘客可以通过手势来控制音量。国外,美国的赛普拉斯(Cypress)半 导体公司开发的Cap-Sense触摸屏传感器探测距离可达到一英尺远,这样一来,通过采用此 Cap-Sense触摸屏驾驶员及乘客们便可以通过手势向上、向下甚至翻页控制中控显示系统, 而无需分心。手势作为一种非言语交际或副语言的一部分已得到国内外学者的广泛研究。 近年来,国外学者们开始关注用于对话、叙述及演讲等活动中的手势,并把手势当作语言的 重要组成部分从交际与心理、结构、语用、心理与认知等各个角度对其进行了研究,取得了 丰硕成果。此外,几乎所有的认知心理学的研究问题都来自日常生活,所以认知心理学应该 成为与人类关系最为密切的学科。已经有一些认知心理学的知识被应用到了生活中比如测 谎仪眼镜等。但认知心理学的应用价值要远远超过现在看到的这些,如交通运输部门的应 用心理学也在研究之中。
[0003] 行为认知模型如下:所谓认知,通常包括感知与注意、知识表示、记忆与学习、语 言、问题求解和推理等方面。建立认知模型的技术常称为认知建模,目的是为了从某些方面 探索和研究人的思维机制,特别是人的信息处理机制。丰富的外部刺激和内心体验对有限 的信息加工容量提出挑战,时刻需要对内外部的信息进行筛选"集中于任务相关信息"忽视 或抑制任务无关的信息这种选择性加工的过程就是通常提到的注意。注意参与感知觉,学 习和记忆,言语推理与决策等。对信息的选择性注意可作用于物体,空间方位或刺激属性。
[0004] 手势交互界面的设计如下:在人机界面设计中加入认知心理学知识,运用认知心 理学相关知识研究生理、心理、环境等因素对用户的影响和效能得出更自然的人机界面,设 计中需要考虑的因素如下:必须进行用户调查,视觉搜索规律,用户记忆特性,错误处理准 则。
[0005] 手势跟踪-粒子滤波如下:人手的三维跟踪技术是智能人机交互的关键技术之一, 它的快速发展大大的促进了自然、和谐、方便的人机交互的实现。由于人手是一个多关节物 体,需要高维状态空间来描述,且具有很高的自由度,这就增加了跟踪的难度。目标在运动 过程中,经常受到诸如光照变化、物体遮挡、背景干扰等外界因素的影响,对于这种非线性、 非高斯问题,常见的方法如卡尔曼滤波和扩展卡尔曼滤波已经不能满足要求。粒子滤波是 解决非高斯、非线性状态估计的有效理论工具。粒子滤波器的核心思想是利用一系列的随 机抽取的样本,也就是粒子,和样本的权重来替代状态的后概率分布,并利用这些样本及其 权重计算状态的函数分布。当样本的个数变得足够大时,通过这样的随机抽样方法就可以 得到状态后验分布很好的近似,粒子滤波器就可以通过这些粒子表示的后验分布来获得需 要的估计。
[0006] 综上所述,现有方法存在的主要问题是:在人机交互上,很少利用用户的认知心理 并且结合手势跟踪技术(即用户的手势方向就是用户的意图)来设计自然高效的交互方式。

【发明内容】

[0007] 本发明的目的在于解决上述现有技术中存在的难题,提供一种三维人机交互方 法,减少用户的设备认知和操作负担。
[0008] 本发明是通过以下技术方案实现的:
[0009] 一种三维人机交互方法,利用粒子滤波方法跟踪手势,并对手势进行预测得到预 测值,然后将预测值与当前值之间的向量延长,求出与功能菜单的交点,根据该交点获得用 户意图。
[0010] 所述方法包括:
[0011] stepl.初始化三维场景和物体功能库,并得到手势的初始状态;
[0012] Step2.获取第i帧图像,用肤色分布模型把目标手势从图像中分割出来,i = 0,l, 2……;
[0013] Step3.利用粒子滤波预测第i+1帧图像的状态;
[0014] Step4.计算出预测值即第i + 1帧图像的状态与当前图像帧的值的差向量V[i] = (vil,vi2,vi3)(i = 0,l ,2...),即第i帧的差向量,并将当前帧三维场景点Ai(xi,yi,zi)(i =0,1,2...),即第i帧的场景点作为输入点;其中,vil,vi2, vi 3分别表示该差向量的x,y,z 方向的大小,xi,y i,zi分别表示该点的x,y,z方向的大小;
[0015] Step5 ?判断i % 10= =0是否成立,如果是,则转到Step6;否则,转到Step2;
[0016] Step6.判断|V[i]-V[i_l]|>阈值是否成立,如果是,说明手势变化,然后将向量V [i]和场景点Ai(xi,yi,zi)延长并代入直线与平面的交点方程内,求得当前帧与三维场景 中的功能菜单界面P的交点Bi(xi,yi,zi)(i=0,1,2......),然后转向Step7,否则,返回 Step2;
[0017] Step7.将获得的当前帧交点Bi(xi,yi,zi)与功能菜单各个选项M[n] = (Xn,Yn, Zn)(n = 0,l ,2......)进行比较,得出欧氏距离最小值 Dmin= | Bi (xi ,yi , zi )-(Xn, Yn, Zn) ,即为用户意图;其中,M[n] = (Xn,Yn,Zn)(n = 0,l,2......)是菜单第n个功能图片所在的 位置,Xn,Yn,Zn表示该图片的位置;
[0018] Step8.判断用户意图表达是否正确,如果是,则转向Step9,如果否,找到返回键, 返回Step2;
[0019] Step9:调用物体功能库,显示出用户选择物体的功能。
[0020]所述Stepl中初始化三维场景和物体功能库是这样实现的:
[0021]利用OpenGL建立三维场景,三维场景中有一个物块,同时在该物块周围有四个功 能图片,分别分布在物块的左前方、左后方、右后方、右前方,将对应的物体的功能编号放入 物体功能库中。
[0022]所述Stepl中得到手势的初始状态是这样实现的:
[0023]采用Kinect来捕获操作者的手部运动:在自然光照条件下,将Kinect摄像头夹在 显示屏上边的中央,交互距离显示屏约1~1.5m,将所捕获的真彩色图像采用RGB格式,以原 数据方式存储,在捕获真彩图像的同时将其转换为灰度图像并保存;
[0024]根据Kinect具有感知深度信息能力和获取RGB图像的特征,提取分割后的手势以 及静态手势图像,即得到手势的初始状态。
[0025]所述Step2中的获取第i帧图像是从Kinect中视频流中获取的第i帧图像。
[0026] 所述Step6中的阈值取2。
[00Z7]所述Step6中求得当前帧与三维场景中的功能菜单界面P的交点Bi(xi,yi,zi)(i = 0,1,2......)是这样实现的:
[0028] 直线与平面的交点方程如下:直线L过点Ai(xi,yi,zi ),且方向向量为V[i]= (>;11,¥12,¥13),平面?过点口(口1,口2,口3),且法线方向向量为\^ >(>口1^2^3),将直线方程 写成参数方程形式,即有:
[0029] X = X2 + v/1 ^ t y - ^ ^ z = zi + v B ^ t (1)
[0030] 将平面方程写成点法式方程形式,即有:
[0031] Vpl*(x-pl)+vp2*(y-p2)+vp3*(z_p3)=0 (2)
[0032] 则直线与平面的交点一定满足式(1)和(2),联立两式,求得:
[0034] 如果(3)式中分母(>。1抑;[1+¥。2抑12+¥。3抑13)=0,则表示直线与平面平行,即直 线与平面没有交点,求解出t后,然后将t代入式(1)即可求得交点0的坐标Bi(xi,yi,zi)。
[0035] 与现有技术相比,本发明的有益效果是:。
[0036]本发明针对减少用户的设备认知和操作负担的问题,提出了以人类的认知行为模 型为出发点,利用粒子滤波方法跟踪手势,对手势交互界面进行了新的研究。计算机自动感 知了人们的交互意图,手势跟踪减少了人机交互的时间,同时,用一种手势表示多种语义降 低了用户的操作负担。本文实验结果表明,该方法减少了用户的记忆负担和操作负担并且 在时间开销及精度上有明显的改善,实现了人机交互界面的自然性和高效性。
【附图说明】
[0037]图1本发明方法的步骤框图
[0038]图2本发明方法与现有方法统计时间的对比图
[0039]图3实验者对用户的认知负荷进行测评图。
【具体实施方式】
[0040] 下面结合附图对本发明作进一步详细描述:
[0041] 针对减少用户的设备认知和操作负担的问题,本发明提出了以人类的认知行为模 型为出发点,利用粒子滤波方法跟踪手势,结合手势识别和上下文情境得到用户的意图,即 用户的手势方向便是用户的选择,对手势交互界面进行了新的研究。在本发明方法中,计算 机自动感知了人们的交互意图;利用粒子滤波进行手势跟踪与预测,减少了人机交互的时 间;同时,用一种手势表示多种语义降低了用户的操作负担。然后设计并实现了一种基于该 方法的三维人机交互界面范式进行验证,结果表明该算法减少了用户的记忆负担并且在时 间开销及精度上有明显的改善。
[0042]为了体现用户的手势方向就是用户的意图的目的,采用的基本思路是:利用粒子 滤波进行预测,并将预测值与当前值之间的向量延长,求出与功能菜单的交点,即为用户意 图。
[0043]具体算法如图1所示,包括:
[0044] Stepl.初始化三维场景和物体功能库,并得到手势的初始状态;
[0045] Step2.从视频流中获取第i帧(i = 0,l,2……)图像,用肤色分布模型把目标手势 从图像中分割出来;
[0046] Step3.利用粒子滤波进行手势的预测第i+1帧图像的状态;
[0047] 3七6口4.计算出预测值与当前值的差向量7[;[] = (>;[1,¥12,¥13)(1 = 0,1,2...),并 将当前帧三维场景点Ai (xi,y i,zi) (i = 0,1,2...)(即方块的中心点)作为输入点;
[0048] Step5 ? i % 10= =0?如果是,转到 Step6;否则,转到 Step2;
[0049] Step6. |V[i]-V[i_l]|>阈值?如果是,说明手势变化,然后将向量V[i]和场景点Ai (xi,yi,zi)延长并代入直线与平面的交点方程内,求得当前帧与三维场景中的功能菜单界 面P的交点Bi(xi,yi,zi)(i = 0,l,2......);
[0050] 直线与平面的交点方程如下:直线L过点Ai(xi,yi,zi ),且方向向量为V[i]= (vil,vi2,vi3),平面P过点p(pl,p2,p3)(即功能菜单面的任一已知点),且法线方向向量为 VP(vpl,Vp2,vp3)(即功能菜单面的任一已知法向量),将直线方程写成参数方程形式,即 有:
[0051] x = xi + vil i < -y = yi + vil t z - zi + v/3 ^ t (jj
[0052] 将平面方程写成点法式方程形式,即有:
[0053] vpl*(x-pl)+vp2*(y-p2)+vp3*(z_p3)=0 (2)
[0054] 则直线与平面的交点一定满足式(1)和(2),联立两式,求得:
[0056] 如果(3)式中分母(>。1抑;[1+¥。2抑12+¥。3抑13)=0,则表示直线与平面平行,即直 线与平面没有交点。求解出t后,然后将t代入式(1)即可求得交点0的坐标Bi(xi,yi,zi),R 向Step7。否则,返回Step2;
[0057] Step7.将获得的当前帧交点Bi(xi,yi,zi)与功能菜单各个选项M[n] = (Xn,Yn, Zn)(n = 0,l,2......)比较,得出欧氏距离最小值 D min= | Bi (xi ,yi , zi )-(Xn, Yn ,Zn) |,即 为用户的意图表达;
[0058] StepS.判断用户意图表达?正确的话,转向Step9。错误的话,找到返回键,返回 Step2,进行纠错并重新开始;
[0059] Step9:调用物体功能库,显示出用户选择物体的功能。
[0060] 下面通过实验来验证本发明方法:
[0061] (1)实验平台
[0062] 本发明在Intel P 4 2.8GHz CPU,4GB RAM PC机上采用C++语言在VS2008平台上 实现了手势交互原型系统.该手势交互原型系统主要包括场景构建、手势捕获与分割、手势 跟踪及用户意图表达4个模块。
[0063] 本发明采用Kinect来捕获操作者的手部运动(请参考Helen J.RichardS,Valerie Benson,Nick Donnelly,Julie A.Hadwin.Exploring the function of selective attention and hypervigilance for threat in anxiety[J].Clinical Psychology Review,2014,Vol .34(1)),在自然光照条件下,Kinect摄像头夹在显示屏上边的中央,交互 距离显示屏约1~1.5m.所捕获的真彩色图像采用RGB格式,以原数据方式存储,为便于后续 实时处理,在捕获真彩图像的同时将其转换为灰度图像并保存。
[0064] (2)实验方法
[0065]为验证该算法有效性,本发明以OpenGL绘制三维场景中的交互为研究背景。
[0066] 1.场景构建模块
[0067]场景中有一个方块,该方块具有放大,缩小,平移和纠错4种功能,并将四种功能的 图片分别放在方块右前方,右后方,左前方,左后方分别为缩小,平移,放大和返回键,并将 这4种功能放入物体功能库中。
[0068] 2.手势捕获与分割模块
[0069]根据Kinect具有感知深度信息能力和获取RGB图像的特征,提取(a)分割后的手势 以及(b)静态手势图像
[0070] 3.用户意图表达模块
[0071] 当用户选择其中一个功能时,场景里的物体会出现相应的变化,同时为了使用户 明确自己选中的功能,三维场景中会显示指示箭头以表示用户的手势方向,比如用户方向 为放大方向,则方块会出现指向放大的箭头,同样的,用户方向为平移方向,则方块会向右 平移,当用户方向为纠错方向时,方块会恢复到前一个状态,纠错状态表如表1。
[0074] 实验选取10位不同年龄阶段的成年实验者(包括5名男生和5名女生,年龄阶段在 20-25之间,都具有空间感知能力),告诉实验者实验的目的,即假设用户在小方块的中心, 场景中物体的功能也就分别在方块的左前方(放大),右前方(缩小),左后方(纠错返回)和 右后方(平移),手势的方向就是用户的选择功能,然后让用户都依次选择各个功能,各做5 次试验以得到可靠的实验数据。
[0075] (1)精度
[0076] 通过记录实验者操作的总次数和识别正确的次数,利用公式(4),计算准确率,实 验结果如表2所示。
[0077] Accurate(准确率)=正确次数/总次数 (4)
[0080] 表 2
[0081] 通过该表,可以得出该实验准确率较高,能较好的表达用户的意图。
[0082] (2)时间开销
[0083]将本发明算法与传统算法即利用HCDF算法(请参考:杨学文.面向交互语义的用户 基本手势实时检索方法研究[D].济南大学硕士论文,2015)(结合手势主方向和类-Hausdorff距离的手势识别算法)实现物体功能,在统计时间上作比较如图2所示,可以发现 本文从用户执行动作到用户意图表达平均消耗2.2s,而传统算法平均消耗3s。由于手势识 别在环境、手势多样性方面受到很大的影响,因此,本发明算法更具实时性。
[0084] (3)用户体验
[0085] 为了验证本文算法的认知负荷,采用NASA_TLX(National Aeronautics and Space Administration Task Load Index)认知负荷评测法(请参考:杨场,邓赐平.NASA-TLX量表作为电脑作业主观疲劳感评估工具的信度、效度研究[J].心理研究,2010,3(3): 36-41) JASA-TLX主要包括6个指标:1)脑力要求(Mental demand)2)体力要求(Physical demand)3)体力要求(Temporal demand)4)努力程度(Effort)5)操作绩效(Performance)6) 受挫程度(Frustration),满分为5分,分数越低则表示用户的认知负荷越少,让该10名实验 者对用户的认知负荷进行测评如图3所示。通过评分,可以看出用户的心情愉悦程度较高, 认知及操作负担较小。
[0086] (3) ?实验结论
[0087] 通过以上实验我们发现,当用户具有认知心理的情况下,基于粒子滤波预测人机 交互系统,减少了人们的操作负担及记忆负担,因此本发明算法在一定程度上提高了人机 交互的自然性和功能操作的流畅性。
[0088] 上述技术方案只是本发明的一种实施方式,对于本领域内的技术人员而言,在本 发明公开了应用方法和原理的基础上,很容易做出各种类型的改进或变形,而不仅限于本 发明上述【具体实施方式】所描述的方法,因此前面描述的方式只是优选的,而并不具有限制 性的意义。
【主权项】
1. 一种三维人机交互方法,其特征在于:所述方法利用粒子滤波方法跟踪手势,并对手 势进行预测得到预测值,然后将预测值与当前值之间的向量延长,求出与功能菜单的交点, 根据该交点获得用户意图。2. 根据权利要求1所述的三维人机交互方法,其特征在于:所述方法包括: Stepl.初始化三维场景和物体功能库,并得到手势的初始状态; Step2.获取第i帧图像,用肤色分布模型把目标手势从图像中分割出来,i = 0,l, 2……; Step3.利用粒子滤波预测第i+Ι帧图像的状态; Step4.计算出预测值即第i + Ι帧图像的状态与当前图像帧的值的差向量V[i] = (vil, vi2,vi3)(i = 0,1,2...),即第i帧的差向量,并将当前帧三维场景点Ai(xi,yi,zi)(i = 0, 1,2...),即第1帧的场景点作为输入点;其中,"1,"2,"3分别表示该差向量的^7,2方向 的大小,xi,y i,zi分别表示该点的x,y,z方向的大小; Step5 ·判断i % 10 = =0是否成立,如果是,则转到Step6;否则,转到Step2; Step6.判断|V[i]-V[i-l]|>阈值是否成立,如果是,说明手势变化,然后将向量V[i]和 场景点Ai(xi,yi,zi)延长并代入直线与平面的交点方程内,求得当前帧与三维场景中的功 能菜单界面?的交点扮(1;1,7;[,2;〇(1 = 0,1,2......),然后转向Step7,否则,返回Step2; Step7.将获得的当前帧交点Bi(xi,yi,zi)与功能菜单各个选项M[n] = (Xn,Yn,Zn)(n = 0,1,2......)进行比较,得出欧氏距离最小值Dmin= I Bi(xi,yi,zi)-(Xn,Yn,Zn) I,即为 用户意图;其中,M[n] = (Xn,Yn,Zn)(n = 0,l,2......)是菜单第η个功能图片所在的位置, Χη,Υη,Ζη表示该图片的位置; Step8.判断用户意图表达是否正确,如果是,则转向Step9,如果否,找到返回键,返回 Step2; Step9:调用物体功能库,显示出用户选择物体的功能。3. 根据权利要求2所述的三维人机交互方法,其特征在于:所述Stepl中初始化三维场 景和物体功能库是这样实现的: 利用OpenGL建立三维场景,三维场景中有一个物块,同时在该物块周围有四个功能图 片,分别分布在物块的左前方、左后方、右后方、右前方,将对应的物体的功能编号放入物体 功能库中。4. 根据权利要求3所述的三维人机交互方法,其特征在于:所述Stepl中得到手势的初 始状态是这样实现的: 采用Kinect来捕获操作者的手部运动:在自然光照条件下,将Kinect摄像头夹在显示 屏上边的中央,交互距离显示屏约1~1.5m,将所捕获的真彩色图像采用RGB格式,以原数据 方式存储,在捕获真彩图像的同时将其转换为灰度图像并保存; 根据Kinect具有感知深度信息能力和获取RGB图像的特征,提取分割后的手势以及静 态手势图像,即得到手势的初始状态。5. 根据权利要求4所述的三维人机交互方法,其特征在于:所述Step2中的获取第i帧图 像是从Kinect中视频流中获取的第i帧图像。6. 根据权利要求5所述的三维人机交互方法,其特征在于:所述Step6中的阈值取2。7. 根据权利要求6所述的三维人机交互方法,其特征在于:所述Step6中求得当前帧与 三维场景中的功能菜单界面P的交点Bi(xi,yi,zi)(i = 0,l,2......)是这样实现的: 直线与平面的交点方程如下:直线L过点Ai(xi,yi,zi),且方向向量为V[i] = (vil, vi2,vi3),平面P过点p(pl,p2,p3),且法线方向向量为VP(vpl,vp2,vp3),将直线方程写成 参数方程形式,即有:将平面方程写成点法式方程形式,即有: vpl*(x-pl)+vp2*(y-p2)+vp3*(z_p3)=0 (2) 则直线与平面的交点一定满足式(1)和(2),联立两式,求得:如果(3)式中分母(vpl*vil+vp2*vi2+vp3*vi3) = 0,则表示直线与平面平行,即直线与 平面没有交点,求解出t后,然后将t代入式(1)即可求得交点0的坐标Bi(xi,yi,zi)。
【文档编号】G06F3/01GK105929944SQ201610236179
【公开日】2016年9月7日
【申请日】2016年4月15日
【发明人】冯志全, 栾敏, 蔡萌萌
【申请人】济南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1