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

news2024/11/24 13:45:01

文献来源

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数据的基础上建立。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1400604.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从零开始的OpenGL光栅化渲染器构建3-法线贴图和视差贴图

前言 我们可以用一张纹理贴图来表现物体表面的基础反射颜色,也可以用一张镜面反射贴图,来指派表面是否产生高光。除此之外,我们可以用贴图来存储表面的法线信息,以及高度信息,从而让渲染效果更加精细。 法线贴图 我…

linux下USB抓包和分析流程

linux下USB抓包和分析流程 在windows下抓取usb包时可以通过wireshark安装时安装USBpcap来实现usb抓包,linux下如何操作呢? 是基于usbmon,本博客简单描述基于usbmon在linux系统上对通过usb口进行发送和接收的数据的抓包流程,分别描…

Matplotlib Mastery: 从基础到高级的数据可视化指南【第30篇—python:数据可视化】

文章目录 Matplotlib: 强大的数据可视化工具1. 基础1.1 安装Matplotlib1.2 创建第一个简单的图表1.3 图表的基本组件:标题、轴标签、图例 2. 常见图表类型2.1 折线图2.2 散点图2.3 条形图2.4 直方图 3. 图表样式与定制3.1 颜色、线型、标记的定制3.2 背景样式与颜色…

Linux:使用for+find查找文件并cp到其他目录,文件名带有空格

一、场景描述 在终端窗口中,用shell命令,批量拷贝文件到指定目录。 我是在Windows系统上,通过git bash终端来执行shell命令的。 二、实现过程 命令1 for filepath in find /d/LearningMaterials/数学/数学/高中/一数/偏基础(基…

Zabbix分布式监控系统概述、部署、自定义监控项、邮件告警

目录 前言 (一)业务架构 (二)运维架构 一、Zabbix分布式监控平台 (一)Zabbix概述 (二)Zabbix监控原理 (三)Zabbix 6.0 新特性 1. Zabbix server高可用…

用BEVformer来卷自动驾驶-4

书接前文 前文链接:用BEVformer来卷自动驾驶-3 (qq.com) 上文书介绍了BEVformer是个啥,以及怎么实现Deformable-attention 我们继续 BEVformer的输入数据格式: 输入张量(batachsize,queue,cam,…

工厂设计模式看这一篇就够了

本文将重点介绍几种工厂设计模式:简单工厂、工厂方法模式、抽象工厂模式和建造者模式。这几种设计模式在生产制造的流程下层层递进,可以满足不同的使用场景。在实际运用时,没有一个万能的工厂模式可以套用,要结合具体业务场景选择…

【华为GAUSS数据库】IDEA连接GAUSS数据库方法

背景:数据库为华为gauss for opengauss 集中式数据库 IDEA提供了丰富的各类型数据库驱动,但暂未提供Gauss数据库。可以通过以下方法进行连接。 连接后, 可以自动检查xml文件中的sql语句是否准确,表名和字段名是否正确还可以直接在…

基于 IoT 物联网 + 5G 技术搭建 100万台电梯智能化运维平台

随着近20年我国房地产的蓬勃发展,电梯已经成为人们现代生活中不可或缺的一部分,也是城市化建设中重要的建筑设备之一。据中国电梯行业协会统计,截至2022年底,我国电梯保有量为990万台,电梯运营健康度,减少事…

Pyro —— Sparse vs dense simulations

目录 Simulation area Sparse solving Understanding resizing Simulation area 在模拟的期间,pyro场都在当前容器内定义;开始非常小,随模拟的进行,解算器会不断的对其扩展或收缩;为重置流体框,解算器会…

Android 基础技术——addView 流程

笔者希望做一个系列,整理 Android 基础技术,本章是关于 addView 在了解 addView 流程之前,先回答下以下几个问题: PhoneWindow是什么时候创建的? DectorView 是什么? DectorView 是什么时候创建的&#xf…

conda国内加速

1、配置国内源 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ 2、显示源地址 conda config --set show_channel_urls yes

外呼机器人有什么优势?

外呼机器人有什么优势?值得受到大多数电销企业的追捧! 1、电话外呼效率高: 每天可拨打的电话数量是人工的5-10倍,人工一天只能拨打200-300通电话,机器人每天能打3000通电话以上,无须休息,按照…

PWM之舵机

舵机又称直流电机,如下图 本节承接上节,具体的PWM技术已经在上一节讲的很详细了,本节就不再讲了,那么我们的重点就放在直流电机的工作原理上了。 一、工作原理 我们研究直流电机,主要式研究直流电机旋转速度的调节&a…

linux LPT和COM回路测试(基于python+Qt+C++)

软件UI: 回路治具&#xff08;COMLPT&#xff09;&#xff1a; lpt_test.cpp&#xff08;c 源代码&#xff09;&#xff1a; #include <iostream> #include <fstream> #include <sstream> #include <unistd.h> #include <fcntl.h> #include <…

什么是游戏盾?哪家效果好。

游戏盾是什么呢&#xff0c;很多做游戏开发的客户估计都是听说过的&#xff0c;但是也不是所有的游戏开发者会运用到。因为&#xff0c;游戏盾是针对游戏行业APP业务所推出的高度可定制的网络安全管理解决方案&#xff0c;除了能针对大型DDoS攻击(T级别)进行有效防御外&#xf…

Python(18)--文件输入/输出 Ⅱ

​ 大家好&#xff01;我是码银&#x1f970; 欢迎关注&#x1f970;&#xff1a; CSDN&#xff1a;码银 公众号&#xff1a;码银学编程 前言 前一篇文章&#xff08;python(17)–文件的输入/输出-CSDN博客&#xff09;介绍了如何操作文本文件和二进制文件&#xff0c;以及对应…

设计亚马逊按销售排名功能

1&#xff1a; 定义 Use Cases 和 约束 Use cases 作用域内的Use Case Service 通过目录计算过去一周内最受欢迎的产品User 通过目录去View过去周内最受欢迎的产品Service 有高可用 作用域外 整个电商网站 设计组件&#xff08;只是计算销售排名&#xff09; 约束和假设…

【Python】模块

&#x1f6a9; WRITE IN FRONT &#x1f6a9; &#x1f50e; 介绍&#xff1a;"謓泽"正在路上朝着"攻城狮"方向"前进四" &#x1f50e;&#x1f3c5; 荣誉&#xff1a;2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

C++ :命名空间域

目录 冲突与命名&#xff1a; 举个例子&#xff1a; 全局与局部&#xff1a; 域作用限定符&#xff1a; 命名空间域&#xff1a; 冲突与命名&#xff1a; 在C语言中&#xff0c;我们通常会使用stdlib.h 而stdlib.h 本质上是一个函数的库&#xff0c;在程序中使用的大多数…