经典文献阅读之--RigidFusion(动态障碍物SLAM)

news2024/11/19 13:22:29

0. 简介

在真实的SLAM场景中,我们会发现在遇到大量动态障碍物的场景时候,特别容易造成跟丢的问题。传统的解决方法是通过将动态障碍物滤除,而本文《RigidFusion: Robot Localisation and Mapping in Environments with Large Dynamic Rigid Objects》中提到将动态物体看做刚体进行跟踪。虽然这篇文章创新点并不是很足,但是研究现状总结的很好。目前这篇文章的代码没有开源,但是有视频讲解。文中提出一种新的RGB-D SLAM方法,可以同时分割、跟踪和重建静态背景和可能遮挡相机视野主要部分的大型动态刚性物体。之前的方法将场景的动态部分视为异常值,因此局限于场景中的少量变化,或依赖场景中所有对象的先验信息,以实现鲁棒的摄像机跟踪。本文提出将所有动态部件视为一个刚体,同时分割和跟踪静态和动态部件。因此,在动态对象造成大遮挡的环境中,能够同时定位和重建静态背景和刚性动态组件。

RigidFusion: Robot Localisation and Mapping inEnvironments with Large Dynamic Ri

1. 文章贡献

在无人仓库中搬运和运输物体这些任务需要机器人的移动操作,要求机器人在移动的静态环境中定位,同时对动态物体的干扰具有鲁棒性,并跟踪他们需要操纵的物体。虽然这两个问题之前被单独解决。但是同时解决这两个任务是很少的。
在这里插入图片描述

  • 一个新的SLAM框架,使用RGB-D摄像头,在整个SLAM框架中同时分割、跟踪和重建场景,通过具有潜在漂移的运动先验来完成静态背景和一个动态刚体的构建。

  • 使用稠密SLAM建图的方法,对视觉输入中的大型动态遮挡(超过视野的65%)具有鲁棒性。同时该SLAM模型不依赖静态和动态模型的初始化;

  • 提供一个新的RGB-D SLAM数据集,数据集中包括具有在场景中造成大遮挡的动态对象和真实轨迹。

2. 详细内容

本文提出一种SLAM框架,将动态部件视为单个刚体,利用运动先验分割静态部件和动态部件。利用分割后的图像对摄像机进行跟踪,重建背景和目标模型。

下图展示了该方法的重建流程,首先需要连续两个RGBD关键帧A和B,以及静态和动态物体的先验信息,静态和动态物体的先验信息即为 ξ ~ s \tilde{ξ}_s ξ~s ξ ~ d \tilde{ξ}_d ξ~d是属于 s e ( 3 ) se(3) se(3)的,此外还需要前一帧的语义分割信息 Γ ~ A ∈ R w × h \tilde{\Gamma}_A\in \mathbb{R}^{w\times h} Γ~ARw×h。首先根据运动先验信息检测物体是否为动态物体;然后,当物体运动时,基于帧间对齐,我们联合估计分割 Γ ~ B \tilde{\Gamma}_B Γ~B和刚体运动 ξ ~ s \tilde{ξ}_s ξ~s ξ ~ d \tilde{ξ}_d ξ~d。这些片段用于重建静态环境和动态对象,并利用帧与模型的对齐实现摄像机的定位。
在这里插入图片描述

2.1 图像聚合

类似于文献[4],每个新的强度和深度图像 ( I , D ) ∈ R W × H (I,D) ∈ \mathbb{R}^{W×H} (I,D)RW×H对通过使用K-均值聚类(g K-Means),被分割成K个几何簇 V = { V i ∣ i = 1 , ⋅ ⋅ ⋅ , K } V =\{V_i| i = 1,··· ,K\} V={Vii=1,⋅⋅⋅,K}。假设每个簇满足刚性条件,每个刚体可以通过簇的组合来近似。同时文中还为每个集群分配一个分数 γ i ∈ [ 0 , 1 ] γ_i ∈ [0,1] γi[0,1]表示簇属于静态刚体的概率: γ i = 0 γ_i=0 γi=0表示动态簇,而 γ i = 1 γ_i=1 γi=1表示静态簇。对于RGB-D帧A,我们将总体分数表示为 γ A ∈ R K γ_A∈ \mathbb{R}^K γARK

