一种基于图像处理的智能手势交互方法技术

技术编号:34723648 阅读:7 留言:0更新日期:2022-08-31 18:09
本发明专利技术公开了一种基于图像处理的智能手势交互方法。该方法使用目标检测和管道追踪的方法对每一帧手势图像输入数据进行刻画操作,得到手掌和手指的每个关键节点的坐标位置;其次,使用几何计算和坐标变换得到左键和右键等鼠标操作所需的关键信息;最后,通过对关键信息进行处理和组合,模拟鼠标的操作过程,达到人机智能交互的目的。该方法在一定程度上增加了人机交互的可理解性和可操作性。了人机交互的可理解性和可操作性。了人机交互的可理解性和可操作性。

【技术实现步骤摘要】
一种基于图像处理的智能手势交互方法


[0001]本专利技术涉及到图像识别处理和人机交互领域,具体涉及一种基于图像处理的人机之间智能手势交互方法。

技术介绍

[0002]智能手势交互是图像处理领域的延展和应用。其主要目的是通过对手势图像进行识别和处理,然后针对不同的手势图像处理结果情况做出对应的响应。目前正处于图像处理的快速发展阶段,图像处理相关的硬件设备的日趋普及,如电脑摄像头、工业机器人的视觉系统、智能监控或交互设备等各类图像处理和交互应用随处可见,使得人们开始追求更加智能化的交互化方式。然而在人机交互过程中,人们不仅需要考虑如何完成智能交互的过程,更重要的需求是如何让广大用户轻松理解和使用这一智能交互方式。在传统的交互过程中,用户往往通过鼠标、键盘、手写板、触控屏等终端输入设备调用PC机、平板电脑等主机的命令,然后主机对用户的操作做出相应的响应。近年来计算机外围硬件设备得到了快速发展,各个组成部分对应的功能越来越强大,价格越来越低廉,性价比越来越高。一些中低端图像处理和交互设备也走进了人们的生活。然而利用现有这些终端的交互过程已经难以满足日益增长的用户人机交互需求。为此,迫切需要解决的问题是如何用新的方式或技术取代键盘或者鼠标这类终端的操作,达到无接触式智能人机交互的目的。

技术实现思路

[0003]针对上述问题,本专利技术提供了一种基于图像处理的智能手势交互方法。该方法通过对用户的手势及其对应的手势图像进行识别处理,并结合实际人机操作情形模拟终端鼠标的操作方式,达到人机智能手势交互的目的。/>[0004]为解决上述问题,本专利技术是通过以下技术方案实现:
[0005]一种基于图像处理的智能手势交互方法,包括如下步骤:
[0006](1)采用OpenCV技术监听摄像头获取手势交互视频流,对交互视频流进行每一帧的截取,以10毫秒为间隔截取一帧作为手势交互图像输入;
[0007](2)采用Mediapipe模型对输入的那一帧的手势图像做处理,将手势图像中手掌以及手指的关键节点标注出来;
[0008](3)根据步骤(2)得到的手势图像中每个关键节点的位置计算出每个关键节点在当前手势图像中的具体坐标,以左上角的点为原点,记为O(0,0),以向右和向下的方向作为x轴和y轴的正方向;
[0009](4)通过对步骤(3)中得到的具体坐标进行坐标变换,将变换后的坐标投影到屏幕上,得到了每个关键节点在屏幕中的具体坐标,并将大拇指的指尖节点作为鼠标原点;
[0010](5)通过对每根手指上的关键节点和掌心节点进行几何计算,判断每根手指的开合状态;
[0011](6)根据步骤(5)得到的手势交互过程中的手指的开合状态,模拟鼠标的左键、右
键操作过程;
[0012](7)通过判别预处理模块,获取上一帧的手势图像中的鼠标原点位置,然后将当前鼠标移动到上一次的鼠标原点位置;
[0013](8)根据互斥变量交替使用操作鼠标的权限,只有当上一次操作过程完全结束后,下一次鼠标操作才会正常响应。
[0014]步骤(2)所述的Mediapipe模型的操作过程是:
[0015]1)结合OpenCV技术,对摄像头进行监控,通过对视频流中的每一帧做监听,追踪手势图像的每一帧中的手掌所在位置;
[0016]2)对手掌进行刻画操作,将手掌和手指的21个关键节点和骨架刻画出来,并将每个关键点的3维空间坐标返回。
[0017]步骤(4)所述的坐标变换过程是:
[0018]首先得到大拇指指尖的坐标,记为mouse(x4,y4),同时获取到屏幕的宽w1和高h1;假设手势图片的宽为w2,高为h2,坐标变换后的鼠标在屏幕上的投影坐标为(x,y)=((1

(x4/w2))
×
w1),(y4/h2)
×
h1)。
[0019]步骤(5)所述的几何计算过程是:
[0020]根据计算得到关键节点在手势图片中的坐标,一共有21个点,即存在21组坐标,记为(x0,y0)到(x
20
,y
20
);假设每根手指的指尖坐标为(x2,y2),每根手指弯曲处的那个节点的坐标为(x1,y1),掌心节点的坐标为(x0,y0),当(x1,y1)与(x0,y0)之间的几何距离大于(x2,y2)与(x0,y0)之间的几何距离,判定当前手指进入了弯曲状态;否则,手指就是张开状态:
[0021][0022][0023]步骤(6)所述的根据手指开合状态模拟鼠标的操作过程是:
[0024]将大拇指指尖节点记为鼠标的原点,记作mouse(x0,y0);
[0025]当大拇指、食指和中指张开时,当前阶段记为鼠标移动阶段;
[0026]当食指进行点击弯曲时,食指进入闭合状态,当前阶段记为鼠标点击阶段;
[0027]当中指进行点击弯曲时,中指进入闭合状态,当前阶段记为鼠标右击阶段;
[0028]当食指弯曲超过0.5秒,当前阶段记为鼠标拖拽阶段;
[0029]当食指和中指同时弯曲时,食指和中指同时进入闭合状态,当前阶段记为双击阶段;
[0030]当5根手指全部张开,5根手指同时处于张开状态,当前阶段记为滑轮下滑阶段或者放大阶段;
[0031]当5根手指全部紧闭,5根手指同时进入闭合状态,当前阶段记为滑轮上滑阶段或者缩小阶段。
[0032]本专利技术的效果是:
[0033](1)本专利技术采用了智能算法处理,为了保证每一帧手势图像处理完成后的操作会对下一帧的处理结果造成影响,引入了互斥变量的概念。比如单击操作,当前一帧的手势图像处理结果完成后,调用自封装的鼠标库函数,操作鼠标完成对当前坐标点的单击,此时,互斥变量进入临界区,下一帧的手势图像处理结果将不会进行响应。当前一次点击完成,鼠
标进入自由状态后,互斥变量推出临界区,此时,下一帧的手势图像操作的处理结果才会正常响应。
[0034](2)本专利技术采用智能算法处理过程中加入了判别预处理模块,对于手势图像的单一处理问题进行改进。手势图像的单一处理问题指的是:由于图像只能每隔一帧处理一次,所以需要解决鼠标的原点坐标的跳度的问题,即鼠标会出现卡顿和跳跃。本专利技术通过加入预处理模块,获取到前一帧的鼠标所在坐标,在新的一帧处理时,将鼠标坐标移动到新的坐标点,当我们把每一帧的采集频率缩小时,这个鼠标跳度问题就得到了很好的解决。
[0035](3)本专利技术通过加入智能算法处理,让用户使用手势图像进行操作的过程完整以及流畅,达到了很好的人机交互的水平。
附图说明
[0036]图1为本专利技术实施例中基于手势人机交互流程图。
[0037]图2为本专利技术中利用mediapipe模型得到的手掌关键节点分布图。
[0038]图3

