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.mzph.cn/news/715142.shtml

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

相关文章

调用“每日诗词”在你的页面添加一句诗

概述 前几天浏览网站的时候看到页面上有句诗&#xff0c;打开调试看了下调用的是“每日诗词”的SDK。本文基于此SDK实现你的页面添加一句诗。 实现效果 实现 1. 引入SDK <script src"https://sdk.jinrishici.com/v2/browser/jinrishici.js" charset"utf-…

mysql服务治理

一、性能监控指标和解决方案 1.QPS 一台 MySQL 数据库&#xff0c;大致处理能力的极限是&#xff0c;每秒一万条左右的简单 SQL&#xff0c;这里的“简单 SQL”&#xff0c;指的是类似于主键查询这种不需要遍历很多条记录的 SQL。 根据服务器的配置高低&#xff0c;可能低端…

【BUUCTF web】通关 2.0

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏 …

2024年2月国内如何快速注册OnlyFans最新小白教学

前言 onlyface软件是一个创立于2016年的订阅式社交媒体平台&#xff0c;创作者可以在自己的账号发布原创的照片或视频&#xff0c;并将其设置成付费模式&#xff0c;若用户想查看则需要每月交费订阅。 需要注意的是&#xff0c;网络上可能存在非法或不道德的应用程序&#xff…

获取当前数据 上下移动

点击按钮 上下移动 当前数据 代码 // 出国境管理 登记备案人员列表 <template><a-row><a-col span"24"><a-card :class"style[a-table-wrapper]"><!-- 出国境 登记备案人员列表 --><a-table:rowKey"records >…

淘宝开放平台获取商家订单数据API接口接入流程

taobao.custom 自定义API操作 接口概述&#xff1a;通过此API可以调用淘宝开放平台的API&#xff0c;通过技术对接&#xff0c;您可以轻松实现无账号调用官方接口。进入测试&#xff01; 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&…

通过修改host文件来访问GitHub

前言&#xff1a; 由于国内环境的原因&#xff0c;导致我们无法流畅的访问GitHub&#xff0c;。 但是我们可以采取修改host文件来实现流畅访问。 缺点&#xff1a;需要不定时的刷新修改。 操作流程 一、查询IP地址 以下地址可以查询ip地址 http://ip.tool.chinaz.com/ htt…

JDK时间

Date 全世界的时间&#xff0c;有一个统一的计算标准。 世界标准时间&#xff1a;格林尼治时间/格林威治时间简称GMT&#xff0c;目前时间标准时间已经替换为&#xff1a;原子钟。 中国标准时间&#xff1a;世界时间8 时间换算单位&#xff1a; 一秒等于一千毫秒 一毫秒等于一…

CDC作业历史记录无法删除问题

背景 数据库开启CDC功能后&#xff0c;每天会生成大量的历史记录&#xff0c;即使达到参数“每个作业的最大历史记录“的阈值后也不会被删除&#xff0c;导致其它作业的历史记录被删除&#xff0c;无法查看以前的执行情况&#xff0c;非常不方便。 现象 数据库开启CDC后会创建…

【MATLAB源码-第147期】基于matlab的QPSK调制解调在AWGN信道,瑞利信道,莱斯信道理论与实际误码率对比仿真。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 四相位移键控&#xff08;QPSK&#xff0c;Quadrature Phase Shift Keying&#xff09;是一种重要的数字调制技术&#xff0c;它通过改变信号的相位来传输数据。与其他调制技术相比&#xff0c;QPSK在相同的带宽条件下能够传…

Linux命名管道

Linux匿名管道-CSDN博客 目录 1.原理 2.接口实现 3.模拟日志 Linux匿名管道-CSDN博客 这上面叫的是匿名管道&#xff0c;不要将两者搞混&#xff0c;匿名管道说的是两个有血缘关系的进程相互通信&#xff0c;但是命名管道就是两个没有关系的管道相互通信。 1.原理 和匿名…

编译链接实战(25)ThreadSanitizer检测线程安全

ThreadSanitizer&#xff08;又称为TSan&#xff09;是一个用于C/C的数据竞争检测器。在并发系统中&#xff0c;数据竞争是最常见且最难调试的错误类型之一。当两个线程并发访问同一个变量&#xff0c;并且至少有一个访问是写操作时&#xff0c;就会发生数据竞争。C11标准正式将…

马斯克指控OpenAI违背成立协议,要求恢复开源;Automattic否认向AI公司出售用户数据

&#x1f989; AI新闻 &#x1f680; 马斯克指控OpenAI违背成立协议&#xff0c;要求恢复开源 摘要&#xff1a;马斯克近日在旧金山高等法院对OpenAI及其CEO阿尔特曼提起诉讼&#xff0c;指控他们违反最初促进AI技术造福人类非营利方向的成立协议。马斯克声称&#xff0c;Ope…

【JavaSE】时间类相关API以及使用

目录 时间类相关API 1.Date类 2.SimpleDateFormat类 3.Calendar类 4.JDK8-时区&#xff0c;时间和格式化 5.JDK8-日历和工具类 时间类相关API 以下内容是通过观看黑马java的常见API视频总结加笔记&#xff0c;其中有JDK7以及以前的时间类&#xff0c;包括&#xff1a;Date&…

我在代码随想录|写代码Day30 | 贪心算法 | 435. 无重叠区间,763.划分字母区间, 56. 合并区间, 738.单调递增的数字

&#x1f525;博客介绍&#xff1a; 27dCnc &#x1f3a5;系列专栏&#xff1a; <<数据结构与算法>> << 算法入门>> << C项目>> &#x1f3a5; 当前专栏: <<数据结构与算法>> 专题 : 数据结构帮助小白快速入门算法 &…

[HackMyVM]靶场 VivifyTech

kali:192.168.56.104 主机发现 arp-scan -l # arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:d2:e0:49, IPv4: 192.168.56.104 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.56.1 0a:00:27:00:00:05 (Unk…

matlab阶段学习小节1

数组排序 fliplr()实现数组倒序&#xff0c;但不对大小进行排序&#xff0c;只是元素位置掉头。 要想实现大小倒序排列&#xff0c;可以先sort()实现正序排列&#xff0c;再用fliplr倒一下 %数组运算 %矩阵 %xAb的解xb/A;(矩阵) %右除运算A/B&#xff0c;左矩阵为被除数&a…

多态——细致讲解

&#x1f536;多态基础概念  &#x1f536;概念   &#x1f531;多态性   &#x1f531;多态——重新(覆盖)  &#x1f536;示例   &#x1f536;基本使用方法   &#x1f536;特例    &#x1f531;协变    &#x1f531;析构函数重写  &#x1f531;多态原理…

redis实战笔记汇总

文章目录 1 NoSQL入门概述1.1 能干嘛&#xff1f;1.2 传统RDBMS VS NOSQL1.3 NoSQL数据库的四大分类1.4 分布式数据库CAP原理 BASE原则1.5 分布式集群简介1.6 淘宝商品信息的存储方案 2 Redis入门概述2.1 是什么&#xff1f;2.2 能干嘛&#xff1f;2.3 怎么玩&#xff1f;核心…

46、WEB攻防——通用漏洞PHP反序列化原生类漏洞绕过公私有属性

文章目录 几种常用的魔术方法1、__destruct()2、__tostring()3、__call()4、__get()5、__set()6、__sleep()7、__wakeup()8、__isset()9、__unset()9、__invoke() 三种变量属性极客2019 PHPphp原生类 几种常用的魔术方法 1、__destruct() 当删除一个对象或对象操作终止时被调…