经典文献阅读之--Multi-modal Semantic SLAM(多模态语义SLAM)

news2025/1/15 12:52:08

0. 简介

在复杂动态环境下,如何去建立一个稳定的SLAM地图是至关重要的。但是现在当前的SLAM系统主要是面向静态场景。目前相较于点云的分类与分割而言。视觉的识别与分割会更加容易。这就可以根据语义信息提高对环境的理解。文章《Multi-modal Semantic SLAM for Complex Dynamic Environments》提出了一个鲁棒的多模态语义框架去解决slam在复杂和动态环境下的问题。同时该论文也在Github中开源了数据集和代码。
在这里插入图片描述

1. 文章贡献

文中提到,为了减小深度学习分割结果不完整所带来的差异性,文中建议学习更强大的对象特征,并将两次查看和思考的机制部署到主干网络,确保实例分割模型获得更好的识别结果。此外,将纯几何聚类和视觉语义信息相结合,以减少由于小尺度对象、遮挡和运动模糊导致的分割错误的影响。为此文中提出:

  1. 设计一个强大且快速的多模态语义 SLAM 框架,旨在解决复杂和动态环境中的 SLAM 问题。具体来说,我们将仅几何聚类和视觉语义信息相结合,以减少由于小尺度对象、遮挡和运动模糊导致的分割误差的影响。
  2. 学习更强大的对象特征表示,并将三思机制部署到主干网络,从而为我们的基线实例分割模型带来更好的识别结果。
    在这里插入图片描述

2. 具体算法

从上图来看,思路我们还是非常清晰,方便理解的。下图为作者提出的多模态语义SLAM流程图,它主要由四个模块组成,即实例分割模块、多模态融合模块、定位模块和全局优化及建图模块。
在这里插入图片描述

2.1 实例分割模块

从第一幅图中,我们可以大致理解整个实例分割模块的流程。即首先一张图片的实例分割结果可以用下面公式表示
{ C i , M i } i = 1 n \{C_i,M_i\}_{i=1}^n {Ci,Mi}i=1n
其中 C C C代表实例分割的种类,然后 M M M代表了Mask掩码信息,n对应了当前图像中存在的物体数量。然后将整个图像中的空间分成 N × N N × N N×N 个网格单元。如果一个对象的中心落入一个网格单元,该网格单元负责分别预测类别分支 B c B_c Bc和掩码分支 P m P_m Pm中对象的语义类别 C i j C_{ij} Cij和语义掩码 M i j M_{ij} Mij
在这里插入图片描述

下面式子中 λ λ λ 是类的数量。 φ φ φ 是网格单元的总数。通过这样的一个方式可以有效地避免实例分割漏分,误分的问题。
在这里插入图片描述

文中提到为了降低实例分割的计算成本,作者使用精度较低的轻量级版本SOLOv2来实现实时实例分割。同时为了提高分割精度,作者将主干架构从最初的特征金字塔网络(FPN)修改为递归特征金字塔网络(RFP)。

从理论上讲,RFP通过将来自FPN的额外反馈整合到自下而上的主干层中,并灌输了两次或多次查看的思想。这递归地增强了现有的FPN,并提供了越来越强的特征表示。

此外,作者使用SAC (Switchable Atrous Convolution)代替主干架构中的卷积层。 SAC 作为软开关功能运行,用于收集具有不同开口率的卷积计算的输出。因此,能够从 SAC 中学习最优系数,并且可以自适应地选择感受野的大小。这使得 SOLOv2 能够有效地提取重要的空间信息。

2.2 多模态融合模块

为了解决运动产生模糊导致的分割不准的情况,作者首先进行形态学膨胀处理,用于逐渐扩展动态对象的区域边界。形态学膨胀结果标记了动态对象周围的模糊边界。这一步虽然会影响到准确性,但是也避免了重影带来的误检情况。

同时为了避免模糊像素会导致分割错误。因此,作者结合点云聚类结果和分割结果来更好地细化动态对象。这一步通过欧几里得空间的连通性分析补偿了视觉膨胀造成的损失。结合点云聚类结果和分割结果来更好地细化动态对象。
在这里插入图片描述

同时提到为了提高分割网络的工作效率,作者首先对激光雷达采集到的三维点云进行降维处理以减少数据规模,并将其作为点云聚类的输入。然后将实例分割结果投影到点云坐标上标记每个点,当大多数点(90%)是动态标记点时,点云聚类将被视为动态聚类。当静态点靠近动态点聚类时,静态点将被重新标记为动态标签。并且当附近没有动态点云时,动态点将恢复为静态点。

2.3 定位与位姿估计

