Open X-Embodiment Robotic Learning Datasets and RT-X Models

DeepMind推出Open X-Embodiment数据集,包含22种不同机器人类型的数据,用以训练更强大的RT-X模型。RT-X在多种机器人上表现出色,平均成功率提升50%,并且在现实世界技能学习中效果翻倍。数据集和RT-1-X模型已开放给研究社区。

在这里插入图片描述

简介

为什么机器人技术远远落后于 NLP、视觉和其他 AI 领域?除其他困难外,数据短缺是罪魁祸首。谷歌 DeepMind 联合其他机构推出了 Open X-Embodiment 数据集,并训练出了能力更强的 RT-X 模型

在这里插入图片描述

在这里插入图片描述

DeepMind 在过去一段时间汇集了来自 22 种不同机器人类型的数据,以创建 Open X-Embodiment 数据集,然后在之前的模型(RT-1 和 RT-2)的基础上,训练出了能力更强的 RT-X(分别为 RT-1-X 和 RT-2-X)。

他们在五个不同的研究实验室测试了 RT-1-X 模型,结果显示,与针对每个机器人独立开发的方法相比,新方法在五种不同的常用机器人中平均成功率提高了 50%。他们还表明,在上述数据集上训练的 RT-2-X 在现实世界机器人技能上的表现提高了 2 倍,而且,通过学习新数据,RT-2-X 掌握了很多新技能。这项工作表明,在来自多个机器人类型数据上训练的单个模型比在来自单个机器人类型数据上训练的模型在多个机器人上的性能要好得多。

目前,Open X-Embodiment 数据集和 RT-1-X 模型检查点已经对广泛的研究社区开放。

论文链接

Open X-Embodiment 数据格式是一种用于机器人学习任务的数据集格式,旨在支持跨平台、跨机器人的数据共享与模型训练。该格式通常包含多模态数据,如视觉观测(图像)、动作指令(action)、状态信息(state)、历史交互记录等,以便于构建通用的具身智能策略。 以下是如何创建或制作 Open X-Embodiment 数据格式的基本指南: ### 1. 理解数据结构 Open X-Embodiment 数据格式通常以 JSON 或 HDF5 格式组织,每个样本(step)包括时间戳、观测值、动作、奖励、是否结束等字段。其核心结构如下所示: ```json { "timestamp": 1234567890, "observation": { "image": "base64_encoded_image_string", "state": [x, y, z, ...], "language_instruction": "pick up the red cup" }, "action": [a1, a2, a3, ...], "reward": 0.5, "is_terminal": false } ``` 其中: - `observation.image` 是摄像头采集的图像,通常使用 base64 编码存储; - `observation.state` 是机器人本体传感器的状态,例如关节角度、末端位置等; - `observation.language_instruction` 是语言形式的任务指令; - `action` 是执行的动作向量,可能包括机械臂各关节的速度或位置控制; - `reward` 是环境反馈的即时奖励; - `is_terminal` 表示当前步骤是否为回合结束。 ### 2. 收集和标注数据 为了构建一个高质量的 Open X-Embodiment 数据集,需要进行以下步骤: - **录制演示**:通过遥控器、键盘或专家操作的方式收集机器人完成特定任务的演示数据。 - **同步多模态输入**:确保图像、状态、动作、语言指令等信号在时间上对齐。 - **添加语言指令**:每段轨迹应附带一条自然语言描述的任务指令,便于后续的 VLA(Vision-Language-Action)建模。 - **标注关键帧**:可选地标注任务中的关键帧或子目标,以增强策略的学习能力。 ### 3. 使用标准工具链 目前已有多个开源项目支持 Open X-Embodiment 数据格式的生成和处理,包括: - **RLDS(Reinforcement Learning Datasets)库**:由 Google 提供,可用于构建、转换和读取强化学习数据集[^1]。 - **RT-1 和 RT-2 的数据管道**:Google 的机器人策略训练框架提供了将原始机器人交互日志转换为标准格式的代码示例[^2]。 - **Docker 容器化处理流程**:利用容器技术打包数据预处理脚本,确保在不同环境中一致性。 ### 4. 数据集组织方式 通常一个完整的 Open X-Embodiment 数据集目录结构如下: ``` dataset/ ├── train/ │ ├── episode_00000.hdf5 │ ├── episode_00001.hdf5 │ └── ... ├── val/ │ ├── episode_00000.hdf5 │ └── ... ├── metadata.json └── README.md ``` 其中: - 每个 `.hdf5` 文件对应一段轨迹; - `metadata.json` 包含数据集版本、作者、许可协议等元信息; - `README.md` 描述数据集内容、采集方法及使用说明。 ### 5. 示例代码:生成单条轨迹 以下是一个 Python 示例,展示如何将图像、状态和动作写入 HDF5 文件: ```python import h5py import numpy as np from PIL import Image import io import base64 # 创建 HDF5 文件 with h5py.File('episode_00000.hdf5', 'w') as f: # 创建组 step = f.create_group("step_0") # 图像数据(模拟) img = np.random.randint(0, 255, (256, 256, 3), dtype=np.uint8) pil_img = Image.fromarray(img) buffer = io.BytesIO() pil_img.save(buffer, format="JPEG") encoded_img = base64.b64encode(buffer.getvalue()).decode("utf-8") # 写入观测数据 step.create_dataset("observation/image", data=encoded_img) step.create_dataset("observation/state", data=[0.1, 0.2, 0.3]) step.create_dataset("observation/language_instruction", data="Move to the left.") # 动作与奖励 step.create_dataset("action", data=[0.5, -0.5, 0.0]) step.create_dataset("reward", data=0.8) step.create_dataset("is_terminal", data=False) ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猛码Memmat

欢迎支持,随缘打赏 ~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值