OrienterNet在二维公共地图实现视觉定位的模型

论文来自MetaAI:

https://arxiv.org/pdf/2304.02009https://arxiv.org/pdf/2304.02009github代码:

https://github.com/facebookresearch/OrienterNet?tab=readme-ov-filehttps://github.com/facebookresearch/OrienterNet?tab=readme-ov-file

研究目的

论文提出的OrienterNet是一种基于二维公共地图实现视觉定位的深度学习模型,旨在替代传统依赖三维点云的视觉定位方法,以便利用简单的二维地图如OpenStreetMap进行准确定位。作者的目标是使模型在不依赖高昂构建成本的三维地图的情况下,通过匹配图像与二维地图元素实现亚米级精度的定位。

行业现状

当前主流的视觉定位方法依赖三维点云等复杂数据结构,这些数据的构建和维护成本高昂,且需要使用高密度传感器如LiDAR来生成场景地图,并需要频繁更新。现有的三维地图存储量巨大,难以部署到移动设备上,这在大规模应用中面临挑战。

传统方法大致可以分为以下几类:

基于三维点云 :通过结构化三维模型来实现高精度的定位,适用于机器人和增强现实(AR)应用。

基于卫星图像 :假设场景平面,采用卫星影像实现粗略的二维定位,但精度较低。

基于二维平面地图:二维地图(如OpenStreetMap)体积小,但因缺乏高度信息而限制了精度。

模型构建

OrienterNet的模型结构通过输入图像的重力方向以及粗略的GPS位置来生成图像的BEV,并与OpenStreetMap进行匹配。模型的输出为摄像头3-DoF位姿,包括位置x, y和朝向θ,通过概率分布进行融合,形成最终的定位结果。

模型讲解

模型包含三个主要模块:

BEV视角推理 :通过CNN从输入图像中提取特征,转换为鸟瞰图,并赋予每个网格单元的置信度,这里还用了重力来矫正BEV的图像,对BEV视角内容做了空间的分区

地图编码 :通过CNN将OpenStreetMap的数据(如建筑物、道路、行人等)编码为包含几何和语义信息的神经网络地图。

模板匹配:利用神经地图和BEV进行模板匹配,这里其实是对于BEV的变换的可能性做一个穷举分类,比如假设xy偏移量和角度偏移都有100种可能性,叠加上就是一万种模版,对于每个变换都和地图做一些傅里叶变换的计算,最终得出各个位置的相似度,生成相机位置的概率分布。

实现的效果

实验表明,OrienterNet能有效实现亚米级别的定位,显著提升了现有方法的准确性。相比传统方法,OrienterNet在二维地图的基础上进行定位,不需要昂贵的三维构建成本,并实现了在AR和机器人应用中的较强泛化能力。模型在多个数据集上的实验结果显示,与精度较低的GPS相比,OrienterNet达到了更高的定位准确性,特别是在多帧融合后其效果更为显著。

相关推荐
计算机源码社5 分钟前
基于Hadoop+Spark的商家优惠券营销效果数据分析与可视化-基于Python的商家优惠券营销效果检测与评估分析系统
大数据·hadoop·python·数据挖掘·spark·毕业设计·数据可视化
hans汉斯14 分钟前
数据挖掘|基于BP神经网络的少数民族村寨文化型旅游体验产品潜在游客挖掘
深度学习·神经网络·算法·yolo·软件工程·bp·汉斯出版社
vicky05172 小时前
解决 ModuleNotFoundError: No module named ‘torch‘ 笔记
python
wuyk5552 小时前
Python实战项目02:学生成绩管理系统(控制台|CSV导出|完整落地)
开发语言·python
qq5918406859 小时前
uiautomator2自动化安卓手机操作
python
80s7779 小时前
动态代理和静态代理的区别,动态代理怎么提高网络安全性
python
ai小陈10 小时前
CUDA Stream实战:让数据传输与GPU计算真正重叠
人工智能·深度学习·ai·pdf·云计算·gpu算力
niucloud-admin11 小时前
JAVA V6 多商户商城 开发文档——job 计划任务开发
java·python·github
小叶肥辉11 小时前
LangChain链和LangGraph图的学习笔记【三】——分别用langchain_openai库和langchain_community库调用大模型
笔记·python·langchain
2401_8734794011 小时前
IP属地为什么有时显示外省?用IP查询工具核查动态分配、运营商出口与GeoIP库
python·tcp/ip·ip