PointMamba: A Simple State Space Model for Point Cloud Analysis

news2024/11/23 17:56:34

1. 论文基本信息

2. 创新点

  1. 介绍了第一个状态空间模型 PointMamba,将其应用与点云分析。
  2. PointMamba 表现出令人印象深刻的能力,包括结构简单性(例如,vanilla Mamba)、低计算成本和知识可迁移性(例如,对自我监督学习的支持)。

3. 背景

由于 Transformer 的self-attention的计算公式为:

其中,Q是查询矩阵,K是键矩阵,V是值矩阵,d_k是键向量的维度。点积QK^T的计算需要O(n^2)次操作二次复杂度。导致随着注意力窗口的增大也就是 Q K V 的增大 Transformer 的计算复杂度骤增。于是乎文章便提出且关注以下问题:

  • how to design a simple, elegant method that operates with linear complexity, thereby retaining the benefits of global modeling for point cloud analysis? 如何设计一种简单的、优雅的线性复杂度操作方法,从而保留了全局建模对点云分析的好处?

而如果直接将 Mamba 模型中的 Mamba Block 直接用于点云的处理效果不理想,这是由于 Mamba 中国的注意力(上下文)是通过压缩历史隐藏状态得到的,而不是通过每个元素之间的交互获得的(与Transformer 中注意力机制的不同)。

4. Pipeline

4.1. 结构化状态空间序列模型(S4)

结构化状态空间序列模型(Structured State Space Sequence Models,简称S4)是一种新兴的深度学习序列模型,它与循环神经网络(RNNs)、卷积神经网络(CNNs)及经典的状态空间模型相关联。这些模型受到了一种将一维函数或序列映射到另一个一维函数或序列通过隐式潜在状态的特定连续系统的启发。具体来说,S4模型使用四个参数(Δ(D), A, B, C)定义序列到序列的转换过程,分为两个阶段:

  • 第一阶段(离散化):将“连续参数”(Δ(D), A, B)转换为“离散参数”

  • 第二阶段:通过离散化后的参数计算序列转换,可以通过线性递归或全局卷积两种方式实现。

S4的基础表达

4.2. 选择性 SSM

在框架图中,derta T 是通过 \tau(一种非线性激活函数), 因此delta T 是非线性的,所以 ABC 都是非线性时变的,系统的条件就放开了。

sB(x) = Linear(x) , sC(x) = Linearn(x) ,都是线性投影,这是种常见的神经网络操作,用于将输入数据转换到一个新的空间或维度。这里的 linear 表示是用线性层来学习这几个函数。

广播是一个数组操作,它使得维度较小的数组能够与维度较大的数组进行算术操作。

,这是个平滑的非线性函数,通常用于网络中以添加非线性特征并帮助网络学习复杂的模式。

4.3. PointMamba

PointMamba 首先利用最远点采样(FPS)来选择关键点。然后利用两种类型的空间填充曲线,包括 Hilbert 和 Trans-Hilbert,来生成序列化的关键点。在此基础上,KNN 用于形成点块,将被馈送到令牌嵌入层以生成序列化的点标记。为了指示从哪个空间填充曲线生成的标记,提出了顺序指标。编码器非常简单,由 N × 普通和非分层 Mamba 块组成。

4.3.1. 点扫描策略

一般来说,采样关键点 p 的顺序是随机的,没有特定的顺序。这不是以前基于 Transformer 的方法的一个重要问题,因为 Transformer 在处理序列数据时是顺序不变的:在自注意力机制中,给定位置的每个元素都可以通过注意力权重与序列中的所有其他元素交互。然而,对于选择性状态空间模型,即 Mamba,我们认为由于单向建模(即下一个状态依赖于上一个状态的信息(时间中的上下文信息),对应与点云的 patch 可以理解成空间的相关性,下一个空间的信息依赖于上一个空间的信息),很难对非结构化点云进行建模。因此,PointMamba 利用空间填充曲线将非结构化点云转换为常规序列。因此文中采用下述方法重组点云序列。

空间填充曲线:

空间填充曲线是遍历高维离散空间中每个点的路径,同时保持一定程度的空间接近。在数学上,它们可以定义为点云的双射函数 Φ : Z → Z3。我们的 PointMamba 专注于希尔伯特空间填充曲线和它的转置变体(称为 Trans-Hilbert),以其有效的局部性保留而闻名。这意味着即使在转换为 Zc 后,Z 空间中彼此接近的数据点也保持接近。

