一种基于双向信号强度数据的wifi定位方法及服务器与流程

文档序号:12501844阅读:353来源:国知局
一种基于双向信号强度数据的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、将所述双向信号强度数据输入训练后的定位模型的数据数据输入层;S300、基于训练后的定位模型的网络层计算所述双向信号强度数据,在定位模型的输出层输出预测结果,根据所述预测结果确定待检测客户端的位置。

进一步优选的,所述双向信号强度数据包括待检测客户端接收各个无线接入点信号的与各个无线接入点对应的第一接收信号强度指示,以及各个无线接入点接收待检测客户端信号的第二接收信号强度指示。

进一步优选的,所述步骤S100进一步包括以下步骤:S101、当待检测客户端发送探测请求报文至所有无线接入点时,根据所述探测请求报文获得各个无线接入点接收到的待检测客户端所发的信号的第一接收信号强度指示;S102、当待检测客户端接收到所有无线接入点返回的探测响应报文,与其中任意一个无线接入点关联时,响应已关联的无线接入点发送的ICMP请求报文,并返回ICMP回复报文至已关联的无线接入点,所述ICMP回复报文中包含待检测客户端接收到的已关联的无线接入点所发信号的接收强度数据;S103、向除了已关联的无线接入点以外的其他无线接入点分别发送探测回复报文,根据所述探测回复报文中获得待检测客户端接收到的除了已关联的无线接入点以外的其他无线接入点所发信号的接收强度数据;S104、根据待检测客户端接收到的已关联的无线接入点所发信号的接收强度数据以及待检测客户端接收到的除了已关联的无线接入点以外的其他无线接入点所发信号的接收强度数据生成第二接收信号强度指示。

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

进一步优选的,所述步骤S000进一步包括步骤:S001、预先设置训练位置标签;S002、在训练位置标签在检测区域内对应位置上将训练终端依次与各个无线接入点关联,多次采集训练终端与每个无线接入点关联时的双向信号数据;所述双向信号数据包括各个无线接入点接收到的训练终端所发的信号的第一接收信号强度指示,以及训练终端接收到的各个无线接入点所发的信号的第二接收信号强度指示;将所述双向信号数据与对应的训练位置标签作为一组训练样本数据;S003、按步骤S002所述方法采集所有训练位置标签在检测区域内对应位置上的双向信号数据,生成多组训练样本数据,根据所述多组训练样本数据生成训练数据集,送入深度神经网络;S004、将深度神经网络的输入数据层定义为双通道数据层,所述双通道数据层的节点与各个无线接入点相对应;按照双通道数据层的节点与各个无线接入点对应的方式分别将每个训练样本数据中第一接收信号强度指示以及第二接收信号强度指示输入对应的节点的两个通道,经过所述深度神经网络输出与所述训练样本数据中所述训练位置标签相对应的训练结果;S005、依次将输出的训练结果与其对应的所述训练位置标签进行比较,根据比较结果对深度神经网络进行训练,将训练后的深度神经网络作为所述定位模型。

本发明还公开了一种基于双向信号强度数据的wifi定位服务器,包括:数据采集模块,用于当待检测客户端与所有无线接入点中的任意一个无线接入点关联之后,获取检测区域内待检测客户端的双向信号强度数据;所述双向信号强度数据包括待检测客户端接收各个无线接入点信号的与各个无线接入点对应的第一接收信号强度指示,以及各个无线接入点接收待检测客户端信号的第二接收信号强度指示;定位模块,用于将所述双向信号强度数据输入训练后的定位模型的数据数据输入层,基于训练后的定位模型的网络层计算所述双向信号强度数据,在定位模型的输出层输出预测结果,根据所述预测结果确定待检测客户端的位置。

进一步优选的,所述双向信号强度数据包括各个无线接入点接收到的待检测客户端所发的信号的第一接收信号强度指示,以及待检测客户端接收到的各个无线接入点所发的信号的第二接收信号强度指示。

