PetalDex
收藏资源简介:
PetalDex是一个用于“插花”任务的双手灵巧操作数据集,数据采集自wuji_bimanual机器人平台(包含两个7自由度机械臂和两个20自由度灵巧手)。数据集以30 FPS的帧率记录,每个帧提供两个RGB相机视图(头部和右手腕)、一个54维的本体感知状态和一个54维的动作。数据集包含两个子集:robot_auto(525个片段,956,892帧,机器人自主收集的“插花”任务片段)和robot_human_co-creation(200个片段,268,322帧,人机协作创建的片段)。数据以两种格式发布,内容相同:LeRobot v3.0格式(使用AV1视频编码的.mp4文件)和HDF5格式(每帧JPEG图像存储在.h5文件中)。该数据集适用于机器人学、灵巧操作、模仿学习等研究领域。
PetalDex is a dataset for dexterous bimanual manipulation in the "flower arrangement" task, collected from the wuji_bimanual robot platform (featuring two 7-DOF robotic arms and two 20-DOF dexterous hands). The dataset is recorded at 30 FPS, with each frame providing two RGB camera views (head and right wrist), a 54-dimensional proprioceptive state, and a 54-dimensional action. It includes two subsets: robot_auto (525 episodes, 956,892 frames, autonomously collected by the robot for the "flower arrangement" task) and robot_human_co-creation (200 episodes, 268,322 frames, created through human-robot collaboration). The data is released in two formats with identical content: LeRobot v3.0 format (.mp4 files using AV1 video encoding) and HDF5 format (each frames JPEG images stored in .h5 files). This dataset is suitable for research in robotics, dexterous manipulation, imitation learning, and related fields.
数据集概述
PetalDex 是一个用于 “插花”(arrange flowers) 任务的双臂灵巧操作数据集,采集平台为 wuji_bimanual 机器人(两只 7 自由度机械臂 + 两只 20 自由度灵巧手)。每帧数据包含两个 RGB 摄像头视角(头部摄像头和右手腕摄像头)、54 维本体感受状态和 54 维动作,录制帧率为 30 fps。
数据格式
数据集以两种格式发布,内容相同,可根据使用场景选择:
| 格式 | 路径 | 图像存储 | 加载方式 |
|---|---|---|---|
| LeRobot v3.0 | lerobot/<subset>/ |
AV1 视频(.mp4) |
lerobot / parquet |
| HDF5 | hdf5/<subset>/ |
逐帧 JPEG(存于 .h5) |
h5py + cv2 |
子数据集
| 子集 | 回合数 | 帧数 | 描述 |
|---|---|---|---|
robot_auto |
525 | 956,892 | 机器人自动采集的“插花”回合(已合并) |
robot_human_co-creation |
200 | 268,322 | 人机协同采集的回合 |
数据模式
observation.state—float32[54],顺序为左臂(7) + 右臂(7) + 左手(20) + 右手(20)action—float32[54](与状态布局相同)observation.images.head—224×224×3RGB 图像observation.images.right_wrist—224×224×3RGB 图像fps— 30 ·robot_type—wuji_bimanual·task—"arrange flowers"
仓库结构
PetalDex/ ├── lerobot/ │ ├── robot_auto/ # LeRobot v3.0 数据集(data/ + videos/ + meta/) │ └── robot_human_co-creation/ └── hdf5/ ├── robot_auto/ # episode_000000.h5 ... + dataset_meta.json └── robot_human_co-creation/
注意:此仓库包含 四个 子数据集,因此在根目录直接使用
LeRobotDataset("jasonGUself/PetalDex")会失败,应加载具体的子集文件夹。
使用方式
LeRobot v3.0
下载某个子集后,将 LeRobotDataset 指向其本地根目录:
python from huggingface_hub import snapshot_download from lerobot.datasets.lerobot_dataset import LeRobotDataset
local = snapshot_download( repo_id="jasonGUself/PetalDex", repo_type="dataset", allow_patterns="lerobot/robot_auto/*", ) ds = LeRobotDataset("jasonGUself/PetalDex", root=f"{local}/lerobot/robot_auto") print(ds[0].keys())
HDF5
每个回合对应一个 .h5 文件,图像以逐帧 JPEG 字节(变长 uint8)存储,使用 OpenCV 解码(按 cv2 约定返回 BGR):
python import h5py, cv2, numpy as np
with h5py.File("hdf5/robot_auto/episode_000000.h5", "r") as f: T = int(f.attrs["num_frames"]) # attrs: fps, task, robot_type, ... state = f["observations/state"][:] # (T, 54) float32 action = f["action"][:] # (T, 54) float32 head = cv2.imdecode(f["observations/images/head"][0], cv2.IMREAD_COLOR) # (224,224,3) wrist = cv2.imdecode(f["observations/images/right_wrist"][0], cv2.IMREAD_COLOR)
单个 HDF5 文件布局:
attrs: robot_type, fps, task, episode_index, num_frames, image_encoding="jpeg", image_shape=[224,224,3], state_dim=54, action_dim=54, state_layout /observations/images/head vlen uint8 (T,) # 每帧 JPEG 字节 /observations/images/right_wrist vlen uint8 (T,) /observations/state float32 (T, 54) /action float32 (T, 54) /timestamp float32 (T,) /frame_index int64 (T,)
补充说明
- HDF5 中的图像是从源 AV1 视频重新编码为 JPEG(质量 95),视觉上无损,但与 LeRobot 视频帧并非逐位一致。
- LeRobot 格式中两路摄像头流被打包为不同数量的视频文件;帧与回合的对应关系由
meta/episodes/*.parquet处理。




