【论文笔记】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

相关文章

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

使用Python实现一键隐藏屏幕并锁定输入

《使用Python实现一键隐藏屏幕并锁定输入》本文主要介绍了使用Python编写一个一键隐藏屏幕并锁定输入的黑科技程序,能够在指定热键触发后立即遮挡屏幕,并禁止一切键盘鼠标输入,这样就再也不用担心自己... 目录1. 概述2. 功能亮点3.代码实现4.使用方法5. 展示效果6. 代码优化与拓展7. 总结1.

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Linux中的计划任务(crontab)使用方式

《Linux中的计划任务(crontab)使用方式》:本文主要介绍Linux中的计划任务(crontab)使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言1、linux的起源与发展2、什么是计划任务(crontab)二、crontab基础1、cro

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

C++变换迭代器使用方法小结

《C++变换迭代器使用方法小结》本文主要介绍了C++变换迭代器使用方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、源码2、代码解析代码解析:transform_iterator1. transform_iterat

C++中std::distance使用方法示例

《C++中std::distance使用方法示例》std::distance是C++标准库中的一个函数,用于计算两个迭代器之间的距离,本文主要介绍了C++中std::distance使用方法示例,具... 目录语法使用方式解释示例输出:其他说明:总结std::distance&n编程bsp;是 C++ 标准

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.