物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  其他  >  正文

粒子群神经网络算法的RFID定位应用研究

作者:周蕾蕾、刘成友、马俊、秦航、蒋红兵
来源:RFID世界网
日期:2018-07-06 13:49:05
摘要:将粒子群算法( Particle Swarm Optimization,PSO)优化 BP( Back Propagation)网络的学习算法应用于射频定位。搭建实验平台,采集样本数据 ;在此基础上,进行训练学习,求得 RFID 读写器与标签之间“信号强度—坐标” 的映射关系 ;并对其进行测试,探讨粒子群神经网络算法在 RFID 定位中应用的优势。

  医院医疗设备的使用和管理情况反映了医院的现代化程度。医疗设备数量的增多,精细度的提高,使得医疗设备的信息化管理成为一种趋势。射频识别技术( Radio Frequency Identifcation, RFID),是一种非接触式的自动识别技术,通过射频信号自动识别目标对象并获取相关数据,具有精度高、适应环境能力强等优点 [1]。 RFID 在医疗设备管理中的应用正在逐渐兴起,使得设备闲置、流失、重复购置等问题的解决成为可能 [2]。

  精确定位是医疗设备管理的基本要求, RFID 读写器和标签的分布情况,以及定位算法优劣直接影响定位的精确度。经典的无线定位( Time of Arrival, TOA) [3] 算法,基于信号到达角度的定位算法( Angle of Arrival,AOA) [4] 算法,射 频 标 签 信 号 强 度( Received Signal Strength Indication,RSSI) [5-6] 算法等定位算法有各自的特点,但面对医院复杂的环境有一定的局限性。

  本文将粒子群算法( Particle Swarm Optimization,PSO)优化 BP( Back Propagation)网络的学习算法应用于射频定位。搭建实验平台,采集样本数据 ;在此基础上,进行训练学习,求得 RFID 读写器与标签之间“信号强度—坐标” 的映射关系 ;并对其进行测试,探讨粒子群神经网络算法在 RFID 定位中应用的优势。

  粒子群神经网络原理

  1.1 BP神经网络算法

  BP 神经网络用到的算法是向量乘法,并且广泛采用符号函数及其各种逼近。对于输入层的信号,要先向前传播到隐藏层,经过作用函数后,再信息传播到输出层节点,最后输出结果,见图 1。神经网络是一种按误差逆传播算法训练的多层前馈网络 [7],是目前应用最广泛的神经网络模型之一。可以实现自我学习、自我组织、自我适应等特性,也是神经网络计算方法与传统方法的区别所在。它的学习规则是最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小 [8]。

1

  1.2 粒子群算法

  粒子群算法同模拟退火算法相似一样,是一种进化算法。该算法的优点在于它可以从随机解出发,通过迭代寻找最优途径 [9-10]。设在 D 维搜索空间中,共有 M 个粒子组成一个群体,记第 i 个粒子空间位置为 xi 是优化问题的潜在最优解,粒子的速度记为 vi,当代最佳位置记作 pibest,历史最佳位置记作 pbest,第 n 代粒子,进化到第 n+1 代的速度和位置方程为 :

1

  其中, u 为惯性权值, u 的引入使 PSO 可以调节算法的全局与局部寻优能力,一般使用线性惯性权值 ; c1 和 c2 为加速系数, 取正值 ; r1 和 r2 为两个在 [0,1] 内变化的随机数 [11]。

  1.3 粒子群优化BP神经网络算法

  BP 神经网络算法是一种能够寻优的黑盒子算法,然而实验表明, BP 神经网络算法易陷入局部极值,从而难以保证收敛到全局极小点 [12]。此外,神经网络是基于反向传播的梯度下降算法,其收敛速度慢,学习效果难以令人满意本。因而本文使用粒子群算法对BP神经网络算法进行优化,实现流程见图 2。

1

  RFID室内定位系统

  2.1 RFID定位系统

  一套完整的RFID系统包括射频电子标签、射频读写器、PC 移动终端机、附属设备等 [13]。射频读写器通过天线可以激发射频标签,并获取接收的信号强度 RSSI 等信息。

  本文构建的 RFID 定位系统由 KL9201B 射频读写器,18000-6C 无源不粘胶贴片标签(无源标签贴于卡片表面,模拟实际医疗工件,每个标签分配唯一设备编码),使用上位机软件为 UHFReader188B,射频读写器与 PC 端使用RS232 传输数据。根据 RSSI 强度信息、构建神经网络进行定位, PSO-BP 神经网络的室内定位模型,见图 3。

1

  2.2 试验布局及方法

  本文通过移动卡片位置来改变标签坐标,射频读写器读取标签信号强度与两者之间的距离有关。因此可以根据3 点天线读取的标签信号强度来确定标签位置。实验分布图,见图 4。

