一种基于WiFi信道状态信息和支持向量机的室内人数统计方法与流程

文档序号:14347768阅读:1659来源:国知局
一种基于WiFi信道状态信息和支持向量机的室内人数统计方法与流程

本发明涉及人数统计领域,尤其涉及一种基于wifi信道状态信息和支持向量机进行室内人数统计的方法。



背景技术:

室内人数对于很多应用来说是很重要的信息,例如,可以帮助商家确定进店顾客的数量并据此安排员工,可以监控公共场所人群密度并及时启动应急措施以确保安全,可以根据楼内人数进行自动空调调节以节约能源等。传统人数统计方法主要采用视频监控方法或者无线射频方法。视频监控方法目前已经获得广泛应用,但在弱光环境下或非视距情况下,摄像头无法良好工作,导致监控质量下降或者监控盲区,此外视频监控还存在较大隐私问题,不适用于私人空间。基于无线射频的监控近年来也获得较多关注,如采用无线传感器网络、红外线、超宽带等,但这些方法都需要安装部署专有设备,成本高,普适性差。

基于wifi的无线网络已获得广泛部署,其在提供无线数据传输服务的同时,可以用来进行监控和人数统计。该方法不需要增加额外硬件设施,也不需要人员携带电子设备,仅利用现有的wifi无线网络就能完成人数统计,成本低,普适性强,因此是极具市场前景和发展潜力的解决方案。由于人体会对周围的wifi信号产生反射、散射、衍射、衰减等效果,通过监测wifi信号的变化就可以确定室内人数。目前使用最广泛的用于测量wifi信号变化的能量特性是接收信号强度指示(receivedsignalstrengthindicator,rssi),可以用来进行人数统计。但是由于室内环境的复杂性,wifi信号存在多径效应,即信号会通过多条路径从发送端传播到接收端,且每条路径具有不同延迟、衰减和相位移动,导致rssi是多条路径信号的叠加,从而导致rssi不稳定,用于人数统计时精度较差。



技术实现要素:

本发明的目的是针对上述存在的问题,提出一种基于wifi信道状态信息(channelstateinformation,csi)和支持向量机(supportvectormachines,svm)的精确的室内人数统计方法。

本发明为解决上述技术问题所采用的技术方案是,一种基于wifi信道状态信息和支持向量机的室内人数统计方法,包括以下步骤:

1)室内人数统计模型训练步骤:

1-1)采集不同人数场景下的csi原始数据样本,所述样本包括发送天线个数、接收天线个数、信号发送频率、信道状态信息csi矩阵,并记录当前人数;

1-2)移除原始数据样本中csi矩阵的第一维度,将产生的二维矩阵从线性(电平)空间转换到对数(功率)空间,将矩阵中每一个复数转换成幅值;

1-3)应用基于密度的聚类算法(density-basedspatialclusteringofapplicationswithnoise,dbscan)对由每一对发送和接收天线组成的信道中的csi数据进行聚类,通过删除离群点得到去噪后的csi数据;

1-4)使用膨胀矩阵算法对去噪后的csi数据进行特征提取,获得每条子载波的非零率,作为csi特征指纹样本。该膨胀矩阵算法包含以下步骤:将每条子载波的幅值序列转换为一个二维矩阵;膨胀该二维矩阵;计算膨胀后的二维矩阵中的非零率;对所有信道中的所有子载波进行上述操作,得到非零率向量作为csi特征指纹样本;

1-5)基于csi特征指纹样本,采用v-svr(supportvectorregression)算法训练得到初步svm回归模型,表达人数和csi特征指纹样本之间的依赖关系;

1-6)对初步svm回归模型进行参数寻优,采用网格搜索和交叉验证方法尝试比较不同参数组合,得到最优模型参数及最优svm回归模型。

2)室内人数统计步骤:

2-1)采集未知人数场景下的csi原始数据样本;

2-2)按照步骤1-2)、1-3)和1-4)对csi原始数据样本进行处理和特征提取,获取当前csi特征样本指纹;

2-2)通过步骤1-5)和1-6)建立的svm回归模型,根据当前csi特征样本指纹来确定当前场景中的人数。

由于室内丰富的多径效应,使得基于wifirssi的人数统计不能提供足够的精确性。信道状态信息csi是一种更加精细的物理层信息,描述信道中各子载波的幅值和相位,能够充分利用室内多径效应,对环境变化更加灵敏。因此,本发明的基于csi的方法能够更加精确地进行人数统计。在获得csi数据后,本发明采用基于密度的聚类算法dbscan对csi数据进行去噪,然后使用膨胀矩阵算法获得每条子载波的非零率作为csi特征指纹样本,从而强化信号幅值的大变化对于人数统计的影响,而降低由于环境噪声引起的信号幅值的小变化的影响。本发明借助于svm回归算法,能够在不考虑复杂室内环境的情况下,获得人数和csi特征指纹样本之间精确的非线性依赖关系模型,从而达到精确统计室内人数的目标。

本发明的有益效果是:能够基于现有wifi无线网络进行精确的人数统计,成本低,普适性强,无隐私问题,室内人员可随意走动、站或坐。本发明能够达到平均误差人数0.67的精度,明显高于基于rssi的人数统计精度。

附图说明

图1为基于csi和svm的室内人数统计方法的流程图;

图2为基于csi和svm的室内人数统计方法的环境部署图。

具体实施方式

