当前位置: 首页 > news >正文

15.3 基于深度学习的WiFi指纹低成本地点识别

文献来源:Nowicki M, Wietrzykowski J. Low-effort place recognition with WiFi fingerprints using deep learning[C]//Automation 2017: Innovations in Automation, Robotics and Measurement Techniques 1. Springer International Publishing, 2017: 575-584.

摘要

使用WiFi信号进行室内定位是现有个人室内定位系统在移动设备上运行的主要定位方式。WiFi指纹识别也用于移动机器人,因为WiFi信号通常在室内可用,可以提供粗略的初始位置估计,也可以与其他定位系统一起使用。目前,最好的解决方案依赖于过滤、手动数据分析和耗时的参数调优来实现可靠和准确的定位。

在这项工作中,我们提出使用深度神经网络来显著降低定位系统设计的人力负担,同时仍然取得令人满意的结果。假设采用最先进的分层方法,我们采用深度神经网络系统进行建筑/楼层分类

我们证明了堆叠自编码器可以有效地减少特征空间,以实现鲁棒和精确的分类。在公开可用的UJIIndoorLoc数据集上验证了所提出的架构,并将结果与其他解决方案进行了比较。

1 Introduction

室内定位是一项具有挑战性的任务,目前还没有适用于所有可能应用的通用解决方案。外部基础设施,如网络摄像机,在有限的区域内是有效的定位[1]。在大型建筑物中,最精确的agent姿态估计是通过激光扫描仪[2]、被动摄像机[3]或主动RGB-D传感器[4]获得的。使用这些传感器可以同时定位智能体和构建环境地图,从而解决同步定位和地图(SLAM)问题。不幸的是,激光扫描仪价格昂贵,而处理相机或RGB-D图像的计算要求很高,需要复杂的处理管道才能达到令人满意的结果[5]。在SLAM中,我们假设没有关于建筑结构的先验信息可用。然而,在实际应用中,通常可以在定位系统运行之前收集建筑物平面图。有了先验地图,我们就可以利用WiFi信号信息进行室内定位。

如今,WiFi网络在公共建筑、办公室、商场等无处不在。此外,几乎每个移动机器人都配备了WiFi适配器,用于连接互联网或远程操作。这些适配器也常见于手机和平板电脑中,可用于个人室内定位[6]。因此,WiFi信息可以用来提供粗略的全球位置估计,而不需要额外的外感传感器成本。阻碍这种解决方案在室内定位中广泛应用的一个重要问题是,在定位系统运行之前,需要对整个环境进行调查,以获得WiFi信号强度图。因此,在本文中,我们研究深度学习-一种最新且强大的机器学习范式是否可以从稀疏扫描地图上的WiFi数据提供全球位置识别解决方案,并且大大减少了手动调优的工作量。

2 Related Work

移动机器人使用WiFi进行室内定位是一个古老的想法[7],在使用粒子滤波方法并将WiFi定位与里程计读数相结合的系统中被证明是有效的[8]。可能的应用环境包括已有WiFi基础设施的建筑物,而其他解决方案过于昂贵或不够可靠,例如炼油厂检查[9]。虽然最先进的WiFi系统用于移动设备(智能手机)的个人室内定位,以便在建筑物内提供有效的导航,并允许收集有关购物中心,机场等客户活动的统计信息。

使用移动设备或移动机器人中的WiFi适配器进行的典型WiFi扫描包含了观察到的WiFi网络名称、MAC地址和相应的信号强度(以dBm为单位)。位置估计方法可分为WiFi测距[10]和WiFi指纹[11]两大类在WiFi测距中,利用WiFi信号波的特性直接估计到接入点(ap)的距离。这些解决方案适用于清晰的视线,但由于多重信号遮挡、墙壁反射和人的整体影响,在建筑物内不切实际。WiFi指纹识别方法侧重于有效地将已实现的WiFi扫描与预先记录的建筑物内扫描数据库进行比较,因此对局部信号干扰的鲁棒性更强。

相关文章:

15.3 基于深度学习的WiFi指纹低成本地点识别

文献来源:Nowicki M, Wietrzykowski J. Low-effort place recognition with WiFi fingerprints using deep learning[C]//Automation 2017: Innovations in Automation, Robotics and Measurement Techniques 1. Springer International Publishing, 2017: 575-584. 摘要 使…...

Git基本操作(1)

Git基本操作(1) 初始化git本地仓库git本地仓库配置git config user.name 和git config user.emailgit config --unset user.name和git config --unset user.emailgit config --global 认识工作区,暂存区,版本库更深层次理解 git a…...

k8s-helm部署应用 19

Helm部署nfs-client-provisioner(存储类): 预先配置好外部的NFS服务器 部署 Helm部署nginx-ingress应用: 添加下载ingress 拉取 解开并修改 部署 测试 回收 helm部署metrics-server: 清除之前的metrics部署 下载…...

OGG-00918 映射中缺少键列 id.

2024-02-23 14:54:49 INFO OGG-02756 从线索文件获取了表 GISTAR.PXPH_PON_ROUTE 的定义。. The following columns did not default because of type mismatches: id OGG-00918 映射中缺少键列 id. 目标端有字段ID,由于mysql自增,所以只能是b…...

QT_day4

1.思维导图 2. 输入闹钟时间格式是小时:分钟 widget.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);id startTimer(1000);flag1;speecher new QTextT…...

Spring Boot应用集成Actuator组件以后怎么自定义端点暴露信息

一、 前言 在平时业务开发中,我们往往会在spring Boot项目中集成Actuator组件进行系统监控,虽然Actuator组件暴露的端点信息已经足够丰富了,但是特殊场景下,我们也需要自己暴露端点信息,此时应该怎么操作呢&#xff1…...

C# CAD备忘录

Document doc Application.DocumentManager.MdiActiveDocument; Database db doc.Database; Editor ed doc.Editor; 1、获取打开cad文件-文件路径 string fileName db.Filename;//文件名 输出结果 fileName “L:\目录\200401.dwg” 2、获取打开cad文件-文件名称 string fi…...

【数据结构】排序(2)

目录 一、快速排序: 1、hoare(霍尔)版本: 2、挖坑法: 3、前后指针法: 4、非递归实现快速排序: 二、归并排序: 1、递归实现归并排序: 2、非递归实现归并排序: 三、排序算法…...

HarmonyOS开发行业前景就业分析与实例解析

HarmonyOS的简介 鸿蒙系统(HarmonyOS)是华为公司自主研发的一种全场景分布式操作系统,旨在为各种设备提供统一的开发和运行环境。它的编程基础主要建立在多种技术和语言之上,包括鸿蒙系统的核心框架和应用程序开发框架。 本章将…...

Elasticsearch:创建自定义 ES Rally tracks 的分步指南

作者:Alejandro Snchez 按照这个综合教程学习如何制作个性化的 Rally tracks ES Rally 是什么?它的用途是什么? ES Rally 是一个用于在 Elasticsearch 上测试性能的工具,允许你运行和记录比较测试。 做出决策可能很困难&#x…...

5分钟JavaScript快速入门

目录 一.JavaScript基础语法 二.JavaScript的引入方式 三.JavaScript中的数组 四.BOM对象集合 五.DOM对象集合 六.事件监听 使用addEventListener()方法添加事件监听器 使用onX属性直接指定事件处理函数 使用removeEventListener()方法移除事件监听器 一.JavaScript基础…...

如何使用IP代理解决亚马逊账号IP关联问题?

亚马逊账号IP关联问题是指当同一个IP地址下有多个亚马逊账号进行活动时,亚马逊会将它们关联在一起,从而可能导致账号被封禁或限制。 为了避免这种情况,许多人选择使用IP代理。 IP代理为什么可以解决亚马逊IP关联问题? IP代理是…...

opencv之cvScalar

CV_INLINE CvScalar cvScalar( double val0, double val1 CV_DEFAULT(0), double val2 CV_DEFAULT(0), double val3 CV_DEFAULT(0)) { CvScalar scalar; scalar.val[0] val0; scalar.val[1] val1; scalar.val[2] val2; scalar.val[3] val3; return scalar; } 该函数的…...

通过 GithubActions 实现自动化部署 Hexo

一、在自己电脑上新建一个文件夹,打开 git bash here,输入以下命令 # 生成秘钥 ssh-keygen -f github-deploy-key之后会生成两个文件, 一个私钥文件为:github-deploy-key; 另一个公钥文件为:github-deploy-key.pub …...

如何快速导出vercel project中的环境变量

我在vercel中集成了某些插件或者链接了数据库,要如何快速的导出这些环境变量呢? 具体方法如下: npm i -g vercelvercel linkvercel env pull .env.local首先是安装vercel然后登录vercel 最后拉取环境变量到.env.local...

Java-8函数式编程设计-Functional-Interface

Java 8函数式编程设计-Functional-Interface 我自己的理解,函数式编程对用户最大的价值是促使开发者养成模块化编程的习惯,代码可读性和维护性提高很多。 通过阅读JDK 8的 java.util.function 和 java.util.stream 包源码,意在理解Java的函数…...

Linux TCP 参数设置

文章目录 Linux TCP 参数设置参考 Linux TCP 参数设置 查询tcp相关内核参数 sysctl -a|grep ipv4|grep -i --color tcp[rootlocalhost ~]# sysctl -a|grep ipv4|grep -i --color tcp sysctl: reading key "net.ipv6.conf.all.stable_secret" sysctl: reading key &…...

Dubbo之消费端服务RPC调用

在消费端服务是基于接口调用Provider端提供的服务,所以在消费端并没有服务公共接口的实现类。 使用过程中利用注解DubboReference将目标接口作为某个类的字段属性,在解析该类时获取全部字段属性并单独关注解析存在注解DubboReference的字段属性。通过步…...

报表控件Stimulsoft 新版本2024.1中,功能区工具栏新功能

今天,我们将讨论Stimulsoft Reports、Dashboards 和 Forms 2024.1版本中的一项重要创新 - 在一行中使用功能区工具栏的能力。 Stimulsoft Ultimate (原Stimulsoft Reports.Ultimate)是用于创建报表和仪表板的通用工具集。该产品包括用于WinF…...

零样本带解释性的医学大模型

带解释性的医学大模型 提出背景解法拆解方法的原因对比以前解法 零样本带解释性的医学大模型如何使用CLIP模型和ChatGPT来进行零样本医学图像分类用特定提示查询ChatGPT所生成的医学视觉特征描述相似性得分在不同症状上的可视化,用于解释模型的预测注意力图的可视化…...

WebLaTeX:重构LaTeX创作流程的颠覆式解决方案

WebLaTeX:重构LaTeX创作流程的颠覆式解决方案 【免费下载链接】WebLaTex A complete alternative for Overleaf with VSCode Web Git Integration Copilot Grammar & Spell Checker Live Collaboration Support. Based on GitHub Codespace and Dev contai…...

Avalonia跨平台开发踩坑记:我的第一个带最小化/关闭按钮的MVVM应用

Avalonia跨平台开发实战:从零构建MVVM窗口控制应用 第一次接触Avalonia时,我被它"一次编写,多平台运行"的承诺所吸引。作为一个长期使用WPF的开发者,跨平台桌面应用开发一直是个痛点。但当我真正开始用Avalonia实现一个…...

Dify知识库创建全攻略:从零开始搭建你的AI问答系统(附分段模式详解)

Dify知识库创建全攻略:从零开始搭建你的AI问答系统(附分段模式详解) 在AI技术快速渗透各行各业的今天,构建专属知识库已成为企业智能化转型的核心基础设施。Dify作为一款开箱即用的AI应用开发平台,其知识库功能尤其适合…...

告别盲目搜索!Unity大版本升级时,系统化处理API变更的5个步骤

Unity大版本升级的系统化实践:从API变更管理到团队协作优化 当Unity 2023 LTS发布时,某中型游戏团队在升级过程中发现超过40%的脚本因API变更而报错,导致项目停滞两周。这种场景在技术迭代中并不罕见,但大多数团队仍采用"遇到…...

OpenClaw办公自动化:GLM-4.7-Flash处理Excel与PDF文档

OpenClaw办公自动化:GLM-4.7-Flash处理Excel与PDF文档 1. 为什么需要AI处理办公文档? 上周五下午5点,我正对着电脑屏幕发愁——市场部发来的20份PDF调研报告需要提取关键数据,财务部的季度Excel报表等着合并分析,而我…...

终极指南:掌握JSON-BigInt解决JavaScript大整数精度丢失问题

终极指南:掌握JSON-BigInt解决JavaScript大整数精度丢失问题 【免费下载链接】json-bigint JSON.parse/stringify with bigints support 项目地址: https://gitcode.com/gh_mirrors/js/json-bigint 在JavaScript开发中,你是否遇到过处理大整数时精…...

老码农和你一起学AI系列:ELECTRA

ELECTRA(Efficiently Learning an Encoder that Classifies Token Replacements Accurately)是Google Research在2020年提出的一种自监督预训练方法。它不像BERT那样做“完形填空”,而是让模型扮演一个“作弊检测员”,通过判别输入…...

颠覆传统系统管理的轻量级工具:NSudo如何重新定义权限操作

颠覆传统系统管理的轻量级工具:NSudo如何重新定义权限操作 【免费下载链接】NSudo [Deprecated, work in progress alternative: https://github.com/M2Team/NanaRun] Series of System Administration Tools 项目地址: https://gitcode.com/gh_mirrors/ns/NSudo …...

FPGA信号调试必备:Quartus中keep、preserve、noprune的正确用法与避坑指南

FPGA信号调试必备:Quartus中keep、preserve、noprune的正确用法与避坑指南 在FPGA开发过程中,信号调试是最令人头疼的环节之一。特别是当你发现仿真时明明存在的关键信号,在综合后却神秘消失时,那种挫败感简直难以言表。作为一名长…...

零代码也能构建智能登录系统?Dify工作流让你告别繁琐的前端开发

零代码也能构建智能登录系统?Dify工作流让你告别繁琐的前端开发 【免费下载链接】Awesome-Dify-Workflow 分享一些好用的 Dify DSL 工作流程,自用、学习两相宜。 Sharing some Dify workflows. 项目地址: https://gitcode.com/GitHub_Trending/aw/Awes…...