遇见数据集

wb_handover_pointed_bread

收藏
Hugging Face2026-09-02 更新2026-08-31 收录
官方服务:

资源简介:

这是一个来自Unitree_G1_WholeBody_RGB人形机器人的全身遥操作数据集,以LeRobot v2.1格式发布。任务:从两个面包中拿起人类指向的面包,然后递给人类。数据集包含79个episode,共49743帧(约28分钟,30fps),每个episode长度在464到1359帧之间(中位数574帧)。有两个640×480的H264摄像头(cam_chest和cam_head)。状态和动作都是43维的关节向量,包括腿、腰、左右臂和左右手。数据集提供两个分支:main分支的手部状态全为零,real_inspair分支包含Inspire手部估计值(0.50-1.00)以及二进制开/关触发。此外,还包含MediaPipe手部关键点和RTMO身体骨架的姿态标注,作为parquet列存储。视频包括原始摄像头、手部叠加和姿态叠加视图。数据集采用Apache-2.0许可证。

This is a whole-body teleoperation dataset from the Unitree_G1_WholeBody_RGB humanoid robot, released in LeRobot v2.1 format. Task: pick up the bread pointed by the human from two pieces of bread, then hand it to the human. The dataset contains 79 episodes, totaling 49,743 frames (approximately 28 minutes at 30fps), with episode lengths ranging from 464 to 1,359 frames (median 574). There are two 640×480 H264 cameras (cam_chest and cam_head). State and action are both 43-dimensional joint vectors covering legs, waist, left/right arms, and left/right hands. Two branches are provided: the main branch has all hand states zero, and the real_inspair branch contains Inspire hand estimates (0.50-1.00) along with binary on/off triggers. Additionally, MediaPipe hand keypoints and RTMO body skeleton pose annotations are included as parquet columns. Videos include raw camera views, hand overlay, and pose overlay views. The dataset is licensed under Apache-2.0.

提供机构:
DaoyuanZhu
创建时间:
2026-08-31
原始信息汇总

数据集概述

wb_handover_pointed_bread 是一个面向机器人全身控制的人形机器人遥操作数据集,以 LeRobot v2.1 格式发布。

核心任务

拿起人类从两个面包中指出的那一个,然后递给人类。

数据规模

项目 数值
总片段数(Episodes) 79
总帧数 49743(约28分钟 @ 30 fps)
单片段长度 464–1359帧(中位数574)
相机 2 × 640×480 H264
状态/动作维度 43维 / 43维关节向量
划分(Split) train 0:79

原始录制共80个片段,其中1个因状态/动作全程冻结或为截断的单帧录制而被剔除,剩余片段已连续重新编号。

两个分支版本

数据集提供两个分支,二者仅在灵巧手维度上存在差异,其余列完全一致:

分支 手部状态(维度22–28 / 36–42) 手部动作 适用场景
main 全零(从未记录) 原始Dex3遥操作向量(含负值) 仅需身体/运动控制
real_inspair Inspire估计值(0.50–1.00) Inspire原生指令(0.50–1.00),最后一槽为二值开/关触发 任何涉及手部的任务

若训练抓取任务,请使用 real_inspair 分支。 main 分支的手部状态列为全零,模型将无法从中学习到有效信息。加载示例:

python from lerobot.common.datasets.lerobot_dataset import LeRobotDataset ds = LeRobotDataset("DaoyuanZhu/wb_handover_pointed_bread", revision="real_inspair")

状态/动作结构

observation.stateaction 均为 43 维,顺序如下:

维度范围 部位 内容
0–11 腿部 左右腿的髋部俯仰/侧摆/偏航、膝关节、踝关节俯仰/侧摆
12–14 腰部 偏航、侧摆、俯仰
15–21 左臂 肩部俯仰/侧摆/偏航、肘部、腕部侧摆/俯仰/偏航
22–28 左手 index_0, index_1, middle_0, middle_1, thumb_0, thumb_1, thumb_2
29–35 右臂 肩部俯仰/侧摆/偏航、肘部、腕部侧摆/俯仰/偏航
36–42 右手 index_0, index_1, middle_0, middle_1, thumb_0, thumb_1, thumb_2

real_inspair 分支中,Inspire 手部报告 6 维估计值:槽位 22–27 / 36–41 装载数值,槽位 28 / 42 保持零填充。动作侧相同槽位装载原生指令,最后一槽为二值触发(0.0 / 1.0)。

注意:real_inspair 的手部状态为估计/迁移数据(来自记录过 Inspire 反馈的采集),并非记录的ground truth,请按此描述而非实际真值。

视频数据

键名 内容 编码
observation.images.cam_chest 胸口相机原始画面 h264
observation.images.cam_chest_hand_overlay 胸口相机+MediaPipe手部关键点叠加 h264
observation.images.cam_chest_pose_overlay 胸口相机+RTMO人体骨架叠加 h264
observation.images.cam_head 头部相机原始画面 h264
observation.images.cam_head_hand_overlay 头部相机+MediaPipe手部关键点叠加 h264
observation.images.cam_head_pose_overlay 头部相机+RTMO人体骨架叠加 h264

所有视频均为 H.264 编码。

姿态标注

关键点作为 parquet 列逐帧存储,无需额外标注文件:

列名 来源 内容
observation.human_hand.<cam>.landmarks_uv MediaPipe Hands 每只手21个点,像素u/v,左槽在前右槽在后
observation.human_hand.<cam>.landmarks_2d MediaPipe Hands 同一组点,归一化x/y/z
observation.human_hand.<cam>.world_landmarks MediaPipe Hands 度量世界坐标x/y/z
observation.human_hand.<cam>.valid / .score 左右手存在标志与手性置信度
observation.human_body.<cam>.landmarks_uv RTMO rtmo-m_16xb16-600e_body7 COCO-17人体关键点,像素u/v
observation.human_body.<cam>.landmarks_2d RTMO 同一组点,归一化
observation.human_body.<cam>.scores / .valid 逐关键点置信度与逐帧标志

零填充坐标且 valid = 0 表示未检测到目标;不存在 NaN 值。

标注过滤策略

  • 身体检测:按片段后处理,包括分数阈值、基于边界框包含关系的重复抑制(纯IoU无法处理被误检大框吞没真框的情况)、片段合并,以及基于运动轨迹和饱和度掩码躯干色调直方图合并的单身份锁定。时间重叠的轨迹绝不合并。
  • 手部候选:以中心人物手腕为锚点,若检测点距手腕超过半个肩宽则剔除,从而排除手持道具的干扰。

文件布局

data/chunk-000/episode_000000.parquet 每个片段一个 parquet videos/chunk-000/<video_key>/episode_000000.mp4 每个片段一个视频剪辑 meta/info.json 特征模式 meta/episodes.jsonl 片段索引与长度 meta/tasks.jsonl 任务字符串 meta/stats.json 逐特征统计

加载方式

python from lerobot.common.datasets.lerobot_dataset import LeRobotDataset

ds = LeRobotDataset("DaoyuanZhu/wb_handover_pointed_bread", revision="real_inspair") print(ds.meta.features.keys()) sample = ds[0]

许可证

Apache-2.0

二维码
社区交流群
二维码
科研交流群
商业服务