有限视角重叠和不准确外参标定下的多相机SLAM的鲁棒初始化

2023-05-16

1. 摘要

本文提出了一种当相机只有有限的公共视野和不准确的外参标定情形下的用于多相机视觉SLAM系统的鲁棒初始化方法。有限的共同视野导致只有一些特征可以在相机之间匹配上。离线标定后,由于振动或相机错误放置而导致的不准确的外部位姿,使得三角化种子3D点以成功初始化SLAM系统变得更加困难。没有像大多数多相机系统那样将外参设为定值以用于特征匹配和3D点三角化,我们提出将不准确的外参作为软约束来适应标定误差。我们的初始化方法包括在不同相机之间匹配和在两个关键帧之间匹配两个阶段。这两个阶段都涉及优化包含来自不准确标定参数的外参位姿先验的代价函数。通过合并这些软位姿约束,我们可以在避免由不准确外参参数造成的错误的特征匹配和三角测量的同时,保持仅存在少数特征对应时的解空间。实际测试的结果表明,即使离线标定的位姿先验和真实值差异较大,这样一个简单的解决方案也可以显著提高SLAM初始化的成功率。

图1.  左图:我们的多摄像头SLAM系统部署所在的自动驾驶汽车。红色圆圈表示相机位置。右: 四台摄像机的快照。请注意相邻的摄像机之间的共同视场角只有大约20度。
图2 .当多相机装备从关键帧1移动到关键帧2时,不同坐标系之间的关系。我们使用质数符号代表第二帧中的坐标系。
图3. 极线可视化。(a) :没有位姿先验时匹配点(绿色)的结果。(b) :具有位姿先验的结果。注意没有匹配上的点(红色)远离其对应的在(a)中的极线,表示从这些特征点中没有很好地提取相对位姿。
图4. 左上角:用于定量评估的迷你车,其中红色圆圈表示具有狭窄公共视场角的四个摄像机。相机之间的基线约为36厘米。右上角:地面真实位姿(蓝色)的可视化、不准确位姿先验(红色)和通过我们的方法(绿色)估计的位姿。底部:街道场景、动态场景和狭窄场景测试序列的采样图片。
表1. 两阶段初始化的消融研究。更多细节见第V-A节。
表2.两种基准方法的对比。
图5.我们的方法应用于一个真实的驾驶案例。地图和相机位姿显示在顶部,不同的颜色表示不同相机,破折号代表关键帧(请放大查看详细信息)。图像和特征点显示在底部。
图6.通过添加不同级别的相对真值的旋转和平移噪声得到RMSE分布。当扰动在旋转上小于10度在平移上小于10厘米时,在线外参细化能获得可靠结果。
表3.三种场景下初始化方法的成功率。
表4.在三种道路条件下在线外参标定的定量评估。三种道路条件下的所有RMSE都非常小。更多详细信息参见第V-B节。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有限视角重叠和不准确外参标定下的多相机SLAM的鲁棒初始化 的相关文章

  • SLAM笔记(四)运动恢复结构的几何数学(本征矩阵、单应矩阵、基础矩阵)

    1 间接法进行运动恢复的前提假设 对于结构与运动或视觉三维重建中 通常假设已经通过特征匹配等方法获取了匹配好的点对 先求出匹配点对再获取结构和运动信息的方法称作间接法 间接法最重要的三个假设是 1 拥有一系列两帧之间的匹配点对 但同时假设匹
  • 三维刚体变换

    欢迎访问我的博客首页 三维刚体变换 1 坐标系 1 1 空间坐标系 1 2 右手坐标系与像素坐标系 2 旋转与平移 2 1 推导旋转 2 2 推导平移 2 3 推导变换 2 4 刚体变换 2 5 坐标系旋转与向量旋转 3 链式变换 4 Ei
  • SLAM入门

    SLAM定义 SLAM Simultaneous localization and mapping 同时定位 我在哪里 与建图 我周围有什么 当某种移动设备 汽车 扫地机 手机 无人机 机器人 从一个未知环境的未知地点出发 在运动过程中 通
  • ROS激光SLAM导航理解

    ROS激光SLAM导航理解 注 最近学习ROS的激光导航知识 需要理清ROS的SLAM 环境感知 costmap 与导航算法 为防止自己忘记 将觉得有价值的内容收集于此 对AGV来说 SLAM是个大大坑 环境感知和局部运动控制也是大坑 学习
  • 各向异性(anisotropic)浅提

    文章目录 各向异性 anisotropic 定义 哪种物体具有各向异性反射 什么导致各向异性反射 总结 各向异性 anisotropic 定义 它指一种存在方向依赖性 这意味着在不同的方向不同的特性 相对于该属性各向同性 当沿不同轴测量时
  • np.meshgrid()函数 以及 三维空间中的坐标位置生成 以及 numpy.repeat()函数介绍

    一 np meshgrid 函数 1 np meshgrid 介绍 X Y np meshgrid x y 代表的是将x中每一个数据和y中每一个数据组合生成很多点 然后将这些点的x坐标放入到X中 y坐标放入Y中 并且相应位置是对应的 下面是
  • 速腾聚创雷达最新驱动安装(包含ring和timestamp)运行lio-sam

    记录一下搞slam的过程 ring和timestamp 最近想跑lio sam 需要用到ring和timestamp两个参数 lio sam作者用的velodyne雷达是带这两个参数的 但是rs雷达的老版驱动录制的点云包没有这两个参数 在g
  • 视觉SLAM实践入门——(20)视觉里程计之直接法

    多层直接法的过程 1 读图 随机取点并计算深度 2 创建图像金字塔 相机内参也需要缩放 并计算对应点的像素坐标 3 应用单层直接法 使用G N L M等方法 或者使用g2o ceres库 进行优化 源码中有一些地方会引起段错误 修改方法见下
  • 对最小二乘法的一点理解 - slam学习笔记

    我对最小二乘法的理解 在给定参数个数和函数模型之后 根据测试数据 找出与所有测试数据的偏差的平方和最小的参数 这里面应该有两个问题 1 为什么选取与真实数据平方和最小的拟合函数 2 如何求参数 为什么选取与真实数据平方和最小的拟合函数 极大
  • Difference Between LiDAR and RADAR——LiDAR和RADAR的不同

    Difference Between LiDAR and RADAR 原文连接 https www differencebetween com difference between lidar and vs radar 翻译 RADAR和L
  • 【SLAM】libQGLViewer:VS 2019 + Qt 5.14.2 + Win 10 配置

    libQGLViewer 2 7 2 VS 2019 Qt 5 14 2 Win 10 配置 注意 这次配置没有完全成功 编译25个成功 一个失败 失败的是 qglviewerplugin qglviewerplugin 是一个可选控件 不
  • 图像匹配算法

    图像匹配算法分为3类 基于灰度的匹配算法 基于特征的匹配算法 基于关系的匹配算法 1 基于灰度的模板匹配算法 模板匹配 Blocking Matching 是根据已知模板图像到另一幅图像中寻找与模板图像相似的子图像 基于灰度的匹配算法也称作
  • 激光SLAM7-基于已知位姿的构图算法

    1 通过覆盖栅格建图算法进行栅格地图的构建 1 1 Theory 1 2 code 这里没有判断idx和hitPtIndex是否有效 start of TODO 对对应的map的cell信息进行更新 1 2 3题内容 GridIndex h
  • IMU预积分的一些理解

    IMU预积分 算是比较简单的一个算法 无奈网上找到的资料都讲的晦涩难懂 看明白了也觉得不过如此 讲一下我的理解 整体流程 1 推导IMU离散运动方程 2 根据离散运动方程 进行预积分 并将预积分的误差项拆分出来 因为我们在定义误差的时候 有
  • PnP 问题

    欢迎访问我的博客首页 PnP 问题 1 DLT 2 P3P 3 G2O 求解 PnP 3 1 单目 3 2 双目 4 自定义顶点与边优化内参 4 1 二元边 4 2 三元边 4 3 总结 5 参考 PnP Perspective n Poi
  • Ubuntu20.04安装各种库----简洁版

    目录 Eigen3 Sophus Pangolin Ceres g2o 建议先装anaconda再装ros python opencv啥该有的都有了 下面仅仅安装ros没有的库 Eigen3 作用 线性代数开源库 提供了有关线性代数 矩阵和
  • SLAM--三角测量SVD分解法、最小二乘法及R t矩阵的判断

    目录 一 三角测量 方法一 SVD分解法的推导 方法二 最小二乘法求解 二 ORB SLAM2 三角测量源码 三 利用Eigen源码实现三角测量 方法一 SVD分解法 方法二 最小二乘法求解 速度最快 方法三 利用OpenCV自带函数 四
  • 1-如何安装ROS

    如何安装ROS 大家好 我是如何 今天尝试在Ubantu下安装ROS Robot Operating System 测试环境 虚拟机VMware Ubantu20 04 准备步骤 添加ROS软件源 sudo sh c echo deb ht
  • 【Pytorch论文相关代码】使用SOLD2预训练好的模型检测与匹配线段(自己的数据集)

    文章目录 前言 使用流程 检测与匹配结果 前言 论文链接 SOLD2 Self supervised Occlusion aware Line Description and Detection 论文源码 https github com
  • LIO-SAM运行自己数据包遇到的问题解决--SLAM不学无数术小问题

    LIO SAM 成功适配自己数据集 注意本文测试环境 Ubuntu18 04 ROS melodic版本 笔者用到的硬件以简单参数 激光雷达 速腾聚创16线激光雷达 RS Lidar 16 IMU 超核电子CH110型 9轴惯导 使用频率1

