掌桥专利:专业的专利平台
掌桥专利
首页

一种基于图像识别的智能设备手势识别控制方法

文献发布时间:2023-06-19 16:08:01



技术领域

本发明涉及设备技术领域,特别涉及一种基于图像识别的智能设备手势识别控制方法。

背景技术

目前的智能设备的输入方式主要为键鼠和触摸屏输入,传统的输入设备在某些情况下可能并不适用,如受距离限制或者手上有水或其他脏污等。而现有的手势识别控制主要通过探测传感器来识别用户手部的运动轨迹,进行相关分析并进行操作信号的输出,此方法只能对简单的轨迹进行识别,而不能对用户具体的手部姿势进行分析和反馈。

当前已有的可以对具体手势进行识别的方法多为通过模式识别来对手势进行分类,通过提取手势的表观特征建立决策树模型,对手势进行识别分析;或是利用3D建模的方法进行模拟对比,如果添加新的手势都需要重新训练模型,难以修改功能。

智能设备越来越普及的当下,人机交互是不可忽略的日常场景。传统的输入设备在某些情况下可能并不适用,如触摸屏交互会受距离限制或者手上有水或其他脏污等情况的影响。

发明内容

本发明的目的是提供一种基于图像识别的智能设备手势识别控制方法,使用神经网络识别手部位置和姿态,引入对手势的归纳分析,通过识别结果对智能设备进行快捷控制。

本发明的目的是这样实现的:一种基于图像识别的智能设备手势识别控制方法,包括以下步骤:

步骤1)通过摄像头捕捉用户图像,基于OpenCV2对用户身份及手部大致位置进行识别;

步骤2)对手部矩形部分的图像信息进行灰度化、二值化操作,求手部图形的中心距判断掌心位置,采用CNN模型对手部关键点位置坐标分析;

步骤3)将步骤2)中得到的手部关键点位置坐标,通过计算其二维角度关系和其他运动信息,用余弦相似度的方法与用户预设的操作手势进行比较判断,实现手势分析;

步骤4)根据分析得到的手势,依据用户设置的控制逻辑向设备发送控制指令,完成通过手势隔空操作设备。

作为本发明的进一步限定,所述步骤1)具体包括:

步骤1.1)使用者通过摄像头进行人脸图像采集,通过人脸识别模型判断使用者身份;若检测到使用者为授权用户,执行步骤1.2);

步骤1.2)基于OpenCV2利用mediapipe模型,定义一个hand函数对输入图像进行初步分割,得到使用者的手部矩形的位置信息;其中获得的手部矩形位置信息为:矩形左上角坐标landmarks(x,y),矩形大小shape(width,height)。

作为本发明的进一步限定,所述步骤2)具体包括:

步骤2.1)将步骤1.2)手部矩形的原图像进行切割,通过视觉心理学公式(1)进行灰度化处理;

G(x,y)=r(x,y)*299+g(x,y)*587+b(x,y)*114/1000 (1)

步骤2.2)通过阈值分割法将该部分图像width×height的像素信息进行二值化,得到只由0,255灰阶组成的二维矩阵M

其中切割阈值使用Renyi熵计算公式(2)进行计算:

K=argmax(H

K为二值化的切割阈值,二值化的方法见公式(3);

步骤2.3)对于步骤2.2)得到的二值化矩阵M

m

步骤2.4)使用CNN训练具体手势识别的模型,手势图片经过处理得到的灰度信息矩阵作为网络模型的输入,通过公式(5)进行卷积运算得到特征矩阵图;

其中x(n)是激励信号,h(n)是单位样值响应,*表示求卷积;卷积层后选择RELU函数,从而引入非线性特征,接着采用平均池化的方法减少训练的参数量,最后通过全连接层得到结果

步骤2.5)训练结束后的模型参数保存,对测试数据集进行测试,对于所有的测试数据,当测试准确率达到95%以上则可留待使用;

步骤2.6)使用步骤2.4)中得到的手势识别模型参数,加载tensorflow中的网络模型,得到此时输入图像中的手部关键点坐标。

作为本发明的进一步限定,所述步骤3)具体包括:

步骤3.1)将步骤2.6)中得到的手部关键点位置坐标进行二维分析,利用公式(6)通过向量关系求出各点连线之间的夹角,用角度关系来表示手部姿势的二维特征,计算得到手指弯曲角度以及相邻手指间隔角度;

步骤3.2)预定义各类手势对应的二维特征,通过将手指弯曲角度以及相邻手指间夹角角度与预设的姿势信息进行对比,分析得到图像中的静态手部姿势;

步骤3.3)将步骤3.2)得到的手势姿势和步骤2.3)得到的掌心位置坐标作为一组数据,对两秒内的识别数据进行周期性分析,得到手部姿势、掌心位置偏移方向、偏移量、移动速度;

步骤3.4)根据识别得到的手部区域大小估计用户手部与摄像头的距离,对得到掌心位置偏移方向、偏移量、移动速度进行标准化,得到最终的判断向量;利用余弦相似度的计算方法,如公式(8)所示,求判断向量与预设的各种操作手势的标准向量之间的相似度,判断具体的动态手势或组合手势;其中A,B分别为判断向量和标准向量,其分量的值A

作为本发明的进一步限定,所述步骤4)具体包括:控制信号输出,完成通过手势隔空操作设备;根据步骤3.4)中得到的手势进行对应的操作,根据不同操作系统所提供的交互接口,直接对智能设备发出相对的控制指令。

作为本发明的进一步限定,步骤3.2)中所述的通过将手指弯曲角度以及相邻手指间夹角角度与预设的姿势信息进行对比具体为:将步骤3.1)得到一组手指弯曲角度和手指间隔角度合并为维度为9的向量A

摄像头识别的手势特征与所有预定义的手势对比结束后,选择欧式距离最小且不大于置信阈值的手势作为判断结果gesture,其中的置信阈值根据用户设置的识别灵敏度进行判断。

本发明采用以上技术方案,与现有技术相比,有益效果为:本发明将图像识别和设备控制相结合,首先通过摄像头采集的图像信息,利用基于神经网络的分割模型对手部区域进行分割,追踪手部的位置以及图像信息,以便进一步识别手势使用。在此基础上识别出手部每一处关键点的具体坐标,通过分析得到的手部关键点信息的二维特征对手部姿势进行识别归纳,与预定义的姿势信息的比较来确定用户手部的姿势,并对设备进行对应的操作,该方法具有较高的精度以及自定义空间,有广泛的使用场景。

附图说明

图1本发明流程示意图。

图2本发明中手势控制反馈截图。

图3本发明中手部二维特征角度示意图。

具体实施方式

如图1所示的一种基于图像识别的智能设备手势识别控制方法,包括以下步骤:

步骤1)通过摄像头捕捉用户图像,基于OpenCV2对用户身份及手部大致位置进行识别;

步骤1.1)使用者通过摄像头进行人脸图像采集,通过人脸识别模型判断使用者身份;若检测到使用者为授权用户,执行步骤1.2);

步骤1.2)基于OpenCV2利用mediapipe模型,定义一个hand函数对输入图像进行初步分割,得到使用者的手部矩形位置信息;

其中获得的手部矩形位置信息为:

矩形左上角坐标landmarks(x,y)

矩形大小shape(width,height)

步骤2)对手部矩形部分的图像信息进行灰度化、二值化操作,求手部图形的中心距判断掌心位置,采用CNN模型对手部关键点位置坐标分析;

步骤2.1)将步骤1.2)手部矩形的原图像进行切割,通过视觉心理学公式(1)进行灰度化处理;

G(x,y)=r(x,y)*299+g(x,y)*587+b(x,y)*114/1000 (1)

步骤2.2)通过阈值分割法将该部分图像width×height的像素信息进行二值化,得到只由0,255灰阶组成的二维矩阵M

其中切割阈值使用Renyi熵计算公式(2)进行计算:

K=argmax(H

K为二值化的切割阈值,二值化的方法见公式(3)。

步骤2.3)对于步骤2.2)得到的二值化矩阵M

m

步骤2.4)使用CNN训练具体手势识别的模型,手势图片经过处理得到的灰度信息矩阵作为网络模型的输入,通过公式(5)进行卷积运算得到特征矩阵图

其中x(n)是激励信号,h(n)是单位样值响应,*表示求卷积。