4.3.2. 点标记器

重组顺序完后的特征点先通过 KNN 分组,随后利用轻量级 PointNet 将点映射至特征空间。

4.3.3. 顺序指标

上述过程中通过两种不同的扫描策略生成点标记。虽然它们可能共享相同的中心点,但其顺序和生成方式不同。为了确保在将这两种不同的点标记输入 Mamba 编码器时,能够有效地区分它们的特征和生成策略,提出了一个简单的顺序指示器。

线性变换公式:引入顺序指示器,通过线性变换将每种扫描策略生成的点标记转换到不同的潜在空间中。具体地,公式如下所示:

其中,

均为缩放和偏移因子,⊙ 表示按元素相乘(element-wise multiplication),最后将两个变换后的特征链接起来。

4.3.4. Manba encoder

上述为一个 Manba encoder 的全部组件

4.4. 预训练 (基于序列化的掩码建模)

  • 假设在点云数据集中有一组点,我们希望使用PointMamba模型进行预训练:
    1. 步骤1:选择第一轮迭代使用希尔伯特曲线序列化,获取 ph。
    2. 步骤2:对 ph 进行60%的随机遮罩,形成遮罩后的输入点块。
    3. 步骤3:使用非对称自编码器,利用Mamba块提取特征并通过线性头重构被遮罩的点块。
    4. 步骤4:通过计算Chamfer距离来评估重构的准确性,作为预训练过程中的损失函数。

5. 💎实验成果展示

GPU NVIDIA A800 80GB

少样本学习:

Shape-Net 分割实验:

消融实验:

6. 🔍问题分析

采用 SSM 就必须关注于点云的空间序列化,这本身就对于压缩工作有优势,其次 Mamba 的效率高。


7. 源码环境配置:

论文源码:GitHub - LMD0311/PointMamba: PointMamba: A Simple State Space Model for Point Cloud Analysis

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

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

相关文章

通过验证邮箱进行注册信息确认

应用在进行注册时,避免恶意攻击和垃圾注册,可以通过验证注册者身份后才能够提交。一般可以使用验证手机短信或者验证邮箱,验证短信会有专门的第三方服务,可以进行付费购买。验证邮箱的正确与否,可以通过以下2种方式进行…

关于组织赴俄罗斯(莫斯科)第 28 届国际汽车零部件、汽车维修设备和商品展览会商务考察的通知

关于组织赴俄罗斯(莫斯科) 第 28 届国际汽车零部件、汽车维修设备和商品展览会商务考察的通知 展会名称:俄罗斯(莫斯科)第 28 届国际汽车零部件、汽车零部件、汽车维修设备和商品展览会 时间:2024 年 8 月…

【异常总结】SeaTunnel集群脑裂配置优化方法

集群配置 项目描述数量3台规格阿里云ECS 16C64GSlot模式静态50个ST内存配置-Xms32g -Xmx32g -XX:MaxMetaspaceSize8g 异常问题 4月份以来,出现了3次集群脑裂现象,均为某节点脑裂/自动关闭。 核心日志如下: Master节点 出现Hazelcast监控…

学会python——在excel中写入数据(python实例十三)

目录 1.认识Python 2.环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3 .想Excel中写入数据 3.1 代码构思 3.2 代码实例 3.3 运行结果 4.总结 1.认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的…

[JS]DOM元素

介绍 DOM(Document Object Model---文档对象模型) 是浏览器提供的一套专门用来操作网页内容的API DOM树 把HTML文档以树状结构直观的表现出来, 称为文档数或者DOM树, DOM树直观的展示了标签与标签的关系 DOM对象 浏览器根据html标签生成的JS对象称为DOM对象 document对象 …

Java 树形结构数据如何高效返回给前端进行展示?

在开发过程中我们总是遇到一些具有层次结构的数据,这些数据在前端也总是需要以树形结构进行显示,那么后端接口如何高效的去将这些数据封装成树形结构呢?下面来进行解析讲解。 最终实现的一个结果图 设计返回的实体VO import com.fasterxm…

PTA—C语言期末复习(选择题)

1. 按照标识符的要求,(A)不能组成标识符。 A.连接符 B.下划线 C.大小写字母 D.数字字符 在大多数编程语言中,标识符通常由字母(包括大写和小写)、数字和下划线组成,但不能以数字开头&#xff0c…

聚类算法(3)---K-means 算法

