BP神经网络在射频识别定位系统中的应用研究
0 引言
随着科技的不断进步,定位技术也在迅速发展[1]。目前常用的定位技术包括红外线、超声波、全球定位、无线局域网、超宽带、射频识别(Radio Frequency Identification,RFID)和视觉等技术,其中,RFID技术由于具有非视距传播、识别速度快和成本较低等优点日益受到关注[4-5]。
射频识别技术是一种非接触式识别技术,根据工作频率的高低可以分为低频、高频、超高频和微波,频率越高读取范围越大,同时又可以根据所采用标签的不同,分为无源、半有源、有源三种。无源标签自身没有电源,而有源标签自身带电源,半有源标签自身带电源但是只有接收到信号后才对外发射信号,无源标签相比于有源标签的优点是不需要安装电池,成本低。
射频识别技术最早的应用可以追溯到2003年沃尔玛公司,该公司在其供应链中采用了射频识别技术,提高了生产效率[6];之后美国福特公司也在其北美和欧洲的物流管理过程中采用了视频识别技术,用于管理配件,结果表明也可以有效提升管理效率[7];现在的不停车收费系统其可以采用该技术实现,车辆在经过收费站时无需停车就可以实现车辆收费[8];同样该技术也可以应用到医疗设备的定位、防盗监控中,已有的实践结果表明,采用射频识别技术可以提高医院的效率,方便快捷地查找医疗设备[9]。
但是采用射频技术用于室内环境的定位,由于存在信号干扰,并且对于精度的要求较高,因此一直存在问题。
人工神经网络具有自学习功能,可以实现自适应功能,已有的研究表明采用神经网络方法可以显著提高精确性[9],并且不需要知道接收到信号强度值的分布规律[10],即使是利用有干扰的信号用于与实际坐标位置的训练,神经网络也能够通过补偿来获取准确位置。
为此,本文对如何利用神经网络提高基于无源标签的RFID定位技术进行了研究。
1 实验布局
所采用的RFID系统由标签、读取器、天线、接口和计算机五部分组成,其示意图如图1。其中,标签采用无源标签,无源标签贴到小车上表示实际工件,且每个标签被分配了唯一的电子产品代码以实现跟踪和识别,不仅可以读取存储在通过天线的标签信息,而且可将数据写入标签;天线负责无线电传输,既输出无线电波又接收无线电波信号,在本研究中结合实际情况采用了超高频段;所有的天线连接到读取器,读取器可以直接与标记相互作用并读取存储在标签信息或写入数据到标签;接口软件起到过滤及从读取器读取数据的作用,接口软件的信息可以传递给计算机。各种设备的参数见表1。
2 实验方法
通过移动小车到不同的正方形区域,可以改变与四个天线之间的距离,而接收信号强度与所述距离相关,从而会得到不同位置时所对应的信号强度值与小车距离之间的对应关系。因此在实验过程中,根据接收信号的强弱(Received Signal Strength Indicator,RSSI)来实现定位。人工神经网络作为定位算法训练RSSI值以得到RSSI值和物体的物理坐标之间的关系。
所采用的校准板如图2所示,长度为60 cm,宽度为50 cm,对于校准电路板的每个小正方形,每边长3 cm,每个小正方形将被分配一对坐标(X,Y),坐标原点被设置在左下角。
实验将分为两个阶段。首先,在离线状态,利用位置已知点来训练神经网络,之后通过接收到的RSSI值实现定位。
天线的布局如图3所示,采用四角安装的方式。
3 神经网络的设计
3.1 神经网络结构
本次采用的是BP(BackproPagation,BP)神经网络,此类型的网络是前馈网络,通过反向传播不断调整网络的权值和阈值,使网络的误差平方和最小[11]。BP神经网络模型拓扑结构包括输入层、隐含层和输出层。因为实验过程中采用了4个天线,每一个天线会得到不同的信号强度,因此输入层的输入量为4个。在实验过程中将利用神经网络预测一个二维平面,输出量包含x和y坐标值,输出量为2个。经过多次试验,并通过改变在每个隐含层和神经元的数目,最终确定该神经网络包含2个隐藏层,第一隐含层有9个神经元,第二隐含层有5个神经元。图4给出了神经网络结构。
3.2 神经网络参数配置
需要说明的是在小车移动过程中,标签的方向不变,因为标签方向的改变可以影响与天线之间的通信,从而影响接收到的信号强度[11]。
在MATLAB中,训练多层网络时,一般的做法是将数据分成三个子集。第一子集是训练集,用于计算梯度和更新网络权重值和偏差值;第二子集是验证集,避免出现过度拟合现象;第三个子集是测试集,用于测试所训练神经网络的效果。
所采用的数据点在整个标准板内类似随机分布,从而使得神经网络能够充分地学习数据并进行精确的预测。训练样本总共有76个,测试样本10个,验证样本10个,具体位置如图5所示。
网格训练采用trainlm函数进行训练,此函数基于Levenberg-Marquardt反向传播原理,通过不断更新权重和偏差值来实现。
BP神经网络性能评价方法一般采用目标值和输出值均方差函数来表示:
其中,ti表示第ith个目标值,oi为第ith的输出值。
图6所示为迭代次数为14次时的均方差曲线,在第8次迭代时,验证集的均方误差达到3.115 9,之后均方误差连续6次没有继续降低,程序就停止迭代,以免出现过度拟合现象,导致训练数据误差很小,但是测试数据误差很大。
4 结果及讨论
需要说明的是由于标签本身有一定的尺寸(10×50),其实际坐标确定为其中心点坐标。
图7给出了训练后所得到的实际坐标和预测坐标之间的关系,用横坐标表示目标值(不区分X坐标或Y坐标),纵坐标表示预测值,给出了预测值的拟合曲线。
如果预测值和目标值完全一致,则预测值应该全部落到45°线上,但是从图中可以发现,该拟合曲线与45°线存在偏差,拟合曲线的拟合方程为:
Output=0.99Target+0.024
其中,Output 表示预测值,Target表示目标值,可见得到的预测数据和目标值非常接近,这表明了该网络的良好预测性能。
为了更为清楚地说明实验结果,图8给出了目标值和预测值在二维坐标内的对比图。由图8知,所有的预测值和实际值之间的差距都比较小,都在2 cm以内。由于标签自身存在一定的体积,由此可见,目标值和预测值之间的重合度较好。
图9为预测值的欧几里得误差图。欧几里得误差的描述方法为:
其中,TargetX为X坐标目标值,TargetY为Y坐标目标值,EstimateX为预测X坐标值,EstimateY为预测Y坐标值。
可见最大欧几里得误差为2.54,最小欧几里德误差为0.13,平均误差为0.996 6,小于1。
5 结论
将BP神经网络应用到射频识别定位技术中,通过实验验证可以得到以下结论:
(1)通过验证集数据验证是否存在过度拟合的现象,有助于改善神经网络;(2)在一个60 cm×50 cm的区域内通过四角布置4个天线,采用BP神经网络可以将定位误差控制在2 cm以内;(3)利用BP神经网络改善射频识别定位技术的精度是可行的。