当前位置: 首页 > news >正文

动态SLAM总结一

文章目录

  • 方法分类:
  • OctoMap:(2013)
  • UFOMap:(2020)
  • Removert:(2020)
  • ERASOR:(2021)
  • DynamicFilter:(2022)
  • Dynablox:(2023)下层建图方案Voxblox
  • DUFOMap:(2024)基于UFOMap
  • BeautyMap:(2024)

汇总自己最近看到的有关动态SLAM的论文,虽然大部分都没有看懂。

方法分类:

  1. learning-based:
  2. visibility-based:Removert、ERASOR
    a. 入射角问题:比如入射角模糊。
    b. 障碍物出现时不能正确过滤掉动态点。
  3. occupancy map-based:OctoMap(建图)、UFOMap(建图)、DUFOMap、Dynablox
    a. 基于占据的方式在3D环境中是计算昂贵的。
    上面三种分类也可以称为如下:
  4. apperance-based segmentation:
  5. scan-to-scan change detection:
  6. map-based change detection:

OctoMap:(2013)

● 八叉树结构允许网格结构延迟初始化。
● 信息能够存储在八叉树中以不同的分辨率。
Voxblox:(2016)
● SDF(signed distance field)表示每个体素的点到距离最近的障碍物的距离,从而加速轨迹优化。
● 不同于事先分配体素大小,Voxblox分配块固定大小当需要的时候。

UFOMap:(2020)

这篇文章主要针对的是环境中的未知区域过多,从而引入未知区域的映射,和OctoMap相比在建图性能方面有所提升,但不是动态SLAM。(主要是为了和下面的DUFOMap联合理解)
● 创新点:
○ 地图中所有状态的显示表示:occupied、free、unknown。
○ 引入不同方式融合数据进八叉树,提高了效率;
○ OctoMap在插入/删除地图的同时不允许迭代操作,UFOMap克服这个缺陷。允许迭代。
○ OctoMap函数的八叉树的分辨率参数不可变的,UFOMap的八叉树分辨率参数可以改变。
● 占有率如何存储的:占有率存储在八叉树对应的节点中(log-adds occupancy value is stored in the nodes)。
● 一个节点(node)的占有率如何划分的:
free、 unknown occupied:
occ(n) < tf < occ(n) < to < occ(n)
● Morton codes使用去加速这个树的遍历。一种空间点编码方式。
● 集成传感器测量的点云:Simple integrator、Discrete integrator、Fast Discrete integrator,第三个方法暂时没有看懂。
离线方式:Removert、EARSOR、ERASOR2

Removert:(2020)

主要思想:在查询到的帧(scan)投影进地图(range images),随后在可见性约束下比较查询扫描的scan的范围图像,并且使用投票的方式预测动态点。同时为了减少错误位置,在退化的分辨率的场景下range images 被用于将动态点恢复为静态点,这也是为什么被称为Removert(移除并重建)。

ERASOR:(2021)

前提:假设动态对象是和地面相关联的。这篇文章暂时也不是很理解,动态对象和地面点相关联这个思想在 A Dynamic那篇文章中也提到过。后续可以结合起来看一下。
主要思想:比较查询scan和地图map的z轴最小和最大的比例。如果这个比例查过阈值,那么这个区域包含动态点,随后移除这个区域的bin。
缺点:对应不同的场景需要分别指定z轴范围的最小值和最大值。同时对于个别过高的区域可能超过z轴最大范围。

DynamicFilter:(2022)

scac-to-map前端 和 map-to-map后端 Visibility-based和map-based方法
the front end :
积累几帧后,基于可视化方法进行动态点移除:在大入射角或障碍物的情况下,静态点移除可能会发生退化,错误的将静态点识别为动态点,所以在移除后需要进行静态点重建。这里这个前端静态点重建方法比较新,可以看论文学习。
the back end:
文章中说明,由于只包含前端的系统在移除短序列时有效,但在移除长序列时表现效果较差,所以为了弥补这个缺陷,设计了后端移除方法。
这个文章后端模块中有一个大入射角的处理,通过计算每个点的入射角,将大于阈值的点云标计为伪占用点。将最近的伪占用点作为可视化边界,任何点超过这个可视化边界都不考虑。由于那些点的光线投影是不正确的。(这个思想和另一篇文章非常相近)

Dynablox:(2023)下层建图方案Voxblox

  • 主要思想:通过在线机器人操作过程中的感知、状态估计、映射限制增量的估计高置信度的free-sapce:核心思想是通过对每个限制进行建模来增量估计减少但高置信度的自由空间区域。然后使用这些高置信度区域来播种动态对象集群并消除低置信度区域中的点的歧义。
  • 创新点:增量高置信度估计方法考虑的因素有:输入点云、建模传感器噪声(重点看下这个和下面的DUFOMap方法使用的进行对比)、测量稀疏性、动态环境、状态估计漂移(这个也可以和下面的方式进行对比)。
  • 误差来源:传感器噪声、状态漂移、未探索空间边界地图的不准确性。

