Re:InterHand 左右手交互 · MANO21 · Test40 v1
先下载题集推理,再提交 21 点预测
新任务只接受 test40-v1 及 reinterhand-pose-prediction-v1。下载包 v3 与答案格式 v1 是不同版本体系;保留原始 inputs.json,不能改写 SHA 或套用 HOT3D 格式。当前提交工具 · Agent API 协议与示例。
题集包含 40 个 Case、20,664 帧。每个 Case 为单目 Ego RGB 视频,99~1,761 帧,保留已确定片段的完整长度;不裁剪、补齐或拆成固定 150 帧。可以为 1–40 个 Case 准备答案,每个选中的 Case 必须包含全部帧。
下载对应输入,离线运行模型并生成答案 ZIP,然后在共用提交弹窗选择本题集上传。HOT3D 与 Re:InterHand 分别计分和排名。
正在检查下载包是否就绪…
支持断点续传。下载包在发布阶段完成完整性校验,点击下载不会重新扫描整个 ZIP。可先下载约 21 MB 的工具包检查输出格式。完整无损视频约 25 GB,建议为 ZIP、解压文件和模型预测预留至少 60 GiB。请校验包内 SHA256SUMS,并保留原始 inputs.json;选择子集也不要改写此文件。两种包中的 inputs.json 完全一致。
1. 输入与坐标
使用 clips/<case_id>/camera_ego.mkv 推理:1024×1024,FFV1 无损 RGB,名义 30fps。视频不含 GT 叠加。不要使用网页有损 MP4 替代正式输入;不执行 HOT3D 的 90° 扶正。若模型需要缩放、裁剪或去畸变,输出需反变换到约定坐标。
提交规则:2D 上传仅计算 2D 和公共指标,不反推三维评分;3D 上传计算 3D 和公共指标,并按本题集 Ego 标定自动投影计算 2D 指标,无需另交一份 2D 预测。
3D 提交使用 camera:ego:native,单位米,X 向右、Y 向下、Z 向前。2D 使用 image:ego:native,单位像素,原生 1024×1024 图像;唯一相机 ID 为 ego。
每帧标定见 calibration.json。投影模型按 projection_model_type 区分四参数鱼眼 reinterhand_fisheye4 和针孔 reinterhand_pinhole;focal、princpt 为像素参数,鱼眼 D 有四项,不能当 HOT3D FISHEYE624 使用。T_camera_from_world 的平移单位为米;T_camera_from_reference 在 Ego 参考系下为单位矩阵。
相机标定用于投影和坐标转换,不能单独从单目像素确定唯一深度或真实尺度。模型需从图像估计三维姿态,并输出 Ego 相机系下米制绝对 XYZ;仅有以手腕为原点的相对姿态还需恢复尺度和手腕位置。已在 Ego 相机系的点直接使用内参和对应畸变模型投影;世界坐标需先用外参转换到 Ego 相机系。
鱼眼模型:令 x=X/Z、y=Y/Z、r=√(x²+y²)、θ=atan(r),θd=θ(1+D₀θ²+D₁θ⁴+D₂θ⁶+D₃θ⁸),像素为 (fx·x·θd/r+cx, fy·y·θd/r+cy),光轴用极限值。针孔为 (fx·x+cx, fy·y+cy)。深度非正的点不能按正常投影处理。
逐 Case 标定文件格式
inputs.json → clips[] → files["calibration.json"] 提供相对包根目录的 path、bytes 和 sha256。每个 Case 单独读取对应文件,以 frame_id 对齐其全部帧,不要假定不同 Case 或不同帧的标定相同。相机参数由题集提供,答案 ZIP 不上传标定。
{
"schema_version": "reinterhand-input-camera-v1",
"coordinate_frame": "camera:ego:native",
"frames": [{
"frame_id": 0, "source_frame_id": 91616,
"streams": {"ego": {
"width": 1024, "height": 1024,
"extrinsic_translation_unit": "m",
"T_camera_from_world": [[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],
"T_camera_from_reference": [[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],
"pixel_transform": [[1,0,0],[0,1,0],[0,0,1]],
"native_calibration": {
"projection_model_type": "reinterhand_fisheye4",
"focal": [780,780], "princpt": [512,512], "D": [0.07,0.30,0.33,0.22]
}
}}
}]
}
以上数值仅展示结构,不能代替真实参数。focal=[fx,fy]、princpt=[cx,cy];鱼眼 D=[k1,k2,k3,k4],针孔不含 D。矩阵按行存储,以齐次列向量计算 p_camera = T_camera_from_world @ p_world,平移位于最后一列且单位为米;不是相机到世界的逆变换。Ego 参考变换为 4×4 单位矩阵,pixel_transform 为 3×3 单位矩阵。
2. 帧表与完整片段
frame_id 和 encoded_frame 都从 0 到 N−1,N 来自 inputs.json 的 frame_count。source_frame_id 只用于来源对应,可能按 3 递增,不是模型输出的 frame_id。所有所选 Case 均提交 N 行;没有预测的手显式标记 missing,不能删行或重复上一帧。
timestamp_basis=nominal_30fps_not_measured:nominal_timestamp_ns 是按帧序号与 30fps 得到的名义时间;ref_timestamp_ns 保持 null,不冒充实测采集时间。空间指标采样每 Case 的 0、10、20…帧,不额外补末帧;时序使用全部帧的连续窗口,不跨 Case。
3. 点位与输出
ScaleHP MANO21:腕点索引 5,拇指 CMC 为 20。完整点序和骨架见 definitions/mano21.json;左右手按人体解剖学身份区分,不按画面左右。不要把历史缺 CMC 的 20 点集合当作 21 点提交。
0 thumb_tip 1 index_tip 2 middle_tip 3 ring_tip 4 pinky_tip 5 wrist 6 thumb_mcp 7 thumb_ip 8 index_mcp 9 index_pip 10 index_dip 11 middle_mcp 12 middle_pip 13 middle_dip 14 ring_mcp 15 ring_pip 16 ring_dip 17 pinky_mcp 18 pinky_pip 19 pinky_dip 20 thumb_cmc
每只手为 {"status":"ok","points_3d":[21 个 XYZ]},或显式 {"status":"missing","points_3d":null}。2D 对应 points_2d,放在 views.ego 下,并声明 width/height。missing 必须显式写点字段为 null,不能省略字段或手槽。所有数值必须有限、非布尔,不允许 NaN/Infinity;2D 与 3D 不混在同一预测文件里。
4. 生成、校验与打包答案
工具仅使用 Python 3.10+ 标准库,不依赖平台服务器、MANO 模型或 GPU。选择一种输出类型生成模板:
python reinterhand_submission.py template --inputs inputs.json --submission prediction --type 3d # 2D:将 --type 改为 2d。子集:重复传入 --case-id,例如 # --case-id reih-rns217-finger_occlusions-01 # 填入模型逐帧输出,更新 submission.json 的 pipeline_version / prediction_adapter_id python reinterhand_submission.py verify --inputs inputs.json --submission prediction python reinterhand_submission.py pack --inputs inputs.json --submission prediction --output answers.zip --model-output
模板默认标记为联调夹具。只有真实模型输出使用 --model-output,GT 衍生答案不得标成模型成绩。请保留协议、dataset、split、预处理、坐标和输入清单 SHA;校验失败应修正数据,不要改写身份以通过检查。
answers.zip submission.json predictions/<case_id>.jsonl
推荐使用配套工具打包。ZIP 可直接包含 submission.json 与 predictions/,也可在唯一的一层文件夹内包含这两项;不能混装多个答案目录或其他文件。只上传预测 ZIP,不上传输入视频、GT、标定、模型权重或审核记录。单个 Case 的预测文件不超过 32 MiB,整个答案包解压后不超过 512 MiB。HOT3D 的工具和答案包不能混用;Test40 工具会核对原始输入清单身份、相机、坐标、Case 集合及每个 Case 的 N 行完整预测。
上传检查先核对元数据、文件清单和大小;完整帧及数值校验在任务准备时完成。默认 v3 工具已同步校验 3D 分量范围([-1e6,1e6] 米)、missing 点字段必须存在、合法 submission_kind 及文件大小限制。旧 v1/v2 工具仍保留历史行为;请优先使用当前工具包。离线通过不等于已完成评分。
5. 平台提交与分榜
首版计分资格:官方筛选通过且至少 10 个关节满足正深度并处于 [0,1023]×[0,1023] 图内。3D 对合格手的全部 21 点计分,2D 使用逐点图内掩码;出画预测不裁剪。汇总按各指标样本数池化,长片段贡献更多样本。CS-ACC21 使用明确标注的名义 30fps 秒域时基;2D 加速度及轨迹幅度使用 px/frame²。缺失预测保留在 PCK 分母,无有效误差样本显示未计算/无样本,不填零。
新建评测默认 HOT3D;在“场景测试集”选择 Re:InterHand 左右手交互,填写对应 Case 数量、模型版本及可选 Pipeline,上传本题集答案。平台同时核对表单与包内身份,再读取本题集绑定的 GT、标定与帧表;选择不一致时拒绝提交。
同一模型版本和业务 Pipeline 版本可以选择不同测试集分别评测,无需重复建版本。切换题集后需上传对应答案,不能混用 ZIP;沿用已有提交保留原题集。答案中的 pipeline_version 是预测来源标识,与表单可选的业务 Pipeline 独立。
正式/临时榜由提交用途决定,不按 Case 数量推断。不同题集和评分条件不混合排名。当前可在基准数据与 GT 详情浏览完整片段,或打开GT 审核报告。