SLAM论文速递【SLAM—— RDS-SLAM:基于语义分割方法的实时动态SLAM—4.24(1)

news/2024/4/24 22:59:53/文章来源:https://blog.csdn.net/m0_61847109/article/details/130335408

论文信息

题目:

RDS-SLAM:Real-Time Dynamic SLAM Using Semantic Segmentation Methods
RDS-SLAM:基于语义分割方法的实时动态SLAM

论文地址:

https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=9318990

发表期刊:

 IEEE Access ( Volume: 9)

开源代码

 https://github.com/yubaoliu/RDS-SLAM.git    

论文标签

摘要

在典型的视觉同时定位与地图构建(vSLAM)算法中,场景刚性是一个很强的假设。这种强大的假设限制了大多数vSLAM在动态现实环境中的使用,而动态现实环境是增强现实、语义地图、无人驾驶汽车和服务机器人等几个相关应用的目标。人们提出了许多解决方案,使用不同类型的语义分割方法(例如Mask R-CNN,SegNet)来检测动态对象并删除异常值。然而,据我们所知,这类方法在其体系结构中需要在跟踪线程中等待语义结果,并且处理时间依赖于所使用的分割方法。本文提出了RDS-SLAM,一种基于ORB-SLAM3的实时视觉动态SLAM算法,增加了一个语义线程和一个基于语义的优化线程,用于在动态环境中实时鲁棒跟踪和建图。这些新线程与其他线程并行运行,因此跟踪线程不再需要等待语义信息。此外,本文还提出了一种算法来获取尽可能最新的语义信息,从而使不同速度的分割方法能够以统一的方式使用。我们使用移动概率更新和传播语义信息,将其保存在地图中,并使用数据关联算法从跟踪中删除异常值。

内容简介

由于语义线程与跟踪线程并行运行,我们使用映射点来保存和共享语义信息。如图1所示,我们利用移动概率更新和传播语义信息,并根据移动概率阈值将地图点分为静态、动态和未知三类。这些分类的地图点将用于在跟踪中选择尽可能稳定的数据关联。本文的主要贡献包括:
(1)提出了一种新的基于语义的实时动态vSLAM算法RDS-SLAM,使得跟踪线程不再需要等待语义结果。
(2)提出了一种关键帧选择策略,将尽可能最新的语义信息作为去除异常值的关键帧,以一种统一的方式与任何不同速度的语义分割方法进行对比。
(3)实验结果表明,所提方法的实时性优于现有的使用TUM的同类方法数据集。
在这里插入图片描述
在这里插入图片描述

每一帧都将首先通过跟踪线程。在上一帧跟踪后估计当前帧相机的初始姿态,并通过局部地图跟踪进一步优化。然后选取关键帧用于语义跟踪、语义优化和局部线程映射;在跟踪和局部映射线程中修改多个模型,利用语义信息去除摄像机自运动估计中的异常值。在跟踪线程中,提出了一种数据关联算法,尽可能地利用静态对象的特征。语义线程与其他语义线程并行运行,从而不阻塞跟踪线程,将语义信息保存到图谱中。利用语义标签生成先验动态对象的掩码图像;利用语义信息更新与关键帧中特征点匹配的地图点移动概率;最后,利用图谱中的语义信息对相机位姿进行优化。

评价

提出了一种基于RGB-D相机的动态环境下基于语义的实时视觉SLAM (RDS-SLAM)系统。对ORB-SLAM3进行了改进,增加了语义跟踪线程和语义优化线程,利用语义信息消除动态对象的影响。这些新线程与跟踪线程并行运行,因此,跟踪线程不会因为等待语义信息而阻塞。提出了一种语义分割关键帧选择策略,以获取尽可能最新的语义信息,以应对不同速度的分割方法。我们使用移动概率更新和传播语义信息,使用数据关联算法检测和删除跟踪中的异常值。使用TUM数据集评估了算法的跟踪性能和处理时间。与主流vslam算法的对比实验表明,该算法具有良好的跟踪性能,能够实时地跟踪每一帧图像。该系统的最快速度约为30HZ,与ORB-SLAM3的跟踪速度相近。在未来的工作中,我们将尝试1)在真实的机器人上部署该系统,2)将该系统扩展到立体相机和单相机系统,以及3)构建语义地图

阅读总结

文章解决的问题如下:
1、ORB-SLAM3不能解决动态场景的问题
2、大多数动态SLAM实时性不够的问题
文章提出的解决方法如下:
1、改进ORB-SLAM3增加语义分割的功能
2、提出语义线程和跟踪线程并行的策略(非阻塞模型)

总的来说,该文章的工作量比较大,介绍得比较仔细,值得借鉴和引用。其中的利用移动概率传播来剔除动态特征点的方法还没研究

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新手必看!ChatGPT常见问题总整理,你遇到了几个?

随着ChatGPT火爆全球,使用人数以指数型成长,许多使用上的问题呈现在网路上。 今天这篇文章会用实作的方式带大家了解ChatGPT有哪些常见问题,以此减少踩坑的机会。 并用简单的示例让大家感受GPT-3.5与GPT-4的能力差异,希望对大家有所帮助。 大家会有这些问题,其实就是希望…

SequoiaDB分布式数据库2023.3月刊

本月看点速览 赋能行业,参编《分布式数据库金融应用发展报告》 脱颖而出,入选2022专精特新黑马大赛年度十强 激烈角逐,成功晋级全国信创优秀解决方案决赛 新穗新彩,多家权威媒体走进巨杉 青杉计划2023持续进行,一起…

从源码全面解析 ArrayBlockingQueue 的来龙去脉

👏作者简介:大家好,我是爱敲代码的小黄,独角兽企业的Java开发工程师,CSDN博客专家,阿里云专家博主📕系列专栏:Java设计模式、数据结构和算法、Kafka从入门到成神、Kafka从成神到升仙…