2.2 距离判断

如果两个运动先验之间的差 ∣ ∣ ξ ~ s − ξ ~ d ∣ ∣ 2 ||\tilde{ξ}_s− \tilde{ξ}_d||^2 ∣∣ξ~sξ~d2小于阈值 d ^ \hat{d} d^,则将图像中的所有聚类视为静态和运动分割。否则,将共同优化当前帧的分数 γ B γ_B γB以及静态和动态刚体的相对运动 ξ s ξ_s ξs ξ d ξ_d ξd

2.3 图像分割

然后从聚类和分数中计算像素级分割 Γ ~ B ∈ R w × h \tilde{\Gamma}_B\in \mathbb{R}^{w\times h} Γ~BRw×h。与静态融合类似,我们从分割中计算静态和动态刚体的加权RGB-D图像 Γ ~ B \tilde{\Gamma}_B Γ~B。这些加权图像用于重建背景和动态目标的模型,并通过帧-模型对齐来细化估计的相机姿态(第V节)。

…详情请参照古月居

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

物联网到底如何实现万物互联?

前言:作为计算机相关专业的你,绝对听说过物联网这个词,它的解释相比你也听过,叫万物互联,也就是所谓的IOT,但是说实话它到底如何实现的万物互联的你可能还真不知道。不是每个物体都有一个网络接口或者实体接…

蓝牙客户端QBluetoothSocket的使用——Qt For Android

了解蓝牙 经典蓝牙和低功耗蓝牙差异 经典蓝牙(Bluetooth Classic):分为基本速率/增强数据速率(BR/EDR), 79个信道,在2.4GHz的(ISM)频段。支持点对点设备通信,主要用于实现无线音频流传输,已成…

响应式数据大屏开发rem、%、vh/vm

前言 响应式数据大屏开发rem、%、vh/vm 我们在开发数据大屏的时候难免会需要解决响应式问题 ,那么响应式是什么呢? 响应式:响应式布局是元素随着屏幕发生宽高大小变化 盒子布局发生变化 通俗的来说: 自适应:元素随着…

设置全局loading

为什么要设置全局loading? 在项目开发过程中,请求接口的时候延迟没有数据,页面感觉狠卡顿,这个时候就要用loading来做一个延迟界面。 但是每个界面都写loading的话就会很复杂,所以今天给大家带来了一个全局loading的…

吴恩达471机器学习入门课程2第2周——手写数字识别(0到9)

手写数字识别的神经网络0-9 1、导包2、ReLU激活函数3 - Softmax函数4 - 神经网络4.1 问题陈述4.2 数据集4.2.1 可视化数据 4.3 模型表示批次和周期损失 (cost) 4.4 预测 使用神经网络来识别手写数字0-9。 1、导包 import numpy as np import tensorflow as tf from keras.mod…

人工智能时代已经开启,它是40年来最重大的技术革命

重读比尔盖茨关于AI的长文《The Age of AI has begun —— Artificial intelligence is as revolutionary as mobile phones and the Internet. 》(开启AI时代:人工智能,比肩智能手机和互联网的革命),有了新的见解&…

电脑卡怎么办?4个方法让电脑流畅运行!

案例:我的电脑刚买的时候使用起来很流畅,但用久了之后就越来越卡,有没有办法可以让电脑流畅运行? 电脑是我们日常生活中必不可少的工具,但有时我们会遇到电脑卡顿的问题,这不仅会影响工作效率,…

VS2017 如何引入动态库(图文教程:libwebsocket为例)

目录 1、把想要的库放进适当的位置;(以libwebsocket动态库为例) 2、将库的头文件包含进来 3、添加对应的库目录 4、链接器——输入中,添加具体的依赖项 5、看当前的动态库,还会依赖其他什么动态库 1、把想要的库放进…