进一步优选的,所述数据采集模块进一步包括:第一接收信号强度指示获取模块,用于当待检测客户端发送探测请求报文至所有无线接入点时,根据所述探测请求报文获得各个无线接入点接收到的待检测客户端所发的信号的第一接收信号强度指示;第二接收信号强度指示获取模块,用于当待检测客户端与其中任意一个无线接入点关联,响应已关联的无线接入点发送的ICMP请求报文时,返回ICMP回复报文至已关联的无线接入点,所述ICMP回复报文中包含待检测客户端接收到的已关联的无线接入点所发信号的接收强度数据,并向除了已关联的无线接入点以外的其他无线接入点分别发送探测回复报文,根据所述探测回复报文获得待检测客户端接收到的除了已关联的无线接入点以外的其他无线接入点所发信号的接收强度数据,根据待检测客户端接收到的已关联的无线接入点所发信号的接收强度数据以及待检测客户端接收到的除了已关联的无线接入点以外的其他无线接入点所发信号的接收强度数据生成第二接收信号强度指示。

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

进一步优选的,所述训练模块进一步包括:标签预设子模块,用于预先设置训练位置标签;训练数据集生成子模块,用于在训练位置标签在检测区域内对应位置上将训练终端依次与各个无线接入点关联,多次采集训练终端与每个无线接入点关联时的双向信号数据,所述双向信号数据包括各个无线接入点接收到的训练终端所发的信号的第一接收信号强度指示,以及训练终端接收到的各个无线接入点所发的信号的第二接收信号强度指示,将所述双向信号数据与对应的训练位置标签作为一组训练样本数据,采集所有训练位置标签在检测区域内对应位置上的双向信号数据,生成多组训练样本数据,根据所述多组训练样本数据生成训练数据集,送入深度神经网络;训练预测子模块,用于将深度神经网络的输入数据层定义为双通道数据层,所述双通道数据层的节点与各个无线接入点相对应,按照双通道数据层的节点与各个无线接入点对应的方式分别将每个训练样本数据中第一接收信号强度指示以及第二接收信号强度指示输入对应的节点的两个通道,经过所述深度神经网络输出与所述训练样本数据中所述训练位置标签相对应的训练结果,依次将输出的训练结果与其对应的所述训练位置标签进行比较,根据比较结果对深度神经网络进行训练,将训练后的深度神经网络作为所述定位模型。

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

附图说明

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

图1为本发明一种基于双向信号强度数据的wifi定位方法的主要步骤示意图;

图2为本发明一种基于双向信号强度数据的wifi定位方法的一个实施例的步骤示意图;

图3为本发明一种基于双向信号强度数据的wifi定位方法的训练深度神经网络的步骤示意图;

图4为本发明一种基于双向信号强度数据的wifi定位服务器的主要组成示意图;

图5为本发明一种基于双向信号强度数据的wifi定位服务器的完整的组成示意图;

附图标记:

100、数据采集模块,101、第一接收信号强度指示获取模块,102、第二接收信号强度指示获取模块,200、定位模块,300、训练模块,301、标签预设子模块,302、训练数据集生成子模块,303、训练预测子模块。

具体实施方式

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

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

图1为本发明一种基于双向信号强度数据的wifi定位方法的主要步骤示意图,如图1所示,一种基于双向信号强度数据的wifi定位方法,所述方法包括步骤:S100、当待检测客户端与所有无线接入点中的任意一个无线接入点关联之后,获取检测区域内待检测客户端的双向信号强度数据;S200、将所述双向信号强度数据输入训练后的定位模型的数据数据输入层;S300、基于训练后的定位模型的网络层计算所述双向信号强度数据,在定位模型的输出层输出预测结果,根据所述预测结果确定待检测客户端的位置。

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

本实施例中所述双向信号强度数据包括各个无线接入点接收到的待检测客户端所发的信号的第一接收信号强度指示,以及待检测客户端接收到的各个无线接入点所发的信号的第二接收信号强度指示,通过获取双向的信号强度数据增加了定位准确度。

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

