科研笔记(三) 520到了,女票说SLAM技术能对真人做室内定位,我方了,不是机器人吗?

Hello,everyone!
我是CS科研GO,一个热衷于科研和软开的胖子!
论文题目:SemanticSLAM: Using Environment Landmarks for Unsupervised Indoor Localization
论文作者:Heba Abdelnasser,Reham Mohamed等;
工作单位:埃及-日本科技大学,埃及;
发表期刊:IEEE Transactions on Mobile Computing,2015。(注:当时为SCI一区)
520到了,我也来蹭波热度 😃

可能很多人和我一样,对SLAM存在刻板印象,觉得它是针对移动机器人的技术。那么,这篇论文是如何应用到真人身上的呢?话不多说,往下看

1. 前言

基于移动传感器的室内定位目前飞速发展,但大多数系统都依靠大量的校准步骤来实现较高的定位精度。

接下来介绍的SemanticSLAM,是一种新颖的无监督室内定位方案,可避免沿途扫描的需求。SemanticSLAM的基本思路是利用室内环境中的某些位置在手机传感器上具有唯一的特征。

例如,爬楼梯时,手机的加速度计上显示独特的模式,如下图
在这里插入图片描述
当然,也存在某个地点会受到异常的电磁干扰,而另一个地点可能会覆盖一组独特的WiFi APs。

SemanticSLAM使用环境中的这些独特点作为地标,并在新的SLAM框架中将它们与航迹推算(Dead-Reckoning)相结合,以减少定位误差和收敛时间。具体地,手机惯性传感器用于跟踪用户的路径,而观测地标用于在同一概率框架中补偿由传感器噪声引起的累积误差。

2. 研究背景

目前,室内定位技术仍然不够完善,达不到GPS在室外场景中的定位效果。其原因在于:

  • 有一类室内定位技术,依赖于特殊的硬件(UWB、RFID等),限制了此类技术的可扩展性。
  • 基于WiFi的定位系统,提供了无处不在的定位,然而,它需要大量的人力和时间成本部署系统,后期还需要繁琐的校准工作。
  • 为了减少这些校准工作,研究人员提出了一些新颖的系统。然而,这些系统的简单通常以牺牲定位精度为代价。
  • PDR(Pedestrians Dead Reckoning)技术利用传感器计算用户的步数和航向从而判断用户在环境中的位置。然而,由于航迹推算过程中误差的快速累积,需要频繁的校准用户位置。

SemanticSLAM的出现,从一定程度上而言避免了上述问题,做到了系统部署成本和定位精度上的平衡取舍。

3. SemanticSLAM系统架构

同EKF-SLAM算法相比,FastSLAM算法的时间复杂度低,并且更善于处理非线性模型和数据关联问题。因此,论文选择FastSLAM算法作为研究对象。(EKF-SLAM算法和FastSLAM算法传送门)

SemanticSLAM系统架构如下图所示,包含四个模块:传感器数据收集和特征提取、地标检测、航迹推算和SemanticSLAM算法。
在这里插入图片描述

3.1 传感器数据收集和特征提取

传感器数据以众包的方式从用户手机中采集。采集的传感器包括惯性传感器(加速度计、罗盘和陀螺仪)以及WiFi和蜂窝接入点及其相关信号强度。然后分析收集到的传感器数据,提取不同的特征,用于识别地标。

3.2 航迹推算

首先,用户需要手动标注起始点(已知)。
然后,利用加速度计获取的加速度数据,使用UPTIME方法根据用户步态计算步长。
最后,将陀螺仪和磁力计采集的数据融合在一起,利用两个传感器数据的相关性判断准确方向的时间点,并将这些点作为参考点,计算到下一个参考点的相对角度。

3.3 地标检测

本文将地标分为两种类型,seed landmarks(SLM)和organic landmarks(OLM)。

3.3.1 SLM

SLM指可以映射到环境中的物理点的地标,用于引导系统。由于SLM对手机传感器有独特的影响,因此可以唯一识别。SLM的检测是在室内平面图已知的情况下进行的,主要检测三种地标,楼梯,电梯和自动扶梯。