有了这些开源 Icon 库,妈妈再也不担心我的 UI 太丑啦!

Remix Icon Remix Icon 是一套面向设计师和开发者的开源图标库,所有的图标均可免费用于个人项目和商业项目。 与拼凑混搭的图标库不同,Remix Icon 的每一枚图标都是由设计师按照统一规范精心绘制的,在拥有完美像素对齐的基础上,…

分享两个转为数字艺术从业者服务的网站

01 地的数字艺术师、3D设计师、动画制作师和游戏开发人员等人才,为他们提供了多种服务和解决方案。 首先,NewCGer为数字艺术从业者提供了一个交流和学习的平台。该网站上有丰富的行业资讯、技术文章和研究报告等内容,能够及时了解到最新的数…

深度学习应用篇-推荐系统[11]:推荐系统的组成、场景转化指标(pv点击率,uv点击率,曝光点击率)、用户数据指标等评价指标详解

【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化算法、卷积模型、序列模型、预训练模型、对抗神经网络等 专栏详细介绍:【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化…

Socket TCP/IP协议数据传输过程中的粘包和分包问题

Socket TCP/IP协议数据传输过程中的粘包和分包问题 一:通过图解法来描述一下分包和粘包,这样客户更清晰直观的了解: 下面对上面的图进行解释: 1.正常情况:如果Socket Client 发送的数据包,在Socket Server…

PowerBI 开发 第23篇:共享数据集

Power BI共享数据集的优点是:只要数据集刷新,那么引用该数据集的报表都会自动刷新,节省了报表数据刷新的时间和算力,缺点是:使用共享数据集的报表,虽然可以新增Measure(Measure仅存在于本地报表中&#xff…

The baby-bust economy “婴儿荒”经济 | 经济学人20230603版社论双语精翻

2023年6月3日《经济学人》(The Economist)封面文章暨社论(Leaders)精选:《“婴儿荒”经济》(“The baby-bust economy”)。 baby-bust即“婴儿荒”(生育低谷)&#xff0c…

Unity Shader Graph Ase三者分别有什么不一样的地方?

什么是Shader? 着色器 (Shader) 应用于计算机图形学领域,指一组供计算机图形资源在执行渲染任务的时使用的指令,用于计算机图形的颜色或明暗。但近来,它也能用于处理一些特殊的效果,或者视频后处理。通俗的说&#xf…

机器学习:基于AdaBoost算法模型对信用卡是否违约进行识别

系列文章目录 作者:i阿极 作者简介:数据分析领域优质创作者、多项比赛获奖者:博主个人首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒…

低代码开发重要工具:jvs-form(表单引擎)2.1.7功能清单及新增功能介绍

jvs-form 2.1.7 版本功能清单 在低代码开发平台中,表单是用于收集和编辑数据的页面。它通常用于创建、更新或查看单个记录的详细信息。 jvs-form是jvs快速开发平台的8大引擎的其中之一,它的特点: 与动态模型联动,支持动态的调整…

Python心经(6)

目录 callable super type()获取对应类型 isinstance判断对象是否是某个类或者子类的实例 issubclass,判断对象是不是类的子孙类 python3的异常处理 反射: 心经第三节和第五节都写了些面向对象的,这一节补充一…

黑苹果 或者 Mac 因 mds资源占用过高,导致频繁死机

开机后不久,风扇狂转,温度升高,然后死机,关机。 1. 使用 “Apple 诊断”测试 Mac 先看看硬件层面是否有问题。 使用“Apple 诊断”测试 Mac。 这款 Mac 的处理器是 Intel ,开启 Mac,然后在 Mac 启动时立…

java的File

一、File (一)新建File对象 File对象表示一个路径,可以是文件路径,也可以是文件夹路径;这个路径可以是存在的,也可以是不存在的。 File类常见的构造方法: 例如: 注意:因…