图2为本发明一种基于双向信号强度数据的wifi定位方法的一个实施例的步骤示意图。如图2所示,具体的,本实施例中第一接收信号强度指示通过以下步骤获得:

S101、当待检测客户端发送探测请求报文至所有无线接入点时,根据所述探测请求报文获得各个无线接入点接收到的待检测客户端所发的信号的第一接收信号强度指示。其中,STA在检测区域中实时发送探测帧,无线接入点收到后获取所述探测帧的信号强度,各个无线接入点上报信号强度至本地服务器或云服务器,服务器根据各个无线接入点上报的RSSI生成第一接收强度指示。

具体的,本实施例中第二接收信号强度指示通过以下步骤获得:

S102、当待检测客户端接收到所有无线接入点返回的探测响应报文,与其中任意一个无线接入点关联时,响应已关联的无线接入点发送的ICMP请求报文,并返回ICMP回复报文至已关联的无线接入点,所述ICMP回复报文中包含待检测客户端接收到的已关联的无线接入点所发信号的接收强度数据;

具体的,在STA关联上AP并通过DHCP获得IP地址之后,AP和STA直接便可以通过ping发送ICMP报文,当AP发送ICMP request报文后,STA必须会ICMP response报文。本发明对ping报文进行一扩展,根据ICMP协议,ICMP response报文会把ICMP request报文的payload部分原封不动的拷贝到ICMP response中,现在扩展ICMP response的payload部分,不仅把把ICMP request报文的payload部分原封不动的拷贝到ICMP response中,而且在其之后,加上ICMP request的RSSI(STA接收到ICMP request,自然能检测到ICMP request的RSSI)。

整个流程如下:

AP通过ping发送ICMP request给STA。

STA按ICMP协议生成ICMP response,并扩展ICMP的payload,把接收ICMP request获得的RSSI加入payload中。

STA发送ICMP response到AP。

AP收到ICMP response,获知ICMP response报文的RSSI。然后通过解析ICMP response的payload,获知ICMP request的RSSI。另外AP对STA ping的周期可自由设定,减小发送周期也可提高精度。

S103、向除了已关联的无线接入点以外的其他无线接入点分别发送探测回复报文,根据所述探测回复报文中获得待检测客户端接收到的除了已关联的无线接入点以外的其他无线接入点所发信号的接收强度数据;

具体的,本发明定义一种Probe ACK报文即探测回复报文,作为对Probe response即报文探测请求报文的应答报文。

整个流程如下:

STA发送Probe Request报文给AP。

AP回Probe Response报文给STA。

STA发送Probe ACK报文给AP,在Probe ACK的payload中带上STA收到Probe Response报文的RSSI。AP收到Probe ACK,获知Probe ACK报文的RSSI。然后通过解析Probe ACK的payload,获知Probe Response的RSSI。

S104、根据待检测客户端接收到的已关联的无线接入点所发信号的接收强度数据以及待检测客户端接收到的除了已关联的无线接入点以外的其他无线接入点所发信号的接收强度数据生成第二接收信号强度指示。

本发明中第一接收信号强度指示通过STA向所有AP发送的探测请求报文即可获得,而AP的第二接收信号强度指示包括了已关联的AP的接收强度数据以及未和STA关联的AP的接收强度数据,对于未和STA关联的AP的接收强度数据,本发明通过增加一个探测回复报文,在所述探测回复报文中增加AP到STA的接收强度数据获得,对于已关联的AP的接收强度数据,通过STA与已关联的AP之间的IMCP报文获得,通过对IMCP报文进行扩展,在ICMP回复报文中增加已关联的AP的接收强度数据。需要说明的是,相比于全部采用增加探测回复报文的方法获得所有AP的接收强度数据,本发明针对已关联的AP和未关联的AP采用不同的方式获得AP的接收强度数据,使得实际定位时数据源更加可靠精确,从而提高定位精度。