下图描述用分类树检测SLM的过程。首先,利用有限状态机技术判断SLM类型是否为电梯(误报率0.06%)。然后,通过检测磁场强度的变化,判断SLM类型是否为自动扶梯。最后,通过匹配加速度计读数判断用户是上楼还是行走。
在这里插入图片描述

3.3.2 OLM

此类地标无需映射到物体,而是根据其在传感器上的唯一特征进行检测。通常,基于传感器模式中的固定异常现象进行检测。检测过程分为两步,首先识别感知信号的特有模式,然后测试给定的模式是否集中于一个小的区域,过程如下图所示。
在这里插入图片描述
传感器数据以矩阵的形式表示:该矩阵的元素<i,j>包含时间j处电话i的传感器数据(加速度计,指南针,陀螺仪,磁力计和WiFi)。

惯性传感器的特征包括均值,最大值,最小值,方差,均值交叉,而WiFi特征是MAC ID和RSSI。特征值归一化处理后在[-1,1]之间,反馈给K-means聚类算法。

检测步骤中的阈值和参数,是通过经验得出的,因此不做详细介绍。(这个思路类似于WiFi的指纹法,不同之处在于指纹范围变大,并且指纹的数据类型增多。)

3.4 核心算法

详情见下节,哈哈哈!
在这里插入图片描述

四、SemanticSLAM算法

SemanticSLAM提供了一种新的框架,利用地标作为观测对象来增强用户位置估计和地标识别。

基本思路是当地标被探测到,系统就会将它们与航迹推算定位方法结合起来,从而同时估计出人的位置和地标的位置。该算法包括采样、地图更新和重新采样三个步骤。一般情况下,假设在 t t t时刻只观测到一个地标。

4.1 采样

采样是为了跟踪目标当前时刻下的姿态。过程与FastSLAM类似,分为两部分:即下一个状态分布(运动更新)和地标测量的概率(观测更新)。具体来说,它需要执行以下几个步骤:

  • 运动更新

s ^ t [ m ] ∼ P ( s t ∣ s t − 1 [ m ] , u ^ t ) \hat{s}_{t}^{[m]} \sim P\left(s_{t} | s_{t-1}^{[m]}, \hat{u}_{t}\right) s^t[m]P(stst1[m],u^t)

  • 观测更新

z ^ n , t [ m ] = g ( μ n , t − 1 [ m ] , s ^ n , t [ m ] ) \hat{z}_{n, t}^{[m]}=g\left(\mu_{n, t-1}^{[m]}, \hat{s}_{n, t}^{[m]}\right) z^n,t[m]=g(μn,t1[m],s^n,t[m])

  • 分布的协方差矩阵

Σ s n , t [ m ] = [ G s , n T Q n , t [ m ] − 1 G s , n + P t − 1 ] − 1 \Sigma_{s_{n, t}}^{[m]}=\left[G_{s, n}^{T} Q_{n, t}^{[m]-1} G_{s, n}+P_{t}^{-1}\right]^{-1} Σsn,t[m]=[Gs,nTQn,t[m]1Gs,n+Pt1]1

  • 分布的均值

μ s n , t [ m ] = s ^ n , t [ m ] + Σ s n , t [ m ] G s , n T Q n , t [ m ] − 1 ( z t − z ^ n , t [ m ] ) \mu_{s_{n, t}}^{[m]}=\hat{s}_{n, t}^{[m]}+\Sigma_{s_{n, t}}^{[m]} G_{s, n}^{T} Q_{n, t}^{[m]-1}\left(z_{t}-\hat{z}_{n, t}^{[m]}\right) μsn,t[m]=s^n,t[m]+Σsn,t[m]Gs,nTQn,t[m]1(ztz^n,t[m])

  • 采样姿态

s n , t [ m ] ∼ N ( μ s n , t [ m ] , Σ s n , t [ m ] ) s_{n, t}^{[m]} \sim \mathcal{N}\left(\mu_{s_{n, t}}^{[m]}, \Sigma_{s_{n, t}}^{[m]}\right) sn,t[m]N(μsn,t[m],Σsn,t[m])

4.2 地图更新

地图更新步骤的目的是更新当前检测到的地标的位置。当给定每个地标 n n n的混淆矩阵和位置不确定性 Q n Q_n Qn,基于EKF近似计算出与地标 n n n相对应的概率为:

p n = η ∣ 2 π Q n , t ∣ − 1 2 exp ⁡ { − 1 2 z ^ n , t T ⋅ Q n , t − 1 z ^ n , t } ⋅ p ( f t ∣ f ^ t ) p_{n}=\eta\left|2 \pi Q_{n, t}\right|^{-\frac{1}{2}} \exp \left\{-\frac{1}{2} \hat{z}_{n, t}^{T} \cdot Q_{n, t}^{-1} \hat{z}_{n, t}\right\} \cdot p\left(f_{t} | \hat{f}_{t}\right) pn=η2πQn,t21exp{21z^n,tTQn,t1z^n,t}p(ftf^t)

其中, η η η表示归一化因子, f t f_t ft代表真实的地标类型, f ^ t \hat{f}_{t} f^t代表观测到的地标类型。

4.3 重采样

每个粒子表示跟踪目标姿态的估计值,其权值 w [ m ] w^{[m]} w[m]反映了与该粒子关联的姿态的置信度。粒子的权值在每一步均被初始化,并根据更新所检测到的概率最高的地标

w t [ m ] = w t − 1 [ m ] ⋅ p n ^ t [ m ] w_{t}^{[m]}=w_{t-1}^{[m]} \cdot p_{\hat{n}_{t}}^{[m]} wt[m]=wt1[m]pn^t[m]

选择粒子的姿态和映射中的最大权重作为当前的估计。然后,使用此权重执行重采样步骤,以筛选粒子并删除明显偏离实际路径的粒子。

5. 实验

5.1 实验设置

实验使用Android手机采集数据,并将数据发送至服务器处理。实验地点有两个,杜克大学工程大楼和购物中心。

工程大楼区域为3000m2,地标包括9个磁场,8个拐角,15个WiFi OLMs和3个SLMs。购物中心区域为6000 m2,地标包括9个磁场,12个拐角,12个WiFi OLMs和4个SLMs。

三个用户在两个场景中移动收集数据。每个用户在大楼内任意走动1.5小时,其中每个用户使用前一个用户检测到的地标。系统的默认设置是在线模式。

5.2 性能评估

地标检测性能

如下表,对于SLMs的检测,FP率达到了0.2%,FN为1.1%,而对于OLMs的检测情况,文中并未说明。

在这里插入图片描述
系统定位精度

在这里插入图片描述

  • 图9描述的是粒子数和定位精度间的关系。很明显,粒子数为75和100时,定位性能最优。在75和100之间,有经验的童鞋肯定会选择75。
  • 图10描述的是算法加入SLM和不加SLM的区别,恩,效果很明显,相信已经不用我再废话了。
  • 图11描述的是随着时间增长,用户定位误差的变化情况。呐,随着时间一分一秒的度过,可以看出定位误差在收敛,并在1m左右波动。
  • 图12的结果表明,SemanticSLAM系统离线时的定位效果要比在线好。其实呢,这符合常理,实时定位的效果相对来说肯定不如离线处理过的定位效果好。
    在这里插入图片描述
  • 图13表明OLM对算法的定位效果改进并没有SLM那样显著,如同鸡肋,食之无用,弃之可惜。
  • 图14没啥好说的。
  • 图15的结果就比较有意思了。毫无疑问,SemanticSLAM系统的最大误差并不理想,远远超出了其它两种方法。但是,SemanticSLAM系统的中值误差确实小,而且它的误差在90%的情况下是在1.5m以下。在几千平的场景,得到这样的效果不容易了。

6. 结论

论文提出了一种无标定的室内定位系统SemanticSLAM,此系统在两个测试地点进行评估:大学大楼、购物中心。实验结果表明,SemanticSLAM对各种各样地标的误判率极低,其误差小于1%。此外,它在两个地点均可实现0.53米的中值定位误差,且收敛速度很快。离线操作模式下甚至可以增强此功能。与最先进的室内定位系统相比,SemanticSLAM的准确性提高了62%,收敛时间提高了33%,突出其在下一代室内定位服务的前景。

内容靠得住,关注不迷路。
在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页