一种结合卷积神经网络与WKNN的精确室内定位方法
未命名
07-19
阅读:94
评论:0

一种结合卷积神经网络与wknn的精确室内定位方法
技术领域
1.本发明涉及室内定位领域,具体是一种结合卷积神经网络与wknn的精确室内定位方法。
背景技术:
2.随着无线通信技术、物联网行业的迅速发展和各种智能终端的不断问世,位置信息发挥了越来越重要的作用,基于位置服务的需求不断扩张,已经渗透到日常、军事、搜救和商业等领域之中。在室外环境下,全球定位系统(global positioning system,gps)技术已经成熟且被广泛应用。但室内定位应用在封闭或半封闭空间的区域内,卫星信号无法穿透进去,加上室内各种障碍物阻碍导致传播路径建模困难、接收信号强度波动大、多径问题干扰定位结果等,导致实现高精度的室内定位成为一个具有挑战性的目标。
3.目前,较常用的室内定位技术有蓝牙、wifi、rfid、zigbee等,但是不同的室内定位技术作用范围和定位精度差异导致了应用局限性,目前尚未有一种普适化技术可以满足大部分室内服务需求。wifi室内定位技术具有成本低、组网方便、应用和覆盖范围广等优点,已经应用在一些例如商场、仓库、住宅等室内场所。wifi室内定位技术不需要额外的硬件设备,只需将现有的基础设施,例如无线接入点(access point,ap)和移动终端结合便可实现室内定位。基于wifi定位系统的诸多优点,使其得到了大量研究人员的关注和推广,通过不断地改进和发展来满足当今时代对室内定位服务的要求。
4.目前,wifi室内定位技术有基于测距和非测距定位两大类,基于测距定位的算法有:基于信号到达时间(time of arrival,toa)、信号到达时间差(time difference of arrival,tdoa)、信号到达角度(angle of arrival,aoa);基于非测距定位的算法主要有接收信号强度(received signal strength,rss)的位置指纹匹配法。toa和tdoa方法都是将信号的到达时间转换为用户端与锚点之间的距离;toa方法以用户端到至少三个不共线的锚点的距离为半径的三个圆来确定交点实现定位;tdoa方法以用户端到各个锚点之间的距离差所形成的双曲线相交实现定位;aoa方法通过感知发射节点信号到达方向,计算两个或多个锚点间的相对角度实现定位。与toa、tdoa、aoa这三种方法需要精密的测量设备和时钟同步精度要求相比,基于rss的位置指纹匹配法可以直接通过现有硬件测量,不需要额外增加高硬件设施支持成本,成为发展迅速的定位方法。位置指纹法也称为指纹定位算法,由于无线信号在室内环境中传播存在慢衰落现象,不同的位置与接收到的来自ap的信号强度之间存在一一映射关系,就像人类的指纹一样,每个位置对应一个独一无二的位置“指纹”,因此可以事先收集定位区域每个采集点接受到的ap信号强度值,建立多维的信号强度空间,即离线指纹库。定位时通过采集待测点接受到的ap信号强度值,通过在线匹配算法实现定位,常见的在线匹配算法有:knn、神经网络、svr等。
5.由于室内环境各种障碍物阻碍导致传播路径建模困难、接收信号强度波动大、多径等问题,导致传统在线匹配算法knn和svr效果不是很好。神经网络度具有强大的建模优势,通过训练积累的经验数据来建立室内复杂环境的定位模型,但是许多研究者都是通过
使用复杂高层数的网络结构和长时间调节网络参数来得到最优匹配结果,使得离线数据采集工作量大、训练难度大、在线匹配时间长、硬件要求严格等。
技术实现要素:
6.本发明的目的在于提供一种结合卷积神经网络与wknn的精确室内定位方法,以解决上述背景技术中提出的问题。
7.为实现上述目的,本发明提供如下技术方案:
8.一种结合卷积神经网络与wknn的精确室内定位方法,包括如下步骤:
9.步骤一、离线阶段:
10.在待定位区域每个采集点处,收集周围ap的rss数据,然后对收集的rss数据进行预处理操作;
11.预处理操作分为卡尔曼滤波去噪和归一化生成灰度图像;首先通过卡尔曼滤波算法对rss数据进行降噪处理,再将滤波后的结果归一化后转换成灰度图像;
12.将预处理后的灰度图像放入卷积神经网络模型中进行迭代训练,在误差收敛或迭代次数完成后生成粗定位模型;
13.步骤二、在线阶段:
14.在待测点处,采集周围ap的rssi数据,然后对收集的rssi数据进行预处理操作;该处的预处理操作与步骤一中的预处理操作相同;
15.将预处理后的灰度图像,输入到粗定位模型中进行预测,得到预测的区域位置;
16.利用距离加权的wknn定位算法,进一步缩小预测范围,得到精确的定位坐标。
17.作为本发明进一步的方案:卡尔曼滤波算法分为预测步骤和更新步骤;预测步骤根据之前的测量结果对rssi的下一个值进行预测;更新步骤根据该时间步骤的测量结果估计系统的当前状态参数;
18.卡尔曼滤波算法流程如下:
19.首先根据当前环境进行建模,构建出系统状态公式和系统观测公式:
20.xk=ax
k-1
+bu
k-1
+w
k-1
21.上述公式中,a是状态转移矩阵;b是输入控制矩阵;w
k-1
代表过程激励噪声,是预测过程中服从高斯分布的白噪声,期望为0,协方差为q;
22.zk=hxk+vk23.上述公式中,h是观测转移矩阵;zk是k时刻的测量值,是滤波的输入;vk是观测噪声,服从高斯分布期望为0,协方差为r;
24.步骤1、预测接收点的信号强度状态信息;
[0025][0026]
上述公式中,是为k时刻的先验信号强度估计值,是滤波的中间计算结果;是k-1时刻的后验信号强度估计值,是上一次滤波的最终结果;
[0027]
步骤2、计算协方差矩阵,并对协方差矩阵进行更新;
[0028]
[0029]
上述公式中,是k时刻的先验估计协方差,是滤波的中间计算结果;p
k-1
是k-1时刻的后验估计协方差,表示状态的不确定性,是上一次滤波的最终结果;
[0030]
步骤3、计算卡尔曼增益;
[0031][0032]
上述公式中,r代表测量噪声协方差,滤波器实际实现时,测量噪声协方差r一般可以观测得到,是滤波器的已知条件;
[0033]
步骤4、由观测变量zk更新估计;
[0034][0035]
上述公式中,zk是k时刻观测到的信号强度值,根据卡尔曼增益、观测信号强度值、先验信号强度值推算出后验信号强度估计值,即滤波后的输出信号强度;
[0036]
步骤5、更新测量误差;
[0037][0038]
上述公式中,根据得到的先验估计协方差、卡尔曼增益更新后验估计协方差,经过卡尔曼得到相应波形。
[0039]
作为本发明进一步的方案:归一化生成灰度图像流程如下:
[0040]
设在定位区域中存在m个采集点、n个ap,则在第m个参考点处第k次采样周期构成的一个rssi值向量rssi
m,k
表示为:
[0041]
rssi
m,k
=[rssi1,rssi2,
…
,rssin],m=1,2,
…
,m;k=1,2,
…
,k
[0042]
每一个采样周期t内采集一个rssi值向量,将第m个采集点处采集到的k组rssi值的向量值如下:
[0043][0044]
上述公式中,rssi(k,n)表示第m个参考点在第n个ap在第k个采样周期中采集到的信号强度值;
[0045]
为了将环境中的位置指纹信息图像化,需要将通过下述公式,进行归一化处理得到指纹数据的0-1分布,将代表各个采集点组合成的离线指纹库数据;
[0046][0047]
其中,m表示第m个信号强度采集点m=1,2,
…
,m,n代表在第m个采集点采集的第n个ap的值n=1,2,
…
,n,k表示在第m个定位采集点第k次采样周期采集到的位置指纹;归一化后将数据乘上255再通过python工具转换成为位置指纹灰度图像。
[0048]
作为本发明进一步的方案:卷积神经网络模型由两个卷积层、两个池化层和两个
全连接层组成,最后通过softmax层得到最大概率的定位区域;在离线阶段,基于卷积神经网络模型训练大量灰度指纹地图,以提取可靠的特征;在线阶段,将在线指纹地图转换为灰度图像,并将其输入到经过训练的卷积神经网络模型中,以获得相应的室内位置;
[0049]
在卷积神经网络中,卷积层是用来进行特征提取的,根据多个具有不同权重的卷积核对输入图像的局部像素进行内积运算,最后获得的输出值就是提取的特征之一;池化层是对卷积层得到的结果进行平均值或者最大值筛选,可以有效降低计算复杂度,减少过拟合的同时提高模型的容错性;全连接层将之前卷积池化得到的特征进行整合分类并得到最终的结果;
[0050]
在全连接层处增加dropout,dropout通过在神经网络中随机控制一定比例的神经元权重置为0来减少一半的计算量,可以使神经网络结构更简单,减少计算复杂度的同时也可以有效地抑制过拟合现象;
[0051]
在卷积层和池化层之间增加网络函数,选取relu函数,定义公式如下:
[0052][0053]
神经网络利用随机梯度下降和反向传播对网络进行训练,当相邻迭代损失函数下降到阈值之下或者迭代次数完成时,网络保存参数和权值并停止训练,否则重新从训练集中拿取灰度图像进行训练。
[0054]
作为本发明进一步的方案:wknn定位算法流程如下:
[0055]
首先从离线指纹库中拿取待定位点区域的各个ap的信号强度值,再利用ap信号强度计算出待定位点与各个参考点之间的欧式距离,选出欧式距离最小的k个参考点的位置坐标加权计算作为待定位点最终的物理位置坐标;待定位点与第i个参考点之间的欧式距离计算公式为:
[0056][0057]
考虑到与待定位点之间的欧式距离不同的参考点对定位结果影响不同,使用欧式距离来计算最终选出的k个最近邻参考点的不同的权值;使用wknn算法计算待定位点的物理位置坐标公式为:
[0058][0059]
上述公式中,(x,y)为待定位点的物理位置坐标;(xi,yi)为最终选出的k个最近邻的参考点中第i个参考点的物理位置坐标;ωi为第i个参考点的权值,ωi的计算公式为:
[0060][0061]
上述公式中,di为最终选出的k个最近邻的参考点中,每一个参考点与待定位点之间的欧式距离。
[0062]
与现有技术相比,本发明的有益效果是:
[0063]
本发明提出了一种结合卷积神经网络与wknn的精确室内定位方法,采用wifi无线通讯技术进行精确的室内定位。本发明提出的方法整体思路分为在线和离线两个阶段:离线阶段先将wifi无线接入点(access point,ap)采集到的接受信号强度数据(received signal strength,rss)进行预处理操作,其中预处理操作分为卡尔曼滤波去噪、归一化和生成灰度图像,将预处理后的rss灰度图像放入卷积神经网络中进行迭代训练,在误差收敛或迭代次数完成后生成粗定位模型。在线阶段将待测点ap设备采集到的rssi数据预处理,生成灰度图像后放入粗定位模型预测得到一个小范围区域估计,再利用wknn算法得到精确的位置坐标估计值。实验表明:cnn-wknn定位方法在二维平面回归定位问题中优于定位svr、knn方法,平均误差1.8280m。
附图说明
[0064]
图1为室内定位方法流程图。
[0065]
图2为卡尔曼滤波效果对比图。
[0066]
图3为卷积神经网络模型图。
[0067]
图4为卷积神经网络训练流程图。
[0068]
图5为定位区域布局图。
[0069]
图6为接收信号强度灰度图。
[0070]
图7为卷积神经网络效果图。
具体实施方式
[0071]
下面结合具体实施方式对本专利的技术方案作进一步详细地说明。
[0072]
请参阅图1-7,一种结合卷积神经网络与wknn的精确室内定位方法,包括如下步骤:
[0073]
步骤一、离线阶段:
[0074]
在待定位区域每个采集点处,收集周围ap(access point,无线接入点)的rss(received signal strength,接受信号强度)数据,然后对收集的rss数据进行预处理操作;
[0075]
预处理操作分为卡尔曼滤波去噪和归一化生成灰度图像;首先通过卡尔曼滤波算法对rss数据进行降噪处理,再将滤波后的结果归一化后转换成灰度图像;
[0076]
将预处理后的灰度图像放入卷积神经网络(convolutional neural network,cnn)模型中进行迭代训练,在误差收敛或迭代次数完成后生成粗定位模型;
[0077]
步骤二、在线阶段:
[0078]
在待测点处,采集周围ap的rssi数据,然后对收集的rssi(received signal strength indication,接收信号强度指示)数据进行预处理操作;该处的预处理操作与步骤一中的预处理操作相同;
[0079]
将预处理后的灰度图像,输入到粗定位模型中进行预测,得到预测的区域位置;
[0080]
利用距离加权的wknn定位算法,进一步缩小预测范围,得到精确的定位坐标。
[0081]
本发明整体分为离线和在线两个阶段。离线阶段:在待定位区域每个采集点处收
集周围ap的信号强度数据,首先通过卡尔曼滤波算法进行降噪处理,再将滤波后的结果归一化后转换成灰度图像,随后利用灰度图像训练cnn网络分类模型,通过损失误差反复迭代训练模型,生成cnn定位模型。在线定位阶段,在待测点处采集周围ap的rssi值,通过预处理转换成单通道灰度图后,输入到训练好的cnn模型,得到预测的区域位置,再利用距离加权的wknn定位算法,进一步缩小预测范围,得到精确的定位坐标,定位算法流程图如附图1所示。
[0082]
一、卡尔曼滤波算法预处理
[0083]
基于wifi接受信号强度的位置指纹库的定位算法,是通过接受的各个信号源的功率的信号强度值与空间坐标建立的关联关系,来实现空间位置的一一映射。但是在定位过程中采集到的信号强度值由于多路径衰落,路径上的障碍等影响,产生的噪声严重,影响了定位精度。我们采用了卡尔曼滤波器,用以规避噪声和干扰的不利影响。
[0084]
卡尔曼滤波算法分为预测步骤和更新步骤;预测步骤根据之前的测量结果对rssi的下一个值进行预测;更新步骤根据该时间步骤的测量结果估计系统的当前状态参数;
[0085]
卡尔曼滤波算法流程如下:
[0086]
首先根据当前环境进行建模,构建出系统状态公式和系统观测公式:
[0087]
xk=ax
k-1
+bu
k-1
+w
k-1
[0088]
上述公式中,a是状态转移矩阵;b是输入控制矩阵;w
k-1
代表过程激励噪声,是预测过程中服从高斯分布的白噪声,期望为0,协方差为q;
[0089]
zk=hxk+vk[0090]
上述公式中,h是观测转移矩阵;zk是k时刻的测量值,是滤波的输入;vk是观测噪声,服从高斯分布期望为0,协方差为r;
[0091]
步骤1、预测接收点的信号强度状态信息;
[0092][0093]
上述公式中,是为k时刻的先验信号强度估计值,是滤波的中间计算结果;是k-1时刻的后验信号强度估计值,是上一次滤波的最终结果;
[0094]
步骤2、计算协方差矩阵,并对协方差矩阵进行更新;
[0095][0096]
上述公式中,是k时刻的先验估计协方差,是滤波的中间计算结果;p
k-1
是k-1时刻的后验估计协方差,表示状态的不确定性,是上一次滤波的最终结果;
[0097]
步骤3、计算卡尔曼增益;
[0098][0099]
上述公式中,r代表测量噪声协方差,滤波器实际实现时,测量噪声协方差r一般可以观测得到,是滤波器的已知条件;
[0100]
步骤4、由观测变量zk更新估计;
[0101]
[0102]
上述公式中,zk是k时刻观测到的信号强度值,根据卡尔曼增益、观测信号强度值、先验信号强度值推算出后验信号强度估计值,即滤波后的输出信号强度;
[0103]
步骤5、更新测量误差;
[0104][0105]
上述公式中,根据得到的先验估计协方差、卡尔曼增益更新后验估计协方差,经过卡尔曼得到相应波形,如附图2所示。
[0106]
二、归一化生成灰度图像
[0107]
本文引入用于进行室内定位的卷积神经网络模型(convolutional neural networks,cnn)来学习wifi信号强度的特征,建立一个单通道的wifi指纹灰度图。假设在定位区域中存在m个采集点、n个ap,则在第m个参考点处第k次采样周期构成的一个rssi值向量rssi
m,k
表示为:
[0108]
rssi
m,k
=[rssi1,rssi2,
…
,rssin],m=1,2,...,m;k=1,2,...,k
[0109]
每一个采样周期t内采集一个rssi值向量,将第m个采集点处采集到的k组rssi值的向量值如下:
[0110][0111]
上述公式中,rssi(k,n)表示第m个参考点在第n个ap在第k个采样周期中采集到的信号强度值;
[0112]
为了将环境中的位置指纹信息图像化,需要将通过下述公式,进行归一化处理得到指纹数据的0-1分布,将代表各个采集点组合成的离线指纹库数据;
[0113][0114]
其中,m表示第m个信号强度采集点m=1,2,
…
,m,n代表在第m个采集点采集的第n个ap的值n=1,2,
…
,n,k表示在第m个定位采集点第k次采样周期采集到的位置指纹;归一化后将数据乘上255再通过python工具转换成为位置指纹灰度图像。
[0115]
三、卷积神经网络训练
[0116]
卷积神经网络(convolutional neural network,cnn)模拟了人类大脑对外界信息的认知过程,能够在大量的数据中提取复杂的结构特征和建立表示方法。利用其强大的建模优势,通过积累的经验数据来建立涵盖室内复杂环境的定位模型,能够提高室内定位精度、增强系统鲁棒性。卷积神经网络包括一维、二维、三维卷积神经网络,最常见的二维神经网络应用在图像识别分类任务中。
[0117]
为了预测用户所处区域位置,本文构建卷积神经网络分类模型从包含噪声的信号指纹地图中充分学习有用的特征。本文提出的cnn体系结构如附图3所示。
[0118]
卷积神经网络模型由两个卷积层、两个池化层和两个全连接层组成,最后通过softmax层得到最大概率的定位区域;在离线阶段,基于卷积神经网络模型训练大量灰度指
纹地图,以提取可靠的特征;在线阶段,将在线指纹地图转换为灰度图像,并将其输入到经过训练的卷积神经网络模型中,以获得相应的室内位置;
[0119]
在卷积神经网络中,卷积层是用来进行特征提取的,根据多个具有不同权重的卷积核对输入图像的局部像素进行内积运算,最后获得的输出值就是提取的特征之一。池化层是对卷积层得到的结果进行平均值或者最大值筛选,可以有效降低计算复杂度,减少过拟合的同时提高模型的容错性。全连接层将之前卷积池化得到的特征进行整合分类并得到最终的结果。
[0120]
在神经网络的训练过程中,如果网络神经元数目设置过多同时用于训练的样本数量太少,那么训练出的神经网络模型容易出现过拟合问题,即模型在训练集上误差损失很小,在测试集上误差损失很大;相反如果神经元个数过小又容易出现欠拟合问题,导致模型无法很好学习训练集特征。本文在全连接层处增加dropout,dropout通过在神经网络中随机控制一定比例的神经元权重置为0来减少一半的计算量,可以使神经网络结构更简单,减少计算复杂度的同时也可以有效地抑制过拟合现象。
[0121]
本文在卷积层和池化层之间增加网络函数,选取relu函数,定义公式如下:
[0122][0123]
relu函数与传统的神经网络激活函数sigmoid、tanh相比,relu函数在随机梯度下降法(stochastic gradient descent,sgd)中表现良好,收敛速度快;有效模拟生物神经元分散且稀疏的特性,有效解决了梯度下降和反向传播过程中梯度爆炸和梯度消失导致陷入局部最小的情况;减少计算量,降低了神经网络的总体计算成本。
[0124]
本文神经网络利用随机梯度下降sgd和反向传播对网络进行训练,当相邻迭代损失函数下降到阈值之下或者迭代次数完成时,网络保存参数和权值并停止训练,否则重新从训练集中拿取灰度图像进行训练,训练流程图如附图4所示。
[0125]
四、wknn精确定位
[0126]
加权k最近邻法的定位原理是:首先从离线指纹库中拿取待定位点区域的各个ap的信号强度值,再利用ap信号强度计算出待定位点与各个参考点之间的欧式距离,选出欧式距离最小的k个参考点的位置坐标加权计算作为待定位点最终的物理位置坐标;待定位点与第i个参考点之间的欧式距离计算公式为:
[0127][0128]
考虑到与待定位点之间的欧式距离不同的参考点对定位结果影响不同,使用欧式距离来计算最终选出的k个最近邻参考点的不同的权值;使用wknn算法计算待定位点的物理位置坐标公式为:
[0129][0130]
上述公式中,(x,y)为待定位点的物理位置坐标;(xi,yi)为最终选出的k个最近邻的参考点中第i个参考点的物理位置坐标;ωi为第i个参考点的权值,ωi的计算公式为:
[0131][0132]
上述公式中,di为最终选出的k个最近邻的参考点中,每一个参考点与待定位点之间的欧式距离。这样,欧式距离越小,就说明该参考点与待定位点之间的相似度越高,对定位结果的影响就越大,在计算定位结果时应该被更多的考虑进计算当中,所以在计算时相应的权值会比较大。加权k近邻算法考虑到了待定位点与不同的参考点之间的相似度对定位结果会产生影响的问题,通过欧式距离来对定位结果进行加权计算,可以在一定程度上提高定位的精确度。k近邻算法没有考虑到欧式距离不同的参考点对定位结果影响不同,只是对最近邻的k个参考点的物理坐标的各维向量取平均值进行最终待定位点坐标的计算,会对最终的定位结果造成很大的影响,加权k近邻算法虽然弥补了k近邻算法的缺点,给欧式距离不同的参考点赋予不同的权值进行最终定位结果的计算。但是实际场景中的ap信号是不稳定的,会受到障碍物遮挡、信号反射、以及多经效应等影响,如果在计算中不考虑到ap信号的稳定性这一因素,会在一定程度上影响到最终的定位结果。所以本文在神经网络进行粗定位得到预测区域,在预测区域小范围内进行wknn定位预测待测目标的坐标,一定程度上减少ap信号稳定性带来的误差并提高定位精度。
[0133]
本发明利用wifi位置指纹匹配法进行室内定位,在线匹配算法选取卷积神经网络与wknn结合算法。先利用cnn分类模型提取室内波动rssi的特征并学习rssi与位置之间的非线性映射关系,完成初步区域定位后,再结合wknn在小范围内进行精确坐标预测。该方法整体使用的数据量和计算复杂度相对较小,时效性较好,且定位精度进一步提高。实验表明:cnn与wknn结合定位方法在二维平面定位中优于传统室内定位svr、knn方法,平均误差1.8280m。
[0134]
本发明的工作原理是:
[0135]
1、布局和预处理
[0136]
首先在实验场地实地采集数据组成离线指纹库,室内定位区域长宽高大小为30m*30m*4m,配置10个ap(access point)做为信号源,在房间平面内划分坐标系,选择1米为一个单位长度,选取最左下角的位置坐标为(0,0),ap(access point)的坐标分别为(5,5)、(6,15)、(5,25)、(15,5)、(12,15)、(18,15)、(15,25)、(25,5)、(24,15)、(25,25),具体布局见附图5。从定位区域的每个参考点采集该点的各个ap的信号强度值,在每个参考位置共采集十次,经过卡尔曼滤波处理后生成参考点指纹信息建立室内位置指纹数据库。
[0137]
设定每隔一米为一个采样点,cnn模型指纹库参考点的个数为900,训练集和测试集的数据均来源于对900个参考点的均匀采样。预处理后的每张灰度图中包含10个ap在此参考点处十次采样的共10
×
10个rssi值。通过预处理操作可以获得10
×
10的单通道灰度图像作为卷积神经网络的输入,附图6是测试集中各个定位区域的部位图象,可以看出来自不同采样周期的样本具有相似的亮度和像素分布,来自不同采集点的样本在像素位置具有不同的亮度和像素分布,这种视觉差可以使得本文能将室内定位问题视为图像分类问题。
[0138]
2、卷积神经网络区域定位
[0139]
将整个地图均匀分为9个大区域,通过卷积神经网络实现分类问题可以初步预测
待测点所位于的区域。模型使用sgd优化器利用反向梯度传播算法训练整个网络,通过多次迭代训练训练集找到代表参考的类与位置信息的非线性映射关系,当满足迭代次数时,网络达到稳定并保存参数,形成卷积神经网络指纹库模型。综合考虑样本数量、匹配时间周期和训练效果,采用表1所示的定位模型参数,最终效果图如附图6所示,通过30次迭代学习使误差损失收敛,交叉熵损失在0.325左右,同时测试集和训练集损失大致相同,有效抑制了过拟合和欠拟合问题。
[0140]
表1cnn定位模型参数设置
[0141][0142]
表2算法误差对比
[0143][0144]
使用卷积神经网络进行rssi特征提取,得到初步定位区域之后,利用wknn算法使用该定位区域的离线指纹库,通过选取k个指纹数据进行加权计算,最终得到待测点精确的预测坐标值。相较于传统机器学习定位svr和knn方法,此方法有效抑制了多径、ap稳定性等干扰影响,平均定位误差1.8280m。
[0145]
上面对本专利的较佳实施方式作了详细说明,但是本专利并不限于上述实施方式,在本领域的普通技术人员所具备的知识范围内,还可以在不脱离本专利宗旨的前提下做出各种变化。
技术特征:
1.一种结合卷积神经网络与wknn的精确室内定位方法,其特征在于,包括如下步骤:步骤一、离线阶段:在待定位区域每个采集点处,收集周围ap的rss数据,然后对收集的rss数据进行预处理操作;预处理操作分为卡尔曼滤波去噪和归一化生成灰度图像;首先通过卡尔曼滤波算法对rss数据进行降噪处理,再将滤波后的结果归一化后转换成灰度图像;将预处理后的灰度图像放入卷积神经网络模型中进行迭代训练,在误差收敛或迭代次数完成后生成粗定位模型;步骤二、在线阶段:在待测点处,采集周围ap的rssi数据,然后对收集的rssi数据进行预处理操作;该处的预处理操作与步骤一中的预处理操作相同;将预处理后的灰度图像,输入到粗定位模型中进行预测,得到预测的区域位置;利用距离加权的wknn定位算法,进一步缩小预测范围,得到精确的定位坐标。2.根据权利要求1所述的一种结合卷积神经网络与wknn的精确室内定位方法,其特征在于,卡尔曼滤波算法分为预测步骤和更新步骤;预测步骤根据之前的测量结果对rssi的下一个值进行预测;更新步骤根据该时间步骤的测量结果估计系统的当前状态参数;卡尔曼滤波算法流程如下:首先根据当前环境进行建模,构建出系统状态公式和系统观测公式:x
k
=ax
k-1
+bu
k-1
+w
k-1
上述公式中,a是状态转移矩阵;b是输入控制矩阵;w
k-1
代表过程激励噪声,是预测过程中服从高斯分布的白噪声,期望为0,协方差为q;z
k
=hx
k
+v
k
上述公式中,h是观测转移矩阵;z
k
是k时刻的测量值,是滤波的输入;v
k
是观测噪声,服从高斯分布期望为0,协方差为r;步骤1、预测接收点的信号强度状态信息;上述公式中,是为k时刻的先验信号强度估计值,是滤波的中间计算结果;是k-1时刻的后验信号强度估计值,是上一次滤波的最终结果;步骤2、计算协方差矩阵,并对协方差矩阵进行更新;上述公式中,是k时刻的先验估计协方差,是滤波的中间计算结果;p
k-1
是k-1时刻的后验估计协方差,表示状态的不确定性,是上一次滤波的最终结果;步骤3、计算卡尔曼增益;上述公式中,r代表测量噪声协方差,滤波器实际实现时,测量噪声协方差r一般可以观
测得到,是滤波器的已知条件;步骤4、由观测变量z
k
更新估计;上述公式中,z
k
是k时刻观测到的信号强度值,根据卡尔曼增益、观测信号强度值、先验信号强度值推算出后验信号强度估计值,即滤波后的输出信号强度;步骤5、更新测量误差;上述公式中,根据得到的先验估计协方差、卡尔曼增益更新后验估计协方差,经过卡尔曼得到相应波形。3.根据权利要求1所述的一种结合卷积神经网络与wknn的精确室内定位方法,其特征在于,归一化生成灰度图像流程如下:设在定位区域中存在m个采集点、n个ap,则在第m个参考点处第k次采样周期构成的一个rssi值向量rssi
m,k
表示为:rssi
m,k
=[rssi1,rssi2,
…
,rssi
n
],m=1,2,
…
,m;k=1,2,
…
,k每一个采样周期t内采集一个rssi值向量,将第m个采集点处采集到的k组rssi值的向量值如下:上述公式中,rssi(k,n)表示第m个参考点在第n个ap在第k个采样周期中采集到的信号强度值;为了将环境中的位置指纹信息图像化,需要将通过下述公式,进行归一化处理得到指纹数据的0-1分布,将代表各个采集点组合成的离线指纹库数据;其中,m表示第m个信号强度采集点m=1,2,
…
,m,n代表在第m个采集点采集的第n个ap的值n=1,2,
…
,n,k表示在第m个定位采集点第k次采样周期采集到的位置指纹;归一化后将数据乘上255再通过python工具转换成为位置指纹灰度图像。4.根据权利要求1所述的一种结合卷积神经网络与wknn的精确室内定位方法,其特征在于,卷积神经网络模型由两个卷积层、两个池化层和两个全连接层组成,最后通过softmax层得到最大概率的定位区域;在离线阶段,基于卷积神经网络模型训练大量灰度指纹地图,以提取可靠的特征;在线阶段,将在线指纹地图转换为灰度图像,并将其输入到经过训练的卷积神经网络模型中,以获得相应的室内位置;在卷积神经网络中,卷积层是用来进行特征提取的,根据多个具有不同权重的卷积核对输入图像的局部像素进行内积运算,最后获得的输出值就是提取的特征之一;池化层是对卷积层得到的结果进行平均值或者最大值筛选,可以有效降低计算复杂度,减少过拟合
的同时提高模型的容错性;全连接层将之前卷积池化得到的特征进行整合分类并得到最终的结果;在全连接层处增加dropout,dropout通过在神经网络中随机控制一定比例的神经元权重置为0来减少一半的计算量,可以使神经网络结构更简单,减少计算复杂度的同时也可以有效地抑制过拟合现象;在卷积层和池化层之间增加网络函数,选取relu函数,定义公式如下:神经网络利用随机梯度下降和反向传播对网络进行训练,当相邻迭代损失函数下降到阈值之下或者迭代次数完成时,网络保存参数和权值并停止训练,否则重新从训练集中拿取灰度图像进行训练。5.根据权利要求1所述的一种结合卷积神经网络与wknn的精确室内定位方法,其特征在于,wknn定位算法流程如下:首先从离线指纹库中拿取待定位点区域的各个ap的信号强度值,再利用ap信号强度计算出待定位点与各个参考点之间的欧式距离,选出欧式距离最小的k个参考点的位置坐标加权计算作为待定位点最终的物理位置坐标;待定位点与第i个参考点之间的欧式距离计算公式为:考虑到与待定位点之间的欧式距离不同的参考点对定位结果影响不同,使用欧式距离来计算最终选出的k个最近邻参考点的不同的权值;使用wknn算法计算待定位点的物理位置坐标公式为:上述公式中,(x,y)为待定位点的物理位置坐标;(x
i
,y
i
)为最终选出的k个最近邻的参考点中第i个参考点的物理位置坐标;ω
i
为第i个参考点的权值,ω
i
的计算公式为:上述公式中,di为最终选出的k个最近邻的参考点中,每一个参考点与待定位点之间的欧式距离。
技术总结
本发明提供了一种结合卷积神经网络与WKNN的精确室内定位方法,在待定位区域每个采集点处,收集周围AP的RSS数据,然后对收集的RSS数据进行预处理操作;预处理操作分为卡尔曼滤波去噪和归一化生成灰度图像;首先通过卡尔曼滤波算法对RSS数据进行降噪处理,再将滤波后的结果归一化后转换成灰度图像;本发明利用WiFi位置指纹匹配法进行室内定位,在线匹配算法选取卷积神经网络与WKNN结合算法;先利用CNN分类模型提取室内波动RSSI的特征并学习RSSI与位置之间的非线性映射关系,完成初步区域定位后,再结合WKNN在小范围内进行精确坐标预测;该方法整体使用的数据量和计算复杂度相对较小,时效性较好,且定位精度进一步提高。且定位精度进一步提高。且定位精度进一步提高。
技术研发人员:张丽 董建 刘成刚
受保护的技术使用者:亳州学院
技术研发日:2023.04.10
技术公布日:2023/7/18
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/