- 数据集
- 机器人
- 具身智能
【免费下载链接】seed
BONES-SEED(Skeletal Everyday Embodiment Dataset)是面向人形机器人的开源人类动作数据集,收录 142,220 条带标注动作捕捉序列(约 288 小时)。其中Unitree G1 MuJoCo 兼容 CSV 关节轨迹可直接加载进 MuJoCo 仿真,在 G1 机器人模型上回放人类动作,是 Sim-to-real 迁移与全身控制(whole-body control)研究的关键数据源。
先认识 BONES-SEED:一套完整的人形机器人动作数据
数据集由 522 位演员(17–71 岁)贡献,覆盖行走、慢跑、舞蹈、手势、物体交互等 8 大类别、20 个细分类别,每条动作附带最多 6 条自然语言描述、时间分段标签与骨骼元数据。
| 指标 | 数值 |
|---|---|
| 动作总量 | 142,220 条(71,132 原始 + 71,088 镜像) |
| 总时长 | ~288 小时(@ 120 fps) |
| 内容覆盖 | Locomotion / Communication / Interactions / Dances / Gaming / Everyday / Sport / Other |
| 标注深度 | 自然语言描述 + 时间分段 + 技术描述 + 骨骼元数据 |
每条动作提供三种骨骼表示,其中 G1 CSV 正是仿真回放的入口:
| 格式 | 说明 | 文件位置 |
|---|---|---|
| SOMA Uniform(BVH) | 标准化统一骨架,便于批量对比 | soma_uniform/bvh/ |
| SOMA Proportional(BVH) | 保留每位演员真实身体比例 | soma_proportional/bvh/ |
| Unitree G1(CSV) | 重定向到 G1 的关节角轨迹,MuJoCo 兼容 | g1/csv/ |
快速开始:三步克隆数据集
git lfs install git clone https://gitcode.com/hf_mirrors/bones-studio/seed cd seed tar -xzf g1.tar.gzG1 动作数据以 g1.tar.gz 归档分发,解压后即得到g1/csv/{date}/{motion_name}.csv目录结构;BVH 格式的soma_uniform.tar.gz、soma_proportional.tar.gz同理按需解压即可。
看懂 CSV 轨迹:一条 G1 动作文件里有什么
每个 CSV 文件按g1/csv/{date}/{motion_name}.csv规则组织,一行对应一帧(采样率 120 fps),列内容是该帧下各关节的角度值(若含根节点列则为位置/朝向 + 关节角),列名与 G1 的 MuJoCo 模型关节一一对应。
文件与元数据的关联靠 metadata/seed_metadata_v004.csv(51 列 × 142,220 行,亦有 seed_metadata_v004.parquet):move_g1_mujoco_path列直接指向对应 CSV,move_duration_frames列给出总帧数。
import pandas as pd meta = pd.read_csv("metadata/seed_metadata_v004.csv") row = meta[meta["package"] == "Locomotion"].iloc[0] traj = pd.read_csv(row["move_g1_mujoco_path"]) print(traj.shape, row["move_duration_frames"]) # 行数应与总帧数一致 print(traj.columns.tolist()) # 与你的 G1 MuJoCo XML 关节名比对💡 先打印表头核对列顺序,再决定写入
qpos的映射方式,是避免回放"乱舞"的第一步。
在 MuJoCo 中回放 G1 动作的三步
- 加载 G1 的 MuJoCo 模型(XML),初始化
MjData - 逐帧写入关节角:把 CSV 每行的角度填进
qpos对应分量 - 按 1/120 秒节奏渲染,即得到流畅回放
import mujoco import pandas as pd model = mujoco.MjModel.from_xml_path("g1.xml") # G1 的 MuJoCo 模型 data = mujoco.MjData(model) traj = pd.read_csv("g1/csv/240301/some_motion__A123.csv") for i in range(len(traj)): angles = traj.iloc[i].to_numpy() data.qpos[1 : 1 + len(angles)] = angles # qpos[0] 通常留给根节点位置 mujoco.mj_forward(model, data) # renderer.render() # 每帧渲染,帧间隔 1/120 s若 CSV 前几列是根节点位置/朝向,将其写入qpos[:7](位置 + 四元数),关节角从其后开始;具体以文件表头和你使用的模型为准。
让回放更顺畅的实用技巧
- 时长换算:动作时长 =
move_duration_frames ÷ 120秒,渲染循环按此对齐时间轴 - 镜像数据:元数据中
is_mirror标记左右镜像动作,可用于对称场景增广 - 时间分段回放:metadata/seed_metadata_v002_temporal_labels.jsonl 提供每条动作的分段起止时间与文字描述,可按需截取"开门""转身"等指定阶段单独回放
- 按内容筛选:用
package/category/content_type_of_movement列过滤,例如只取 Locomotion 包中 74,488 条行走/慢跑序列做步态回放 - 骨架参照调试:若需在 BVH/USD 格式间核对骨骼结构,基础骨架定义见 soma_base_skel_minimal.bvh 与 soma_base_skel_minimal.usd;统一骨架形状参数为 soma_base_fit_mhr_params.npz
从回放到 Sim-to-real:下一步能做什么
在 MuJoCo 中稳定回放只是起点。借助 G1 兼容轨迹 + 多模态文本标注,BONES-SEED 可直接支撑:
- 全身控制:以语言描述为条件训练 G1 的 policy,把回放轨迹作为行为先验
- 模仿学习:以 CSV 轨迹为演示数据,学习行走、舞蹈、物体交互等技能
- 动作检索与生成:利用自然语言描述做检索,用时间标签做分段级动作合成
📌 使用数据前请阅读 LICENSE.md(bones-seed-license),了解授权范围与使用要求。更多字段定义与下载方式详见 README.md。
- 数据集
- 机器人
- 具身智能
【免费下载链接】seed
相关推荐
Unitree Go2与G1机器人在Nvidia Isaac Sim中的奇幻仿真之旅
想知道如何在虚拟世界中驯服一只机械狗吗?🤖 本文将带你踏上Unitree Go2和G1机器人与Nvidia Isaac Sim完美融合的神奇旅程!通过5个精心
机器人数字孪生强化学习硬件仿真如何快速上手Unitree Mujoco仿真器?一站式机器人开发指南 🤖
如何快速上手Unitree Mujoco仿真器?一站式机器人开发指南 🤖 Unitree Mujoco是一款基于Unitree SDK2与Mujoco物理引擎
机器人硬件仿真如何永久保存微信聊天记录:WeChatMsg完整使用指南
如何永久保存微信聊天记录:WeChatMsg完整使用指南 你是否曾担心珍贵的微信对话会随着手机更换而永远消失?那些与家人的温馨问候、朋友的重要约定、工作中的关键
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考