计算机系统应用  2019, Vol. 28 Issue (11): 218-223   PDF    
基于双神经网络的RFID室内定位方法
陈龙鹏1,2,3, 叶宁1,2,3,4, 王汝传1,2,3,4     
1. 南京邮电大学 计算机学院, 南京 210023;
2. 南京邮电大学 软件学院, 南京 210023;
3. 南京邮电大学 网络空间安全学院, 南京 210023;
4. 南京邮电大学 江苏省无线传感网高技术重点实验室, 南京 210023
摘要:在室内定位中, 传统的RFID定位方法由于方法简单, 无法随着室内环境的变化准确估计当前的路径损耗系数, 存在受环境影响大, 定位精度不高, 实时性差等缺点. 为了解决以上问题, 提出一种基于双神经网络模型的室内定位算法, 建立BP网络和DNN网络的双神经网络模型, 将采集到的RSSI信号值预处理后输入到BP网络模型中, 输出路径损耗系数n, 再将接收信号强度值RSSI和通过BP模型得到的路径损耗系数n作为输入, 输入到DNN网络模型中, 得到待测标签的精确定位坐标. 实验表明, 与传统的基于RSSI和基于ANN模型的室内定位算法相比, 本算法有效提高了定位精度和定位实时性.
关键词: 射频识别    反向传播网络    深度神经网络    接收信号强度    室内定位    
Indoor Position Method for RFID System Based on Dual Neural Network
CHEN Long-Peng1,2,3, YE Ning1,2,3,4, WANG Ru-Chuan1,2,3,4     
1. School of Computer Science, Nanjing University of Posts and Telecommunications, Nanjing 210023, China;
2. School of Software, Nanjing University of Posts and Telecommunications, Nanjing 210023, China;
3. School of Cyberspace Security, Nanjing University of Posts and Telecommunications, Nanjing 210023, China;
4. Jiangsu High Technology Research Key Laboratory for Wireless Sensor Networks, Nanjing University of Posts and Telecommunications, Nanjing 210023, China
Foundation item: National Natural Science Foundation of China (61572260, 61373017, 61572261, 61672297, 61872194); Excellent Young Scientists Fund of Jiangsu Province (BK20160089)
Abstract: In the indoor positioning, the traditional RFID positioning method cannot accurately estimate the current path loss coefficient with the change of indoor environment due to its simple method. It has disadvantages such as large environmental impact, low positioning accuracy, and poor real-time performance. In order to solve the above problems, this study puts forward a kind of indoor location algorithm based on dual neural network model, and establishes the BP network and the network within DNN dual neural network model. Then, it preprocesses the collected RSSI signal and inputs the preprocessed signal value to BP network model, outputs path loss coefficient n, and then received signal strength value RSSI and through the BP model to get the path loss coefficient of n as input, input to the network within DNN model, and get the precise positioning of the labels under test coordinates. Experiments show that compared with the traditional indoor positioning algorithm based on RSSI and ANN model, this algorithm effectively improves the positioning accuracy and real-time performance.
Key words: radio frequency identification     BP network     DNN network     RSSI     indoor positioning    

近年来, 随着科技的进步和人们生活水平的不断提高, 社会各行业对基于用户的位置信息, 尤其是室内定位的需求日益增长. 在室内定位的需求的推动下, 室内定位技术发展十分迅速, 目前室内定位技术被广泛应用于医院, 超市, 工厂, 博物馆等场所[1]. 根据获得环境参数与数据采集方式的不同, 目前常用的室内定位方法主要有基于WiFi、蓝牙、ZigBee、超带宽、超声波、红外线以及 RFID技术等7种[2]. 射频识别(Radio Frequency Identification, RFID)是一种利用射频信号自动识别目标信号对象并获取相关信息的技术. 由于RFID技术可以在非接触, 非测距的情况下自动识别标签以及可以同时识别多个标签, 同时具有低廉的设备成本, 操作方便, 定位精度相比其他方法要高等优点, 使其成为最常用的室内定位技术[3].

目前常用的室内定位方法根据是否需要测量节点间距分为两类, 分别是基于测距的定位方法和非测距的定位方法[4]. 基于测距的定位方法主要有信号到达时间(TOA)、到达时间差(TDOA)、到达角(AOA)和接收信号强度(RSSI)四种方法, 基于非测距的定位有两种, 分别是场景分析定位方法和近似度定位方法. 由于基于RSSI的室内定位方法具有布置简单, 复杂度低等特点, 已成为目前最常用的室内定位方法, 但存在定位精度不高, 受环境影响较大等问题[5].

