19.2 DeepMetricFi:基于深度度量学习改进Wi-Fi指纹定位

P. Chen and S. Zhang, "DeepMetricFi: Improving Wi-Fi Fingerprinting Localization by Deep Metric Learning," in IEEE Internet of Things Journal, vol. 11, no. 4, pp. 6961-6971, 15 Feb.15, 2024, doi: 10.1109/JIOT.2023.3315289.

摘要

Wi-Fi RSSI指纹定位方法以其可靠的定位精度和无处不在的基础设施而成为室内定位的主流解决方案之一。其基本假设是基于无线电波传播模型,通过信号距离来估计室内环境的定位距离。然而,由于室内环境的影响,如多径效应,估计可能会失败。虽然最近的方法利用机器学习技术来提高信号距离的表示,但大多数方法忽略了指纹采集所处的室内环境的空间信息。文中提出了一种基于深度度量学习的Wi-Fi RSSI指纹定位方法,旨在在参考点(reference point, RP)局部结构约束下学习有效的RSSI特征,以保证室内环境中位置和信号距离的一致性。首先,我们计算RPs之间的路径距离,以从指纹中构建正负对作为输入。然后设计深度度量学习模型,通过随机梯度下降(stochastic gradient descent, SGD)最小化三重损失;最后,提取在线RSSI的特征,结合射频地图的特征,采用WKNN方法进行定位。在实验中,该方法在包含多个区域的真实场景中进行评估,这些区域可能给定位带来挑战。实验结果表明,该方法取得了比现有方法更好的性能。索引术语-深度度量学习,指纹定位,路径距离。

1 Introduction

室内定位是基于位置的服务(location - based services, LBS)中的核心问题,LBS将位置作为物联网应用的基础信息。基于低成本、嵌入式传感器提出了各种解决方案,如IMU[4]、Wi-Fi[5]、蓝牙[6]、可见光[7]等,广泛应用于物联网设备。其中,基于wi - fi的方法因无处不在的基础设施而在无需部署设备的真实场景中得到广泛应用。在这些方法中,可以根据信号的特性进行位置估计,如AOA[8]、TOA[9]、[10]、TDOA[11]等。然而,这些解决方案需要提前知道接入点的位置,且大多应用于开放空间环境,限制了其在复杂结构真实场景中的实用性。由于Wi-Fi指纹定位不需要ap知识,且可以实现可靠的定位精度,因此该方法被认为是室内定位的主流方法之一。

Wi-Fi指纹定位通常包含离线和在线两个阶段。离线阶段,在参考点(reference point, RP)处采集rssi作为指纹,描述特定位置的信号特征。利用rssi和对应的坐标构建指纹数据库,也称为radio map。在线阶段,通过在线RSSI与radio map的比较来估计位置。根据在线阶段使用的指标,Wi-Fi指纹识别方法大致可以分为确定性和概率性两类[12]。在确定性方法中,在线RSSI与radio map之间的相似性由多种距离度量来描述,如tabimato相似度[13]、Euclidean距离[14]等。在概率方法中,相似性被描述为在线RSSI属于某个RP的后验概率。例如,Horus[15]使用高斯分布对后验概率进行建模。此外,利用KL散度[16]、贝叶斯网络[17]和高斯过程[18]进行概率推理预测在线位置。它们的定位精度依赖于定位空间中的距离或概率与信号空间中的相似性高度相关的假设。然而,由于室内环境结构复杂,定位精度难以保证,导致定位性能下降。

为了提高信号空间的相似性,人们提出设计更有效的射电图或更好的度量标准。GIFT[19]通过比较RP与其邻居节点的RSSI值,提出了一种基于梯度的radio map。Chen等人[20]提出了一种基于树模型学习rssi与邻居节点映射函数关系的自适应radio map。但它们定义了位置的邻域关系,而忽略了其在各种障碍下的室内环境的空间信息。近年来,随着深度学习方法成为机器学习技术的主流,许多方法将深度模型应用于基于wi - fi的室内定位中。DeepFi[21]将信道状态信息(channel state information, CSI)作为输入对每个RPs进行模型学习,将定位问题视为分类问题。然后通过网络提取在线和离线数据的特征进行比较,以确定当前位置;此外,将原始信号向量作为输入,利用深度回归模型[22],[23]进行坐标估计,与DeepFi相比减少了模型数量。由于radio map中更密集的采样大小可以提高定位精度,Lan等人利用基于深度学习的超分辨率算法生成未采样位置的指纹。众包轨迹[25]还可以为未知位置生成指纹,减少了构建电台地图的大量工作量。SELE[26]通过孪生网络学习RSSI特征,以保证变换后的信号距离与位置距离相同。然而,它们都没有利用RPs之间的连接关系进行模型训练,这可能会导致位置和信号距离的不一致。

