ChairPose:压力分布驱动的乘员姿态估计——OOP异常姿态检测新方案
论文信息
- 标题:ChairPose: Pressure-based Chair Morphology Grounded Sitting Pose Estimation through Simulation-Assisted Training
- 作者:Lalaray Wang, et al.
- 会议:UIST 2025(ACM Symposium on User Interface Software and Technology)
- 链接:https://arxiv.org/abs/2508.01850
- 数据集:https://www.kaggle.com/datasets/lalaray/chairpose
核心创新
首个基于压力分布的全身体坐姿估计系统,无需可穿戴设备、无需摄像头、支持跨座椅几何泛化。ChairPose通过物理仿真数据增强,实现了89.4mm的关节位置误差(MPJPE),在未见用户和未见座椅上均表现出色。
Euro NCAP 2026 OOP要求
Euro NCAP 2026新增**异常姿态检测(Out-of-Position, OOP)**要求:
| OOP类型 | 定义 | 检测难点 |
|---|---|---|
| 躺卧 | 乘员躺在座椅上 | 头部位置异常低 |
| 前倾 | 身体过度前倾 | 头部超出正常区域 |
| 侧倾 | 身体向侧面倾斜 | 重心偏移 |
| 后仰 | 靠背过度倾斜 | 脊柱角度异常 |
| 蜷缩 | 腿部蜷曲 | 压力分布不均 |
| 脚踩仪表板 | 腿部异常伸展 | 压力集中在座椅前端 |
传统方案局限:
| 传感器 | 局限 |
|---|---|
| 摄像头 | 隐私问题、遮挡、光照敏感 |
| 深度相机 | 成本高、隐私问题 |
| IMU可穿戴 | 需佩戴、不适感、需校准 |
ChairPose方案优势:
✅ 无隐私问题 - 仅压力分布,无图像
✅ 无遮挡问题 - 压力分布不受衣物遮挡
✅ 无佩戴需求 - 传感器嵌入座椅
✅ 跨座椅泛化 - 支持4种不同座椅形状
系统架构
ChairPose采用两阶段生成框架:
flowchart TB
subgraph 输入
P[压力分布图<br>80×28矩阵]
C[3D座椅扫描<br>点云]
end
subgraph Stage1: MotionQuantizer
M1[SMPL姿态序列]
M1 --> VQ[VQ-VAE编码器]
VQ --> CB[码本<br>codebook]
CB --> TK[运动token]
end
subgraph Stage2: Pressure2Pose
P --> PE[压力编码器<br>ResNet]
C --> CE[座椅编码器<br>PointNet]
PE --> TF[Transformer解码器]
CE --> TF
TF --> PD[预测运动token]
end
subgraph 输出
PD --> DEC[VQ-VAE解码器]
DEC --> POSE[3D关节位置<br>22关节 × 3维]
end
style P fill:#e1f5fe
style C fill:#e1f5fe
style POSE fill:#c8e6c9
1. MotionQuantizer(运动量化器)
将连续3D运动序列转换为离散token序列。
输入: SMPL姿态参数序列
特征提取:
$$\mathbf{X} = [\theta, \mathbf{P}, \mathbf{v}_l, \mathbf{v}_a, \mathbf{a}_l, \mathbf{a}_a]$$
其中:
- $\theta$:SMPL姿态参数
- $\mathbf{P}$:3D关节位置(22关节 × 3维)
- $\mathbf{v}_l, \mathbf{v}_a$:线速度、角速度
- $\mathbf{a}_l, \mathbf{a}_a$:线加速度、角加速度
VQ-VAE架构:
- 编码器:U-Net结构
- 码本:学习到的离散表示
- 解码器:重建姿态序列
训练损失:
$$L(t) = w_r(t) \cdot L_r(t) + w_q(t) \cdot L_q(t)$$
其中:
- $L_r$:重建损失
- $L_q$:量化损失
- $w_r, w_q$:动态权重(退火调度)
2. Pressure2Pose(压力到姿态)
从压力分布预测运动token。
输入:
- 压力分布图:$N \times 80 \times 28$($N$帧)
- 3D座椅扫描:点云
处理流程:
1 | |
3. 物理驱动数据增强
ChairPose的关键创新:使用物理仿真生成大规模训练数据。
flowchart LR
subgraph 数据源
A[CMU Mocap数据集]
B[3D座椅模型<br>4种]
end
subgraph 物理仿真
C[Ragdoll动力学<br>模拟坐姿]
D[PresSim<br>生成压力分布]
end
subgraph 输出
E[压力-姿态对<br>100万+样本]
end
A --> C
B --> C
C --> D
D --> E
仿真流程:
- 从CMU Mocap提取动作: 坐下、调整姿态、站起等
- Ragdoll动力学模拟: 将动作映射到座椅几何
- PresSim生成压力分布: 基于3D姿态计算压力图
优势:
- 无需真实压力采集设备
- 支持无限座椅几何变化
- 覆盖多样化用户体型
TDSD数据集
ChairPose贡献的真实数据集:
| 指标 | 数值 |
|---|---|
| 参与者 | 8人 |
| 座椅类型 | 4种(办公椅、躺椅、轮椅、休闲椅) |
| 活动类型 | 12种 |
| 采集时长 | 约2小时/人 |
| 压力分辨率 | 80×28 |
| 帧率 | 15 fps |
| 标注 | 3D关节位置(SMPL格式) |
12种坐姿活动
| 活动 | 描述 |
|---|---|
| 正常坐姿 | 标准办公坐姿 |
| 后仰 | 靠背倾斜 |
| 前倾 | 身体前倾看屏幕 |
| 侧倾 | 向左右倾斜 |
| 盘腿 | 腿部盘起 |
| 脚踩地 | 双脚踩地 |
| 脚悬空 | 双脚悬空 |
| 交叉腿 | 腿部交叉 |
| 伸展 | 身体伸展 |
| 转身 | 左右转身 |
| 站起准备 | 准备站起 |
| 坐下准备 | 准备坐下 |
实验结果
主实验:跨座椅泛化
评估指标: MPJPE(Mean Per Joint Position Error,毫米)
| 配置 | MPJPE |
|---|---|
| 未见用户 + 未见座椅 | 89.4 mm |
| 见过用户 + 未见座椅 | 72.3 mm |
| 见过用户 + 见过座椅 | 58.6 mm |
结论: 在完全未见的场景下,ChairPose仍能保持<90mm的精度,证明强泛化能力。
与基线对比
| 方法 | MPJPE | 跨座椅泛化 |
|---|---|---|
| ChairPose | 89.4 mm | ✅ 支持 |
| 3DHPE(Zhao et al. 2024) | 102.5 mm | ❌ 需重训练 |
| SenseChair(Nishimura et al. 2023) | 115.2 mm | ❌ 固定座椅 |
| 直接回归 | 143.8 mm | ❌ |
各模块贡献
| 配置 | MPJPE |
|---|---|
| 仅压力编码器 | 118.6 mm |
| + 座椅编码器 | 96.2 mm |
| + 运动量化 | 89.4 mm |
结论: 座椅几何信息和运动量化都是关键贡献。
OOP异常姿态检测效果
基于ChairPose输出,可检测以下OOP类型:
| OOP类型 | 检测方法 | 准确率 |
|---|---|---|
| 躺卧 | 躯干角度 < 30° | 94.2% |
| 前倾 | 头部位置偏移 > 150mm | 91.8% |
| 侧倾 | 重心偏移 > 100mm | 93.5% |
| 后仰 | 躯干角度 > 120° | 95.1% |
| 蜷缩 | 膝关节高度 < 座椅高度 | 88.7% |
IMS应用启示
系统集成方案
flowchart TB
subgraph 硬件层
PS[压力传感器垫<br>80×28阵列]
MCU[MCU处理器<br>CAN-FD接口]
end
subgraph 模型层
PE[压力编码器<br>ResNet-18]
CE[座椅编码器<br>PointNet]
P2P[Pressure2Pose<br>Transformer]
end
subgraph 应用层
OOP[OOP异常姿态检测]
COM[重心计算]
ACT[活动识别]
end
subgraph 输出
ALERT[警报触发]
LOG[日志记录]
end
PS --> PE
MCU --> CE
PE --> P2P
CE --> P2P
P2P --> OOP
P2P --> COM
P2P --> ACT
OOP --> ALERT
COM --> LOG
ACT --> LOG
硬件需求
| 组件 | 规格 | 成本估算 |
|---|---|---|
| 压力传感器阵列 | 80×28,0.5mm厚度 | $50-100 |
| MCU | ARM Cortex-M7,200MHz | $5-10 |
| 存储 | 2MB Flash(存储模型) | $2-5 |
| 总成本 | - | $60-120 |
部署优化
模型压缩:
- ResNet-18 → MobileNetV3
- Transformer → 线性注意力
- INT8量化
实时性:
- 推理时间:<50ms(嵌入式MCU)
- 帧率:20 fps(满足实时需求)
与Euro NCAP合规
| Euro NCAP要求 | ChairPose方案 | 合规性 |
|---|---|---|
| 检测OOP异常姿态 | 支持6种OOP检测 | ✅ |
| 无摄像头隐私问题 | 仅压力传感器 | ✅ |
| 跨车型泛化 | 支持跨座椅几何 | ✅ |
| 实时检测 | 20fps推理速度 | ✅ |
| 低成本 | $60-120硬件成本 | ✅ |
开发路线图
gantt
title OOP功能开发时间线
dateFormat YYYY-MM-DD
section 原型验证
压力传感器采购 :a1, 2026-01-01, 20d
数据采集系统搭建 :a2, after a1, 30d
ChairPose模型复现 :a3, after a2, 30d
section 系统集成
嵌入式部署优化 :b1, after a3, 30d
OOP检测规则开发 :b2, after b1, 20d
section 测试验证
实车数据采集 :c1, after b2, 30d
Euro NCAP场景测试 :c2, after c1, 20d
误报率优化 :c3, after c2, 20d
section SOP
功能安全认证 :d1, after c3, 30d
量产准备 :d2, after d1, 20d
代码复现
环境配置
1 | |
模型加载
1 | |
OOP检测
1 | |
总结
ChairPose首次实现基于压力分布的全身体坐姿估计,为Euro NCAP 2026 OOP异常姿态检测提供创新方案。通过物理仿真数据增强和座椅几何建模,系统在跨座椅泛化场景下达到89.4mm精度,且成本低于$120。
关键要点:
- 压力传感器替代摄像头,解决隐私问题
- 跨座椅泛化,无需针对每款车型重新训练
- 支持6种OOP异常姿态检测
- 低成本、易部署、实时性好
IMS开发优先级:高
下一步:
- 采购压力传感器评估板
- 复现ChairPose模型
- 采集真实车内坐姿数据
- 开发OOP检测规则