图6为本专利技术测试结果示意图。
具体实施方式
[0039]下面结合附图和实施例对本专利技术作进一步的阐述。
本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于图像处理的智能手势交互方法,包括如下步骤:(1)采用OpenCV技术监听摄像头获取手势交互视频流,对交互视频流进行每一帧的截取,以10毫秒为间隔截取一帧作为手势交互图像输入;(2)采用Mediapipe模型对输入的那一帧的手势图像做处理,将手势图像中手掌以及手指的关键节点标注出来;(3)根据步骤(2)得到的手势图像中每个关键节点的位置计算出每个关键节点在当前手势图像中的具体坐标,以左上角的点为原点,记为O(0,0),以向右和向下的方向作为x轴和y轴的正方向;(4)通过对步骤(3)中得到的具体坐标进行坐标变换,将变换后的坐标投影到屏幕上,得到了每个关键节点在屏幕中的具体坐标,并将大拇指的指尖节点作为鼠标原点;(5)通过对每根手指上的关键节点和掌心节点进行几何计算,判断每根手指的开合状态;(6)根据步骤(5)得到的手势交互过程中的手指的开合状态,模拟鼠标的左键、右键操作过程;(7)通过判别预处理模块,获取上一帧的手势图像中的鼠标原点位置,然后将当前鼠标移动到上一次的鼠标原点位置;(8)根据互斥变量交替使用操作鼠标的权限,只有当上一次操作过程完全结束后,下一次鼠标操作才会正常响应。2.根据权利要求1所述的智能手势交互方法,其特征是:步骤(2)所述的Mediapipe模型的操作过程是:1)结合OpenCV技术,对摄像头进行监控,通过对视频流中的每一帧做监听,追踪手势图像的每一帧中的手掌所在位置;2)对手掌进行刻画操作,将手掌和手指的21个关键节点和骨架刻画出来,并将每个关键点的3维空间坐标返回。3.根据权利要求1所述的智能手势交互方法,其特征是:步骤(4)所述的坐标变换过程是:首先得到大拇指指尖的坐标,记为mouse(x4,y4),同时获取到屏幕的宽w1和高h1...

【专利技术属性】
技术研发人员:谢武周天范勇王兴宇强保华
申请(专利权)人:桂林电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1