随机推荐

  • Linux shell

    目录 shell 脚本 shell 概述 shell 分类 shell 语法 shell 脚本的定义与执行 自定义变量 环境变量 预设变量 脚本变量的特殊用法 条件测试语句 gt 文件 条件测试语句 gt 字符串 条件测试语句 gt 数字
  • Linux > mmap

    目录 mmap 概念 使用 函数声明 mmap 概念 mmap 将 一个文件或者其它对象 映射到 进程的地址空间 实现 磁盘地址 和进程 虚拟的虚拟地址 的一一对应关系 通过mmap 系统调用 xff0c 我们可以 实现共享内存或者普通文件
  • C++ > STL之算法

    目录 函数对象 谓词 一元谓词 二元谓词 内建函数对象 适配器 算法概述 常用遍历算法 for each 遍历算法 transform 算法 常用查找算法 find 算法 find if 算法 adjacent find 算法 binary
  • 性能优化 启动黑白屏优化

    启动黑白屏优化 前言 这是Google设计者为了让用户体会到点击图标后立马就有响应 xff0c 而让App创建的过程中先展示一个空白窗口 正是这个设计 xff0c 我们在点击App应用图标之后 xff0c 会看到一段时间的空白屏幕 xff0
  • 解决android studio Could not GET 'https://dl.google.com/dl/android/maven2

    解决android studio Could not GET 39 https dl google com dl android maven2 1 http proxy 选择 No proxy 模式 2 修改gradle配置文件 找到C U
  • Unable to add window — token android.os.BinderProxy is not valid; is your activity running?

    现象是 xff1a 第一次显示Dialog正常显示 xff0c 但按了返回键后 xff0c 再次进入程序显示Dialog时就会报错 原因 xff1a 我把 对Dialog义为了static 变量 导致退出程序后 xff0c 再次进入来显示D
  • Visual Studio 新建一个Win32控制台项目

    1 点击 文件 新建 项目 2 选好Win32控制台项目点击确定 3 点击击下一步 4 勾选好项目程序设置后点击完成 5 点击 本地 Windows 调试器即可调试程序
  • 安装CDC drivers 失败原因,记录关键点

    1 驱动版本不对 xff0c 因为CDC drivers 主要调用的是usbser sys 文件 xff0c 需要查看你的c windows system32 drivers下是否有该文件 2 驱动对了 xff0c 但是安装过程中一直提示找
  • Ubuntu 运行文件时,出现 Permission denied

    在Ubuntu下 xff0c 执行sh文件时提示下面信息 xff1a bash xx sh Permission denied 可以尝试以下方法解决 xff1a chmod 777 xx sh 执行其他类型的文件出错时 xff0c 也可以此
  • update.app格式解压工具-ROM定制开发教程

    Github分享工具地址 xff1a https github com Loren Yi update app 使用教程 xff1a 下载huawei unpack exe 到本地目录 讲华为 UPDATE APP放至同一路径 将 UPDA
  • mysql时间和本地时间相差13个小时

    原文地址 https www xiegaosheng com post view id 61 73 mysql时间和本地时间相差13个小时 作者 谢高升 发布 2017 12 15 浏览 0次 mysql时间和本地时间相差13个小时 修改l
  • 美团笔试题(2018.10.09)

    逻辑题20个要快点做 xff0c 然后30个选择考的东西比较多 编程两个 优惠券 有一个满x减的优惠券 xff0c 一共n个商品 xff0c 每个只能选择一次 xff0c 求能使用优惠券的最小价格 就是求n个数选任意几个加起来最接近x且大于
  • AndroidStudio gradle 编译发现阿里云镜像找不到对应jar包https://maven.aliyun.com/nexus/content/repositories/jcenter

    FAILURE Build completed with 4 failures 1 Task failed with an exception What went wrong Execution failed for task 39 app
  • 用PyQt5写了个音乐播放器

    首先先展示一下界面 xff08 不美观但好用 xff09 除了不能看歌词功能该有的都有 xff0c 作为本地播放器还挺好用的 xff0c 界面是用PyQt5做的 下面是源代码 xff1a span class token keyword i
  • Consul+Ocelot搭建微服务实践--IdentityServer集成

    文章目录 1 IdentityServer介绍2 建立IdentityServer2 1 安装IdentityServer42 2 定义配置中心2 2 1 定义Client2 2 2 定义ApiResource2 2 3定义Identity
  • 配置Linux内核版本在线或离线升级(回退)

    在线升级 一 查看系统内核 xff08 当前系统内核为3 10 xff09 uname r 二 确定当前主机能连外网 ping www baidu com 三 导入在线elrepo仓库公钥 rpm import https www elre
  • 深度学习相关网址

    深度学习教学网址 Unsupervised Feature Learning and Deep Learning Tutorial GitHub rasmusbergpalm DeepLearnToolbox Matlab Octave t
  • CentOS Docker安装并使用httpd镜像运行容器

    Docker 是一个开源的应用容器引擎 xff0c 基于 Go 语言 并遵从 Apache2 0 协议开源 CentOS Docker 安装 先卸载旧版本 xff0c 较旧的 Docker 版本称为 docker 或 docker engi
  • 基于神经辐射场NeRF的SLAM方法

    随着2020年NeRF 1 的横空出世 xff0c 神经辐射场方法 xff08 Neural Radiance Fields xff09 如雨后春笋般铺天盖地卷来 NeRF最初用来进行图像渲染 xff0c 即给定相机视角 xff0c 渲染出
  • 有限视角重叠和不准确外参标定下的多相机SLAM的鲁棒初始化

    1 摘要 本文提出了一种当相机只有有限的公共视野和不准确的外参标定情形下的用于多相机视觉SLAM系统的鲁棒初始化方法 有限的共同视野导致只有一些特征可以在相机之间匹配上 离线标定后 xff0c 由于振动或相机错误放置而导致的不准确的外部位姿