本发明通过将待检测客户端所在位置的双向信号强度数据作为输入定位模型的原始数据,例如,双向信号强度数据的格式为<(RSSI11,RSSI12),(RSSI21,RSSI22),(RSSI31,RSSI32),(RSSI41,RSSI42)>,其中RSSI11为AP1收到的STA的RSSI,RSSI12为STA收到的AP1的RSSI,RSSI21为AP2收到的STA的RSSI,RSSI22为STA收到的AP2的RSSI,以此类推。

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

具体的,本发明中根据定位得到的输出结果不同,可以包含两种具体实现方式,方式一是通过深度神经网络作为定位模型输出待检测客户端所在位置所属某个预先设置的分类的概率值,方式二是通过深度神经网络作为定位模型直接输出待检测客户端所在位置的预设位置坐标。

方式一输出待检测客户端所在位置所属某个预先设置的分类的概率值,其采用的深度神经网络的训练网络的结构如下:

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

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

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

方式二直接输出待检测客户端所在位置的预设位置坐标,其采用的深度神经网络的训练网络的结构如下:

数据层->全连接层1->ReLU层->全连接层2->Euclidean Loss层

当网络参数训练完成之后,将深度神经网络的网络参数更新为训练后的网络参数,同时将训练网络最后一层Euclidean Loss层去除,形成实施网络,用于作为定位模型参与实际定位过程。其中Euclidean Loss层用于深度神经网络进行训练时输出训练的输出结果与实际的训练位置标签的误差,而实施网络在定位时,直接在网络层输出待检测客户端所在位置的预测位置坐标。

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

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

图3为本发明一种基于双向信号强度数据的wifi定位方法的训练深度神经网络的步骤示意图。优选的,如图3所示,所述步骤S000进一步包括步骤:S001、预先设置训练位置标签;S002、在训练位置标签在检测区域内对应位置上将训练终端依次与各个无线接入点关联,多次采集训练终端与每个无线接入点关联时的双向信号数据;所述双向信号数据包括各个无线接入点接收到的训练终端所发的信号的第一接收信号强度指示,以及训练终端接收到的各个无线接入点所发的信号的第二接收信号强度指示;将所述双向信号数据与对应的训练位置标签作为一组训练样本数据;S003、按步骤S002所述方法采集所有训练位置标签在检测区域内对应位置上的双向信号数据,生成多组训练样本数据,根据所述多组训练样本数据生成训练数据集,送入深度神经网络;S004、将深度神经网络的输入数据层定义为双通道数据层,所述双通道数据层的节点与各个无线接入点相对应;按照双通道数据层的节点与各个无线接入点对应的方式分别将每个训练样本数据中第一接收信号强度指示以及第二接收信号强度指示输入对应的节点的两个通道,经过所述深度神经网络输出与所述训练样本数据中所述训练位置标签相对应的训练结果;S005、依次将输出的训练结果与其对应的所述训练位置标签进行比较,根据比较结果对深度神经网络进行训练,将训练后的深度神经网络作为所述定位模型。

具体的,本实施例中预先设置训练位置标签可通过前述方式一对检测区域进行网络划分成多个分类,每个分类分配训练位置标签,也可以通过前述方式二对检测区域进行坐标划分,将预设的训练位置的坐标作为训练位置标签。本发明对于训练位置标签如何设置不作具体限定。

具体的,下面以具体实例介绍本发明对深度神经网络训练的过程。

1、首先是预先设置训练位置标签

假设本实施例中采用前述方式一预设训练位置标签,具体过程为:对检测区域进行网格划分,得到多个平面网格,并为每个平面网格分配对应的用于训练的训练位置标签。本实施例中深度神经网络的将检测区域网格化分为多个平面网格,为每个平面网格分配对应的训练位置标签,比如检测区域为一个长方向,假设长为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”便可以作为训练位置标签。