本文提出了一种基于深度度量学习的指纹定位方法。与传统的基于深度学习的Wi-Fi定位方法不同,该方法使用三元组损失函数来学习RSSI特征,在考虑室内环境空间信息的同时,能够保持指纹位置在信号空间的局部结构。首先,对不同RPs处的指纹进行采样,构建RSSI三元组作为深度学习网络的输入;通过定位距离阈值确定三元组中的正对和负对。由于室内环境结构复杂,采用RPs之间的最短路径距离来定义位置距离,更适合空间信息的描述。然后设计三元组损失函数来衡量三元组中描述RSSI距离违反情况的正负对之间的差异;损失函数的最小化是将正样本对的样本靠近,将负样本对的样本推开。在将损失作为深度学习网络中的一层的基础上,使用随机梯度下降(SGD)技术迭代优化模型。最后,利用训练好的模型,提取网络最后一层的输出作为radio map和online RSSI的RSSI特征。结合这些特征,采用典型的WKNN方法进行在线位置估计。我们在一个大而复杂的环境中进行实验。实验结果表明,该方法是有效的,在定位精度上优于现有方法。

本文的主要贡献如下。

1)提出了一种基于深度度量学习的Wi-Fi RSSI指纹定位方法,旨在保持RPs的局部结构。局部结构为RSSI相似性提供了比RP本身更多的约束。

2)基于路径距离构建损失函数,引入室内环境的空间信息,提高定位精度。

3)在不规则区域的博物馆建筑中进行大量实验。该算法在定位精度上优于对比算法。

本文的其余部分组织如下。第二部分对相关工作进行了综述。在第三节中,我们将详细说明我们的方法。第四节给出了实验结果。最后,第五节对本文进行了总结。

2 相关工作

由于Wi-Fi基础设施和设备的无处不在,使用Wi-Fi进行室内定位变得很流行。基于wi - fi的室内定位可分为指纹定位和传播定位。

A.指纹识别方法


基于指纹的定位方法具有定位精度高、无需已知ap位置等优点,得到了广泛的应用。该方法包括离线和在线两个阶段,分别用于构建无线电地图和估计位置。

在离线阶段,通过现场调查,利用指纹和对应位置构建无线电地图,尤其在RPs密集的情况下,耗时耗力。为减少人工和时间,利用惯性传感器数据计算出的PDR轨迹确定采集指纹[27]、[28]的位置。为了以较少的指纹构建有效的radio map,采用LDPL模型[29]和半监督方法[30],根据收集到的稀疏位置的指纹估计未知区域的RSSI。针对RSSI时变的问题,提出边缘粒子扩展高斯过程[31]算法在线更新radio map。随着深度学习方法的发展,DeFLoc[32]利用部分均匀采样的指纹,使用专用的深度卷积神经网络精确重建射频图。Lan等人[24]采用能够提供超分辨率图像的GAN网络在未采样位置生成指纹。

KNN是在线位置估计过程中最常用的方法,其中最近邻的准确选择对定位性能至关重要。例如,使用欧氏距离、单宁相似度[13]、余弦相似度[33]进行比较。由于近邻个数K对定位精度有重要影响,[34]自适应地选择近邻个数K以保证定位精度。由于信号与位置空间的距离度量不一致,导致近邻选择错误,从而限制了定位精度。然后,人们提出基于室内环境的空间信息来细化信号距离度量的表示。DeepFi[21]为每个RP的指纹训练一个独立的编码-解码网络,并通过比较无线电地图的净输出和在线RSSI进行定位。WiDeep[35]根据收集标签的不同RPs为标签分配指纹。然后,使用softmax损失函数对网络进行训练,并将问题视为典型的分类问题;然而,该方法的在线RSSI预测仅依赖于RPs的位置,从而限制了定位精度。SELE[26]训练网络,目标是直接将坐标输出为二维向量,而没有考虑离散的采样位置。SE-Loc[36]考虑相邻RPs之间的指纹关系来构建指纹对,并通过L2度量函数训练网络,确保学习到的信号距离与对应的坐标距离值相同。

