VIMCAN: Visual-Inertial 3D Human Pose Estimation with Hybrid Mamba-Cross-Attention Network¶
会议: CVPR 2026
arXiv: 2605.07552
代码: https://github.com/Eddieyzp/VIMCAN (有)
领域: 3D视觉 / 人体姿态估计 / 多模态融合
关键词: 视觉-惯性融合、3D人体姿态、Mamba、Cross-Attention、实时推理
一句话总结¶
VIMCAN 把 Mamba 的线性复杂度时序建模和 Cross-Attention 的跨模态空间推理拼成一个混合架构,用 RGB 关键点 + 可穿戴 IMU 融合估计 3D 人体姿态,在 TotalCapture 上做到 17.2 mm MPJPE 的同时支持消费级硬件 60+ FPS 实时推理。
研究背景与动机¶
领域现状:3D 人体姿态估计(HPE)目前最强的多模态流水线几乎都建立在 Transformer 上,靠 Cross-Attention 把视觉特征和 IMU 等异构模态融合起来。单目视觉方案受困于「2D→3D 抬升的深度歧义」,所以业界普遍引入 IMU 这类高频、低延迟、抗遮挡的传感器作为互补信号。
现有痛点:Attention 对序列长度 \(L\) 是二次复杂度 \(\mathcal{O}(L^2)\),长序列推理时显存和算力开销爆炸。论文的对比图(Fig.1)显示,GCN-Transformer 模型的峰值显存随序列长度迅速攀升,在资源受限设备上无法实时跑长序列——已有工作(如 Wang's GCN-Transformer、Liu's CNN-Transformer)为了实时只能强行缩小时间窗口,牺牲了时序上下文。
核心矛盾:要么用 Attention 拿到精确的跨模态空间建模但付出 \(\mathcal{O}(L^2)\) 的代价,要么换成线性复杂度 \(\mathcal{O}(L)\) 的 Mamba 省算力——但纯 Mamba 的选择性状态空间机制为了效率压缩了表达力,空间推理能力明显弱于卷积/注意力,在需要精细空间对齐的多模态融合里会丢信息。精度、鲁棒性和效率之间存在三难。
本文目标:在不牺牲精度的前提下把多模态 3D HPE 做到线性复杂度、变长序列、消费级硬件实时。
切入角度:作者的观察是——时序建模和空间/跨模态建模其实可以拆开用不同工具。Mamba 擅长沿时间轴高效压缩历史,但不擅长空间;Cross-Attention 擅长建模异构 token 间的复杂关系,但二次复杂度只在「融合」这一窄环节才不可避免。那就让 Mamba 包办大头的时空特征提取与全局建模,只在视觉↔惯性融合的关键节点上局部用一次 Cross-Attention。
核心 idea:用 Mamba 做高效时序骨架、Cross-Attention 做跨模态空间融合的「混合」架构,把二次复杂度限制在最小的融合环节,从而兼顾精度与实时性——这是首个把 Mamba 用到视觉-惯性多模态 3D HPE 的工作。
方法详解¶
整体框架¶
VIMCAN 输入是单目图像抽出的 \(J{=}17\) 个关键点坐标,加上 \(I{=}6\) 个可穿戴 IMU 的单位四元数;输出是整段序列的根相对 3D 姿态 \(P\in\mathbb{R}^{T\times J\times 3}\)。整条流水线分三段:先各自抽时空特征(STMamba)→ 再跨模态融合(Cross-Attention 为主干)→ 最后回归 3D 坐标。
具体地,两个模态先经线性层升到公共维度 \(D_e\),得到视觉特征 \(F^V\) 和按身体部位分组的惯性特征 \(F_g^I\)。借助运动学先验,6 个 IMU 被划成 \(G{=}5\) 组(躯干、左右臂、左右腿)。每个模态独立送进 STMamba(Spatio-Temporal Mamba):视觉走「骨架感知」STMamba,惯性走「部位感知」STMamba,两者都由空间 + 时序两个 BiSTSSM 块串成。抽完特征后,视觉特征当 Query、惯性特征当 Key/Value 做 Multi-Head Cross-Attention 完成融合;融合结果再过 part-aware STMamba + 一摞 skeleton-aware STMamba 做全局时空建模,最后一个线性层回归出 3D 姿态。论文还额外提出一个纯 Mamba 的 Cross-Mamba 融合模块作为对照(证明融合环节确实需要 Attention)。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["输入<br/>RGB 关键点 + 6×IMU 四元数"] --> B["运动学分组<br/>IMU 按 5 个身体部位划组"]
B --> C["STMamba 时空特征提取<br/>视觉骨架感知 / 惯性部位感知<br/>空间+时序 BiSTSSM"]
C --> D["Cross-Attention 跨模态融合<br/>视觉=Query 惯性=K/V 分组 MHCA"]
D --> E["全局 STMamba 建模<br/>part-aware + 多层 skeleton-aware"]
E --> F["姿态回归<br/>输出 T×J×3 根相对坐标"]
D -.对照模块.-> G["Cross-Mamba<br/>纯 Mamba 融合(消融用)"]
关键设计¶
1. 按身体部位分组 + 骨架感知扫描:把运动学先验喂进 Mamba
纯 Mamba 的扫描是「拉平成序列逐个扫」,对人体这种有强拓扑结构的对象会丢掉关节间的解剖关系。VIMCAN 在两个地方注入运动学先验:其一,把 6 个 IMU 按 \(G{=}5\) 个身体部位(躯干/左臂/右臂/左腿/右腿)分组,每组用专属的 part-aware STMamba,让同一肢体的传感器信息先在局部对齐;其二,视觉分支做空间前向扫描时,按父子关节关系(骨架拓扑)重排关键点顺序,使 Mamba 的递归更新顺着骨架链条走,而不是任意像素顺序。消融显示分组从 0→3→5 组时 MPJPE 从 25.6→20.5→17.2 mm 单调下降,去掉骨架感知扫描则直接劣化到 25.7 mm——说明这两个先验是精度的主要来源。
2. BiSTSSM:双向时空选择性状态空间块
STMamba 的最小单元是 BiSTSSM,它先做空间 BiSTSSM 编码帧内拓扑关系,再做时序 BiSTSSM 建模帧间动态。块内先把输入特征 \(F\)(\(F^V\) 或 \(F_g^I\))线性投影并切成两半 \(F_x,F_z = \text{Chunk}(\text{FC}(F))\)。\(F_x\) 路经深度卷积 + SiLU 抓局部模式后送进选择性扫描:
\(F_z\) 则当门控信号,门控输出 \(F_y^{ssm} = F_x^{ssm}\cdot\sigma(F_z)\),再投影回 \(D_e\) 接残差和 MLP。惯性分支用四方向扫描 SS2D(空间前/后 + 时序前/后),视觉分支的扫描则换成骨架顺序版本。这套设计让单个块在 \(\mathcal{O}(L)\) 复杂度下同时拿到局部卷积模式、双向时空依赖和门控选择能力。
3. 分组 Cross-Attention 融合:只在融合环节动用注意力
这是「混合」的关键——Mamba 省算力但空间表达不足,所以融合不交给它,而是用一次 Multi-Head Cross-Attention。视觉特征按组拆成 \(Y_g^V\),对每组 \(g\),视觉当 Query \(Q_g^V\)、惯性当 Key/Value \(K_g^I,V_g^I\):
残差只加在视觉 Query 上以保留骨架信息。因为 Attention 只作用在「分组后的少量 token」这一窄环节,二次复杂度的代价被压到最小,整体仍接近线性。消融里把融合从 Cross-Attention(17.2 mm)换成 Cross-Mamba(24.3 mm)或视觉-only Self-Attention(26.9 mm),都明显变差,尤其在未见受试者的复杂动作上 Cross-Attention 领先 5.6 mm 以上,验证了「融合必须用 Attention」的判断。
4. Cross-Mamba 对照模块:用来证明纯 Mamba 融合不够
作者特意设计了一个纯 Mamba 的融合替代品 Cross-Mamba:用线性层把惯性特征自适应映射到视觉特征空间,两模态各自做线性投影 + 1D 卷积,然后 Cross-SSM 把视觉和惯性沿空间轴拼接做双向扫描(SS1D)以对标 cross-attention,扫完再切回视觉/惯性分量、门控融合。它存在的意义不是为了用,而是作为科学对照——结果它在精度上始终输给 Cross-Attention(35.3 vs 31.2 mm),从而正面坐实「Mamba 的空间推理短板在融合环节确实致命」这一动机。
损失函数 / 训练策略¶
总损失是四项的加权和,端到端训练:
其中 \(\mathcal{L}_{\text{MPJPE}}\) 是预测与 GT 关节坐标的 L2 距离;\(\mathcal{L}_{\text{N-MPJPE}}\) 先用最小二乘求一个尺度因子 \(s\) 再算误差,抑制全局尺度漂移;\(\mathcal{L}_{\text{V}}\)(MPJVE)约束一阶差分即关节速度一致性;\(\mathcal{L}_{\text{TC}}\) 是带权时序一致性损失,对远端肢体等感知关键关节 \(w_j\) 给更高惩罚以抑制抖动。权重设为 \(\lambda_{\text{MPJPE}}{=}1\)、\(\lambda_{\text{N-MPJPE}}{=}0.5\)、\(\lambda_{\text{V}}{=}20\)、\(\lambda_{\text{TC}}{=}0.5\)。
变长训练策略:VIMCAN 天生支持变长序列推理,无需 padding/mask/定长约束。训练时设最大长度 \(T{=}81\),每个 batch 内从 \(\{9,18,27,36,45,54,63,72,81\}\) 随机采样序列长度,让模型适应任意长度输入。训练用单张 RTX 3090、batch 16、20 epoch、AdamW(weight decay 0.01)、初始学习率 \(2\times10^{-4}\) 指数衰减(factor 0.99);\(D_e{=}64\)、\(D_g{=}256\)、全局用 \(L_N{=}5\) 层 skeleton-aware STMamba。
实验关键数据¶
主实验¶
在 TotalCapture(视觉-惯性融合基准,P1=平均 MPJPE,P2=Procrustes 对齐 MPJPE,单位 mm)上对比各类融合方法:
| 配置 | 方法 | P1 ↓ | P2 ↓ |
|---|---|---|---|
| 6 IMU + MediaPipe | Wang's (GCN-Transformer) | 39.0 | 28.8 |
| 6 IMU + MediaPipe | VIMCAN | 33.2 | 25.7 |
| 6 IMU + SimpleNet | Wang's | 34.9 | 26.9 |
| 6 IMU + SimpleNet | VIMCAN | 31.2 | 23.6 |
| 8 IMU + SimpleNet | Wang's | 33.4 | 25.1 |
| 8 IMU + SimpleNet | VIMCAN | 28.9 | 21.3 |
| 6 IMU + GT 2D | Wang's | 28.6 | 17.6 |
| 6 IMU + GT 2D | VIMCAN | 17.2 | 13.8 |
用 GT 关键点时 VIMCAN 比 Wang's 在 P1 上猛降 11.4 mm、P2 降 3.8 mm。在 3DPW(MediaPipe 检测,TotalCapture 预训练后微调)上 VIMCAN 取得 45.3 mm P1,优于 Liu's(60.3)、Pan's(55.0)、Wang's(53.9)。
效率对比(消费级 RTX 4060 Laptop):
| 方法 | P1 ↓ | 参数量 | 峰值显存 ↓ | FPS ↑ |
|---|---|---|---|---|
| Wang's (GCN-Transformer) | 34.9 | 7.3M | 969.8 MB | 45.8 |
| CrossMamba | 35.3 | 12.5M | 89.6 MB | 64.6 |
| VIMCAN-B (Balance) | 31.2 | 12.3M | 282.5 MB | 61.4 |
| VIMCAN-T (Tiny) | 34.5 | 3.9M | 156.4 MB | 71.1 |
VIMCAN-B 精度最高且只用 Wang's 约 29% 显存、1.3× 吞吐;VIMCAN-T 用 3.9M 参数换 71 FPS,适合资源受限部署。
消融实验¶
| 实验 | 配置 | P1 ↓ (mm) | 说明 |
|---|---|---|---|
| 分组+骨架扫描 | #G=0 | 25.6 | 不分组(6.8M 参数/248.6MB) |
| 分组+骨架扫描 | #G=3 | 20.5 | 三部位分组 |
| 分组+骨架扫描 | #G=5, 去骨架扫描 | 25.7 | 有分组但去掉骨架感知 |
| 分组+骨架扫描 | #G=5, 完整 | 17.2 | 完整模型 |
| 融合方式 | PoseMamba (视觉-only) | 28.1 | 无惯性 |
| 融合方式 | Self-Attention (视觉-only) | 26.9 | 加自注意力 |
| 融合方式 | Cross-Mamba | 24.3 | 纯 Mamba 融合惯性 |
| 融合方式 | Cross-Attention | 17.2 | 完整融合 |
| 变长训练 | 定长 T=81 | 17.2 | 最优定长 |
| 变长训练 | 变长 V | 18.9 | 接近定长且支持任意长度 |
| 超参 | \(D_e{=}64,D_g{=}256\) | 31.2 (61 FPS) | 主设置 |
| 超参 | \(D_e{=}96,D_g{=}256\) | 35.2 | 升 \(D_e\) 反而过拟合变差 |
关键发现¶
- 融合机制是头号功臣:从视觉-only Self-Attention(26.9)换成 Cross-Attention 融合惯性(17.2)一下降 9.7 mm,是所有改动里收益最大的;而 Cross-Mamba(24.3)输给 Cross-Attention(17.2)7.1 mm,尤其在未见受试者的 freestyle/acting 上差距 >5.6 mm,证明纯 Mamba 撑不起跨模态空间推理。
- 解剖分组越细越好但有边际:0→3→5 组逐步降误差,但参数从 6.8M 涨到 12.3M;去掉骨架感知扫描损失 8.5 mm,说明运动学先验不可省。
- 变长训练几乎无损:变长(18.9)只比最优定长(17.2)差 1.7 mm,却换来任意长度推理能力。
- 维度非对称更优:\(D_e{=}64,D_g{=}256\)(非对称)最好;强行 \(D_e{=}D_g\) 虽 FPS>70 但精度上不去;升 \(D_e\) 到 96 反而过拟合。
亮点与洞察¶
- 「分工」式混合架构:把时序建模(Mamba,\(\mathcal{O}(L)\))和跨模态空间融合(Attention,\(\mathcal{O}(L^2)\) 但只在窄环节)解耦,让二次复杂度只付一次小账,这种「按特长分配算子」的思路可迁移到任何需要长序列 + 强空间交互的多模态任务。
- Cross-Mamba 作为「反例」消融:作者不是空喊「Mamba 空间能力弱」,而是真造一个纯 Mamba 融合模块跑对照,用 7.1 mm 的差距把动机坐实,方法论上很诚实。
- 运动学先验的两种注入:分组(IMU 按肢体)和骨架顺序扫描(关键点按父子关节重排),把人体拓扑硬编码进 Mamba 的扫描顺序,是把领域先验塞进序列模型的实用 trick。
- 变长训练 + 原生变长推理:batch 内随机采样长度,部署时不需要 padding/mask,对实时动捕场景很友好。
局限性 / 可改进方向¶
- 依赖严格的传感器标定:作者自承 VIMCAN 强依赖 IMU↔骨骼的 T-pose 标定(式 11 的多级旋转链 \(\mathbf{R}_B^C=\mathbf{R}_B^I\mathbf{R}_I^S\mathbf{R}_S^G\mathbf{R}_G^C\)),标定误差会直接传导到融合;未来打算做自适应对齐降低这一依赖。
- 3DPW 用合成 IMU:由于 3DPW 没有真实 IMU,惯性读数是按 Pan's 方法合成的,跨数据集结论的说服力打了折扣,真实野外 IMU 噪声下的表现未知。
- 绝对精度仍受 2D 检测器掣肘:MediaPipe→SimpleNet→GT 一路 P1 从 33.2→31.2→17.2 mm,说明 2D 检测噪声是当前主要瓶颈,端到端而非两阶段或许有改进空间。
- 8 IMU 在 Walking 上反输 Bao's:在简单步行子集上 TCN 方法(Bao's)更好,VIMCAN 的优势主要体现在复杂动作和泛化,简单周期动作上未必最优。
相关工作与启发¶
- vs Wang's GCN-Transformer [29]: 同样做视觉-惯性融合 + Cross-Attention + 运动学分组,但 Wang's 全程用二次复杂度的 Transformer,长序列显存爆炸(969.8 MB)且为实时被迫缩窗口;VIMCAN 把时序骨架换成线性 Mamba,仅 29% 显存、1.3× 吞吐还更准(GT 设置降 11.4 mm)。
- vs PoseMamba [10](视觉-only Mamba): PoseMamba 用全局-局部时空扫描做纯视觉 3D HPE;VIMCAN 借鉴其骨架扫描思路但加入 IMU 与 Cross-Attention 融合,把 28.1 降到 17.2 mm,证明惯性模态 + 注意力融合的增量。
- vs Liu's CNN-Transformer [17] / Pan's RNN [22]: 这些早期融合方法或受限于窗口长度、或时序建模能力弱;VIMCAN 在 3DPW 上 45.3 mm 全面领先(Liu's 60.3 / Pan's 55.0)。
- vs Mamba-Transformer 混合 [6]: 同属「Mamba 高效 + Attention 长程」的混合范式,但 VIMCAN 把它具体落到视觉-惯性 3D HPE 且首次在该任务上验证,并用 Cross-Mamba 对照量化了 Attention 在跨模态融合中的不可替代性。
评分¶
- 新颖性: ⭐⭐⭐⭐ 首个把 Mamba 用于视觉-惯性多模态 3D HPE,混合架构的「按特长分工」设计清晰,但组件多为已有模块(SS2D/Cross-Attention)的工程组合。
- 实验充分度: ⭐⭐⭐⭐ 两数据集 + 多 2D 检测器 + 5 组消融(分组/扫描/融合/变长/超参)+ 效率对比,Cross-Mamba 反例消融尤其扎实;扣分在 3DPW 用合成 IMU。
- 写作质量: ⭐⭐⭐⭐ 动机—方法—验证逻辑闭环,公式与图表完整,叙述清楚。
- 价值: ⭐⭐⭐⭐ 消费级硬件 60+ FPS 的实时变长多模态姿态估计,对动捕/康复/HCI 有直接落地价值。