← 返回列表

FSGlove: An Inertial-Based Hand Tracking System with Shape-Aware Calibration

作者 Yutong Li, Jieyi Zhang, Wenqiang Xu, Tutian Tang, Cewu Lu
年份 2025
会议/期刊 arXiv 2025
评分
标签 手部追踪 IMU 可微优化
摘要 16 个 IMU 捕获 48 自由度手部运动 + 可微校准框架 DiffHCal 同时估计关节角/手形/传感器安装误差,关节角误差 <2.7°,指尖接触误差 15.7mm,成本仅 $426

核心思想

手部运动捕获是机器人遥操作、VR 交互的基础需求。现有商业手套要么自由度不够(MANUS 仅 21 DoF),要么极其昂贵($5,250)。

FSGlove 提出一种开源、低成本的 IMU 手套系统:

  1. 16 个 IMU 覆盖所有手指关节 → 捕获 48 自由度
  2. DiffHCal 可微校准框架 → 同时估计关节角度、手形参数和传感器安装误差
  3. 关节角误差 <2.7°,指尖接触误差 15.7mm,总成本仅 $426

背景知识

手部运动捕获的方式

方式 代表 优点 缺点
光学(外部相机) Meta Quest 3 无需穿戴 遮挡时失效
磁传感器 MANUS 精度高 价格极高、DoF 少
惯性(IMU) FSGlove 低成本、无遮挡 累积漂移

什么是 IMU

惯性测量单元(Inertial Measurement Unit)包含:

  • 加速度计:测量线性加速度
  • 陀螺仪:测量角速度
  • 磁力计:测量磁场方向

三者融合可以估计传感器的绝对朝向(四元数/旋转矩阵)。

什么是 MANO 模型

MANO 是一个参数化手部网格模型

\[\text{MANO}(\theta, \beta) \to \text{手部网格}(778 \text{ 顶点})\]
  • $\theta$:关节角度参数(控制手势姿态)
  • $\beta$:形状参数(控制手的胖瘦、大小、手指长度)

MANO 是可微的 → 可以通过梯度优化 $\theta, \beta$。

校准的核心挑战

每个 IMU 粘在手指上时,存在安装误差——传感器的坐标轴不与手指骨骼精确对齐。如果不校准这个误差,所有后续的角度估计都会有偏。

方法详解

1. 硬件架构

1.1 传感器配置

每根手指 3 个 IMU(近节、中节、远节指骨)+ 手背 1 个 = 16 个 IMU

参数
IMU 型号 HI229(BNO055 芯片)
静态角度误差 0.8°
动态角度误差 2.5°
采样率 400 Hz(使用 100 Hz)
处理器 Raspberry Pi Zero 2W
通信 CH9344 USB-UART + Wi-Fi
电池 1100 mAh 锂电池(续航 2 小时)
总重量 110 克
总成本 $426(IMU 占 75%,$320)

1.2 手背追踪

使用 Nokov 光学系统 + 红外反射标记球 → 追踪手掌的 6 自由度位姿(位置 + 朝向)。

2. DiffHCal 可微校准框架

2.1 坐标系对齐

IMU 输出的旋转在世界坐标系(WNU,西-北-上),但 MANO 使用自己的虚拟坐标系。需要变换矩阵 $A$:

\[R_i^\mathcal{M} = A \cdot R_i^\mathcal{W}\]

其中 $R_i^\mathcal{M}$ 是第 $i$ 个关节在 MANO 空间的旋转,$R_i^\mathcal{W}$ 是 IMU 读数。

2.2 安装误差校正

实际中 IMU 不完美对齐,引入校正旋转 $C_i$:

\[R_i^\mathcal{M} \cdot C_i = A \cdot R_i^\mathcal{W}\]

$C_i$ 表示第 $i$ 个传感器的安装偏差——每个 IMU 都有自己的 $C_i$。

2.3 关节角度计算

相邻关节的相对旋转即为关节角度:

\[\theta_i = R_i^\mathcal{M} \cdot (R_{i-1}^\mathcal{M})^{-1}\]

2.4 校准姿态

需要用户做 3 个参考姿态

姿态 动作 用途
静息姿态 手掌朝下,手指展开 确定初始对齐
X 轴旋转 手腕绕 X 轴转动,手指不动 确定 X 轴方向
Y 轴旋转 手腕在竖直面内绕 Y 轴转动 确定 Y 轴方向

