著录项信息
专利名称 | 一种基于声音的手势识别方法 |
申请号 | CN201310206928.0 | 申请日期 | 2013-05-30 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2014-06-25 | 公开/公告号 | CN103885744A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F3/16 | IPC分类号 | G;0;6;F;3;/;1;6;;;G;0;6;F;3;/;0;4;8;7查看分类表>
|
申请人 | 美声克(成都)科技有限公司 | 申请人地址 | 四川省成都市高新区创业路16号火炬大厦A601
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 美声克(成都)科技有限公司 | 当前权利人 | 美声克(成都)科技有限公司 |
发明人 | 刘鑫;刘西耀;邹长俊;刘东权 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明公开了一种基于声音的手势识别方法,利用常见的麦克风与音响,作为接收信号与发射信号的硬件支持,音响产生人耳不易察觉的高频音,由麦克风接收来自肢体运动中返弹回来的音频信号,借助返回音频信号的物理现象多普勒效应,进行频谱分析,将获取的肢体动作的信息定义为相应的一些逻辑信号,并借助这些逻辑信号控制计算机的很多操作。本发明提供的技术以及相关的设计,在计算机控制方面提供了一种全新的人机交互方式,能够给计算机用户带来有趣的用户体验与交互感受。
1.一种基于声音的手势识别方法,包括以下步骤:
a)处理由麦克风接收到返回的音频信号,利用带通滤波器过滤掉不关心的频带的信号,使用窗口函数减少频谱泄露的影响,采取快速傅里叶变换获得频域信号,并处理为分贝数据存储在采样队列Queue1当中;
b)从采样队列Queue1中获取频谱分析窗口队列w1,计算公式为:
其中:Queue1是由步骤a)获得的采样队列;
f0是音频信号的中心频率;
fshift是频率变化的最大值;
fmin是频谱信号最小分辨率;
x表示窗口队列w1中的离散信号序号;
c)从频谱分析窗口队列中获取最大频率偏移fshift的左均值Wleft和右均值Wright:
d)模拟定义逻辑的周期Tsimulate,如果Tsimulate过长,用户会有明显的延迟感,会使得人机交互感很差,但是Tsimulate过短,采样数据不能及时更新,会产生大量的误操作;将由于信号采样频率与采集信号处理分析频率之间的差异造成必然误差率定义为必然误差率Rerror,Tsimulate的表达式为:
其中:T0是采样周期;
Rerror是必然误差率;
e)定义一个受中心频率f0的能量Epeak和权值α影响的阈值TDegree,计算单位Tsimulate周期里,左均值Wleft和右均值Wright的变化率,并与阈值TDegree进行比较:
其中:α是权值,其取值为0以上2以下的实数;
Epeak是中心频率f0的能量;
其中,Rleft表示手势向左运动的频率变化率;Rright表示手势向右运动的频率变化率;
比较过程:
Rleft>TDegree
则发生的是一个远离麦克风的动作,记录消息为Levent到消息队列Queueevent中;
Rright>TDegree
则发生的是一个靠近麦克风的动作,记录消息为Revent到消息队列Queueevent中;
Rleft>TDegreeand Rright>TDegree
则发生的是一个复合动作,记录消息为Devent到消息队列Queueevent中;所述复合动作指翻转手势,或者双手前后运动;
f)设定等待时间Tdelay,在等待时间Tdelay内,如果产生消息,则记录消息到消息队列Queueevent中,定时器归位,重新等待Tdelay时间;如果没有产生消息,则对消息队列Queueevent进行一次消息处理分析,并清空队列;
g)某个Tdelay时间内没有定时器归位操作,对消息队列Queueevent处理分析,获得消息逻辑,并对该消息逻辑映射的操作进行模拟,实现控制计算机,完成人机交互的目的。
一种基于声音的手势识别方法\n技术领域\n[0001] 本发明属于计算机人机交互技术领域,涉及一种基于声音的手势识别方法。\n背景技术\n[0002] 自然语言处理(natural language processing)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。\n[0003] 动作识别(Gesture Recognition)是在计算机科学与通过数学算法解释人类手势动作的语言技术当中的一个课题,手势源于肢体动作或者状态但是,但通常来源于面部和手部的变化。当前关注的领域包含了对面部动作的识别,和对手势动作的识别。很多的方法可以使用摄像头或者计算机视觉算法(computer vision algorithm)去检测手势语言(sign language)。\n[0004] 动作识别在计算机交互(computer interaction)领域的应用已经成长的越来越活跃,然而,这样的应用还存在着较高的费用代价,例如检测动作的传感器(e.g.leap motion$70),比如常用的高品质摄像头(e.g.Microsoft Kinect$200),这些设备都直接的制约了动作识别技术的推广。基于声音的手势识别(sound gesture recognition)呼之欲出,音频领域发展到今天,硬件环境已经接近完美,无论是音频的发生装置(e.g.various styles of Speakers),还是音频的接收装置(e.g.various styles of listeners),尤其是在计算机上,音频设备已近成为计算机不可或缺的一部分。\n[0005] 基于声音的手势识别(sound gesture recognition),是利用物理现象多普勒效应(Doppler effect or Doppler shift),获得音频频谱(spectrum)的变化进行动作语言处理(gesture language processing),\n发明内容\n[0006] 本发明的目的在于克服上述技术缺陷,提供一种基于声音的手势识别方法。其技术方案为:\n[0007] 一种基于声音的手势识别方法,包括以下步骤:\n[0008] a)处理由麦克风接收到返回的音频信号,利用带通滤波器过滤掉不关心的频带的信号,使用窗口函数减少频谱泄露的影响,采取快速傅里叶变换获得频域信号,并处理为分贝数据存储在采样队列Queue1当中。\n[0009] b)从采样队列中获取频谱分析窗口队列w1,计算公式为:\n[0010]\n[0011] 其中:Queue1是由步骤a)获得的采样队列;\n[0012] f0是音频信号的中心频率;\n[0013] fshift是频率变化的最大值;\n[0014] fmin是频谱信号最小分辨率;\n[0015] x表示窗口队列w1中的离散信号序号;\n[0016] c)从频谱分析窗口队列中获取最大频率偏移fshift的左均值Wleft和右均值Wright:\n[0017]\n[0018]\n[0019] d)模拟定义逻辑的周期Tsimulate,如果Tsimulate过长,用户会有明显的延迟感,会使得人机交互感很差,但是Tsimulate过短,采样数据不能及时更新,会产生大量的误操作;将由于信号采样频率与采集信号处理分析频率之间的差异造成必然误差率定义为必然误差率Rerror,Tsimulate的表达式为:\n[0020]\n[0021] 其中:T0是采样周期;\n[0022] Rerror是必然误差率;\n[0023] e)定义一个受中心频率f0的能量Epeak和权值α影响的阈值TDegree,计算单位Tsimulate周期里,左均值Wleft和右均值Wright的变化率,并与阈值TDegree进行比较:\n[0024]\n[0025] 其中:α是权值,其取值为0以上2以下的实数;\n[0026] Epeak是中心频率f0的能量;\n[0027]\n[0028]\n[0029] 其中,Rleft表示手势向左运动的频率变化率;Rright表示手势向右运动的频率变化率;\n[0030] 比较过程:\n[0031] Rleft>TDegree 式(1‐8)\n[0032] 则发生的是一个远离麦克风的动作,记录消息为Levent到消息队列Queueevent中。\n[0033] Rright>TDegree 式(1‐9)\n[0034] 则发生的是一个靠近麦克风的动作,记录消息为Revent到消息队列Queueevent中。\n[0035] Rleft>TDegree and Rright>TDegree 式(1‐10)\n[0036] 则发生的是一个复合动作(例如翻转手势,或者双手前后运动),记录消息为Devent到消息队列Queueevent中;\n[0037] f)设定等待时间Tdelay,在等待时间Tdelay内,如果产生消息,则记录消息到消息队列Queueevent中,定时器归位,重新等待Tdelay时间;如果没有产生消息,则对消息队列Queueevent进行一次消息处理分析,并清空队列;\n[0038] g)某个Tdelay时间内没有定时器归位操作,对消息队列Queueevent处理分析,获得消息逻辑,并对该消息逻辑映射的操作进行模拟,实现控制计算机,完成人机交互的目的。\n[0039] 与现有技术相比,本发明的有益效果为:\n[0040] 传统的手势识别方法,均是通过昂贵的外接计算机传感器设备实现的,例如Microsoft Kinect,leap motion,这些设备大部分均是使用摄像头(红外摄像头,RGB摄像头等)。这样的设备均具有一定的普及压力存在,这些压力包括:1.对环境的适应性较差,原因是摄像头天生对光感要求严格。2.硬件成本较高,原因是为了提高传感器设备的灵敏度,就使得外设本身硬件要求较高,例如Microsoft Kinect$200,leap motion$70。本发明技术硬件要求极低,并且一般的计算机均不必购置新的硬件外设,仅使用常见的麦克风与音响即可实现对计算机全新的手势控制,为用户提供廉价的并且实用的人机交互新方式,即使用户本身不具备上述硬件环境,本发明还提供了声音鼠标,和阵列设备的设计方案,廉价的推广本发明所述的技术。\n附图说明\n[0041] 图1为本发明设计思路图;\n[0042] 图2为本发明原理模型图;\n[0043] 图3为声音鼠标外观设计图;\n[0044] 图4为阵列设备外观设计图;\n[0045] 图5为频率能量图,横坐标表示频率单位KHz,纵坐标表示能量单位dB,曲线表现了在中心频率为18KHz的位置存在一个峰值约为30dB,其余频带区域能量相对中心频率的能量均表现低水平的水平;\n[0046] 图6为频率能量图,横坐标表示频率单位KHz,纵坐标表示能量单位dB,曲线表现了,当一个远离麦克风的手势发生时,除中心频率18KHz位置存在一个峰值,在17.7KHz到\n18KHz的频带上同样由于能量的增加,出现了多个新的峰值,最大峰值能量约为20DB;\n[0047] 图7为频率能量图,横坐标表示频率单位KHz,纵坐标表示能量单位dB,曲线表现了,当一个靠近麦克风的手势发生时,除中心频率18KHz位置存在一个峰值,在18KHz到\n18.3KHz的频带上同样由于能量的增加,出现了多个新的峰值,能量约为10dB;\n[0048] 图9为本发明基于声音的手势识别方法的流程图。\n具体实施方式\n[0049] 下面结合附图和具体实施方式对本发明的技术方案作进一步详细地说明。\n[0050] 对图1分析可获得表1中的四种设计方案:\n[0051] 表1\n[0052]\n[0053]\n[0054] 实施例1\n[0055] 参照图9,一种基于声音的手势识别方法,包括以下步骤:\n[0056] a)音响发出连续的中心频率为18KHz音频信号,麦克风接收源于肢体运动而返回的音频信号,其中采样频率44.1Khz,每一个采样的大小为2B,音频信号的通道数为1,采样队列大小为2048samples。\n[0057] b)通过计算结果采样周期T0约为46.44ms,通过计算得每个采样的覆盖频率Fb的边界为0KHz到22.05KHz。经过处理后,于是获得了1024点的采样队列。\n[0058] c)可得知fshift为0.2KHz,在此条件下的肢体运动速度小于3.728m/s。可以获得频谱分析窗口队列w1(x)。\n[0059] d)模拟定义逻辑的周期Tsimulate,其中要求,通过计算得出Tsimulate大于44.23ms。\n[0060] e)在每一个模拟定义逻辑的周期Tsimulate中,通过计算得出频谱分析窗口队列w1中的左均值Wleft和右均值Wright。\n[0061] f)通过计算得出阈值TDegree,其中约等于0.8。每个周期Tsimulate中,计算得到的左均值Wleft和右均值Wright,记录事件消息到消息队列Queueevent中。\n[0062] g)定义一个消息的产生延迟时间Tdelay等于12Tsimulate。\n[0063] h)等待Tdelay时间内,如果产生消息,则记录消息到消息队列Queueevent中,定时器归位,重新等待Tdelay时间;如果没有产生消息,则对消息队列Queueevent进行一次消息处理分析,并清空队列。\n[0064] 实施例2\n[0065] 硬件环境设计:如图2所示,一个音响产生一个中心频率为f0的音频信号,由一个麦克风接收返回的音频信号。\n[0066] 实施例3\n[0067] 硬件环境设计:利用声音多声道的特点,多音响可以播放多声道多个中心频率的音频,利用增加硬件音响的数量,为模拟的消息上加上中心频率属性,实现更加复杂的手势识别。\n[0068] 声音鼠标设计方案:\n[0069] 如图3所示,普通USB鼠标的基础上,嵌入单音响产生音频信号,嵌入双麦克风接收返回音频信号,其中利用USB本身供电和USB传输协议实现音频信号的产生与接收,为模拟的消息加上麦克风ID属性,实现对双手的手势识别。\n[0070] 麦克风阵列设备方案:\n[0071] 如图4所示,嵌入一个音响产生音频信号,多麦克风环形嵌在具有一定弧度的斜面上接收音频信号,由于麦克风接收音频信号角度的差异,会产生接收到的信号强度的区别。\n实现聚焦,为模拟的消息加上位置属性,以实现更加复杂的手势识别。\n[0072] 实施例4\n[0073] 硬件环境设计:多个音响产生多个中心频率的音频信号,多个麦克风在不同的角度接收返回的音频信号,由于角度与位置的差异,不同的麦克风接收到的信号存在能量大小的差异,通过差异计算实现聚焦操作,从而为模拟的消息增添中心频率属性,麦克风I D属性,与位置属性,以实现更加复杂的手势识别。\n[0074] 系统接收到外界声音后,将所得到的时间域的数据,利用窗函数处理以减少频谱泄露的影响,并利用快速傅里叶变化转制成频率域信号,使用log压缩后,便是图5中所示的横轴为频率,纵轴为能量的频谱图,此图为中心频率18KHZ的频谱图。\n[0075] 基于多普勒现象(Doppler effect or Doppler shift)可知,当物体在声音传输路径中发生运动会导致传播声音频率的变化,在这里的基于原理模型(见图2)所知:\n[0076]\n[0077] 其中fTX是声音传输频率,此处为18KHz,fRX是接收频率,c为声速,v为手势动作的速度。\n[0078] 图6反映了,当手势为远离麦克风动作时,频谱发生变化的情况,可以发现接收频率朝向低于中心频率18KHz的方向发生了偏移。\n[0079] 图7反映了,当手势为靠近麦克风动作时,频谱发生变化的情况,可以发现接收频率朝向高于中心频率18KHz的方向发生了偏移。\n[0080] 图8为时间频率图,横轴为时间轴,纵轴为频率轴,中心轴为中心频率大小,此处为\n18KHz,当手势动作的速度越大时,中心频率的偏移幅度越大,并且呈现着,手势远离麦克风时,中心频率向着减少的方向发生偏移,手势靠近麦克风时,中心频率向着增大的方向发生偏移。图8中清晰的表现了,当发生手势动作时中心频率朝向两边发生了偏移的状况。\n[0081] 以上所述,仅为本发明较佳的具体实施方式,本发明的保护范围不限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可显而易见地得到的技术方案的简单变化或等效替换均落入本发明的保护范围内。
法律信息
- 2017-04-19
- 2014-07-16
实质审查的生效
IPC(主分类): G06F 3/16
专利申请号: 201310206928.0
申请日: 2013.05.30
- 2014-06-25
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2009-04-29
|
2007-04-12
| | |
2
| |
2012-05-23
|
2010-12-15
| | |
3
| |
2013-04-10
|
2011-06-29
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |