CN110059580B - 一种基于leap motion的动态手势识别增强方法 - Google Patents

一种基于leap motion的动态手势识别增强方法 Download PDF

Info

Publication number
CN110059580B
CN110059580B CN201910239890.4A CN201910239890A CN110059580B CN 110059580 B CN110059580 B CN 110059580B CN 201910239890 A CN201910239890 A CN 201910239890A CN 110059580 B CN110059580 B CN 110059580B
Authority
CN
China
Prior art keywords
data
matching
frame
point
points
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910239890.4A
Other languages
English (en)
Other versions
CN110059580A (zh
Inventor
吴立凡
李华
权巍
韩成
张超
徐超
刘�文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changchun University of Science and Technology
Original Assignee
Changchun University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Changchun University of Science and Technology filed Critical Changchun University of Science and Technology
Priority to CN201910239890.4A priority Critical patent/CN110059580B/zh
Publication of CN110059580A publication Critical patent/CN110059580A/zh
Application granted granted Critical
Publication of CN110059580B publication Critical patent/CN110059580B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language

Abstract

本发明涉及一种基于leap motion的动态手势识别增强方法,其特征在于具体步骤如下:首先数据集与数据输入;其次帧补偿;如果实测特征点与数据集的移动轨迹不同或差异过大,则必定为不同的动态手势。加之静态手型的匹配识别,又可区分两个轨迹相似的动态手势相似与否。再模糊匹配。其通过帧补偿与模糊匹配的方式使线性数据对齐,实现对动态手势的识别。

Description

一种基于leap motion的动态手势识别增强方法
技术领域
本发明涉及一种基于leap motion的动态手势识别增强方法,是一种通过帧补偿与模糊匹配的计算方法,属于计算机视觉技术领域。
背景技术
随着信息化技术进步,人工智能领域逐渐走上了时代的舞台。手势识别一直是计算机视觉领域的一大课题,而这一课题中最核心的技术难点之一,便是对动态手势的识别。
由于动态手势具有强烈的不规则性,我们无法知道他从什么时候开始,从什么时候结束。除此之外,动态手势在变化过程中的速度快慢,特征点的轨迹都会有大量的数据差异。通常所使用的横向线性对比的计算方式,只能对静态的手势做出一个良好的反馈,如果想对动态手势进行分析,则需要对特征点划出的轨迹曲线的移动趋势进行估计与对比,同时构造多层次的复杂神经网络模型。本方法在保留线性对比的基础上,绕开线性趋势对比与多层次高深度神经网络构造的技术难题.提出一种名为首帧补正(取前10帧数据差的均值,进行每帧的数据补偿)的计算预处理方式,将执行线性对比之前的手势数据的起点,同步到同一个起始点附近(十分接近,但绝不完全相同),这样一来,如果两者的特征点运动轨迹不相似,在之后的帧数据对比中就会凸现出来,这样便可以区分出不同的动态手势。
发明内容
本发明的目的在于提供一种基于leap motion的动态手势识别增强方法,通过帧补偿与模糊匹配的方式使线性数据对齐的方法,实现对动态手势的识别。
本发明的技术方案是这样实现的:一种基于leap motion的动态手势识别增强方法,其特征在于具体步骤如下:
第一部分:数据集与数据输入;
Step1:用手势数据对数据集训练并附加手势目录记录训练状态。
Step2:通过LeapMotion,或其它可获取深度信息的,双镜头红外摄相机,来追踪手掌特征点(例如手指骨骼关节)。
Step3:获取每一帧追踪到的手掌特征点所处的位置含深度信息,数据类型统一为Vector3类型,即,(x,y,z)
Step4:以每个特征点为单位,帧数为横轴,特征点在不同数轴(x,y,z)上的值为纵轴,绘制3份拟似曲线的散点图,每帧的数据捕捉量应有FPS≥60,从而保证能够拟似曲线。
第二部分:帧补偿;
Step1:分别取出数据集与实测数据中,前10帧的各轴数据。
Step2:计算出这10帧中两份数据的各节点,各方向上数值的平均差值,并返回一组Vector3类型数据(dx,dy,dz),newXn代表某骨骼关节点的实测数据的第n帧在X轴上的值,baseXn代表某骨骼关节点的数据集数据的第n帧在X轴上的值有如下公式:
Figure BDA0002009339890000021
Figure BDA0002009339890000031
Figure BDA0002009339890000032
可获得:Vector3dPosition=new Vector3(dx,dy,dz);
Step3:在后续数据集与实测数据对比的过程中,令实测数据的每一项Vector3数据减去对应的平均差值(dx,dy,dz),使得数据集与实测数据的散点拟似曲线的前10帧散点位置保持高度近似。
即:
其中finXn代表被帧补偿之后的某骨骼关节点的实测数据在第n帧时X轴上的数据
finXn=newXn-dx finYn=newYn-dy finZn=newZn-dz
可获得:Vector3tpPosition=new Vector3(finX,finY,finZ);
以下是数据在内存中存储的范例与完整的数学公式:
List<Vector3>tempPosition;
tempPosition[n]=(finXn,finYn,finZn)
Figure BDA0002009339890000033
Figure BDA0002009339890000034
Figure BDA0002009339890000035
Tip:如果实测特征点与数据集的移动轨迹不同或差异过大,则必定为不同的动态手势。加之静态手型的匹配识别,又可区分两个轨迹相似的动态手势相似与否。
第三部分:模糊匹配。
Step1:求解模糊量。从数据集中求出各散点与散点曲线平均值的方差s,乘以极限值制约系数k,k应为小于1且大于0的正小数。例如:0.618(黄金分割率保留三位小数),该系数可视具体情况而调整。可得模糊量为k*s
Step2:对数据集散点曲线进行模糊化。令数据集散点曲线各点+k*s或-k*s,得到上下两条与数据集散点曲线平行的散点曲线,这两条新的散点曲线之间的范围,视为匹配范围。
Step3:叠加帧补偿之后的实测数据。令以(finXn,finYn,finZn)为单位的新存储容器tempPosition中的数据为数据源,绘制一根所有特征点数据经过帧补偿处理的散点曲线,可得到一份拥有5条散点曲线的单轴对比图。
Step4:执行匹配并计算匹配率。所有在匹配范围内的散点视为通过匹配的散点,并予以计数。在对每一帧,每一特征点都执行完匹配后,已有:匹配点数量,参与匹配的散点数量。
定义:匹配率为rate,通过匹配的散点数量为m,所有参与匹配的散点数量为n。
则有:
Figure BDA0002009339890000041
n=FPS*特征点数量*方向轴数量(固定为3),在FPS≥60,同时又有16个特征点的情况下,每秒参与匹配的数据规模应不小于2880个散点,其匹配率的最小精确单位为:
Figure BDA0002009339890000042
本发明积极效果是通过帧补偿与模糊匹配的方式使线性数据对齐的方法,实现对动态手势的识别;由于动态手势具有强烈的不规则性,我们无法知道他从什么时候开始,从什么时候结束。除此之外,动态手势在变化过程中的速度快慢,特征点的轨迹都会有大量的数据差异。通常所使用的横向线性对比的计算方式,只能对静态的手势做出一个良好的反馈,如果想对动态手势进行分析,则需要对特征点划出的轨迹曲线的移动趋势进行估计与对比,同时构造多层次的复杂神经网络模型。本方法在保留线性对比的基础上,绕开线性趋势对比与多层次高深度神经网络构造的技术难题.提出一种名为首帧补正(取前10帧数据差的均值,进行每帧的数据补偿)的计算预处理方式,将执行线性对比之前的手势数据的起点,同步到同一个起始点附近(十分接近,但绝不完全相同),这样一来,如果两者的特征点运动轨迹不相似,在之后的帧数据对比中就会凸现出来,这样便可以区分出不同的动态手势。
附图说明
图1是计算帧补偿值的原理图。其中,d1,d2......d10代表前10帧,实测数据与库数据在X方向轴上的差值,dx代表平均差值。其中蓝线为X轴方向的匹配范围,黑线为匹配范围中心准线,红线为实测数据曲线。
图2是执行帧补偿行为原理图,dx代表附图1中求得的平均差值。其中蓝线为X轴方向的匹配范围,黑线为匹配范围中心准线,红线为实测数据曲线,绿线为经过帧补偿算法处理后的数据曲线。
图3为帧补偿效果对比图,其中蓝线为X轴方向的匹配范围,黑线为匹配范围中心准线,红线为实测数据曲线,绿线为经过帧补偿算法处理后的数据曲线。横轴单位为帧,纵轴单位为X方向的值。
具体实施方式
下面结合附图和实施例对本发明做进一步的描述。在本实施例中,计算机系统为CPU选择INTEL I7G4600 3.20GHz,内存大小为8GB DDR4,硬盘容量1TB HDD;计算机操作系统选用Windows 10,软件编程工具为Unity3D 2018.2.2。
第一部分:数据集与数据输入。
Step1:用手势数据对数据集训练并附加手势目录记录训练状态。
Step2:通过LeapMotion,或其它可获取深度信息的,双镜头红外摄相机,来追踪手掌特征点(例如手指骨骼关节)。
Step3:获取每一帧追踪到的手掌特征点所处的位置(含深度信息),数据类型统一为Vector3类型,即,(x,y,z)
Step4:以每个特征点为单位,帧数为横轴,特征点在不同数轴(x,y,z)上的值为纵轴,绘制3份拟似曲线的散点图(每帧的数据捕捉量应有FPS≥60,从而保证能够拟似曲线)。
第二部分:帧补偿。
Step1:分别取出数据集与实测数据中,前10帧的各轴数据。
Step2:计算出这10帧中两份数据的各节点,各方向上数值的平均差值,并返回一组Vector3类型数据(dx,dy,dz),如图1所示,将实测数据与数据集数据前10帧的差值取平均数,计算得出帧补正值。
公式&解释:
其中newXn代表某骨骼关节点的实测数据的第n帧在X轴上的值,baseXn代表某骨骼关节点的数据集数据的第n帧在X轴上的值。
Figure BDA0002009339890000071
Figure BDA0002009339890000072
Figure BDA0002009339890000073
可获得:Vector3dPosition=new Vector3(dx,dy,dz);
Step3:如图2所示,令实测数据每帧减去帧补正值,得到补正后数据,使得数据集与实测数据的散点拟似曲线的前10帧散点位置保持高度近似。若补正后数据的散点拟似曲线移动轨迹与数据集数据高度近似,则补正后数据的相对大部分将在浮动匹配范围内。在后续数据集与实测数据对比的过程中,实测数据的每一项Vector3数据都将减去对应的补正值(dx,dy,dz)。
即:
其中finXn代表被帧补偿之后的某骨骼关节点的实测数据在第n帧时X轴上的数据
finXn=newXn-dx finYn=newYn-dy finZn=newZn-dz
可获得:Vector3tpPosition=new Vector3(finX,finY,finZ);
补正前后效果对比如图3所示。
以下是数据在内存中存储的范例与完整的数学公式:
List<Vector3>tempPosition;
tempPosition[n]=(finXn,finYn,finZn)
Figure BDA0002009339890000081
Figure BDA0002009339890000082
Figure BDA0002009339890000083
Tip:如果实测特征点与数据集的移动轨迹不同或差异过大,则必定为不同的动态手势。加之静态手型的匹配识别,又可区分两个轨迹相似的动态手势相似与否。
第三部分:模糊匹配。
Step1:求解模糊量。从数据集中求出各散点与散点曲线平均值的方差s,乘以极限值制约系数k,k应为小于1且大于0的正小数。例如:0.618(黄金分割率保留三位小数),该系数可视具体情况而调整。可得模糊量为k*s
Step2:对数据集散点曲线进行模糊化。令数据集散点曲线各点+k*s或-k*s,得到上下两条与数据集散点曲线平行的散点曲线,这两条新的散点曲线之间的范围,视为匹配范围。
Step3:叠加帧补偿之后的实测数据。令以(finXn,finYn,finZn)为单位的新存储容器tempPosition中的数据为数据源,绘制一根所有特征点数据经过帧补偿处理的散点曲线,可得到一份拥有5条散点曲线的单轴对比图。
Step4:执行匹配并计算匹配率。所有在匹配范围内的散点视为通过匹配的散点,并予以计数。在对每一帧,每一特征点都执行完匹配后,已有:匹配点数量,参与匹配的散点数量。
定义:匹配率为rate,通过匹配的散点数量为m,所有参与匹配的散点数量为n。
则有:
Figure BDA0002009339890000091
n=FPS*特征点数量*方向轴数量(固定为3),在FPS≥60,同时又有16个特征点的情况下,每秒参与匹配的数据规模应不小于2880个散点,其匹配率的最小精确单位为:
Figure BDA0002009339890000092

Claims (1)

1.一种基于leap motion的动态手势识别增强方法,其特征在于具体步骤如下:
第一部分:数据集与数据输入;
Step1:用手势数据对数据集训练并附加手势目录记录训练状态;
Step2:通过LeapMotion,或其它可获取深度信息的,双镜头红外摄相机,来追踪手掌特征点;
Step3:获取每一帧追踪到的手掌特征点所处的位置含深度信息,数据类型统一为Vector3类型,即,(x,y,z)
Step4:以每个特征点为单位,帧数为横轴,特征点在不同数轴(x,y,z)上的值为纵轴,绘制3份拟似曲线的散点图,每帧的数据捕捉量应有FPS≥60,从而保证能够拟似曲线;
第二部分:帧补偿;
Step1:分别取出数据集与实测数据中,前10帧的各轴数据;
Step2:计算出这10帧中两份数据的各节点,各方向上数值的平均差值,并返回一组Vector3类型数据(dx,dy,dz),newXn代表某骨骼关节点的实测数据的第n帧在X轴上的值,baseXn代表某骨骼关节点的数据集数据的第n帧在X轴上的值有如下公式:
Figure FDA0003993335500000011
Figure FDA0003993335500000021
Figure FDA0003993335500000022
可获得:Vector3 dPosition=new Vector3(dx,dy,dz);
Step3:在后续数据集与实测数据对比的过程中,令实测数据的每一项Vector3数据减去对应的平均差值(dx,dy,dz),使得数据集与实测数据的散点拟似曲线的前10帧散点位置保持高度近似;
即:
其中finXn代表被帧补偿之后的某骨骼关节点的实测数据在第n帧时X轴上的数据
finXn=newXn-dx finYn=newYn-dy finZn=newZn-dz
可获得:Vector3 tpPosition=new Vector3(finX,finY,finZ);
以下是数据在内存中存储的范例与完整的数学公式:
List<Vector3>tempPosition;
tempPosition[n]=(finXn,finYn,finZn)
Figure FDA0003993335500000023
Figure FDA0003993335500000024
Figure FDA0003993335500000025
Tip:如果实测特征点与数据集的移动轨迹不同或差异过大,则必定为不同的动态手势;加之静态手型的匹配识别,又可区分两个轨迹相似的动态手势相似与否;
第三部分:模糊匹配;
Step1:求解模糊量;从数据集中求出各散点与散点曲线平均值的方差s,乘以极限值制约系数k,k应为小于1且大于0的正小数;该系数可视具体情况而调整;可得模糊量为k*s;
Step2:对数据集散点曲线进行模糊化;令数据集散点曲线各点+k*s或-k*s,得到上下两条与数据集散点曲线平行的散点曲线,这两条新的散点曲线之间的范围,视为匹配范围;
Step3:叠加帧补偿之后的实测数据;令以(finXn,finYn,finZn)为单位的新存储容器tempPosition中的数据为数据源,绘制一根所有特征点数据经过帧补偿处理的散点曲线,可得到一份拥有5条散点曲线的单轴对比图;
Step4:执行匹配并计算匹配率;所有在匹配范围内的散点视为通过匹配的散点,并予以计数;在对每一帧,每一特征点都执行完匹配后,已有:匹配点数量,参与匹配的散点数量;
定义:匹配率为rate,通过匹配的散点数量为m,所有参与匹配的散点数量为n;
则有:
Figure FDA0003993335500000031
n=FPS*特征点数量*方向轴数量,固定为3,在FPS≥60,同时又有16个特征点的情况下,每秒参与匹配的数据规模应不小于2880个散点,其匹配率的最小精确单位为:
Figure FDA0003993335500000032
CN201910239890.4A 2019-03-27 2019-03-27 一种基于leap motion的动态手势识别增强方法 Active CN110059580B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910239890.4A CN110059580B (zh) 2019-03-27 2019-03-27 一种基于leap motion的动态手势识别增强方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910239890.4A CN110059580B (zh) 2019-03-27 2019-03-27 一种基于leap motion的动态手势识别增强方法

Publications (2)

Publication Number Publication Date
CN110059580A CN110059580A (zh) 2019-07-26
CN110059580B true CN110059580B (zh) 2023-01-31

Family

ID=67317465

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910239890.4A Active CN110059580B (zh) 2019-03-27 2019-03-27 一种基于leap motion的动态手势识别增强方法

Country Status (1)

Country Link
CN (1) CN110059580B (zh)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8396252B2 (en) * 2010-05-20 2013-03-12 Edge 3 Technologies Systems and related methods for three dimensional gesture recognition in vehicles
CN102053702A (zh) * 2010-10-26 2011-05-11 南京航空航天大学 动态手势控制系统与方法
US8760395B2 (en) * 2011-05-31 2014-06-24 Microsoft Corporation Gesture recognition techniques
CN104793738A (zh) * 2015-03-17 2015-07-22 上海海洋大学 基于Leap Motion的非接触式计算机操控方法
CN105354532A (zh) * 2015-09-25 2016-02-24 天津大学 一种基于手部运动帧数据的手势识别方法
CN105528082B (zh) * 2016-01-08 2018-11-06 北京暴风魔镜科技有限公司 三维空间及手势识别追踪交互方法、装置和系统
CN107169411B (zh) * 2017-04-07 2019-10-29 南京邮电大学 一种基于关键帧和边界约束dtw的实时动态手势识别方法
DE102017210316A1 (de) * 2017-06-20 2018-12-20 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zum Erfassen einer Nutzereingabe anhand einer Geste
KR102013367B1 (ko) * 2017-07-31 2019-08-22 모젼스랩 (주) 가상공간상의 사용자 터치 인터렉션 제공 시스템
CN108256421A (zh) * 2017-12-05 2018-07-06 盈盛资讯科技有限公司 一种动态手势序列实时识别方法、系统及装置
CN108664877A (zh) * 2018-03-09 2018-10-16 北京理工大学 一种基于三维深度数据的动态手势识别方法

Also Published As

Publication number Publication date
CN110059580A (zh) 2019-07-26

Similar Documents

Publication Publication Date Title
CN104616318B (zh) 一种视频序列图像中的运动目标跟踪方法
CN105718879A (zh) 基于深度卷积神经网络的自由场景第一视角手指关键点检测方法
CN106780557A (zh) 一种基于光流法和关键点特征的运动目标跟踪方法
WO2020211447A1 (zh) 基于手部速度与轨迹分布的跟随机器人手势轨迹识别方法
CN106204658A (zh) 运动图像跟踪方法及装置
CN104145296A (zh) 头部跟踪方法、装置及计算机可读记录介质
CN107844739B (zh) 基于自适应同时稀疏表示的鲁棒性目标追踪方法
CN109712167A (zh) 目标侦测与追踪方法及系统
CN102999923A (zh) 基于自适应阈值的运动捕捉数据的关键帧提取方法
Zhai et al. Occlusion-aware correlation particle filter target tracking based on RGBD data
CN104517123B (zh) 一种采用局部运动特征相似性引导的子空间聚类方法
CN110059580B (zh) 一种基于leap motion的动态手势识别增强方法
CN109657693B (zh) 一种基于相关熵和迁移学习的分类方法
CN103839280A (zh) 一种基于视觉信息的人体姿态跟踪方法
CN110232705A (zh) 一种融合分数阶变分调整的反向低秩稀疏学习目标跟踪方法
KR101165335B1 (ko) 지수함수 기반의 입자 리샘플링 방법 및 그 방법을 이용한 영상객체 추적방법
Lee et al. Comparison of facial expression recognition performance according to the use of depth information of structured-light type RGB-D camera
Lai et al. A survey of deep learning application in dynamic visual SLAM
CN111523345B (zh) 人脸实时跟踪系统及方法
CN111832475B (zh) 一种基于语义特征的人脸误检筛除方法
CN106354333A (zh) 一种提高触控系统跟踪精确度的方法
Wu et al. Diffusion-based network for unsupervised landmark detection
Wang et al. Improved monocular orb-slam2 inspired by the optical flow with better accuracy
CN103885597A (zh) 空间输入识别方法和系统
Huang et al. Quick Bootstrapping of a Personalized Gaze Model from Real-Use Interactions

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant