攻克“信号噪音”,高德武大联队卫冕全球定位大赛冠军

本文主要是介绍攻克“信号噪音”,高德武大联队卫冕全球定位大赛冠军,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在人手一部智能手机的时代,出门用手机导航已非常普遍。但在这种平常的背后,则是一整套复杂技术方案的支撑。尤其是定位技术,更是地图导航底层的重要基础,直接决定了产品的使用体验。“让定位更精准”,也成为了全球各大相关机构和企业竞相角逐的“技术奥林匹克”。

近日,在西班牙刚闭幕的室内定位与导航领域国际会议IPIN2021上,武汉大学与高德地图联合团队以大幅领先的优势,斩获了“基于智能手机的室内定位”赛道冠军。

2844ace8dc5b639e122f3525c6be5f8a.png

这也是联合团队连续第二年在该大赛中获得冠军——去年的IPIN2020上,武汉大学与高德地图共同摘下的则是“车载环境下的手机定位”组别冠军。

一场更贴近实际场景,同时更具挑战的全球技术角逐

国际室内定位导航大会IPIN(Indoor Positioning and Indoor Navigation)始创于2010年,是目前室内定位领域全球最大的国际学术会议,在谷歌学术排名中属于“顶尖级别定位与导航会议”。同期举办的比赛则是全球室内定位领域顶级赛事之一。

IPIN2021 共有3个赛道,其中武汉大学与高德地图联队拿下了“基于智能手机的室内定位”赛道的冠军。该赛道自2015年便已设立,迄今已有数十个国家的知名高校和公司参赛,是设立时间最长、参与团队最多的赛道。

该赛道旨在利用智能手机的内置传感器,在不额外加装定位设施的情况下,实现室内场所的行人定位。与其他专业的室内定位方案相比,该赛题更贴近目前用户的实际应用场景(例如室内手机导航),在技术方案的选型上更具灵活性,但难度也因低性能的传感器和复杂的实际场景被放大。

据了解,本次比赛首次采用模拟实时定位的方式——参赛团队被要求使用官方提供的API 实时获取数据和上传定位结果。其中,比赛数据由组织方在西班牙一所多层建筑内采集手机内置传感器信号,包括:GNSS(全球导航卫星系统)、惯性传感器、磁力计、Wifi、蓝牙、气压计、光照强度等。

比赛过程中,由不同的测试员携带智能手机,模拟日常手机使用的各种行为,如上下楼梯、坐下、接打电话、屏幕输入等,完成数据采集。用于算法训练的手机共有5款,最后随机挑选一款手机的传感器数据用于评测定位方案的精度。

穿越“噪音”,实现最优定位效果

如何在充满“噪音”的信号组合中找到最佳融合方法,是本次赛事的最大挑战。

由于赛事限于室内环境,手机上唯一专用于定位的传感器——GNSS 无法正常使用,布设定位装置也不被允许,这就使一些专业的高精度定位方案(例如UWB、蓝牙AOA 等)被排除在外;联合团队唯有充分发掘手机内置传感器的定位能力,并利用建筑内自然条件下的信号特性进行定位。

此外,由于赛事任务在多层建筑内进行,定位过程不仅要确定平面位置,还要识别具体楼层。而过程中测试员使用手机的方式是未知的,这使手机传感器——尤其是惯性传感器的信号特性更加复杂,从而进一步增大了定位难度。

针对赛题任务,联合团队进行了深入分析研究。最终确定了解题关键:设计一套融合框架,将手机传感器能力充分利用,取长补短,从而实现最优定位效果。

5f610b2ac7ba797d25a5f15b301e0fff.png

其中,为了解决手机使用方式的多样性问题,联合团队开发了一套基于机器学习和行人航位推算算法,实现准确的相对位置推算;再结合磁场、蓝牙和Wifi 等多个信号源的匹配定位控制位置误差,最终用一个滤波器对各模块输出进行融合,从而实现精准的高频率实时定位输出。

而正是凭借该框架,武汉大学和高德地图联合团队将传统的网络定位、惯性定位与先进的地磁定位等技术充分融合,在本次大赛中以大幅优势成为了“基于智能手机的室内定位”赛道的全球冠军,进一步证明了联合团队在室内定位领域领先的技术水平。

在未来,这将为用户某些日常、但当前导航产品还无法完全覆盖的室内出行场景,如停车场找车打车找上车点商铺导航等,提供技术支撑。

据悉,高德在手机定位领域有长期且深厚的技术积累,不仅服务于高德地图APP用户,同时也为众多合作伙伴的移动应用提供定位技术支持。

卫星定位方面,通过结合专业的几何计算与大数据挖掘能力,实现手机GNSS定位的抗干扰、防欺诈,保证用户在室外定位的准确性;在网络定位方面,通过充分挖掘基站、Wifi等无线信号提供的信息,建立机器学习模型,并通过精细的工程优化实现毫秒级的定位服务;在惯性定位方面,面向驾车和步行用户分别设计的VDR、PDR模型,保证了高楼、高架桥等复杂场景的定位稳定性;此外,高德地图在视觉定位地磁定位等前瞻领域也展开了积极的探索。

未来,高德地图还将继续与各界合作伙伴通力合作,在定位技术上继续探索,为用户带来更加精准、便捷的出行体验。

相关阅读

武汉大学和高德组队 拿下国际顶赛“车载环境下的手机定位”组别冠军

这篇关于攻克“信号噪音”,高德武大联队卫冕全球定位大赛冠军的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/565826

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

三国地理揭秘:为何北伐之路如此艰难,为何诸葛亮无法攻克陇右小城?

俗话说:天时不如地利,不是随便说说,诸葛亮六出祁山,连关中陇右的几座小城都攻不下来,行军山高路险,无法携带和建造攻城器械,是最难的,所以在汉中,无论从哪一方进攻,防守方都是一夫当关,万夫莫开;再加上千里运粮,根本不需要打,司马懿只需要坚守城池拼消耗就能不战而屈人之兵。 另一边,洛阳的虎牢关,一旦突破,洛阳就无险可守,这样的进军路线,才是顺势而为的用兵之道。 读历史的时候我们常常看到某一方势

js定位navigator.geolocation

一、简介   html5为window.navigator提供了geolocation属性,用于获取基于浏览器的当前用户地理位置。   window.navigator.geolocation提供了3个方法分别是: void getCurrentPosition(onSuccess,onError,options);//获取用户当前位置int watchCurrentPosition(

列举你能想到的UNIX信号,并说明信号用途

信号是一种软中断,是一种处理异步事件的方法。一般来说,操作系统都支持许多信号。尤其是UNIX,比较重要应用程序一般都会处理信号。 UNIX定义了许多信号,比如SIGINT表示中断字符信号,也就是Ctrl+C的信号,SIGBUS表示硬件故障的信号;SIGCHLD表示子进程状态改变信号;SIGKILL表示终止程序运行的信号,等等。信号量编程是UNIX下非常重要的一种技术。 Unix信号量也可以

全球AI产品Top100排行榜

Web Top50的榜单里,AIGC类型的应用占比52%,遥遥领先。AIGC类型包括图像、视频、音乐、语音等的内容生成和编辑。音乐生成应用Suno在过去六个月中的排名跃升最为显著,从第36位上升至第5位。排名第二大类是通用对话/AI聊天/角色扮演类型的应用,占比20%,包括常见的ChatGPT、Claude、Character.ai等。其他是AI写作(8%)、AI搜索/问答(6%)、Agent/

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位 一、背景二、定位问题三、解决方法 一、背景 flume系列之:定位flume没有关闭某个时间点生成的tmp文件的原因,并制定解决方案在博主上面这篇文章的基础上,在机器内存、cpu资源、flume agent资源都足够的情况下,flume agent又出现了tmp文件无法关闭的情况 二、

一次生产环境大量CLOSE_WAIT导致服务无法访问的定位过程

1.症状 生产环境的一个服务突然无法访问,服务的交互过程如下所示: 所有的请求都是通过网关进入,之后分发到后端服务。 现在的情况是用户服务无法访问商旅服务,网关有大量java.net.SocketTimeoutException: Read timed out报错日志,商旅服务也不断有日志打印,大多是回调和定时任务日志,所以故障点在网关和商旅服务,大概率是商旅服务无法访问导致网关超时。 后

定位cpu占用过高的线程和对应的方法

如何定位cpu占用过高的线程和对应的方法? 主要是通过线程id找到对应的方法。 1 查询某个用户cpu占用最高的进程号 top -u 用户名 2 查询这个进程中占用cpu最高的线程号 top –p 进程号-H    3 查询到进程id后把进程相关的代码打印到jstack文件 jstack -l pid > jstack.txt 4 在jstack文件中通过16进制的线程id搜索到

Linux中如何屏蔽信号

本篇文章主要学习Linux的信号处理机制,着重学习屏蔽信号部分。屏蔽信号处理的两种方式类似于信号的捕获,一种方式是直接对其设置,另一种方式是先获得描述符的掩码,然后对其设置操作。 本文主要参考自《嵌入式linux系统使用开发》,作者何永琪,Thanks. 在linux系统中,如何处理某个进程发送的一个特定信号呢?一般来说有三种方式: 1) 忽略信号 2) 屏蔽信号 3) 为该信号添