这篇文章看得是真的头大,好多概念都不是很清楚。

DUFOMap:(2024)基于UFOMap

关联:UFPMap中点云处理后生成的体素结构被用于DUFOMap的点云操作。光投影被用于识别void regions(后续用于区分静态点和动态点)。
文章中有一句话:The truncated signed distance field (TSDF) is an alternative to occupancy。 TDSF的值超过阈值的点被划分为"ever-free区域",随后点落到这个区域就被称为动态点,思想和基于占据的方式差不多。
● 创新点:如何识别动态点:
○ 基于已经标识的void regions,如果再次被观测到。同时考虑了传感器噪声和定位误差。如何考虑位姿位差和传感器噪声,通过缩小或者扩大void regions的范围。
○ 与最先进的实现方式的对比,基于多场景以及多传感器类型。
● 标识void regions:本文中提到:
○ 基于占据(Occupancy grids)的方式标识每个voxel的probalilistic,基于所有观测者对这个region的观测,也就是说这个regions可能在free和occupied之间进行切换。
○ 在本文提出的方式中,使用基于雷达单帧点云的观测,使用到一种新的光照投影的扩展方式去标记void region。不需要对观测进行积累才判断void region,直接基于单个观测快速判断。
● 位资和噪声补偿方法:
○ 对于位资采用一种切比雪夫距离,根据首次划分的void region使用,设置dp = 2。
○ 对于噪声补偿:设置一个距离ds = 0.2m,被集中的体素前方0.2米的位置对应的体素也被称为击中。对于这个自己理解的不是很准确,有兴趣学习的建议参考原文。

BeautyMap:(2024)

  1. 将点云表示为3D二进制网格,并进一步将他们编码进2D矩阵去提高效率。通过逐bit比较当前frame和global point cloud map去标记潜在的动态点。
  2. 动态点移除。
  3. 静态点重建:

相关文章:

动态SLAM总结一

文章目录 方法分类&#xff1a;OctoMap&#xff1a;&#xff08;2013&#xff09;UFOMap&#xff1a;&#xff08;2020&#xff09;Removert&#xff1a;&#xff08;2020&#xff09;ERASOR&#xff1a;&#xff08;2021&#xff09;DynamicFilter&#xff1a;&#xff08;202…...

HTB:Mongod[WriteUP]

连接至HTB服务器并启动靶机 靶机IP&#xff1a;10.129.99.33 分配IP&#xff1a;10.10.16.12 1.How many TCP ports are open on the machine? 使用nmap对靶机进行全端口TCP脚本、服务扫描&#xff1a; nmap -sC -sV -T4 -p- {TARGET_IP} 可以看到靶机共开放TCP端口2个&…...

DenseNet算法:口腔癌识别

本文为为&#x1f517;365天深度学习训练营内部文章 原作者&#xff1a;K同学啊 一 DenseNet算法结构 其基本思路与ResNet一致&#xff0c;但是它建立的是前面所有层和后面层的密集连接&#xff0c;它的另一大特色是通过特征在channel上的连接来实现特征重用。 二 设计理念 三…...

828华为云征文 | 利用FIO工具测试Flexus云服务器X实例存储性能

目录 一、Flexus云服务器X实例概要 1.1 Flexus云服务器X实例摘要 1.2 产品特点 1.3 存储方面性能 1.4 测评服务器规格 二、FIO工具 2.1 安装部署FIO 2.2 主要性能指标概要 三、进行压测 3.1 测试全盘随机读IO延迟 3.2 测试全盘随机写IO延迟 3.3 测试随机读IOPS 3.4…...

Pikachu-File Inclusion- 本地文件包含

前端每次挑选篮球明星&#xff0c;都会通过get请求&#xff0c;传了文件名&#xff0c;把页面展示出来&#xff0c;由于文件名时前端传给后台;并且查看源码&#xff0c;没有对参数做限制&#xff1b; 尝试直接从前端修改filename 参数&#xff1b; filename../../../../../../…...

linux基础 超级笔记

1.Linux系统的组成 Linux系统内核&#xff1a;提供系统最核心的功能&#xff0c;如软硬件和资源调度。 系统及应用程序&#xff1a;文件、任务管理器。 2.Linux发行版 通过修改内核代码自行集成系统程序&#xff0c;即封装。比如Ubuntu和centos这种。不过基础命令是完全相…...

Python——异常处理机制

Python 异常处理机制 Python异常与异常处理机制针对 Traceback 的解读try-except-else-finallyexcept语句except语句的机制在 except 语句中引用当前被处理的 Python 异常 finally语句finally语句执行后才能抛出未被处理的异常finally中执行return会导致异常丢失 raise 语句rai…...

社群团购中的用户黏性价值:以开源小程序多商户AI智能名片商城源码为例

