BP神经网络在射频识别定位系统中的应用研究
moboyou 2025-05-22 12:11 26 浏览
徐 平,沙从术,赵芳杰
(河南工程学院 土木工程学院,河南 郑州451191)
摘 要:为了提高采用射频识别技术进行定位的精度,针对无源标签射频识别技术及采用BP神经网络对其定位精度的改善进行了研究。首先建立了基于无源标签的射频识别定位系统,之后建立了相应的BP神经网络,并通过实验进行了验证。实验结果表明,在60 cm×50 cm的区域内,通过四角布置四个天线,利用信号强度作为输入信号,采用BP神经网络可以将定位误差控制在2 cm以内,平均欧几里得误差控制在1以内。说明采用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神经网络改善射频识别定位技术的精度是可行的。
参考文献
[1] 曹世华.室内定位技术和系统的研究进展[J].计算机系统应用,2013(9):1-5.
[2] REEDER S.Radio frequency identification device(RFID) and real time location systems(RTLS) enhance nursing care delivery[C].Sigma Theta Tau:International′s 25th International Nursing Research Congress,2014.
[3] JI Y.Dynamic 3-D indoor radio propagation model and applications with radios from 433 MHz to 2.4 GHz[J].International Journal of Communications,Network and System Sciences,2012,5(11):753-766.
[4] KIM S H,PARK H,BANG H C,et al.An indoor location tracking based on mobile RFID for smart exhibition service[J].Journal of Computer Virology and Hacking Techniques,2014,10(2):89-96.
[5] LI N,BECERIK G B.Performance-based evaluation of RFID-based indoor location sensing solutions for the built environment[J].Advanced Engineering Informatics,2011,25(3):535-546.
[6] MASSUOD O,HASSAN S.Improved supply chain performance through RFID technology:comparative case analysis of Metro Group and Wal-Mart.Master of Information Systems Technology-Research thesis[D].Waollongong:University of Waollongong,2012.
[7] LI Z K,GADH R,PRABHU B.Applications of RFID technology and smart parts in manufacturing[C].San Diego:International Design Engineering Technical Conferences and Computers and Information in Engineering Conference,2004.
[8] SALUNKE P.Automated toll collection system using RFID[J].IOSR Journal of Computer Engineering(IOSRJCE),2013,9(2):61-66.
[9] GHOLAMI M,CAI N,BRENNAN R W.An artificial neural network approach to the problem of wireless sensors network localization[J].Robotics and Computer-Integrated Manufacturing,2013,29(1):96-109.
[10] HECHT N R.Theory of the backpropagation neural network[C].Michigan:International Joint Conference on.1989.
[11] 康东,石喜勤,李勇鹏.射频识别(RFID)核心技术与典型应用开发案例[M].北京:人民邮电出版社,2008.
相关推荐
- Node.js 获取文件信息及路径(node.js怎么获取当前文件路径)
-
获取文件信息每个文件都有一组细节,我们可以使用Node.js进行检查。特别是使用fs模块提供的stat()方法。constfs=require('fs');fs.stat(...
- 深入剖析JavaScript中深浅拷贝(js实现深浅拷贝)
-
大家好,我是Echa。最近有一位00后的小妹妹粉丝私信小编说自己很喜欢编程,目前在某公司实习前端开发工作,说到现在为止还没有搞懂JavaScript中深拷贝和浅拷贝这个问题,同时也在网上看了很多关于深...
- 为什么高手写 JS 总是又快又好?这10个技巧你要知道
-
大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!JavaScript是前端开发的重要语言...
- IT技术栈:Javascript神器,URL.createObjectURL()
-
URL.createObjectURL()是JavaScript中的一个方法,用于创建一个特殊的URL,该URL可以用于将不支持直接加载的数据(如二进制数据或Blob对象)嵌入到we...
- 如何在 Linux 中创建和管理组?(linux如何建立组)
-
在Linux中,组是用户账户的集合,用于统一管理权限。每个用户至少属于一个主组(PrimaryGroup),还可以加入多个附加组(SupplementaryGroup)。组的权限设置决定了用户对文...
- 付费文库内容无法复制,不用任何工具,学会这4种方法轻松复制
-
关注职场办公,分享实用干货,洞察科技资讯,这里是「职场科技范」。我们在搜索资料的时候,看到非常有用的文库,但往往都是付费的,只能看不能复制。今天就来教大家,学会下面这4种方法,轻松复制文库内容。一、内...
- node.js v24.0.0 正式发布!10大重磅更新助力开发者,性能大幅提升
-
近日,Node.js官方团队正式发布了Node.jsv24.0.0版本,这是一个具有里程碑意义的重大更新。作为"Current"版本,它将在未来六个月内引领Node.js...
- 我理解的网站产品经理之四:网站产品前端姿势
-
来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。2016年了,嗨,大家新年好。作为一个网页的产品经理,网页的前端知识可谓是不能不知,本文主讲网站产品的前端姿势。通常,...
- 五一我要看七天小说!免费开源的轻量化书库talebook搭建流程。
-
这次来分享一个简单阅读项目:TaleBook,项目曾用名calibre-webserver。TaleBook是一个基于Calibre的简单的个人图书管理系统,支持在线阅读。不过鉴于各种规章制度,仅...
- “5 分钟 CMake 使用指南,解决我的 C++ 打包问题!”
-
在软件开发的世界里,构建系统扮演着至关重要的角色,它不仅决定了项目的构建效率,还直接影响到团队协作的流畅度。对于许多C++开发者而言,CMake因其强大的功能和广泛的兼容性成为了构建自动化流程的...
- 大佬级鬼才终于把JavaScript整理成了修仙小说,让学习变简单
-
这是一本讲解JavaScript编程语言的技术书籍,只不过,本书采用了一种全新的写作手法。如果你厌倦了厚厚的、如同字典般的编程书籍,不妨尝试一下新的口味,话不多说,直接上干货!目录截图:内容展示:以上...
- JavaScript基础知识点总结(javascript基础入门教程)
-
//逗比小憨憨/*第一章*HTML引用js方法:*1,外部引用:HTML外部引用js:<scriptsrc="js/day1.js"></script>*2,...
- 在Node.js中处理Zip文件(node运行js文件)
-
作者:疯狂的技术宅转发链接:https://mp.weixin.qq.com/s/edJd9-t1AyTGRcha_1k6RA前言Zip文件是常用的压缩文件格式。在本文中,我将演示如何用adm-...
- Python 标准库中鲜为人知的宝藏 | Node.js 22.8.0 发布
-
Python标准库中鲜为人知的宝藏Python标准库功能强大,但有些模块却鲜为人知。本文将介绍一些有趣且实用的模块,助你提升代码效率和功能。数据结构:超越列表和字典除了常用的列表和字典,coll...
- 小程序,wxml页面里如何写JS代码?WXS如何模块化?
-
这篇接着上篇小程序,跳转页面的两种方式及其页面传参数继续讲,小程序wxml页面里如何写JS代码?wxs如何模块化?第一个问题:wxml页面要想类似HTML页面中写js代码,必须在页面中使用wxs标...
- 一周热门
- 最近发表
-
- Node.js 获取文件信息及路径(node.js怎么获取当前文件路径)
- 深入剖析JavaScript中深浅拷贝(js实现深浅拷贝)
- 为什么高手写 JS 总是又快又好?这10个技巧你要知道
- IT技术栈:Javascript神器,URL.createObjectURL()
- 如何在 Linux 中创建和管理组?(linux如何建立组)
- 付费文库内容无法复制,不用任何工具,学会这4种方法轻松复制
- node.js v24.0.0 正式发布!10大重磅更新助力开发者,性能大幅提升
- 我理解的网站产品经理之四:网站产品前端姿势
- 五一我要看七天小说!免费开源的轻量化书库talebook搭建流程。
- “5 分钟 CMake 使用指南,解决我的 C++ 打包问题!”
- 标签列表
-
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle两个表 (20)
- oracle 数据库 字符集 (20)
- oracle安装补丁 (19)
- matlab化简多项式 (20)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- css class选择器用法 (25)
- css样式引入 (30)
- html5和css3新特性 (19)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)
- 网站管理平台php源码 (19)
- php小说爬取源码 (23)
- github好玩的php项目 (18)
- 云电脑app源码 (22)
- js创建txt文件 (18)