Wu, P., Chai, B., Zheng, M., Zhang, Z., Li, W., Hu, Z., Chen, J., Li, H., & Sun, X. (2025). Efficient Spiking Point Mamba for Point Cloud Analysis. ICCV.
1. 背景与痛点:为什么要做这个?
在 3D 视觉领域,Point Transformer 等基于注意力机制的方法虽然效果好,但计算量是 O ( N 2 ) O(N^2) O(N2),且能耗巨大。
- SNN (脉冲神经网络):虽然有生物可解释性和低功耗(0/1 稀疏计算)的优势,但往往难以捕捉复杂的 3D 几何结构,且性能通常不如 ANN。
- Mamba (SSM):最近大火的状态空间模型,拥有 O ( N ) O(N) O(N) 的线性复杂度,擅长处理长序列。
SPM 的核心思路:用 Mamba 来处理点云的空间几何(解决 SNN 变傻的问题),用 SNN 来处理时间动态并实现稀疏加法(解决 Mamba 计算量大的问题)。
2. 前置知识:硬核科普 SNN (数学视角)
2.1 LIF 神经元动力学方程
论文中使用的 S N ( ⋅ ) \mathcal{SN}(\cdot) SN(⋅) 指代 Leaky Integrate-and-Fire (LIF) 神经元。它并非简单的 ReLU,而是具有时间动力学的微分方程。根据论文公式 (1)-(3),其离散化形式如下:
-
充电 (Integrate & Leaky):
H t = f ( V t − 1 , X t ) = τ V t − 1 + X t H_t = f(V_{t-1}, X_t) = \tau V_{t-1} + X_t Ht=f(Vt−1,Xt)=τVt−1+Xt- H t H_t Ht: t t t 时刻的膜电位(Membrane Potential),但在发放脉冲前。
- V t − 1 V_{t-1} Vt−1:上一时刻残留的电压。
- X t X_t Xt:当前时刻的输入电流。
- τ \tau τ:衰减因子 (Decay factor),体现了“遗忘”特性。
-
发放 (Fire):
S t = Θ ( H t − V t h ) S_t = \Theta(H_t - V_{th}) St=Θ(Ht−Vth)- S t S_t St:输出脉冲, S t ∈ { 0 , 1 } S_t \in \{0, 1\} St∈{0,1}。
- V t h V_{th} Vth:发放阈值 (Threshold)。 Θ ( ⋅ ) \Theta(\cdot) Θ(⋅) 为阶跃函数 (Heaviside function),超过阈值输出 1,否则输出 0。
-
重置 (Reset):
V t = H t ⋅ ( 1 − S t ) + V r ⋅ S t V_t = H_t \cdot (1 - S_t) + V_r \cdot S_t Vt=Ht⋅(1−St)+Vr⋅St- V t V_t Vt: t t t 时刻最终的膜电位。如果发了脉冲 ( S t = 1 S_t=1 St=1),电压重置为 V r V_r Vr (通常为0);否则保持为 H t H_t Ht。
2.2 理论能耗优势公式
SPM 省电的核心依据在于将 乘累加 (MAC) 转换为 稀疏加法 (AC)。根据论文第 4.3 节:
- FP32 MAC 能耗: E M A C = 4.6 pJ E_{MAC} = 4.6 \text{pJ} EMAC=4.6pJ
- FP32 AC 能耗: E A C = 0.9 pJ E_{AC} = 0.9 \text{pJ} EAC=0.9pJ
SNN 的能耗公式为:
E
S
N
N
=
E
A
C
⋅
F
L
O
P
s
⋅
T
⋅
fr
E_{SNN} = E_{AC} \cdot FLOPs \cdot T \cdot \text{fr}
ESNN=EAC⋅FLOPs⋅T⋅fr
其中
fr
\text{fr}
fr 是脉冲发放率 (Firing Rate)。由于
fr
\text{fr}
fr 通常很低(稀疏),且
E
A
C
≈
1
5
E
M
A
C
E_{AC} \approx \frac{1}{5} E_{MAC}
EAC≈51EMAC,最终实现了 12.6 倍 的能效提升。
3. 网络框架与数据流 (Pipeline & Dimensions)
SPM 的网络结构清晰,核心在于处理 空间 (M) 与 时间 (T) 的维度变换。以下是 Input 到 Task Head 的完整数据流:

Step 1: Input → \rightarrow → HDE
- Input: 原始点云
P
P
P。
- Shape: ( B , N , 3 ) (B, N, 3) (B,N,3),例如 ( 32 , 2048 , 3 ) (32, 2048, 3) (32,2048,3)。
- Module: HDE (Hierarchical Dynamic Encoding)。通过滑动窗口进行时序切片。
- Output: 编码后的点云序列
E
E
E。
- Shape: ( B , T , M , 3 ) (B, T, M, 3) (B,T,M,3),例如 ( 32 , 4 , 256 , 3 ) (32, 4, 256, 3) (32,4,256,3)。
- 注: T T T 为时间步, M M M 为每帧采样点数。
Step 2: HDE → \rightarrow → SEL
- Module: SEL (Spiking Embedding Layer)。包含 KNN 聚类、MLP 和 LIF 激活。
- Transformation: 将 3D 坐标映射为 C C C 维特征,并二值化。
- Output: 脉冲特征图
U
0
U_0
U0。
- Shape: ( B , T , M , C ) (B, T, M, C) (B,T,M,C),例如 ( 32 , 4 , 256 , 128 ) (32, 4, 256, 128) (32,4,256,128)。
- 注:从此阶段开始,Tensor 变为稀疏的 0/1 张量。
Step 3: SEL → \rightarrow → SMB Backbone
- Module: SMB (Spiking Mamba Block) × L \times L ×L 层堆叠。
- Process: 在 T T T 维度进行双向交互 (Time Flip),在 M M M 维度进行 SSM 扫描。
- Output: 深层特征
U
n
U_n
Un。
- Shape: ( B , T , M , C ) (B, T, M, C) (B,T,M,C) 保持不变。
Step 4: Task Head
- Classification Head:
- Pool: Mean( T T T) → \rightarrow → Max( M M M)。
- Linear: ( B , C ) → ( B , NumClasses ) (B, C) \rightarrow (B, \text{NumClasses}) (B,C)→(B,NumClasses)。
- Segmentation Head:
- Upsample: 将 ( B , T , M , C ) (B, T, M, C) (B,T,M,C) 映射回 ( B , N , NumClasses ) (B, N, \text{NumClasses}) (B,N,NumClasses)。
4. 核心模块详解:公式与原理
4.1 模块一:HDE (Hierarchical Dynamic Encoding)
功能:解决 SNN 静态输入问题,构建动态时序。
数学描述:
给定 FPS 排序后的点集
S
S
S,对于时间步
i
∈
{
1
,
…
,
T
}
i \in \{1, \dots, T\}
i∈{1,…,T}:
- 有限前向滑动 (Finite Forward Sliding):
F i ← { s j ∣ i ⋅ l ≤ j < F + i ⋅ l } F_i \leftarrow \{s_j \mid i \cdot l \le j < F + i \cdot l\} Fi←{sj∣i⋅l≤j<F+i⋅l}- l = ⌊ L / T ⌋ l = \lfloor L/T \rfloor l=⌊L/T⌋ 是滑动步长。这部分负责捕捉“骨架”的动态平移。
- 无限后向扩展 (Infinite Backward Extension):
B i ← { s j ∣ M + i ⋅ r ≤ j < M + ( i + 1 ) ⋅ r } B_i \leftarrow \{s_j \mid M + i \cdot r \le j < M + (i+1) \cdot r\} Bi←{sj∣M+i⋅r≤j<M+(i+1)⋅r}- r = ⌊ R / T ⌋ r = \lfloor R/T \rfloor r=⌊R/T⌋ 是扩展步长。这部分负责不断引入新的“细节”。
- 合并:
E i ← F i ∪ B i E_i \leftarrow F_i \cup B_i Ei←Fi∪Bi
最终每帧输入 E i E_i Ei 既包含了稳定的主体,又包含了变化的细节。
4.2 模块二:SEL (Spiking Embedding Layer)
功能:特征升维与脉冲化。
公式:
SPM 不仅利用 MLP,还引入了 EMP (Element-wise Max Pooling) 来聚合局部邻域特征:
G
=
EMP
(
U
)
G = \text{EMP}(U)
G=EMP(U)
U
′
=
MLP
(
S
N
(
Concat
(
U
,
G
)
)
)
U' = \text{MLP}(\mathcal{SN}(\text{Concat}(U, G)))
U′=MLP(SN(Concat(U,G)))
U
0
=
U
′
+
RPE
U_0 = U' + \text{RPE}
U0=U′+RPE
其中 RPE 为相对位置编码。这一步确保了进入 Mamba Block 之前,数据已经是包含局部几何信息的 0/1 脉冲。
4.3 模块三:SMB (Spiking Mamba Block)
这是全文最核心的公式推导部分。输入为 U n U_n Un,输出为 U n + 1 U_{n+1} Un+1。
-
脉冲生成:
S n = S N ( U n ) S_n = \mathcal{SN}(U_n) Sn=SN(Un)
首先将膜电位转化为脉冲 S n ∈ { 0 , 1 } S_n \in \{0, 1\} Sn∈{0,1},确保后续计算稀疏。 -
SSM 分支 (双向 Time Flip):
S n ′ = S N ( MLP ( S n ) ) S'_n = \mathcal{SN}(\text{MLP}(S_n)) Sn′=SN(MLP(Sn))
U n ′ , U t ′ = SSM ( S N ( DWConv ( S n ′ , S t ′ ) ) ) U'_n, U'_t = \text{SSM}(\mathcal{SN}(\text{DWConv}(S'_n, S'_t))) Un′,Ut′=SSM(SN(DWConv(Sn′,St′)))- S t ′ S'_t St′ 是 S n ′ S'_n Sn′ 在时间维度上的翻转 (Time Flip)。
- SSM ( ⋅ ) \text{SSM}(\cdot) SSM(⋅) 内部执行的是稀疏加法 h k = A ˉ h k − 1 + B ˉ x k h_k = \bar{A}h_{k-1} + \bar{B}x_k hk=Aˉhk−1+Bˉxk (当 x k = 1 x_k=1 xk=1)。
- 输出 U n ′ U'_n Un′ (正向) 和 U t ′ U'_t Ut′ (反向) 包含了双向时序特征。
解释:输入到SSM中的数据是按照最远点采样的序列,也就是说对每一个时间点t进行SSM
- Gate 分支 (EAP 全局门控):
Z n = S N ( MLP ( S n ) ) Z_n = \mathcal{SN}(\text{MLP}(S_n)) Zn=SN(MLP(Sn))
S n ′ ′ = S N ( U n ′ + U t ′ ) ∘ S N ( EAP ( Z n ) ) S''_n = \mathcal{SN}(U'_n + U'_t) \circ \mathcal{SN}(\text{EAP}(Z_n)) Sn′′=SN(Un′+Ut′)∘SN(EAP(Zn))- 关键公式: EAP ( Z n ) \text{EAP}(Z_n) EAP(Zn) 是对 Token 维度 M M M 求平均。
- ∘ \circ ∘ 表示 Hadamard 积。这里用 EAP 生成的全局通道权重去门控 SSM 的输出,解决了脉冲相乘信息丢失的问题。
解释:这是全局门控,也就是说每个时间点t都会生成一个全局的向量!!!
- 残差连接:
U n + 1 = MLP ( S n ′ ′ ) + U n U_{n+1} = \text{MLP}(S''_n) + U_n Un+1=MLP(Sn′′)+Un
5. 实验:尤其是消融实验 📊
SPM 的实验非常扎实,不仅精度刷榜,消融实验也把每个模块的作用扒得干干净净。
5.1 主实验:精度与能耗的双赢
- ScanObjectNN (PB_T50_RS):SPM 达到 85.6%,比之前的 SOTA SNN (Spiking Point Transformer) 高出 6.2%,甚至超过了 ANN 版本的 Point-MAE。
- 能耗:SPM (1.5 mJ) vs PointMamba (18.9 mJ)。能耗降低 12.6 倍。
5.2 消融实验:每个模块都很重要