安卓手机(微信小程序)抓蓝牙通信数据包

前言 因为公司需要......所以我就弄了一下,参考了很多别人的文章。 成果:它可以抓取微信小程序、安卓APP的蓝牙数据通信包。 开始 我是小米手机,所以我以我自己手机为例 通信过程操作 第一步 打开开发者选项,打开蓝牙调试日志和蓝牙数据包日志开关(如果两者只有其中…

MAVEN环境变量配置(Windows 11)

1、直接在搜索框中搜:编辑系统环境变量 2、点击环境变量 3、 在系统变量里面新建系统变量 变量名:MAVEN_HOME 变量值:路径一定要写到maven的bin目录下 以下这种写法是错误的 4、新建系统变量完成 5、 往下滑 找到path,可以双击…

什么是gpt一4-如何用上gpt-4

怎么使用gpt-4 目前GPT-4还未正式发布或公开,因此也没有详细的对接说明。但是我们可以根据GPT-4的前身GPT-3的应用经验,以及GPT-4的预期功能推测一些可能的使用步骤: 选择适合的GPT-4实现技术:GPT-4可能有不同的实现技术&#xff…

Opencv+Python笔记(八)轮廓检测

目录 一、轮廓的检测和绘制1.读入图像2.将读入图像转化为灰度图3.对灰度图进行二值化 [图像的阈值化处理](https://blog.csdn.net/Ggs5s_/article/details/130301816?spm1001.2014.3001.5501)4.进行轮廓检测5.在原图中显示轮廓 二、轮廓层级关系1.RET_LIST2.RETR_EXTERNAL3. R…

慈航公益·高莞乡情行

2023年4月9日,慈航公益高莞乡情行---高村陈屋第二届“敬老睦宗情暖乡土”活动日暨“英华教育奖学基金”成立大会在高村陈屋如期举行。 高村陈屋位于河源市连平县境内,为了赶上10点开始的活动,清晨六点半,志愿者们便从慈航出发&am…

Dynamic Slicing for Deep Neural Networks

0、摘要 程序切片已广泛应用于各种软件工程任务中。然而,现有的程序切片技术只能处理由指令和变量构建的传统程序,而不能处理由神经元和突触组成的神经网络。在本文中,我们提出了 NNSlicer,这是第一种基于数据流分析的深度神经网络…

【ONE·C++ || 继承】

总言 主要介绍继承相关内容。 文章目录 总言1、继承介绍1.1、继承是什么1.2、继承方式与访问限定符1.3、继承作用域 2、基类和派生类对象赋值转换2.1、子类对象可以赋值给父类对象/指针/引用2.2、基类对象不能赋值给派生类对象2.3、基类的指针可以通过强制类型转换赋值给派生类…

vue2的生命周期

生命周期就是记录数据的状态。对数据进行操作 刚开始 new Vue() 创建了一个实例对象 beforeCreate() 数据还没有创建出来 created() 数据创建出来了,可以访问 判断有没有el 或 template 后 将模板编译成渲染函数 beforeMount() 数据还没有挂在到页面上面 mou…

深度强化学习——蒙特卡洛算法(6)

注:本章的内容作为补充插曲,大家可以选看,不过还是建议把最后一个使用蒙特卡洛近似求期望稍微看一下 蒙特卡洛是一大堆随机算法,通过随机样本来估算真实值 使用随机样本来近似Π 1、在[a,b]做随机均匀抽样,抽出n个样…

数据库物理存储结构

目录 一、数据库文件和文件组 1、数据库文件 (1) 主数据库文件(Primary Database File) (2) 次数据库文件(Secondary Database File) (3) 事务日志文件 …

Mysql 45讲和45问笔记(未完待续0203/04/24)

一、mysql 45讲 1)索引的本质讲解 定义解释 所以是帮助Mysql高效获取数据的排好序的数据结构 索引数据结构 ①二叉树 ②红黑树 ③Hash表 ④B-Tree 原理讲解 可以看到右边的数据结构里面,是按照k-v来存数据结构的,key是col2的字段&#xf…

Java学习-MySQL-事务

Java学习-MySQL-事务 ACID原则:原子性、一致性、隔离性、持久性 原子性(Atomicity) 两个步骤要么一起成功,要么一起失败,不可能只成功一个。 举例: A账户400元,B账户600元,A向B转…

Yolo v1 笔记

个人不太懂的点 1.损失函数的4与5项 【论文解读】Yolo三部曲解读——Yolov1 - 知乎 https://www.youtube.com/watch?vNkFENlEb4kM&t672s 训练阶段: C_i 预测值:由网络输出出来7*7*30中第一个bbox和第二个bbox的置信度confidence C_i^hat 标签值…

PTA L2-046 天梯赛的赛场安排 (25 分)

天梯赛使用 OMS 监考系统,需要将参赛队员安排到系统中的虚拟赛场里,并为每个赛场分配一位监考老师。每位监考老师需要联系自己赛场内队员对应的教练们,以便发放比赛账号。为了尽可能减少教练和监考的沟通负担,我们要求赛场的安排满…

C++ 类和对象(中)构造函数 和 析构函数

上篇链接:C 类和对象(上)_chihiro1122的博客-CSDN博客 类的6个默认成员函数 我们在C当中,在写一些函数的时候,比如在栈的例子: 如上述例子,用C 返回这个栈是否为空,直接返回的话&am…

利用Python操作Mysql数据库

我们在进行Python编程的时候,时常要将一些数据保存起来,其中最方便的莫过于保存在文本文件了。但是如果保存的文件太大,用文本文件就不太现实了,毕竟打开都是个问题,这个时候我们需要用到数据库。提到数据库&#xff0…