一种WiFi定位方法及服务器及定位模型构建方法与流程

文档序号:12134781阅读:287来源:国知局
一种WiFi定位方法及服务器及定位模型构建方法与流程

本发明涉及无线局域网技术领域,尤其涉及一种WiFi定位方法及服务器及定位模型构建方法。



背景技术:

目前在世界范围内的定位技术主要有GPS定位、Wi-Fi定位、蓝牙定位等,GPS定位主要应用于室外,Wi-Fi、蓝牙定位既可用于室内,也可用于室外。由于Wi-Fi定位相对成熟,下面以Wi-Fi定位技术为背景来介绍本发明的具体内容。随着无线路由器的普及,目前大部分公共区域都已经实现十几个甚至几十个WiFi信号覆盖,而且这些路由器在向四周传播WiFi信号的同时,也不停的发送其物理地址与信号强度等信息,只要在其信号覆盖范围内,即使不知道Wi-Fi的密码,也同样能获得这些信息。

通用的WiFi室内定位技术大多是基于IEEE802.11b/g协议的无线局域网(WLAN)的信号强度定位技术。基于信号强度的定位技术基本原理是根据接收到的信号的强度推算信号接收器与信号源之间的距离,主要分成两类:三角形强度算法以及位置指纹识别算法。其中三角形强度算法精度低,难以满足室内定位要求;而普通指纹识别算法又存在接收设备不同而使得接收信号存在误差的缺陷。



技术实现要素:

为解决上述技术问题,本发明提供一种WiFi定位方法及服务器及定位模型构建方法,通过采集各个无线接入点对应的信号强度数据,实现基于深度神经网络的WiFi定位。

本发明提供的技术方案如下:

本发明公开了一种WiFi定位方法,所述方法包括步骤:S100、获取检测区域中各个无线接入点接收到待检测客户端发出的信号的的信号强度数据;S200、将步骤S100中获取的所述信号强度数据输入定位模型的输入数据层;S300、基于训练后的定位模型的网络层计算所述信号强度数据,在定位模型的输出层输出位置预测集,所述位置预测集包括预测位置标签与对应概率值,将所述位置预测集中概率值最大的所述预测位置标签所对应的位置确定为所述待检测客户端所在的位置。

进一步优选的,所述步骤S100之前还包括步骤:S000、预先训练深度神经网络,将训练后的深度神经网络作为所述定位模型。

进一步优选的,所述步骤S000进一步包括步骤:S001、对检测区域进行网格划分,得到多个平面网格,并为每个平面网格分配对应的用于训练的训练位置标签;S002、依次在所述预设训练位置坐标上设置训练终端,采集检测区域内各个无线接入点接收到的每个所述训练位置标签上训练终端发出的信号的信号强度数据;S003、分别将每个所述训练位置标签以及所述步骤S002中采集的各个无线接入点接收到的每个所述训练位置标签发出的信号的信号强度数据作为一组训练样本数据,生成训练数据集,并送入深度神经网络中;S004、依次将训练数据集中的每一组训练样本数据中的信号强度数据输入所述深度神经网络的数据输入层,经过所述深度神经网络输出相对应的训练结果;S005、依次将输出的训练结果与其对应的所述训练位置标签进行比较,根据比较结果对深度神经网络进行训练,将训练后的深度神经网络作为所述定位模型。

进一步优选的,所述步骤S005进一步包括步骤:计算所述比较结果与其对应的所述训练位置标签的误差,根据所述误差调整深度神经网络的参数,直到所述比较结果与其对应的所述预测位置标签的误差收敛于预设范围内。

本发明还公开了一种WiFi定位服务器,包括:数据采集模块,用于获取检测区域中各个无线接入点接收到待检测客户端发出的信号的的信号强度数据;定位模块,用于将获取的所述信号强度数据输入定位模型的输入数据层,基于训练后的定位模型的网络层计算所述信号强度数据,在定位模型的输出层输出位置预测集,所述位置预测集包括预测位置标签与对应概率值,将所述位置预测集中概率值最大的所述预测位置标签所对应的位置确定为所述待检测客户端所在的位置。

进一步优选的,还包括:训练模块,用于预先训练深度神经网络,将训练后的深度神经网络作为所述定位模型。

