【论文笔记】Stereo Camera Localization in 3D LiDAR Maps

2023-05-16

【论文笔记】Stereo Camera Localization in 3D LiDAR Maps

随着 3D 光探测和测距 (LiDAR) 传感器的出现,同步定位和映射 (SLAM) 技术蓬勃发展,因此准确的 3D 地图很容易获得。许多研究人员将注意力转向先前获得的 3D 地图中的定位。在本文中,我们提出了一种新颖且轻量级的仅相机视觉定位算法,该算法涉及先前 3D LiDAR 地图中的定位。我们的目标是在 GPS 信号不可靠的城市环境中使用视觉来实现消费者级别的全球定位系统 (GPS) 精度。通过利用立体相机,立体视差图的深度与 3D LiDAR 地图匹配。通过最小化深度残差来估计完整的六自由度 (DOF) 相机姿态。在视觉跟踪的支持下,为定位提供了良好的初始猜测,所提出的深度残差成功应用于相机姿态估计。我们的方法在线运行,因为平均定位误差与最先进的方法产生的误差相当。我们使用 KITTI 数据集将所提出的方法验证为独立的定位器,并使用我们自己的数据集作为 SLAM 框架中的模块进行验证。

方法

我们提出了一种能够根据先前给定的 3D 地图定位立体相机的系统。 我们假设提供了初始相机姿势,并在给出粗略的初始猜测的情况下执行定位。 图 2 显示了所提出的定位器的示意图。 我们的系统由四个模块组成。 在预处理中,对从地图中获取的原始数据和立体图像流进行处理,以用于后面的跟踪和定位模块。 在深度图生成中,深度图是通过使用立体视差来生成的。 在局部地图提取中,从全局地图中提取将与深度图匹配的局部3D地图。 为了确定相机姿态的初始猜测,在定位之前添加跟踪。 在该模块中估计连续图像帧之间的相对位姿。 然后,通过使用跟踪过程中的局部图、深度图和假定位姿来估计 6 DOF 相机位姿。
图1

局部地图提取

在包含大尺度点云的全局地图中,我们需要提取全局地图中可以从当前相机位置观察到的局部区域的点。 我们把这个全局地图点的子部分定义为局部地图。局部地图的提取是通过八叉树[18]实现的。八叉树是一种基于树的数据结构,通常用于包含三维点云。 八叉树中的每个节点都有八个子节点,代表八个子立方体。通过使用八叉树可以进行快速的空间划分和搜索。 点云库(PCL)[19]提供了八叉树和各种相邻的搜索方法。 为了提取当前相机姿势周围的点,在半径搜索范围内的邻居被用来进行局部地图的提取。
主要策略是利用当前立体流中的深度图。 构建的深度图主要用于即将进行的跟踪和定位。 在深度图生成的第一步中,视差图是通过 OpenCV [20] 提供的立体半全局 blob 匹配 (SGBM) 创建的。 SGBM [21] 是一种立体匹配技术,它通过最小化由基于互信息的逐像素成本和全局平滑成本组成的能量函数来估计视差。 通过这个 SGBM 可以获得一个密集的立体视差图。 然后,通过 [22] 估计场景深度,这消除了依赖于范围的统计偏差三角测量。

定位