假设本实施例中采用前述方式二预设训练位置标签,具体过程为:根据检测区域建立平面直角坐标系,在所述平面直角坐标系中标出用于训练的预设训练位置坐标,X轴和Y轴的单位长度设为预设值。比如检测区域的内部空间为一个长方向,假设长为M,宽为N,面积为M*N。根据WIFI的精度特性以3米作为X轴和Y轴的单位长度,确定左下角为原点,则X轴的单位刻度为3米一单位,最大刻度为M/3,Y轴的单位刻度为3米一单位,最大刻度为N/3。依次在建立好坐标系的检测区域标出用于训练的预设训练位置坐标,比如label=<1.4,5.3>,表示此位置的坐标为:X=1.4,Y=5.3。

2、采集训练样本数据

依次采集每个所述训练位置标签在检测区域内所对应的网格上的双向信号强度数据,具体的,比如在上述70个网格的检测区域中标识为1的网格对应的位置上或在检测区域中坐标为<1.4,5.3>所在位置上通过训练终端发出探测帧,无线接入点收到后获取所述探测帧的信号强度,各个无线接入点上报信号强度至本地服务器或云服务器。通过服务器采集各个AP的RSSI获得与各个AP对应的第一接收信号强度指示,同时,将训练终端与其中任意一个AP关联,响应已关联的无线接入点发送的ICMP请求报文,并返回ICMP回复报文至已关联的无线接入点,所述ICMP回复报文中包含待检测客户端接收到的已关联的无线接入点所发信号的接收强度数据,同时向除了已关联的无线接入点以外的其他无线接入点分别发送探测回复报文,根据待检测客户端接收到的已关联的无线接入点所发信号的接收强度数据以及待检测客户端接收到的除了已关联的无线接入点以外的其他无线接入点所发信号的接收强度数据生成第二接收信号强度指示,第一接收信号强度指示和第二接收信号强度指示组成双向信号强度数据。

需要说明的是,在某一个训练位置标签所在位置上采集双向信号强度数据时,进行多次采集,双向信号强度数据根据训练终端所处方向以及采集的时间不同处于变化状态,因此进行多次采集获得多组数据对深度神经网络进行训练可提高定位的精确程度。

将标识为1的网格的训练位置标签或坐标为<1.4,5.3>的训练位置标签结合双向信号强度数据生成一组训练样本数据,假设检测区域中有4个AP,则一组训练样本数据表示为:<(RSSI11,RSSI12),(RSSI21,RSSI22),(RSSI31,RSSI32),(RSSI41,RSSI42),1>,或<(RSSI11,RSSI12),(RSSI21,RSSI22),(RSSI31,RSSI32),(RSSI41,RSSI42),1.4,5.3>,其中RSSI11为AP1收到的训练终端的RSSI,RSSI12为训练终端收到的AP1的RSSI,RSSI21为AP2收到的训练终端的RSSI,RSSI22为训练终端收到的AP2的RSSI,以此类推,其中,前四个数值的单位可以为dBm,最后一个数值可以无量纲。

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

本发明中采集的双向信号数据包括两种数据,即第一接收信号强度指示以及第二接收信号强度指示,因此定义深度神经网络的输入数据层的数据通道为双通道,将训练样本数据中的RSSI11和RSSI12输入数据层的对应AP1的节点的两个通道,将训练样本数据中的RSSI21和RSSI22输入数据层的对应AP2的节点的两个通道,以此类推,在SoftMaxLoss层用label进行回归,通过训练在SoftMaxLoss层输出Loss。

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

具体的,计算所述比较结果与其对应的所述训练位置标签的误差,根据所述误差调整深度神经网络的参数,直到所述比较结果与其对应的所述预测位置标签的误差收敛于预设范围内,训练过程可采用随机梯度下降、批梯度下降和共轭梯度下降等方法,具体不作限定。

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

图4为本发明一种基于双向信号强度数据的wifi定位服务器的主要组成示意图,如图4所示,基于双向信号强度数据的wifi定位服务器,包括:数据采集模块100,用于当待检测客户端与所有无线接入点中的任意一个无线接入点关联之后,获取检测区域内待检测客户端的双向信号强度数据;所述双向信号强度数据包括待检测客户端接收各个无线接入点信号的与各个无线接入点对应的第一接收信号强度指示,以及各个无线接入点接收待检测客户端信号的第二接收信号强度指示;定位模块200,用于将所述双向信号强度数据输入训练后的定位模型的数据数据输入层,基于训练后的定位模型的网络层计算所述双向信号强度数据,在定位模型的输出层输出预测结果,根据所述预测结果确定待检测客户端的位置。

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

