技术领域
[0001] 本
发明涉及无线识别技术领域,更具体的说是涉及一种键盘击键内容的自适应识别方法和系统。
背景技术
[0002] 如今,随着信息技术的不断发展,信息安全问题也日益重要,人们对信息保密的要求越来越高,用户的安全防范意识正逐渐增强。在工作生活当中,键盘作为人与计算机的主要交互工具,用户使用它的行为数据,容易被不法分子窃取分析,成为导致信息泄露的漏洞。正因为如此,借助于信息处理技术和无线识别技术,对用户使用键盘的行为数据进行采集分析识别,能够对保护用户信息安全提供有
力支持,有助于更好地实施
人机交互过程中的反监测反窃听。
[0003] 目前,对键盘击键内容进行识别的方案主要有以下几个方面:其一,基于声音
信号的击键识别,通过不同按键发射的不同信号识别击键,根据击键信号到达麦克
风阵列(额外的声音采集装置)的不同时间对按键在键盘上的具体
位置做
定位,但此种方案需要
硬件设备较多且
精度不高;其二,基于
电磁波信号的击键识别,通过检测不同按键位置的
电路板发射的不同的电磁信号,或者用户在敲击不同按键时对空中电磁信号产生的不同影响来识别击键,然而这类方案极易受到外部电磁波的干扰,导致识别精度不高,且需要额外设备支持;其三,基于
计算机视觉的击键识别,通过摄像头等
图像采集装置捕捉用户敲击键盘的动作,利用
图像处理算法识别击键位置,不过此类方案除了硬件设备开销大和耗能较高,还易受环境光强的制约,弱光或黑暗环境下将不再适用。
[0004] 因此,如何提供一种无需额外硬件设备的击键内容识别方法是本领域技术人员亟需解决的问题。
发明内容
[0005] 有鉴于此,本发明提供了一种键盘击键内容的自适应识别方法和系统,通过智能终端内置麦克风采集击键
声音信号,对击键声音信号进行分析,实现对击键内容的识别,无需借助额外的硬件设备,且识别精度较高。
[0006] 为了实现上述目的,本发明采用如下技术方案:
[0007] 一种键盘击键内容的自适应识别方法,包括:
[0008] S1:对智能终端内置麦克风采集到的击键声音信号进行降噪处理;
[0009] S2:对经过降噪处理的击键声音信号进行切割分
帧,提取击键事件的有效信号
片段;
[0010] S3:根据有效信号片段计算各击键事件的信号偏度、峭度和短时信号
能量特征,以区分出单键敲击事件和组合键敲击事件;
[0011] S4:对单键敲击事件和组合键敲击事件分别进行特征提取和分类,得到分类结果;
[0012] S5:对分类结果进行校验,得到键盘击键内容识别结果。
[0013] 优选的,步骤S1具体包括:
[0014] 基于智能终端内置麦克风采集到的击键声音信号,利用巴特沃斯带通
滤波器去除带外噪声;
[0015] 利用CMN原理抑制去除带外噪声后的击键声音信号的带内噪声。
[0016] 优选的,步骤S2具体包括:
[0017] 利用峰值检测算法对经过降噪处理的击键声音信号进行切割,得到切割后的信号;
[0018] 在时变的噪声环境下,利用CFAR算法根据外部干扰噪声
水平自适应的调整
阈值,从切割后的信号中识别出击键事件的起点和终点,得到击键事件的有效信号片段。
[0019] 优选的,步骤S4具体包括:
[0020] 对单键敲击事件进行
信号处理,提取ASD、MFCC特征,并利用
机器学习分类算法进行分类;
[0021] 对组合键敲击事件产生的
混叠信号,通过击键波峰间隔和信号持续时间确定击键时间差,采用卷积
盲源分离算法进行分离,得到组合键敲击事件的分离信号;
[0022] 基于组合键敲击事件的分离信号,提取ASD、MFCC特征,与对应单键的特征进行匹配分类,得到分类结果。
[0023] 优选的,步骤S5具体包括:
[0024] 采用DTW算法计算击键信号距离,对分类结果进行校验,得到键盘击键内容识别结果。
[0025] 优选的,还包括:S6:对键盘击键内容识别结果进行存储,形成击键模板
数据库,并对击键识别提供支持。
[0026] 一种键盘击键内容的自适应识别系统,包括:
[0027] 信号预处理模
块,用于对智能终端内置麦克风采集到的击键声音信号进行降噪处理;
[0028] 信号提取模块,用于对经过降噪处理的击键声音信号进行切割分帧,提取击键事件的有效信号片段;
[0029] 事件区分模块,用于根据有效信号片段计算各击键事件的信号偏度、峭度和短时信号能量特征,以区分出单键敲击事件和组合键敲击事件;
[0030] 击键分类模块,用于对单键敲击事件和组合键敲击事件分别进行特征提取和分类,得到分类结果;
[0031] 校正模块,用于对分类结果进行校验,得到键盘击键内容识别结果。
[0032] 优选的,所述信号预处理模块包括:带外噪声去除模块和带内噪声去除模块;
[0033] 所述带外噪声去除模块基于智能终端内置麦克风采集到的击键声音信号,利用巴特沃斯
带通滤波器去除带外噪声;
[0034] 所述带内噪声去除模块利用CMN原理抑制去除带外噪声后的击键声音信号的带内噪声。
[0035] 优选的,所述信号提取模块包括:切割模块和提取模块;
[0036] 所述切割模块用于利用峰值检测算法对经过降噪处理的击键声音信号进行切割,得到切割后的信号;
[0037] 所述提取模块用于在时变的噪声环境下,利用CFAR算法根据外部干扰噪声水平自适应的调整阈值,从切割后的信号中识别出击键事件的起点和终点,得到击键事件的有效信号片段。
[0038] 优选的,所述事件区分模块包括:单键分类模块、分离模块和组合键分类模块;
[0039] 所述单键分类模块用于对单键敲击事件进行信号处理,提取ASD、MFCC特征,并利用机器学习分类算法进行分类;
[0040] 所述分离模块用于对组合键敲击事件产生的混叠信号,通过击键波峰间隔和信号持续时间确定击键时间差,采用卷积盲源分离算法进行分离,得到组合键敲击事件的分离信号;
[0041] 所述组合键分类模块用于基于组合键敲击事件的分离信号,提取ASD、MFCC特征,与对应单键的特征进行匹配分类,得到分类结果。
[0042] 优选的,所述校正模用于采用DTW算法计算击键信号距离,对分类结果进行校验,得到键盘击键内容识别结果。
[0043] 优选的,还包括:存储模块,用于对键盘击键内容识别结果进行存储,形成击键模板数据库,并对击键分类模块提供支持。
[0044] 经由上述的技术方案可知,与
现有技术相比,本发明公开提供了一种键盘击键内容的自适应识别方法和系统,通过智能终端内置麦克风采集击键声音信号,操作易于实现,而且硬件开销小。此外,本发明利用CFAR算法在时变的环境噪声下动态地调整阈值,从而自适应地提取击键事件的有效信号片段;利用卷积盲源分离算法对组合键敲击产生的混叠信号进行分离,达到识别组合键击键内容的目的;采用DTW算法对分类结果进行校验,从而进一步提高了击键内容识别的精度。
[0045] 相比现有技术,本发明提供的击键识别方法及系统的设备开销小,操作简便易行,抗干扰能力强,识别精度较高。
附图说明
[0046] 为了更清楚地说明本发明
实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0047] 图1为本发明提供的键盘击键内容的自适应识别方法的
流程图一;
[0048] 图2为本发明提供的键盘击键内容的自适应识别方法的流程图二;
[0049] 图3为本发明提供的键盘击键内容的自适应识别系统的结构
框图一;
[0050] 图4为本发明提供的键盘击键内容的自适应识别系统的结构框图二。
具体实施方式
[0051] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0052] 在对键盘击键内容进行识别之前,需要采集键盘击键声音信号,用户双手以正常速度敲击键盘,产生击键声音信号。用户在敲击键盘与设备(例如:计算机或手机)进行交互时,每一次敲击动作都会击键声音信号。其中,敲击单个键位时,产生的是该键位的单键击键声音信号;同时敲击多个键位时,即组合键敲击,产生的是若干个键位的击键声音信号混合在一起的混叠声音信号。
[0053] 附图1示出了本发明提供的键盘击键内容的自适应识别方法的流程图,具体步骤如下:
[0054] 步骤S1:对智能终端内置麦克风采集到的击键声音信号进行降噪处理;
[0055] 利用Butterworth方法去除带外噪声,采用CMN原理抑制带内噪声。利用智能终端内置的麦克风接收击键声音信号,保持与键盘的相对位置及周边环境布局固定不变。在对击键信号进行进一步处理之前,需要进行降噪处理。通常环境噪声分布在整个频带,而击键声音信号的能量大多分布在2KHz到16.8KHz之间,设计相应要求的Butterworth带通滤波器可以去除频带外的噪声。去除带外噪声后,在有效频带内仍存在着周期性的噪声,采用CMN原理在频域上对信号进行处理,能够进一步抑制带内噪声,得到较为纯净的击键声音信号。
[0056] S2:对经过降噪处理的击键声音信号进行切割分帧,提取击键事件的有效信号片段;
[0057] 利用峰值检测算法,结合CFAR原理,对击键声音信号进行切割,提取各击键事件的有效信号片段。一次击键事件产生的声音信号,包括
接触波峰、击键波峰以及复位波峰三个峰值,利用峰值检测算法对降噪处理后的声音信号进行切割,得到切割后的信号;外部的噪声是动态变化的,在时变的噪声环境下,利用CFAR算法,能够根据外部干扰噪声水平而自适应地调整阈值,从切割后的信号中识别出击键事件的起点和终点,从而能够提取击键事件的有效信号片段。
[0058] S3:根据有效信号片段计算各击键事件的信号偏度、峭度和短时信号能量特征,以区分出单键敲击事件和组合键敲击事件;
[0059] 计算各击键事件的信号偏度、峭度和短时信号能量,其中偏度是表征信号的概率分布函数的非对称程度的一个量度,其绝对值越大,说明信号的概率分布函数越不对称,其绝对值越小,说明信号的概率分布函数越对称;峭度是衡量信号的概率分布函数的形状是高耸还是低平的一个量度,峭度值越大,说明信号的概率
密度函数形状越高耸,峭度值越小,说明信号的概率密度函数形状越低平。具有高斯分布的信号,其偏度值和峭度值均为零。
[0060] 利用偏度、峭度、短时信号能量三个特征来分离单键敲击事件和组合键敲击事件。根据统计学中的中心极限定理,当多个独立且具有同分布的随机变量相
叠加时,其和的概率分布趋于高斯分布,也即其偏度值和峭度值趋于零。因此,任何一个接收到的组合键敲击产生的混叠声音信号,其偏度和峭度的绝对值要小于其任何一个分量(即单键敲击)的偏度和峭度的绝对值。再者,单键敲击事件的短时信号能量要小于组合键敲击事件的短时信号能量。结合上述三种特征,能够识别出单键敲击事件和组合键敲击事件。
[0061] S4:对单键敲击事件和组合键敲击事件分别进行特征提取和分类,得到分类结果;
[0062] 提取各单键信号的ASD、MFCC特征。对每一个具体位置的键位进行敲击,由于位置不同以及与麦克风的距离不等,麦克风接收到的击键声音信号表现出不同的特征,因此提取单键信号的ASD(振幅谱密度)和MFCC特征,能够作为分类特征对击键内容进行识别。
[0063] 根据击键事件的信号持续时间和峰值间隔来获取组合键击键时间差。组合键敲击产生的声音信号不同于单键敲击产生的声音信号,它是若干个单键击键信号混合在一起的混叠声音信号,混合方式未知。由于用户敲击键盘的方式不稳定,导致每次敲击组合键时,其中任意一个单键的击键时间先后间隔会发生变化。因此,根据麦克风接收到的组合键混叠声音信号的时长及峰值间隔等特征,能够获取击键时间差,为后续的卷积盲源分离提供支持。
[0064] 利用卷积盲源分离算法对各组合键信号进行分离,提取分离信号的ASD、MFCC特征。对组合键敲击事件产生的混叠信号,通过击键波峰间隔和信号持续时间确定击键时间差,采用卷积盲源分离算法进行分离,对分离后的分离信号,提取ASD、MFCC等特征,与对应单键的特征进行匹配分类。
[0065] 利用机器学习算法对各击键事件进行分类,输出击键识别结果。计算各击键事件的信号特征的距离和相似程度,利用机器学习算法基于上述信号特征进行分类,特征距离较小、特征相似程度较高的为一类,从而能够识别各击键事件的击键内容。
[0066] S5:对分类结果进行校验,得到键盘击键内容识别结果。
[0067] 利用DTW算法对分类结果进行校验。由于用户每次敲击键盘时,对键位的敲击力度不同、持续时长不等,为提高识别精度,避免击键信号片段长短不一带来的误差影响,采用DTW算法计算击键信号距离,对分类结果进行校验,从而达到精准识别击键内容的目的。
[0068] 参见附图2,在上述技术方案的
基础上,进一步还包括:S6:对键盘击键内容识别结果进行存储,形成击键模板数据库,并对击键识别提供支持。
[0069] 参见附图3,本发明实施例还公开了一种键盘击键内容的自适应识别系统,包括:
[0070] 信号预处理模块,用于对智能终端内置麦克风采集到的击键声音信号进行降噪处理;
[0071] 信号提取模块,用于对经过降噪处理的击键声音信号进行切割分帧,提取击键事件的有效信号片段;
[0072] 事件区分模块,用于根据有效信号片段计算各击键事件的信号偏度、峭度和短时信号能量特征,以区分出单键敲击事件和组合键敲击事件;
[0073] 击键分类模块,用于对单键敲击事件和组合键敲击事件分别进行特征提取和分类,得到分类结果;
[0074] 校正模块,用于对分类结果进行校验,得到键盘击键内容识别结果。
[0075] 为了进一步优化上述技术方案,信号预处理模块包括:带外噪声去除模块和带内噪声去除模块;
[0076] 带外噪声去除模块基于智能终端内置麦克风采集到的击键声音信号,利用巴特沃斯带通滤波器去除带外噪声;
[0077] 带内噪声去除模块利用CMN原理抑制去除带外噪声后的击键声音信号的带内噪声。
[0078] 为了进一步优化上述技术方案,信号提取模块包括:切割模块和提取模块;
[0079] 切割模块用于利用峰值检测算法对经过降噪处理的击键声音信号进行切割,得到切割后的信号;
[0080] 提取模块用于在时变的噪声环境下,利用CFAR算法根据外部干扰噪声水平自适应的调整阈值,从切割后的信号中识别出击键事件的起点和终点,得到击键事件的有效信号片段。
[0081] 为了进一步优化上述技术方案,事件区分模块包括:单键分类模块、分离模块和组合键分类模块;
[0082] 单键分类模块用于对单键敲击事件进行信号处理,提取ASD、MFCC特征,并利用机器学习分类算法进行分类;
[0083] 分离模块用于对组合键敲击事件产生的混叠信号,通过击键波峰间隔和信号持续时间确定击键时间差,采用卷积盲源分离算法进行分离,得到组合键敲击事件的分离信号;
[0084] 组合键分类模块用于基于组合键敲击事件的分离信号,提取ASD、MFCC特征,与对应单键的特征进行匹配分类,得到分类结果。
[0085] 为了进一步优化上述技术方案,校正模用于采用DTW算法计算击键信号距离,对分类结果进行校验,得到键盘击键内容识别结果。
[0086] 为提高识别精度,避免击键信号片段长短不一带来的误差影响,采用DTW算法计算击键信号距离,对分类结果进行校验,达到精准识别击键内容的目的。
[0087] 参见附图4,在上述技术方案的基础上,进一步的还包括:存储模块,用于对键盘击键内容识别结果进行存储,形成击键模板数据库,并对击键分类模块提供支持。
[0088] 本发明通过建立数据库,对击键识别的信号特征进行存储,形成击键识别模板数据库,对击键识别模块提供后续支持,当用户敲击键盘产生新的击键声音信号时,提取相关特征后,可与数据库中的击键识别模板进行匹配分类,同时,在持续击键内容识别过程中,不断更新
迭代优化数据库中击键识别的信号特征集。
[0089] 此外,还需要说明的是,采集击键声音信号的含有内置麦克风的智能终端,包括但不限于计算机、智能手机、
平板电脑、
数据采集器和其他拥有多麦克风的数字媒体终端。
[0090] 本
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0091] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种
修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。