视觉定位是通过匹配地图点和从立体相机获得的当前深度图来执行的。 虽然目标能量函数与(5)相同,但深度残差 rDis 如下所述。
公式10
这个深度残差在定位模块中被优化,而不是之前在跟踪阶段采用的强度残差(6)。 深度残差定义为地图点的深度与对应的立体深度之间的差值。 通过TCM将mappointpi转换为相机坐标后,可以得到图点的深度为T(ξ)TCM·pi,表示转换后的图点的z轴值。对于对应的立体深度, 相机坐标中的点通过相机投影函数π(·)投影到图像坐标上,然后通过深度映射D(·)得到深度。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【论文笔记】Stereo Camera Localization in 3D LiDAR Maps 的相关文章

  • toLocaleLowerCase() 和 toLowerCase() 之间的区别[重复]

    这个问题在这里已经有答案了 我试图fiddle http jsfiddle net xameeramir kr33b0aL with toLocaleLowerCase http www w3schools com jsref jsref
  • ASP.NET MVC。如何禁止在 URL 中显示默认文化?

    这是问题 我有一个本地化的 asp net mvc 网站 本地化通过以下步骤完成 1 对于每条路线 我自动添加一个 culture url 段 默认值为 ru 我希望我的网址仅包含外国文化 例如 http mysite com ua con
  • R 中的县等值区域地图的阿拉斯加和夏威夷格式不正确

    我正在尝试将美国的 Choropleth 地图格式化为特定颜色 不幸的是 当使用scale fill brewer改变颜色 只有 48 个州这样做 夏威夷和阿拉斯加没有 是否可以知道我是否也可以将着色应用到夏威夷和阿拉斯加 library
  • 列表本地化

    本地化字符串列表的正确方法是什么 我知道分隔符可以本地化为逗号或分号 但是连词是否本地化 如果是这样 任意长度列表的格式字符串会是什么样子 Example 蝙蝠 猫和狗 我可以根据区域设置使用分隔符并构建列表 如下所示 LIST UNIT
  • Apple Watch 基础本地化显示错误的默认语言

    我有一个应用程序本地化为三种语言 简体中文 法语和捷克语 并以英语作为开发语言 虽然本地化在 iPhone 上完美运行 但 Apple Watch 存在问题 如果用户将 Watch 语言设置为英语 法语 中文 捷克语以外的任何其他语言 则内
  • 使用 Bing 地图和 OpenStreetMap 进行免费 Silverlight 地图绘制?

    我最近读过本文 http pietschsoft com post 2009 11 13 Prototype OpenStreetMap Silverlight Control using Bing Maps SDK and DeepEar
  • 如何使用 Google Direction api 或 iPhone 应用程序的其他一些 api 比较两条路线

    我想比较两条路线以检查它们在我的 iPhone 应用程序中是否相同 有一个人X想要从A点到B点 另一个人想要从A1点到B1点 我可以使用谷歌的方向 API 获取 A 到 B 之间的路线 http maps googleapis com ma
  • 相机 java.lang.RuntimeException:setParameters 失败

    我使用创建了一个自定义相机应用程序this https github com davidgatti dgCam源代码 但在少数设备上 例如高分辨率设备 我得到 RuntimeException setParameters failed 我面
  • 如何将正文中的数字替换为波斯数字?

    我想将 html 内容中的每个数字转换为波斯数字 而不会对页面元素产生其他影响 例如 div style color c2c2c2 text number 1 span text number 2 span div text number
  • 将图片添加到图库 - Android

    我有一个活动 用相机拍照 然后将其添加到正确的文件夹 在本例中为 DCIM Camera 但是当你退出应用程序并加载 Android 图库时 它不在那里 我正在玩一些游戏 发现它只在重新启动手机后才出现 我不确定这背后的原因 也许它必须创建
  • 相机预览的有效模糊

    到目前为止我尝试过的 将每一帧转换为位图 然后用library https github com wasabeef Blurry并将其放入ImageView这是在相机预览前 显然太慢了 就像1 fps 然后我开始使用渲染脚本这会模糊每一帧
  • 在 xcode 中,有没有办法验证所有 NSLocalizedStrings 的密钥?

    除了运行其中包含 NSLocalizedString 的每个代码路径之外 是否有一种方法可以验证所有 NSLocalizedString 是否都具有实际存在于所有捆绑包的所有 Localized strings 文件中的密钥 例如 一个键中
  • C++ 的 String.Format

    正在寻找 NET 的 String Format 等函数的 C 实现 显然有 printf 及其变体 但我正在寻找具有位置的东西 如下所示 String Format 您好 0 您是 1 岁 感觉如何 1 姓名 年龄 这是必要的 因为我们将
  • 如何通过我的 ios 应用程序的指示打开苹果地图应用程序

    我的目标是从 ios 应用程序打开带有方向的地图应用程序 我可以打开地图应用程序 但它没有显示方向 我编写的代码如下 NSString mystr NSString alloc initWithFormat http maps apple
  • .Net Core 数据注释 - 使用共享资源进行本地化

    我想使用共享的 resx 文件来指定所有可翻译的字符串 既是为了翻译方便 更重要的是为了避免出现与 DRY 原则冲突的数十个单独的 resx 文件 我让它与 IStringLocalizer 一起用于控制器和视图 但我只是不知道如何为模型的
  • 更改应用程序语言运行时而不重新创建活动

    我需要的 我想提供在应用程序中更改语言的选项 仅更改应用程序的语言 而不是整个手机语言 我做了什么 我尝试在运行时更改区域设置 它正在更改语言 问题是什么 我想要的是 我不想在更改语言时重新创建活动或片段 我尝试过的如下所示 测试活动 ja
  • 如何使用 jquery-validate 本地化

    有没有办法使用存储库中现有的翻译来动态 即从 JS 代码 设置 更改错误消息的语言 非解决方案 1 加载本地化脚本
  • 页面中某些超链接控件上的本地化资源未发生变化

    上面是正在开发中的网站的屏幕截图 我们有一个 DropdownList 控件 并在其 SelectedIndexChanged 上进行回发 然后我们更改站点区域性 然后加载相应的资源文件 DropDownList ASP NET 代码
  • 使用 iPhone 摄像头检测心率 [重复]

    这个问题在这里已经有答案了 可能的重复 使用摄像头检测心率 https stackoverflow com questions 9274027 detecting heart rate using the camera 我正在研究 iOS
  • 三星 Galaxy Note II - 逗号作为数字键盘小数分隔符

    我正在尝试使用逗号作为三星 Galaxy Note II 上数字键盘的小数分隔符 我已经在其他设备 Moto X rooted Samsung GS4 上测试了我的应用程序 如果我从设备的系统设置中更改语言 它们的小键盘具有正确的分隔符 三

