Keystroke Recognition using WiFi Signals (使用WI-FI信号识别按键)阅读笔记

一、概述

    已有的无线识别按键的方法分别有:分析用户在键盘上输入时的录像;分析用户不同按键时的声音和电磁信号;使用基于无线电自定义的接收器来定位按键。

    本文提出了一个基于WI-FI信号的击键识别系统,称作wikey。Wikey有两个商用的WI-FI设备组成,即一个发射器(比如:路由器)一个接收器(比如:笔记本电脑)。发射器持续的发送信号,接收器持续的接受信号。当人敲击键盘时,Wikey基于CSI值(信道状态信息)在接收器的变化来识别被敲击的键。

    它的要点在于:不同的按键对WiFi信号的影响是不同的,用户的手和手指会按一定的方向移动,形成不同的按键。例如,两种不同按键I和O的经过处理的CSI波形,尽管I和O按键相邻,但这两种波形完全不同。

二、研究思路

    然而,利用WiFi设备的CSI信息来识别击键有一定的挑战。(1)与推、拉或挥动等手势相比,击键是相对较小的手势。(2)它们非常靠近键盘。(3)并且按键的时间间隔也很近。而关键挑战是如何针对不同的按键检测并提取干净的CSI波形。

1. 降噪

    WiKey的第一步是降低CSI数据中的噪声。由于手和手指的移动引起的变化频率位于频谱的低端,而噪声位于频谱的高端。为此,WiKey首先提出了一种方法:通过低通滤波器消除高频噪声。

    在每个发射接收天线对的30组子载波中,CSI数据在这些子载波中携带的信息是冗余的。但是过多的低通滤波会导致CSI波形的细节信息丢失

    因此,wikey提出了修改方案:对滤波后的子载波进行主成分分析(PCA),然后选取CSI数据的前几个投影,去掉噪声投影。通过这种方式,可以消除不相关的噪声组件,只保留了表示由于击键而产生的变化的信号。

    上图显示了降噪的结果。删除第一部分的原因是,具有较高方差的嘈杂成分会被排在顶级主成分中。这些数据可以进一步处理以提取和识别击键。

    因此,本质上,这种使用子载波主成分分析的降噪技术为WiKey方案增加了对不相关CSI变化的鲁棒性。

2. 特征提取

    降噪后,下一步是从干净的CSI数据中提取单个按键的波形。

    对于击键提取,利用所有击键波形在CSI值的变化率上呈现典型的增加和减少趋势这一事实。我们的按键提取算法处理所有TX-RX天线对的CSI波形,然后结合所有TX-RX天线对的结果,使用估计的开始点和结束点提取击键。

    将按键波形的形状用作其特征,更适合用于分类。并且通过实验观察到,不同击键波形的形状彼此非常不同,如图(a)和(b)所示。

    并且为了降低WiKey分类过程的计算复杂度,我们选择了3次离散小波变换(DWT),来压缩提取的按键波形。

3. 分类器训练

    选择动态时间扭曲作为不同按键形状特征的比较度量。

    使用kNN分类器进行分类。训练一个分类器集合,其中每个分类器使用提取的3个击键波形中的一个进行训练。

在击键识别过程中,从所有分类器获得的决策将使用多数投票进行组合,以获得最终的结果。

4. 数据收集

如图所示,把键盘放在笔记本电脑和路由器之间来收集通道状态信息数据

收集10个用户的数据,包括单独的按键和句子。对每个用户收集超过1480个样本。并且要求用户一次键入一个键,同时保持击键之间的间隔大约为一秒。

三、实验结果

1. 对于单词的测试

    在第一个实验中,测试了37个键,包括字母、数字和空格键。实验结果表明,所有用户交叉验证准确率达到了10倍,平均为83%。在图中,x轴表示用户ID, y轴表示两种不同情况下的准确率百分比。蓝色的条显示按键识别的准确性,红色的条显示只对字母键进行实验时的按键识别的准确性。我们注意到,在测试所有37个键的情况下,准确性略有下降。(按QWE行键时的运动相似性与按数字行键时的运动相似性)

    第二个实验研究了交叉验证过程中通过增加折叠数,将训练集的百分比从50%提高到90%的效果,从2增加到10。结果表明,所有折叠的交叉验证精度都保持在80%以上。

  

2. 对于句子的测试

    接下来测试了分类器对不同用户输入的句子的准确性。一个句子被所有用户输入了2次。每个键30个样本。在所有10个用户中,Wi-Key的平均准确率能够达到77%以上。但是,可以看到准确率有个体差别。

    第二个实验测试了用户10输入的5个句子的准确性。每个句子重复输入5次。可以观察到,该用户的平均击键识别准确率从80%提高到93%以上。

  

3. 总结

    击键提取算法在所有收集数据的用户中平均准确率达到97.5%。然而,算法经常会遗漏一些键,这种情况是由于:(1)输入行为的不一致;(2)当按下的键运动较小,比如f或j键,常直接位于手指下方。

四、优缺点

1. 要点

(1)分割CSI时间序列来识别识别击键的开始时间和结束时间。研究了不同按键的典型CSI波形的特征,并观察到不同按键的波形在CSI值变化率中显示出相似的上升和下降趋势。基于此,我们设计了一种击键提取算法,该算法利用所有发射-接收天线(TX-RX)对的CSI流,使用一个滑动窗口,通过连续匹配CSI时间序列的趋势与实验观察到的趋势来确定各个击键的近似起点和终点。

(2)提取明显的特征来生成37个键的分类模型。由于键盘上的按键紧密放置,因此常规特征无法使用,因为这些特征对于相邻的键来说几乎是一样的。为了解决这一挑战,将每个TX-RX天线对中每个键的CSI波形形状用作特征。 由于每个键的波形包含大量样本,因此我们对这些波形应用离散小波变换(DWT)技术以减少样本数,同时保持形状保留时间和频域信息不变。 我们将各个按键的DWT产生的波形用作其形状特征。

(3)比较任意两个键的形状。提取的不同击键的CSI波形的中点很少相互对齐,因为提取算法确定的起点和终点从不精确。此外,不同的击键波形的长度也不同,因为按下任意键的持续时间通常是不同的。因此,形状特征的中点和长度都不匹配。另一个问题是,同一键的不同击键波形的形状经常互不相同,这是因为在按下该键时手和手指的动作和运动方向略有不同。 因此,不能使用标准度量(如相关系数或欧氏距离)来比较两个形状特征。 为了解决这个挑战,我们使用动态时间规整(DTW)技术来量化两个形状特征之间的距离。 DTW可以找到两个不同长度的波形之间的最小距离对齐。

2. 局限性

(1)WiKey需要无干扰的环境,即在该环境中除了打字不应该发生其他主要运动。

(2)WiKey受到WiFi设备定位的影响,即需要对其重新进行训练以适应新的设置。

(3)WiKey支持相对较慢的打字速度,大约每分钟15个字。

(4)WiKey要求较高的CSI采样率,约2500个CSI采样/秒,以达到较高的精度。

(5)WiKey需要对每个键进行多次击键采样,以达到合理的识别精度。

五、总结思考

     这篇论文介绍了一种击键识别方案WiKey,它使用普通的WiFi设备来识别击键。证明了不同子载波的相关性可以用来去除CSI数据中的噪声成分。还提出了从CSI数据中提取击键波形的鲁棒算法。证明了CSI波形的形状是识别小的手势(如按键)非常有效的特征。最后的实验结果表明,在合理的打字速度下,WiKey可以达到90%以上的击键识别准确率。

未来可能的改进工作:

(1)发现提出自动更改系统参数的系统以适应环境变化对识别的影响

(2)增加训练样本的数量,足够多的样本数消除个体差异性以及同一个体的不同时间活动差异性

(3)高采样率可以提取更多的信息,解决敲击键盘间隔更短的问题

参考:论文PPT     论文分析博客:参考链接1    参考链接2

猜你喜欢

转载自blog.csdn.net/Sabrina_cc/article/details/106411471