您的足迹: 数据集

LeRobot 数据集

LeRobotDataset 是 LeRobot 中机器人数据集的标准化数据格式。它解决了机器人领域的数据碎片化问题,提供统一高效的格式,使机器人演示数据能够在社区中无缝共享和重用。

返回概述

数据格式和结构

文件结构

数据集在磁盘上组织如下:

  • 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 (x8664)、macOS (Apple Silicon)、Windows (PyTorch >= 2.8) * 不支持平台:Linux ARM (aarch64)、macOS Intel (x8664)
  • 回退方案:在不受支持的平台上自动使用 pyav

推荐编码器

libsvtav1 编码器是 LeRobotDataset 格式的首选编解码器,提供高压缩率和良好的解码性能。

版本兼容性

当前标准格式版本为 v3.0(由 CODEBASE_VERSION = “v3.0” 定义)。

v2.1 到 v3.0 迁移:使用 v2.1 创建的数据集与 v3.0 读取器不兼容。LeRobot 提供迁移脚本 convertdatasetv21tov30.py 来处理格式转换。

相关页面

评论

请输入您的评论. 可以使用维基语法:
 
机器人/lerobot/数据集.txt · 最后更改: 2026/07/14 05:33