基于视觉位置识别辅助的行人航位推算技术将视觉位置识别技术与行人航位推算技术结合在提高算法定位精度的同时将其应用空间由二维平面拓展至三维空间中,在室内定位领域具有广阔的应用前景。
图1:VPDR系统结构图
行人航位推算(Pedestrian Dead Reckoning,PDR)是利用加速度计、陀螺仪和磁力计对行人位置进行估算的一种自主定位技术。PDR可分为四个模块:步态检测模块、步长估计模块、航向估计模块和位置更新模块。在获得原始传感器数据后,对数据进行滤波降噪并在时间上对齐后,步态检测模块根据加速度值判断一步是否发生,如果一步没有发生,系统会重新读取传感器数据,接着进行步态的判断;如果一步发生则系统进入步长检测和航向估计模块,根据加速度、角速度和磁强度计算此步的步长和航向,最后利用步长和航向信息进行位置更新。PDR的工作流程图如图2所示,公式1给出位置更新原理。
(1)
其中xk和yk是行人在k时刻的坐标,slk是行人第k步的步长,Фk是行人在k时刻的航向角。由此可知,在初始位置已知的情况下,便可通过上式对行人位置进行连续估算。
图2:行人航位推算(PDR)流程图
然而行人航位推算虽然能够较便捷地对用户进行定位,但是由于陀螺仪存在累积误差,在长时间连续工作的情况下,航位推算结果的误差也会越来越大,因此需要借助其他信息对航位推算的结果进行修正以减小定位误差。基于深度学习的视觉位置识别技术可以很好地对行人航位推算做出辅助修正。
视觉位置识别(Visual Place Recognition,VPR)技术是利用视觉特征匹配的方式对用户位置进行确定的一种技术,随着深度学习技术的发展通过卷积神经网络提取图像视觉特征的方式也逐渐流行。我们设计并训练了一个基于TensorFlow架构的VPR网络,并通过CNN网络来提取输入图片的视觉特征信息,以特征向量的形式进行匹配得到本地库中与之相似度最高的图片,最终获得此相似图片标签上的位置信息来确定输入图像代表的位置地点。整个VPR网络的结构如图3所示,网络由6个卷积层和一个全连接层组成,输入为任意尺寸的图像,输出为全连接层输出的4096维向量。
图3:VPR网络结构图
VPR辅助PDR的定位方式采用松耦合的设计方案,由VPR确定用户的起始位置,而后PDR据此起始位置进行连续推算,期间可调用VPR对PDR的推算结果进行修正,除用户在发生跨越楼层的位置变化时必需VPR校正外,修正点的选取没有特殊要求。VPDR组合定位流程如图4所示。
图4:VPR和PDR组合示意图
针对我们提出的VPDR技术,实验人员进行了实地测试验证该技术的有效性。实验场景选在上海交通大学微电子楼1楼大厅、楼梯间和3楼实验室内,部分测试场景如图5所示。
图5:测试场景图
实验分为两部分,第一部分测试在同一平面内VPDR相较于PDR在定位精度方面的提升,第二部分验证VPDR在用户跨越楼层后仍能准确的进行定位。实验结果如图6和表1和表2所示。
图6:VPDR和PDR推算轨迹图;左图为精度测试的实验结果,右图为跨楼层测试的实验结果。
表1:精度测试实验误差统计表
Localization
Method |
Maximum Error(m) | Mean Error(m) | 95% Situation Error(m) |
PDR | 1.74 | 1.04 | 1.66 |
VPDR | 0.91 | 0.44 | 0.81 |
表2:跨楼层测试实验误差统计表
Localization
Method |
Maximum Error(m) | Mean Error(m) | 95% Situation Error(m) |
PDR | 14.96 | 4.29 | 10.3 |
VPDR | 1.68 | 0.46 | 0.9 |
可以看出,在精度测试实验中,VPDR较PDR平均误差改善51.2%;在跨楼层实验中,VPDR较PDR平均误差改善89.2%,在用户从一楼行进至二楼后,VPDR仍能准确推算用户位置,PDR则无法判断用户在高度上的变化。