这些方法要么仅利用原始的RSSI信号,要么没有从室内环境中提取足够的信息,如区域的连接情况、障碍物的影响情况等。因此,RSSI的度量或表示方法不够有效。

B.传播方法

传播方法利用传播模型根据信号强度估计与ap的距离,并根据[37]预测当前位置。基于Friis自由空间模型[38]提出的对数距离路径损耗模型是一种典型的室内定位传播模型。Assayag等[39]通过自适应选择对数距离模型的最佳参数改进了BLE信号强度距离估计,与固定参数方法相比降低了平均误差。在智能博物馆的LBS应用中,Spachos和Plataniotis[40]也使用LDPL模型估计与APs的距离,并通过三边测量确定当前位置。由于设备本身也会影响RSSI测量,在基于RSSI的距离估计中,考虑小尺度衰落和分集,提出了校准[41]。由于LDPL模型忽略了室内场景的结构,考虑了墙壁等障碍物的非线性回归(NLR)模型[42]和Wasserstein距离模型[43]通常能够取得更好的定位性能。

由于室内场景结构复杂,基于模型的方法受室内信号不规则传播的影响较大。多径效应会降低基于传播方法的定位精度。

3 方法

本节将详细说明我们的方法。首先介绍了所提方法的概述;然后通过路径距离阈值约束,说明了构造正负对作为输入的过程;基于pairs,我们利用三重损失函数来度量信号与定位距离的不一致性,并提出通过优化损失函数来学习RSSI特征。利用训练好的网络,还可以获得在线RSSI的特征,并将其用于传统WKNN方法的定位。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RISC-V特权架构 - 特权模式与指令

RV32/64 特权架构 - 特权模式与指令 1 特权模式2 特权指令2.1 mret(从机器模式返回到先前的模式)2.2 sret(从监管模式返回到先前的模式)2.3 wfi(等待中断)2.4 sfence.vma(内存屏障) …

【MySQL】数据库的操作

【MySQL】数据库的操作 目录 【MySQL】数据库的操作创建数据库数据库的编码集和校验集查看系统默认字符集以及校验规则查看数据库支持的字符集查看数据库支持的字符集校验规则校验规则对数据库的影响数据库的删除 数据库的备份和恢复备份还原不备份整个数据库,而是备…

算法------(13)KMP

例题:(1)AcWing 831. KMP字符串 。。其实写完也不太理解。。随便写点吧 KMP就是求next数组和运用next的数组的过程。相比传统匹配模式一次更新一单位距离的慢速方法,next数组可以让下表字符串一次更新n - next【n】个距离&#x…

【研发日记】Matlab/Simulink技能解锁(三)——在Stateflow编辑窗口Debug

文章目录 前言 State断点 Transition断点 条件断点 按State步进 Watch Data Value Sequence Viewer 分析和应用 总结 前言 见《【研发日记】Matlab/Simulink技能解锁(一)——在Simulink编辑窗口Debug》 见《【研发日记】Matlab/Simulink技能解锁(二)——在Function编辑…

C++之类和对象(2)

目录 1.类的6个默认成员函数 2. 构造函数 2.1 概念 2.2 特性 3.析构函数 3.1 概念 3.2 特性 4. 拷贝构造函数 4.1 概念 4.2 特征 5.赋值运算符重载 5.1 运算符重载 5.2 赋值运算符重载 2. 赋值运算符只能重载成类的成员函数不能重载成全局函数 3. 用户没有显式实现时&…

Flink CDC 提取记录变更时间作为事件时间和 Hudi 表的 precombine.field 以及1970-01-01 取值问题

博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,…

深入剖析k8s-控制器思想