为了解决以上问题, 本文提出一种结合BP和DNN模型的双神经网络的RFID室内定位算法, 通过引入双神经网络模型解决现有的基于RFID的室内定位技术中复杂的室内环境对路径损耗系数n的影响, 以及如何提高定位精度、克服传统定位算法实时性差的问题.

1 RFID室内定位技术 1.1 RFID定位方法分类

根据定位方法是否需要测距来分类可以将RFID室内定位方法分为2种, 分别是测距方法和非测距方法. 基于测距的RFID室内定位方法通过测量未知节点与锚点间的距离、角度等信息, 结合三角测量、最大似然估计等算法来实现定位; 基于非测距的RFID室内定位方法通过网络连通性和场景分析等特征实现定位. 与基于测距的定位方法相比, 非测距方法的定位更容易受到外界因素的影响, 很少应用到实际场景中. RFID室内定位方法分类如图1所示.

图 1 RFID室内定位方法分类

在考虑室内环境的影响、成本、复杂度等因素后, 由于基于RSSI的定位方法测距简单, 成本较小, 易于实现, 已成为目前最常用的室内定位方法, 但有定位误差大, 实时性差, 受室内环境影响较大等缺陷.

1.2 基于RSSI的RFID定位算法原理

接收信号强度的衰减和距离有一定的指数关系, 随着距离的增加, 接收信号强度越来越弱, 同时接收信号强度也受环境影响, 室内传播环境不同, 路径损耗也不同. 常用的基于RSSI 定位算法通常采用经典信号传播模型(路径-损耗模型)[6], 如式(1) 所示:

$RS\!S\!I(d) = RS\!S\!I({d_0}) - 10n\lg \frac{d}{{{d_0}}} + {X_\sigma }$ (1)

其中, n代表路径损耗系数[7], d为待测标签与读写器的距离, d0表示与地面的参考距离, 通常取1 m, RSSI (d)和RSSI (d0)分别表示读写器读取到的与读写器距离为dd0的目标标签的接收信号强度, X为噪声干扰, X服从正态分布N (0, σ2), 通常可忽略噪声干扰, 取d0=1 m, 可将(1) 式简化为:

$RS\!S\!I(d) = RS\!S\!I({d_0}) - 10n\lg d$ (2)

根据测量得到的RSSI (d), RSSI (d0)值, 再结合路径损耗系数n, 由式(2)即可得到待测标签到读写器的距离d, 再根据性能指标式(3)就可得到待测标签的坐标.

$J = \min \sum\limits_{i = 1}^m {\left| {{{(x - {x_i})}^2} + {{(y - {y_i})}^2} - {d_i}} \right|} $ (3)

其中, (xi, yi)表示m个读写器的坐标.

由于神经网络可以拟合任意连续的函数, 由传统的路径-损耗模型可知, 接收信号强度值RSSI与路径损耗系数n之间存在函数关系, 由性能指标式(3)可知标签到读写器的距离d与实际的坐标值之间也存在函数关系, 所以可以将传统的室内定位技术与神经网络技术相结合, 实现实时高精度定位.

2 基于双神经网络的RFID室内定位算法 2.1 算法分析

由于室内环境复杂多变[8], 路径损耗系数n随着室内传播环境的变化而变化, 而传统的基于RSSI的室内定位算法通常取固定值, 导致系统定位精度较差[9]. 本文将传统基于RSSI的室内定位方法与神经网络结合起来, 利用神经网络可以拟合任意一个连续的函数关系的特点, 拟合接收信号强度RSSI与路径损耗系数n以及待测标签坐标之间的函数关系. 本文设计基于BP网络和DNN网络的双神经网络模型来输出待测标签坐标. 第一步用BP网络来预测路径损耗系数n, 所以BP网络的输入为滤波后的RSSI值, 输出为路径损耗系数n, 第二步将BP网络的输出路径损耗系数n和滤波后的RSSI作为DNN网络模型的输入, 输出待测标签的坐标. 算法流程图如图2所示.

图 2 基于双神经网络的RFID室内定位算法流程图

2.2 数据预处理

对同一个阅读器接收到的多个RSSI值中, 由于存在各种因素的干扰, 收集到的数据有部分由误差引起的小概率无效数据, 为了减少误差, 剔除无效数据的干扰, 本文采取高斯滤波对数据进行预处理, 通过高斯模型[10]选取大概率发生区间的RSSI值作为有效值, 再计算算术平均值作为滤波后的输出, 从而减少小概率、强干扰对整体测量数据的影响, 提高定位的准确性.

