
一种基于csi的室内人员行为检测方法.doc
15页一种基于 CSI 的室内人员行为检测方法 党小超 黄亚宁 郝占军 司雄 西北师范大学计算机科学与工程学院 甘肃省物联网工程研究中心 摘 要: 针对传统室内人员行为检测方法的检测准确率低, 稳定性不高的问题, 本文提出了一种基于信道状态信息 (Channel State Information, CSI) 的室内人员行为检测方法该方法首先采集 CSI 原始数据包, 使用卡尔曼滤波 (Kalman) 算法对原始的 CSI 数据进行过滤, 对过滤后的数据再使用支持向量机 (Support Vector Machine, SVM) 进行分类处理, 建立指纹库;其次, 利用粒子群算法 (Particle Swarm Optimization, PSO) 对 SVM 中的参数进行修正;最后, 采用SVM 将在真实环境内实时采集到的数据进行处理, 并将真实环境下采集的实时数据与指纹库的数据进行匹配, 从而达到检测人员行为的效果实验结果表明, 将 SVM 应用于离线阶段的特征提取, 可以更精细的识别室内人员的动作行为, 且稳定性更高关键词: 行为检测; 信道状态信息; 支持向量机; 粒子群算法; 卡尔曼滤波; 作者简介:党小超 (1963-) , 男, 硕士, 教授, 硕士生导师, 主要研究方向为物联网、传感器网络;作者简介:黄亚宁 (1994-) , 女, 硕士研究生, 主要研究方向为无线传感器网络;作者简介:郝占军 (1979-) , 通讯作者, 男, 硕士, 副教授, 硕士生导师, 主要研究方向为位置服务、无线传感器网络;E-mail:zhanjunhao@作者简介:司雄 (1993-) , 男, 硕士研究生, 主要研究方向为无线传感器网络。
基金:国家自然科学基金 (61762079, 61363059, 61662070) An Indoor Personnel Behavior Detection Method Based on Channel State InformationDANG Xiao-chao HUANG Ya-ning HAO Zhan-jun SI Xiong College of Computer Science and Engineering, Northwest Normal University; Abstract: Aim at the problem of low detection accuracy and low stability of traditional indoor personnel behaviordetection method, this paper propose an indoor personnel behavior detection method based on channel state information.Firstly, the original data packets of channel state information (CSI) are collected, and the original CSI data is filtered by using the Kalman filter algorithm. The filtered data is classified by SVM and the fingerprint database is established. Secondly, (Particle Swarm Optimization PSO) is used to correct the parameters in SVM. Finally, SVM will be used to process the data collected in real time in real environment, and the real-time data collected in real environment will be matched with the data of fingerprint database to achieve the purpose of detecting personnel behavior. The experimental results show that the SVM can be applied to the feature extraction of the offline stage, which can more accurately identify the action behavior of the indoor personnel and the higher stability.Keyword: Behavior detection Channel State Information; Support Vector Machine; Particle Swarm Optimization; Kalman filter; 0 概述随着无线传感器网络 WSNs (Wireless Sensor Networks) 的不断进步与发展, 人们研究的眼光已经不仅仅局限于传统的室内定位与位置感知。
目前, 多个领域都开始利用无线电进行位置感知例如, 典型的基于 UWB (Ultra Wideband) 的雷达系统[1], 而目前比较新颖的基于商用 Wi-Fi 设备的室内定位技术, 在各个方面都有较好的发展优势如室内入侵检测、校园安全、商场人员检测、病人监护、家中老人, 小孩的实时检测等多个领域中[2]在传统的室内定位技术中, 对于位置服务与环境感知, 主要是依据 RSSI (Received Signal Strength Indication) 技术[3]但从这些技术的实验结果分析中发现, 其定位精度不够高, 主要原因是 RSSI 的稳定性较低、其值会受时间影响相比 RSSI, CSI 在时间分辨率、频率分辨率、稳定性等方面都具有明显的优势[4]文献[5]中王等人利用 CSI, 构建了基于 CSI 模型的低成本高精度被动式目标定位方法 LIFS, 将 CSI 的特点有效的结合在了目标定位方面, 但未考虑检测区域与检测率的关系文献[6]中将 CSI 中的相位信息应用在通过人员说话时口腔的运动, 很好的达到更细粒度的定位的效果, 但是相位信息不易获取, 并且要利用专用设备 USPR, 稳定性和实用性不高。
文献[7]中 FIMD 系统通过利用 CSI 的稳定性, 在静态环境下实现了更细粒度的人员检测, 但未达到高检测率, 并且会受实验环境的改变而影响整体性能文献[8]中的 BFP 系统利用 CSI 进行行为无关移动检测, 整体性能较好, 但其算法的整体效率不高文献[9]中将 SVM 应用在基于 RSSI 的室内人员定位上, 而基于 RSSI 的室内人员检测精度偏低以上文献中均很好的利用了 CSI 的特点, 但是部分是选择相位作为特征值, 而相位不易获取, 因此稳定性较差针对以上问题, 本文提出了一种基于 CSI 的室内人员行为检测方法, 即 Wi-SK首先采集 CSI 数据, 利用振幅信息作为特征值, 选择 Kalman 滤波算法对原始的 CSI 数据进行过滤, 剔除异常值, 接着使用 SVM 对滤波后的数据进行分类处理, 然后使用 PSO 对 SVM 中的参数进行修正, 再建立指纹库;最后, 在真实环境中的检测区域内实时采集数据, 并利用 SVM 处理实时提取的特征值, 再将在真实环境下采集的实时数据与指纹库的数据进行匹配, 从而进行人员行为的检测在本文提出的人员行为检测方法中将 Kalman 算法应用在 SVM 中, 通过Kalman 算法提前处理特征值, 降低了复杂度, 此外, 使用 PSO 算法优化 SVM 算法中的参数, 提高了算法的精确率。
根据实验结果显示, 较传统 SVM 算法, 此方法在检测精度和整体效率方面很大的提高1 相关理论1.1 信道状态信息随着无线网络的普及和正交频分复用 (Orthogonal Frequency Division Multiplexing, OFDM) 技术的进步, 已经改变了传统格局在 802.11/g/n 标准下, 通道响应可以从商用 Wi-Fi 设备中提取出来 CSI, 它揭示了一个通道测量描绘每一副载波的振幅和相位[10]由于 RSSI 不能逐一区分多条信号传播路径, 为了更好地表示多径传播, 无线信道通常用信道脉冲响应 (Channel Impulse Response, CIR) 建模[11]性时间不变的情况下, CIR 可表示为:其中, a i、θ i和 τ i分别表示第 i 条路径的振幅衰减、相位偏移和时间延迟N 表示传播路径的总数, δ (τ) 是狄拉克脉冲函数由于多径传播过程中会造成频率选择性衰落, 为更好地刻画多径传播, 可选择信道频率响应 CFR (Channel Frequency Response) , CFR 是 CIR 的傅里叶变换[12]CIR 和 CFR描绘小规模的多径效应并且广泛用于通道测量。
通过 Wi-Fi 设备上可以以 CSI的形式获取 CFR 的一个样本[13], 即利用兼容 IEEE 802.11a/g/n 的无线网卡就可从每个接收数据包中获取一组 CSI, 每组 CSI 代表一个 OFDM 子载波的幅度和相位, 可以表示为:上式中, H (k) 为第 k 个子载波的 CSI, H (k) 和 j∠H (k) 表示第 k 个子载波的振幅与相位由于振幅信息较稳定, 可提高算法的效率, 因此本次实验选用振幅作为特征值1.2 卡尔曼滤波 (Kalman) 通过提取 1.1 节中所述的振幅数据后, 利用 Kalman 算法将异常值剔除, 这使我们得到一组已经处理过的数据, 为下一步 SVM 分类处理做好准备其主要步骤如下;Step1:设 X k为 k 时刻的状态向量, 将系统向量转换为线性方程的形式, 那么成为系统的状态转移方程如下[14]:Fk是状态转移矩阵, B k是控制矩阵 U k是控制向量, W k是转移过程的噪声Step2:若 Z k为 k 时刻对系统的观测向量, 则观测方程为:H k是观测矩阵, V k是观测噪声Step3:噪声假设服从高斯分布, 即:Qk和 Rk分别为 Wk和 Vk的协方差矩阵。
Step4:利用 Kalman 估算 k 时刻系统的状态量[15]:1) 计算系统 k 时刻状态的预测值:2) 计算预测值的协方差矩阵:式中:P k-1为协方差矩阵3) 计算卡尔曼增益矩阵4) 根据观测值, 改正预测值得到系统状态量的最优估计:5) 更新协方差矩阵:已知初始状态量和协方差矩阵的前提下重复以上步骤, 最后得到任意时刻系统的最优值如图 1 所示方框标识的是被剔除的异常值图 1 原始 CSI 信号 下载原图图 2 滤波后的 CSI 信号 下载原图1.3 支持向量机 (SVM) 在机器学习中, SVM 是一种与相关的学习算法有关的监督学习模型, 它可以分析数据、识别模式、分类和回归分析[16]给定一组训练样本, 每个标记属于两个类, 一个 SVM 训练算法建立一个模型, 将一个新实例分配给一个类或其他类, 使它成为一个非概率的二元线性分类[17]此特征符合本文实验方法, 可以有效结合 CSI 数据, 从而降低算法时间复杂度, 提高整体性能在 1.2 节中算法描述的为滤波后的振幅信息, 因此在本节利用 SVM 将滤波后的数据进行分类, 其主要的步骤如下:初始化阶段, 将检测区域分为 20 个方格作为参考点, 并按升序进行编号, 然后, 测试人员将逐个遍历参考点, 在每个参考点都进行站立、跳跃、半蹲、坐下等的四种状态。
将此时所获得的 CSI。