进一步优选的,所述训练模块进一步包括:网格划分子模块,用于对检测区域进行网格划分,得到多个平面网格,并为每个平面网格分配对应的用于训练的训练位置标签;训练数据集生成子模块,用于依次在所述预设训练位置坐标上设置训练终端,采集检测区域内各个无线接入点接收到的每个所述训练位置标签上训练终端发出的信号的信号强度数据,分别将每个所述训练位置标签以及采集的各个无线接入点接收到的每个所述训练位置标签发出的信号的信号强度数据作为一组训练样本数据,生成训练数据集,并送入深度神经网络中;训练预测子模块,用于依次将训练数据集中的每一组训练样本数据中的信号强度数据输入所述深度神经网络的数据输入层,经过所述深度神经网络输出相对应的训练结果,并依次将输出的训练结果与其对应的所述预测位置标签进行比较,根据比较结果对深度神经网络进行训练,将训练后的深度神经网络作为所述定位模型。

本发明还公开了一种定位模型构建方法,包括步骤:S10、对检测区域进行网格划分,得到多个平面网格,并为每个平面网格分配对应的用于训练的训练位置标签;S11、依次在所述预设训练位置坐标上设置训练终端,采集检测区域内各个无线接入点接收到的每个所述训练位置标签上训练终端发出的信号的信号强度数据;S12、分别将每个所述训练位置标签以及所述步骤S11中采集的各个无线接入点接收到的每个所述训练位置标签发出的信号的信号强度数据作为一组训练样本数据,生成训练数据集,并送入深度神经网络中;S13、依次将训练数据集中的每一组训练样本数据中的信号强度数据输入所述深度神经网络的数据输入层,经过所述深度神经网络输出相对应的训练结果;S14、依次将输出的训练结果与其对应的所述训练位置标签进行比较,根据比较结果对深度神经网络进行训练,将训练后的深度神经网络作为所述定位模型。

进一步优选的,所述步骤S14进一步包括步骤:计算所述比较结果与其对应的所述训练位置标签的误差,根据所述误差调整深度神经网络的参数,直到所述比较结果与其对应的所述预测位置标签的误差收敛于预设范围内。

与现有技术相比,本发明提供的一种基于WiFi网络的定位方法及服务器及定位模型构建方法,通过收集待测客户端的与各个无线接入点相对应的信号强度数据输入训练好的定位模型,即可获得待测客户端所在位置所属分类的概率,根据概率值确定待测客户端的位置,通过利用含有大量训练样本数据的训练数据集对深度神经网络训练,采用深度神经网络作为定位模型,不仅提升定位精度的提升,同时能够在不影响定位速度的情况下提升定位结果的准确性,成功将定位问题融入到大数据的背景中,并有效的利用大数据的优势来提高实时定位服务器的性能。

附图说明

下面将以明确易懂的方式,结合附图说明优选实施方式,对本发明予以进一步说明。

图1为本发明一种WiFi定位方法的主要步骤示意图;

图2为本发明一种WiFi定位服务器的主要组成示意图;

图3为本发明一种WiFi定位服务器的完整组成示意图;

图4为本发明一种定位模型构建方法的主要步骤示意图。

附图标记:

100、数据采集模块,200、定位模块,300、训练模块,301、网格划分子模块,302、训练数据集生成子模块,303、训练预测子模块。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

图1为本发明一种WiFi定位方法的主要步骤示意图,如图1所示,一种WiFi定位方法,所述方法包括步骤:S100、获取检测区域中各个无线接入点接收到待检测客户端发出的信号的的信号强度数据;S200、将步骤S100中获取的所述信号强度数据输入定位模型的输入数据层;S300、基于训练后的定位模型的网络层计算所述信号强度数据,在定位模型的输出层输出位置预测集,所述位置预测集包括预测位置标签与对应概率值,将所述位置预测集中概率值最大的所述预测位置标签所对应的位置确定为所述待检测客户端所在的位置。

具体的,上述待检测客户端(以下简称STA)是以智能手机、笔记本电脑或个人平板电脑等智能终端设备为载体。