接收信号强度值服从(0, σ2)的高斯分布, 其概率密度函数如式(4) 所示:

${F_{(RS\!S\!I)}} = \frac{1}{{\sigma \sqrt {2\pi } }} \cdot {e^{\frac{{{{(RS\!S\!I - \mu )}^2}}}{{2{\sigma ^2}}}}}$ (4)

其中,

$\mu = \frac{1}{n} \cdot \sum\limits_{k = 1}^n {RS\!S\!{I_k}} $ $\sigma = \sqrt {\frac{1}{{n - 1}} \cdot \sum\limits_{k = 1}^n {{{(RS\!S\!{I_k} - \mu )}^2}} } $ (5)

则区间 $(\mu - \sigma < RSS{I_k} < \mu + \sigma )$ 的概率公式如式(7)所示:

$\begin{split} P(\mu - \sigma < RS\!S\!{I_k} < \mu + \sigma ) & = F(\mu + \sigma ) - F(\mu - \sigma ) \\ & = \varphi (1) - \varphi ( - 1) = 0. 6826 \\ \end{split} $ (7)

计算这些RSSI值的算术平均值:

$\overline {RS\!S\!I} = \frac{1}{N} \cdot \sum\limits_{k = 1}^N {RS\!S\!{I_k}} , RS\!S\!{I_k} \in (\mu - \sigma , \mu + \sigma )$ (8)
2.3 设计双神经网络模型

由万能近似(universal approximation theorem)定理可以证明, 神经网络能够拟合连续函数, 而根据传统的路径-损耗模型可知接收信号强度RSSI和路径损耗系数n、待测标签坐标(x, y)之间存在函数关系, 所以本文设计BP网络模型来预测路径损耗系数n, DNN网络模型预测待测标签的实际坐标.

本文采用Adam算法降低双神经网络模型的训练时间和复杂度, Adam算法即自适应时刻估计方法(adaptive moment estimation), 能计算每个参数的自适应学习率. 这个方法不仅存储了AdaDelta先前平方梯度的指数衰减平均值, 而且保持了先前梯度M(t)的指数衰减平均值, 从而加速神经网络训练, 优化网络训练时间, 同时降低模型的复杂度.

我们确定BP网络的输入为滤波后的RSSI值, 输出为路径损耗系数n, 由于在本文实验中设置的阅读器个数为4, 而相同环境下同一房间内的路径损耗系数n只需取一个值, 所以设定BP神经网络的输入层为4, 输出层为1. BP网络模型中的隐含层层数和节点个数的设置, 以及激活函数的选择通常根据经验确定. 首先假设隐含层的节点数, 根据经验本仿真固定隐含层节点个数为18个. 通过调节隐含层层数, 观察隐含层的拟合效果, 发现当隐含层为1时就可以达到良好的拟合效果, 而且一层网络训练时间短, 结构简单, 易于实现, 因此可以确定隐含层的层数为1层. 在确定隐含层节点数的时候, 观察隐含层节点数从8逐渐增加时的拟合效果, 发现当节点数为26时不会出现过拟合现象, 同时BP神经网络训练时间短, 得到的结果最优, 所以可以得到BP网络模型的结构为4:26:1.

由于BP网络只有3层, 输出延迟可以忽略, 得到BP模型的输出路径损耗系数n后, 将n与滤波后的接收信号强度RSSI一起作为DNN网络模型的输入, 同理可以确定DNN网络模型的隐含层层数为5, 隐含层节点个数分别为60, 50, 60, 50, 50. DNN网络模型的结构为5:60:50:60:50:50:2.

基于双神经网络模型的RSSI定位算法能够根据室内环境预测当前环境下的路径损耗系数n, 避免了因环境变化造成的定位误差, 保证了系统的鲁棒性, 同时提高了系统的定位精度.

3 实验与仿真 3.1 实验环境部署

为了验证算法的性能, 需要在实验室进行定位实验来验证, 实验室的房间面积为6 m×6 m. 本文所设计的定位系统包括4个读写器, 1个待定位的RFID标签, 1个用于采集数据的参考标签和计算机终端. 首先在房间内4个角分别放置4个读写器, 读写器高度为1.5 m, 在房间内间隔0.5 m设置100个标记点, 在每个标记点距离地面1.5 m处采集接收信号强度RSSI, 取房间俯视图左下角为坐标原点, 记录参考点的坐标并保存数据. 实验环境俯视图如图3所示.