本篇文章是博主在人工智能等领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对人工智能等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在AI学习笔记&#…

firewalld(1)基本原理

简介 Firewalld是一种提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具,它自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,数据包过滤机制(Netfilter)有两个软件:firewalld与iptables。也就是说firewalld…

高德地图获取key值步骤

1、创建新应用 进入控制台(https://lbs.amap.com/dev/),创建一个新应用。 如果您之前已经创建过应用,可直接跳过这个步骤。 2、添加新Key 在创建的应用上分别填写key名称、选择服务平台、SHA1、以及PackageName SHA1:是在安卓…

java实现双线性映射

1.目录结构 2.导包 将jpbc-api-2.0.0.jar和jpbc-plaf-2.0.0.jar导入到java项目中 网盘链接:链接: https://pan.baidu.com/s/1lFLXQj8v_EhL9KZYaaRv1w?pwde8db 提取码: e8db 3.编写代码 a.properties type a q 878071079966331252243778198475404981580688319941…

MSA 助力实验室测量更稳定、更准确

在汽车制造、石油化工、电子制造等行业,产品的质量和性能需要通过准确的测量来保证。但是由于测量设备的误差、操作人员的主观影响以及环境条件的干扰等因素会导致测量系统出现各种问题,且这些问题会导致测量结果不准确,从而影响产品质量。 随着工业信息化的迅速发展, 各行业对…

串口通信中字符和16进制显示的区别分析,串口发送数据

分析的原因 在对串口传送数值时,不想再进行一步字符转化,想要直接传送数值。但查看时就需要以16进制的数值形式查看数据,否则将不能看到正确的数据显示 下图是对串口寄存器发送一个16bit位的数据 void uart0Senduint16(UINT16 dat){SBUFdat…

使用Python Selenium,动态网页不再是难题!

目录 1、直接执行JS代码 🌐 1.1 execute_script基础用法 1.2 带参数执行JS函数 1.3 获取执行结果 2、使用execute_async_script异步执行 🔄 2.1 适用场景分析 2.2 实现异步操作示例 2.3 错误处理与调试技巧 3、JS与页面元素交互 👤 3.1 修改DOM属性 3.2 触发事…

KVM性能优化之磁盘IO优化

方法一&#xff1a;通过直接在XML里定义&#xff1a; 1.磁盘类型选择 <target devsda busscsi/> PS:virti0模式读写低于sata和SCSI模式&#xff0c;SCSI模式最高&#xff0c;大数据集建议使用SCSI 2.缓存模式选择 <driver nameqemu typeqcow2 cachenone/> 加上…

webpack+webpack server入门

​ 1.webpack介绍 webpack是一个模块加载器兼打包工具。它是以 commonJS 的形式来书写脚本的&#xff0c;但对 AMD/CMD 的支持也很全面&#xff0c;方便旧项目进行代码迁移。支持对react热插拔。 2.安装&#xff08;使用淘宝镜像&#xff09; 全局安装 cnpm install webpa…

同三维T700转换器 USB转HDMI转换器

让USB摄像头变成HDMI输出&#xff0c;支持4K60输出 一、产品简介&#xff1a; 此转换器可以把USB信号转成HDMI信号&#xff0c;支持4K60 HDMI输出&#xff0c;有效解决了USB摄像头连接电视、显示器、导播台的问题&#xff0c;带USB控制口&#xff0c;可升级/接蓝牙接收器&#…

Android高级面试_6_性能优化

Android 高级面试-7&#xff1a;网络相关的三方库和网络协议等 1、网络框架 问题&#xff1a;HttpUrlConnection, HttpClient, Volley 和 OkHttp 的区别&#xff1f; HttpUrlConnection 的基本使用方式如下&#xff1a; URL url new URL("http://www.baidu.com")…

停更公告

由于csdn越来越流氓了&#xff0c;我永久停更&#xff0c;专注于网站建设&#xff08;亚运奥运素材网&#xff09;qdhca.asiahttp://qdhca.asia/

一招教你搞定Windows系统指定IP不变[固定IP地址方法]

1.打开控制面板&#xff0c;找到“网络和Internet” 点击进入&#xff1a; 2.点击打开“网络和共享中心”后&#xff0c;选择“更改适配器选项”。 3.点击 “查看此连接的状态”&#xff0c; 接着点击“详细信息” 查看信息。记录当前的IP地址是 10.88.x.xx&#xff0c;后面我们…