在结构化场景中基于单目的物体与平面SLAM方案

2024-08-25 06:18

本文主要是介绍在结构化场景中基于单目的物体与平面SLAM方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

文章:Monocular Object and Plane SLAM in Structured Environments

作者:Shichao Yang, Sebastian Scherer

翻译:particle

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

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

论文摘要

本文提出了一种基于高层次目标物体和平面关键特征的单目的SLAM算法。与基于特征点的SLAM相比,所构建的地图更密集、更具体、更有语义信息的地图。文章首先提出一个高层次的图形模型,在考虑遮挡和语义约束的情况下,从单个图像中联合推断三维物体和结构平面。在统一的SLAM框架下,利用摄像机姿态对获取的目标物体和平面进行进一步优化。与点特征相比,目标物体和平面可以提供更多的语义约束。在ICL-NUIM和TUM-Mono等不同的公共数据集和采集数据集上的实验表明,与最先进的SLAM算法相比,我们的算法可以提高摄像机定位精度,尤其是在没有环路闭合的情况下,该算法还能在许多结构化环境下稳健地生成稠密的地图。

使用单目相机重建关键点、物体(绿色框)、平面(红色矩形)的稠密SLAM贴图的示例结果。(顶部)ICL客厅数据集。(底部)收集的长廊数据集。

● 相关工作与介绍

在这项工作中,提出一个基于单目目标物体和平面的SLAM系统,没有先验的对象物体和房间形状模型。主要分为两个步骤。理解三维结构是第一步是,基于图像的几何特征和语义特征生成并优化结构平面和物体对象。第二步是多视图SLAM优化。在一个统一的捆集调整(BA)框架中,通过摄像机姿态和点特征进一步优化平面和物体。对象和平面提供了额外的语义和几何约束,以改进摄像机的姿态估计,优化并生成密集的三维地图。另一方面,精确的SLAM姿态估计提高了单图像的3D检测。综上所述,我们的贡献如下:

•一个高层次图形几何模型,具有高效的推理能力,可用于单图像三维结构理解。

•首个单目目标和平面SLAM,在SLAM方面均优于最先进的算法。

内容精华

单帧图像理解

将环境表示为一组长方体对象和结构化平面(如墙和地板)。目标是同时从二维图像推断出它们的三维位置。我们首先生成若干目标物体和假设平面,然后通过条件随机场(CRF)优化选择其中的最佳子集,如图所示

单图像三维物体和结构平面检测概述。首先生成许多高质量的对象和结构化平面,然后根据语义分割、交叉、遮挡等信息建立图形几何模型来选择最优子集。

为了表示平面,CNNs可以直接预测三维平面位置,但由于预测的布局可能与实际平面边界不完全匹配,可能会丢失一些细节。因此,测量不确定度大,不适合作为SLAM观测值。所以这里直接检测和选择更可靠和可重复性更好的地面与墙交界线段。

SLAM优化

利用单幅图像检测中选取的目标物和平面作为SLAM观测值,并通过多视点BA对摄像机姿态进行优化。并在SLAM过程中包含点特征,因为在环境中通常只有几个对象和平面,它们不能完全约束摄影机的姿势。

SLAM中的观测值。(a) 相机平面观测。将检测到的地面边缘反投影到三维空间,与地标平面进行比较。(b) 相机对象物体观测。将三维长方体地标投影到图像上,并与检测到的二维盒体进行比较。(c) 物体与平面测量误差取决于被平面遮挡的物体体积。

实验

对于目标检测,使用了与Object SLAM【1】类似的算法。Yolo检测器用于二维目标检测。对于平面检测,我们首先使用【2】检测线段并将其合并到长边上。Segnet【3】用于二维语义分割。然后我们过滤掉长度小于50像素且距离墙-地分割边界50像素以上的线。在视频情况下,单幅图像的三维检测采用SLAM姿态估计。对于SLAM部分,系统是建立在基于特征点的ORB SLAM之上的,通过对象和平面进行扩展。

单图像原始物体和面检测和CRF优化。

(a) 原始平面和预测的对象。(为了简洁起见,只绘制了一个长方体方案)

(b)原始方案的俯视图。红色矩形表示地面真实物体,蓝色表示估计值。检测的墙线是青色的。

(c) CRF选定检测到物体的俯视图。优化后的物体姿态更精确。平面和对象的相交和遮挡也会减少

(顶部)ICLNUIM办公室2和房间数据。(中)YUM-mono 36。(下)采集的长廊。红色矩形为平面边界,绿色长方体为对象。蓝色曲线是估计的摄像机轨迹。

总结

