wb_pointed_clothes_to_laundry_basket
收藏资源简介:
该数据集包含从Unitree G1人形机器人收集的全身遥操作数据,任务是从椅背上拿起尖头衣服并放入洗衣篮。数据以LeRobot v2.1格式发布,包含43个episodes,共32468帧(约18分钟,30fps)。每个episode长度在592到1292帧之间(中位数722帧)。有两个摄像头(640×480,H.264编码),分别提供胸部视角和头部视角,以及这些视角的手部关键点叠加和身体骨架叠加图像。状态和动作均为43维关节向量,顺序为:腿部(0-11)、腰部(12-14)、左臂(15-21)、左手(22-28)、右臂(29-35)、右手(36-42)。数据集提供了两个分支:main分支中手部状态全为零,适合仅关注身体/运动;real_inspair分支包含Inspire手部估计(值范围0.50-1.00)和二进制开/关触发器,适合需要手部相关信息的任务。此外,数据集还包含手部姿态注释(MediaPipe Hands提取的21个点的像素坐标、归一化坐标、世界坐标及有效性标志)和身体姿态注释(RTMO提取的COCO-17关键点的像素坐标、归一化坐标及置信度)。注释经过后处理过滤,包括阈值、重复抑制、片段合并及身份锁定。
This dataset contains whole-body teleoperation data collected from the Unitree G1 humanoid robot, with the task of picking up a pointed shirt from the back of a chair and placing it into a laundry basket. The data is released in LeRobot v2.1 format, consisting of 43 episodes totaling 32,468 frames (approximately 18 minutes at 30fps). Episode lengths range from 592 to 1,292 frames (median 722 frames). There are two cameras (640×480, H.264 encoding) providing chest and head views, along with hand keypoint overlays and body skeleton overlays for these views. The state and action are both 43-dimensional joint vectors, ordered as: legs (0-11), waist (12-14), left arm (15-21), left hand (22-28), right arm (29-35), right hand (36-42). The dataset provides two branches: the main branch has all hand states set to zero, suitable for focusing on body/motion only; the real_inspair branch contains Inspire hand estimates (value range 0.50-1.00) and binary on/off triggers, suitable for tasks requiring hand-related information. Additionally, the dataset includes hand pose annotations (pixel coordinates, normalized coordinates, world coordinates, and validity flags for 21 points extracted by MediaPipe Hands) and body pose annotations (pixel coordinates, normalized coordinates, and confidence scores for COCO-17 keypoints extracted by RTMO). The annotations are post-processed with filtering, including thresholding, duplicate suppression, segment merging, and identity locking.
数据集概述:wb_pointed_clothes_to_laundry_basket
基本信息
- 许可证:Apache-2.0
- 任务类型:机器人(Robotics)
- 语言:英语
- 数据集规模:10K < N < 100K
- 发布格式:LeRobot v2.1(每集一个 parquet 文件和一个视频片段)
任务描述
从椅背上拾起指定的衣物并放入洗衣篮中。
数据采集详情
- 采集设备:Unitree G1 人形机器人(全身 RGB 视觉 + 遥操作)
- 灵巧手:Inspire 手部(在
real_inspair分支中提供)
关键统计信息
| 指标 | 数值 |
|---|---|
| 回合数(Episodes) | 43 |
| 总帧数 | 32468(约 18 分钟,30 fps) |
| 每回合帧数范围 | 592–1292 帧(中位数 722) |
| 相机数量 | 2 × 640×480 H.264 |
| 状态/动作维度 | 43-D / 43-D 关节向量 |
| 数据集划分 | 训练集 0:43 |
两个分支变体
数据集包含两个仅在手部维度上不同的分支,其余列(身体关节、时间戳、索引)完全一致:
| 分支 | 手部状态(维度 22–28 / 36–42) | 手部动作 | 适用场景 |
|---|---|---|---|
main |
全零(未记录) | 原始 Dex3 遥操作向量,包含负值 | 仅需身体/运动学 |
real_inspair |
Inspire 估计值(0.50–1.00) | Inspire 原生指令(0.50–1.00),最后一个槽位含二进制开/关触发 | 需要手部相关数据 |
建议:若训练抓取相关任务,请使用
real_inspair分支。main分支的手部状态列全为零,模型无法从中学习到有效信息。
数据模式(Schema)
observation.state 和 action 均为 43 维,按以下顺序排列:
- 维度 0–11:腿部(左右腿各含髋关节 pitch/roll/yaw、膝关节、踝关节 pitch/roll)
- 维度 12–14:腰部(yaw、roll、pitch)
- 维度 15–21:左臂(肩关节 pitch/roll/yaw、肘关节、腕关节 roll/pitch/yaw)
- 维度 22–28:左手(index_0, index_1, middle_0, middle_1, thumb_0, thumb_1, thumb_2)
- 维度 29–35:右臂(与左臂相同配置)
- 维度 36–42:右手(与左手相同配置)
在 real_inspair 分支中:
- 手部状态:维度 22–27 / 36–41 携带数值,维度 28 / 42 保持零填充
- 手部动作:对应槽位携带原生指令,最后一个槽位为二进制触发(0.0 / 1.0)
- 注意:手部状态为估计/迁移数据,并非原始记录的真实值(原始平台无手部传感)
视频数据
| 键名 | 内容 | 编码 |
|---|---|---|
observation.images.cam_chest |
cam_chest 原始相机 | h264 |
observation.images.cam_chest_hand_overlay |
cam_chest + MediaPipe 手部关键点 | h264 |
observation.images.cam_chest_pose_overlay |
cam_chest + RTMO 身体骨架 | h264 |
observation.images.cam_head |
cam_head 原始相机 | h264 |
observation.images.cam_head_hand_overlay |
cam_head + MediaPipe 手部关键点 | h264 |
observation.images.cam_head_pose_overlay |
cam_head + RTMO 身体骨架 | h264 |
所有视频均为 H.264 编码,可在标准播放器中播放。
姿态注释
关键点以 parquet 列形式提供(每帧一行),无需单独的注释文件:
手部关键点(MediaPipe Hands)
| 列名 | 内容 |
|---|---|
observation.human_hand.<cam>.landmarks_uv |
每只手 21 个点,像素 u/v,左手槽位在前,右手槽位在后 |
observation.human_hand.<cam>.landmarks_2d |
归一化 x/y/z 坐标 |
observation.human_hand.<cam>.world_landmarks |
类米制世界坐标 x/y/z |
observation.human_hand.<cam>.valid / .score |
左右手存在标志及手性置信度 |
身体关键点(RTMO rtmo-m_16xb16-600e_body7)
| 列名 | 内容 |
|---|---|
observation.human_body.<cam>.landmarks_uv |
COCO-17 身体关键点,像素 u/v |
observation.human_body.<cam>.landmarks_2d |
归一化坐标 |
observation.human_body.<cam>.scores / .valid |
关键点置信度和帧级有效标志 |
未检测到关键点时,坐标为零填充且 valid = 0,无 NaN 值。
注释过滤方法
- 身体检测:按回合进行后处理,包括分数阈值、基于边界框包含关系的重复抑制、片段合并,以及基于运动轨迹和饱和度掩码躯干色调直方图的单身份锁定。时间上重叠的轨迹不会合并。
- 手部候选:锚定到中心人物的腕部,检测点若距离手腕超过半个肩宽则被拒绝,从而排除手形道具的干扰。
数据集结构
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_pointed_clothes_to_laundry_basket", revision="real_inspair") print(ds.meta.features.keys()) sample = ds[0]
若在 LeRobot v3.0+ 环境下使用,需先运行官方升级命令:
python -m lerobot.datasets.v30.convert_dataset_v21_to_v30 --repo-id=DaoyuanZhu/wb_pointed_clothes_to_laundry_basket