本实施例中所述双向信号强度数据包括各个无线接入点接收到的待检测客户端所发的信号的第一接收信号强度指示,以及待检测客户端接收到的各个无线接入点所发的信号的第二接收信号强度指示,通过获取双向的信号强度数据增加了定位准确度。本发明通过将待检测客户端所在位置的双向信号强度数据作为输入定位模型的原始数据,例如,双向信号强度数据的格式为<(RSSI11,RSSI12),(RSSI21,RSSI22),(RSSI31,RSSI32),(RSSI41,RSSI42)>,其中RSSI11为AP1收到的STA的RSSI,RSSI12为STA收到的AP1的RSSI,RSSI21为AP2收到的STA的RSSI,RSSI22为STA收到的AP2的RSSI,以此类推。

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

图5为本发明一种基于双向信号强度数据的wifi定位服务器的完整的组成示意图。优选的,如图5所示,所述数据采集模块100进一步包括:第一接收信号强度指示获取模块101,用于当待检测客户端发送探测请求报文至所有无线接入点时,根据所述探测请求报文获得各个无线接入点接收到的待检测客户端所发的信号的第一接收信号强度指示;第二接收信号强度指示获取模块102,用于当待检测客户端与其中任意一个无线接入点关联,响应已关联的无线接入点发送的ICMP请求报文时,返回ICMP回复报文至已关联的无线接入点,所述ICMP回复报文中包含待检测客户端接收到的已关联的无线接入点所发信号的接收强度数据,并向除了已关联的无线接入点以外的其他无线接入点分别发送探测回复报文,根据所述探测回复报文获得待检测客户端接收到的除了已关联的无线接入点以外的其他无线接入点所发信号的接收强度数据,根据待检测客户端接收到的已关联的无线接入点所发信号的接收强度数据以及待检测客户端接收到的除了已关联的无线接入点以外的其他无线接入点所发信号的接收强度数据生成第二接收信号强度指示。

具体的,当待检测客户端发送探测请求报文至所有无线接入点时,根据所述探测请求报文获得待检测客户端接收各个无线接入点信号的与各个无线接入点对应的第一接收信号强度指示。其中,STA在检测区域中实时发送探测帧,刺激各个无线接入点(简称AP)产生RSSI场强报文,各个无线接入点上报RSSI场强报文至本地服务器,服务器根据各个无线接入点上报的RSSI场强报文生成第一接收强度指示。

具体的,在STA关联上AP并通过DHCP获得IP地址之后,AP和STA直接便可以通过ping发送ICMP报文,当AP发送ICMP request报文后,STA必须会ICMP response报文。本发明对ping报文进行一扩展,根据ICMP协议,ICMP response报文会把ICMP request报文的payload部分原封不动的拷贝到ICMP response中,现在扩展ICMP response的payload部分,不仅把把ICMP request报文的payload部分原封不动的拷贝到ICMP response中,而且在其之后,加上ICMP request的RSSI(STA接收到ICMP request,自然能检测到ICMP request的RSSI)。

整个流程如下:

AP通过ping发送ICMP request给STA。

STA按ICMP协议生成ICMP response,并扩展ICMP的payload,把接收ICMP request获得的RSSI加入payload中。

STA发送ICMP response到AP。

AP收到ICMP response,获知ICMP response报文的RSSI,然后通过解析ICMP response的payload,获知ICMP request的RSSI,即获得已关联的AP的接收强度数据。另外AP对STA ping的周期可自由设定,减小发送周期也可提高精度。

同时,向除了已关联的无线接入点以外的其他无线接入点分别发送探测回复报文,根据所述探测回复报文中获得除了已关联的无线接入点以外的其他无线接入点的接收强度数据。

