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

相关推荐
海绵宝宝转agent7 小时前
learn-claude-code第1-5章开源学习笔记分享
人工智能·笔记·python·学习
小奇不哭7 小时前
ROS2 单节点,RGB-D 深度相机局部路径提取 + B 样条平滑路径 + YOLOv8 障碍物检测 + 深度测距,用于移动机器人视觉局部循迹。
python·yolov8·ros2·cv2·路径探索循迹
liron717 小时前
智能实体演化系统的统一性概念
人工智能·深度学习·神经网络
小小龙学IT7 小时前
Python scikit-learn 机器学习库深度解析
python·机器学习·scikit-learn
Yolanda_20227 小时前
19.神经网络-最大池化的使用
人工智能·深度学习·神经网络
2601_962071578 小时前
类变量和全局变量的查找路径有什么区别?
开发语言·python
呆萌很8 小时前
消融实验对比方法
人工智能·深度学习
卷无止境9 小时前
独立开发者的"富矿地带":哪些垂直领域值得你押注一辈子?
后端·python
Java后端的Ai之路9 小时前
Python进阶探索29_eval内置函数
开发语言·python·探索·eval·内置函数
计算机毕业编程指导师9 小时前
计算机毕设选题推荐:基于Hadoop与Spark的Steam游戏数据分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·spark·毕业设计·steam游戏