摘要&#xff1a;本文探讨社群团购中的用户黏性价值&#xff0c;分析其与传统团购网站的区别&#xff0c;并阐述开源小程序多商户AI智能名片商城源码在增强社群团购用户黏性方面可能发挥的作用。 一、引言 在当今的商业环境中&#xff0c;社群团购逐渐成为一种重要的营销模式。…...

基于php的民宿预订管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏&#xff1a;Java精选实战项目…...

java 从基础到入门 到架构师所需要学习的路线

java是一种广泛使用的编程语言&#xff0c;可以应用于多种平台和应用程序。下面是一个从基础到入门&#xff0c;再到架构师所要掌握的Java学习路线的详细列举&#xff1a; 学习Java基础知识&#xff1a; 理解面向对象编程的概念&#xff0c;如类、对象、继承、多态等。 学习Ja…...

【吊打面试官系列-MySQL面试题】什么叫视图?游标是什么?

大家好&#xff0c;我是锋哥。今天分享关于【什么叫视图&#xff1f;游标是什么&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 什么叫视图&#xff1f;游标是什么&#xff1f; 视图是一种虚拟的表&#xff0c;具有和物理表相同的功能。可以对视图进行增&#…...

项目管理-信息技术发展

1、计算机软硬件 2、计算机网络 1&#xff09;定义 2&#xff09;分类&#xff1a;PAN LAN MAN WAN 公用网 专用网 3&#xff09;网络协议 语法 语义 时许 4&#xff09;网络标准协议 7层 5&#xff09;IEEE 802 规范 6&#xff09;TCP/IP 协议 7) SDN 软件定义网…...

异常处理【C++提升】(基本思想,重要概念,异常处理的函数机制、异常机制,栈解旋......你想要的全都有)

更多精彩内容..... &#x1f389;❤️播主の主页✨&#x1f618; Stark、-CSDN博客 本文所在专栏&#xff1a; C系列语法知识_Stark、的博客-CSDN博客 座右铭&#xff1a;梦想是一盏明灯&#xff0c;照亮我们前行的路&#xff0c;无论风雨多大&#xff0c;我们都要坚持不懈。 异…...

基于springboot vue 电影推荐系统

博主介绍&#xff1a;专注于Java&#xff08;springboot ssm 等开发框架&#xff09; vue .net php python(flask Django) 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设&#xff0c;从业十五余年开发设计教学工作☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找…...

八、特殊类型异常机制

特殊类型&异常机制 数据类型枚举类型匿名类、单例类和伴生对象匿名类单例类伴生对象 委托模式密封类型异常机制异常的使用异常的处理 数据类型 对于那些只需要保存数据的类型&#xff0c;我们常常需要为其重写toString、equals等函数&#xff0c;针对于这种情况下&#xf…...

虾皮Shopee Android面试题及参考答案

HTTP 状态码有哪些? HTTP 状态码是用以表示网页服务器超文本传输协议响应状态的 3 位数字代码。主要分为五大类: 1xx 信息性状态码:表示服务器正在处理请求,这些状态码是临时的响应,主要用于告诉客户端请求已经被接收,正在处理中。例如,100 Continue 表示客户端应当继续…...

Docker Compose 部署大模型GPU集群:高效分配与管理算力资源

Docker Compose 部署大模型GPU集群&#xff1a;高效分配与管理算力资源 文章目录 Docker Compose 部署大模型GPU集群&#xff1a;高效分配与管理算力资源一 Dockerfile 编写二 Dockerfile 示例三 分配GPU资源1&#xff09;GPU分配&#xff1a;指定count2&#xff09;GPU分配&am…...

直立行走机器人技术概述

直立行走机器人技术作为现代机器人领域的重要分支&#xff0c;结合了机械工程、计算机科学、人工智能、传感技术和动态控制等领域的最新研究成果。随着技术的不断发展&#xff0c;直立行走机器人在救灾、医疗、家庭辅助等领域开始发挥重要作用。本文旨在对直立行走机器人的相关…...

【Linux】wsl虚拟机时间和实际时间不符合

本文首发于 ❄️慕雪的寒舍 偶然遇到了这个问题&#xff0c;触发原因是电脑在开启wsl的情况下进入了 休眠 模式&#xff0c;且在无网络情况下几天不使用。 然后开启wsl&#xff0c;发现git log显示最新commit的提交时间是明天&#xff0c;给我吓一跳&#xff0c;然后才发现原来…...

初识算法 · 滑动窗口(1)

目录 前言&#xff1a; 长度最小的子数组 题目解析 算法原理 算法编写 无重复长度的最小字符串 题目解析 算法原理 算法编写 前言&#xff1a; 本文开始&#xff0c;介绍的是滑动窗口算法类型的题目&#xff0c;滑动窗口本质上其实也是双指针&#xff0c;但是呢&#…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程&#xff0c;代码下载&#xff1a;这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中&#xff0c;**知识蒸馏&#xff08;Knowledge Distillation&#xff09;**被广泛应用&#xff0c;作为提升模型…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...