在这项工作中,我们提出了第一个单目SLAM和稠密SLAM算法,根据实验结果表明,语义场景理解和传统的SLAM优化方法可以互相促进。对于单幅图像,我们提出了一种快速的三维物体和结构化平面的联合理解方法。通过二维目标检测和边缘检测生成长方体和平面方案。然后提出一种高效的稀疏高阶CRF推理来选择最优方案。在SLAM部分,针对平面和物体设计了几种新的测量函数。与点相比,物体和平面可以提供远距离的几何和语义约束,如交集和支撑关系,以提高姿态估计。为了提高鲁棒性,提出了严格的外点剔除、鲁棒数据关联和优化方法。我们评估了SLAM算法在各种公共室内数据集(包括房间和走廊)中的性能。与现有的方法相比,我们的方法可以在大多数环境下改进摄像机的姿态估计和稠密地图。未来,除了墙平面外,还需要考虑更多的通用平面,以生成更密集、更完整的地图。动态对象和对象表面映射也可以用来提高鲁棒性和地图质量。

参考文献

【1】Shichao Yang and Sebastian Scherer. CubeSLAM: Monocular 3D object SLAM. IEEE Transactions on Robotics, 2019

【2】Rafael Grompone von Gioi, Jeremie Jakubowicz, Jean-Michel Morel, and Gregory Randall. LSD: A fast line segment detector with a false detection control. IEEE Transactions on Pattern Analysis & Machine Intelligence, (4):722–732, 2008.

【3】Vijay Badrinarayanan, Alex Kendall, and Roberto Cipolla. SegNet: A deep convolutional encoder-decoder architecture for image segmentation. IEEE transactions on pattern analysis and machine intelligence, 39(12):2481–2495, 2017

资源

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

【点云论文速读】基于激光雷达的里程计及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,欢迎企业来联系公众号展开合作。

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

这篇关于在结构化场景中基于单目的物体与平面SLAM方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1104771

相关文章

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

Java集成Onlyoffice的示例代码及场景分析

《Java集成Onlyoffice的示例代码及场景分析》:本文主要介绍Java集成Onlyoffice的示例代码及场景分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 需求场景:实现文档的在线编辑,团队协作总结:两个接口 + 前端页面 + 配置项接口1:一个接口,将o

Python Flask 库及应用场景

《PythonFlask库及应用场景》Flask是Python生态中​轻量级且高度灵活的Web开发框架,基于WerkzeugWSGI工具库和Jinja2模板引擎构建,下面给大家介绍PythonFl... 目录一、Flask 库简介二、核心组件与架构三、常用函数与核心操作 ​1. 基础应用搭建​2. 路由与参

IDEA实现回退提交的git代码(四种常见场景)

《IDEA实现回退提交的git代码(四种常见场景)》:本文主要介绍IDEA实现回退提交的git代码(四种常见场景),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.已提交commit,还未push到远端(Undo Commit)2.已提交commit并push到

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

利用Python实现可回滚方案的示例代码

《利用Python实现可回滚方案的示例代码》很多项目翻车不是因为不会做,而是走错了方向却没法回头,技术选型失败的风险我们都清楚,但真正能提前规划“回滚方案”的人不多,本文从实际项目出发,教你如何用Py... 目录描述题解答案(核心思路)题解代码分析第一步:抽象缓存接口第二步:实现两个版本第三步:根据 Fea

SpringBoot实现接口数据加解密的三种实战方案

《SpringBoot实现接口数据加解密的三种实战方案》在金融支付、用户隐私信息传输等场景中,接口数据若以明文传输,极易被中间人攻击窃取,SpringBoot提供了多种优雅的加解密实现方案,本文将从原... 目录一、为什么需要接口数据加解密?二、核心加解密算法选择1. 对称加密(AES)2. 非对称加密(R

MySQL精准控制Binlog日志数量的三种方案

《MySQL精准控制Binlog日志数量的三种方案》作为数据库管理员,你是否经常为服务器磁盘爆满而抓狂?Binlog就像数据库的“黑匣子”,默默记录着每一次数据变动,但若放任不管,几天内这些日志文件就... 目录 一招修改配置文件:永久生效的控制术1.定位my.cnf文件2.添加核心参数不重启热更新:高手应

MySQL中like模糊查询的优化方案

《MySQL中like模糊查询的优化方案》在MySQL中,like模糊查询是一种常用的查询方式,但在某些情况下可能会导致性能问题,本文将介绍八种优化MySQL中like模糊查询的方法,需要的朋友可以参... 目录1. 避免以通配符开头的查询2. 使用全文索引(Full-text Index)3. 使用前缀索

Python解决雅努斯问题实例方案详解

《Python解决雅努斯问题实例方案详解》:本文主要介绍Python解决雅努斯问题实例方案,雅努斯问题是指AI生成的3D对象在不同视角下出现不一致性的问题,即从不同角度看物体时,物体的形状会出现不... 目录一、雅努斯简介二、雅努斯问题三、示例代码四、解决方案五、完整解决方案一、雅努斯简介雅努斯(Janu