在经过多模态融合后,算法将点云分为动态点云和静态点云,其中静态点云被用于定位和建图模块。
在这里插入图片描述

对于每个静态点 p k ∈ P S p_k ∈ P_S pkPS ,可以在欧几里得空间中通过半径搜索来搜索其附近的静态点集 S k S_k Sk。让 ∣ S ∣ |S| S是集合 S S S的基数,因此局部平滑度定义为:
在这里插入图片描述
并根据附近的静态点集 S k S_k Sk来综合计算出平滑度 σ k σ_k σk来代表,其中边缘特征的 σ k σ_k σk更大,平面特征的 σ k σ_k σk更小。这也让我们不需要使用SIFT这类算子即可完成静态特征点选取。

然后就是通过最小二乘完成机器人位姿的估算,通过最小化点到边缘和点到平面的距离来计算残差,其中 p ξ p_\xi pξ边缘特征点,而 p ^ ξ \hat{p}_\xi p^ξ则代表了局部坐标系下的特征点,通过 p ^ ξ = T ∗ p ξ \hat{p}_\xi=T*p_\xi p^ξ=Tpξ进行转化。 T T T表示为当前位姿,而 p ξ 1 p^1_\xi pξ1 p ξ 2 p^2_\xi pξ2代表了边缘特征图中最近的两个边缘特征。这样就可以定义出点到边缘的残差为
在这里插入图片描述
同理平面特征点也是类似的解法,只是局部平面图中会搜索最近的三个点组成平面,其中变量的定义和上面类似。其实个人感觉就是LOAM的变种,思想基本还是一致的。
在这里插入图片描述

…详情请参照古月居

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

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

相关文章

JavaScript 如何正确的读懂报错信息

