PointMamba: A Simple State Space Model for Point Cloud Analysis

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.mzph.cn/bicheng/37052.shtml

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

相关文章

如何将编译过的C++库迅速部署在Visual Studio新项目中

本文介绍在Visual Studio中,通过属性表,使得一个新建解决方案中的项目可以快速配置已有解决方案的项目中各类已编译好的C第三方库的方法。 例如,我们现有一个解决方案,其中的一个项目需要调用Armadillo、OpenCV等多个不同的C第三…

爆款短视频素材库有哪些?分享几个容易火的视频素材网站

当今自媒体时代,每位内容创作者都渴望制作出下一个爆款短视频。你是否在寻找那些能让你的视频迅速蹭热度的顶级素材库?本文将为你介绍几个视频素材库,它们或许能成为你成功的秘密武器。首先要提的,自然是著名的国内素材库——蛙学…

SAP PP学习笔记24 - 生产订单(制造指图)的创建

上面两章讲了生产订单的元素。 SAP PP学习笔记22 - 生产订单(制造指图)的元素1-CSDN博客 SAP PP学习笔记23 - 生产订单(制造指图)的元素2 - 决济规则(结算规则)-CSDN博客 这一章讲生产订单的创建。比如 - 生产订单的流程&#…

【课程总结】Day12:YOLO的深入了解

前言 在【课程总结】Day11(下):YOLO的入门使用一节中,我们已经了解YOLO的使用方法,使用过程非常简单,训练时只需要三行代码:引入YOLO,构建模型,训练模型;预测…

SwiftUI八与UIKIT交互

代码下载 SwiftUI可以在苹果全平台上无缝兼容现有的UI框架。例如,可以在SwiftUI视图中嵌入UIKit视图或UIKit视图控制器,反过来在UIKit视图或UIKit视图控制器中也可以嵌入SwiftUI视图。 本文展示如何把landmark应用的主页混合使用UIPageViewController和…

Meta CEO 扎克伯格批评闭源AI竞争对手:称其试图“创造上帝”|TodayAI

美国社交媒体巨头Meta(Facebook母公司)的CEO马克扎克伯格(Mark Zuckerberg)近日在一次采访中,公开批评了那些他认为不够开放的AI竞争对手,称他们的行为就像是在“创造上帝”。扎克伯格坚定表示,AI技术不应该被某一家公…

SysML与MBSE的关系

SysML与MBSE的关系 对于任何基于模型的系统工程 (MBSE) 方法,推荐的最佳实践是基于模型的语言、基于模型的工具、基于模型的流程和基于模型的架构框架的协同应用,如下图所示 系统架构四元组 图。经过十年将SysML应用于棘手的系统…

戴尔md3400存储控制器脱机故障 电池故障处理

看了一下网上关于DELL MD系列存储故障处理的文档还是比较少的,最近处理了一些关于MD系列存储的问题,稍微整理整理就分享一下,各位喜欢摸索的朋友可以稍稍做些参考,当然如果想寻求外援的也可以快速的找到合适的人。以便安全又快捷的…

C语言基础——操作符

ʕ • ᴥ • ʔ づ♡ど 🎉 欢迎点赞支持🎉 个人主页:励志不掉头发的内向程序员; 专栏主页:C语言基础; 文章目录 前言 一、操作符的分类 二、二进制和进制转换 2.1 二进制转十进制 2.1.1 十…

零知识证明基础:数字签名

1、绪论 数字签名(Digital Signature),也称电子签名,是指附加在某一电子文档中的一组特定的符号或代码。它利用密码技术对该电子文档进行关信息提取并进行认证形成,用于标识签发者的身份以及签发者对电子文档的认可,并能被接收者…

pyqt5 制作视频剪辑软件,切割视频

该软件用于切割视频,手动选取视频片段的起始帧和结束帧并保存为json文件。gui界面如下:包含快进、快退、暂停等功能, 代码如下: # coding=UTF-8 """ theme: pyqt5实现动作起始帧和结束帧的定位,将定位到的帧数保存json文件 time: 2024-6-27 author: cong…

详细介绍LP-SCADA系统的核心数据采集单元

关键字:LP-SCADA系统, 传感器可视化, 设备可视化, 独立SPC系统, 智能仪表系统,SPC可视化,独立SPC系统 SCADA系统的数据采集功能是其核心组成部分,它允许系统从各种传感器、仪器和设备中收集实时数据。以下是SCADA系统数据采集功能的详细描述: 传感器和…

Kotlin vs Java:深入解析两者之间的最新差异与优劣(全面指南)

文章目录 1. 概述2. 语法简洁性3. 空安全4. 扩展函数5. 协程6. 数据类7. 智能类型转换8. 默认参数与命名参数9. 无 checked exceptions10. 单例模式总结 🎉欢迎来到Java学习路线专栏~探索Java中的静态变量与实例变量 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨…

Java对象类辨识指南:Object与Objects类的区别详解

今天在写lambda表达式时,用filter来做过滤判断我的结果是否为null时使用到了Objects.nonNull,但是敲着敲着发现不对劲,怎么没有nonNull方法?? 其实时我少敲了一个s,当时自己并没有很清楚Object和Objects两者之前的区别&#xf…

LangGPT:高质量提示词框架

题目:LangGPT: Rethinking Structured Reusable Prompt Design Framework for LLMs from the Programming Language作者: Ming Wang; Yuanzhong Liu; Xiaoming Zhang; Songlian Li; Yijie Huang; Chi Zhang; Daling Wang; Shi Feng; Jigang LiDOI: 10.48550/arXiv.2…

Qt自定义信号

1.Teacher类下定义信号signals: Student类下定义槽函数&#xff1a; Teacher.h #pragma once#include <QObject>class Teacher : public QObject {Q_OBJECTpublic:Teacher(QObject *parent);~Teacher(); signals:void Ask(); //老师向学生提问void Ask(QString str);…

量化投资 日周月报 2024-06-28

文章 深度学习在量化交易中的应用:在BigQuant量化交易平台的文章中,探讨了深度学习在量化交易中,特别是在因子挖掘方面的应用。文章提到,随着传统线性模型的潜力逐渐枯竭,非线性模型逐渐成为量化交易的主要探索方向。深度学习因其对非线性关系的拟合能力,在量化交易中展现…

qmt量化交易策略小白学习笔记第52期【qmt编程之商品期货数据】

qmt编程之获取商品期货数据 qmt更加详细的教程方法&#xff0c;会持续慢慢梳理。 也可找寻博主的历史文章&#xff0c;搜索关键词查看解决方案 &#xff01; 主力合约生成规则 每个品种只有一个主连合约。主连合约于下一个交易日进行指向切换&#xff0c;切换前主连合约不变…

Unity Animator 运行时修改某个动画状态的播放速度

1.添加动画参数&#xff0c;选择需要动态修改速度的动画状态 2.在属性面板种设置速度倍速参数

HarmonyOS ArkUi ArkWeb加载不出网页问题踩坑

使用 使用还是比较简单的&#xff0c;直接贴代码了 别忘了配置网络权限 Entry Component struct WebPage {State isAttachController: boolean falseState url: string State title: string Prop controller: web_webview.WebviewController new web_webview.WebviewCont…