1

  所使用实验面板为 10 dm× 10 dm,实验单为 1 dm× 1 dm。为了方便说明数据采集过程与计算结果分析,本文以该正方形的一个顶点作为坐标原点 O(0,0),以相交于该原点的两条边作为横纵坐标轴( x 轴和 y 轴),形成平面直角坐标系。正方形检测区域,见图 4, 3 个 RFID信号读写器被放置在该正方形区域的 3 个定点上,即坐标原点 O(0,0),顶点 (0,10),顶点 (10,0),为了使读写器检测到的范围尽可能大且信号强度呈现一定的对称性,所有读写器摆放角度为 45° 角。

  将整个正方形区域分别以平行于 x 轴与 y 轴的方向按照相等间距划分,间隔距离为 1 dm,形成 100 块相等大小的小正方形。由于检测区域中接近正方形边界处信号强度受传感器角度影响极大,会对后续的神经网络的定位学习产生干扰 [14],因此本实验中没有考虑在检测区域边界处的RFID 信号接收情况,即坐标点 (1,1)(9,1)(1,9)(9,9) 所围成的范围内放置 RFID 电子标签,在检测区域所划定网格的每个交点上均放置一个 RFID 电子标签。图中虚线表示平行于 x 轴或 y 轴的方向的若干条划分线,在所有划分线的交点上的圆点表示 RFID 电子标签所在位置。

  2.3 PSO-BP神经网络的构建

  BP 神经网络结构模型拓扑结构包括输入层、隐含层和输出层,因为在实验过程中使用 3 个天线对射频标签 RSSI值进行测量,因此输入层的输入变量为 3 个。为简化定位模型,输出层选取平面坐标,即有 2 个输出量。由于本实验节点和输出节点相对较少,本文选用隐含层个数为 2 层。综上所述,本文构建 PSO-BP 神经网络模型采用 3:16:2:2的网络结构。

  在数据计算时,将测量数据分为两个子集 :第一个子集为训练数据集,数据量为 66 组数据,其中包括 198 输入变量和 132 输出量,该子集数据用于训练 PSO-BP 模型 ;第二个子集为测试集,数据量为 15 组,使用训练后的PSO-BP 模型预测测试子集数据的频标签的坐标,以衡量PSO-BP 神经网络模型的优劣性。

  结果

  在信号采集部分,首先记录了 81 个电子标签所在检测区域中的坐标信息,然后分别用 3 个读写器来采集 81 个电子标签的 RSSI 数据。由于信号强度受环境影响较大,计算机终端上的信号采集软件中显示的数据会有较频繁的波动,因此在采集每个电子标签的 RSSI 数据时,重复读取10 次并对其进行平均处理得到更为合理的 RSSI 数值 [15]。为了更直观表示检测区域内 RSSI 的分布状况,本研究利用MATLAB 分别绘制了 RSSI 值分布图,见图 5。

1

  由于实验客观条件限制,过多的电子标签个数相互之间会产生干扰,并且大大提高了实验的复杂性。本研究所获得的 RSSI 数据是离散的。为了能够尽可能还原出实际的RSSI信号的分布,在绘制 RSSI 分布图时使用了线性插值。颜色变化和曲面高度与 RSSI 数值对应,见图 5。红色对应 RSSI 高值,蓝色对应 RSSI 低值,黄色为 RSSI 值由高到低的过渡值。读写器放置在 3 种位置下的检测结果 RSSI 分布趋势均相同,即RSSI 值随着到读写器的距离增加而减小,读写器(读写器和天线为一体封装式)是平板状且为 45° 摆放状态,所以采集的数据呈现中值—边缘效应,即靠近检测区域边缘处的 RSSI 值下降较快。

  为减少 POS-BP 神经网络训练时间,本文将读写器获取的 81 组数据进行无量纲、归一化处理,并使用经预处理的数据对 POS-BP 神经网络进行学习测试。设置 POS-BP神经网络结构 :输入层节点数为 3,对应 3 个读写器接收的 RSSI 值 ;输出层节点为 2,对应坐标值 ;隐藏层选用两层结构,节点个数选择 16× 2 ;训练步长选择 0.05,训练目标的最小误差为 0.0007 ;从 81 组数据中随机选择 66组数据作为训练集数据,训练结果见图 6 ;

1

  训练结束后使用训练后的 POS-BP 神经网络对余下的 15 组数据进行测试,绿色圆圈标注剩余的 15 个电子标签所在位置,红色叉号标注由 RSSI 数据运用 PSO-BP 算法恢复出的坐标位置,测试结果位置与真实值误差为 5.31 mm,测试结果见图 7。

  结论

  将 RFID 技术应用于医院医疗设备的精细化管理是目前数字化医院研究的重点。特别是室内定位识别技术,各种定位技术之间没有通用的标准。未来定位技术的发展,对系统的精确度、标准化、实用性等提出了更高的要求。多种定位算法的融合,以及实现 3D 定位将成为发展趋势,对于 RFID 技术的研究还有很长的路需要去探讨。

  传统的基于 RSSI 定位算法,多采用射频标签信号传递经验模型,将 RSSI 值转化为距离信息,通过三圆几何交点关系可以快速计算射频标签位置信息 [16]。在实际应用中,RSSI 值受室内环境影响,波动很大, RSSI 经验模型得到的距离误差较大,精度较低,稳定性差 [17]。

  在本文工作中我们不难发现, RSSI 值的大小不仅与标签到读写器的距离有关,同时还与射频读写器矢状面夹角有一定的关系。分析可知,对于获取相同距离的射频标签 RSSI 值,夹角越大, RSSI 值衰减越快。本文提出的PSO-BP 算法,可以直接使用 RSSI 值进行定位,定位过程分为两段,即模型训练和模型的测试,该算法能兼具有粒子群算法和神经网络模型的优点,粒子群算法能够为神经网络模型提供最优的初始值,减少神经网络模型过度训练和局部收敛的几率。

  PSO-BP 模型训练的过程其本质为对历史数据的记忆过程,模型测试(预测)过程本质为在历史数据中寻找最优位置信息,当训练位置信息越多,训练精度越高,测试精度也越精确。在室内环境下,本算法可使用“隐式”、“黑匣子” 将 RSSI 值与位置信息关联起来,因而规避了 RSSI值转化距离时参数值(受室内环境因素较大)的估计,可在一定程度上提高室内定位的精度。然而,实验中使用试验台为 1 m× 1 m,接下来我们将扩大实验区域进行进一步探讨。此外,实验过程中还有摆位等误差的存在使得本算法具有一定的局限性,可以说基于射频标签的定位技术仍需不断的努力。