【论文笔记】RGB-D SLAM in Dynamic Environments Using Static Point Weighting(静态权值策略)在动态环境中使用静态点加权的RGB_DSLAM

本文主要是介绍【论文笔记】RGB-D SLAM in Dynamic Environments Using Static Point Weighting(静态权值策略)在动态环境中使用静态点加权的RGB_DSLAM,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章摘要

针对动态环境,提出了一种基于实时深度边缘的RGB_D SLAM系统。这个系统与现有的最先进的动态环境方法相比,可以显著地减小跟踪误差。

研究背景与论文工作

导航定位随着相机成本的减小发展越来越快,其中在SLAM系统中扮演者很重要角色的视觉测量仍不成熟。目前最先进的研究方法都是假定环境是静态的,忽略了动态环境中经常出现的人、物等因素的影响。而视觉测量目前主要分为两大阵营,一种是上一篇文章里写道的Dense Visual SLAM for RGB-D Cameras里面提到的密集视觉测量方法,而另一种是基于特征对应的视觉测量方法。在这两种方法中为了补偿动态点,都需要进行或多或少地特征对应,这是十分耗时的。
本文提出通过深度边缘点的对应来进行视觉测量。深度边缘点的密度很低,可以进行有效得匹配;而另一方面,深度边缘点反映了环境的纹理。在这里插入图片描述如上图,这里提取的全部是环境中的深度边缘点,既反映了环境的纹理,同时也能进行有效地匹配。

基于前景边缘的视觉测量法

总述

前景边缘首先只提取图片的边缘点作为估计,然后每隔N张图选取一张作为关键帧,关键帧则是用来进行静态权值估计的。得到的静态权值则可以反映出这个点属于静态环境的可能性有多大。静态权值还可以用来与IAICP算法相结合用来削减变换估计中动态移动物体的影响。

前景边缘点与遮挡边缘点

前景边缘点是指靠近摄像机的物体的边缘的点,这些点的特征是对相机的运动比较稳定,不会随着相机的运动出现几何误差,而遮挡边缘点则会因为相机的移动而非常敏感。所以在评估相机位置时候应该要排除遮挡边缘点的干扰。

静态权值估计

在这里插入图片描述图片中第二排是识别出来的前景边缘点,第三排是通过静态权值计算得出的结果,红色为动态物体的边缘,二绿色则是静态物体的边缘。

由于具体如何评估静态权值的理论部分和闭环检测部分尚且不懂,我直接跳过,下面阐述实验结果

实验结果

此前很多前辈的实验都是通过 TUM RGB-D dataset来做的,结果都非常得棒,可是缺少了对图片中动态物体的评估。

视觉测量方法评估

在这里插入图片描述

1) Effect of Static Weighting

:The average improvement in terms of translational drift for low-dynamic sequences is 8%, and for high-dynamic sequences, the average improvement is 52%. This verifies that our static weighting strategy effectively reduces the influence of dynamic objects, especially for high-dynamic environments.

2) Effect of Static Weight Initialization:

在这里插入图片描述a图没有静态权重初始化则人身上的很多点会被当成是静态物体,b图加入了静态权重初始化,则人身上的边缘点区分得更好。

3) Comparison With Previous Methods:

Dense Visual Odometry (DVO):目前最先进的静态处理方案,但是只适用于有小部分动态点的情况。
model-based dense-visual-odometry (BaMVO):为动态环境设计的方案。
结论: Our method improves the visual odometry performance by 74.6% compared to DVO, and by 58.2% compared to BaMVO.
我们的方案基本上在所有的动态环境中表现都是最好的,甚至在静态环境中表现也最好。

结合后的SLAM系统评估

在这里插入图片描述

这篇关于【论文笔记】RGB-D SLAM in Dynamic Environments Using Static Point Weighting(静态权值策略)在动态环境中使用静态点加权的RGB_DSLAM的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring Boot整合Redis注解实现增删改查功能(Redis注解使用)

《SpringBoot整合Redis注解实现增删改查功能(Redis注解使用)》文章介绍了如何使用SpringBoot整合Redis注解实现增删改查功能,包括配置、实体类、Repository、Se... 目录配置Redis连接定义实体类创建Repository接口增删改查操作示例插入数据查询数据删除数据更

使用python生成固定格式序号的方法详解

《使用python生成固定格式序号的方法详解》这篇文章主要为大家详细介绍了如何使用python生成固定格式序号,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录生成结果验证完整生成代码扩展说明1. 保存到文本文件2. 转换为jsON格式3. 处理特殊序号格式(如带圈数字)4

Java使用Swing生成一个最大公约数计算器

《Java使用Swing生成一个最大公约数计算器》这篇文章主要为大家详细介绍了Java使用Swing生成一个最大公约数计算器的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下... 目录第一步:利用欧几里得算法计算最大公约数欧几里得算法的证明情形 1:b=0情形 2:b>0完成相关代码第二步:加

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三