Conference

Ego3DPose: Capturing 3D Cues from Binocular Egocentric Views

Taeho Kang, Kyungjin Lee, Jinrui Zhang, Youngki Lee

Seoul National University

一句话总结

Ego3DPose 从头戴式双目鱼眼相机的自我中心视角出发,显式挖掘被以往方法忽视的两条 3D 线索——立体对应与透视效应,通过双路网络与三角函数编码的透视热图,把 UnrealEgo 数据集上的 3D 姿态误差(MPJPE)降低了 23.1%。

研究背景

  • 领域现状:自我中心(egocentric)3D 人体姿态重建能给虚拟化身、运动分析等应用带来移动性。其中戴在眼镜/头盔上的双目鱼眼相机方案(EgoCap、EgoGlass、UnrealEgo)比单目更准,但精度仍远低于第三人称视角方法。
  • 核心痛点:自我中心图像存在视角畸变、严重自遮挡、关节常超出视野等固有困难。而现有方法几乎只依赖 2D 图像特征、隐式地去学 3D 信息,这会让网络偏向数据集中常见的全身姿态分布,不仅在遮挡场景失败,甚至在图像里清晰可见的关节上也估不准。
  • 本文 idea:双目自我中心输入本身就含有两条未被充分利用的 3D 线索——立体对应(两个视角间的视差)和透视效应(离相机近的肢体显得特别大)。把这两条线索显式建模并注入网络,就能摆脱对全身分布的依赖、提升整体精度。

方法

整体是一个编码-解码结构的端到端网络,输入两张 256×256 的双目 RGB 图,输出 15 个关节相对骨盆的 3D 局部姿态。作者不重新设计网络,而是在成熟架构里插入两个关键模块:光学特征提取阶段加入透视嵌入热图(Perspective Embedding Heatmap),编码阶段用双路特征聚合替换原来的单路,其中新增一条 Stereo Matcher 支路。

flowchart LR
  A["双目 RGB 输入"] --> B["光学特征提取<br/>U-Net + ResNet18"]
  B --> C["关节位置热图"]
  B --> D["透视嵌入热图"]
  C --> E["热图编码器<br/>输出姿态特征向量"]
  D --> E
  D --> F["Stereo Matcher<br/>逐肢体估 3D 朝向 权重共享"]
  E --> G["3D 姿态解码器<br/>全连接层"]
  F --> G
  G --> H["15 关节 3D 局部姿态"]
  • 透视嵌入热图(是什么 / 为什么 / 怎么做):目标是把透视效应而非关节位置编码进热图。作者选用”肢体视角角”\(\theta_l\)——肢体与相机视平面的夹角,定义为 \(\theta_l = \operatorname{atan}\!\left( z_l / \sqrt{x_l^2 + y_l^2} \right)\),其中 \((x_l, y_l, z_l)\) 是子关节相对父关节的 3D 坐标。难点在于要把 2D 位置、置信度、3D 朝向三样信息塞进一张 2D 热图。作者用三角函数解决:热图分正弦、余弦两个通道,像素值是缩放后的 \(\sin\theta_l\) 与 \(\cos\theta_l\),向量的模长表示朝向估计的置信度、正余弦之比表示角度本身,从而让透视信息与概率天然纠缠在一起。肢体用”线段”而非两个关节点表示,以增强对遮挡的鲁棒性。共为 14 条肢体、左右两个视角生成热图。
  • Stereo Matcher(逐肢体、权重共享):这是精度提升的关键。它每次只取一条肢体的透视嵌入热图(4 通道),单独估计该肢体的 3D 朝向 \(\boldsymbol{o}_l = [x_l, y_l, z_l] / \sqrt{x_l^2 + y_l^2 + z_l^2}\)。因为不喂全身信息,网络被迫依赖立体对应和透视线索去推朝向,从而不再偏向训练集里的全身姿态分布;又因处理过程与具体是哪条肢体无关,所有肢体共享权重、样本效率高。
  • 双路聚合与 3D 重建:一路是热图编码器,吃全部关节位置热图 + 透视嵌入热图,输出 20 维姿态特征;另一路是 Stereo Matcher 输出的 14 条肢体 3D 朝向。两者拼接后送入仅由全连接层组成的 3D 姿态解码器得到最终姿态。Stereo Matcher 的输出在送入解码器前会从梯度图中 detach,保证该模块独立学习。训练时还接一个热图重建器约束编码器保留不确定性(推理时不用)。

实验结果

在合成的 UnrealEgo 数据集上与两个 SOTA 双目自我中心方法(EgoGlass、UnrealEgo)比较,指标为 MPJPE / PA-MPJPE(越低越好,单位 mm)。Ego3DPose 在所有动作类别上全面领先,整体 MPJPE 相对 UnrealEgo 降低 23.1%、相对 EgoGlass 降低 27.0%。下表取整体及几个代表性动作:

方法 Overall↓ Crawling↓ Sitting on Ground↓ Standing-Whole↓
EgoGlass 83.33 182.36 207.31 70.17
UnrealEgo 79.08 181.50 194.34 68.47
Ours 60.82 148.72 153.81 50.37

消融实验显示两个模块各有贡献且有协同效应:仅加透视嵌入热图 MPJPE 从 79.08 降到 75.82(-4.1%),仅加 Stereo Matcher 降到 66.72(-15.6%),两者合用降到 60.82(-23.1%)。在真实世界的 EgoCap 数据集上,MPJPE 也相对 UnrealEgo 提升 8.0%、相对 EgoGlass 提升 11.2%,验证了泛化性。整体推理时延仅 18ms,适合实时应用。

亮点与局限

  • 亮点:
    • 重新审视双目自我中心输入,指出立体对应与透视两条被忽视的 3D 线索,并给出可落地的显式建模方式。
    • 三角函数式透视嵌入热图巧妙地把 3D 朝向、置信度、2D 位置统一进热图表示。
    • 逐肢体、权重共享的 Stereo Matcher 有效摆脱全身姿态分布偏置,且计算开销极小(1.51ms)。
  • 局限:
    • 主要在合成的 UnrealEgo 上验证,真实数据仅用了自遮挡较少、姿态变化较窄的 EgoCap,真实复杂场景的表现仍待检验。
    • 依赖已知/固定的双目相机配置与准确标定,跨相机配置的泛化性未充分讨论。
    • 最难的动作(如 Crawling、Sitting on the Ground)绝对误差仍高达 150mm 上下,离实用精度还有距离。

延伸思考

  • 把肢体朝向的三角函数编码思路推广到单目或多目自我中心设置,或与时序信息结合以进一步压误差,都是自然的延伸方向。
  • “逐部件、权重共享、显式几何线索”这一去偏置思路,对其他容易被数据分布主导的结构化预测任务(如手部姿态、物体位姿)可能同样有借鉴价值。
  • 透视嵌入热图本质是把一个几何量(角度)编码成带不确定性的概率图,这种”几何量 + 概率表示”的融合方式,值得在其他需要同时估计量值与置信度的视觉任务里尝试。