具体的,本发明定义一种Probe ACK报文即探测回复报文,作为对Probe response即报文探测请求报文的应答报文。

整个流程如下:

STA发送Probe Request报文给AP。

AP回Probe Response报文给STA。

STA发送Probe ACK报文给AP,在Probe ACK的payload中带上STA收到Probe Response报文的RSSI。AP收到Probe ACK,获知Probe ACK报文的RSSI,然后通过解析Probe ACK的payload,获知Probe Response的RSSI,即获得未关联的AP的接收强度数据。

根据未关联的AP的接收强度数据和已关联的AP的接收强度数据生成第二接收强度指示。

本发明中第一接收信号强度指示通过STA向所有AP发送的探测请求报文即可获得,而AP的第二接收信号强度指示包括了已关联的AP的接收强度数据以及未和STA关联的AP的接收强度数据,对于未和STA关联的AP的接收强度数据,本发明通过增加一个探测回复报文,在所述探测回复报文中增加AP到STA的接收强度数据获得,对于已关联的AP的接收强度数据,通过STA与已关联的AP之间的IMCP报文获得,通过对IMCP报文进行扩展,在ICMP回复报文中增加已关联的AP的接收强度数据。需要说明的是,相比于全部采用增加探测回复报文的方法获得所有AP的接收强度数据,本发明针对已关联的AP和未关联的AP采用不同的方式获得AP的接收强度数据,使得实际定位时数据源更加可靠精确,从而提高定位精度。

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

具体的,本发明中根据定位得到的输出结果不同,可以包含两种具体实现方式,方式一是通过深度神经网络作为定位模型输出待检测客户端所在位置所属某个预先设置的分类的概率值,方式二是通过深度神经网络作为定位模型直接输出待检测客户端所在位置的预设位置坐标。

方式一输出待检测客户端所在位置所属某个预先设置的分类的概率值,其采用的深度神经网络的训练网络的结构如下:

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

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

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

方式二直接输出待检测客户端所在位置的预设位置坐标,其采用的深度神经网络的训练网络的结构如下:

数据层->全连接层1->ReLU层->全连接层2->Euclidean Loss层

当网络参数训练完成之后,将深度神经网络的网络参数更新为训练后的网络参数,同时将训练网络最后一层Euclidean Loss层去除,形成实施网络,用于作为定位模型参与实际定位过程。其中Euclidean Loss层用于深度神经网络进行训练时输出训练的输出结果与实际的训练位置标签的误差,而实施网络在定位时,直接在网络层输出待检测客户端所在位置的预测位置坐标。

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

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

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

如图5所示,优选的,所述训练模块300进一步包括:标签预设子模块301,用于预先设置训练位置标签;训练数据集生成子模块302,用于在训练位置标签在检测区域内对应位置上将训练终端依次与各个无线接入点关联,多次采集训练终端与每个无线接入点关联时的双向信号数据,所述双向信号数据包括各个无线接入点接收到的训练终端所发的信号的第一接收信号强度指示,以及训练终端接收到的各个无线接入点所发的信号的第二接收信号强度指示,将所述双向信号数据与对应的训练位置标签作为一组训练样本数据,采集所有训练位置标签在检测区域内对应位置上的双向信号数据,生成多组训练样本数据,根据所述多组训练样本数据生成训练数据集,送入深度神经网络;训练预测子模块303,用于将深度神经网络的输入数据层定义为双通道数据层,所述双通道数据层的节点与各个无线接入点相对应,按照双通道数据层的节点与各个无线接入点对应的方式分别将每个训练样本数据中第一接收信号强度指示以及第二接收信号强度指示输入对应的节点的两个通道,经过所述深度神经网络输出与所述训练样本数据中所述训练位置标签相对应的训练结果,依次将输出的训练结果与其对应的所述训练位置标签进行比较,根据比较结果对深度神经网络进行训练,将训练后的深度神经网络作为所述定位模型。

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

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

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