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达到了更高的定位准确性,特别是在多帧融合后其效果更为显著。

相关推荐
2501_928945521 分钟前
命题GTFE-1:修正爱因斯坦场方程的张量形式推导
python
cesske1 分钟前
CNN实现手写数字识别,完整可运行源码
人工智能·神经网络·cnn·手写数字识别·cnn实战·深度学习项目
SilentSamsara2 分钟前
LLM API 工程化:OpenAI/DeepSeek/国产模型统一调用层设计
开发语言·人工智能·python
Wonderful U12 分钟前
Python+Django实战|社区物业管理系统:业主档案、车位管理、物业费收缴、线上报修、投诉建议、园区公告、日常巡检
android·python·django
珺毅同学9 小时前
YOLO生成预测json标签迁移问题
python·yolo·json
骑士雄师9 小时前
18.4 长期记忆可修改版
python
~小先生~10 小时前
Python从入门到放弃(一)
开发语言·python
天佑木枫10 小时前
第2天:变量与数据类型 —— 让程序记住信息
python
Dust-Chasing11 小时前
Claude Code源码剖析 - Claude Code 上下文压缩机制
人工智能·python·ai
Cloud_Shy61812 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第五章 Item 33 - 35)
开发语言·人工智能·笔记·python·学习方法