图 3 实验环境俯视图

本实验中, 我们所用的阅读器是图4中的IMPINJ R420阅读器, 它的工作频率在920–925 MHz. 实验所用标签如图5所示.

图 4 IMPINJ阅读器

图 5 实验所用RFID标签

3.2 实验步骤

① 在房间内设置4个读写器, 分别对每个参考标签连续采样30次得到第i个标签的信号强度值 $RSSI_{i,j}^k $ , 记为Ri, 其中i=1, 2, 3,…, 100, j=1, 2, 3, 4, k=1, 2, 3,…, 30, 并记录对应第i个标签的坐标Pi(xi,yi). 将每个标签的信号强度值与坐标联合在一起, 得到含噪声的原始训练数据集D={(R1, , P1), (R2, P2),… (Ri, Pi)}.

② 同一个阅读器接收到的连续多个RSSI值符合高斯分布, 为了减少干扰, 剔除噪声数据, 需要对采集到的信号强度值RSSI进行去噪预处理. 通过高斯模型选取大概率区间内的RSSI值作为有效数据, RSSI与高斯函数的关系如下:

${F_{(RSSI_{i, j}^k)}} = \frac{1}{{\sigma \sqrt {2\pi } }} \cdot {e^{\frac{{{{(RSSI_{i, j}^k - \mu )}^2}}}{{2{\sigma ^2}}}}}$ (9)
${\text{其中}},\mu = \frac{1}{k} \cdot \sum\limits_{d - 1}^k {RS\!S\!I_{i, j}^k} $ (10)
$\sigma = \sqrt {\frac{1}{{k - 1}} \cdot \sum\limits_{d - 1}^k {{{(RSSI_{i, j}^k - \mu )}^2}} } $ (11)

RSSIi, jk为第j个阅读器读取到的第i个标签的第k个信号强度值, 其中i=1, 2, 3,…, 100, j=1, 2, 3, 4, k=1, 2, 3,…, 30.

取大概率区间内的接收信号强度值作为有效数据保留, 再对k次测量中所有的有效数据求平均值, 过程如下:

$D_{i, j}' = \frac{1}{m}\sum\limits_{l = 1}^m {RS\!S\!I_{i, j}^l} $ (12)

其中, m为连续测量k次中符合大概率区间内的信号强度值的个数, Di, j表示第i个标签被第j个读写器所读取到的滤波后的信号强度值RSSI的平均值, 记为R'i={D'i, 1, D'i, 2, D'i, 3, D'i, 4}.

③ 滤波后选取10个距离读写器d0=1 m处的参考标签的信号强度值RSSI, 即 ${D_d'} $ , d=1, 2,…, 10, 计算其平均值 $\overline {D_d'} $ , 由式(2) 可求得路径损耗系数ni, 如下所示:

${n_i} = \frac{{\overline {D_d'} - {R_i}}}{{10\log {d_i}}}$ (13)

将其取平均值, 得到最终的路径损耗系数n.

④ 将滤波后得到的信号强度值RSSI和路径损耗系数n放在一起, 得到BP神经网络的训练数据集D1, 将滤波后的信号强度值Ri与路径损耗系数n和标签坐标Pi联合在一起得到新的DNN网络的训练数据集D2, 建立离线训练数据集.

⑤ 得到新的训练数据集之后, 采用k-折交叉验证法来训练BP网络模型. 将数据集D1分成10份, 其中一份当做测试集, 其他9份作为训练集, 重复划分并训练模型10次, 即可得到泛化误差最小的模型, 从而得到不同的环境下的不同的路径损耗系数n, 避免了环境对定位精度的影响.

⑥ 得到DNN的数据集D2之后, 采用k-折交叉验证法来训练DNN网络模型, 优化模型参数, 得到最优的DNN模型, 该模型保证了定位的实时性, 有效避免因复杂多变的室内环境而产生的定位误差.

⑦ 在线实时预测待测标签坐标. 当有RFID标签进入到阅读器接收区域后, 经过步骤③的数据预处理得到滤波后的信号强度值RSSI, 将其输入到训练好的双神经网络模型中, 即可输出待测标签的精确坐标.

3.3 实验结果分析

在Python2.7环境下, 分别对基于双神经网络的RFID定位算法和传统的基于RSSI的定位算法和基于ANN网络的RSSI定位算法进行仿真, 定位结果如下图所示. 其中, 在图6中, 圆点“○”为待测标签的实际坐标, 菱形“◇”为基于双神经网络的定位算法得到的预测坐标, 三角形“Δ”为基于双神经网络的定位算法得到的预测坐标, 十字“ + ”表示基于ANN网络的RSSI定位算法得到的坐标. 由图7可知, 传统的基于RSSI的定位算法平均误差为0.9481米, 基于ANN网络的定位算法平均误差为0.589米, 而本文提出的基于双神经网络的RFID定位算法平均误差为0.4216米, 可以看出本文提出的算法定位精度有明显提高. 跟踪定位效果如图8所示.

图 6 实际坐标与仿真结果

在相同的实验环境下, 我们采用4个方法做了4组实验, 每组中记录10次定位所花费的时间并取其平均值, 平均每次定位所需时间如表1所示. 由表1可知, 基于双神经网络的RSSI定位方法平均定位所需时间要少于1 s, 能够满足实时定位的需求, 本文算法的复杂度明显优于BP模型和ANN模型, 平均每次定位所需时间更短, 具有更好的实时性.

从实验结果可以看出本文提出的算法减少了定位误差, 定位所需时间更短, 双神经网络模型的计算复杂度低于BP模型和ANN模型, 本算法能够根据室内环境的变化计算出当前环境下的路径损耗系数n, 从而减少定位误差, 系统的鲁棒性和定位精度有明显提高, 同时定位效率有了明显改善, 在静态物体定位和运动物体跟踪定位方面都有良好的效果, 能够满足实时定位的要求.

图 7 定位误差

图 8 运动情况下跟踪效果

表 1 平均每次定位时间(s)

4 结论

针对传统的基于RSSI 的定位方法存在受环境影响较大, 定位精度不高等缺点[11], 本文结合神经网络算法, 提出一种基于双神经网络的RFID室内定位算法, 利用双神经网络实现对当前环境下的路径损耗系数的预测并精确输出待测标签的实际坐标, 由实验结果可知, 本文提出的基于双神经网络的定位算法大幅减少了定位误差, 克服了室内环境变化对路径损耗系数n的影响, 能够提高定位系统的鲁棒性, 并且具有更好的实时性, 能够部署在图书馆, 超市等环境, 有着广泛的应用前景.

参考文献
[1]
Wu KS, Xiao J, Yi YW, et al. CSI-based indoor localization. IEEE Transactions on Parallel and Distributed Systems, 2013, 24(7): 1300-1309. DOI:10.1109/TPDS.2012.214
[2]
梁久祯. 无线定位系统. 北京: 电子工业出版社, 2013.
[3]
杨奎河, 胡新红. 室内定位技术研究综述. 信息通信, 2018(8): 106-109. DOI:10.3969/j.issn.1673-1131.2018.08.045
[4]
石敏, 周后盘, 吴辉, 等. 室内定位技术发展与研究综述. 计算机时代, 2018(8): 1-4.
[5]
Wu L, Huang LY. Improvement of location methods based on RFID. The Journal of China Universities of Posts and Telecommunications, 2013, 20(6): 36-41. DOI:10.1016/S1005-8885(13)60106-5
[6]
龙海燕, 张天飞, 丁娇, 等. 一种改进的RSSI定位算法研究. 河北北方学院学报(自然科学版), 2018, 34(11): 20-23, 28.
[7]
张宝山, 童紫原, 唐守锋, 等. 基于RSSI的室内定位技术综述. 计算机时代, 2018, 313(7): 1-4, 8.
[8]
Subedi S, Pauls E, Zhang YD. Accurate localization and tracking of a passive RFID reader based on RSSI measurements. IEEE Journal of Radio Frequency Identification, 2017, 1(2): 144-154. DOI:10.1109/JRFID.2017.2765618
[9]
刘佳玲. 基于RFID的定位系统. 电子技术与软件工程, 2018(16): 29.
[10]
Shangguan LF, Yang Z, Liu AX, et al. Relative localization of RFID tags using spatial-temporal phase profiling. Proceedings of the 12th USENIX Conference on Networked Systems Design and Implementation. Oakland, CA, USA. 2015. 251–263.
[11]
石琴琴, 徐强, 张建平, 等. 基于RSSI测距的室内目标定位方法. 电子测量与仪器学报, 2018, 32(2): 86-91.