5.2 基于深度学习和先验状态的实时指纹室内定位

2024-01-18 13:28

本文主要是介绍5.2 基于深度学习和先验状态的实时指纹室内定位,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文献来源

Nabati M, Ghorashi S A. A real-time fingerprint-based indoor positioning using deep learning and preceding states[J]. Expert Systems with Applications, 2023, 213: 118889.(5.2_基于指纹的实时室内定位,使用深度学习和前一状态

摘要

        在基于指纹的定位方法中,接入点的接收信号强度(received signal strength, RSS)向量在参考点处测量并保存在数据库中。然后,将该数据集用于模式识别算法的训练阶段。几种类型的噪声会影响无线电信道中的信号,RSS值会相应被破坏。这些噪声可以通过RSS样本的平均来缓解。在实时应用中,用户在定位过程的在线阶段急于收集不相关的RSS样本来计算自己的平均值。针对这一问题,本文提出了一种解决方案,即利用离线阶段的RSS样本分布和在线阶段的用户先前状态。

在第一步中,提出了一种使用深度神经网络(DNN)的快速准确定位算法,以学习可用RSS样本的分布,而不是在离线阶段平均它们。然后,通过在线RSS样本与RPs指纹的相似度来估计用户的位置。接着,将深度神经网络模型与一种新的基于状态的定位方法相结合,以更准确地估计用户的位置。在基准数据集和自己收集的数据集上进行了大量的实验,在两种不同的场景下(在线阶段为每个用户提供单个RSS样本和多个RSS样本),验证了所提算法与深度神经网络回归、高斯过程回归、随机森林和加权KNN等传统回归算法相比的优越性

1.前言

        智能手机实时定位是一种新兴的基于位置服务技术。全球定位系统通过利用地球周围的卫星信号在满足人类需求的实时定位中起着决定性的作用(Khalajmehrabadi, Gatsis, & Akopian, 2017)。然而,这些信号无法穿透到室内环境。此外,它们还存在非视距(NLOS)误差,不适用于室内或恶劣的室外地区(Khalajmehrabadi, Gatsis, & Akopian, 2017; Nabati, Navidan, Shahbazian, Ghorashi和Windridge, 2020)。基于卫星的定位方法定期提取一些发射器和用户接收器之间的距离。然后,使用三角测量或三边测量方法估计用户的位置(Thomas & Ros, 2005;杨旭,赵玉田,刘悦,王海燕,2013)。发射器和接收器之间的距离可以通过到达角度、到达时间、到达时间差、到达相位或接收信号强度(RSS)获得(Zafari, Gkelias, & Leung, 2019)。这些方法也被称为基于测距的定位技术(Ghari, Shahbazian, & Ghorashi, 2019 ),可以在具有一些基站(BSs)的室内环境中就地实现。在这些方法中,RSS很容易捕获,因为它不需要发射器和接收器之间的同步时钟。然而,由于NLOS误差,所有这些基于测距的定位技术在室内区域都不能提供有希望的精度,即使它们是在本地实现的(Nabati, Ghorashi,& Shahbazian, 2021)。

针对基于测距的定位方法的不足,提出了基于指纹的定位方法。在该方法中,一些BSs部署在室内区域并共享无线电信号,其形式可以是Wi-Fi (Du, Yang, & Zhou, 2018)、蓝牙(Aranda, Parralejo, Álvarez, & Paredes, 2022)、ZigBee (Zheng et al., 2017)和射频识别(Ma, Tian, & Jiang, 2019)。在这些通信技术中,Wi-Fi BS(称为Wi-Fi接入点(AP))是最突出的一种,因为它在室内环境中无处不在(Hernández et al., 2021)。在部署ap后,需要执行两个不同的阶段来建立基于指纹的定位方法离线(或训练)和在线(或测试)阶段(Bai, Luo, Yan, & Wan, 2021)。首先,在已知的参考点(reference point, RPs)位置获取多个ap的RSS或信道状态信息(channel state information, CSI),并将其存储在数据库中。通常,模式识别算法(PRA)在离线阶段进行训练,将输入信号的属性(CSI和/或RSS)转换到相应的位置。训练好的PRA算法在在线阶段利用接收到的信号属性估计用户的位置。

        在第一步中,提出了一种使用深度神经网络(DNN)的快速准确定位算法,以学习可用RSS样本的分布,而不是在离线阶段平均它们。然后,通过在线RSS样本与RPs指纹的相似度来估计用户的位置。接着,将深度神经网络模型与一种新的基于状态的定位方法相结合,以更准确地估计用户的位置。在基准数据集和自己收集的数据集上进行了大量的实验,在两种不同的场景下(在线阶段为每个用户提供单个RSS样本和多个RSS样本),验证了所提算法与深度神经网络回归、高斯过程回归、随机森林和加权KNN等传统回归算法相比的优越性

        CSI作为指纹比RSS更稳定(王、高、毛,& Pandey,2017)。然而,它不能用典型的AP模式捕获,需要在发射机和接收机端使用特定的硬件和软件工具(Zafari等人,2019),而RSS即使使用现成的智能手机也可以轻松捕获。因此,RSS可以用于流行的实际应用和工业应用。然而,大尺度衰落(称为阴影)和小尺度衰落等多路径效应会深刻影响RSS (Zanella, 2016),并相应地影响基于RSS的定位精度(Prasad, Hossain, & Bhargava, 2018)。

        CSI作为指纹比RSS更稳定(王、高、毛,& Pandey,2017)。然而,它不能用典型的AP模式捕获,需要在发射机和接收机端使用特定的硬件和软件工具(Zafari等人,2019),而RSS即使使用现成的智能手机也可以轻松捕获。因此,RSS可以用于流行的实际应用和工业应用。然而,大尺度衰落(称为阴影)和小尺度衰落等多路径效应会深刻影响RSS (Zanella, 2016),并相应地影响基于RSS的定位精度(Prasad, Hossain, & Bhargava, 2018)。

        虽然在在线阶段无法使用现有的智能手机获取足够的RSS样本,但离线阶段的RSS样本可以帮助识别RSS观察的统计行为。本文提出了一种新的基于指纹的定位算法,该算法在训练过程中捕获RPs的RSS分布。同时,假设用户在在线阶段在区域内进行移动,利用基于状态的定位方法考虑用户先前的状态信息。首先使用深度神经网络(DNN)来学习RSS样本的分布,而不是直接将RSS空间转换到坐标空间。该DNN的输出是RSS样本与每个RP的相似度。换句话说,所提方法中的每个RP是一个类,其RSS样本是类观察。在线阶段,训练后的DNN估计用户RSS样本与每个RP的相似度。然后,通过不同RPs位置的加权平均来估计用户的位置,其中权值为训练后的DNN (similarity)的输出该方法还被扩展用于在线阶段有足够RSS样本的情况。在考虑两种情况(单个RSS样本和在线阶段RSS样本充足)时,与两个不同数据集(一个开源数据集和一个我们自己收集的数据集)中的对应算法相比,该算法提高了定位的准确性。受此启发,本文将基于深度神经网络的定位方法与一种新的基于状态的定位算法相结合,以解决在线相位定位的局限性。

        综上所述,本文的主要贡献如下:

        •我们提出了一种基于DNN的定位算法,该算法考虑了离线阶段RSS样本在RP上的统计行为,并为我们提出的DNN模型提出了一个成本函数,以优化层的权重,尽可能地给予最近的RP更高的权重。

        •提出了一种新的基于状态的定位方法,该方法利用用户之前的状态来提高位置估计精度。

        •对所提出的定位算法进行了复杂度分析,并通过大量实验验证了所提出方法的鲁棒性。

        本文的其余部分组织如下:第二节介绍了本文的相关工作。第3节对基于指纹的定位方法进行了初步介绍,并对传统的基于深度神经网络的定位模型进行了描述。在第4节中,我们解释了所提出的DNN,其中学习了每个RP处RSS样本的分布,然后将其与所提出的基于状态的定位方法相结合。第5节给出了实验结果,将提出的方法与同类方法进行比较。最后,第六部分对本文工作进行了总结。

        在本文中,我们使用粗体大写字母表示矩阵或数组(如A),粗体小写字母表示向量(如a),使用小写字母表示标量(如a

3.Preliminaries |准备工作

在本节中,我们介绍了离线和在线两个阶段基于RSS指纹定位的基本概念。然后,描述了传统的基于DNN的回归(DNNR)定位算法这是必需的,因为我们稍后将把我们提出的DNN与该算法进行比较。

图1。整个基于指纹的RSS定位过程可分为①、②、③、④四个步骤。在①中,RSS样品是在几个ap的rp处采集的。然后,得到一个三维RSS数据集和两个位置向量,如式所示(1)、(2)所示。②将数据集交付给PRA进行训练。③,将在线RSS样本传递给训练后的PRA输入。最后,在④中,经过训练的PRA将接收到的RSS样本转换为位置。

3.1. 基于指纹的定位

地图构建是基于指纹定位方法的初始步骤,需要为环境的起源考虑一个参考位置,如图1所示。然后,在确定的坐标(称为RPs)上记录ap的RSS值。此外,在环境中不需要知道ap的位置,因为我们假设ap不移动,并且它们的RSS值是RPs的唯一指纹。RSS值和RPs位置分别作为PRAs的输入和输出。RSS通常在一个固定的点上测量几次。所有RPs的原始RSS数据集的结构可以用3D矩阵表示,如式(1)所示

3.2. 传统的基于DNN的定位

   图3. 该模型的整体架构。训练DNN,为基于状态的定位找到最佳值,然后将其输入所提出方法的整个架构的步骤如数字1、2、3和4所示。队列结构缓冲区用于按先进先出的顺序馈送数据。

图4。两种不同ap的75个RSS样本在同一点连续100秒的典型波动。“平均RSS”是在𝑛th样本之前RSS样本的平均值,称为累积移动平均

样本之前RSS样本的平均值,称为累积移动平均值。

6 结论

提出了一种新的基于指纹的室内定位算法,该算法同时考虑了RSS样本数量单一和RSS样本数量充足两种情况,提高了定位精度。由于智能手机通常无法在短时间内捕获大量样本,因此有必要通过考虑每个用户的单个RSS样本来评估模型。然而,现有的工作大多没有考虑智能手机提供高采样率扫描Wi-Fi ap接收到的RSS值的局限性

该方法将深度神经网络与基于状态的定位方法相结合,充分考虑了用户先前的状态。传统的基于深度神经网络的定位算法没有考虑RSS样本在每个RP点的统计行为,由两个输出节点直接估计用户的位置。所提DNN模型取得较高准确率的原因在于,在输出层考虑了每个RP的一个节点,并在优化过程中获得了每个RP处RSS样本的模式变化。

另一方面,基于状态的定位方法利用深度神经网络模型的RSS值和估计位置等先验状态信息,可以处理在线阶段限制。与其他贝叶斯方法(如卡尔曼滤波和粒子滤波)的主要区别在于它不需要额外的信息和硬件工具。在典型场景下,对所提定位方法的组合没有任何限制或限制。此外,该方法不需要额外的硬件或软件工具,具有通用性。在未来的工作中,假设移动设备可以在没有额外硬件需求的情况下捕获CSI数据,所提方法可以在CSI数据的基础上建立。

这篇关于5.2 基于深度学习和先验状态的实时指纹室内定位的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/619132

相关文章

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

hdu1565(状态压缩)

本人第一道ac的状态压缩dp,这题的数据非常水,很容易过 题意:在n*n的矩阵中选数字使得不存在任意两个数字相邻,求最大值 解题思路: 一、因为在1<<20中有很多状态是无效的,所以第一步是选择有效状态,存到cnt[]数组中 二、dp[i][j]表示到第i行的状态cnt[j]所能得到的最大值,状态转移方程dp[i][j] = max(dp[i][j],dp[i-1][k]) ,其中k满足c

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]