一种基于wifi信道状态信息csi和支持向量机svm的室内人数统计方法,流程如图1所示,具体实施步骤如下:

1)环境部署:基于csi的人数统计要求室内覆盖wifi信号,设备为一台接入点(accesspoint,ap)和一台监测点(monitoringpoint,mp),均配置intelwirelesslink5300agn(iwl5300)无线网卡,该网卡具有3根天线。ap端发送数据,mp端接收数据,布局方式如图2所示。

2)csi原始数据采集:训练阶段,将室内场景分别设为w个人,w=0,1,2,3,4,5…,让他们在室内中随机走动。对于不同人数的场景,接收端mp均以20hz的采样率采集来自发送端ap的csi原始数据,分别采集5分钟,然后从采集到的6000个csi数据样本中选取1000个作为训练样本,来规避因为环境干扰导致的信号不稳定问题。样本数据中包括:发送天线个数ntx,接收天线个数nrx,数据包发送频率f,原始csi矩阵h。原始csi矩阵h是一个ntx×nrx×ns的三维矩阵,第三维是信道中的ns条子载波信息:h=|h|e,其中|h|是子载波幅值,θ是子载波相位。

3)csi数据生成:针对采集的csi原始数据,首先移除原始csi矩阵h中的第一个维度,获得ntx个nrx×ns的二维矩阵,然后将二维矩阵从线性(电平)空间转换成对数(功率)空间,并将矩阵中每一个复数转换成幅值,产生csi数据。

4)csi数据去噪:由于csi数据中存在一定噪声,即同一对发送和接收天线的数据中会存在一些偏离集群的数据,因此,为了提高人数统计的精度,本发明采用基于密度的聚类算法dbscan来去除csi数据中的噪声。由于每一对发送和接收天线组成一条信道,因此一对ap-mp中包含ntx×nrx条信道;每条信道包含ns条子载波,因此一对ap-mp中包含ntx×nrx×ns条子载波。按照信道将csi数据集分成ntx×nrx个子数据集,每个子数据集包含ns条子载波信息。令子数据集中每条子载波的序号为index,幅值为value,在每个子数据集上应用dbscan算法进行聚类,dbscan的两个参数分别是领域半径e和最小包含点数minopt。去噪步骤如下:

a)根据经验选取合适的参数e和minopt;

b)将子数据集中所有对象标记为未访问状态,即“unvisited”;

c)随机选择一个未访问对象o(undex,value),标记为“visited”;检查o的邻域是否至少包含minopt个对象:如果不是,则标记o为离群点;如果是,则标记o邻域内所有点为“visited”,并为o创建一个新的簇r和一个候选集合q,然后把o的邻域中所有对象放在候选集合q中;

d)迭代地把候选集合q中不属于其它簇的对象添加到簇r中,直到q为空,簇r完成;

e)转到步骤c)处理下一个对象;

f)将标记成离群点的对象对应的样本数据从训练数据集中删除,达到数据去噪的目的。

5)csi特征提取:

a)选取一个子载波i,创建一个m×p的矩阵m0并初始化为零矩阵,按照下式计算k:

其中h代表csi数据矩阵,p代表数据包的个数,m代表矩阵分辨率,hij代表第j个数据包的第i个子载波的幅值,hmax和hmin分别代表csi数据中幅值的最大值和最小值。将矩阵m0中第k行第j列的值设为“1”,这样每列只有1个“1”,其余都是“0”。当信号幅值发生较大变化时,相邻行非零值所在的列距离就会增大;

b)将矩阵m0中值为“1”的元素的周围元素也设为“1”,并以膨胀率d进行膨胀操作,生成膨胀矩阵mc。当信号幅值发生较大变化时,膨胀后的重叠区域就会较少,使得mc中有更多的“1”存在;

c)计算膨胀矩阵mc中“1”的个数,然后计算膨胀矩阵中的非零率,记为pi;

d)重复步骤a)、b)、c),迭代计算所有子载波的非零率,得到向量其中ns为所有子载波的数量。

e)向量作为特征提取后的csi特征指纹样本,进行模型训练和人数统计。

6)svm回归模型训练:使用步骤5)获得的csi特征指纹样本和对应的人数来训练svm回归模型,以建立csi特征指纹样本和人数之间的依赖关系。样本格式为:

其中,ti为样本i的特征指纹,ci为指纹样本i所对应的人数,m为样本个数,为pij样本i中子载波j的非零率,n为子载波数量。对svm回归模型的训练就是解决如下问题:

其中,w和b代表依赖关系的方向和位置,v∈(0,1]是一个参数,∈表示精度,c为常量,ξi,是一组松弛变量,ti代表一个csi特征指纹样本,ci是该指纹的对应人数,m是样本

数量。不断调整参数进行回归模型训练,直到得到最优参数,确定最优回归模型:

其中,αi与为拉格朗日乘子,k(ti,,t)是核函数,采用径向基函数(radicalbasisfunction,rbf)。

7)人数统计:实际统计人数时,算法根据实时采集的csi原始数据经过去噪和特征提取后,通过训练得到的svm回归模型确定人数,包括如下步骤:

a)按照步骤2)的方式采集csi原始数据;

b)按照步骤3)的方式生成csi数据;

c)按照步骤4)的方式对csi数据进行去噪;

d)按照步骤5)的方式对csi数据进行特征提取;

e)根据svm回归模型和当前csi特征指纹样本,确定实时人数。

实施例的识别精度如下表:

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1