引言 本文是《深入剖析Kubernetes》学习笔记——《深入剖析Kubernetes》 正文 控制器都遵循K8s的项目中一个通用的编排模式——控制循环 for {实际状态 : 获取集群中对象X的实际状态期望状态 : 获取集群中对象X的期望状态if 实际状态 期望状态 {// do nothing} else {执行…

LeetCode 2120.执行所有后缀指令

现有一个 n x n 大小的网格,左上角单元格坐标 (0, 0) ,右下角单元格坐标 (n - 1, n - 1) 。给你整数 n 和一个整数数组 startPos ,其中 startPos [startrow, startcol] 表示机器人最开始在坐标为 (startrow, startcol) 的单元格上。 另给你…

多行业万能预约门店小程序源码系统 支持多门店预约小程序 带完整的安装代码包以及搭建教程

随着消费者对于服务体验要求的不断提升,门店预约系统成为了许多行业提升服务质量、提高运营效率的重要工具。然而,市面上的预约系统往往功能单一,无法满足多行业、多场景的个性化需求。下面,小编集合了多年的行业经验和技术积累&a…

11:日志分析系统ELK|Elasticsearch|kibana

日志分析系统ELK|Elasticsearch|kibana 日志分析系统ELKELK概述Elasticsearch安装Elasticsearch部署Elasticsearch集群Elasticsearch插件 熟悉Elasticsearch的API调用_cat API创建 tedu 索引使用 PUT 方式增加数据查询数据修改数据删除数据 KibanaKibana…

Android T 远程动画显示流程其三——桌面侧动画启动到系统侧结束流程

前言 接着前文分析Android T 远程动画显示流程其二 我们通过IRemoteAnimationRunner跨进程通信从系统进程来到了桌面进程,这里是真正动画播放的逻辑。 之后又通过IRemoteAnimationFinishedCallback跨进程通信回到系统进程,处理动画结束时的逻辑。 进入…

基于yolov5的电瓶车和自行车检测系统,可进行图像目标检测,也可进行视屏和摄像检测(pytorch框架)【python源码+UI界面+功能源码详解】

功能演示: 基于yolov5的电瓶车和自行车检测系统_哔哩哔哩_bilibili (一)简介 基于yolov5的电瓶车和自行车检测系统是在pytorch框架下实现的,这是一个完整的项目,包括代码,数据集,训练好的模型…

svn介绍 4.0

一、svn介绍(版本控制工具) 1、svn的定义: svn是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式个管…

2024年sCrypt编程马拉松即将开幕

BSV区块链的建设者们,你们在哪?2024年sCrypt编程马拉松即将拉开帷幕! 2024年3月16日至17日,我们将在旧金山市举办一场以比特币智能合约(即 sCrypt)和比特币通证(如Ordinals)相结合为…

【蛀牙】日常生活如何正确护理牙齿?刷牙、洗牙、补牙

程序员生活指南之 【蛀牙】日常生活如何正确护理牙齿?刷牙、洗牙、补牙 文章目录 一、日常如何清洗牙齿?——刷牙与洗牙1、牙齿污垢1.1 牙菌斑1.2 软垢1.3 牙结石1.4 牙龈出血 2、如何刷牙2.1 关于时间2.2 各种工具2.3 巴氏刷牙法 二、定期进行洗牙3、如…

链表OJ刷题(二)

制作不易,三连支持一下呗!!! 文章目录 前言一、链表的回文结构二、相交链表三、链表中倒数第k个节点四、环形链表Ⅰ和Ⅱ总结 前言 一、链表的回文结构 链表的回文结构_牛客题霸_牛客网 这里我们需要先了解一下什么叫做回文&#…

React之组件定义和事件处理

一、组件的分类 在react中,组件分为函数组件和class组件,也就是无状态组件和有状态组件。 * 更过时候我们应该区别使用无状态组件,因为如果有状态组件会触发生命周期所对应的一些函数 * 一旦触发他生命周期的函数,它就会影响当前项…

MQL5学习之RSI指标编写

研究MT5时发现MQL5这个指标编写功能很强大,应该是碾压国内所有的指标系统,不过这个东西相对复杂很多,比通达信公式不知复杂几许,看起来和C语法接近,倒是比较适合自己。试着玩一下,发现还是有点难度的。索性…

修改centos7的dns解决docker拉取镜像超时问题

近期在一台centos7的服务器上部署系统,拉取docker镜像时总是超时,如图所示。网上有教程说,可以修改操纵系统的dns地址,试了一下,果然搞定。 打开dns配置文件 sudo vi /etc/resolv.conf发觉里面的地址设为114.114.114…

Qt篇——QTableWidget保存表格数据到Excel文件中,读Excel内容到QTableWidget

表格和excel例子如下图所示&#xff1a; 一、QTableWidget保存表格数据到Excel文件中 代码如下&#xff1a; &#xff08;pro文件中添加QT axcontainer&#xff09; #include <QAxObject>void MainWindow::saveTableToExcel() {QDateTime current_date_time QDateTi…