STA在检测区域中实时发送探测帧,无线接入点收到后获取所述探测帧的信号强度,各个无线接入点上报信号强度至本地服务器或云服务器,服务器根据各个无线接入点上报的RSSI场强报文生成信号强度数据。本发明通过将各个无线接入点获得的与各个无线接入点对应的信号强度数据作为输入定位模型的原始数据,例如,信号强度数据的格式为<RSSI1,RSSI2,RSSI3,RSSI4,RSSI5>,其中RSSI1为AP1收到的STA的RSSI,RSSI2为AP2收到的STA的RSSI,以此类推。

本发明中的定位模型采用训练后的深度神经网络,通过大量训练样本数据对深度神经网络进行训练,提升定位准确性以及精度。本发明还可以将与信号强度数据相关的信号道、AP的输入功率以及天气环境等数据一同采集,能够增加定位精确度。

优选的,所述步骤S100之前还包括步骤:S000、预先训练深度神经网络,将训练后的深度神经网络作为所述定位模型。

本发明设计的深度神经网络为训练网络,用于网络参数的训练。本实施例中深度神经网络作为训练网络结构如下:

数据层->卷积层1->卷积层2->ReLU层->Max Pooling层->全连接层1->全连接层2->SoftMaxLoss层

当网络参数训练完成之后,将深度神经网络的网络参数更新为训练后的网络参数,同时将训练网络最后一层SoftMaxLoss层更为SoftMax层,形成实施网络,用于作为定位模型参与实际定位过程。其中SoftMaxLoss层用于深度神经网络进行训练时输出训练的输出结果与实际的训练位置标签的误差,而SoftMax层用于在实施网络在定位时,输出待检测客户端所在位置所属分类的概率值。

训练网络和实施网络除了最后一层不一样(训练网络为SoftMaxLoss层,实施网络为),其他层都一样,训练网络所得到的网络参数可以直接用在实施网络中。

优选的,所述步骤S000进一步包括步骤:S001、对检测区域进行网格划分,得到多个平面网格,并为每个平面网格分配对应的用于训练的训练位置标签;S002、依次采集每个所述训练位置标签在检测区域内所对应的网格上接收各个无线接入点信号的信号强度数据;S003、分别将每个所述训练位置标签以及其对应的位置上接收各个无线接入点信号的信号强度数据作为一组训练样本数据,生成训练数据集,并送入深度神经网络中;S004、依次将训练数据集中的每一组训练样本数据中的信号强度数据输入所述深度神经网络的数据输入层,经过所述深度神经网络输出相对应的训练结果;S005、依次将输出的训练结果与其对应的所述训练位置标签进行比较,根据比较结果对深度神经网络进行训练,将训练后的深度神经网络作为所述定位模型。

具体的,本发明采用有监督的全局参数训练的方法:已知与各个无线接入点对应的信号强度数据的实际位置属于某个网格,通过不断调整网络参数使得深度神经网络的网络层的输出和真实的结果相同。

下面以具体实例结合上述步骤详细介绍本发明深度神经网络的训练过程。

1、首先是对检测区域进行划分,在检测区域内采集训练样本数据。

所述步骤S001对检测区域进行网格划分,得到多个平面网格,并为每个平面网格分配对应的用于训练的训练位置标签具体如下:本实施例中深度神经网络的将检测区域网格化分为多个平面网格,为每个平面网格分配对应的训练位置标签,比如检测区域为一个长方向,假设长为M,宽为N,面积为M*N。根据WIFI的精度特性本实施例中以3米作为基本单位,则这个内部空间的划分为M/3*N/3个方格。为了方便解释,假设M/3和N/3为整数,假设M=30,N=21,则M/3=10,N/3=7,整个检测区域经过网格划分之后划分为70个空格,定义这70个空格为深度学习神经网络的70类,分别为这70类分配训练位置标签,例如,可以按照从左到右从上到下的顺序,依次为各个平面网格进行编号,从而可以得到从1到70的这70个标识。为各个平面网格分配的标识可以作为训练位置标签。例如,第34个平面网格的标识“34”便可以作为训练位置标签。

