一种基于被动式WiFi感知的大规模人群计数方法

文档序号:32442416发布日期:2022-12-06 22:34阅读:264来源:国知局
一种基于被动式WiFi感知的大规模人群计数方法
一种基于被动式wifi感知的大规模人群计数方法
技术领域
1.本发明涉及智能监控技术领域,更具体的说是涉及一种基于被动式wifi感知的大规模人群计数方法。


背景技术:

2.目前,现有基于计算机视觉的人群计数方法具有部署成本高、计算复杂度高、存在视野盲区和遮挡、受限于光照条件等缺点,且由于跨摄像头协同处理困难导致难以覆盖大规模监测区域。
3.其次,现有基于射频信号分析的人群计数方法依赖于高质量的采集信号,故需在监控场景中部署大量基础设施以达到可接受的计数精度,使得部署成本高昂。同时,由于细粒度的射频信号受环境影响波动较大,导致现有方法仅应用于固定的室内场景以进行小规模人数估计。
4.再次,现有基于被动式wifi感知的人群计数方法基于低成本、大覆盖、非入侵的wifi嗅探器(wifi接入点),尽管易于实现,但是受限于不规则感知边界和简单线性映射能力有限等缺陷,使得该类方法估计精度普遍较低。
5.因此,如何提供一种基于被动式wifi感知的大规模人群计数方法是本领域技术人员亟需解决的问题。


技术实现要素:

6.有鉴于此,本发明提供了一种基于被动式wifi感知的大规模人群计数方法,能够适用于大规模场景的人群计数,并且显著提高了人群计数精度。
7.为了实现上述目的,本发明采用如下技术方案:
8.一种基于被动式wifi感知的大规模人群计数方法,包括以下步骤:
9.设定监测区域并进行wifi嗅探,获取嗅探感知数据;
10.通过滑动窗口机制进行滑动窗口采样,对每个滑动窗口内的嗅探感知数据进行wifi指纹定位,得到所述监测区域内的指纹定位信息;
11.将多个窗口下的所述定位信息构建为对应的多个wifi时空信息矩阵,并将所有所述wifi时空信息矩阵堆叠为wifi时空信息矩阵序列;
12.对所述wifi时空信息矩阵序列进行有监督学习并进行人数预测,得到所述监测区域内的人数。
13.进一步的,设定监测区域并进行wifi嗅探,步骤包括:
14.在所述监测区域内均匀设置至少3个不共线的wifi嗅探感知点;
15.基于每个所述wifi嗅探感知点,进行嗅探,其中,嗅探范围覆盖所述监测区域。
16.进一步的,所述wifi指纹定位,步骤包括:
17.对单个滑动窗口内的所述嗅探感知数据进行预处理,到检测目标的指纹向量;
18.通过预先训练好的knn分类器对所述指纹向量进行区域识别并保留所述监测区域
内指纹向量;
19.根据所述指纹向量进行标准化处理,并通过knn定位算法对每个所述指纹向量进行定位,得到每个检测目标所对应的定位信息。
20.进一步的,在进行wifi指纹定位之前,通过离线调查生成第一模型训练数据,并对所述knn分类器进行训练:
21.所述离线调查步骤包括:
22.建立二维笛卡尔坐标系,基于所述二维笛卡尔坐标系在所述监测区域内外分别设置多个参考位置点;在每个参位置点设置至少1台参考设备持续发送wifi探测请求帧;
23.分别对所述监测区域内外的每个参考位置点进行wifi嗅探,根据嗅探到的所述wifi探测请求帧信号强度,得到所述监测区域内、外各个参考位置点的参考向量;将所述参考向量与其对应的区域内外标记拼接,生成第一模型训练数据;
24.通过所述第一模型训练数据对knn分类器进行训练。
25.进一步的,所述预处理步骤包括:
26.通过所述嗅探感知数据的时间戳过滤出对应滑动窗口内的嗅探感知数据;
27.清理所述嗅探感知数据中具有缺失值和非探测请求帧的wifi帧,并利用mac地址过滤掉所述监测区域内基础设备的wifi探测请求帧;
28.基于清理后的所述嗅探感知数据,求取检测目标在每个嗅探感知点所嗅探到的wifi探测请求帧信号强度的均值,构建所述检测目标对应的所述指纹向量。
29.进一步的,根据所述指纹向量进行标准化处理,并通过knn定位算法对每个所述区域内的指纹向量进行定位,得到每个检测目标所对应的定位信息,步骤包括:
30.通过所述离线调查,获取指纹库数据:将所述监测区域内各个参考位置点的参考向量与对应参考位置点的坐标拼接后得到指纹库数据;
31.对所述指纹向量和所述指纹库数据进行标准化处理,得到标准化指纹集合和标准化指纹库;
32.计算所述标准化指纹集合中每个检测目标指纹与标准化指纹库中各个参考目标指纹的欧氏距离,根据所述欧氏距离自小到大选取至少一个参考点指纹,并计算选取的所述参考点指纹的物理坐标均值,得到每个检测目标的指纹定位信息。
33.进一步的,将多个窗口下的所述定位信息构建为对应的多个wifi时空信息矩阵,并将所有所述wifi时空信息矩阵堆叠为wifi时空信息矩阵序列,步骤包括:
34.初始化维度为m
×
n的一个时间窗口内的wifi时空信息矩阵;
35.将尺寸为h
×
w的嗅探范围区域划分为m
×
n个等尺寸网格;
36.遍历单个时间窗口下的所述指纹定位信息和所有网格根据每个检测目标的所述指纹定位信息,更新其定位网格对应的所述wifi时空信息矩阵元素;
37.若且则
38.对连续l个时间窗口的定位集合l
δt
进行遍历,对应得到l个连续的wifi时空信息矩阵;
39.将所述wifi时空信息矩阵堆叠,得到wifi时空信息矩阵序列将所述wifi时空信息矩阵堆叠,得到wifi时空信息矩阵序列
40.进一步的,对所述wifi时空信息矩阵序列进行有监督学习并进行人数预测,步骤
包括:
41.构建rnn深度学习模型,所述rnn深度学习模型包括4个隐藏层,由输入到输出的每个所述隐藏层分别由512、256、128、64个rnn单元构成,每层的所述rnn单元之间使用全连接权重相互连接,每个所述rnn单元使用relu作为非线性激活函数;
42.构建第二模型训练数据集;
43.通过所述第二模型训练数据集采用adam优化算法和mse损失函数对预先构建的所述rnn深度学习模型以学习率lr=2e-5进行迭代训练;
44.将所述wifi时空信息矩阵序列按行拉平构成多个长度为网格划分细粒度的向量序列,输入至训练好的所述rnn深度学习模型,得到对应时刻监测区域的人数。
45.进一步的,构建第二模型训练数据集,步骤包括:
46.将监测区域划分为多个被单独图像采集装置覆盖的子区域;
47.通过预先部署的图像采集装置对每个所述子区域进行图像采集;
48.在进行图像采集的同时,通过wifi嗅探、预处理、wifi指纹定位、wifi时空信息矩阵的构建及wifi时空信息矩阵序列的堆叠得到第二模型训练数据集;
49.图像采集一定时长后,根据所述图像采集结果,按指定帧率,对采集的每帧图像中的每个子区域进行人数标注,求和后得到监测区域总人数标签;将所述总人数标签与对应生成的所述wifi时空信息序列关联后,构成第二模型训练数据集。
50.进一步的,所述rnn深度学习模型的传播过程为:
[0051][0052][0053]
其中,和分别为第i层、第t时间步的隐状态向量和输入向量,b(i)为第i层的偏置,u、v、w分别为对应权重参数向量;
[0054]
将所述rnn深度学习模型输出的区域人数值序列最后值作为当前时刻监测区域的人数估计值。
[0055]
本发明的有意思效果:
[0056]
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于被动式wifi感知的大规模人群计数方法,通过wifi时空信息矩阵序列对复杂的wifi感知数据进行统一表示,在有效保留wifi感知数据所表征的场景人数分布时空相关性的基础上,也便于使用深度学习模型进一步处理。其中,感知数据预处理、仅对分类于区域内的指纹进行定位以及指纹标准化技术的使用,可以过滤掉固定设备、区域外设备的影响,并达到较高的定位精度,确保了空间相关性的有效保留;使用较短时间窗口的序列化信息矩阵,避免了过长时间窗口数据导致的高计算量和破坏感知数据时间相关性的问题;使用深度学习模型rnn建立wifi时空信息矩阵序列到场景人数的映射,与传统方法仅使用简单线性模型实现感知设备数和场景人数的映射相比,本发明方法利用区域划分的方法可实现更细粒度的参数估计,同时利用rnn模型充分捕捉wifi时空信息矩阵序列中的时空相关性,从而得到更复杂和精准的映射关系;本发明已在真实的校园路网环境中经过实践的检验,与传统简单线性映射方法相比,可将大规模人群计数的绝对误差显著降低约40%,并有效降低相对误差至15%以下,即估计精度达85%以上。
附图说明
[0057]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0058]
图1附图为本发明提供的一种基于被动式wifi感知的大规模人群技术方法示意图;
[0059]
图2附图为本发明中rnn深度学习模型网络结构示意图。
具体实施方式
[0060]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0061]
如图1,本发明实施例公开了一种基于被动式wifi感知的大规模人群计数方法,包括以下步骤:
[0062]
s1:设定监测区域并进行wifi嗅探,获取嗅探感知数据;
[0063]
在一种实施例中,
[0064]
s11:在监测区域内均匀设置至少3个不共线wifi嗅探感知点;
[0065]
s12:基于每个wifi嗅探感知点,进行嗅探,获取监测区域内的感知数据,其中,嗅探范围覆盖监测区域。
[0066]
具体步骤为:将若干wifi嗅探器均匀部署于监测区域以满足wifi定位的需求,对于不规则监测区域采用近似均匀部署即可。通常部署量为约500m2面积/个wifi嗅探器,极端情况下至少保证整个区域部署3个wifi嗅探器并且3个wifi嗅探器不处于同一水平线;通过wifi嗅探器能够获取监测区域及附近行人所携带具有wifi功能智能设备的感知数据。
[0067]
s2:通过滑动窗口机制进行滑动窗口采样,对每个滑动窗口内的嗅探感知数据进行wifi指纹定位,得到监测区域内的指纹定位信息;
[0068]
在一种实施例中,wifi指纹定位,步骤包括:
[0069]
s21:对单个滑动窗口内的嗅探感知数据进行预处理,到检测目标的指纹向量;
[0070]
s22:通过预先训练好的knn(k-nearest neighbor)分类器对指纹向量进行区域识别并保留监测区域内指纹向量;
[0071]
s23:根据指纹向量进行标准化处理,并通过knn定位算法对每个指纹向量进行定位,得到每个检测目标所对应的定位信息。
[0072]
在一种实施例中,预处理步骤包括:
[0073]
s211:通过嗅探感知数据的时间戳过滤出对应滑动窗口内的嗅探感知数据;
[0074]
s212:清理时间窗口内感知数据中具有缺失值和类型不符的wifi帧,类型不符指除wifi探测请求帧以外的wifi帧,并结合场景先验知识,利用mac地址过滤掉场景基础设备的wifi探测请求帧;由于如今wifi技术的普遍使用,使得wifi嗅探器能够捕获到场景中几乎所有类型的wifi帧,例如(1)场景中存在的无线路由器(ap、热点)发出的beacon信标帧、
各种响应管理帧和控制帧、下行数据帧等;(2)场景中固定行人连接附近无线路由器(ap、热点)时发出的各种管理帧、控制帧、上行数据帧。而本发明的主要目的是监测场景中固定存在的行人及路过的行人的存在(估计人数),而这些行人所携带移动设备无论连接ap与否,只要打开wifi开关均会发出探测请求帧(甚至部分设备不打开wifi开关也会发出),因此需要根据感知数据的帧类型属性过滤掉非探测请求帧的wifi帧。
[0075]
s213:基于清理后的嗅探感知数据,求取检测目标在每个嗅探感知点所嗅探到的wifi探测请求帧信号强度的均值,构建检测目标对应的指纹向量。其中,检测目标为监测区域内每个唯一mac地址设备。
[0076]
在本实施例中,在进行wifi指纹定位之前,通过离线调查生成第一模型训练数据,并对knn分类器进行训练,步骤包括:
[0077]
s221:建立二维笛卡尔坐标系,基于二维笛卡尔坐标系在监测区域内外分别设置多个参考位置点;在每个参位置点设置至少1台参考设备持续发送wifi探测请求帧;如使用nd台参考设备选取n
in
个监测区域内参考点和n
out
个监测区域外参考点,对每个参考点使用至少1台参考设备持续采集1分钟。
[0078]
s222:分别对监测区域内外的每个参考位置点进行wifi嗅探,根据嗅探到的wifi探测请求帧信号强度,得到监测区域内、外各个参考位置点的参考向量;将参考向量与其对应的区域内外标记拼接,生成第一模型训练数据;具体步骤为:使用mac地址过滤出区域内位于每个参考点处所有参考设备的wifi探测请求帧;提取参考设备的wifi探测请求帧中所有的rss值,对每个参考点对应的所有rss值求取均值,得到m维指纹向量f,并拼接所处区域标记,区域内为1,区域外为0,得到若干(m+1)维向量,将这些向量组成集合作为区域内外分类器的训练数据,即第一模型训练数据dc。
[0079]
s223:通过第一模型训练数据对knn分类器进行训练。
[0080]
在另一实施例中,根据指纹向量进行标准化处理,并通过knn(k-nearest neighbor)定位算法对每个区域内的指纹向量进行定位,得到每个检测目标所对应的定位信息,步骤包括:
[0081]
s231:通过离线调查,获取指纹库数据:将监测区域内各个参考位置点的参考向量与对应参考位置点的坐标拼接后得到指纹库数据;
[0082]
s232:对指纹向量和指纹库数据进行标准化处理,得到标准化指纹集合和标准化指纹库;
[0083][0084]
其中,和分别为该指纹自身的均值和方差,处理后得到标准化指纹集合和标准化指纹库
[0085]
s233:计算标准化指纹集合中每个检测目标指纹与标准化指纹库中各个参考目标指纹的欧氏距离,根据欧氏距离自小到大选取至少一个参考点指纹,并计算选取的参考点指纹的物理坐标均值,得到每个检测目标的指纹定位信息。如使用knn定位算法计算标准化指纹集中各个指纹与标准化指纹库中各个参考点指纹的欧氏距离,然后选取k个欧氏距离最小的参考点指纹,并计算该k个参考点指纹的物理坐标均值,得到指纹定位信息。
[0086]
在另一实施例中,采用wknn(weighted knn)定位算法对每个指纹向量进行定位,
使用wknn定位算法计算标准化指纹集中各个指纹与标准化指纹库中各个参考点指纹的似然概率,然后选取k个似然概率最大的参考点指纹,并计算该k个参考点指纹的物理坐标加权均值,得到指纹定位信息。
[0087]
具体步骤为:
[0088]
通过离线调查,获取rss均值和标准差指纹库数据:将监测区域内各个参考位置点的均值和标准差指纹与对应参考位置点的坐标拼接后得到指纹库数据;
[0089]
对均值和标准差指纹和指纹库数据进行标准化处理,得到标准化指纹集合和标准化指纹库;
[0090]
计算标准化指纹集合中每个检测目标均值和标准差指纹与标准化指纹库中各个参考目标均值和标准差指纹的似然概率,根据似然概率自大到小选取至少一个参考点指纹,并以对应似然概率为权重计算选取的参考点指纹的物理坐标加权均值,得到每个检测目标的指纹定位信息。
[0091]
s3:将多个窗口下的定位信息构建为对应的多个wifi时空信息矩阵,并将所有wifi时空信息矩阵堆叠为wifi时空信息矩阵序列;
[0092]
在一种实施例中,步骤包括:
[0093]
s31:初始化维度为m
×
n的一个时间窗口内的wifi时空信息矩阵;
[0094][0095]
s32:将尺寸为h
×
w的覆盖监测区域的最小矩形划分为m
×
n个等尺寸网格,其中,每个网格对应wifi时空信息矩阵中的一个元素;
[0096]
s33:遍历单个时间窗口下的指纹定位信息结果集合和所有网格根据每个检测目标的所述指纹定位信息,更新其定位网格对应的所述wifi时空信息矩阵元素;计数的逻辑条件为:若且则
[0097]
s34:对连续l个时间窗口的定位集合l
δt
重复执行s31-s33,得到l个连续的wifi时空信息矩阵,将这些信息矩阵堆叠得到wifi时空信息矩阵序列空信息矩阵,将这些信息矩阵堆叠得到wifi时空信息矩阵序列
[0098]
其中,已知参数:监测区域尺寸h
×
w,监测区域划分粒度m
×
n,部署的wifi嗅探器个数m,指纹库参考点个数n
in
和n
out
及对应物理坐标,滑动时间窗口长度δt及滑动步长δ,knn定位算法的k值,wifi时空信息矩阵序列长度l;
[0099]
s4:对wifi时空信息矩阵序列进行有监督学习并进行人数预测,得到监测区域内的人数;
[0100]
如图2,在一种实施例中,步骤包括:
[0101]
s41:构建rnn(循环神经网络)深度学习模型,该模型包括4个隐藏层,每层分别由512、256、128、64个rnn单元构成,每层之间的rnn单元使用全连接权重相互连接,每个rnn单元使用relu作为非线性激活函数;
[0102]
其中,模型的整个运行过程为:输入整个wifi时空信息矩阵序列后,进入第1隐藏层,第1隐藏层中对序列第1个时间步的数据进行隐状态向量的计算,得到的隐状态向量会进入第2个时间步计算;h0为初始隐状态(通常初始化为全0向量),h1为经过第1次时间步更新后的隐状态向量(前一隐状态和当前输入共同作用的结果);同理直到第l个时间步计算
完成,这是一个横向(时间方向)的计算;接着每个时间步更新后的数据通过左边第二个公式输出第1层计算后l个属性序列(即512
·
l维属性),送入第2层处理;第2~4层进行相似的横向(时间方向)计算;综上,最后一层输出的第l时间步输出值是整个模型在纵向(层数方向)和横向(时间方向)对整个输入wifi时空信息矩阵序列计算后得到的综合结果;其中,每一层的横向(时间方向)传播计算体现出其他窗口参与模型计算的意义,同时纵向传播将会把这一意义继续向下传(同时每层还有自己的横向传播)直到最后一层输出值此外,纵向每层之间的全连接体现出空间相关性的利用,横向时间步的传播体现出时间相关性的利用。
[0103]
s42:构建第二模型训练数据集;
[0104]
s43:基于第二模型训练数据集,采用adam优化算法和mse损失函数对rnn深度学习模型以学习率lr=2e-5进行1000次迭代训练;
[0105]
s44:将wifi信息矩阵序列中每个wifi信息矩阵按行拉平构成l个长度为m
·
n的向量序列,将全部1个拉平后的向量输入至训练好的rnn深度学习模型,得到对应时刻监测区域的人数。
[0106]
在本实施例中,构建第二模型训练数据集,步骤包括:
[0107]
s421:将监测区域划分为少量可分别被单独图像采集装置覆盖的子区域;
[0108]
s422:通过预先部署的图像采集装置对每个子区域进行图像采集;
[0109]
s423:采集一定时长后,按指定帧率,对每个子区域进行人数标注,求和后得到监测区域总人数标签,将所述总人数标签与对应生成的第二模型wifi时空信息序列关联后,构成第二模型训练数据集;其中,第二模型wifi时空信息序列是通过与图像采集同步进行的s1-s3得到的。
[0110]
多个图像采集装置(即摄像头或智能手机拍摄的视频)在使用前经过严格的时间同步,而用于wifi指纹定位的感知数据本身也是经过时间同步、同时包含嗅探时刻的时间戳的。因此,以一定采样率,即视频的帧率和感知数据时间窗口的步长,来获取每个采样时刻的总人数标签与对应的第二模型wifi时空信息矩阵序列(当前时刻之前时刻的1个时间窗口长度感知数据构建的一个矩阵,当前时刻时间窗口及之前滑动窗口步长l-1个时间窗口的l个矩阵构成的长度为l的序列)。关联指的是将每个采样时刻的总人数标签(标量表示)与第二模型wifi时空信息矩阵序列(三维数组表示,其中一维为序列时间维、另两维为二维空间划分后的网格局部计数)进行对应关联。
[0111]
在本实施例中,rnn深度学习模型的传播过程为:
[0112][0113][0114]
其中,和分别为第i层、第t时间步的输入的隐状态和特征,b(i)为第i层的偏置,u、v、w分别为对应权重参数向量;当i=0时,为输入的原始wifi时空信息矩阵序列第t时间步的wifi时空信息矩阵;
[0115]
将第4隐藏层层输出的区域人数值序列最后值作为当前时刻监测区域人数的估计值。通过mse损失函数计算该估计值与对应真实值(总人数标签)之间的损失,使用adam
优化算法根据该损失计算梯度并更新模型参数,如此迭代训练直至达到最大训练次数、完成模型的训练。
[0116]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0117]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1