EEgoNetFoundation Hand

FULL-FRAME HAND RECONSTRUCTION · METHOD / 2026.10.26

从通用手实例,
到第一人称手部重建。

Instance Pretrain → Egocentric SFT。共享视觉、空间 MoT 与 MANO heads;用固定相机的单位射线连接图像位置与 camera-space 几何。

单通道实例中心Middle MCP · UV + 距离列式 6D · Mean-pose delta

STAGE 01 / T = 1

Instance-level Pretrain

图中任意已标注手实例共享预测网络,不限制为一左一右。单通道中心图定位实例,训练时按 GT 中心纯采样一个 patch,构造共享 hand / joint queries。

训练视觉、空间 MoT、定位与 MANO heads。

展开数据、表征和训练细节

GT side 仅选择匹配的 MANO 资产、mean 和监督统计,不进入可学习 query。模型预测 MCP UV、虚拟 log-distance、virtual-root 6D、local mean-delta 6D 与 β。

图像曝光配比;字段 validity 决定每项 loss 是否生效
来源比例监督
ARCTIC 第三人称25%2D + 有效 canonical 3D
H2O 第三人称15%2D + 有效 canonical 3D
EgoRenderer20%2D + fitted 几何 / pose;β loss 关闭
InterHand12%仅 2D
Re:InterHand15%仅 2D
COCO / HInt8% / 4%仅 2D
MPII / NZSL各 0.5%仅 2D

ViTPose-L 以官方 COCO 视觉权重初始化,其余任务参数新建。首版三档画布为 512×896 / 368×640 / 512×512,比例 50% / 20% / 30%;完整图像等比缩放并 padding。

初始预算 120K optimizer updates,global batch 32,即 384 万次图像曝光;每 5K 保存。前 5K 不更新视觉权重,之后联合训练视觉 last-2 和 final norm。120K 是预算,不是收敛结论。

当前 Pretrain 不训练 Depth、temporal 或 wearer presence。这些模块在 SFT 中单独接入。

STAGE 02 / T = 8

Egocentric SFT

迁移预训练视觉、空间 MoT 和兼容 MANO heads,切换为 wearer-left / wearer-right 角色。双向时序读取前后帧,逐帧输出 camera-space MANO。

保留相同表征,适配角色、时序与可选模态。

展开迁移与多模态细节

SFT 普通训练和推理不使用 GT 中心或 GT 手框。加入左右角色、时序、Depth 和有效标注下的 wearer presence;同手 T8 内聚合 shape β。

数据范围为 H2O、ARCTIC、HOT3D 的登记 ego train split,保留来源和字段质量 mask。新 Pretrain 的共享 heads 迁移仍需验证;不能把旧 encoder-only 训练当成这次 SFT 的结果。

第一轮 SFT 沿用 Pretrain 的列式 6D、MCP XYZ 和 β 归一化统计,不因阶段切换自动重算。

Presence 判断佩戴者手是否在画面内。被物体遮挡或腕部出画不自动等于 absent;显示过滤不改变 benchmark 的 GT 分母。

GEOMETRY CONTRACT

相机信息各司其职

接口作用当前边界
K / Unified Camera单位球面射线编码进入 CAMERA 条件;同一个 C 用于几何解码和重投影。有标定用真实 K,无标定用固定 preset;当前聚焦 pinhole / 变化 FOV。
Depth提供公制距离证据,由同一个 C lifting 后进入 DEPTH tokens。SFT 可选输入,本轮实例 Pretrain 未训练。
相机外参跨帧相对 SE(3) 与运动条件,和内参 / 成像几何不同。独立时序扩展,本轮 T=1 Pretrain 不输入。
Visibility / presence判断 wearer hand 的画内存在性,服务显示过滤。SFT 单独训练;不用于删掉几何评估中的 GT-positive 手。
固定相机、K dropout 与位置解码

相机特征 dropout 与标定缺失不同:关闭 CAMERA 特征时,若真实 K 存在,解码和重投影仍然使用它。无标定时使用固定 preset,不能把这一条件写作“已知真实 K”。

r       = normalize(bilinear(D_C, uv_middle))
d       = exp(ell) × f_loc / f_c
T_mid   = d × r
R_cam   = R_ray(r) @ R_virtual
R_local = R_MANO_mean @ R_delta
J_cam   = J_MANO - J_MANO[9] + T_mid

middle MCP 是 index 9;wrist 是解码后的 index 0。单位射线场由固定 C 计算,既不是模型预测的输出,也没有 ray-map / K 参数监督。

监督项与四指标

3D 许可源按字段有效性监督:MCP XYZ、MCP-relative joints、virtual-root 6D、local mean-delta 6D、β,以及 MCP 定位 / 虚拟距离辅助项。所有源的有效 2D 通过 MANO 重投影监督;2D-only 源没有直接 3D 或 MANO 参数 target。

预测经 FP32 Gram–Schmidt;GT 从 axis-angle 转 SO(3)。两侧统一取前两列 [R00,R10,R20,R01,R11,R21],使用同一套冻结统计后计算 6D L1。每项按有效元素、图内有效实例、全局图像分母归约。

主表:Abs MPJPE / Root MPJPE / MPVPE / MANO 2D px,另报 PA-MPJPE。当前图展示方法,不宣称新训练已经提升这些指标。

方法图
放大的 EgoNet 方法图