根据上述实例对所述步骤S002依次在所述预设训练位置坐标上设置训练终端,采集检测区域内各个无线接入点接收到的每个所述训练位置标签上训练终端发出的信号的信号强度数据进行说明,具体如下:在上述70个网格的检测区域中标识为1的网格对应的位置上通过训练终端发出探测帧,无线接入点收到后获取所述探测帧的信号强度,各个无线接入点上报信号强度至本地服务器或云服务器。通过服务器采集各个AP的RSSI场强报文获得与各个AP对应的信号强度数据,同时,将标识为1的网格的训练位置标签结合信号强度数据生成一组训练样本数据,假设检测区域中有4个AP,则一组训练样本数据表示为:(RSSI1,RSSI2,RSSI3,RSSI4,34),以实例表示为<-30,-12,-14,-67,34>,其中,前四个数值的单位可以为dBm,最后一个数值可以无量纲。该训练样本数据可以表示编号为1的接入点对应的RSSI为-30dBm,编号为2的接入点对应的RSSI为-12dBm,编号为3的接入点对应的RSSI为-14dBm,编号为4的接入点对应的RSSI为-67dBm,该STA位于标识为34的平面网格中。

2、其次将训练样本数据中的信号强度数据输入深度神经网络进行计算,最后输出训练结果与训练位置标签的误差。

将训练样本数据中的RSSI1到RSSI4从数据层输入,在SoftMaxLoss层用label进行回归,通过训练在SoftMaxLoss层输出Loss。

3、最后通过调整深度神经网络中的参数使得整个网络的Loss即误差最小。

需要说明的是,整个深度神经网络中没有标明具体参数,因为这些参数和具体的空间以及AP的个数有关,不在本专利的范围内。

优选的,所述步骤S005进一步包括步骤:计算所述比较结果与其对应的所述训练位置标签的误差,根据所述误差调整深度神经网络的参数,直到所述比较结果与其对应的所述预测位置标签的误差收敛于预设范围内。

具体的,本实施例中训练过程可采用随机梯度下降、批梯度下降和共轭梯度下降等方法,具体不作限定。

本发明中深度神经网络训练后的参数可以直接用在实施网络中,将实施网络作为定位模型。深度神经网络作为实施网络结构如下:

数据层->卷积层1->卷积层2->ReLU层->Max Pooling层->全连接层1->全连接层2->SoftMax层

下面以实例介绍基于训练好的深度神经网络对待检测客户端所在位置所处分类进行预测,具体过程如下:

在检测区域内任意一个位置放置待检测STA。该STA向外广播探测请求帧,检测区域内的各个AP被刺激生成RSSI场强报文并上报到服务器,服务器根据所有AP上报的RSSI场强报文获得与各个AP对应的信号强度数据,结合上述实例可表示为,(RSSI1,RSSI2,RSSI3,RSSI4)。

把待预测STA位置的检测到的信号强度数据的RSSI1到RSSI4从数据层输入,在SoftMax层输出70类预测概率。

假设输出70类概率从大到小排列为:

Label 44:0.7

Label 1:0.2

Label 21:0.1

Label 11:0.04

Labe l9:0.01

则选取Label44作为最后的预测,即预测此STA在标识为44的网格内。

图2为本发明一种WiFi定位服务器的组成示意图,如图2所示,一种WiFi定位服务器,包括:数据采集模块100,用于获取检测区域中各个无线接入点接收到待检测客户端发出的信号的的信号强度数据;定位模块200,用于将获取的所述信号强度数据输入定位模型的输入数据层,基于训练后的定位模型的网络层计算所述信号强度数据,在定位模型的输出层输出位置预测集,所述位置预测集包括预测位置标签与对应概率值,将所述位置预测集中概率值最大的所述预测位置标签所对应的位置确定为所述待检测客户端所在的位置。

具体的,上述待检测客户端(以下简称STA)是以智能手机、笔记本电脑或个人平板电脑等智能终端设备为载体。

STA在检测区域中实时发送探测帧,无线接入点收到后获取所述探测帧的信号强度,各个无线接入点上报信号强度至本地服务器或云服务器,服务器根据各个无线接入点上报的RSSI场强报文生成信号强度数据。本发明通过将各个无线接入点获得的与各个无线接入点对应的信号强度数据作为输入定位模型的原始数据,例如,信号强度数据的格式为<RSSI1,RSSI2,RSSI3,RSSI4,RSSI5>,其中RSSI1为AP1收到的STA的RSSI,RSSI2为AP2收到的STA的RSSI,以此类推。

