CN104536585B - 一种基于动态条件随机场的键盘输入侦测方法 - Google Patents
一种基于动态条件随机场的键盘输入侦测方法 Download PDFInfo
- Publication number
- CN104536585B CN104536585B CN201410855233.XA CN201410855233A CN104536585B CN 104536585 B CN104536585 B CN 104536585B CN 201410855233 A CN201410855233 A CN 201410855233A CN 104536585 B CN104536585 B CN 104536585B
- Authority
- CN
- China
- Prior art keywords
- mrow
- sound
- msub
- sequence
- input
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/018—Input/output arrangements for oriental characters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0237—Character input methods using prediction or retrieval techniques
Abstract
本发明公开一种基于动态条件随机场的键盘输入侦测方法,包括:获取不同位置的若干个麦克风M1M2M3...M2m的位置;通过归一化互相关方法,对于所有的麦克风对,计算同一音源发出的声音到麦克风Mi和麦克风Mj的带误差容忍的时间差范围Δtij;根据带误差容忍的时间差范围Δtij和每对麦克风的位置,获得相应的双曲线;将所有的双曲线叠加在平面上,平面中被双曲线带覆盖次数最多的区域即为最大可能的音源区域,侦测出键盘输入字符的大概位置;利用动态条件随机场对键盘输入的位置信息进行建模,通过线下学习的文本特征关联性来恢复输入字符序列。本发明没有假设数据之间的独立性,利用现实存在的时空关联性建立了一个统一的概率模型,实现了对键盘输入的定位。
Description
技术领域
本发明涉及键盘输入侦测技术领域,尤其涉及一种基于动态条件随机场的键盘输入侦测方法。
背景技术
众所周知,键盘输入带着大量的数据信息,包括登录用户名、密码等重要信息。随之越来越多的键盘输入攻击方式出现,例如利用定位能力强大的声波探测器,或者是在电脑内部植入攻击的木马软件等。前者需要体积庞大的仪器,不易携带,不适用于键盘输入侦测场合;而后者容易被电脑里面的反木马程式所删除。
随着手机逐渐成为具有强大计算能力的移动工具,越来越多的传感器被安放在手机上,用以提供各种感知的功能。手机上麦克风的数量也在逐渐增多,然而现有的手机一般还都只有两个或者一个麦克风,只有极少数的手机有三个麦克风,以iPhone 5手机为例,其具有三个麦克风,一个在前面,一个在背面,另一个在底部。这样可以更好的获取多个方向的声音,并且在通话过程中消除背景噪音。多个麦克风的出现为精确定位声音源的提供了可能,如果在单个手机上麦克风的数量不小于三个,即可通过手机声音到达不同位置的麦克风的时间差进行定位,从而得到较精确的音源位置。但是如果手机只有两个麦克风,则需要多个手机进行协同合作定位。
如果利用手机能够精确的对键盘输入进行定位,确实是一个很隐蔽且高效方法。然而,由于现有手机的发射/接收声音信号的频率过低,而对键盘输入定位对于定位精度要求高(2cm以内),所以往往无法直接使用。
发明内容
本发明的目的在于通过一种基于动态条件随机场的键盘输入侦测方法,来解决以上背景技术部分提到的问题。
为达此目的,本发明采用以下技术方案:
一种基于动态条件随机场的键盘输入侦测方法,其包括:
A、获取不同位置的若干个麦克风M1M2M3...M2m的位置,其中,m为不小于1的正整数;
B、通过归一化互相关方法,对于所有的麦克风对,计算同一音源发出的声音到麦克风Mi和麦克风Mj的带误差容忍的时间差范围Δtij,其中,i≠j;
C、根据带误差容忍的时间差范围Δtij和每对麦克风位置,获得相应的双曲线;
D、将所有的所述双曲线叠加在平面上,平面中被双曲线带覆盖次数最多的区域即为最大可能的音源区域,侦测出键盘输入字符的大概位置;
E、利用动态条件随机场对键盘输入的位置信息进行建模,通过线下学习的文本特征关联性来恢复输入字符序列。
特别地,所述步骤B具体包括:
通过两个不同位置的麦克风对同一音源发出的声音进行采集,分别获取第一声音序列和第二声音序列,其中,第一麦克风采集的第一声音序列中的声音强度的最高时刻是t1,第二麦克风采集的第二声音序列中声音强度的最高时刻是t2,采集的采样率为k;
选取第一声音序列和第二声音序列的两个声音序列的声音强度最高的时间段,得到第一麦克风的第一声音子序列X(t)和第二麦克风的第二声音子序列Y(t);第一声音子序列X(t)和第二声音子序列Y(t)的序列长度均为L;
将得到的两个子序列进行归一化互相关计算,以得到最佳匹配位置tM,即两个子序列相对位置为tM时,归一化互相关计算的结果CC(t0)数值最大;
归一化的互相关方法的计算公式如下:
根据上述归一化互相关计算公式,其中一个序列为模版序列,另一个为待匹配序列;令X(t)为模版序列,Y(t)为待匹配序列;t0为子序列Y(t)相对X(t)的位置,其取值范围是t0∈[1-L,2L-1];tx为X(t)实际匹配部分位置,其取值范围是tx∈W=[maxmax{0,t0},minmin{t0+L-1,L-1}],t为X(t)和Y(t)序列的位置下标,其取值范围是t∈W0=[0,L-1];X(t)序列的音强平均值为Y(t)序列的音强平均值为
计算上述两个麦克风采集的音源的声音的时间差T1,T1=|t1-t2+tM/K|;带误差容忍的时间差范围是Δt,其取值范围是Δt∈(T1-δ,T1+δ),容忍度δ=||T1|-|t1-t2||。
本发明提出的基于动态条件随机场的键盘输入侦测方法没有假设数据之间的独立性,利用现实存在的时空关联性建立了一个统一的概率模型,实现了对键盘输入的定位,成本低,准确率高,易于实现。
附图说明
图1为本发明提供的基于动态条件随机场的键盘输入侦测方法流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容,除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
请参照图1所示,图1为本发明提供的基于动态条件随机场的键盘输入侦测方法流程图。
本实施例中基于动态条件随机场的键盘输入侦测方法具体包括:
S101、获取不同位置的若干个麦克风M1M2M3...M2m的位置,其中,m为不小于1的正整数。
S102、通过归一化互相关方法,对于所有的麦克风对,计算同一音源发出的声音到麦克风Mi和麦克风Mj的带误差容忍的时间差范围Δtij,其中,i≠j。
S103、根据带误差容忍的时间差范围Δtij和每对麦克风的位置,获得相应的双曲线。
S104、将所有的所述双曲线叠加在平面上,平面中被双曲线带覆盖次数最多的区域即为最大可能的音源区域,侦测出键盘输入字符的大概位置。
S105、利用动态条件随机场对键盘输入的位置信息进行建模,通过线下学习的文本特征关联性来恢复输入字符序列。
于本实施例中所述步骤S102具体过程如下:通过两个不同位置的麦克风对同一音源发出的声音进行采集,分别获取第一声音序列和第二声音序列,其中,第一麦克风采集的第一声音序列中的声音强度的最高时刻是t1,第二麦克风采集的第二声音序列中声音强度的最高时刻是t2,采集的采样率为k。
选取第一声音序列和第二声音序列的两个声音序列的声音强度最高的时间段,得到第一麦克风的第一声音子序列X(t)和第二麦克风的第二声音子序列Y(t);第一声音子序列X(t)和第二声音子序列Y(t)的序列长度均为L。
将得到的两个子序列进行归一化互相关计算,以得到最佳匹配位置tM,即两个子序列相对位置为tM时,归一化互相关计算的结果CC(t0)数值最大。
归一化的互相关方法的计算公式如下:
根据上述归一化互相关计算公式,其中一个序列为模版序列,另一个为待匹配序列;令X(t)为模版序列,Y(t)为待匹配序列;t0为子序列Y(t)相对X(t)的位置,其取值范围是t0∈[1-L,2L-1];tx为X(t)实际匹配部分位置,其取值范围是tx∈W=[maxmax{0,t0},minmin{t0+L-1,L-1}],t为X(t)和Y(t)序列的位置下标,其取值范围是t∈W0=[0,L-1];X(t)序列的音强平均值为Y(t)序列的音强平均值为
计算上述两个麦克风采集的音源的声音的时间差T1,T1=|t1-t2+tM/K|;带误差容忍的时间差范围是Δt,其取值范围是Δt∈(T1-δ,T1+δ),容忍度δ=||T1|-|t1-t2||。
有了声音时间差,就可以得到对键盘输入的“粗略定位”,也就是说可以得到一串输入字符的大概位置。本实施例中,把键盘的位置分为六块区域,这样每一次输入都可以被识别在某一块区域中。而键盘输入之间是有关联性的,对于英文输入的前后相关性学习为已知成熟技术,在此不再赘述。
因此,本发明采用动态条件随机场(Dynamic Conditional Random Field,DCRF)来刻画所有可能的时空关联性和特征关联性。以条件随机场中的隐藏状态L={L_1,L_2,…,L_T}来表示键盘的输入序列,以观察节点O={O_1,O_2,…,O_T}来表示键盘的输入预测位置。根据动态条件随机场的性质,从观察节点推测出隐藏节点的概率为:
其中,C是条件随机场的图模型中的所有团(clique)的集合,λkfk是基于团定义的因素函数(factor functions),用来刻画团中各个节点之间的关联性,Z是归一化函数。
在进行键盘输入侦测时,本发明包括两个步骤:线下学习过程和在线检测过程,具体如下:
一、线下学习过程。在该过程中,需收集了英文键盘输入的训练数据D={X(i),Y(i)},其中,Y(i)示给实际的键盘位置,也就是DCRF里的隐含状态序列,X(i)则表示的是位置信息,即DCRF里的观察状态序列。学习的最终目的是将DCRF里的各类优化参数Λ={λk}设置好。
二、在线检测过程。在获得了DCRF的各类参数之后,该模型可以根据输入的某k时长的观察序列xt-k+1,xt-k+2,…,xt,推算这段时间里的隐含状态序列,也就是键盘的输入字符,从而知道在这段时间里的键盘输入序列。推算的主要方法为:y*=argmaxyp(yt-k+1,yt-k+2,…,yt|xt-k+1,xt-k+2,…,xt;Λ)。
本发明的技术方案没有假设数据之间的独立性,利用现实存在的时空关联性建立了一个统一的概率模型,实现了对键盘输入的定位,成本低,准确率高,易于实现。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (1)
1.一种基于动态条件随机场的键盘输入侦测方法,其特征在于,包括:
A、获取不同位置的若干个麦克风M1M2M3...M2m的位置,其中,m为不小于1的正整数;
B、通过归一化互相关方法,对于所有的麦克风对,计算同一音源发出的声音到麦克风Mi和麦克风Mj的带误差容忍的时间差范围Δtij,其中,i≠j;具体包括:
通过两个不同位置的麦克风对同一音源发出的声音进行采集,分别获取第一声音序列和第二声音序列,其中,第一麦克风采集的第一声音序列中的声音强度的最高时刻是t1,第二麦克风采集的第二声音序列中声音强度的最高时刻是t2,采集的采样率为k;
选取第一声音序列和第二声音序列的两个声音序列的声音强度最高的时间段,得到第一麦克风的第一声音子序列X(t)和第二麦克风的第二声音子序列Y(t);第一声音子序列X(t)和第二声音子序列Y(t)的序列长度均为L;
将得到的两个子序列进行归一化互相关计算,以得到最佳匹配位置tM,即两个子序列相对位置为tM时,归一化互相关计算的结果CC(t0)数值最大;
归一化的互相关方法的计算公式如下:
<mrow>
<mi>C</mi>
<mi>C</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>t</mi>
<mn>0</mn>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mo>&Sigma;</mo>
<mrow>
<msub>
<mi>t</mi>
<mi>x</mi>
</msub>
<mo>&Element;</mo>
<mi>W</mi>
</mrow>
</msub>
<mo>&lsqb;</mo>
<mi>X</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>t</mi>
<mi>x</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mover>
<mrow>
<mi>X</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
<mo>&OverBar;</mo>
</mover>
<mo>&rsqb;</mo>
<mo>&lsqb;</mo>
<mi>Y</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>t</mi>
<mi>x</mi>
</msub>
<mo>-</mo>
<msub>
<mi>t</mi>
<mn>0</mn>
</msub>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mover>
<mrow>
<mi>Y</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
<mo>&OverBar;</mo>
</mover>
<mo>&rsqb;</mo>
</mrow>
<msqrt>
<mrow>
<msub>
<mo>&Sigma;</mo>
<mrow>
<mi>t</mi>
<mo>&Element;</mo>
<msub>
<mi>W</mi>
<mn>0</mn>
</msub>
</mrow>
</msub>
<msup>
<mrow>
<mo>&lsqb;</mo>
<mi>X</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mover>
<mrow>
<mi>X</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
<mo>&OverBar;</mo>
</mover>
<mo>&rsqb;</mo>
</mrow>
<mn>2</mn>
</msup>
<msub>
<mo>&Sigma;</mo>
<mrow>
<mi>t</mi>
<mo>&Element;</mo>
<msub>
<mi>W</mi>
<mn>0</mn>
</msub>
</mrow>
</msub>
<msup>
<mrow>
<mo>&lsqb;</mo>
<mi>Y</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mover>
<mrow>
<mi>Y</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
<mo>&OverBar;</mo>
</mover>
<mo>&rsqb;</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
</msqrt>
</mfrac>
</mrow>
根据上述归一化互相关计算公式,其中一个序列为模版序列,另一个为待匹配序列;令X(t)为模版序列,Y(t)为待匹配序列;t0为子序列Y(t)相对X(t)的位置,其取值范围是t0∈[1-L,2L-1];tx为X(t)实际匹配部分位置,其取值范围是tx∈W=[maxmax{0,t0},minmin{t0+L-1,L-1}],t为X(t)和Y(t)序列的位置下标,其取值范围是t∈W0=[0,L-1];X(t)序列的音强平均值为Y(t)序列的音强平均值为
计算上述两个麦克风采集的音源的声音的时间差T1,T1=|t1-t2+tM/K|;带误差容忍的时间差范围是Δt,其取值范围是Δt∈(T1-δ,T1+δ),容忍度δ=||T1|-|t1-t2||;
C、根据带误差容忍的时间差范围Δtij和每对麦克风的位置,获得相应的双曲线;
D、将所有的所述双曲线叠加在平面上,平面中被双曲线带覆盖次数最多的区域即为最大可能的音源区域,侦测出键盘输入字符的大概位置;
E、利用动态条件随机场对键盘输入的位置信息进行建模,通过线下学习的文本特征关联性来恢复输入字符序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410855233.XA CN104536585B (zh) | 2014-12-31 | 2014-12-31 | 一种基于动态条件随机场的键盘输入侦测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410855233.XA CN104536585B (zh) | 2014-12-31 | 2014-12-31 | 一种基于动态条件随机场的键盘输入侦测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104536585A CN104536585A (zh) | 2015-04-22 |
CN104536585B true CN104536585B (zh) | 2017-11-10 |
Family
ID=52852125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410855233.XA Active CN104536585B (zh) | 2014-12-31 | 2014-12-31 | 一种基于动态条件随机场的键盘输入侦测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104536585B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106128452A (zh) * | 2016-07-05 | 2016-11-16 | 深圳大学 | 利用声音信号检测键盘敲击内容的系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1386070A (en) * | 1970-07-27 | 1975-03-05 | Bennison R | Pressure actuated signalling means |
US4677600A (en) * | 1984-12-11 | 1987-06-30 | Alps Electric Co., Ltd. | Keyboard apparatus |
CN1832633A (zh) * | 2005-03-07 | 2006-09-13 | 华为技术有限公司 | 一种声源定位方法 |
CN102361508A (zh) * | 2011-07-27 | 2012-02-22 | 中国计量学院 | 一种判断声音位置的2路麦克风的声音采集和放大电路 |
CN102914765A (zh) * | 2012-11-13 | 2013-02-06 | 天津工业大学 | 声音定位系统 |
CN103675757A (zh) * | 2013-12-17 | 2014-03-26 | 无锡清华信息科学与技术国家实验室物联网技术中心 | 基于多个手机麦克风阵列的定位方法 |
-
2014
- 2014-12-31 CN CN201410855233.XA patent/CN104536585B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1386070A (en) * | 1970-07-27 | 1975-03-05 | Bennison R | Pressure actuated signalling means |
US4677600A (en) * | 1984-12-11 | 1987-06-30 | Alps Electric Co., Ltd. | Keyboard apparatus |
CN1832633A (zh) * | 2005-03-07 | 2006-09-13 | 华为技术有限公司 | 一种声源定位方法 |
CN102361508A (zh) * | 2011-07-27 | 2012-02-22 | 中国计量学院 | 一种判断声音位置的2路麦克风的声音采集和放大电路 |
CN102914765A (zh) * | 2012-11-13 | 2013-02-06 | 天津工业大学 | 声音定位系统 |
CN103675757A (zh) * | 2013-12-17 | 2014-03-26 | 无锡清华信息科学与技术国家实验室物联网技术中心 | 基于多个手机麦克风阵列的定位方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104536585A (zh) | 2015-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7265003B2 (ja) | ターゲット検出方法、モデル訓練方法、装置、機器及びコンピュータプログラム | |
Liu et al. | Wavoice: A noise-resistant multi-modal speech recognition system fusing mmwave and audio signals | |
Hou et al. | Signspeaker: A real-time, high-precision smartwatch-based sign language translator | |
CN107643509B (zh) | 定位方法、定位系统及终端设备 | |
CN104915340B (zh) | 自然语言问答方法及装置 | |
US9299347B1 (en) | Speech recognition using associative mapping | |
CN110503969A (zh) | 一种音频数据处理方法、装置及存储介质 | |
CN109670174B (zh) | 一种事件识别模型的训练方法和装置 | |
CN110544488A (zh) | 一种多人语音的分离方法和装置 | |
CN109918684A (zh) | 模型训练方法、翻译方法、相关装置、设备及存储介质 | |
AU2016200905A1 (en) | A system and method for identifying and analyzing personal context of a user | |
US11334564B2 (en) | Expanding search queries | |
US11630518B2 (en) | Ultrasound based air-writing system and method | |
CN104717744A (zh) | 一种基于无线局域网及分层聚类的室内定位方法 | |
US10430896B2 (en) | Information processing apparatus and method that receives identification and interaction information via near-field communication link | |
CN108877787A (zh) | 语音识别方法、装置、服务器及存储介质 | |
KR101228336B1 (ko) | 모바일 단말기의 사용자 행동패턴을 이용하여 개인화 서비스를 제공하는 방법 및 이를 위한 모바일 단말기 | |
CN108182418A (zh) | 一种基于多维声波特征的键击识别方法 | |
CN105308537A (zh) | 匹配多个装置的方法、以及使所述匹配成为可能的装置及服务器系统 | |
CN110597957B (zh) | 一种文本信息检索的方法及相关装置 | |
CN109410935A (zh) | 一种基于语音识别的目的地搜索方法及装置 | |
CN113723159A (zh) | 场景识别模型训练方法、场景识别方法及模型训练装置 | |
Swee et al. | Wireless data gloves Malay sign language recognition system | |
CN104536585B (zh) | 一种基于动态条件随机场的键盘输入侦测方法 | |
KR101793607B1 (ko) | 수화교육 시스템, 방법 및 프로그램 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |