文献阅读(4)
来源:互联网 发布:阿里云首席科学家泉州 编辑:程序博客网 时间:2024/05/18 01:30
WiFinger: Talk to Your Smart Devices with Finger-grained Gesture (UbiComp 2016)
针对的问题:现有的无线识别方案(e.g. WiSee,Wi-Vi,WiHear,WiKey)要么利用专用设备实现粗粒度的人体运动识别,要么针对特定的场景,如检测说话和击键,没有针对手指粒度的识别系统;本文利用普适的无线WiFi信号实现数字手势的识别(only involve finger movements and no hand or body movements)以及数字文本的输入;
面临的挑战:如何检测和捕获用户手指移动引起的轻微信号变化;如何分析微小的无线反射信号并提取出有识别力的特征(distinguishable features);如何比较两个手指运动的形状特征;WiFinger的鲁棒性,robust against unpredictable variances,如不同用户的手势习惯不同(是指是否能克服user-specific么?)
解决方案:利用用户在执行不同的手指姿势时,由于移动模式的不同会产生独特的CSI时间序列,从而进行手指姿势的识别(数字1-9);提出一个新颖的载波聚合方案,从而生成独特的手势识别特征;
实现细节:
- 信号预处理
- Outlier removal:Hampel identifier (幅度值的单位是什么,为什么这么大,500!是因为在5GHz频率的原因么?)
- Low-pass filtering:Butterworth低通滤波(截止频率为60Hz,采样率
Fs=2000pkts/s ),消除带外干扰 - Weight moving average:由于低通滤波不能完全消除噪声,需要进一步进行滤波,采用加权移动平均
hti=h′ti=1m+(m−1)+⋯+1⋅[m⋅hti+(m−1)⋅hti−1+⋅+hti−m+1]
- 手势提取:利用CSI信号的上升沿、下降沿和暂停(rising,falling,pausing)检测手指活动,并利用不同的变化特征进行分类
- 手势检测: 利用sign indicator以及动态阈值确定手指活动的起始点(adaptive)
- 预处理:去直流(long-term averaging),以窗口大小500,滑动步长400,对CSI进行分段,每段(bin)为30*500的矩阵
M ; - 计算相关矩阵
MT∗M (生成的相关矩阵为500*500吧,不是30*30?); - 计算相关矩阵的特征向量和特征值,计算第二特征向量的一阶差分和第二主成分的差分,定义sign indicator为
E{h22}/δq2 ,用于判断是否存在手指运动; - 平滑:由于sign indicator中存在突变值,会导致误判,所以采用5点中值滤波进行平滑(5-point median filter);
- 预处理:去直流(long-term averaging),以窗口大小500,滑动步长400,对CSI进行分段,每段(bin)为30*500的矩阵
- 手指姿态文件提取(profile):选择sign indicator的第三个四分位值作为阈值进行手指检测(阈值的选取是用的中值滤波前的sign indicator值还是滤波后,图4a和4b中的阈值是用的哪一个?)在获得起始点后,同时还要再起始点前后加上保护间隔(
Tb ),再提取出finger profiles;
- 手势检测: 利用sign indicator以及动态阈值确定手指活动的起始点(adaptive)
- 特征提取:仅利用单个或多个子载波不能充分体现不同手指活动的差异性,手指活动的特征分布在所有30个子载波中;本文提出一种新的载波聚合方案:每6个子载波取平均,将得到的5波形相连形成合成波形,即得到特征向量
F=[f1∼6,f7∼12,f13∼18,f19∼24,f25∼30],fk∼l=1l−k−1∑li=kpi .(相连部分的值是如何处理的?没有跳变么?还是平移使相等?图7d-f是compressed?) - 分类:利用DWT对特征向量进行压缩,利用DTW计算手指活动特征间的距离度量
- 离散小波变换:采用Daubechies D4 coffecient wavelet family(提取了多少特征?);
- 动态时间规整:利用DTW计算不同手指特征的距离,并作为kNN分类器的输入;
- 系统实现和评价
- 硬件设置:接收器——one 3.2 GHz dual core CPU, 4GB ROM desktop, which is equipped with Intel 5300 NIC, and its operating system is Ubuntu 12.04;发送器——A TPLINK TLWDR4300 wireless router connecting to a laptop with a cable;发送器为单有向天线(one DB-Link directional antenna),工作在5.745 GHz (channel 149),接收器为3根全向天线;laptop同时作为monitor point且通过SSH远程控制接收器从而减少干扰;TX-RX相距50cm,且用户在视距路径进行手指运动;实验测量中MP利用PKTGEN工具通过路由器以2000
packets/s 进行发包; - 手势识别准确率:针对不同的手势和用户进行评价,且对训练集的大小进行比较,效果良好(疑问:图10的标注应该是数字吧,对图10中数字3和9的准确率较低的解释不太理解;数字文本输入应该是每个用户随机选择五个数字序列吧,文中写的three,图13中用户9好像少画一个;文中的kNN分类器都是user-specific吧,好像没有考虑训练集和测试集为不同用户时的检测情况)
- 硬件设置:接收器——one 3.2 GHz dual core CPU, 4GB ROM desktop, which is equipped with Intel 5300 NIC, and its operating system is Ubuntu 12.04;发送器——A TPLINK TLWDR4300 wireless router connecting to a laptop with a cable;发送器为单有向天线(one DB-Link directional antenna),工作在5.745 GHz (channel 149),接收器为3根全向天线;laptop同时作为monitor point且通过SSH远程控制接收器从而减少干扰;TX-RX相距50cm,且用户在视距路径进行手指运动;实验测量中MP利用PKTGEN工具通过路由器以2000
- 讨论和局限
- 不同TX-RX天线对:考虑到计算复杂度和准确率的均衡,仅采用单个流(文中没有分析采用不同CSI流的优劣,没有给出选择CSI流的标准)
- 多径反射的干扰(不同环境的影响):由于采用有向天线,WiFinger抗静态反射和边缘干扰(图14a和14b的特征相似?看不出来)
- 设备位置:大于1m时就基本观察不到变化特征了, 所以只能在相对近的距离进行检测
- 不同频带:2.4GHz VS 5GHz
- 2.4GHz下手指活动的持续时间和幅值都比5GHz小(period and amplitude)
- 2.4GHz下的CSI流高度相关,这是因为2.4GHz频带下的信道重叠率高
- 2.4GHz下由手指活动引起的CSI变化较弱,这是因为频率低引起的多普勒频移较小
- 采样率:500 pkts/s——80.95%,2000 pkts/s——93.38%,故需要较高采样率来实现手指活动识别;
- 基于上下文的纠错:利用上下文进行错误文本的检错,提高识别率
结论:本文提出的载波聚合方案很有意思,采用的其他处理和分析技术与mobicom 15的WiKey和CARM差不多,本文的方法也存在一定的局限性,如需要有向天线,高采样率,检测距离短等,个人感觉不如MobiHoc16的那篇WiFinger(可参考我写的文献阅读(2))
1 0
- 文献阅读(4)
- 深度学习文献阅读笔记(4)
- 文献阅读(1)
- 文献阅读(2)
- 文献阅读(3)
- 文献阅读(5)
- 文献阅读(6)
- 文献阅读(7)
- 文献阅读(8)
- 文献阅读(9)
- 文献阅读(10)
- 如何阅读文献(二)
- 如何阅读文献(三)
- 如何阅读文献(一)
- 如何阅读文献(二)
- 如何阅读文献(三)
- 文献阅读
- 文献阅读
- 译书《物联网实战指南》出版 | 新成就:翻译自己的英文简介
- Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) B. Batch Sort
- BNUOJ 3853 Blocks 矩阵快速幂
- 要处理此请求,必须在配置中注册 WebResource.axd 处理程序
- mac下使用rz和sz上传下载
- 文献阅读(4)
- (5)Deep Learning模型之:CNN卷积神经网络的全面详细概述之一
- codeforces723F st-Spanning Tree(连通性t)
- BUG1610
- Android应用性能优化之使用SparseArray替代HashMap
- android 热搜搜索提示补全功能
- io处理
- 同网段和不同网段设备通信原理详解 【转】
- python