OmniSLAM:多鱼眼相机的SLAM系统

2024-08-25 06:18

本文主要是介绍OmniSLAM:多鱼眼相机的SLAM系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点云PCL免费知识星球,点云论文速读。

文章:OmniSLAM: Omnidirectional Localization and Dense Mapping for Wide-baseline Multi-camera Systems

作者:Changhee Won, Hochang Seok , Zhaopeng Cui , Marc Pollefeys , and Jongwoo Lim

翻译:分享者

本文仅做学术分享,如有侵权,请联系删除。欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈分享快乐。

论文阅读模块将分享点云处理,SLAM,三维视觉,高精地图相关的文章。公众号致力于理解三维视觉领域相关内容的干货分享,欢迎各位加入我,我们一起每天一篇文章阅读,开启分享之旅,有兴趣的可联系微信dianyunpcl@163.com。

论文摘要

本文提出了多鱼眼相机的定位和稠密SLAM系统,该系统使用超大视角(FOV)鱼眼相机,可以360°覆盖环境的立体环境。为了更实用、更精确的重建,首先引入改进的、轻量的深度神经网络来进行全方位深度估计,它比现有的网络更快、更精确。其次,将鱼眼相机深度估计整合到视觉里程表(VO)中,并添加一个循环闭合模块以实现地图全局一致性。利用估计的深度图,我们将关键点重新投影到另一个视图上,从而得到一个更好、更有效的特征匹配过程。最后,我们将鱼眼相机深度图和估计的姿态融合到TSDF中,得到三维地图。评估了方法在具有真值和数据集上的性能,大量的实验表明,该系统在合成和真实环境中都能产生良好的重建效果。

上图:输入具有挑战性的室内环境的示例图像。下图:一栋复式建筑的稠密重建图,带有估计的轨迹。轨迹的颜色代表高度值。

● 相关工作与介绍

主要贡献总结如下:

(i) 提出了一种轻量化和改进的网络鱼眼相机的深度估计。网络的精度、参数个数、运行时间等都比以前的版本有了很大的提高,使本系统更加实用。

(ii)通过将深度图集成到ROVO(鲁棒的视觉里程计)中,并增加回环闭合模块,构建了一个鲁棒的全向视觉SLAM系统。在具有挑战性的室内和大型室外环境中,估算的轨迹精度比以前的版本有所提高。

(iii)提出了一个完整的全方位定位和稠密地图系统,并在合成环境和真实的室内外环境中进行了大量的实验,结果表明我们的系统能够为各种场景生成重建良好的三维稠密地图

系统的流程图。首先使用给定的鱼眼图像估计深度图和位姿。如果可用,深度图将集成到视觉里程计中。将输出深度图和位姿融合到TSDF中,以构建3D地图。在后处理过程中,利用回环模块修正后的姿态建立全局一致的地图。

内容精华

A、 全深度估计

采用端到端网络OmniMVS,并在此基础上提出了Light-weighted OmniMVS。

B、视觉SLAM

定位也是三维稠密SLAM的重要组成部分,根据提出的ROVO[14]对全向立体鱼眼相机系统的姿态进行了稳健估计。在文章中,ROVO有四个步骤:鱼眼相机的投影、跟踪和匹配、姿态估计和联合优化。首先,将输入的鱼眼图像进行视觉矫正,在投影图像中检测到球的特征。其次,利用KLT对检测到的球体特征进行光流跟踪,并在相邻摄像机之间进行特征匹配。然后,跟踪上的特征被三角化到每个对应的3D点。第三,利用2D-3D特征对应关系,利用多视点P3P-RANSAC初始化姿态,并通过pose only bundle平差(BA)进行优化。最后,利用局部光束平差(LBA)同时对估计的姿态和观测到的三维点进行优化。

C. 基于TSDF稠密地图

为了获得全局的3D地图,将估计的全深度图和姿态融合到TSDF中。

实验

稠密地图结果的评估。顶部:完整性,底部:准确性。图例中显示了每种方法的平均比率。我们使用OmniMVS[15]、OmniMVS+和Tiny+作为深度;GT轨迹、ROVO[14]和ROVO+用于姿势。

我们对Wangsimni数据集是否有闭环检测的影响对比。与检测到的回路闭合的轨迹比较结果。

数据集的稠密SLAM结果。

(a)光照强烈的环境下。绿色代表GT地图。我们的ROVO+减少了估计姿态的漂移误差。

(b) 车库环境下。绿色表示前摄像头的估计轨迹

Wangsimni数据集的定性结果。左图:在卫星图像上垂直投影的估计轨迹。右:对应的稠密映射结果。我们将直方图均衡化应用于顶点颜色的可视化。

总结

本文提出了一种适用于多鱼眼相机的定位与稠密地图的SLAM系统。该方法在参数较少的情况下,快速、准确地估计出全方位深度图。然后将输出深度图集成到视觉里程计中,提出的视觉SLAM模块实现了较好的姿态估计性能。实验表明,该系统能够生成良好的合成环境和真实环境三维地图。

资源

三维点云论文及相关应用分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

3D目标检测:MV3D-Net

三维点云分割综述(上)

3D-MiniNet: 从点云中学习2D表示以实现快速有效的3D LIDAR语义分割(2020)

win下使用QT添加VTK插件实现点云可视化GUI

JSNet:3D点云的联合实例和语义分割

大场景三维点云的语义分割综述

PCL中outofcore模块---基于核外八叉树的大规模点云的显示

基于局部凹凸性进行目标分割

基于三维卷积神经网络的点云标记

点云的超体素(SuperVoxel)

基于超点图的大规模点云分割

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

SLAM综述之Lidar SLAM

基于鱼眼相机的SLAM方法介绍

往期线上分享录播汇总

第一期B站录播之三维模型检索技术

第二期B站录播之深度学习在3D场景中的应用

第三期B站录播之CMake进阶学习

第四期B站录播之点云物体及六自由度姿态估计

第五期B站录播之点云深度学习语义分割拓展

第六期B站录播之Pointnetlk解读

[线上分享录播]点云配准概述及其在激光SLAM中的应用

[线上分享录播]cloudcompare插件开发

[线上分享录播]基于点云数据的 Mesh重建与处理

[线上分享录播]机器人力反馈遥操作技术及机器人视觉分享

[线上分享录播]地面点云配准与机载点云航带平差

点云PCL更多活动请查看:点云PCL活动之应届生校招群

扫描下方微信视频号二维码可查看最新研究成果及相关开源方案的演示:

如果你对本文感兴趣,请点击“原文阅读”获取知识星球二维码,务必按照“姓名+学校/公司+研究方向”备注加入免费知识星球,免费下载pdf文档,和更多热爱分享的小伙伴一起交流吧!

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入免费星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享及合作:微信“920177957”(需要按要求备注)联系邮箱:dianyunpcl@163.com,欢迎企业来联系公众号展开合作。

点一下“在看”你会更好看耶

这篇关于OmniSLAM:多鱼眼相机的SLAM系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1104775

相关文章

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