本发明中的定位模型采用训练后的深度神经网络,通过大量训练样本数据对深度神经网络进行训练,提升定位准确性以及精度。

图3为本发明一种WiFi定位服务器的完整组成示意图。优选的,如图3所示,还包括:训练模块300,用于预先训练深度神经网络,将训练后的深度神经网络作为所述定位模型。

本发明设计的深度神经网络为训练网络,用于网络参数的训练,当网络参数训练完成之后,将深度神经网络的网络参数更新为训练后的网络参数,同时将训练网络最后一层SoftMaxLoss层更为SoftMax层,形成实施网络,用于作为定位模型参与实际定位过程。其中SoftMaxLoss层用于深度神经网络进行训练时输出训练的输出结果与实际的训练位置标签的误差,而SoftMax层用于在实施网络在定位时,输出待检测客户端所在位置所属分类的概率值。

训练网络和实施网络除了最后一层不一样(训练网络为SoftMaxLoss层,实施网络为),其他层都一样,训练网络所得到的网络参数可以直接用在实施网络中。

优选的,所述训练模块300进一步包括:网格划分子模块301,用于对检测区域进行网格划分,得到多个平面网格,并为每个平面网格分配对应的用于训练的训练位置标签;训练数据集生成子模块302,用于依次在所述预设训练位置坐标上设置训练终端,采集检测区域内各个无线接入点接收到的每个所述训练位置标签上训练终端发出的信号的信号强度数据,分别将每个所述训练位置标签以及采集的各个无线接入点接收到的每个所述训练位置标签发出的信号的信号强度数据作为一组训练样本数据,生成训练数据集,并送入深度神经网络中;训练预测子模块303,用于依次将训练数据集中的每一组训练样本数据中的信号强度数据输入所述深度神经网络的数据输入层,经过所述深度神经网络输出相对应的训练结果,并依次将输出的训练结果与其对应的所述预测位置标签进行比较,根据比较结果对深度神经网络进行训练,将训练后的深度神经网络作为所述定位模型。

具体的,本发明采用有监督的全局参数训练的方法:已知与各个无线接入点对应的信号强度数据的实际位置属于某个网格,通过不断调整网络参数使得深度神经网络的网络层的输出和真实的结果相同。

需要说明的是,对于上述训练模块300的训练过程详见本发明对于WiFi定位方法中训练深度神经网络的解释,此处不再复述。本服务器中各模块之间的信息交互、执行过程等内容与上述方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

图4为本发明一种定位模型构建方法的主要步骤示意图,如图4所示,一种定位模型构建方法,包括步骤:S10、对检测区域进行网格划分,得到多个平面网格,并为每个平面网格分配对应的用于训练的训练位置标签;S11、依次在所述预设训练位置坐标上设置训练终端,采集检测区域内各个无线接入点接收到的每个所述训练位置标签上训练终端发出的信号的信号强度数据;S12、分别将每个所述训练位置标签以及所述步骤S11中采集的各个无线接入点接收到的每个所述训练位置标签发出的信号的信号强度数据作为一组训练样本数据,生成训练数据集,并送入深度神经网络中;S13、依次将训练数据集中的每一组训练样本数据中的信号强度数据输入所述深度神经网络的数据输入层,经过所述深度神经网络输出相对应的训练结果;S14、依次将输出的训练结果与其对应的所述训练位置标签进行比较,根据比较结果对深度神经网络进行训练,将训练后的深度神经网络作为所述定位模型。

优选的,所述步骤S14进一步包括步骤:计算所述比较结果与其对应的所述训练位置标签的误差,根据所述误差调整深度神经网络的参数,直到所述比较结果与其对应的所述预测位置标签的误差收敛于预设范围内。

需要说明的是,本实施例中定位模型的构建方法与上述WiFi定位方法中关于深度神经网络训练方法基于同一构思,可参见上述对于深度神经网络训练方法部分的解释,此处不作复述。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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