动态场景建图 Removert(offline) 和 DynamicFilter(online)前端部分对比

1.Removert

简单来说2020年的REMOVERT是针对动态环境下的建图进行优化的一篇很好的作品。
针对的主要问题:若是采用点云特征进行匹配的话,动态障碍物在预处理阶段也会被剔除。那么,另一个方面,动态障碍物对点云地图的构建的影响在于会在最终生成的地图中产生“鬼影”,而若简单使用在第一种情况中提到的特征点云构建地图的话,会错误地滤除掉很多实际需要的物体信息,具体的影响可见以下图示:
在这里插入图片描述
REMOVERT目的是在承受了动态障碍物的干扰下,SLAM过程结束后生成的点云地图是一个近乎全由静态点云构成的地图。

REMOVERT算法的大致流程是会首先保守地保留确定的静态点(也就是会有很多FN的情况),再通过一次次的迭代将query-to-map的搜索窗口扩大来恢复被误杀掉的静态点,其中query-to-map的搜索窗口隐式补偿了激光雷达运动或配准错误。一言以蔽之,正如算法的名称一样:在第一阶段先疯狂地Remove掉所有可能的动态点,就算杀错了也不管较粗,到了第二阶段,通过一次次地放大query-to-map的搜索窗口来恢复在第一阶段中被过度杀掉的静态点。

不过最最重要的部分是,REMOVERT 算法是一个离线处理的方法,这导致该算法的实际工程价值并不是那么的高,不过不能否认其开拓性思想带来的收益。

2.DynamicFilter

而在2022年的一篇顶刊杂志中,DynamicFilter这篇文章对上述方法进行了一定的改进优化,并成功实现了online版本。唯一不足的是,现在还并未开源团队的源码。

其对前端部分进行了一定的优化,作者依旧采用 reverting 阶段来恢复错误检测的静态点,即:反复执行基于可见性的移除,但将动态子图( M D M_D MD)作为输入,从而不断从动态子图( M D M_D MD)中恢复静态点。然而,这种还原方法仍然可能存在可见性问题。

因此文章中根据去除的动态点与全局坐标下的静态子图之间的设定距离来恢复静态点。对于动态地图中的每个动态点,首先在静态地图中搜索它的最近点。然后,使用主成分分析( PCA ) 来计算最近点集的特征向量。类似地,对于这组最近点和动态点本身的并集也可以计算另一个特征向量。最后,通过比较这两个特征向量之间的法向距离,可以得到加入动态点后的分布变化。如果变化足够小,我们将动态点( M D M_D MD)还原为静态 M S M_S MS。定性结果如图3所示。需要注意的是,还原过程不依赖于任何模型/平面假设,因此与模型无关。
img
到此,就是文章的前端部分,相当于把removert改成了online版本,和一些小改进,remove+removert。

3.主要改进

其实DynamicFilter在前端部分基本是一样的思路,只不过为了做成实时的采用了子图,简要概括如下:首先,将每一帧点云 B P i _BP_i BPi和未处理的submap W M _WM WM投影到局部坐标系中的像平面上。然后,分别计算它们的range images B I P _BI^P BIP B I M _BI^M BIM 。通过比较这两幅range images的差异,可以检测出动态点 M ^ D i \hat{M}_{D_i} M^Di子图。对子地图中的所有帧进行处理后,处理后点大致分为两类:只包含静态点的静态子图( M S M_S MS)和只包含动态点的动态子地图( M D M_D MD)。

以及引入了PCA的方法对之前的处理结果进行二次优化。

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

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

相关文章

Moonbeam生态跨链互操作项目汇总

立秋已过,今年的夏天已经接近尾声,即将迎来凉爽的秋天。Moonbeam生态一同以往持续成长,在8月也举办了不少活动、完成集成合作以及协议更新。让我们一同快速了解Moonbeam生态项目近期发生的大小事件吧! Moonwell Moonwell是一个建…

查局域网所有占用IP

查局域网所有占用IP 按:winr 出现下面界面,在文本框中输入 cmd 按确定即可出现cmd命令界面 在cmd命令窗口输入你想要ping的网段,下面192.168.20.%i即为你想要ping的网段,%i代表0-255 for /L %i IN (1,1,254) DO ping -w 1 -n 1…

linux/centos zookeeper 使用记录

配置cfg 下载zookeeper-3.4.14.tar.gz负责到centos服务器解压 /xxx/zookeeper-3.4.14/conf/下创建zoo.cfg文件并配置以下属性,/bsoft/zookeeperdata/目录先预先创建 tickTime2000 initLimit10 syncLimit5 dataDir/bsoft/zookeeperdata/ clientPort2181zk启动/重启/关…

python怎么排序

Python是一种功能强大的编程语言,提供了多种排序方法来对数据进行排序。在本文中,我们将介绍至少7种不同的排序方法,并提供详细的代码示例。 1. 冒泡排序(Bubble Sort): 冒泡排序是一种简单的排序算法,它…

11.物联网lwip,网卡原理

一。LWIP协议栈内存管理 1.LWIP内存管理方案 (1)堆heap 1.灰色为已使用内存 2.黑色为未使用内存 3.紫色为使用后内存 按照某种算法,把数据放在内存块中 (2)池pool 设置内存池,设置成大小相同的内存块。 2…

Easy Rules规则引擎(2-细节篇)

目录 一、序言二、规则引擎参数配置实例1、skipOnFirstAppliedRules示例(1) FizzRule(2) BuzzRule(3) FizzBuzzRule(4) NonFizzBuzzRule(5) FizzBuzzRulesLauncher 2、skipOnFirstNonTriggeredRule示例3、skipOnFirstFailedRule示例 三、组合规则1、UnitRuleGroup组合规则2、Ac…

基于Java的基数排序(详述)

基于Java的基数排序(详述) 原理介绍Java实现文献参考 原理介绍 一、什么是基数排序 (1)通过键值得各个位的值,将要排序的元素分配至一些桶中,达到排序的作用 (2)基数排序法是属于稳…

【论文阅读笔记】Endoscopic navigation in the absence of CT imaging

论文小结 上一篇的导航导论,是需要先验,也就是需要事先拍摄堆叠的图片(比如CT图等),在体外构建相应的3D模型,再与内窥镜图像进行实时匹配。对于很多情况来说,是无法拥有如此充足的先验的。所以&…

Unity Meta Quest MR 开发教程:(二)自定义透视 Passthrough【透视功能进阶】

文章目录 📕教程说明📕动态开启和关闭透视⭐方法一:OVRManager.instance.isInsightPassthroughEnabled⭐方法二:OVRPassthroughLayer 脚本中的 hidden 变量 📕透视风格 Passthrough Styling⭐Inspector 面板控制⭐代码…

固定资产台账怎么管理

固定资产台账是指企业对固定资产进行登记、分类、统计和管理的账簿。固定资产管理系统是一款专业的固定资产管理软件,可以帮助企业实现资产全生命周期管理,包括资产采购、入库、领用、归还、维修、报废等环节。系统具有实时监控、预警提醒、报表分析等功…

【kubernetes系列】kubeadm证书调整

部署k8s集群之前调整 默认情况下,使用kubeadm部署的k8s集群的证书有效期为1年。我们可以在初始k8s集群之前就调整好时间,避免后期经常更新。可以使用以下脚本对kubeadm的时间调整后重新编译生成kubeadm。此脚本针对k8s1.19.16版本,不同版本可…

App Inventor 2 开发 ChatGPT 对话App

ChatGPT大家应该不会陌生,它的回答内容非常的专业及深入,具有实际的可指导性。我们通过App Inventor 2开发一个简单的对话App,先看效果: App Inventor 2 ChatGPT教育领域对话演示 代码块如下: 用到的核心组件“ChatBot…

Java注解、文件IO以及匿名函数

文章目录 1. 注解1.1 自定义注解1.2 元注解1.2.1 Target1.2.2 Retention 1.3 注解的解析 2. 文件IO2.1 非流式文件类2.2 流式文件类2.2.1 字节输入流2.2.2 字节输出流2.2.3 字符输入流2.2.4 字符输出流 3. 匿名3.1 lambda表达式3.2 方法引用 1. 注解 注解可以在类、方法、构造…

6.oracle中listagg函数使用

1. 作用 可以实现行转列,将多列数据聚合为一列,实现数据的压缩 2. 语法 listagg(measure_expr,delimiter) within group ( order by order_by_clause); 解释: measure_expr可以是基于任何列的表达式 delimiter分隔符&#xff0c…

HTML学习笔记02

HTML笔记02 页面结构分析 元素名描述header标题头部区域的内容(用于页面或页面中的一块区域)footer标记脚部区域的内容(用于整个页面或页面的一块区域)sectionWeb页面中的一块独立区域article独立的文章内容aside相关内容或应用…

红黑树(AVL树的优化)上

红黑树略胜AVL树 AVL树是一颗高度平衡搜索二叉树: 要求左右高度差不超过1(严格平衡) 有的大佬认为AVL树太过严格,对平衡的要求越严格,会带来更多的旋转(旋转也还是会有一定的消耗!!…

java多线程之线程通信

java多线程文章 java多线程之线程创建和状态 java多线程之FutureTask、Future、CompletableFuture java多线程之线程池 java多线程之线程通信工具类 合理的使⽤Java多线程可以更好地利⽤服务器资源。⼀般来讲,线程内部有⾃⼰私 有的线程上下⽂,互不⼲…

WordPress使用子主题插件 Child Theme Wizard,即使主题升级也能够保留以前主题样式

修改WordPress网站样式,主题升级会导致自己定义设置的网站样式丢失,还需要重新设置,很繁琐工作量大,发现在WordPress 中有Child Theme Wizard子主题插件,使用Child Theme Wizard子主题插件,即使主题升级&am…

使用devsidecar 软件解决 git因网络问题报错的

上链接: https://github.com/docmirror/dev-sidecar/releases 下载你系统对应的版本 安装后根据教程设置即可 解决了git提交、拉取时报以下错误: Failed to connect to github.com port 443 after 21051 ms: Couldnt connect to server Recv failur…

2023年下半年西安/广州/深圳软考(中/高级)开班啦!!!

软考是全国计算机技术与软件专业技术资格(水平)考试(简称软考)项目,是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试,既属于国家职业资格考试,又是职称资格考试。 系统集成项…