文章目录前言一、查看报错1.控制台报错2.终端报错二、查找错误演示总结前言 一、查看报错 如何阅读报错信息, 根据信息快速锁定错误. 1.控制台报错 红色报错信息格式: xxxx Error: xxxxx报错信息xxxxx 最终报错文件:行编号 at 最终报错方法名 (最终报错文…

PySpark中RDD的数据输出详解

目录 一. 回顾 二.输出为python对象 collect算子 演示 reduce算子 演示 take算子 演示 count算子 演示 小结 三.输出到文件中 savaAsTextFile算子 演示 配置Hadoop依赖 修改rdd分区为1个 小结 四.练习案例 需求: 代码 一. 回顾 数据输入: sc.paralle…

Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context_学习笔记

Transformer-XL学习笔记 一、Transformer-XL出现的原因 首先说明Transformer的变形版本Transformer-XL出现的原因: transformer作为一种特提取器,在NLP中有广泛的应用,但是transformer需要对输入的序列设置固定的长度,例如在Ber…

(考研湖科大教书匠计算机网络)第一章概述-第四节:计算机网络的性能指标

文章目录(1)速率(2)带宽(3)吞吐量(4)时延①:基本概念②:计算公式(5)时延带宽积(6)往返时间RTT(7&a…

dp(六) 线性dp整合 最长(公共子串、公共子序列、上升子序列、回文子串)

1、最大公共子串_牛客题霸_牛客网​编辑 2、最长上升子序列(一)_牛客题霸_牛客网 3、最长回文子串_牛客题霸_牛客网 4、最长公共子序列(二)_牛客题霸_牛客网 #include <iostream> using namespace std; #include<vector>int main() {string str1,str2;cin>>…

mysql数据迁移报错问题

mysql8.0.17备份数据库到mysql5.7.26的There was error(s) while executing the queries问题解决&#xff08;数据库高版本向低版本数据迁移解决&#xff09; 问题背景 要将本地的mysql数据库导入到linux中的mysql中&#xff0c;其中&#xff0c;本地mysql数据库的版本是8.0.…

数字硬件建模SystemVerilog-时序逻辑建模(1)RTL时序逻辑的综合要求

数字门级电路可分为两大类&#xff1a;组合逻辑和时序逻辑。锁存器是组合逻辑和时序逻辑的一个交叉点&#xff0c;在后面会作为单独的主题处理。组合逻辑描述了门级电路&#xff0c;其中逻辑块的输出直接反映到该块的输入值的组合&#xff0c;例如&#xff0c;双输入AND门的输出…

N5247A网络分析仪

18320918653 N5247A Agilent N5247A 网络分析仪主要特性与技术指标 10 MHz 至 67 GHz2 端口或 4 端口&#xff0c;具有两个内置信号源可提供 4 端口 110 GHz 单次扫描解决方案110 dB 系统动态范围&#xff0c;32001 个点&#xff0c;32 个通道&#xff0c;5 MHz 中频带宽高输…

MySQL中深入浅出索引

文章目录前言一、索引的常见模型二、InnoDB的索引模型三、索引的维护四、索引的优化覆盖索引联合索引最左前缀原则索引下推前言 我们在看书的时候&#xff0c;打算回看某一个桥段的内容时。这是你肯定会是先翻看书的目录&#xff0c;从目录确定这段内容的位置&#xff0c;然后…

爬虫利用多线程快速爬取数据

一般单线程爬数据太慢了话&#xff0c;就采用多线程。 一般要根据两种情形来选择 自定义线程线程池 往往最关键的地方在&#xff0c;多个线程并发执行后&#xff0c;是否需要线性的返回结果。也就是先调用的线程&#xff0c;返回的结果要在前面。 或者说&#xff0c;某个对…

mysql简单数据查询——数采数据电量与耗料的日统计

目录 前言 步骤1&#xff1a;date_format函数 步骤2&#xff1a;concat函数 步骤3、4&#xff1a;查询中使用变量 完整代码 前言 在数采数据已写入mysql数据库中后&#xff0c;进行数据处理&#xff0c;统计电量与耗料数据 由于数据库版本较低&#xff0c;无法使用较新的…

华为策略路由实验配置

配置接口相关的IP地址&#xff0c;并配置IGP路由协议使得全网互通 AR1配置接口策略路由 对经过本地转发的路由生效&#xff0c;对本地始发的路由不生效 配置nqa检测下一跳状态 nqa test-instance PC1 icmptrace nqa的管理者为PC1&#xff0c;NQA的测试例名为icmptrace test-…

全国青少年软件编程(Scratch)等级考试二级考试真题2022年12月——持续更新.....

1.一个骰子,从3个不同角度看过去的点数如图所示,请问5的对面是什么点数?( ) A.1 B.3 C.4 D.6 正确答案:A 答案解析: 根据图三,用右手定则,大拇指朝上指向6所对的方向,其余四指握起来表示旋转方向,可以看到先5后2,然后把这个姿势对应到图1中,就知道1的对面是5…

C语言进阶(8)——动态内存空间管理

前言 文章目录前言1.为什么存在动态内存分配2.动态内存函数的介绍2.1 malloc函数2.2 free函数2.3 calloc2.4realloc3 常见的动态内存错误4.经典笔试题题目 1&#xff1a;题目 2&#xff1a;题目 3&#xff1a;题目 4&#xff1a;5.C/C程序的内存开辟6.柔性数组6.1 定义6.2 柔性…

1.5、中断和异常

整体框架 1、中断的概念和作用 当中断发生时&#xff0c;CPU 立即进入核心态\color{red}核心态核心态 当中断发生后&#xff0c;当前运行的进程暂停运行&#xff0c;并由操作系统内核对中断进行处理 对于不同的中断信号&#xff0c;会进行不同的处理 发生了中断&#xff0c…

记录--“非主流” 的纯前端性能优化

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 性能优化一直是前端研究的主要课题之一&#xff0c;因为不仅直接影响用户体验&#xff0c;对于商业性公司&#xff0c;网页性能的优劣更关乎流量变现效率的高低。例如 DoubleClick by Google 发现&…

MD5加密

MD5加密 md5加密 明文 加密变成 128位二进制 --> 32位16进制字符串的密文 MD5特征: 明文一样, 得到密文一样密文一样, 推出明文一样明文不一样, 得到密文不一样 缺点&#xff1a; 现在网上有很多暴力破解的网址&#xff0c;直接使用md5加密还是不太安全 为了提高安全性&am…

Linux常用命令——vmstat命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) vmstat 显示虚拟内存状态 补充说明 vmstat命令的含义为显示虚拟内存状态&#xff08;“Viryual Memor Statics”&#xff09;&#xff0c;但是它可以报告关于进程、内存、I/O等系统整体运行状态。 语法 vmst…

Java高并发编程实战,异步注解@Async自定义线程池

一、Async注解 Async的作用就是异步处理任务。 在方法上添加Async&#xff0c;表示此方法是异步方法&#xff1b; 在类上添加Async&#xff0c;表示类中的所有方法都是异步方法&#xff1b; 使用此注解的类&#xff0c;必须是Spring管理的类&#xff1b; 需要在启动类或配置类…

ELK日志(1)

Elasticsearch开源分布式搜索引擎&#xff0c;它的特点有&#xff1a;分布式&#xff0c;零配置&#xff0c;自动发现&#xff0c;索引自动分片&#xff0c;索引副本机制&#xff0c;restful 风格接口&#xff0c;多数据源&#xff0c;自动搜索负载等。RESTFUL特点包括&#xf…