{{htmlmetatags>metatag-robots=(index,follow)
metatag-keywords=(LeRobotDataset,Parquet,数据集,机器人数据,录制,回放)
metatag-description=(LeRobotDataset 是 LeRobot 标准化的机器人数据格式,使用 Parquet + MP4 实现高效存储和共享)
}}
====== LeRobot 数据集 ======
''LeRobotDataset'' 是 LeRobot 中机器人数据集的标准化数据格式。它解决了机器人领域的数据碎片化问题,提供统一高效的格式,使机器人演示数据能够在社区中无缝共享和重用。
[[机器人:lerobot:home|返回概述]]
===== 数据格式和结构 =====
==== 文件结构 ====
数据集在磁盘上组织如下:
* **meta/** 目录:存储全局信息
* ''info.json'':数据集元数据(FPS、特征定义等)
* ''stats.json'':各模态的统计数据(均值、标准差、最小、最大值)
* ''tasks.parquet'':任务描述
* **data/** 或 **videos/** 目录:存储实际样本
* Parquet 文件:存储状态、动作、奖励等表格数据
* MP4 文件:存储视觉观测数据
数据被分块到多个文件中以提高存储效率和加载性能。
==== 数据访问 ====
''LeRobotDataset'' 类继承自 ''torch.utils.data.Dataset'',提供以下功能:
* **元数据管理**:''LeRobotDatasetMetadata'' 处理数据集发现,先下载 ''meta/'' 目录检查数据集结构(FPS、特征等),再提交下载大型 Parquet 或视频文件
* **读取器**:''DatasetReader'' 通过 ''torchcodec''(首选)或 ''pyav''(回退)后端解码视频帧
* **写入器**:''DatasetWriter'' 处理顺序录制,包括 episode 缓冲区和视频编码
==== 时间查询和增量时间戳 ====
数据集支持通过相对时间偏移进行查询。策略可以接收过去观测的滑动窗口(例如 ''[-0.2, -0.1, 0.0]''),通过传递相对时间偏移字典来实现。
===== 创建和录制数据集 =====
==== 通过遥操作录制 ====
使用 ''lerobot-record'' 命令通过遥操作录制 episodes:
lerobot-record --robot.type=so100 --dataset.path=./my_dataset
录制过程将:
1. 通过 ''Teleoperator'' 读取动作
2. 通过 ''Robot'' 读取观测
3. 将 (观测, 动作) 对写入 ''DatasetWriter''
4. 每个 episode 完成后保存到磁盘
==== 数据集操作工具 ====
LeRobot 提供多种工具来操作已有数据集:
* **lerobot-edit-dataset**:修改数据集特征、删除 episodes、拆分数据集
* **lerobot-dataset-viz**:可视化数据集内容
* **lerobot-imgtransform-viz**:可视化图像变换效果
* **lerobot-annotate**:为数据集添加标注
===== 视频处理 =====
==== TorchCodec ====
LeRobot 利用 ''TorchCodec'' 实现高效的多线程视频解码:
* **支持平台**:Linux (x86_64)、macOS (Apple Silicon)、Windows (PyTorch >= 2.8)
* **不支持平台**:Linux ARM (aarch64)、macOS Intel (x86_64)
* **回退方案**:在不受支持的平台上自动使用 ''pyav''
==== 推荐编码器 ====
''libsvtav1'' 编码器是 ''LeRobotDataset'' 格式的首选编解码器,提供高压缩率和良好的解码性能。
===== 版本兼容性 =====
当前标准格式版本为 **v3.0**(由 ''CODEBASE_VERSION = "v3.0"'' 定义)。
**v2.1 到 v3.0 迁移**:使用 v2.1 创建的数据集与 v3.0 读取器不兼容。LeRobot 提供迁移脚本 ''convert_dataset_v21_to_v30.py'' 来处理格式转换。
===== 相关页面 =====
* [[机器人:lerobot:home|LeRobot 框架概述]]
* [[机器人:lerobot:核心概念|核心概念]]
* [[机器人:lerobot:训练与评估|训练与评估]]