基于机器学习与蓝牙RSSI的室内定位技术研究
2023-05-15吴春祥张检保
吴春祥,张检保
(1.广东机电职业技术学院人工智能学院,广州 510000;2.广东机电职业技术学院电子与通信学院,广州 510000)
0 引言
在智慧城市中,人们相对更多地处于室内环境,室内定位将成为不可或缺的信息服务。室内定位系统主要确定建筑物内的位置,通过软件实时找到被跟踪人员和移动设备[1]。位置信息可用于实现目标导航、监测和跟踪,以及用户行为分析及情境感知等服务。室内导航软件可以指引用户在购物中心等沿着最佳路径购买购物清单上的所有物品,在博物馆按照指定的旅游路线或选择展品,通过分析人们的移动和行为方式,对展台、场所空间进行推荐。尤其是医院、学校、公共图书馆等建筑物内通常包含复杂的空间,桌椅、家具、电器等障碍物,人员流动也会产生信号干扰,使得精确定位变得困难。室内定位已经成为智慧城市建设中亟待解决的一项重要技术。
室内定位技术基于通信和传感器技术,利用无线电波、灯光和声学信号,对室内环境的人或物体进行精确定位。随着蓝牙低功耗(bluetooth low energy,BLE)、Wi-Fi等无线射频芯片低功耗、小型化,并配备高性能处理器及传感器的移动设备普及,以及移动操作系统和应用程序,为室内定位解决方案提供了新的视角。尽管学术界和工业界一直在对室内定位技术及其解决方案进行研究,但仍有许多应用领域所要求的高精度与低成本目标尚未实现。
1 相关技术研究
室内定位技术有多种实现方式,每种都可以单独使用或结合使用,以提供更好的精度性能。目前存在许多室内定位的方法和算法。根据它们的一般特征,我们可以将其分为几类:基于三坐标定位技术、指纹识别技术、近距离检测技术、航位推算技术和基于机器学习的定位技术[2]。
基于三坐标定位技术,需放置至少三个能互相传播信号的信标,使用RSSI 信号功率测量距离变化,建立测量距离和RSSI值的参考曲线,在模型信标间收发信号的基础上,依据RSSI 与距离实现定位。具体应用中,Wi-Fi 和BLE 的RSSI 值都能很好地被测量用于室内定位。Wi-Fi实现的异质移动设备以不同的方式测量信号强度,需要被校准才能返回可靠的结果。相比Wi-Fi 而言,基于BLE 的三坐标系统不需要为每个用户进行步长校准,也不太容易受到智能手机方向变化的影响。许多室内定位系统是基于BLE 信标的。使用BLE 信标和三坐标的室内定位方法只需要适当的信标放置,不需要考虑空间的专用无线电地图,当三个参考节点放置成正三角形时定位误差最小。
指纹识别技术中的定位过程包括在线与离线两个阶段。信号(指纹)在离线阶段,整个定位区域的接收器以一定的分辨率被反复测量。在线阶段,将当前的信号读数与前一阶段保存的数值进行比较,并与测量的地点进行匹配。将当前读数与已知信号样本相匹配,结合机器学习方法,将定位问题减少为分类问题来解决。基于指纹方法需要提前构建无线电地图,并在每次映射的室内区域发生变化时重新更新。
近距离检测技术是基于定位区域内大量的接收器或发射器,不返回设备的确切位置,而是返回相对位置信息。这种定位技术被用于蜂窝网络中,将用户的设备分配到信号最强的天线上,并将用户的位置登记在该天线的附近天线。
行人航位推算(pedestrian dead reckoning,PDR)技术使用一个磁力计和一个步数计数器,计算所走的步数及其方向矢量,计算出当前的位置相对于最后一个已知的确切位置,从最后一个已知位置来确定走过的距离[3]。采用PDR 技术要求移动设备配备磁场传感器、重力传感器和步长传感器。因此,PDR 通常用在信号消退或太弱的情况下作为补充方法。
由于室内无线电信号的传输可能会受到干扰而偏差。为解决这个问题,基于机器学习的定位技术应运而生。机器学习将数据提取后进行统计分析,使系统能够学习规则和模型,能准确估计RSSI 的定位技术的复杂参数[4]。基于深度强化的半监督学习模型,既有标记的数据,也有无标记的数据,可以通过提高模型的准确性和性能,方便图书馆等人流密集的场所应用。机器学习模型可以学习到最佳行动策略,对目标位置距离估算更为接近。
2 设计方案实现
2.1 设计方案
本文实现了一种基于蓝牙RSSI 三坐标定位技术,通过k-NN机器学习方法将定位问题转化为分类问题来模拟,以一个Android 智能手机应用程序来实现定位与显示。在某高校图书馆一楼大厅天花板,安装10 个基于德州仪器(TI)的CC2420 蓝牙信标,使用HUAWEI P40 手机作为待定位的移动设备。根据信标放置点和内部结构,将大厅平面划分为A1~A8,B1~B8,C1~C9,D1~D4,E1~E5,F1~F6,G1~G5 共45个字母与数字表示的区域块,如图1所示。将各个区域块接收到信标的RSSI 输入到定义的k-NN模型用于分类。每个信标的放置位置都是已知的,对于每个区域块来说所有信标节点都是已知的。每个信标节点的RSSI 被写成一个向量,其中每个向量代表该信标节点的一个特征向量。RSSI 和特征向量被引入到训练数据中,被提供给每个类别的k-NN 分类过程。通过分类程序得到预测模型,分析移动设备RSSI 值特征与k个信标最接近,再由k个信标RSSI 计算出移动设备所在的平面区域块,从而实现了该平面内的定位。
图1 信标部署及区域分块
2.2 数据采集
安装在大厅天花板上的10 个蓝牙信标节点发射信号,由1个HUAWEI P40手智能手机在指定位置以及移动状态进行信号接收,每次测量都重复50 次并过滤掉噪声,记录平均RSSI 值,在此基础上拟合出数据模型。采集到的数据按二维表存储,包括信标地点、RSSI 读数。数据集由两个分组组成,其中一个是带标签的1280个样本,另一个是不带标签的3240 个样本。负的数值用来表示RSSI 读数,所以读数越大,离信标的距离就越近。例如,如果读数为-50,就意味着距离较小;如果读数为-75,就意味着与信标的距离较近。RSSI 的值-200 被用来表示测量值在信标的范围之外。与RSSI 读数相关的位置被整合成一列,包含字母和数字,匹配大厅平面图上的字母数字区域分块。
2.3 测试分析
使用手机作为移动设备在大厅的测试区域采集10 个蓝牙信标的RSSI 值形成数据集。通过对比分析训练阶段和测试阶段的调和平均数、召回率、准确率三个指标,对定位精度进行评估。在蓝牙信标RSSI 数据集上,训练阶段和测试阶段的定位性能评估分别如图2、图3 所示。平均调和值表明蓝牙信标识别移动设备的范围较广,召回率表明蓝牙信标识别移动设备可靠性较高。各个信标处的定位准确率都在92%以上,部分信标处的准确率甚至达到99%。
图2 训练阶段性能分析
图3 测试阶段性能分析
进一步采用k-NN 算法对数值进行回归分析,算法参数k值从1 到6 变化时性能评估指标结果见表1。从表1 可见,随着k值的增加,定位准确率逐步提高。当k增加到5 时,准确率达到峰值99.3%。而当值增加到6 时,调和平均值和召回率变化不明显,然而准确率下降到了98.5%。由此可见,当k-NN 算法的k选取为5时,系统定位性能最佳。
表1 k-NN算法性能评估
对测试结果进行分析可知,距离蓝牙信标较近的移动设备,被定位的准确性更高;在障碍物、拐角处等区域接收的信号弱且不稳定,定位精度出现下降。通过增加信标的数量,提高信标放置的密度,减少信标之间的距离,以及增加信标发射信号强度,均有助于提高准确性偏低区域的定位精度。为了克服信标无线电信号的多径传播产生的RSSI 信号反射和信号传播模型失真,本文还利用精度函数和校正函数校正待测手机位置。精度函数通过估计位置之间的中间点来迭代计算出用户的位置。纠正函数用于在手机端地图上纠正用户的位置。
3 结语
本文介绍了基于蓝牙RSSI 测距结合机器学习算法的室内定位技术,包括蓝牙信标部署及三坐标测距方案,实现了k-NN 机器学习算法在室内定位系统中的应用。在某高校图书馆室内,采集了蓝牙RSSI数据进行仿真实验和性能测试。在静态和动态测试应用场景中,系统均能够准确地识别待定位测试点。由此可见,使用k-NN机器学习算法和蓝牙RSSI 的定位技术精度优于传统定位技术。进一步研究还将引入室内平面图层增强功能,除了定义信标位置,还定义室内轮廓、墙壁等禁止区域及封闭空间,用空间感知来加强过滤空间外的信号。采用最小信号强度阈值、信号平滑和中心点计算的应用,在不同区域交界重叠处进行参数校准,进一步提高定位精度与系统整体性能。