2.5 形状校准损失

利用触摸姿态(如拇指捏食指)建立接触约束:

\[E_\text{shape}(\beta) = \sum_{c_{jk} \in \mathcal{C}} \|v_j(\theta, \beta) - v_k(\theta, \beta)\|_2^2\]

其中:

  • $v_j, v_k$ 是 MANO 网格上预定义的接触顶点对(如顶点 744 和 320 代表拇指-食指捏合)
  • $\mathcal{C}$ 是所有接触对的集合
  • $\beta$ 是 MANO 的形状参数

直觉:如果用户做”拇指捏食指”的姿态,那么 MANO 模型中拇指尖和食指尖的顶点应该重合 → 通过这个约束反推手的形状参数。

2.6 联合可微优化

利用 MANO 的可微性,在单次优化中同时求解:

  • 变换矩阵 $A$
  • 安装误差 $C_i$(16 个)
  • 形状参数 $\beta$
  • 关节角度 $\theta$

全部通过梯度下降端到端优化——这是 DiffHCal 的核心优势。

3. 数据流水线

IMU (100Hz) → Raspberry Pi Zero 2W
    → gRPC + Protobuf 序列化
    → Wi-Fi 传输到 PC
    → NTP 时间同步
    → GPU 加速重建 (25Hz 可视化)

延迟分析

环节 延迟
手套(Wi-Fi 拥塞) 24 ms
Nokov 追踪器 1 ms
中间件/内存 <0.5 ms
总显示延迟 40 ms

实验结果

单关节精度

使用 Nokov 光学系统(0.5mm 精度 → 0.3° 旋转精度)作为真值。

指标
偏差 ±2.7°
标准差 ±1.8°
非线性度 0.7%

形状重建

使用深度相机拍摄手部轮廓,用单向 Chamfer 距离评估:

\[E_\text{sr} = \frac{1}{|P|} \sum_{p \in P} \min_{v \in V} \|p - v\|_2^2\]
方法 平均距离 (mm) 价格
FSGlove 15.7 $426
Meta Quest 3 19.6 $499
VRTRIX 18.9 $1,400
MANUS 33.2 $5,250

FSGlove 以最低成本取得了最好精度

指尖捏合追踪

方法 食指 中指 无名指 小指 平均 (mm)
FSGlove 7.2 16.5 12.0 27.1 15.7
Meta Quest 3 11.0 21.5 18.9 22.3 19.6
VRTRIX 20.9 14.4 25.3 15.1 18.9
MANUS 28.0 32.3 36.7 35.7 33.2

手-物体交互一致性

测试物体:大立方体、杯子、犹他茶壶、斯坦福兔、大象(来自 ContactPose 数据集)。

方法 平均距离 (mm)
FSGlove 20.2
VRTRIX 24.5
MANUS 26.7
Meta Quest 3 28.0

与商业产品对比

规格 FSGlove VRTRIX Pro Meta Quest 3 MANUS
技术 IMU (16个) IMU (6个) 视觉 磁传感器
采样率 100 Hz 180 Hz 60 Hz 120 Hz
捕获 DoF 48 有限 ~25 21
价格 $426 $1,400 $499 $5,250
形状重建 有(视觉)

漂移分析

IMU 理论漂移:30 分钟后 3-10°。实验中超过 10 分钟无明显漂移;标准差保持 ±1.8°。

个人思考

  1. $426 打败 $5,250 是最有冲击力的结果——FSGlove 以 MANUS 1/12 的价格实现了更好的精度,说明高成本≠高性能。
  2. DiffHCal 的优雅性:将关节角/手形/安装误差统一到一个可微优化中——利用 MANO 的可微性是关键创新。
  3. 触摸姿态做形状校准非常巧妙:不需要外部深度相机,仅靠”拇指捏食指”这样的自然动作就能推断手形——用户友好且物理合理。
  4. 48 DoF vs 21 DoF:更多传感器覆盖所有指节 → 捕获更精细的手指弯曲 → 这对灵巧手遥操作至关重要。
  5. 开源设计的社区价值:硬件图纸、驱动、软件全部开源 → 可以推动手部追踪研究的民主化。
  6. 局限性坦诚:IMU 碰撞效应(拇指碰小指时)、Wi-Fi 延迟 24ms、手套拉伸需要每日重校——这些都是实际部署中的真实痛点。
← 返回列表