步骤2.5)训练结束后的模型参数保存,对测试数据集进行测试,对于所有的测试数据,当测试准确率达到95%以上则可留待使用;

步骤2.6)使用步骤2.4)中得到的手势识别模型参数,加载tensorflow中的网络模型,得到此时输入图像中的手部关键点坐标。

步骤3)将步骤2)中得到的手部关键点位置坐标,通过计算其二维角度关系和其他运动信息,用余弦相似度的方法与用户预设的操作手势进行比较判断,实现手势分析;

步骤3.1)将步骤2.6)中得到的手部关键点位置坐标进行二维分析,利用公式(6)通过向量关系求出各点连线之间的夹角,用角度关系来表示手部姿势的二维特征,计算得到手指弯曲角度以及相邻手指间夹角角度(即手指间隔角度)

其中手指弯曲角度finger_angle有5个值,分别对应从拇指到小指的五根手指在靠指尖第二指关节处的弯曲角度;手指间隔角度interfinger_angle有4个值,分别对应相邻两根手指以叉开处为顶点形成的角度,如图3所示。

步骤3.2)预定义各类手势对应的二维特征,通过将手指弯曲角度以及相邻手指间夹角角度与预设的姿势信息进行对比,分析得到图像中的静态手部姿势;

例如图3中的手势“比2”,若预定义其对应的二维特征为:

finger_angle≈[100°,180°,180°,30°,30°]

interfinger_angle≈[-45°,30°,0°,0°]

此时将步骤3.1)得到的此时摄像头拍摄并识别得到的finger_angle和interfinger_angle与定义的手势进行对比,对比方式为:将一组finger_angle和interfinger_angle合并为维度为9的向量A

摄像头识别的手势特征与所有预定义的手势对比结束后,选择欧式距离最小且不大于置信阈值的手势作为判断结果gesture;其中的置信阈值根据用户设置的识别灵敏度进行判断。

步骤3.3)将[gesture,[locate_x,locate_y]](其中gesture为步骤3.2)得到的手势姿势,[locate_x,locate_y]为步骤2.3)得到的掌心位置坐标作为一组数据,对2秒内的识别数据进行周期性分析,得到手部姿势、掌心位置偏移方向、偏移量、移动速度;

若用户A时刻t

步骤3.4)根据识别得到的手部区域大小估计用户手部与摄像头的距离,对得到掌心位置偏移方向、偏移量、移动速度进行标准化,得到最终的判断向量。利用余弦相似度的计算方法,见公式(8),求判断向量与预设的各种操作手势的标准向量之间的相似度,判断具体的动态手势或组合手势。其中A,B分别为判断向量和标准向量,其分量的值A

步骤4)根据分析得到的手势,依据用户设置的控制逻辑向设备发送控制指令,完成通过手势隔空操作设备,如图2所示;

根据步骤3.4)中得到的手势进行对应的操作,根据不同操作系统所提供的交互接口,直接对智能设备发出相对的控制指令;

例如,当用户A在计算机设备上预先设置了比出“2”手势同时手向左挥动即为关机操作,比出“OK”手势即为确认关机操作。此时程序识别到用户比出“2”手势同时手向左挥动,开始等待下一步操作,若在等待时间内识别到“OK”手势,则通过计算机指令执行关机操作;否则退出此次识别操作。

本发明采用的是图像识别技术,具有很高的识别精度,可以对每一根手指的动作进行识别辨认,具备复杂手势的识别能力,且本发明可以对视频流进行识别,可以识别动态的手势变化。该方法可以在多种不同平台实现,由于采用了先转化二维角度信息再进一步判断的方法,可以任意定义具体的手势以及对应的操作而无需重新训练模型,具有广泛的应用前景,可以嵌入到各种智能设备中。

本发明并不局限于上述实施例,在本发明公开的技术方案的基础上,本领域的技术人员根据所公开的技术内容,不需要创造性的劳动就可以对其中的一些技术特征作出一些替换和变形,这些替换和变形均在本发明的保护范围内。

相关技术
  • 一种基于图像识别的智能设备手势识别控制方法
  • 一种基于手势识别的智能设备控制的方法、系统及介质
技术分类

06120114709437