随机推荐

  • 一、SLAM算法与导航实战(毕设开源分享)

    目录 1 开源分享 2 建图结果 2 1 多观测点环境结果 xff1a 2 2 长廊环境建图结果 xff1a 1 开源分享 今天终于完成了毕设项目的落地和算法实现 xff0c 比较感叹这里面的坑 xff0c 不仅仅是Linux ROS xf
  • 【3D视觉工坊】第二期公开课:相机标定的基本原理与经验分享 笔记

    课程链接 xff1a 3D视觉工坊 第二期公开课 xff1a 相机标定的基本原理与经验分享 哔哩哔哩 bilibili
  • writeup-RrEeGgEeXx EKOPARTY

    State of the art on authentication mechanisms 题目如上 xff0c 下载完附件 xff0c 扔进IDA xff0c 发现又是c 的 于是又扔进reflector反编译一下 分析了下发现有一个对字
  • FreeRTOS 学习笔记(自用)

    前言 xff1a 本文章用于记录学习FreeRTOS xff08 韦老师 xff09 期间的笔记以及一些个人理解 xff08 带完善 xff09 一 学习内容 xff1a 1 裸机及操作系统 2 FreeRTOS功能及其实现原理 3 线程通
  • 《单片机串口》—将传感器获取的数值在上位机显示

    这里写目录标题 1 单片机通过串口发送单个字符2 单片机通过串口发送字符串3 单片机将传感器获取到的数字值发送到上位机 之前在学蓝牙通信的时候如何将单片机获取到的传感器的数值发送到上位机遇到了不少的问题 由于数据的发送一种是字符格式一种是
  • 三天让车立起来!STM32平衡车入门PID —— 第三天(PID调参)

    说明 xff1a 本文章适用于STM32初学者 xff0c 想完成一个好玩且有深度的项目但不知道从何下手的同学 PID调参是平衡车的精髓所在 xff0c 参数整定的好坏直接影响到平衡车的平衡效果 有的车平衡时来回晃而参数选的好的车就能稳稳地
  • PCB笔记-原理图

    1 学习路线 画PCB追求的是效率 xff01 xff01 xff01 2 元件库的创建 2 1 元件符号 元件符号是元件在原理图上的表现形式 xff0c 主要由元件边框 xff0c 管脚 xff08 包括管脚序号和管脚名称 xff09 x
  • FreeRTOS任务调度启动流程

    FreeRTOS任务调度启动流程 PrefacePreviewAttentionFreeRTos目录结构解释 FreeRTos任务调度一 vTaskStartScheduler函数中需要注意的细节二 xPortStartScheduler函
  • 正点原子视频学习笔记—Verilog下按键消抖, 实现LED灯的点亮和熄灭

    正点原子视频学习笔记 Verilog下按键消抖 实现LED灯的点亮和熄灭 在学习FPGA的基础阶段会有按键控制LED灯亮灭的实验 xff0c 其中避免不了要对按键进行消抖处理 xff0c 以及LED的控制模块 xff0c 和顶层例化模块 本
  • 蚂蚁4面和体检都过了,最后却因为背调挂了导致无业,网友:没养个备胎?

    因为背调而与offer失之交臂的求职者并不是个例 xff0c 最近看到一位程序员发帖称 xff0c 自己蚂蚁4面和体检都过了 xff0c 最后却因为合并简历而挂了 着实令人可惜 原贴如下 xff1a 楼主在评论区解释称 xff0c 自己已经
  • Linux C 下的socket网络编程

    1 socket简介 在我们常用的网络通信中 xff0c socket是最常用的一种 xff0c socket编程也称套接字编程 xff0c 下面我们将对socket编程进行相关讲解 xff0c 其中包括服务器与客户端通信讲解 xff0c
  • 关于stm32结构体

    刚刚看到stm32结构体 xff0c 这个部分还是很重要的 xff0c 做一个小结总结一下 正常标注结构体形式 struct GPIO 成员列表 这样就定义了一个结构体 xff0c 但是当需要定义变量时就需要 struct GPIO GPI
  • stm32f103c8t6 + 串口打印 + dh1

    1 首先新建一个c8t6的工程 如果使用本程序的话 xff0c 可直接运行 xff0c 亲测有效 xff0c 如果想移植功能的同学继续往下看 程序里面的注释也写的很清楚 2 串口打印 首先拿到usart c和usart h文件放置自己的工程
  • 【VIBE: Video Inference for Human Body Pose and Shape Estimation】论文阅读

    论文连接 xff1a https arxiv org pdf 1912 05656 pdf 代码连接 xff1a https github com mkocabas VIBE Video Inference for Human Body P
  • 操作系统——处理机调度

    2 2 处理机调度 2 2 1 调度的概念 调度的基本概念 xff1a 处理机调度是对处理机进行分配 xff0c 从就绪队列中按照一定的算法选择一个进程并将处理机分配给它运行 xff0c 以实现进程并发执行 调度的层次 xff1a 1 xf
  • ROS学习指南(五)

    IMU在ROS里的使用方法 一 IMU消息包在ROS里的数据格式 IMU是安装在机器人内部的传感器模块 xff0c 用来测量当前机器人的位姿 常用的六轴IMU可以解算出机器人xyz三个方向的角速度和角加速度 消息包定义如下 xff0c 其中
  • vins-fusion环境配置,解决opencv3->4的cv::bridge问题

    本文主要介绍如何搭建vins fusion的运行环境 xff0c 以及解决vins fusion编译运行时遇到的环境冲突问题 xff0c 并在此基础上实现例程的运行 本文是在已经安装好 ROS 的基础上 xff0c 在 Ubuntu20 0
  • 解决ROS编译过程中的简单的环境问题

    一 rosmake ERROR No arguments could be parsed into valid package or stack names 该错误是因为找不到工作目录路径 xff0c 设置为当前绝对路径名即可 xff0c
  • 《headfirst设计模式》读书笔记9-迭代器和组合模式

    目录 1 封装遍历2 定义迭代器模式2 1 部分源码2 1 1 MenuItem h2 1 2 Menu h2 1 3 Iterator h2 1 4 ArrayIterator h2 1 5 ArrayIterator cpp2 1 6
  • 【论文笔记】Stereo Camera Localization in 3D LiDAR Maps

    论文笔记 Stereo Camera Localization in 3D LiDAR Maps 随着 3D 光探测和测距 LiDAR 传感器的出现 xff0c 同步定位和映射 SLAM 技术蓬勃发展 xff0c 因此准确的 3D 地图很容