本发明涉及基于声音信号识别领域,尤其涉及一种利用声音信号检测键盘敲击内容的方法及系统。
背景技术:
如今,随着各种信号检测系统的发展,键盘击键识别变得越来越重要。通过不同的信号检测,我们能够重现出敲击键盘的内容。随着信息安全技术的发展和人们对信息保密的要求越来越高,能够检测信号的同时做好反检测,正是当下所要考虑的。在做好检测击键行为的同时,设计出更好地方式来保护人的隐私。现有的室内环境中,击键所产生的声音,手势对室内WiFi信号的影响及击键动力方面的研究都可以被作为窃听的技术,从技术原理上研究键盘识别技术,从而更好地防止击键行为被窃听。
现有键盘识别系统主要可以分为两个方面,其一,根据击键动力学获取个人敲击键盘的特征进行个人身份的认证;其二,采用声音,WiFi,光等信号进行键盘敲击内容的识别。第二种的研究方面又可以分为以下几类。(1)基于WiFi信号,采用CSI技术进行键盘敲击内容的识别。如Wikey,(2)基于声音信号等进行敲击键盘内容的识别.Context-free,通过捕捉声音信号进行键盘布局的重构。
以上的方法,要么需要采用专用的信号采集技术且对环境的条件要求比较高,要么需要的检测设备数量比较高且计算成本较高,不具有普适性。
技术实现要素:
为了克服上述所指的现有技术中的不足之处,本发明提供一种利用声音信号检测键盘敲击内容的方法及系统,以在特定的布局中,通过利用分析采集过来的声音信号,实现对击键内容的识别,且整个过程耗费的时间及计算资源相对之前的方法较少。
本发明是通过以下技术方案实现的:
一种基于声音信号检测键盘敲击动作的方法,其步骤包括:
S1、声音搜集装置搜集敲击键盘产生的声音信号,并对声音信号进行预处理;
S2、利用能量检测算法并提取出每个敲击动作的击键高峰的信号片段;
S3、计算每个敲击动作的短时能量归一化值并结合时间差值作为特征进行分类
S4、反馈针对识别结果的响应信息,调整分类算法的参数,进一步提升准确性。
作为本发明的进一步改进:所述步骤S1对声音信号进行的预处理包括:
S11、声音采集装置采集得到的声音信号,采用巴特沃斯过滤方法去进行过滤;
S12、先采集一段环境中的声音信号,将后期的信号减去起初采集的信号,达到更好的过滤效果;
作为本发明的进一步改进:所述步骤S2利用能量检测算法检测并提取出每个敲击动作的声音片段包括:
S21、一个敲击动作存在三个波峰,根据能量检测算法检测出所要分析的敲击波峰;
S22、对识别出的敲击波峰后,通过一个阈值来判断敲击的起始点和终止点
作为本发明的进一步改进:所述步骤S3包括:
S31、为了使得整个键盘敲击的识别准确率更高,引入时间差作为每次敲击的另外一个特征并将两个特征进行融合;
S32、为了将分类匹配算法更为准确,引入性能更优的神经网络算法进行分类匹配,识别出每次的敲击;
作为本发明的进一步改进:S4、反馈针对识别结果的响应信息,调整分类算法的参数,进一步提升准确性。
另外,本发明还提供了一种基于声音信号进行键盘识别的系统,包括:
信号接收端,用于接收敲击键盘产生的声音信号并进行预处理;
判断模块,用于根据接收端接收到的信息,根据特征进行之前训练的参数进行分类匹配,识别出所敲击的键;
反馈模块,将判断模块检测出的结果和已知的类别进行比对,如果出现偏差,进行校正,从而是判别算法更为精确;
显示模块,可利用手机端的显示屏或者其他显示模块,用来显示识别出的结果。
作为本发明的进一步改进:所述信号接收端用于接收敲击键盘所产生的声音信号,包括但不限于智能手机及树莓派链接的麦克风系统。
作为本发明的进一步改进:所述判断模块中,根据接收端接收到信息,将能量归一化后值及时间差作为特征,调整参数后,利用分类算法进行更好的匹配。
作为本发明的进一步改进:所述反馈模块用于反馈针对分类识别的结果的响应信息,调整分类算法模型。
作为本发明的进一步改进:所述判断模块采用以下步骤进行键的识别:
321,采用统计学习理论,预先建立起以设定空间内由于键盘敲击的特性不通所导致声音信号变化的模式作为训练样本的模型;
322,用于两个麦克风接收到能量差值和时间差值作为特征值输入到训练样本的模型中,从而得出目标键的类别。
本发明的有益效果是:本发明利用声音检测的优点,设计出了一种基于声音检测的键盘敲击系统,并使用改进的算法和校正模块能够更准确对声音进行识别;本发明的声音信号的键盘击键检测的处理过程,首先根据将接收端的信号进行预处理,并结合时间差另外的这一特征,使用机器学习的分类算法判断击键内容,再通过人工和算法的不断的校正,达到更为精确的识别;本发明可以满足对所击键的内容进行分类识别,识别稳定性好。
附图说明
图1 为本发明的一种实施例的基于声音检测键盘敲击内容的系统配置示意图;
图2 为本发明的基于声音检测键盘敲击内容的方法的数据处理实时流程简图;
图3 为本发明的一种基于声音检测键盘敲击内容的系统实现控制流程图;
具体实施方式
为了便于本领域技术人员的理解,下面结合附图和实例对本发明作进一步的描述。
一种基于声音信号检测键盘敲击内容的方法,其步骤包括:
S1、声音搜集装置搜集敲击键盘产生的声音信号,并对声音信号进行预处理;
S2、利用能量检测算法并提取出每个敲击动作的击键高峰的信号片段;
S3、计算每个敲击动作的短时能量归一化值并结合时间差值作为特征进行分类
S4、反馈针对识别结果的响应信息,调整分类算法的参数,进一步提升准确性。
具体地,在步骤S1中,所述声音搜集装置可以是现有的智能手机,装置在树莓派上的麦克风等,其必须携带两个麦克风且两个麦克风的相对位置保持不变,将键盘与声音搜集装置放置在同一水平面上且保持平行,两者之间相距一定的距离,并且在步骤S1中,每次搜集信号键盘与手机的位置保持相对固定。
请参阅图1,其是整个实验场景的实验布置图。
所述步骤S2是利用能量检测方法判断出敲击波峰并提取出完整的整个敲击动作的信号片段:
S21、一个敲击动作存在三个波峰,根据能量检测算法检测出所要分析的敲击波峰;
S22、对识别出的敲击波峰后,通过一个阈值来判断敲击的起始点和终止点
作为本发明的进一步改进:所述步骤S3包括:
S31、为了使得整个键盘敲击的识别准确率更高,引入时间差作为每次敲击的另外一个特征并将两个特征进行融合;
S32、为了将分类匹配算法更为准确,引入性能更优的神经网络算法进行分类匹配,识别出每次的敲击;
本发明的基于声音信号检测键盘的方法还包括:反馈针对识别结果的响应信息,调整匹配算法的模型。
具体地,如附图2所示,本发明提供了一种实施例的基于声音信号检测敲击键盘的实现流程,求步骤包括:
S301、双手以正常的敲击速度敲击键盘上键;
S302、在信号采集阶段,进行信号的搜集并采用巴特沃斯方法进行滤波及白噪声去除的方式去除噪声;
S303、采用常见的分段算法,对获取到信号进行分割,以截取敲击动作的信号片段;
S304、计算两个麦克风获取的同一按键的短时能量值,并求出两者的短时能量差值
S305、进行多组实验,以求出多组能量差值并做归一化处理,并将此数值作为一个特征;
S306、计算两个麦克风获取同一信号片段的时间差值,并将作为一个特征与能量值进行融合;
S307、将以上两个特征作为一组向量值,利用神经网络算法进行分类;
S308、从而识别出单个键以及组合键。
在一实施例中,一种基于声音信号进行键盘识别的系统,包括:
信号接收端,用于接收敲击键盘产生的声音信号并进行预处理;
判断模块,用于根据接收端接收到的信息,根据特征进行之前训练的参数进行分类匹配,识别出所敲击的键;
反馈模块,将判断模块检测出的结果和已知的类别进行比对,如果出现偏差,进行校正,从而是判别算法更为精确;
显示模块,可利用手机端的显示屏或者其他显示模块,用来显示识别出的结果。
所述信号接收端用于接收敲击键盘所产生的声音信号,包括但不限于智能手机及树莓派链接的麦克风系统。
所述判断模块中,根据接收端接收到信息,将能量归一化后值及时间差作为特征,调整参数后,利用分类算法进行更好的匹配。
所述反馈模块用于反馈针对分类识别的结果的响应信息,调整分类算法模型。
所述判断模块采用以下步骤进行键的识别:
321,采用统计学习理论,预先建立起以设定空间内由于键盘敲击的特性不通所导致声音信号变化的模式作为训练样本的模型;
322,用于两个麦克风接收到能量差值和时间差值作为特征值输入到训练样本的模型中,从而得出目标键的类别。利用单一移动终端(如手机)即可实现上述键盘按键的识别。
以上内容是结合具体的优选方式对本发明所作的进一步详细说明,不应认定本发明的具体实施只局限于以上说明。对于本技术领域的技术人员而言,在不脱离本发明构思的前提下,还可以作出若干简单推演或替换,均应视为由本发明所提交的权利要求确定的保护范围之内。