1. SMB 模块设计 (Table 4)
作者对比了普通的 Mamba 结构和 SPM 的改进结构:
- Model I (普通 Gate):直接用 LIF 替换 SiLU,精度只有 88.3%。
- Model II (Gate II):加入 EAP 门控,精度提升到 89.3%。
- SMB (最终版):Gate II + 双向 SSM,精度达到 90.2%。
- 结论:简单的替换激活函数是不够的,EAP 门控 ( S n ′ ′ S''_n Sn′′ 公式中的 ∘ \circ ∘ 操作) 对于保留稀疏脉冲的信息至关重要。
2. 双向策略:Flip Token 还是 Flip Time? (Table 5)
- Token Flip (翻转 M M M 维度):效果一般 (88.9%)。因为点云是无序的,翻转 Token 顺序意义不大。
- Time Flip (翻转 T T T 维度):效果最好 (89.6%)。
- 结论:时间维度的双向交互 ( U n ′ + U t ′ U'_n + U'_t Un′+Ut′) 才是 SNN 处理 3D 数据的关键。
3. HDE 编码策略 (Table 6)
- 只用 Forward (滑窗):89.8%。
- 只用 Backward (扩展):89.5%。
- 双管齐下:90.2%。
- 结论:前向滑窗 F i F_i Fi 负责“去噪”(丢掉不稳定的起点),后向扩展 B i B_i Bi 负责“增信”(引入更多细节),两者缺一不可。
6. 总结
Spiking Point Mamba (SPM) 是一篇非常精彩的架构设计论文。它没有生硬地缝合 SNN 和 Mamba,而是针对两者的痛点做了精准的互补:
- SNN 不懂几何? 用 Mamba 来扫 M = 256 M=256 M=256 的空间序列。
- Mamba 不懂时间? 用 HDE ( F i ∪ B i F_i \cup B_i Fi∪Bi) 和 Time Flip 强行制造时序动态。
- 计算太贵? 用 SNN 的 LIF 公式和 Gate 机制 ( E A C E_{AC} EAC) 把乘法全砍掉。
如果你关注 端侧设备部署、脑类计算 或 3D 视觉架构设计,这篇论文绝对值得精读!
📚 参考文献
[1] Wu, P., et al. Efficient Spiking Point Mamba for Point Cloud Analysis. ICCV 2025.
💬 互动话题:
- 关于 SNN:你觉得 SNN(脉冲神经网络)未来能取代现在的 ANN 吗?还是只能在低功耗领域苟着?
- 关于排序:PointMamba 用 Hilbert,SPM 用 FPS+滑窗。你觉得处理 3D 数据,空间邻域性(Hilbert)和 全局覆盖性(FPS)哪个更重要?
📚 附录:点云网络系列导航
🔥 欢迎订阅专栏:【点云特征分析_顶会论文代码硬核拆解】持续更新中…
本文为 CSDN 专栏【点云特征分析_顶会论文代码硬核拆解】原创内容,转载请注明出处。
1090

被折叠的 条评论
为什么被折叠?



