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

相关文章

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

深度解析Java DTO(最新推荐)

《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

深度解析Python装饰器常见用法与进阶技巧

《深度解析Python装饰器常见用法与进阶技巧》Python装饰器(Decorator)是提升代码可读性与复用性的强大工具,本文将深入解析Python装饰器的原理,常见用法,进阶技巧与最佳实践,希望可... 目录装饰器的基本原理函数装饰器的常见用法带参数的装饰器类装饰器与方法装饰器装饰器的嵌套与组合进阶技巧

深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实